From b358a492bc72e51193895f91acd555c8f7f4b500 Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Thu, 30 Oct 2025 11:25:16 +0000 Subject: [PATCH] delectable --- .../character_interactions/00_adoption.txt | 828 - .../00_artifact_interactions.txt | 4386 -- .../00_blackmail_interactions.txt | 518 - .../00_ce1_interactions.txt | 350 - .../00_choose_favorite_interaction.txt | 169 - .../00_court_amenities_interactions.txt | 127 - .../00_courtier_and_guest_interactions.txt | 1186 - .../00_culture_interactions.txt | 385 - .../00_debug_interactions.txt | 3670 -- .../00_diarch_interactions.txt | 10017 --- .../00_dynast_interactions.txt | 1941 - .../00_education_interactions.txt | 3926 -- .../00_faction_interactions.txt | 162 - .../00_fp3_interactions.txt | 2262 - .../common/character_interactions/00_gift.txt | 757 - .../00_grant_titles_interaction.txt | 2184 - .../common/character_interactions/00_heir.txt | 190 - .../00_house_head_interactions.txt | 1092 - .../00_invite_agent_to_scheme.txt | 754 - .../00_invite_to_activity.txt | 83 - .../00_lease_interactions.txt | 79 - .../00_lover_interactions.txt | 47 - .../00_marriage_interactions.txt | 5424 -- .../00_modifiy_vassal_contract.txt | 1988 - .../00_mongol_interactions.txt | 57 - .../00_perk_interactions.txt | 1495 - .../00_poetry_interactions.txt | 420 - .../00_prison_interactions.txt | 7686 --- .../00_religious_interactions.txt | 7265 --- .../00_revoke_title_interaction.txt | 1442 - .../00_scheme_interactions.txt | 2766 - .../00_test_interactions.txt | 1177 - .../00_tradition_interactions.txt | 411 - .../00_trait_interactions.txt | 751 - .../00_tribal_interactions.txt | 582 - .../00_vassal_interactions.txt | 3651 -- .../00_witch_interactions.txt | 311 - .../01_fp1_interactions.txt | 1045 - .../02_ep1_interactions.txt | 468 - .../03_fp2_interactions.txt | 5416 -- .../04_ep2_interactions.txt | 110 - .../05_bp2_interactions.txt | 4936 -- .../06_ep3_interactions.txt | 12526 ---- .../06_ep3_laamp_interactions.txt | 7863 --- .../06_ep3_scheme_interactions.txt | 3738 -- .../06_ep3_test_interactions_.txt | 114 - .../domiciles/buildings/00_camp_buildings.txt | 1978 +- .../buildings/00_chinese_estate_buildings.txt | 21961 +++++++ .../buildings/00_estate_buildings.txt | 4453 +- .../domiciles/buildings/00_yurt_buildings.txt | 16006 +++++ .../buildings/10_japanese_manor_buildings.txt | 13227 ++++ .../buildings/_domicile_buildings.info | 27 + .../domiciles/types/00_domicile_types.txt | 1387 +- .../types/10_tgp_japan_domicile_types.txt | 978 + .../domiciles/types/_domicile_types.info | 16 + .../governments/00_government_types.txt | 8 + .../province_terrain/00_province_terrain.txt | 4095 +- .../01_province_properties.txt | 50564 ++++++++++++++++ .../contracts/_subject_contracts.info | 56 +- .../contracts/administrative.txt | 95 +- .../subject_contracts/contracts/celestial.txt | 1322 + .../contracts/japan_administrative.txt | 299 + .../subject_contracts/contracts/mandala.txt | 255 + .../contracts/meritocratic.txt | 618 + .../subject_contracts/contracts/republic.txt | 163 +- .../contracts/special_contracts.txt | 46 +- .../contracts/theocratic.txt | 6 +- .../subject_contracts/contracts/wanua.txt | 75 + .../groups/_subject_contract_groups.info | 8 +- .../groups/subject_contract_groups.txt | 175 +- N3OW/common/terrain_types/00_terrains.txt | 27 +- N3OW/gui/POPS/pops_base_types.gui | 363 + N3OW/gui/POPS/pops_login_window.gui | 668 + N3OW/gui/POPS/pops_login_window_instanced.gui | 3 + .../jomini_achievements_types.gui | 161 + .../jomini_achievements_window.gui | 129 + N3OW/gui/achievements/popup.gui | 103 + .../locale_artisan_armorsmith_west.gui | 41 + .../locale_artisan_farrier_west.gui | 34 + .../locale_artisan_fletcher_west.gui | 34 + .../locale_artisan_india.gui | 38 + .../locale_artisan_mena.gui | 38 + .../locale_artisan_tailor_west.gui | 33 + .../locale_artisan_weaponsmith_west.gui | 39 + .../locale_artisan_west.gui | 38 + .../locale_camp_india.gui | 30 + .../locale_camp_mena.gui | 30 + .../locale_camp_west.gui | 30 + .../locale_entertainment_india.gui | 30 + .../locale_entertainment_mena.gui | 45 + .../locale_entertainment_west.gui | 45 + .../locale_temple_india.gui | 35 + .../locale_temple_mena.gui | 35 + .../locale_temple_west.gui | 35 + .../locale_tournament1_india.gui | 66 + .../locale_tournament1_mena.gui | 66 + .../locale_tournament1_west.gui | 66 + .../locale_tournament3_india.gui | 165 + .../locale_tournament3_mena.gui | 165 + .../locale_tournament3_west.gui | 165 + .../locale_town_india.gui | 28 + .../locale_town_mena.gui | 28 + .../locale_town_west.gui | 28 + .../locale_widget_base.gui | 96 + .../tournament_terrain_europe_farmland.gui | 25 + ...ment_terrain_europe_farmland_top_layer.gui | 34 + .../tournament_terrain_jungle.gui | 34 + .../tournament_terrain_jungle_top_layer.gui | 33 + .../tournament_terrain_mena.gui | 43 + .../tournament_terrain_mena_top_layer.gui | 33 + .../activity_special_type_progression.gui | 60 + .../artifact_rewards.gui | 17 + .../chariot_race_pivotal_moment_widget.gui | 5 + ...hariot_race_progress_to_victory_widget.gui | 142 + .../chariot_race_widget_types.gui | 728 + .../coronation_special_type_progression.gui | 59 + .../coronation_supporter_detractor_widget.gui | 233 + .../coronation_widget_types.gui | 243 + .../debate_success_chance.gui | 258 + .../funeral_deceased_portrait.gui | 26 + .../funeral_deceased_selection_button.gui | 77 + .../funeral_deceased_selection_widget.gui | 98 + .../hunt_success_chance.gui | 45 + .../imperial_examination_progress_widget.gui | 57 + ...imperial_examination_scoreboard_widget.gui | 171 + .../imperial_examination_widget_types.gui | 453 + .../inspection_success_chance.gui | 42 + .../nerge_special_type_progression.gui | 61 + .../tour_conclusion_stops.gui | 55 + .../tour_success_bar.gui | 60 + .../tournament_active_phase_background.gui | 51 + ...ament_active_phase_contest_info_button.gui | 49 + .../tournament_bottom_middle_widget.gui | 744 + .../tournament_contest_information.gui | 1265 + .../tournament_contest_selection.gui | 1107 + ...urnament_contestant_leaderboard_widget.gui | 1 + ...nament_fullscreen_pivotal_event_widget.gui | 5 + .../tournament_my_aptitudes.gui | 45 + .../tournament_my_attending_knights_view.gui | 195 + .../tournament_my_status_icon.gui | 1 + .../tournament_planning_selected_contests.gui | 58 + .../tournament_progress_to_victory_widget.gui | 223 + .../tournament_toggle_my_knights_button.gui | 11 + .../tournament_widget_types.gui | 1141 + .../activity_window_widgets/trait_rewards.gui | 23 + N3OW/gui/applicationutils/screenshot.gui | 37 + N3OW/gui/console.gui | 725 + N3OW/gui/credits_window.gui | 203 + .../debug/ai_war_coordinator_watch_window.gui | 352 + N3OW/gui/debug/animation_test_window.gui | 279 + N3OW/gui/debug/debug_menus.gui | 1533 + N3OW/gui/debug/debug_tutorial_window.gui | 316 + .../gui/debug/placeholder_types_templates.gui | 369 + N3OW/gui/debug/test_gui.gui | 38 + N3OW/gui/debug/window_component_library.gui | 2435 + N3OW/gui/debug/window_watch.gui | 383 + N3OW/gui/debug/window_watch_ai.gui | 1615 + .../gui/debug/window_watch_character_pool.gui | 127 + .../decision_view_widget_activity_debug.gui | 79 + ...cision_view_widget_commission_artifact.gui | 79 + ...ecision_view_widget_convert_to_mandala.gui | 81 + ...decision_view_widget_create_holy_order.gui | 89 + ...widget_decision_option_list_controller.gui | 53 + ...sion_view_widget_fp3_foundation_ending.gui | 82 + ...idget_generic_multichoice_with_effects.gui | 131 + ...cision_view_widget_option_list_generic.gui | 93 + .../decision_view_widget_pay_homage.gui | 80 + .../decision_view_widget_pay_tribute.gui | 81 + .../decision_view_widget_petition_liege.gui | 81 + ...iew_widget_unity_steer_house_direction.gui | 122 + N3OW/gui/dynasty_customization_window.gui | 110 + .../dynasty_house_customization_window.gui | 167 + .../child_examination_success_chance.gui | 94 + .../event_window_widget_activity_intent.gui | 35 + .../event_window_widget_enter_text.gui | 45 + ...ent_window_widget_event_chain_progress.gui | 48 + .../event_window_widget_harrying.gui | 29 + .../event_window_widget_name_child.gui | 168 + .../event_window_widget_peasant_leader.gui | 29 + .../event_window_widget_scheme.gui | 114 + ...vent_window_widget_scheme_preparations.gui | 102 + .../event_window_widget_situation_info.gui | 107 + ...w_widget_situation_info_dynastic_cycle.gui | 394 + ...widget_situation_info_the_great_steppe.gui | 109 + .../event_window_widget_stress.gui | 34 + .../event_window_widget_struggle_info.gui | 71 + ...ent_window_widget_vfx_conclusion_smoke.gui | 9 + .../event_window_widget_vfx_earthquake.gui | 15 + .../event_window_widget_vfx_fog.gui | 9 + .../event_window_widget_vfx_godray.gui | 9 + .../event_window_widget_vfx_heavy_smoke.gui | 15 + ...vent_window_widget_vfx_lightning_storm.gui | 9 + .../event_window_widget_vfx_rain_storm.gui | 9 + .../event_window_widget_vfx_rainy_fog.gui | 9 + .../event_window_widget_vfx_sandstorm.gui | 9 + .../event_window_widget_vfx_snow.gui | 11 + .../event_window_widget_vfx_snowstorm.gui | 11 + .../event_windows/anonymous_letter_event.gui | 592 + N3OW/gui/event_windows/big_event_window.gui | 1213 + N3OW/gui/event_windows/character_event.gui | 1153 + N3OW/gui/event_windows/duel_event.gui | 615 + N3OW/gui/event_windows/fullscreen_event.gui | 344 + N3OW/gui/event_windows/letter_event.gui | 698 + .../gui/event_windows/scheme_failed_event.gui | 23 + .../scheme_preparations_event.gui | 1108 + .../event_windows/scheme_successful_event.gui | 23 + .../scheme_successful_event_no_text.gui | 3 + .../gui/event_windows/scheme_target_event.gui | 6 + .../event_windows/visit_settlement_window.gui | 35 + N3OW/gui/frontend_bookmarks.gui | 4434 ++ N3OW/gui/frontend_credits.gui | 3 + N3OW/gui/frontend_ingame_menu.gui | 431 + N3OW/gui/frontend_load.gui | 747 + N3OW/gui/frontend_loadingscreen_savegame.gui | 40 + N3OW/gui/frontend_main.gui | 1650 + N3OW/gui/frontend_mp_game_setup.gui | 689 + N3OW/gui/game_rules.gui | 691 + N3OW/gui/hud.gui | 4620 +- N3OW/gui/hud_bottom.gui | 665 + N3OW/gui/hud_notification_templates.gui | 2598 + N3OW/gui/hud_outliner.gui | 1222 + N3OW/gui/hud_ruler_objective.gui | 236 + N3OW/gui/hud_sidebars.gui | 171 + N3OW/gui/hud_top.gui | 13 + N3OW/gui/interaction_blackmail.gui | 178 + N3OW/gui/interaction_call_ally.gui | 162 + ...eraction_call_ally_notification_window.gui | 198 + N3OW/gui/interaction_concubine.gui | 302 + N3OW/gui/interaction_confirmation.gui | 477 + N3OW/gui/interaction_council_task.gui | 315 + N3OW/gui/interaction_court_task.gui | 344 + .../interaction_create_claimant_faction.gui | 624 + N3OW/gui/interaction_declare_war.gui | 1213 + N3OW/gui/interaction_grant_titles.gui | 174 + N3OW/gui/interaction_interfere_in_war.gui | 158 + ...eraction_interfere_in_war_notification.gui | 97 + N3OW/gui/interaction_marriage.gui | 565 + ...teraction_marriage_notification_window.gui | 179 + N3OW/gui/interaction_menu_window.gui | 235 + N3OW/gui/interaction_modify_vassal_window.gui | 1434 + N3OW/gui/interaction_notification_window.gui | 96 + N3OW/gui/interaction_revoke_title.gui | 169 + N3OW/gui/interaction_templates.gui | 3083 + N3OW/gui/interaction_transfer_vassal.gui | 203 + N3OW/gui/jomini/core.gui | 106 + N3OW/gui/jomini/credits/credits_base.gui | 0 .../encyclopedia/jomini_encyclopedia.gui | 263 + .../music_player_mini_controller.gui | 1 + .../jomini/music_player/music_player_view.gui | 558 + .../map_editor/dockable_map_mode_selector.gui | 156 + N3OW/gui/map_icon_layer.gui | 6057 ++ N3OW/gui/map_icon_layer_templates.gui | 1013 + N3OW/gui/multiplayer_config.gui | 78 + N3OW/gui/multiplayer_frontend.gui | 78 + N3OW/gui/multiplayer_lobby.gui | 1369 + N3OW/gui/multiplayer_serverbrowser.gui | 2 + N3OW/gui/multiplayer_setup.gui | 1 + N3OW/gui/multiplayer_types.gui | 2499 + N3OW/gui/notifications/jomini_message.gui | 84 + N3OW/gui/preload/defaults.gui | 298 + N3OW/gui/preload/fonts.gui | 94 + N3OW/gui/preload/frontend_loadingscreen.gui | 144 + N3OW/gui/preload/labels.gui | 120 + N3OW/gui/preload/textformatting.gui | 568 + N3OW/gui/preload/tooltip.gui | 416 + .../scripted_widgets/_scripted_widgets.info | 9 + N3OW/gui/settings/setting_types.gui | 471 + N3OW/gui/settings/settings.gui | 11 + N3OW/gui/shared/animation.gui | 639 + N3OW/gui/shared/animation.info | 26 + N3OW/gui/shared/backgrounds.gui | 817 + N3OW/gui/shared/buttons.gui | 1273 + N3OW/gui/shared/buttons_icons.gui | 869 + N3OW/gui/shared/cards.gui | 161 + N3OW/gui/shared/coa_designer.gui | 2098 + N3OW/gui/shared/coat_of_arms.gui | 2870 + N3OW/gui/shared/color_picker.gui | 228 + N3OW/gui/shared/colors.gui | 133 + N3OW/gui/shared/cooltip.gui | 9939 +++ N3OW/gui/shared/court_positions.gui | 1 + N3OW/gui/shared/dialogs.gui | 274 + N3OW/gui/shared/edit_boxes.gui | 76 + N3OW/gui/shared/event_windows.gui | 2079 + N3OW/gui/shared/icons.gui | 505 + N3OW/gui/shared/lines.gui | 126 + N3OW/gui/shared/lists.gui | 3561 ++ N3OW/gui/shared/mapmodes.gui | 1161 + N3OW/gui/shared/misc_components.gui | 464 + N3OW/gui/shared/popups.gui | 245 + N3OW/gui/shared/portraits.gui | 3294 + N3OW/gui/shared/progressbars.gui | 945 + N3OW/gui/shared/sounds.gui | 358 + N3OW/gui/shared/texticons_religion.gui | 1734 + N3OW/gui/shared/texticons_trigger.gui | 39 + N3OW/gui/shared/texticons_ui.gui | 40 + N3OW/gui/shared/value_breakdown.gui | 1022 + N3OW/gui/shared/windows.gui | 958 + N3OW/gui/shortcuts.shortcuts | 136 + N3OW/gui/texticons.gui | 1483 +- N3OW/gui/texticons_legitimacy.gui | 32 + N3OW/gui/texticons_religion.gui | 810 + N3OW/gui/tutorial_highlight.gui | 93 + N3OW/gui/window_accolade.gui | 1172 + N3OW/gui/window_activity.gui | 2771 + N3OW/gui/window_activity_guest_list.gui | 617 + N3OW/gui/window_activity_intent_selection.gui | 464 + N3OW/gui/window_activity_list.gui | 1038 + N3OW/gui/window_activity_locale.gui | 2212 + N3OW/gui/window_activity_log.gui | 153 + N3OW/gui/window_activity_planner.gui | 2058 + N3OW/gui/window_add_tradition.gui | 313 + N3OW/gui/window_admin_vassal_detail.gui | 1317 +- N3OW/gui/window_appoint_tax_collector.gui | 728 + N3OW/gui/window_army.gui | 2288 + N3OW/gui/window_army_automation_options.gui | 274 + N3OW/gui/window_army_select_commander.gui | 329 + N3OW/gui/window_artifact_details.gui | 709 + N3OW/gui/window_artifact_helper.gui | 246 + N3OW/gui/window_artifact_reforge.gui | 221 + N3OW/gui/window_barbershop.gui | 1829 + N3OW/gui/window_barter.gui | 388 + N3OW/gui/window_battle_summary.gui | 2160 + N3OW/gui/window_character.gui | 733 +- N3OW/gui/window_character_filter.gui | 741 + N3OW/gui/window_character_finder.gui | 203 + N3OW/gui/window_character_focus.gui | 308 + N3OW/gui/window_character_lifestyle.gui | 1513 + N3OW/gui/window_combat.gui | 2412 + N3OW/gui/window_confederation.gui | 1041 + N3OW/gui/window_council.gui | 2325 + .../window_council_potential_councillor.gui | 271 + N3OW/gui/window_county_view.gui | 3638 ++ N3OW/gui/window_court.gui | 819 + N3OW/gui/window_court_amenities.gui | 1978 + N3OW/gui/window_court_events.gui | 219 + N3OW/gui/window_court_position_appoint.gui | 869 + N3OW/gui/window_court_positions.gui | 1130 + N3OW/gui/window_court_scene_editor.gui | 2603 + N3OW/gui/window_court_types.gui | 280 + N3OW/gui/window_create_accolade.gui | 712 + N3OW/gui/window_culture.gui | 2561 + N3OW/gui/window_decisions.gui | 853 + N3OW/gui/window_decisions_detail.gui | 320 + N3OW/gui/window_diarchy.gui | 1143 + N3OW/gui/window_diverge_culture.gui | 993 + N3OW/gui/window_dlc_info.gui | 232 + N3OW/gui/window_domicile.gui | 4520 ++ N3OW/gui/window_dynasty_house.gui | 3008 + N3OW/gui/window_dynasty_house_members.gui | 103 + N3OW/gui/window_dynasty_legacy.gui | 490 + N3OW/gui/window_dynasty_tree.gui | 641 + N3OW/gui/window_epidemics.gui | 942 + N3OW/gui/window_factions.gui | 913 + N3OW/gui/window_faith.gui | 1521 + N3OW/gui/window_faith_conversion.gui | 136 + N3OW/gui/window_faith_creation.gui | 1439 + N3OW/gui/window_family_attribute.gui | 46 + N3OW/gui/window_find_title.gui | 94 + N3OW/gui/window_find_vassal.gui | 256 + N3OW/gui/window_ghw.gui | 1701 + N3OW/gui/window_ghw_change_target.gui | 167 + N3OW/gui/window_government_administration.gui | 4430 +- N3OW/gui/window_great_project.gui | 529 + N3OW/gui/window_hired_troops_detail.gui | 796 + N3OW/gui/window_house_aspiration.gui | 599 + N3OW/gui/window_house_relation_history.gui | 400 + N3OW/gui/window_hybridize_culture.gui | 1506 + N3OW/gui/window_inspirations.gui | 299 + N3OW/gui/window_intrigue.gui | 2172 + ...ndow_intrigue_potential_faction_member.gui | 173 + ...window_intrigue_potential_scheme_agent.gui | 217 + N3OW/gui/window_inventory.gui | 1706 + N3OW/gui/window_kill_list.gui | 183 + N3OW/gui/window_knights.gui | 643 + N3OW/gui/window_languages.gui | 408 + N3OW/gui/window_lease_out_baronies.gui | 100 + N3OW/gui/window_legend_chronicle.gui | 570 + N3OW/gui/window_legend_creation.gui | 258 + N3OW/gui/window_legends.gui | 1554 + N3OW/gui/window_levy.gui | 182 + N3OW/gui/window_lineage.gui | 178 + N3OW/gui/window_lobby_helper.gui | 10 + N3OW/gui/window_manage_tax_slots.gui | 786 + N3OW/gui/window_memories.gui | 314 + N3OW/gui/window_menatarms.gui | 674 + N3OW/gui/window_menatarms_type_view.gui | 884 + N3OW/gui/window_message_popup.gui | 192 + N3OW/gui/window_message_settings.gui | 832 + N3OW/gui/window_migration.gui | 1793 + N3OW/gui/window_military.gui | 4031 ++ N3OW/gui/window_move_domicile.gui | 125 + N3OW/gui/window_my_realm.gui | 4310 ++ N3OW/gui/window_plan_great_project.gui | 495 + ...w_potential_great_project_contributors.gui | 171 + N3OW/gui/window_raid.gui | 559 + N3OW/gui/window_raid_intent_selection.gui | 229 + N3OW/gui/window_rally_points.gui | 486 + N3OW/gui/window_replace_pillar.gui | 257 + N3OW/gui/window_resign_confirmation.gui | 144 + N3OW/gui/window_royal_court.gui | 2093 + N3OW/gui/window_royal_court_screenshot.gui | 321 + N3OW/gui/window_ruler_designer.gui | 2869 + N3OW/gui/window_ruler_designer_load.gui | 755 + N3OW/gui/window_ruler_designer_save.gui | 295 + N3OW/gui/window_save_game.gui | 167 + N3OW/gui/window_select_men_at_arms_origin.gui | 47 + ...window_select_raise_troops_at_location.gui | 47 + .../window_select_title_troop_assignment.gui | 47 + N3OW/gui/window_siege.gui | 3768 ++ N3OW/gui/window_silk_road.gui | 1098 + N3OW/gui/window_situation.gui | 1015 + N3OW/gui/window_situation_debug.gui | 647 + N3OW/gui/window_situation_list.gui | 423 + N3OW/gui/window_situation_participation.gui | 356 + .../window_situation_participation_debug.gui | 356 + N3OW/gui/window_situation_sub_region.gui | 162 + N3OW/gui/window_struggle.gui | 1807 + N3OW/gui/window_struggle_involvement.gui | 634 + N3OW/gui/window_succession_change_law.gui | 463 + N3OW/gui/window_succession_designate_heir.gui | 181 + N3OW/gui/window_succession_event.gui | 1702 + N3OW/gui/window_task_contract.gui | 941 + N3OW/gui/window_tax_slot_assign_vassal.gui | 628 + N3OW/gui/window_tax_slot_obligations.gui | 610 + N3OW/gui/window_tax_slot_vassals.gui | 1256 + N3OW/gui/window_tgp_dynastic_cycle.gui | 3395 ++ N3OW/gui/window_tgp_natural_disaster.gui | 882 + N3OW/gui/window_the_great_steppe.gui | 1184 + N3OW/gui/window_title.gui | 175 +- N3OW/gui/window_title_add_law.gui | 247 + N3OW/gui/window_title_appointment.gui | 547 +- N3OW/gui/window_title_claimants.gui | 195 + N3OW/gui/window_title_customization.gui | 214 + N3OW/gui/window_title_election.gui | 1204 + N3OW/gui/window_title_history.gui | 152 + N3OW/gui/window_travel_option_selection.gui | 151 + N3OW/gui/window_travel_planner.gui | 1412 + N3OW/gui/window_travel_route_edit.gui | 416 + N3OW/gui/window_treasury_budget_change.gui | 492 + N3OW/gui/window_tutorial.gui | 352 + N3OW/gui/window_war_declared_overview.gui | 127 + N3OW/gui/window_war_overview.gui | 3602 ++ N3OW/gui/window_war_results.gui | 485 + 443 files changed, 358171 insertions(+), 111974 deletions(-) delete mode 100644 N3OW/common/character_interactions/00_adoption.txt delete mode 100644 N3OW/common/character_interactions/00_artifact_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_blackmail_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_ce1_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_choose_favorite_interaction.txt delete mode 100644 N3OW/common/character_interactions/00_court_amenities_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_courtier_and_guest_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_culture_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_debug_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_diarch_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_dynast_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_education_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_faction_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_fp3_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_gift.txt delete mode 100644 N3OW/common/character_interactions/00_grant_titles_interaction.txt delete mode 100644 N3OW/common/character_interactions/00_heir.txt delete mode 100644 N3OW/common/character_interactions/00_house_head_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_invite_agent_to_scheme.txt delete mode 100644 N3OW/common/character_interactions/00_invite_to_activity.txt delete mode 100644 N3OW/common/character_interactions/00_lease_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_lover_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_marriage_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_modifiy_vassal_contract.txt delete mode 100644 N3OW/common/character_interactions/00_mongol_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_perk_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_poetry_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_prison_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_religious_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_revoke_title_interaction.txt delete mode 100644 N3OW/common/character_interactions/00_scheme_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_test_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_tradition_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_trait_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_tribal_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_vassal_interactions.txt delete mode 100644 N3OW/common/character_interactions/00_witch_interactions.txt delete mode 100644 N3OW/common/character_interactions/01_fp1_interactions.txt delete mode 100644 N3OW/common/character_interactions/02_ep1_interactions.txt delete mode 100644 N3OW/common/character_interactions/03_fp2_interactions.txt delete mode 100644 N3OW/common/character_interactions/04_ep2_interactions.txt delete mode 100644 N3OW/common/character_interactions/05_bp2_interactions.txt delete mode 100644 N3OW/common/character_interactions/06_ep3_interactions.txt delete mode 100644 N3OW/common/character_interactions/06_ep3_laamp_interactions.txt delete mode 100644 N3OW/common/character_interactions/06_ep3_scheme_interactions.txt delete mode 100644 N3OW/common/character_interactions/06_ep3_test_interactions_.txt create mode 100644 N3OW/common/domiciles/buildings/00_chinese_estate_buildings.txt create mode 100644 N3OW/common/domiciles/buildings/00_yurt_buildings.txt create mode 100644 N3OW/common/domiciles/buildings/10_japanese_manor_buildings.txt create mode 100644 N3OW/common/domiciles/types/10_tgp_japan_domicile_types.txt create mode 100644 N3OW/common/province_terrain/01_province_properties.txt create mode 100644 N3OW/common/subject_contracts/contracts/celestial.txt create mode 100644 N3OW/common/subject_contracts/contracts/japan_administrative.txt create mode 100644 N3OW/common/subject_contracts/contracts/mandala.txt create mode 100644 N3OW/common/subject_contracts/contracts/meritocratic.txt create mode 100644 N3OW/common/subject_contracts/contracts/wanua.txt create mode 100644 N3OW/gui/POPS/pops_base_types.gui create mode 100644 N3OW/gui/POPS/pops_login_window.gui create mode 100644 N3OW/gui/POPS/pops_login_window_instanced.gui create mode 100644 N3OW/gui/achievements/jomini_achievements_types.gui create mode 100644 N3OW/gui/achievements/jomini_achievements_window.gui create mode 100644 N3OW/gui/achievements/popup.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_armorsmith_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_farrier_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_fletcher_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_tailor_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_weaponsmith_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_artisan_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_camp_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_camp_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_camp_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_entertainment_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_entertainment_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_entertainment_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_temple_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_temple_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_temple_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament1_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament1_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament1_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament3_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament3_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_tournament3_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_town_india.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_town_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_town_west.gui create mode 100644 N3OW/gui/activity_locale_widgets/locale_widget_base.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_europe_farmland.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_europe_farmland_top_layer.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_jungle.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_jungle_top_layer.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_mena.gui create mode 100644 N3OW/gui/activity_locale_widgets/tournament_terrain_mena_top_layer.gui create mode 100644 N3OW/gui/activity_window_widgets/activity_special_type_progression.gui create mode 100644 N3OW/gui/activity_window_widgets/artifact_rewards.gui create mode 100644 N3OW/gui/activity_window_widgets/chariot_race_pivotal_moment_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/chariot_race_progress_to_victory_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/chariot_race_widget_types.gui create mode 100644 N3OW/gui/activity_window_widgets/coronation_special_type_progression.gui create mode 100644 N3OW/gui/activity_window_widgets/coronation_supporter_detractor_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/coronation_widget_types.gui create mode 100644 N3OW/gui/activity_window_widgets/debate_success_chance.gui create mode 100644 N3OW/gui/activity_window_widgets/funeral_deceased_portrait.gui create mode 100644 N3OW/gui/activity_window_widgets/funeral_deceased_selection_button.gui create mode 100644 N3OW/gui/activity_window_widgets/funeral_deceased_selection_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/hunt_success_chance.gui create mode 100644 N3OW/gui/activity_window_widgets/imperial_examination_progress_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/imperial_examination_scoreboard_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/imperial_examination_widget_types.gui create mode 100644 N3OW/gui/activity_window_widgets/inspection_success_chance.gui create mode 100644 N3OW/gui/activity_window_widgets/nerge_special_type_progression.gui create mode 100644 N3OW/gui/activity_window_widgets/tour_conclusion_stops.gui create mode 100644 N3OW/gui/activity_window_widgets/tour_success_bar.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_active_phase_background.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_active_phase_contest_info_button.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_bottom_middle_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_contest_information.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_contest_selection.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_contestant_leaderboard_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_fullscreen_pivotal_event_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_my_aptitudes.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_my_attending_knights_view.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_my_status_icon.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_planning_selected_contests.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_progress_to_victory_widget.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_toggle_my_knights_button.gui create mode 100644 N3OW/gui/activity_window_widgets/tournament_widget_types.gui create mode 100644 N3OW/gui/activity_window_widgets/trait_rewards.gui create mode 100644 N3OW/gui/applicationutils/screenshot.gui create mode 100644 N3OW/gui/console.gui create mode 100644 N3OW/gui/credits_window.gui create mode 100644 N3OW/gui/debug/ai_war_coordinator_watch_window.gui create mode 100644 N3OW/gui/debug/animation_test_window.gui create mode 100644 N3OW/gui/debug/debug_menus.gui create mode 100644 N3OW/gui/debug/debug_tutorial_window.gui create mode 100644 N3OW/gui/debug/placeholder_types_templates.gui create mode 100644 N3OW/gui/debug/test_gui.gui create mode 100644 N3OW/gui/debug/window_component_library.gui create mode 100644 N3OW/gui/debug/window_watch.gui create mode 100644 N3OW/gui/debug/window_watch_ai.gui create mode 100644 N3OW/gui/debug/window_watch_character_pool.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_activity_debug.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_commission_artifact.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_convert_to_mandala.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_create_holy_order.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_decision_option_list_controller.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_fp3_foundation_ending.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_generic_multichoice_with_effects.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_option_list_generic.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_pay_homage.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_pay_tribute.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_petition_liege.gui create mode 100644 N3OW/gui/decision_view_widgets/decision_view_widget_unity_steer_house_direction.gui create mode 100644 N3OW/gui/dynasty_customization_window.gui create mode 100644 N3OW/gui/dynasty_house_customization_window.gui create mode 100644 N3OW/gui/event_window_widgets/child_examination_success_chance.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_activity_intent.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_enter_text.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_event_chain_progress.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_harrying.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_name_child.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_peasant_leader.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_scheme.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_scheme_preparations.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_situation_info.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_situation_info_dynastic_cycle.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_situation_info_the_great_steppe.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_stress.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_struggle_info.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_conclusion_smoke.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_earthquake.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_fog.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_godray.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_heavy_smoke.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_lightning_storm.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_rain_storm.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_rainy_fog.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_sandstorm.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_snow.gui create mode 100644 N3OW/gui/event_window_widgets/event_window_widget_vfx_snowstorm.gui create mode 100644 N3OW/gui/event_windows/anonymous_letter_event.gui create mode 100644 N3OW/gui/event_windows/big_event_window.gui create mode 100644 N3OW/gui/event_windows/character_event.gui create mode 100644 N3OW/gui/event_windows/duel_event.gui create mode 100644 N3OW/gui/event_windows/fullscreen_event.gui create mode 100644 N3OW/gui/event_windows/letter_event.gui create mode 100644 N3OW/gui/event_windows/scheme_failed_event.gui create mode 100644 N3OW/gui/event_windows/scheme_preparations_event.gui create mode 100644 N3OW/gui/event_windows/scheme_successful_event.gui create mode 100644 N3OW/gui/event_windows/scheme_successful_event_no_text.gui create mode 100644 N3OW/gui/event_windows/scheme_target_event.gui create mode 100644 N3OW/gui/event_windows/visit_settlement_window.gui create mode 100644 N3OW/gui/frontend_bookmarks.gui create mode 100644 N3OW/gui/frontend_credits.gui create mode 100644 N3OW/gui/frontend_ingame_menu.gui create mode 100644 N3OW/gui/frontend_load.gui create mode 100644 N3OW/gui/frontend_loadingscreen_savegame.gui create mode 100644 N3OW/gui/frontend_main.gui create mode 100644 N3OW/gui/frontend_mp_game_setup.gui create mode 100644 N3OW/gui/game_rules.gui create mode 100644 N3OW/gui/hud_bottom.gui create mode 100644 N3OW/gui/hud_notification_templates.gui create mode 100644 N3OW/gui/hud_outliner.gui create mode 100644 N3OW/gui/hud_ruler_objective.gui create mode 100644 N3OW/gui/hud_sidebars.gui create mode 100644 N3OW/gui/hud_top.gui create mode 100644 N3OW/gui/interaction_blackmail.gui create mode 100644 N3OW/gui/interaction_call_ally.gui create mode 100644 N3OW/gui/interaction_call_ally_notification_window.gui create mode 100644 N3OW/gui/interaction_concubine.gui create mode 100644 N3OW/gui/interaction_confirmation.gui create mode 100644 N3OW/gui/interaction_council_task.gui create mode 100644 N3OW/gui/interaction_court_task.gui create mode 100644 N3OW/gui/interaction_create_claimant_faction.gui create mode 100644 N3OW/gui/interaction_declare_war.gui create mode 100644 N3OW/gui/interaction_grant_titles.gui create mode 100644 N3OW/gui/interaction_interfere_in_war.gui create mode 100644 N3OW/gui/interaction_interfere_in_war_notification.gui create mode 100644 N3OW/gui/interaction_marriage.gui create mode 100644 N3OW/gui/interaction_marriage_notification_window.gui create mode 100644 N3OW/gui/interaction_menu_window.gui create mode 100644 N3OW/gui/interaction_modify_vassal_window.gui create mode 100644 N3OW/gui/interaction_notification_window.gui create mode 100644 N3OW/gui/interaction_revoke_title.gui create mode 100644 N3OW/gui/interaction_templates.gui create mode 100644 N3OW/gui/interaction_transfer_vassal.gui create mode 100644 N3OW/gui/jomini/core.gui create mode 100644 N3OW/gui/jomini/credits/credits_base.gui create mode 100644 N3OW/gui/jomini/encyclopedia/jomini_encyclopedia.gui create mode 100644 N3OW/gui/jomini/music_player/music_player_mini_controller.gui create mode 100644 N3OW/gui/jomini/music_player/music_player_view.gui create mode 100644 N3OW/gui/map_editor/dockable_map_mode_selector.gui create mode 100644 N3OW/gui/map_icon_layer.gui create mode 100644 N3OW/gui/map_icon_layer_templates.gui create mode 100644 N3OW/gui/multiplayer_config.gui create mode 100644 N3OW/gui/multiplayer_frontend.gui create mode 100644 N3OW/gui/multiplayer_lobby.gui create mode 100644 N3OW/gui/multiplayer_serverbrowser.gui create mode 100644 N3OW/gui/multiplayer_setup.gui create mode 100644 N3OW/gui/multiplayer_types.gui create mode 100644 N3OW/gui/notifications/jomini_message.gui create mode 100644 N3OW/gui/preload/defaults.gui create mode 100644 N3OW/gui/preload/fonts.gui create mode 100644 N3OW/gui/preload/frontend_loadingscreen.gui create mode 100644 N3OW/gui/preload/labels.gui create mode 100644 N3OW/gui/preload/textformatting.gui create mode 100644 N3OW/gui/preload/tooltip.gui create mode 100644 N3OW/gui/scripted_widgets/_scripted_widgets.info create mode 100644 N3OW/gui/settings/setting_types.gui create mode 100644 N3OW/gui/settings/settings.gui create mode 100644 N3OW/gui/shared/animation.gui create mode 100644 N3OW/gui/shared/animation.info create mode 100644 N3OW/gui/shared/backgrounds.gui create mode 100644 N3OW/gui/shared/buttons.gui create mode 100644 N3OW/gui/shared/buttons_icons.gui create mode 100644 N3OW/gui/shared/cards.gui create mode 100644 N3OW/gui/shared/coa_designer.gui create mode 100644 N3OW/gui/shared/coat_of_arms.gui create mode 100644 N3OW/gui/shared/color_picker.gui create mode 100644 N3OW/gui/shared/colors.gui create mode 100644 N3OW/gui/shared/cooltip.gui create mode 100644 N3OW/gui/shared/court_positions.gui create mode 100644 N3OW/gui/shared/dialogs.gui create mode 100644 N3OW/gui/shared/edit_boxes.gui create mode 100644 N3OW/gui/shared/event_windows.gui create mode 100644 N3OW/gui/shared/icons.gui create mode 100644 N3OW/gui/shared/lines.gui create mode 100644 N3OW/gui/shared/lists.gui create mode 100644 N3OW/gui/shared/mapmodes.gui create mode 100644 N3OW/gui/shared/misc_components.gui create mode 100644 N3OW/gui/shared/popups.gui create mode 100644 N3OW/gui/shared/portraits.gui create mode 100644 N3OW/gui/shared/progressbars.gui create mode 100644 N3OW/gui/shared/sounds.gui create mode 100644 N3OW/gui/shared/texticons_religion.gui create mode 100644 N3OW/gui/shared/texticons_trigger.gui create mode 100644 N3OW/gui/shared/texticons_ui.gui create mode 100644 N3OW/gui/shared/value_breakdown.gui create mode 100644 N3OW/gui/shared/windows.gui create mode 100644 N3OW/gui/shortcuts.shortcuts create mode 100644 N3OW/gui/texticons_legitimacy.gui create mode 100644 N3OW/gui/texticons_religion.gui create mode 100644 N3OW/gui/tutorial_highlight.gui create mode 100644 N3OW/gui/window_accolade.gui create mode 100644 N3OW/gui/window_activity.gui create mode 100644 N3OW/gui/window_activity_guest_list.gui create mode 100644 N3OW/gui/window_activity_intent_selection.gui create mode 100644 N3OW/gui/window_activity_list.gui create mode 100644 N3OW/gui/window_activity_locale.gui create mode 100644 N3OW/gui/window_activity_log.gui create mode 100644 N3OW/gui/window_activity_planner.gui create mode 100644 N3OW/gui/window_add_tradition.gui create mode 100644 N3OW/gui/window_appoint_tax_collector.gui create mode 100644 N3OW/gui/window_army.gui create mode 100644 N3OW/gui/window_army_automation_options.gui create mode 100644 N3OW/gui/window_army_select_commander.gui create mode 100644 N3OW/gui/window_artifact_details.gui create mode 100644 N3OW/gui/window_artifact_helper.gui create mode 100644 N3OW/gui/window_artifact_reforge.gui create mode 100644 N3OW/gui/window_barbershop.gui create mode 100644 N3OW/gui/window_barter.gui create mode 100644 N3OW/gui/window_battle_summary.gui create mode 100644 N3OW/gui/window_character_filter.gui create mode 100644 N3OW/gui/window_character_finder.gui create mode 100644 N3OW/gui/window_character_focus.gui create mode 100644 N3OW/gui/window_character_lifestyle.gui create mode 100644 N3OW/gui/window_combat.gui create mode 100644 N3OW/gui/window_confederation.gui create mode 100644 N3OW/gui/window_council.gui create mode 100644 N3OW/gui/window_council_potential_councillor.gui create mode 100644 N3OW/gui/window_county_view.gui create mode 100644 N3OW/gui/window_court.gui create mode 100644 N3OW/gui/window_court_amenities.gui create mode 100644 N3OW/gui/window_court_events.gui create mode 100644 N3OW/gui/window_court_position_appoint.gui create mode 100644 N3OW/gui/window_court_positions.gui create mode 100644 N3OW/gui/window_court_scene_editor.gui create mode 100644 N3OW/gui/window_court_types.gui create mode 100644 N3OW/gui/window_create_accolade.gui create mode 100644 N3OW/gui/window_culture.gui create mode 100644 N3OW/gui/window_decisions.gui create mode 100644 N3OW/gui/window_decisions_detail.gui create mode 100644 N3OW/gui/window_diarchy.gui create mode 100644 N3OW/gui/window_diverge_culture.gui create mode 100644 N3OW/gui/window_dlc_info.gui create mode 100644 N3OW/gui/window_domicile.gui create mode 100644 N3OW/gui/window_dynasty_house.gui create mode 100644 N3OW/gui/window_dynasty_house_members.gui create mode 100644 N3OW/gui/window_dynasty_legacy.gui create mode 100644 N3OW/gui/window_dynasty_tree.gui create mode 100644 N3OW/gui/window_epidemics.gui create mode 100644 N3OW/gui/window_factions.gui create mode 100644 N3OW/gui/window_faith.gui create mode 100644 N3OW/gui/window_faith_conversion.gui create mode 100644 N3OW/gui/window_faith_creation.gui create mode 100644 N3OW/gui/window_family_attribute.gui create mode 100644 N3OW/gui/window_find_title.gui create mode 100644 N3OW/gui/window_find_vassal.gui create mode 100644 N3OW/gui/window_ghw.gui create mode 100644 N3OW/gui/window_ghw_change_target.gui create mode 100644 N3OW/gui/window_great_project.gui create mode 100644 N3OW/gui/window_hired_troops_detail.gui create mode 100644 N3OW/gui/window_house_aspiration.gui create mode 100644 N3OW/gui/window_house_relation_history.gui create mode 100644 N3OW/gui/window_hybridize_culture.gui create mode 100644 N3OW/gui/window_inspirations.gui create mode 100644 N3OW/gui/window_intrigue.gui create mode 100644 N3OW/gui/window_intrigue_potential_faction_member.gui create mode 100644 N3OW/gui/window_intrigue_potential_scheme_agent.gui create mode 100644 N3OW/gui/window_inventory.gui create mode 100644 N3OW/gui/window_kill_list.gui create mode 100644 N3OW/gui/window_knights.gui create mode 100644 N3OW/gui/window_languages.gui create mode 100644 N3OW/gui/window_lease_out_baronies.gui create mode 100644 N3OW/gui/window_legend_chronicle.gui create mode 100644 N3OW/gui/window_legend_creation.gui create mode 100644 N3OW/gui/window_legends.gui create mode 100644 N3OW/gui/window_levy.gui create mode 100644 N3OW/gui/window_lineage.gui create mode 100644 N3OW/gui/window_lobby_helper.gui create mode 100644 N3OW/gui/window_manage_tax_slots.gui create mode 100644 N3OW/gui/window_memories.gui create mode 100644 N3OW/gui/window_menatarms.gui create mode 100644 N3OW/gui/window_menatarms_type_view.gui create mode 100644 N3OW/gui/window_message_popup.gui create mode 100644 N3OW/gui/window_message_settings.gui create mode 100644 N3OW/gui/window_migration.gui create mode 100644 N3OW/gui/window_military.gui create mode 100644 N3OW/gui/window_move_domicile.gui create mode 100644 N3OW/gui/window_my_realm.gui create mode 100644 N3OW/gui/window_plan_great_project.gui create mode 100644 N3OW/gui/window_potential_great_project_contributors.gui create mode 100644 N3OW/gui/window_raid.gui create mode 100644 N3OW/gui/window_raid_intent_selection.gui create mode 100644 N3OW/gui/window_rally_points.gui create mode 100644 N3OW/gui/window_replace_pillar.gui create mode 100644 N3OW/gui/window_resign_confirmation.gui create mode 100644 N3OW/gui/window_royal_court.gui create mode 100644 N3OW/gui/window_royal_court_screenshot.gui create mode 100644 N3OW/gui/window_ruler_designer.gui create mode 100644 N3OW/gui/window_ruler_designer_load.gui create mode 100644 N3OW/gui/window_ruler_designer_save.gui create mode 100644 N3OW/gui/window_save_game.gui create mode 100644 N3OW/gui/window_select_men_at_arms_origin.gui create mode 100644 N3OW/gui/window_select_raise_troops_at_location.gui create mode 100644 N3OW/gui/window_select_title_troop_assignment.gui create mode 100644 N3OW/gui/window_siege.gui create mode 100644 N3OW/gui/window_silk_road.gui create mode 100644 N3OW/gui/window_situation.gui create mode 100644 N3OW/gui/window_situation_debug.gui create mode 100644 N3OW/gui/window_situation_list.gui create mode 100644 N3OW/gui/window_situation_participation.gui create mode 100644 N3OW/gui/window_situation_participation_debug.gui create mode 100644 N3OW/gui/window_situation_sub_region.gui create mode 100644 N3OW/gui/window_struggle.gui create mode 100644 N3OW/gui/window_struggle_involvement.gui create mode 100644 N3OW/gui/window_succession_change_law.gui create mode 100644 N3OW/gui/window_succession_designate_heir.gui create mode 100644 N3OW/gui/window_succession_event.gui create mode 100644 N3OW/gui/window_task_contract.gui create mode 100644 N3OW/gui/window_tax_slot_assign_vassal.gui create mode 100644 N3OW/gui/window_tax_slot_obligations.gui create mode 100644 N3OW/gui/window_tax_slot_vassals.gui create mode 100644 N3OW/gui/window_tgp_dynastic_cycle.gui create mode 100644 N3OW/gui/window_tgp_natural_disaster.gui create mode 100644 N3OW/gui/window_the_great_steppe.gui create mode 100644 N3OW/gui/window_title_add_law.gui create mode 100644 N3OW/gui/window_title_claimants.gui create mode 100644 N3OW/gui/window_title_customization.gui create mode 100644 N3OW/gui/window_title_election.gui create mode 100644 N3OW/gui/window_title_history.gui create mode 100644 N3OW/gui/window_travel_option_selection.gui create mode 100644 N3OW/gui/window_travel_planner.gui create mode 100644 N3OW/gui/window_travel_route_edit.gui create mode 100644 N3OW/gui/window_treasury_budget_change.gui create mode 100644 N3OW/gui/window_tutorial.gui create mode 100644 N3OW/gui/window_war_declared_overview.gui create mode 100644 N3OW/gui/window_war_overview.gui create mode 100644 N3OW/gui/window_war_results.gui diff --git a/N3OW/common/character_interactions/00_adoption.txt b/N3OW/common/character_interactions/00_adoption.txt deleted file mode 100644 index 9c70ee27..00000000 --- a/N3OW/common/character_interactions/00_adoption.txt +++ /dev/null @@ -1,828 +0,0 @@ -#Interactions relating to the head of the dynasty - -adopt_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - interface_priority = 60 - - desc = adopt_interaction_desc - use_diplomatic_range = yes - - is_shown = { - OR = { - # Cultures that default with this tradition should still be able to adopt - scope:actor.culture = { has_cultural_parameter = allows_adoption } - NOT = { - has_game_rule = no_adoption - } - } - NOT = { - scope:recipient = scope:actor - } - scope:actor = { - is_adult = yes - OR = { - # Compassionate people like adopting - has_trait = compassionate - # Game rule as an overriding factor - has_game_rule = adoption_always_allowed - # You have no kids and your fertility is low - AND = { - any_child = { - count < 1 - } - fertility <= low_fertility - } - # You are married to a same-sex partner - AND = { - is_married = yes - # People in bisexual polygamous spheres are not valid for this - NOT = { - OR = { - AND = { - any_consort = { - is_female = yes - } - is_male = yes - } - AND = { - any_consort = { - is_male = yes - } - is_female = yes - } - } - } - } - # You are unmarried and uninterested in having biological children - AND = { - is_married = no - OR = { - has_sexuality = asexual - has_sexuality = homosexual - } - } - # You have a cultrad that lets you adopt - culture = { has_cultural_parameter = allows_adoption } - } - OR = { - # You are unmarried - is_married = no - # You are the dominant partner in at least one of your marriages - AND = { - is_female = yes - matrilinear_marriage = yes - } - AND = { - is_male = yes - matrilinear_marriage = no - } - # Your marriage is same-sex - NOT = { - OR = { - AND = { - any_consort = { - is_female = yes - } - is_male = yes - } - AND = { - any_consort = { - is_male = yes - } - is_female = yes - } - } - } - } - } - scope:recipient = { - # Children only - is_adult = no - # Landless only (ruler used to catch edge-cases of landless HoF children) - is_ruler = no - # Don't get imprisoned children and so on - is_available = yes - # None of their close relatives are rulers - NOT = { - any_close_or_extended_family_member = { is_ruler = yes } - } - # They don't already belong to your house - NOT = { house = scope:actor.house } - # Don't adopt your own grandkids - NOT = { - any_ancestor = { - this = scope:actor - } - } - # Don't steal the King of France's great nephew - NOT = { - any_liege_or_above = { - prev.dynasty = dynasty - } - } - } - } - - is_valid = {} - - is_valid_showing_failures_only = {} - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - scope:recipient.top_liege = scope:actor.top_liege - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_options_exclusive = no - - on_accept = { - show_as_tooltip = { - adopt_effect = { - CHILD = scope:recipient - ADOPTER = scope:actor - } - } - hidden_effect = { - scope:actor = { trigger_event = adoption.0001 } - } - } - - cost = { - renown = { - value = { - add = medium_dynasty_prestige_value - if = { # Free for free adoption - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - if = { # Free for same-sex couples - limit = { - scope:actor = { - OR = { - AND = { - any_consort = { - is_female = yes - } - is_female = yes - } - AND = { - any_consort = { - is_male = yes - } - is_male = yes - } - } - } - } - multiply = 0 - } - } - } - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - } - } - piety = { - value = { - add = medium_piety_value - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - # No piety cost for adopting a righteous-faith child - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value < faith_astray_level - } - } - } - multiply = 0 - } - else_if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value > faith_astray_level - } - } - } - add = minor_piety_value - } - else_if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value > faith_hostile_level - } - } - } - add = medium_piety_value - } - } - } - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - ai_potential = { - any_child = { - count < 2 - } - OR = { - fertility <= low_fertility - AND = { - is_male = yes - NOT = { - any_spouse = { - fertility > low_fertility - is_female = yes - } - } - } - AND = { - is_female = yes - NOT = { - any_spouse = { - fertility > low_fertility - is_male = yes - } - } - } - } - } - - ai_targets = { - ai_recipients = courtiers - ai_recipients = guests - # Friends, wards, etc. - ai_recipients = scripted_relations - max = 20 - } - - ai_accept = { - base = 0 - modifier = { # My parents are alive - add = -15 - desc = parents_are_alive_tt - OR = { - father ?= { is_alive = yes } - mother ?= { is_alive = yes } - } - } - modifier = { # I hate my mother - add = 10 - desc = i_hate_my_mother_tt - exists = mother - mother = { is_alive = yes } - opinion = { - value <= medium_negative_opinion - target = mother - } - } - modifier = { # I hate my father - add = 10 - desc = i_hate_my_father_tt - exists = father - father = { is_alive = yes } - opinion = { - value <= medium_negative_opinion - target = father - } - } - modifier = { # I like my mother - add = -10 - desc = i_like_my_mother_tt - exists = mother - mother = { is_alive = yes } - opinion = { - value >= medium_positive_opinion - target = mother - } - } - modifier = { # I like my father - add = -10 - desc = i_like_my_father_tt - exists = father - father = { is_alive = yes } - opinion = { - value >= medium_positive_opinion - target = father - } - } - modifier = { # I like you - add = { - value = 5 - if = { - limit = { - opinion = { - value >= high_positive_opinion - target = scope:actor - } - } - add = 10 - } - if = { - limit = { - opinion = { - value >= very_high_positive_opinion - target = scope:actor - } - } - add = 10 - } - } - desc = i_like_you_tt - opinion = { - value >= medium_positive_opinion - target = scope:actor - } - } - modifier = { # You're my friend :) - add = 10 - desc = youre_my_friend_tt - has_relation_friend = scope:actor - } - modifier = { # You're my guardian - add = 10 - desc = youre_my_guardian_tt - has_relation_guardian = scope:actor - } - modifier = { # I have no mother - add = 5 - desc = i_want_a_mother_tt - scope:actor = { is_female = yes } - OR = { - NOT = { exists = mother } - mother = { is_alive = no } - } - } - modifier = { # I have no father - add = 5 - desc = i_want_a_father_tt - scope:actor = { is_male = yes } - OR = { - NOT = { exists = father } - father = { is_alive = no } - } - } - modifier = { # I am a noble! - add = -15 - desc = i_am_noble_tt - has_no_particular_noble_roots_trigger = no - } - modifier = { # We are so alike ^^ - add = { - value = 5 - if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 2 - } - } - multiply = 2 - } - else_if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 3 - } - } - multiply = 3 - } - else_if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 4 - } - } - multiply = 4 - } - } - desc = we_are_alike_tt - number_of_personality_traits_in_common = { - target = scope:actor - value >= 1 - } - } - modifier = { # Yo, you're offering me a place in a landed house? Sick. - add = 10 - desc = ambition_tt - has_trait = ambitious - } - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - - ai_frequency = 120 - - ai_will_do = { - base = 50 - - modifier = { # I am childless and my marriage will never produce heirs - add = 100 - scope:actor = { - any_child = { - count < 1 - } - OR = { - fertility <= low_fertility - AND = { - is_male = yes - NOT = { - any_spouse = { - fertility > low_fertility - is_female = yes - } - } - } - AND = { - is_female = yes - NOT = { - any_spouse = { - fertility > low_fertility - is_male = yes - } - } - } - } - } - } - - modifier = { # I am kind and the child is an orphan - add = 100 - scope:actor = { - ai_compassion >= high_positive_compassion - } - NOT = { - exists = scope:recipient.mother - exists = scope:recipient.father - } - } - - modifier = { # Traits in common - add = 25 - scope:actor = { - number_of_personality_traits_in_common = { - target = scope:recipient - value = 1 - } - } - } - - modifier = { # Traits in common - add = 25 - scope:actor = { - number_of_personality_traits_in_common = { - target = scope:recipient - value = 2 - } - } - } - - modifier = { # Traits in common - add = 25 - scope:actor = { - number_of_personality_traits_in_common = { - target = scope:recipient - value = 3 - } - } - } - - modifier = { # My culture is into adoption - add = 25 - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - - modifier = { # I like the kid - add = 25 - scope:actor = { - opinion = { - value >= medium_positive_opinion - target = scope:recipient - } - } - } - - modifier = { # The kid is my friend uwu - add = 25 - scope:actor = { - has_relation_friend = scope:recipient - } - } - - modifier = { # The kid is my ward - add = 25 - scope:actor = { - has_relation_guardian = scope:recipient - } - } - - modifier = { # I care about bloodlines and dynasties and whatnot - add = -25 - scope:actor = { - NOR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - has_trait = humble - has_trait = callous - } - } - } - - modifier = { # I will not adopt filthy filthy heretics - factor = 0 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_astray_level - } - } - } - } -} - -adventurer_adopt_interaction = { - icon = icon_adopt_house_member - category = interaction_category_diplomacy - interface_priority = 60 - cooldown = { years = 2 } - - desc = adventurer_adopt_interaction_desc - use_diplomatic_range = yes - - is_shown = { - scope:actor = { is_landless_adventurer = yes } - scope:recipient = { - is_ruler = no - # They don't already belong to your dynasty - NOT = { dynasty = scope:actor.dynasty } - } - } - - is_valid = {} - - is_valid_showing_failures_only = { - # Don't get imprisoned children and so on - scope:recipient = { - is_available = yes - is_courtier_of = scope:actor - opinion = { - value >= 40 # sync with define:NDomicile|TEMPERAMENT_THRESHOLD_HIGH - target = scope:actor - } - has_no_particular_noble_roots_trigger = yes - } - scope:recipient = { - NOT = { has_trait = devoted } - } - scope:recipient = { - NOT = { has_trait = gallivanter } - } - } - - on_accept = { - show_as_tooltip = { - adventurer_adopt_effect = { - CHILD = scope:recipient - ADOPTER = scope:actor - } - scope:actor = { set_designated_heir = scope:recipient } - } - hidden_effect = { - scope:actor = { trigger_event = adoption.0002 } - } - } - - cost = { - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - } - } - } - - ai_accept = { - base = 0 - modifier = { # My parents are alive - add = -15 - desc = parents_are_alive_tt - OR = { - father ?= { is_alive = yes } - mother ?= { is_alive = yes } - } - } - modifier = { # I hate my mother - add = 10 - desc = i_hate_my_mother_tt - exists = mother - mother = { is_alive = yes } - opinion = { - value <= medium_negative_opinion - target = mother - } - } - modifier = { # I hate my father - add = 10 - desc = i_hate_my_father_tt - exists = father - father = { is_alive = yes } - opinion = { - value <= medium_negative_opinion - target = father - } - } - modifier = { # I like my mother - add = -10 - desc = i_like_my_mother_tt - exists = mother - mother = { is_alive = yes } - opinion = { - value >= medium_positive_opinion - target = mother - } - } - modifier = { # I like my father - add = -10 - desc = i_like_my_father_tt - exists = father - father = { is_alive = yes } - opinion = { - value >= medium_positive_opinion - target = father - } - } - modifier = { # I like you - add = { - value = 5 - if = { - limit = { - opinion = { - value >= high_positive_opinion - target = scope:actor - } - } - add = 10 - } - if = { - limit = { - opinion = { - value >= very_high_positive_opinion - target = scope:actor - } - } - add = 10 - } - } - desc = i_like_you_tt - opinion = { - value >= medium_positive_opinion - target = scope:actor - } - } - modifier = { # You're my friend :) - add = 10 - desc = youre_my_friend_tt - has_relation_friend = scope:actor - } - modifier = { # You're my guardian - add = 10 - desc = youre_my_guardian_tt - has_relation_guardian = scope:actor - } - modifier = { # I have no mother - add = 5 - desc = i_want_a_mother_tt - scope:actor = { is_female = yes } - OR = { - NOT = { exists = mother } - mother = { is_alive = no } - } - } - modifier = { # I have no father - add = 5 - desc = i_want_a_father_tt - scope:actor = { is_male = yes } - OR = { - NOT = { exists = father } - father = { is_alive = no } - } - } - modifier = { # I am a noble! - add = -15 - desc = i_am_noble_tt - has_no_particular_noble_roots_trigger = no - } - modifier = { # We are so alike ^^ - add = { - value = 5 - if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 2 - } - } - multiply = 2 - } - else_if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 3 - } - } - multiply = 3 - } - else_if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:actor - value = 4 - } - } - multiply = 4 - } - } - desc = we_are_alike_tt - number_of_personality_traits_in_common = { - target = scope:actor - value >= 1 - } - } - modifier = { # Yo, you're offering me a place in a landed house? Sick. - add = 10 - desc = ambition_tt - has_trait = ambitious - } - } -} diff --git a/N3OW/common/character_interactions/00_artifact_interactions.txt b/N3OW/common/character_interactions/00_artifact_interactions.txt deleted file mode 100644 index 7b358c8e..00000000 --- a/N3OW/common/character_interactions/00_artifact_interactions.txt +++ /dev/null @@ -1,4386 +0,0 @@ -# Give away an artifact to improve relations -gift_artifact_interaction = { - category = interaction_category_friendly - common_interaction = no - interface_priority = 30 - desc = gift_artifact_interaction_desc - icon = artisan_inspiration - - target_type = artifact - target_filter = actor_artifacts - - greeting = positive - notification_text = GIFT_ARTIFACT_PROPOSAL - - answer_accept_key = GIFT_ARTIFACT_ACCEPT - answer_reject_key = GIFT_ARTIFACT_REJECT - - ai_targets = { - ai_recipients = scripted_relations - ai_recipients = liege - ai_recipients = spouses - ai_recipients = vassals - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - ai_targets = { - ai_recipients = family - ai_recipients = children - ai_recipients = dynasty - max = 20 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 84 - - can_be_picked_artifact = { - trigger_if = { - limit = { - scope:actor = { - is_ai = no - } - } - scope:target = { - is_equipped = no - } - } - scope:actor = { - any_character_artifact = { - this = scope:target - } - } - #Artifacts locked from being giftable by a variable - scope:target = { - NOR = { - has_variable = 1025_treasure_map - has_variable = ungiftable - } - } - } - - - #You can't give yourself a gift, even if it should count as self-care - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor = { - has_any_artifact = yes - } - } - - is_valid_showing_failures_only = { - # needs to have an artifact to give away - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - is_imprisoned = no - trigger_if = { - limit = { - is_ai = no - } - custom_description = { - text = "any_unequipped_artifact_tt" - any_character_artifact = { - is_equipped = no - } - } - } - } - trigger_if = { - limit = { - exists = scope:target.var:banner_dynasty - exists = scope:recipient.dynasty - } - custom_description = { - text = "gift_artifact_dynasty_banner_head_tt" - scope:recipient = scope:target.var:banner_dynasty.dynast - } - } - } - - on_accept = { - # Warning for multiple gifts - if = { - limit = { - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = gift_artifact_opinion - } - } - } - custom_tooltip = ALREADY_SENT_GIFT_WARNING - } - # Struggle Catalyst - if = { # Struggle Catalyst - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_gift_independent_ruler - CHAR = scope:recipient - } - } - } - } - hidden_effect = { - scope:actor = { - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_gift_independent_ruler - character = scope:actor - } - } - } - } - } - else_if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - scope:actor = { - any_character_struggle = { - #involvement = involved - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_gift_supporter_detractor_ruler - CHAR = scope:recipient - } - } - } - } - hidden_effect = { - scope:actor = { - every_character_struggle = { - #involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_gift_supporter_detractor_ruler - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_gift_supporter_detractor_ruler - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_gift_supporter_detractor_ruler } - } - } - } - } - - scope:target = { - set_variable = { - name = suppress_artifact_notifications - value = yes - days = 1 - } - set_variable = { name = gifted_artifact value = yes days = 9125 } - } - scope:recipient = { - # Verify that they could become friend - if = { - limit = { - NAND = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - } - } - gifting_leads_towards_friendship_effect = yes - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = gift_artifact_interaction_notification - left_icon = scope:recipient - right_icon = scope:target - scope:recipient = { - if = { - limit = { scope:target = { can_be_claimed_by = scope:recipient } } - if = { - limit = { any_personal_claimed_artifact = { this = scope:target } } - show_as_tooltip = { remove_personal_artifact_claim = scope:target } - } - else = { show_as_tooltip = { house = { remove_house_artifact_claim = scope:target } } } - } - } - - scope:target = { set_owner = scope:recipient } - - - if = { - limit = { - scope:target = { is_unique = yes } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - stress_impact = { - greedy = major_stress_impact_gain - generous = major_stress_impact_loss - } - } - else_if = {# Unity goes here, too! - limit = { scope:target = { rarity = masterwork } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - stress_impact = { - greedy = minor_stress_impact_gain - generous = minor_stress_impact_loss - } - } - else_if = { - limit = { scope:target = { rarity = famed } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - stress_impact = { - greedy = medium_stress_impact_gain - generous = medium_stress_impact_loss - } - } - else_if = { - limit = { scope:target = { rarity = illustrious } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - stress_impact = { - greedy = major_stress_impact_gain - generous = major_stress_impact_loss - } - } - if = { - limit = { scope:recipient = { is_ai = yes } } - reverse_add_opinion = { - target = scope:recipient - modifier = gift_artifact_opinion - opinion = gift_artifact_opinion - } - } - #FP3 Tenet Communal Possessions Perk - piety gain for gift giving. - if = { - limit = { - scope:actor = { - faith = { - has_doctrine_parameter = piety_from_gifts_active - } - } - } - scope:actor = { - if = { - limit = { #the better the artifact, the more piety you gain - scope:target = { rarity = illustrious } - } - add_piety = massive_piety_gain - } - else_if = { - limit = { - scope:target = { rarity = famed } - } - add_piety = major_piety_gain - } - else_if = { - limit = { - scope:target = { rarity = masterwork } - } - add_piety = medium_piety_gain - } - else = { - add_piety = minor_piety_gain - } - } - } - } - - # Warning for low opinion gain - if = { - limit = { - scope:target = { artifact_durability <= define:NInventory|ARTIFACT_LOW_DURABILITY } - } - custom_tooltip = artifact_gift_low_durability_tt - } - if = { - limit = { - scope:target = { artifact_durability <= define:NInventory|ARTIFACT_VERY_LOW_DURABILITY } - } - custom_tooltip = artifact_gift_very_low_durability_tt - } - if = { - limit = { - scope:target = { - OR = { - AND = { - has_variable = banner_house - NOT = { var:banner_house = scope:recipient.house } - } - AND = { - has_variable = banner_dynasty - NOT = { var:banner_dynasty = scope:recipient.dynasty } - } - } - } - } - custom_tooltip = artifact_gift_useless_banner_tt - } - else_if = { - limit = { - scope:recipient = { - NOR = { - can_equip_artifact = scope:target - can_benefit_from_artifact = scope:target - } - } - } - custom_tooltip = artifact_gift_useless_tt - } - else_if = { - limit = { - scope:recipient = { - NOT = { can_equip_artifact = scope:target } - } - } - custom_tooltip = artifact_gift_equip_tt - } - else_if = { - limit = { - scope:recipient = { - NOT = { can_benefit_from_artifact = scope:target } - } - } - custom_tooltip = artifact_gift_benefit_tt - } - if = { - limit = { scope:recipient.liege = scope:actor } - custom_tooltip = artifact_gift_vassal_tt - } - if = { - limit = { scope:recipient = scope:actor.faith.religious_head } - custom_tooltip = artifact_gift_religious_head_tt - } - } - scope:recipient = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = gift_artifact_interaction_notification - left_icon = scope:actor - right_icon = scope:target - - show_as_tooltip = { - scope:target = { set_owner = scope:recipient } - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = gift_artifact_opinion - opinion = gift_artifact_opinion - } - } - - # Unity stuff, scales with tier # If we're a clan this interaction affects unity - if = { # In a better world, this would be a switch - limit = { scope:target = { rarity = Masterwork } } # todo_cd_polish, make the UI show this before you gift - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { - limit = { scope:target = { rarity = Famed } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { - limit = { scope:target = { rarity = Illustrious } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_gain - DESC = clan_unity_given_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - } - if = { - limit = { - is_ruler = no - trigger_if = { - limit = { - scope:target = { - artifact_slot_type = primary_armament - } - } - OR = { - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - } - } - AND = { - scope:target = { - rarity = illustrious - } - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - NOT = { - rarity = illustrious - } - } - } - AND = { - scope:target = { - rarity = famed - } - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - NOR = { - rarity = illustrious - rarity = famed - } - } - } - AND = { - scope:target = { - rarity = masterwork - } - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - } - } - } - AND = { - scope:target = { - rarity = common - } - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - rarity = common - } - } - } - } - } - trigger_if = { - limit = { - scope:target = { - artifact_slot_type = armor - } - } - OR = { - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = armor - } - } - AND = { - scope:target = { - rarity = illustrious - } - any_equipped_character_artifact = { - artifact_slot_type = armor - NOT = { - rarity = illustrious - } - } - } - AND = { - scope:target = { - rarity = famed - } - any_equipped_character_artifact = { - artifact_slot_type = armor - NOR = { - rarity = illustrious - rarity = famed - } - } - } - AND = { - scope:target = { - rarity = masterwork - } - any_equipped_character_artifact = { - artifact_slot_type = armor - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - } - } - } - AND = { - scope:target = { - rarity = common - } - any_equipped_character_artifact = { - artifact_slot_type = armor - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - rarity = common - } - } - } - } - } - trigger_if = { - limit = { - scope:target = { - artifact_slot_type = regalia - } - } - OR = { - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - } - } - AND = { - scope:target = { - rarity = illustrious - } - any_equipped_character_artifact = { - artifact_slot_type = regalia - NOT = { - rarity = illustrious - } - } - } - AND = { - scope:target = { - rarity = famed - } - any_equipped_character_artifact = { - artifact_slot_type = regalia - NOR = { - rarity = illustrious - rarity = famed - } - } - } - AND = { - scope:target = { - rarity = masterwork - } - any_equipped_character_artifact = { - artifact_slot_type = regalia - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - } - } - } - AND = { - scope:target = { - rarity = common - } - any_equipped_character_artifact = { - artifact_slot_type = regalia - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - rarity = common - } - } - } - } - } - trigger_if = { - limit = { - scope:target = { - artifact_slot_type = helmet - } - } - OR = { - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - } - } - AND = { - scope:target = { - rarity = illustrious - } - any_equipped_character_artifact = { - artifact_slot_type = helmet - NOT = { - rarity = illustrious - } - } - } - AND = { - scope:target = { - rarity = famed - } - any_equipped_character_artifact = { - artifact_slot_type = helmet - NOR = { - rarity = illustrious - rarity = famed - } - } - } - AND = { - scope:target = { - rarity = masterwork - } - any_equipped_character_artifact = { - artifact_slot_type = helmet - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - } - } - } - AND = { - scope:target = { - rarity = common - } - any_equipped_character_artifact = { - artifact_slot_type = helmet - NOR = { - rarity = illustrious - rarity = famed - rarity = masterwork - rarity = common - } - } - } - } - } - } - scope:target = { - equip_artifact_to_owner_replace = yes - } - } - } - } - } - - auto_accept = no - - ai_accept = { - base = 0 - modifier = { - add = 100 - desc = ARTIFACT_REASON - } - modifier = { - add = -80 - NOT = { - can_equip_artifact = scope:target - } - desc = ARTIFACT_NOT_EQUIPPABLE_REASON - } - modifier = { - add = -40 - NOT = { - can_benefit_from_artifact = scope:target - } - desc = ARTIFACT_NOT_BENEFIT_REASON - } - modifier = { - add = -500 - scope:target = { - has_variable = unwanted_artifact - } - #No harm in reusing the wording - desc = ARTIFACT_CURSED_REASON - } - modifier = { - add = -1000 - scope:target = { - has_variable = cursed_artifact - } - desc = ARTIFACT_CURSED_REASON - } - modifier = { - add = 100 - exists = scope:target.var:banner_dynasty - exists = scope:recipient.dynasty - scope:recipient = scope:target.var:banner_dynasty.dynast - desc = ARTIFACT_DYNASTY_BANNER_REASON - } - modifier = { - add = -200 - OR = { - exists = scope:target.var:banner_dynasty - exists = scope:target.var:banner_house - } - exists = scope:recipient.house - trigger_if = { - limit = { exists = scope:target.var:banner_dynasty } - NOT = { scope:target.var:banner_dynasty = scope:recipient.dynasty } - } - trigger_else = { - NOT = { scope:target.var:banner_house = scope:recipient.house } - } - desc = ARTIFACT_USELESS_BANNER_REASON - } - # Struggle motive - modifier = { - desc = AI_STRUGGLE_INTENT - scope:recipient = { - is_independent_ruler = yes - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - } - } - add = 200 - } - } - } - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - ai_potential = { - has_any_artifact = yes - trigger_if = { - limit = { - exists = scope:target.var:banner_dynasty - exists = scope:recipient.dynasty - scope:recipient = scope:target.var:banner_dynasty.dynast - } - NOT = { - scope:actor = { - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } - } - trigger_else = { - is_adult = yes - ai_greed <= high_positive_ai_value - # the AI shouldn't give away equipped artifacts - has_any_unequipped_artifact = yes - - NOT = { - has_trait = greedy - } - } - } - - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - is_close_or_extended_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - - AND = { - ai_greed <= low_negative_ai_value - OR = { # Lieges/vassals, within realm - is_vassal_of = scope:actor - target_is_vassal_or_below = scope:actor - } - opinion = { - target = scope:recipient - value >= medium_positive_opinion - } - } - } - } - - scope:target = { - is_equipped = no - } - - scope:recipient = { - OR = { - AND = { # Players like nice gifts - scope:target = { - OR = { - rarity = famed - rarity = illustrious - } - } - is_ai = no - } - AND = { # Might as well give Court Artifacts to their liege if they cant use them themselves - has_royal_court = yes - has_dlc_feature = court_artifacts - target_is_vassal_or_below = scope:actor - scope:actor = { - has_royal_court = no - } - scope:target = { - OR = { - artifact_slot_type = throne - artifact_slot_type = wall_big - artifact_slot_type = wall_small - artifact_slot_type = sculpture - artifact_slot_type = book - artifact_slot_type = pedestal - } - } - } - AND = { - scope:target = { - artifact_slot_type = primary_armament - } - scope:actor = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - } - } - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - } - } - } - AND = { - scope:target = { - artifact_slot_type = regalia - } - scope:actor = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - } - } - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - } - } - } - AND = { - scope:target = { - artifact_slot_type = helmet - } - scope:actor = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - } - } - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - } - } - } - AND = { - scope:target = { - artifact_slot_type = armor - } - scope:actor = { - any_equipped_character_artifact = { - artifact_slot_type = armor - } - } - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = armor - } - } - } - AND = { - can_equip_artifact = scope:target # To avoid gifting old children's toys to adults... - can_benefit_from_artifact = scope:target - scope:target = { - artifact_slot_type = miscellaneous - } - scope:actor = { - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = miscellaneous - } - } - any_equipped_character_artifact = { - count < 4 - artifact_slot_type = miscellaneous - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = throne - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - artifact_slot_type = throne - } - } - } - NOT = { - any_equipped_character_artifact = { - artifact_slot_type = throne - } - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = wall_big - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_big - } - } - } - any_equipped_character_artifact = { - count < 3 - artifact_slot_type = wall_big - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = wall_small - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_small - } - } - } - any_equipped_character_artifact = { - count < 3 - artifact_slot_type = wall_small - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = sculpture - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = sculpture - } - } - } - any_equipped_character_artifact = { - count < 2 - artifact_slot_type = sculpture - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = book - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = book - } - } - } - any_equipped_character_artifact = { - count < 2 - artifact_slot_type = book - } - } - AND = { - has_royal_court = yes - scope:target = { - artifact_slot_type = pedestal - } - scope:actor = { - OR = { - has_royal_court = no - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = pedestal - } - } - } - any_equipped_character_artifact = { - count < 4 - artifact_slot_type = pedestal - } - } - } - } - } - - # Struggle - modifier = { - scope:recipient = { - is_independent_ruler = yes - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - } - } - add = 200 - } - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 2 - scope:recipient = { - is_ai = no - } - } - - modifier = { - factor = 0.25 - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - - modifier = { # Unlanded characters do not equip artifacts, no point in giving them artifacts - factor = 0 - scope:recipient = { - is_ruler = no - } - } - - modifier = { - factor = 0 - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { - factor = 0 - scope:target = { - has_variable = cursed_artifact - } - } - - modifier = { - factor = 0 - scope:target = { - is_equipped = yes - } - } - - modifier = { - factor = 0 - scope:target = { - has_variable = gifted_artifact - } - } - - modifier = { # So that the AI doesn't give player toys - factor = 0 - scope:recipient = { - is_ai = no - NOT = { - can_equip_artifact = scope:target - } - } - } - - modifier = { - factor = 0 - scope:target = { exists = var:relic_religion} - scope:actor = { - has_religion = scope:target.var:relic_religion - } - } - - modifier = { - factor = 0 - OR = { - exists = scope:target.var:banner_house - exists = scope:target.var:banner_dynasty - } - scope:recipient = { - NOT = { - can_benefit_from_artifact = scope:target - } - } - } - - modifier = { - add = 100 - exists = scope:target.var:banner_dynasty - exists = scope:recipient.dynasty - scope:recipient = scope:target.var:banner_dynasty.dynast - NOT = { - scope:actor = { - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } - } - } -} - -# Demand an artifact you have a claim on -demand_artifact_interaction = { - category = interaction_category_diplomacy - common_interaction = yes - interface_priority = 60 - use_diplomatic_range = yes - desc = demand_artifact_interaction_desc - icon = artisan_inspiration - - target_type = artifact - target_filter = recipient_artifacts_claimable - - greeting = negative - notification_text = DEMAND_ARTIFACT_PROPOSAL - - answer_accept_key = DEMAND_ARTIFACT_ACCEPT - answer_reject_key = DEMAND_ARTIFACT_REJECT - - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = nearby_domicile_owners - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 60 - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - - custom_description = { - text = "demand_artifact_interaction_valid_tt_1" - scope:recipient = { - # needs to have an artifact we can claim - any_character_artifact = { - can_be_claimed_by = scope:actor - } - } - } - - scope:actor = { - OR = { - is_ai = no - max_military_strength >= { - value = { - value = scope:recipient.max_military_strength - multiply = 1.3 - } - } - highest_held_title_tier > scope:recipient.highest_held_title_tier - } - } - } - - is_highlighted = { - always = yes - } - - is_valid_showing_failures_only = { - - scope:recipient = { is_busy_in_events_localised = yes } - - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - } - - trigger_if = { - limit = { - scope:actor = { - has_variable = demanded_this_artifact_interaction_recently - } - } - custom_description = { - text = "demand_artifact_interaction_is_valid_tt_2" - exists = scope:demanded_artifact - scope:actor = { - has_variable = demanded_this_artifact_interaction_recently - var:demanded_this_artifact_interaction_recently = scope:demanded_artifact - } - } - } - scope:actor = { is_imprisoned = no } - } - - on_accept = { - scope:target = { - save_scope_as = demanded_artifact - } - if = { - limit = { - exists = scope:demanded_artifact - } - scope:actor = { - set_variable = { - name = demanded_this_artifact_interaction_recently - value = scope:demanded_artifact - years = 5 - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = demand_artifact_interaction_notification - left_icon = scope:recipient - right_icon = scope:target - scope:target = { - set_owner = scope:actor - } - - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -10 - } - } - if = { - limit = { - scope:recipient = { - can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor } - } - } - scope:recipient = { - set_relation_potential_rival = scope:actor - } - } - } - } - if = { - limit = { - scope:actor = { - is_ai = yes - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = pleased_opinion - opinion = 30 - } - } - } - - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_demanded_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_accept = { - base = 0 - modifier = { - add = -50 - desc = ARTIFACT_REASON - } - modifier = { - add = 70 - scope:actor.max_military_strength > scope:recipient.max_military_strength - desc = ARTIFACT_MILITARY_STRONGER_REASON - } - modifier = { - add = -70 - scope:actor.max_military_strength < scope:recipient.max_military_strength - desc = ARTIFACT_MILITARY_WEAKER_REASON - } - modifier = { - add = -50 - scope:target = { can_be_claimed_by = scope:recipient } - desc = ARTIFACT_CLAIM_REASON - } - modifier = { - add = { - value = ai_boldness - multiply = -1 - divide = 2 - } - NOT = { ai_boldness = 0 } - desc = ARTIFACT_BOLDNESS_REASON - } - modifier = { - add = -50 - scope:actor = { - has_relation_rival = scope:recipient - } - desc = ARTIFACT_RIVAL_REASON - } - modifier = { - add = -80 - scope:actor = { - has_relation_nemesis = scope:recipient - } - desc = ARTIFACT_NEMESIS_REASON - } - modifier = { - add = 50 - scope:recipient = { - target_is_liege_or_above = scope:actor - } - desc = ARTIFACT_LIEGE_REASON - } - modifier = { - scope:hook = yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { VALUE = 100 } - } - - ai_potential = { - is_adult = yes - is_at_war = no - ai_greed >= low_negative_ai_value - has_outstanding_artifact_claims = yes - } - - on_decline = { - scope:target = { - save_scope_as = demanded_artifact - } - if = { - limit = { - exists = scope:demanded_artifact - } - scope:actor = { - set_variable = { - name = demanded_this_artifact_interaction_recently - value = scope:demanded_artifact - years = 5 - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = demand_artifact_interaction_notification - left_icon = scope:recipient - right_icon = scope:target - custom_tooltip = demand_artifact_interaction_notification_refused - - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -10 - } - } - } - } - if = { - limit = { - scope:actor = { - is_ai = yes - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = refusal_opinion - opinion = -10 - } - } - } - } - - ai_min_reply_days = 7 - ai_max_reply_days = 14 - - ai_will_do = { - base = 100 - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { - add = 50 - has_relation_rival = scope:recipient - } - modifier = { - add = 80 - has_relation_nemesis = scope:recipient - } - modifier = { - add = -50 - target_is_liege_or_above = scope:recipient - } - # Recipient is flaunting their artifacts and needs to be taken down a peg - from hold_court.3080 - modifier = { - scope:recipient = { - OR = { - has_character_modifier = petition_event_artifact_exhibition_for_prestige - has_character_modifier = petition_event_artifact_exhibition_for_gold - } - } - add = 35 - } - modifier = { # An Intimidated character is very unlikely to raise their hand - add = -25 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 1 - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - modifier = { # A Cowed character will never take this interaction - factor = 0 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 2 - } - } - } - modifier = { # The AI doesn't demand from players they like - factor = 0 - scope:recipient = { - is_ai = no - } - scope:actor = { - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - opinion = { - target = scope:recipient - value >= high_positive_opinion - } - } - } - } - modifier = { # The AI doesn't demand from players that have refused already - factor = 0 - scope:recipient = { - is_ai = no - } - scope:actor = { - has_opinion_modifier = { - target = scope:recipient - modifier = refusal_opinion - } - } - } - modifier = { # Only the House Head will demand house claimed artifacts from existing House members - factor = 0 - exists = scope:actor.house.house_head - exists = scope:recipient.house - scope:actor.house.house_head = scope:actor - scope:actor.house = scope:recipient.house - - NOT = { - any_personal_claimed_artifact = { - this = scope:target - } - } - } - modifier = { - scope:actor = { - opinion = { - target = scope:recipient - value >= medium_positive_opinion - } - ai_greed <= high_positive_ai_value - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - } - } - factor = 0 - } - modifier = { - scope:actor = { - has_royal_court = no - } - scope:target = { - OR = { - artifact_slot_type = throne - artifact_slot_type = wall_big - artifact_slot_type = wall_small - artifact_slot_type = sculpture - artifact_slot_type = book - artifact_slot_type = pedestal - } - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - AND = { - scope:target = { - artifact_slot_type = primary_armament - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = regalia - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = helmet - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = armor - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = miscellaneous - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = miscellaneous - } - } - AND = { - scope:target = { - artifact_slot_type = throne - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = wall_big - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_big - } - } - AND = { - scope:target = { - artifact_slot_type = wall_small - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_small - } - } - AND = { - scope:target = { - artifact_slot_type = sculpture - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = sculpture - } - } - AND = { - scope:target = { - artifact_slot_type = book - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = book - } - } - AND = { - scope:target = { - artifact_slot_type = pedestal - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = pedestal - } - } - } - } - factor = 0 - } - } -} - -# Challenge someone to a non-lethal duel for an artifact you have a claim on -challenge_for_artifact_interaction = { - icon = icon_combat - interface_priority = 30 - common_interaction = yes - category = interaction_category_hostile - ai_maybe = yes - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - use_diplomatic_range = yes - can_send_despite_rejection = yes - desc = challenge_for_artifact_interaction_desc - - target_type = artifact - target_filter = recipient_artifacts_claimable - - greeting = negative - notification_text = REQUEST_ARTIFACT_COMBAT_TEXT - - answer_accept_key = REQUEST_ARTIFACT_COMBAT_ACCEPT - answer_reject_key = REQUEST_ARTIFACT_COMBAT_REJECT - - is_shown = { - # Can't duel yourself. - NOT = { scope:actor = scope:recipient } - custom_description = { - text = "challenge_for_artifact_interaction_valid_tt_1" - scope:recipient = { - # needs to have an artifact we can claim - any_character_artifact = { - can_be_claimed_by = scope:actor - } - } - } - } - - is_valid_showing_failures_only = { - rival_single_combat_shown_and_not_invalid_trigger = yes - scope:recipient = { can_start_single_combat_trigger = yes } - scope:recipient = { - custom_description = { - text = fp1_tbc_recipient_banned_from_combat - can_start_single_combat_banned_checks_trigger = no - } - } - scope:recipient = { is_imprisoned = no } - scope:actor = { is_imprisoned = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - is_highlighted = { - rival_single_combat_shown_and_not_invalid_trigger = yes - # Scope:recipient must be able to fight personally. - scope:recipient = { can_start_single_combat_trigger = yes } - # Scope:recipient must not be banned from single combat. - scope:recipient = { can_start_single_combat_banned_checks_trigger = no } - scope:recipient = { is_imprisoned = no } - scope:actor = { is_imprisoned = no } - } - - cost = { prestige = challenge_for_artifact_prestige_cost_value } - cooldown = { years = 2 } - cooldown_against_recipient = { years = 5 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - scope:actor = { - remove_character_flag = flag_hostile_actions_disabled_delay - } - # Set up the bout immediately. - ## First inform. - scope:actor = { - custom_tooltip = challenge_to_single_combat_interaction.enter_non_lethal_bout.tt - custom_tooltip = challenge_to_artifact_combat_interaction_victor_gets.tt - custom_tooltip = challenge_to_artifact_combat_interaction_loser_gets.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = artifact.2001 - INVALIDATION_EVENT = fp1_tbc.0021 - } - - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_challenge_artifact.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_challenge_artifact_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - - # Scope:recipient declines processing. - scope:actor = { - # Inform them of the decline & scope:recipient loses some prestige. - send_interface_toast = { - type = event_toast_effect_neutral - title = challenge_to_single_combat_interaction.challenge_rejected.t - left_icon = scope:recipient - right_icon = scope:actor - scope:recipient = { - add_prestige = { - value = 0 - subtract = challenge_for_artifact_prestige_cost_value - } - } - show_as_tooltip = { - add_prestige = challenge_for_artifact_prestige_cost_value - } - } - hidden_effect = { - add_prestige_no_experience = challenge_for_artifact_prestige_cost_value - # Cooldown is removed. - remove_interaction_cooldown = challenge_for_artifact_interaction - } - # Clear up hostile actions flag. - if = { - limit = { - has_character_flag = flag_hostile_actions_disabled_delay - } - remove_character_flag = flag_hostile_actions_disabled_delay - } - } - } - - auto_accept = no - - ai_accept = { - base = 50 # Try to make it 0 for most interactions - - # Relative fighting ability. - modifier = { - desc = CTSC_RELATIVE_PROWESS - scope:actor.prowess < scope:recipient.prowess - add = { - value = scope:recipient.prowess - subtract = scope:actor.prowess - multiply = 2 - } - } - modifier = { - desc = CTSC_RELATIVE_PROWESS - scope:recipient.prowess < scope:actor.prowess - add = { - value = scope:actor.prowess - subtract = scope:recipient.prowess - multiply = -2 - } - } - # Weight up for personality values. - ai_value_modifier = { - who = scope:recipient - ai_boldness = 1 - ai_vengefulness = 0.75 - ai_honor = 0.5 - ai_rationality = -0.25 - ai_greed = -0.5 - } - # Apply tier differences. - ## King -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - add = 15 - } - ## Duke -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - add = 10 - } - ## Count -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - add = 5 - } - ## King <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - add = -20 - } - ## Duke <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - add = -30 - } - ## Count <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value <= -4 - } - } - add = -40 - } - # Rival modifier - modifier = { - desc = offer_vassalization_interaction_aibehavior_rival_tt - trigger = { - scope:recipient = { - has_relation_rival = scope:actor - } - } - add = 30 - } - # Nemesis modifier - modifier = { - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = 50 - } - # Prestige too low to decline - modifier = { - desc = cannot_afford_prestige_loss_tt - trigger = { scope:recipient.prestige < challenge_for_artifact_prestige_limit_value } # 1/3rd of potential loss - add = 30 - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } - - # AI - ai_potential = { - NOT = { has_trait = craven } - is_imprisoned = no - can_start_single_combat_trigger = yes - ai_greed >= low_negative_ai_value - has_outstanding_artifact_claims = yes - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = scripted_relations - } - - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = nearby_domicile_owners - max = 10 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_frequency = 60 - - ai_will_do = { - base = -50 - - # Factor for personality (excluding realism). - modifier = { - add = ai_boldness - } - modifier = { - ai_vengefulness > 0 - add = ai_vengefulness - } - modifier = { - add = { - value = ai_compassion - multiply = -0.25 - } - } - # Don't challenge your spouse, unless they're your nemesis. - modifier = { - scope:recipient = { - is_spouse_of = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge people hopelessly out of your league unless you're really, really not seeing things clearly. - modifier = { - scope:actor = { - prowess_diff = { - target = scope:recipient - value <= -15 - } - ai_rationality >= high_negative_ai_value - } - add = -1000 - } - # Don't challenge your liege - it's really bad form - unless you are REALLY motivated - modifier = { - scope:actor = { - is_vassal_of = scope:recipient - } - add = -100 - } - # Challenge them if they are your rival - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = 30 - } - # Totally challenge them if they are your nemesis! - modifier = { - scope:actor = { - has_relation_nemesis = scope:recipient - } - add = 50 - } - # Recipient is flaunting their artifacts and needs to be taken down a peg - from hold_court.3080 - modifier = { - scope:recipient = { - OR = { - has_character_modifier = petition_event_artifact_exhibition_for_prestige - has_character_modifier = petition_event_artifact_exhibition_for_gold - } - } - add = 35 - } - modifier = { # An Intimidated character is very unlikely to raise their hand - add = -25 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 1 - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - - modifier = { # A Cowed character will never take this interaction - factor = 0 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 2 - } - } - } - modifier = { - scope:actor = { - opinion = { - target = scope:recipient - value >= medium_positive_opinion - } - ai_greed <= high_positive_ai_value - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - } - } - factor = 0 - } - modifier = { - scope:actor = { - has_royal_court = no - } - scope:target = { - OR = { - artifact_slot_type = throne - artifact_slot_type = wall_big - artifact_slot_type = wall_small - artifact_slot_type = sculpture - artifact_slot_type = book - artifact_slot_type = pedestal - } - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - AND = { - scope:target = { - artifact_slot_type = primary_armament - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = regalia - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = helmet - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = armor - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = miscellaneous - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = miscellaneous - } - } - AND = { - scope:target = { - artifact_slot_type = throne - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = wall_big - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_big - } - } - AND = { - scope:target = { - artifact_slot_type = wall_small - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_small - } - } - AND = { - scope:target = { - artifact_slot_type = sculpture - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = sculpture - } - } - AND = { - scope:target = { - artifact_slot_type = book - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = book - } - } - AND = { - scope:target = { - artifact_slot_type = pedestal - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = pedestal - } - } - } - } - factor = 0 - } - } -} - -#Steal an artifact that you have a claim on -start_stealing_back_artifact = { - icon = icon_scheme_steal_back_artifact - interface_priority = 70 - category = interaction_category_hostile - common_interaction = yes - - send_name = START_SCHEME - - scheme = steal_back_artifact - ignores_pending_interaction_block = yes - - target_type = artifact - target_filter = recipient_artifacts - - is_shown = { - NOR = { - scope:recipient = scope:actor - scope:recipient = { is_imprisoned_by = scope:actor } - } - OR = { - scope:recipient = { - # needs to have an artifact we can claim - any_character_artifact = { - can_be_claimed_by = scope:actor - } - } - scope:actor = { - OR = { - employs_court_position = master_thief_camp_officer - any_character_active_contract = { - has_task_contract_type = laamp_steal_artifact_contract - var:task_contract_target ?= scope:recipient - } - } - } - } - } - - is_highlighted = { - always = yes - } - - is_valid_showing_failures_only = { - trigger_if = { - limit = { - scope:actor = { - any_character_artifact = { - scope:actor = { has_artifact_claim = prev } - } - } - } - - custom_description = { - text = steal_back_artifact_can_start_scheme - subject = scope:actor - object = scope:recipient - scope:actor = { - can_start_scheme = { - type = steal_back_artifact - target_character = scope:recipient - } - } - } - } - trigger_if = { - limit = { - scope:actor = { - NOR = { - employs_court_position = master_thief_camp_officer - any_character_task_contract = { - has_task_contract_type = laamp_steal_artifact_contract - var:task_contract_target ?= scope:recipient - } - } - } - } - custom_description = { - text = steal_back_artifact_must_have_claim_blocker - subject = scope:actor - object = scope:recipient - - scope:recipient = { - any_character_artifact = { - scope:actor = { - has_artifact_claim = prev - } - } - } - } - } - custom_description = { - object = scope:recipient - text = you_have_been_caught_trying_to_steal_artifact_from_target - scope:recipient = { - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = attempted_to_steal_artifact_from_me - } - } - } - } - - custom_description = { - object = scope:recipient - text = you_have_recently_stolen_artifact_from_target - scope:recipient = { - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = stole_artifact_from_me - } - } - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = steal_back_artifact - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_steal_back_artifact_approved - } - } - can_be_picked_artifact = { - trigger_if = { - limit = { - scope:actor = { - NOR = { - employs_court_position = master_thief_camp_officer - any_character_active_contract = { - has_task_contract_type = laamp_steal_artifact_contract - var:task_contract_object ?= scope:target - } - } - } - } - scope:actor = { - has_artifact_claim = scope:target - } - } - } - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_stealing_back_artifact.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_stealing_back_artifact.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_stealing_back_artifact.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_stealing_back_artifact.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - vengeful = medium_stress_impact_loss - honest = minor_stress_impact_gain - just = minor_stress_impact_loss - } - } - hidden_effect = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_stealing_back_artifact_notification - - left_icon = scope:actor - right_icon = scope:recipient - - if = { - limit = { - any_character_active_contract = { - has_task_contract_type = laamp_steal_artifact_contract - var:task_contract_target ?= scope:recipient - } - } - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_steal_artifact_contract - var:task_contract_target ?= scope:recipient - } - save_scope_as = scheme_contract - } - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - TASK_CONTRACT = scope:scheme_contract - # Success. - AGENT_1 = agent_thief - AGENT_2 = agent_thief - AGENT_3 = agent_thug - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - TASK_CONTRACT = scope:scheme_contract - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_infiltrator - AGENT_3 = agent_footpad - # Success. - AGENT_4 = agent_thief - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - TASK_CONTRACT = scope:scheme_contract - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_alibi - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_thief - # Speed. - AGENT_5 = agent_infiltrator - } - } - # Balanced. - else = { - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - TASK_CONTRACT = scope:scheme_contract - # Success. - AGENT_1 = agent_thief - AGENT_2 = agent_thief - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - } - else = { - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thief - AGENT_2 = agent_thief - AGENT_3 = agent_thug - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_infiltrator - AGENT_3 = agent_footpad - # Success. - AGENT_4 = agent_thief - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_alibi - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_thief - # Speed. - AGENT_5 = agent_infiltrator - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = steal_back_artifact - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thief - AGENT_2 = agent_thief - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - } - scope:new_scheme ?= { - set_variable = { - name = target_artifact - value = scope:target - } - } - show_as_tooltip = { - stress_impact = { - vengeful = medium_stress_impact_loss - honest = minor_stress_impact_gain - just = minor_stress_impact_loss - } - } - } - } - } - } - - # AI - ai_potential = { - is_imprisoned = no - ai_greed >= low_negative_ai_value - intrigue >= low_skill_rating - has_outstanding_artifact_claims = yes - NOT = { - any_scheme = { - OR = { - scheme_type = murder - scheme_type = abduct - scheme_type = claim_throne - scheme_type = fabricate_hook - scheme_type = steal_back_artifact - } - } - } - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = scripted_relations - } - - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = nearby_domicile_owners - max = 10 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_frequency = 60 - - ai_will_do = { - base = -30 - # Factor for personality (excluding realism). - modifier = { - add = { - value = ai_boldness - multiply = -1 - } - } - modifier = { - ai_vengefulness > 0 - add = ai_vengefulness - } - modifier = { - add = { - value = ai_compassion - multiply = -0.25 - } - } - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = 60 - } - modifier = { - scope:actor = { - has_relation_nemesis = scope:recipient - } - add = 150 - } - # Recipient is flaunting their artifacts and needs to be taken down a peg - from hold_court.3080 - modifier = { - scope:recipient = { - OR = { - has_character_modifier = petition_event_artifact_exhibition_for_prestige - has_character_modifier = petition_event_artifact_exhibition_for_gold - } - } - add = 35 - } - modifier = { - scope:actor = { - opinion = { - target = scope:recipient - value >= medium_positive_opinion - } - ai_greed <= high_positive_ai_value - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - } - } - factor = 0 - } - modifier = { - scope:actor = { - has_royal_court = no - } - scope:target = { - OR = { - artifact_slot_type = throne - artifact_slot_type = wall_big - artifact_slot_type = wall_small - artifact_slot_type = sculpture - artifact_slot_type = book - artifact_slot_type = pedestal - } - } - factor = 0 - } - modifier = { - scope:recipient = { - OR = { - AND = { - scope:target = { - artifact_slot_type = primary_armament - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = primary_armament - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = regalia - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = regalia - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = helmet - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = helmet - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = armor - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = armor - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = miscellaneous - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = miscellaneous - } - } - AND = { - scope:target = { - artifact_slot_type = throne - } - OR = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = illustrious - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = famed - } - scope:target = { - OR = { - rarity = famed - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = masterwork - } - scope:target = { - OR = { - rarity = masterwork - rarity = common - } - } - } - AND = { - any_equipped_character_artifact = { - artifact_slot_type = throne - rarity = common - } - scope:target = { - rarity = common - } - } - } - } - AND = { - scope:target = { - artifact_slot_type = wall_big - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_big - } - } - AND = { - scope:target = { - artifact_slot_type = wall_small - rarity = common - } - any_equipped_character_artifact = { - count >= 3 - artifact_slot_type = wall_small - } - } - AND = { - scope:target = { - artifact_slot_type = sculpture - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = sculpture - } - } - AND = { - scope:target = { - artifact_slot_type = book - rarity = common - } - any_equipped_character_artifact = { - count >= 2 - artifact_slot_type = book - } - } - AND = { - scope:target = { - artifact_slot_type = pedestal - rarity = common - } - any_equipped_character_artifact = { - count >= 4 - artifact_slot_type = pedestal - } - } - } - } - factor = 0 - } - start_hostile_scheme_ai_base_modifiers = yes # At the end so Cowed can block it completely - } - - auto_accept = yes -} - -buy_artifact_claim = { - category = interaction_category_diplomacy - common_interaction = yes - ignores_pending_interaction_block = yes - icon = artisan_inspiration - - target_type = artifact - target_filter = recipient_artifacts - - is_shown = { - # interaction locked behind Accomplished Forger perk from the Diplomacy lifestyle - scope:actor = { - has_perk = accomplished_forger_perk - is_landless_adventurer = no - } - NOR = { - # Can't buy from yourself - scope:recipient = scope:actor - # Can't buy from one of your prisoners - scope:recipient = { is_imprisoned_by = scope:actor } - } - scope:recipient = { - in_diplomatic_range = scope:actor - any_character_artifact = { - exists = this - scope:actor = { - NOT = { has_personal_artifact_claim = prev } - } - NOR = { - # maybe? nah. we can't. - has_variable = pope_hat - # This is the only way I have found to exclude dynastic banners - artifact_type = wall_big - } - } - } - } - - can_be_picked = { - scope:target = { - NOR = { - # can't already have a claim on the artifact - scope:actor = { has_personal_artifact_claim = prev } - # no pope hats or dynastic banners - has_variable = pope_hat - artifact_type = wall_big - } - } - } - - is_valid_showing_failures_only = { - # Can't buy an artifact claim against yourself or one of your prisoners - NOR = { - scope:recipient = scope:actor - scope:recipient = { is_imprisoned_by = scope:actor } - } - scope:recipient = { - # needs to have an artifact - any_character_artifact = { - exists = this - # actor can't already have a claim on said artifact - scope:actor = { - NOT = { has_personal_artifact_claim = prev } - } - } - is_busy_in_events_localised = yes - } - - # Claim costs are calculated with scripted values located 00_lifestyle_values. The piety interaction costs copy those used for the regular Buy Claim interaciton and the prestige costs are calculated according to the same method. - - # Checks to determine piety cost for Religious Artifacts - trigger_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = common } - } - scope:actor = { piety >= minor_buy_claim_piety_value } - } - trigger_else_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = masterwork } - } - scope:actor = { piety >= medium_buy_claim_piety_value } - } - trigger_else_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = famed } - } - scope:actor = { piety >= major_buy_claim_piety_value } - } - trigger_else = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = illustrious } - } - scope:actor = { piety >= massive_buy_claim_piety_value } - } - - # Checks to determine prestige cost for regular artifacts - trigger_if = { - limit = { - exists = scope:target - NOT = { exists = scope:target.var:relic } - scope:target = { rarity = common } - } - scope:actor = { prestige >= minor_buy_claim_prestige_value } - } - trigger_else_if = { - limit = { - exists = scope:target - NOT = { exists = scope:target.var:relic } - scope:target = { rarity = masterwork } - } - scope:actor = { prestige >= medium_buy_claim_prestige_value } - } - trigger_else_if = { - limit = { - exists = scope:target - NOT = { exists = scope:target.var:relic } - scope:target = { rarity = famed } - } - scope:actor = { prestige >= major_buy_claim_prestige_value } - } - trigger_else = { - limit = { - exists = scope:target - NOT = { exists = scope:target.var:relic } - scope:target = { rarity = illustrious } - } - scope:actor = { prestige >= massive_buy_claim_prestige_value } - } - } - - desc = buy_artifact_claim_desc - - auto_accept = yes - - on_accept = { - # If it's a religous artifact... - if = { - limit = { - exists = scope:target.var:relic - } - # Toast to the actor - scope:actor = { - send_interface_toast = { - type = event_artifact_good - title = bought_artifact_claim.t - left_icon = scope:recipient - right_icon = scope:target - # Determine piety cost - if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = common } - } - scope:actor = { add_piety = minor_buy_claim_piety_loss } - } - else_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = masterwork } - } - scope:actor = { add_piety = medium_buy_claim_piety_loss } - } - else_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = famed } - } - scope:actor = { add_piety = major_buy_claim_piety_loss } - } - else_if = { - limit = { - exists = scope:target.var:relic - scope:target = { rarity = illustrious } - } - scope:actor = { add_piety = massive_buy_claim_piety_loss } - } - add_personal_artifact_claim = scope:target - } - } - # Toast to the recipient - scope:recipient = { - send_interface_message = { - type = event_artifact_bad_text - title = sold_artifact_claim.t - desc = sold_artifact_claim.desc - left_icon = scope:actor - right_icon = scope:target - } - } - } - # If it's not a religous artifact... - else = { - scope:actor = { - send_interface_toast = { - type = event_artifact_bad - title = bought_artifact_claim.t - left_icon = scope:recipient - right_icon = scope:target - # Determine prestige cost - if = { - limit = { - exists = scope:target - scope:target = { rarity = common } - } - scope:actor = { add_prestige = minor_buy_claim_prestige_loss } - } - else_if = { - limit = { - exists = scope:target - scope:target = { rarity = masterwork } - } - scope:actor = { add_prestige = medium_buy_claim_prestige_loss } - } - else_if = { - limit = { - exists = scope:target - scope:target = { rarity = famed } - } - scope:actor = { add_prestige = major_buy_claim_prestige_loss } - } - else_if = { - limit = { - exists = scope:target - scope:target = { rarity = illustrious } - } - scope:actor = { add_prestige = massive_buy_claim_prestige_loss} - } - add_personal_artifact_claim = scope:target - } - } - - scope:recipient = { - send_interface_message = { - type = event_artifact_bad_text - title = sold_artifact_claim.t - desc = sold_artifact_claim.desc - left_icon = scope:actor - right_icon = scope:target - } - } - } - scope:actor = { - stress_impact = { - just = medium_stress_impact_gain - honest = medium_stress_impact_gain - } - } - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = claimed_my_artifact_opinion - opinion = -40 - } - # Recipient grows closer to forming a rivalry with the actor - if = { - limit = { - can_set_relation_potential_rival_trigger = { - CHARACTER = scope:actor - } - } - set_relation_potential_rival = scope:actor - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_bought_artifact_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI STUFF - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - # Only want AI to target neighbors - ai_recipients = neighboring_rulers - } - - ai_frequency = 30 - - ai_potential = { - # The basic requirements - is_imprisoned = no - is_playable_character = yes - is_available_ai_adult = yes - - # They must be well supplied - prestige > major_prestige_value - piety > major_piety_value - - # Only really greedy AI characters get to use this - ai_greed >= high_positive_ai_value - } - - ai_will_do = { - base = 30 - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - # Make it more likely for AI characters to buy claims if they have a royal court - modifier = { - scope:actor = { - has_royal_court = yes - has_dlc_feature = court_artifacts - } - factor = 2 - } - - # Prevent AI from buying artifact claims for court artifacts if they don't have a royal court - modifier = { - scope:actor = { - has_royal_court = no - } - scope:target = { - OR = { - artifact_slot_type = throne - artifact_slot_type = wall_big - artifact_slot_type = wall_small - artifact_slot_type = sculpture - artifact_slot_type = book - artifact_slot_type = pedestal - } - } - factor = 0 - } - - # AI won't buy claims on artifacts owned by their lovers or friends - modifier = { - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor -# is_close_or_extended_family_of = scope:actor - } - } - factor = 0 - } - } -} - -# Demand an artifact you have a claim on -demand_dynasty_banner_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - common_interaction = yes - interface_priority = 60 - use_diplomatic_range = yes - desc = demand_dynasty_banner_interaction_desc - - target_type = artifact - target_filter = recipient_artifacts - - greeting = negative - notification_text = DEMAND_ARTIFACT_PROPOSAL - - answer_accept_key = DEMAND_ARTIFACT_ACCEPT - answer_reject_key = DEMAND_ARTIFACT_REJECT - - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = nearby_domicile_owners - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 60 - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - NOT = { #Landless have no court in which to display such a banner, and no real authority over a landed relative - scope:actor = { government_has_flag = government_is_landless_adventurer } - } - exists = scope:actor.dynasty - exists = scope:recipient.dynasty - scope:recipient.dynasty = scope:actor.dynasty - scope:recipient = { - # needs to have a banner of our dynasty - any_character_artifact = { - AND = { - exists = var:banner_dynasty - var:banner_dynasty = scope:recipient.dynasty - var:banner_dynasty.dynast = scope:actor - } - } - } - } - - is_highlighted = { - always = yes - } - - is_valid_showing_failures_only = { - - scope:recipient = { is_busy_in_events_localised = yes } - - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - is_imprisoned = no - } - trigger_if = { - limit = { exists = scope:target } - custom_description = { - text = "demand_dynasty_banner_artifact_tt" - exists = scope:target.var:banner_dynasty - scope:target.var:banner_dynasty = scope:recipient.dynasty - scope:actor = scope:target.var:banner_dynasty.dynast - } - } - } - - on_accept = { - scope:target = { - save_scope_as = demanded_artifact - } - if = { - limit = { - exists = scope:demanded_artifact - } - scope:actor = { - set_variable = { - name = demanded_this_artifact_interaction_recently - value = scope:demanded_artifact - years = 5 - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = demand_artifact_interaction_notification - left_icon = scope:recipient - right_icon = scope:target - scope:target = { - set_owner = scope:actor - } - } - } - if = { - limit = { - scope:actor = { - is_ai = yes - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = pleased_opinion - opinion = 30 - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_received_banner.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:target = { - save_scope_as = demanded_artifact - } - if = { - limit = { - exists = scope:demanded_artifact - } - scope:actor = { - set_variable = { - name = demanded_this_artifact_interaction_recently - value = scope:demanded_artifact - years = 5 - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = demand_artifact_interaction_notification - left_icon = scope:recipient - right_icon = scope:target - custom_tooltip = demand_artifact_interaction_notification_refused - - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -10 - } - } - } - } - if = { - limit = { - scope:actor = { - is_ai = yes - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = refusal_opinion - opinion = -10 - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_refused_banner.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_accept = { - base = 100 - modifier = { - add = 70 - scope:actor.max_military_strength > scope:recipient.max_military_strength - desc = ARTIFACT_MILITARY_STRONGER_REASON - } - modifier = { - add = -70 - scope:actor.max_military_strength < scope:recipient.max_military_strength - desc = ARTIFACT_MILITARY_WEAKER_REASON - } - modifier = { - add = { - value = ai_boldness - multiply = -1 - divide = 2 - } - NOT = { ai_boldness = 0 } - desc = ARTIFACT_BOLDNESS_REASON - } - modifier = { - add = -50 - scope:actor = { - has_relation_rival = scope:recipient - } - desc = ARTIFACT_RIVAL_REASON - } - modifier = { - add = -80 - scope:actor = { - has_relation_nemesis = scope:recipient - } - desc = ARTIFACT_NEMESIS_REASON - } - modifier = { - add = 50 - scope:recipient = { - target_is_liege_or_above = scope:actor - } - desc = ARTIFACT_LIEGE_REASON - } - modifier = { - scope:hook = yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - ai_potential = { - is_adult = yes - is_at_war = no - ai_greed >= low_negative_ai_value - has_outstanding_artifact_claims = yes - } - - - - ai_min_reply_days = 7 - ai_max_reply_days = 14 - - ai_will_do = { - base = 100 - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { - add = 50 - has_relation_rival = scope:recipient - } - modifier = { - add = 80 - has_relation_nemesis = scope:recipient - } - modifier = { - add = 50 - target_is_liege_or_above = scope:recipient - } - modifier = { # An Intimidated character is very unlikely to raise their hand - add = -25 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 1 - } - } - } - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - modifier = { # A Cowed character will never take this interaction - factor = 0 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 2 - } - } - } - modifier = { - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - } - } - factor = 0 - } - } -} - -# Destroy Artifact -destroy_artifact_interaction = { - interface_priority = 30 - common_interaction = yes - icon = artifact - category = interaction_category_friendly - desc = destroy_artifact_interaction_desc - icon = artifact - - target_type = artifact - target_filter = actor_artifacts - - ai_targets = { - ai_recipients = self - } - - # You can only destroy your own artifacts - is_shown = { - scope:recipient = scope:actor - scope:actor = { - has_any_artifact = yes - } - } - - can_be_picked_artifact = { - custom_tooltip = { - text = artifact_is_related_to_contract_tt - NOT = { - scope:target = { has_variable = 1025_treasure_map } - } - } - } - - has_valid_target_showing_failures_only = { - trigger_if = { - limit = { - NOT = { - scope:recipient.faith = { has_doctrine_parameter = destroying_artifacts_is_pious } - } - } - custom_tooltip = { - text = artifact_is_rarer_than_masterwork_tt - OR = { - scope:target = { rarity = common } - scope:target = { rarity = masterwork } - } - } - } - trigger_if = { - limit = { - NOR = { - scope:target = { rarity = common } - scope:target = { rarity = masterwork } - } - } - custom_tooltip = { - text = destroying_artifacts_is_not_pious_tt - scope:recipient.faith = { has_doctrine_parameter = destroying_artifacts_is_pious } - } - } - scope:actor = { - trigger_if = { - limit = { is_landless_adventurer = yes } - employs_court_position = armorer_camp_officer - } - } - } - - on_accept = { - destroy_artifact_aniconist_effect = { - ARTIFACT = scope:target - DESTROYER = scope:actor - GIVE_GOLD = yes - PIETY_BY_DEFAULT = no - } - } - - ai_frequency = 24 - - ai_potential = { - OR = { - faith = { # Aniconists will always want to destroy artifacts - has_doctrine_parameter = destroying_artifacts_is_pious - } - gold <= minor_gold_value # Poor rulers will consider getting rid of their trash for gold - AND = { # Economic boom personalities will bolster their treasury by getting rid of trash more often - gold <= medium_gold_value - ai_has_economical_boom_personality = yes - } - any_character_artifact = { # All rulers want to get rid of actively detrimental trash - has_variable = unwanted_artifact - } - } - } - - ai_will_do = { - base = 0 - modifier = { # Rulers will always destroy unwanted artifacts - add = 100 - scope:target = { - has_variable = unwanted_artifact - } - } - modifier = { # Rulers will consider destroying trash artifacts if they're poor - add = 100 - scope:target = { - has_variable = ai_to_ai_destroy_in_sieges - } - } - modifier = { # AI rulers will destroy common unequipped artifacts if money is low - add = 100 - OR = { - gold <= minor_gold_value # Poor rulers will consider getting rid of their trash for gold - AND = { # Economic boom personalities will bolster their treasury by getting rid of trash more often - gold <= medium_gold_value - ai_has_economical_boom_personality = yes - } - } - scope:target = { - rarity = common - is_equipped = no - } - } - modifier = { # AI rulers will destroy all unequipped artifacts to get out of debt - add = 100 - gold <= 0 - scope:target = { - is_equipped = no - } - } - modifier = { # Common artifact trinkets on their last legs can be considered for destruction if money is low - add = 100 - OR = { - gold <= minor_gold_value # Poor rulers will consider getting rid of their trash for gold - AND = { # Economic boom personalities will bolster their treasury by getting rid of trash more often - gold <= medium_gold_value - ai_has_economical_boom_personality = yes - } - } - scope:target = { - rarity = common - artifact_slot_type = miscellaneous - artifact_durability <= define:NInventory|ARTIFACT_LOW_DURABILITY - } - } - modifier = { # Aniconists destroy most things - add = 100 - faith = { - has_doctrine_parameter = destroying_artifacts_is_pious - } - OR = { # This errors in the ai_potential so it's been moved here - has_trait = zealous - scope:target = { is_equipped = no } - scope:target = { exists = var:relic } - } - # The logic below relies on the idea that they have the destroying_artifacts_is_pious doctrine parameter. If the restrictions are loosened, these triggers should be updated - NOR = { - has_trait = cynical - AND = { - has_trait = greedy - NOT = { has_trait = zealous } - } - } - OR = { - has_trait = zealous # Destroy all the artifacts - any_character_artifact = { - is_equipped = no - } - any_character_artifact = { - exists = var:relic - } - } - } - } -} diff --git a/N3OW/common/character_interactions/00_blackmail_interactions.txt b/N3OW/common/character_interactions/00_blackmail_interactions.txt deleted file mode 100644 index 18c3f75e..00000000 --- a/N3OW/common/character_interactions/00_blackmail_interactions.txt +++ /dev/null @@ -1,518 +0,0 @@ -blackmail_interaction = { - category = interaction_category_hostile - common_interaction = yes - interface = blackmail - popup_on_receive = yes - icon = secret - - ai_maybe = yes - - desc = blackmail_interaction_desc - - on_decline_summary = blackmail_decline_summary - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - age > 10 - } - scope:recipient = { - any_secret = { - is_known_by = scope:actor - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_busy_in_events_localised = yes - } - #Not at war with them - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - #Already have a strong hook - custom_description = { - text = "already_strong_hook" - subject = scope:actor - object = scope:recipient - NOT = { - scope:actor = { has_strong_hook = scope:recipient } - } - } - #No appropriate secret - custom_description = { - scope:recipient = { - any_secret = { - is_blackmailable_secret_trigger = { - BLACKMAILER = scope:actor - PARTICIPANT = scope:recipient - } - } - } - text = "no_blackmailable_secret" - } - } - - is_highlighted = { - scope:recipient = { - any_secret = { - is_known_by = scope:actor - is_blackmailable_secret_trigger = { BLACKMAILER = scope:actor PARTICIPANT = scope:recipient } - } - } - scope:actor = { - NOR = { - has_hook_of_type = { - target = scope:recipient - type = weak_blackmail_hook - } - has_hook_of_type = { - target = scope:recipient - type = strong_blackmail_hook - } - } - } - } - - has_valid_target_showing_failures_only = { - exists = scope:target - scope:target = { - is_known_by = scope:actor - is_blackmailable_secret_trigger = { BLACKMAILER = scope:actor PARTICIPANT = scope:recipient } - } - } - - - can_send = { - custom_description = { # Exploit prevention - text = "has_sent_interaction_already" - subject = scope:recipient - scope:actor = { - NOT = { exists = var:currently_blackmailing } - } - } - } - - on_send = { - hidden_effect = { - # Block sending another interaction while rejection event is active - scope:actor = { - set_variable = { - name = currently_blackmailing - value = scope:recipient - days = 30 - } - } - scope:target = { - if = { - limit = { - exists = secret_target - } - secret_target = { - save_scope_as = secret_target - } - } - if = { - limit = { - secret_type = secret_disputed_heritage - } - secret_target.father = { - save_scope_as = father - } - secret_target.real_father = { - save_scope_as = real_father - } - } - if = { - limit = { - scope:target = { - secret_type = secret_disputed_heritage - } - } - secret_target.father = { - save_scope_as = father - } - secret_target.real_father = { - save_scope_as = real_father - } - } - } - } - } - - on_accept = { - scope:actor = { - remove_variable = currently_blackmailing - play_music_cue = mx_cue_murder - } - blackmail_interaction_effect = yes #Adds strong or weak hook + opinion penalty - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_blackmail.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - #Return event about exposing the secret - #AI will always expose - if = { - limit = { - scope:actor = { is_ai = no } - } - scope:recipient = { - custom_tooltip = BLACKMAIL_INTERACTION_HUMAN_TT - } - } - show_as_tooltip = { - if = { - limit = { exists = scope:secret } - scope:secret = { - expose_secret = scope:actor - } - } - if = { - limit = { exists = scope:target } - scope:target = { - expose_secret = scope:actor - } - } - } - scope:actor = { trigger_event = blackmail.0001 } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_blackmail.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_blocked_effect = { - scope:actor = { remove_variable = currently_blackmailing } - } - - ai_accept = { - base = 0 - modifier = { - add = 80 - desc = BLACKMAIL_INTERACTION_BASE_ACCEPTANCE - } - modifier = { - add = -20 - scope:recipient = { - has_trait = brave - } - desc = BLACKMAIL_INTERACTION_BRAVE_ACCEPTANCE - } - modifier = { - add = -20 - scope:recipient = { - has_trait = arrogant - } - desc = BLACKMAIL_INTERACTION_ARROGANT_ACCEPTANCE - } - modifier = { - add = 10 - scope:recipient = { - has_trait = craven - } - desc = BLACKMAIL_INTERACTION_CRAVEN_ACCEPTANCE - } - modifier = { - add = 50 - scope:recipient = { - has_trait = paranoid - } - desc = BLACKMAIL_INTERACTION_PARANOID_ACCEPTANCE - } - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 25 - } - - opinion_modifier = { - trigger = { - scope:recipient = { - opinion = { - target = scope:actor - value < 0 - } - } - } - opinion_target = scope:recipient - who = scope:actor - multiplier = 0.3 - desc = BLACKMAIL_INTERACTION_OPINION_ACCEPTANCE - } - modifier = { - add = -20 - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = trust_opinion - value < 0 - } - } - desc = BLACKMAIL_INTERACTION_DISTRUST_ACCEPTANCE - } - modifier = { - add = 30 - any_secret = { - is_known_by = scope:actor - is_criminal_for = scope:recipient - } - desc = BLACKMAIL_MAJOR_SECRET_ACCEPTANCE - } - - - modifier = { - add = intimidated_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - notification_text = { - triggered_desc = { - trigger = { - scope:actor = { - opinion = { - target = scope:recipient - value > 0 - } - } - } - desc = BLACKMAIL_NOTIFICATION_OPENING - } - first_valid = { - triggered_desc = { - trigger = { scope:target = { secret_type = secret_deviant } } - desc = BLACKMAIL_NOTIFICATION_SECRET_DEVIANT - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_homosexual } } - desc = BLACKMAIL_NOTIFICATION_SECRET_HOMOSEXUAL - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_murder } } - desc = BLACKMAIL_NOTIFICATION_SECRET_MURDER - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_murder_attempt } } - desc = BLACKMAIL_NOTIFICATION_SECRET_MURDER_ATTEMPT - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_cannibal } } - desc = BLACKMAIL_NOTIFICATION_SECRET_CANNIBAL - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_lover } } - desc = BLACKMAIL_NOTIFICATION_SECRET_LOVER - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_non_believer } } - desc = BLACKMAIL_NOTIFICATION_SECRET_NON_BELIEVER - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_incest } } - desc = BLACKMAIL_NOTIFICATION_SECRET_INCEST - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_witch } } - desc = BLACKMAIL_NOTIFICATION_SECRET_WITCH - } - triggered_desc = { - trigger = { scope:target = { secret_type = secret_crypto_religionist } } - desc = BLACKMAIL_NOTIFICATION_SECRET_CRYPTO_RELIGIONIST - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_disputed_heritage - secret_target.real_father = scope:actor - secret_target.mother = scope:recipient - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_ILLEGITIMATE_CHILD_ACTOR - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_disputed_heritage - secret_target.mother = scope:recipient - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_ILLEGITIMATE_CHILD_OTHER - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_disputed_heritage - secret_target.real_father = scope:actor - secret_target = { - OR = { - this = scope:recipient - is_twin_of = scope:recipient - } - } - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_ILLEGITIMATE_CHILD_TARGET_ACTOR - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_disputed_heritage - secret_target = { - OR = { - this = scope:recipient - is_twin_of = scope:recipient - } - } - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_ILLEGITIMATE_CHILD_TARGET_OTHER - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_unmarried_illegitimate_child - secret_target.real_father = scope:actor - secret_target.mother = scope:recipient - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_UNMARRIED_ILLEGITIMATE_CHILD_ACTOR - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_unmarried_illegitimate_child - secret_target.mother = scope:recipient - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_UNMARRIED_ILLEGITIMATE_CHILD_OTHER - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_unmarried_illegitimate_child - secret_target.real_father = scope:actor - secret_target = { - OR = { - this = scope:recipient - is_twin_of = scope:recipient - } - } - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_UNMARRIED_ILLEGITIMATE_CHILD_TARGET_ACTOR - } - triggered_desc = { - trigger = { - scope:target = { - secret_type = secret_unmarried_illegitimate_child - secret_target = { - OR = { - this = scope:recipient - is_twin_of = scope:recipient - } - } - } - } - desc = BLACKMAIL_NOTIFICATION_SECRET_UNMARRIED_ILLEGITIMATE_CHILD_TARGET_OTHER - } - - desc = BLACKMAIL_NOTIFICATION_SECRET_FALLBACK - } - desc = BLACKMAIL_NOTIFICATION_THREAT - } - - # AI - - ai_targets = { - ai_recipients = known_secrets - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_frequency = 6 - - ai_will_do = { - base = 100 - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:actor.ai_honor >= 75 - } - - modifier = { - factor = 0.1 - scope:actor.ai_honor >= 30 - } - - modifier = { - factor = 0 - scope:actor.ai_honor >= -30 - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - has_relation_soulmate = scope:actor - } - } - } - } - - ai_set_target = { - scope:recipient = { - random_secret = { - limit = { - is_known_by = scope:actor - is_blackmailable_secret_trigger = { BLACKMAILER = scope:actor PARTICIPANT = scope:recipient } - } - save_scope_as = target - } - } - } -} - diff --git a/N3OW/common/character_interactions/00_ce1_interactions.txt b/N3OW/common/character_interactions/00_ce1_interactions.txt deleted file mode 100644 index c6f2d488..00000000 --- a/N3OW/common/character_interactions/00_ce1_interactions.txt +++ /dev/null @@ -1,350 +0,0 @@ -# Ask to Promote your Legend -ce1_ask_to_promote_legend_interaction = { - icon = icon_contract_modification_single - category = interaction_category_diplomacy - popup_on_receive = yes - pause_on_receive = yes - can_send_despite_rejection = yes - ai_maybe = yes - interface_priority = 5 - desc = ce1_ask_to_promote_legend_interaction_desc - - greeting = positive - notification_text = PROMOTE_LEGEND_NOTIFICATION - - is_shown = { - scope:actor.promoted_legend.legend_owner ?= scope:actor - NOT = { scope:actor = scope:recipient } - scope:recipient = { - is_landed = yes - age >= 12 - is_physically_able = yes - NOT = { government_has_flag = government_is_herder } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_tooltip = { - text = recipient_already_promoting_legend_tt - NOT = { exists = promoted_legend } - } - } - custom_tooltip = { - text = recipient_close_or_neighbor_tt - OR = { - scope:recipient.dynasty = scope:actor.dynasty - scope:recipient = { knows_language_of_culture = scope:actor.culture } - scope:actor = { - has_friendly_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - scope:recipient = { - any_character_to_title_neighboring_county = { - any_county_province = { - any_province_legend = { - this = scope:actor.promoted_legend - } - } - } - } - } - } - } - - cooldown_against_recipient = { years = 5 } - - ai_min_reply_days = 2 - ai_max_reply_days = 7 - - ai_accept = { - base = -10 - ## Tier - modifier = { - add = -5 - scope:recipient.primary_title = { - tier = 2 - } - desc = TIER_REASON_COUNT - } - modifier = { - add = -10 - scope:recipient.primary_title = { - tier = 3 - } - desc = TIER_REASON_DUKE - } - modifier = { - add = -20 - scope:recipient.primary_title = { - tier = 4 - } - desc = TIER_REASON_KING - } - modifier = { - add = -30 - scope:recipient.primary_title = { - tier = 5 - } - desc = TIER_REASON_EMPEROR - } - ## Legend - # How cool is the legend? - modifier = { - add = 10 - desc = REASON_ILLUSTRIOUS_LEGEND - scope:actor = { - promoted_legend = { - legend_quality = illustrious - } - } - } - modifier = { - add = 20 - desc = REASON_MYTHICAL_LEGEND - scope:actor = { - promoted_legend = { - legend_quality = mythical - } - } - } - # Are you using a hook? - modifier = { - trigger = { - scope:hook ?= yes - } - add = 100 - desc = LEGEND_HOOK_USED - } - # Are you using Gold? - modifier = { - trigger = { - scope:gold_cost ?= yes - } - add = 40 - desc = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE_TT - } - ## Opinion - # Do they like you? - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - ## Personality - # Are they ambitious? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_AMBITIOUS #re-using these - add = -15 - scope:recipient = { - has_trait = ambitious - } - } - # Are they content? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_CONTENT - add = 5 - scope:recipient = { has_trait = content } - } - # Are they stubborn? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_STUBBORN - add = -10 - scope:recipient = { has_trait = stubborn } - } - # Are they arrogant? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_ARROGANT - add = -10 - scope:recipient = { has_trait = arrogant } - } - # Are they humble? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_HUMBLE - add = 10 - scope:recipient = { has_trait = humble } - } - # Are they trusting? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_TRUSTING - add = 15 - scope:recipient = { has_trait = trusting } - } - # Are they paranoid? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_PARANOID - add = -10 - scope:recipient = { has_trait = paranoid } - } - ## Dread - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - ## War - modifier = { - add = -50 - scope:recipient = { - is_at_war = yes - } - desc = HOSTAGE_AT_WAR_REASON - } - ## Low Gold - modifier = { - add = -100 - scope:actor.promoted_legend = { - legend_quality = famed - } - scope:recipient = { - monthly_character_income < famed_legend_promoter_cost - } - desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON - } - modifier = { - add = -100 - scope:actor.promoted_legend = { - legend_quality = illustrious - } - scope:recipient = { - monthly_character_income < illustrious_legend_promoter_cost - } - desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON - } - modifier = { - add = -100 - scope:actor.promoted_legend = { - legend_quality = mythical - } - scope:recipient = { - monthly_character_income < mythical_legend_promoter_cost - } - desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON - } - modifier = { - add = 25 - scope:recipient = { - is_contact_of = scope:actor - } - desc = IS_CONTACT_REASON - } - } - - on_accept = { - scope:actor.promoted_legend = { - save_scope_as = promoted_legend - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = ce1_ask_to_promote_legend_acceptance_tt - left_icon = scope:actor - right_icon = scope:recipient - - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - if = { - limit = { scope:gold_cost = yes } - pay_short_term_gold = { - target = scope:recipient - gold = medium_gold_value - } - promoted_legend = { # To prevent gold exploits - add_to_variable_list = { - name = accepted_promote_legend_var - target = scope:recipient - years = 10 - } - } - } - scope:recipient = { - set_promoted_legend = scope:actor.promoted_legend - } - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = ce1_ask_to_promote_legend_decline_tt - left_icon = scope:actor - right_icon = scope:recipient - } - } - } - - # Use gold to increase acceptance - send_option = { - flag = gold_cost - localization = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE - } - send_option = { - flag = hook - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - localization = GENERIC_SPEND_A_HOOK - } - send_options_exclusive = no - - ai_potential = { - is_physically_able = yes - } - - ai_targets = { - ai_recipients = neighboring_rulers - } - - ai_frequency = 12 - - # Very similar to ai_accept, but ignores effects that are < 10 in value for brevity's sake - ai_will_do = { - base = 0 - ## Legends - modifier = { - add = 25 - exists = promoted_legend - } - modifier = { - add = 25 - promoted_legend = { - legend_quality = mythical - } - } - ## Gold - modifier = { - add = -100 - debt_level >= 0 - } - modifier = { - add = -50 - gold <= major_gold_value - } - ## Personality - modifier = { - add = 25 - has_trait = arrogant - } - } -} diff --git a/N3OW/common/character_interactions/00_choose_favorite_interaction.txt b/N3OW/common/character_interactions/00_choose_favorite_interaction.txt deleted file mode 100644 index cd17f42a..00000000 --- a/N3OW/common/character_interactions/00_choose_favorite_interaction.txt +++ /dev/null @@ -1,169 +0,0 @@ -# Pick a favorite child to pre-select when choosing your destiny -choose_favorite_interaction = { - category = interaction_category_friendly - icon = designate_favorite - interface_priority = 8 - - desc = choose_favorite_interaction_desc - - is_shown = { - scope:actor = { - is_ai = no - NOT = { has_relation_favorite_child = scope:recipient } - } - scope:recipient.dynasty = scope:actor.dynasty - NOT = { scope:actor = scope:recipient } - scope:recipient = { - OR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { is_alive = yes } - scope:recipient = { - custom_tooltip = { - text = cant_be_another_player_tt - is_ai = yes - } - custom_tooltip = { - text = favorite_child_must_be_in_good_health_tt - NOR = { - has_trait = incapable - health <= 2.5 - } - } - custom_tooltip = { - text = cant_be_hostage_tt - is_hostage = no - } - custom_tooltip = { - text = cant_already_be_your_heir - NOT = { - this = scope:actor.player_heir - } - } - custom_tooltip = { - text = no_republic_or_theocracy_tt - NOR = { - government_has_flag = government_is_special_republic - government_has_flag = government_is_theocracy - } - } - trigger_if = { - limit = { - is_ruler = yes - } - custom_tooltip = { - text = not_baron_holy_order_merc_tt - highest_held_title_tier >= tier_county - primary_title = { - is_mercenary_company = no - is_holy_order = no - } - } - } - } - } - - on_auto_accept = { - scope:recipient = { - send_interface_message = { - title = choose_favorite_interaction_notification - left_icon = scope:actor - show_as_tooltip = { - scope:actor = { - set_relation_favorite_child = { reason = favorite_child_chosen target = scope:recipient } - } - } - } - } - } - - on_accept = { - assign_favourite_child_effect = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - - auto_accept = yes -} - -remove_favorite_interaction = { - category = interaction_category_friendly - icon = designate_favorite - interface_priority = 7 - - desc = remove_favorite_interaction_desc - - is_shown = { - scope:actor = { - is_alive = yes - has_relation_favorite_child = scope:recipient - } - } - - on_auto_accept = { - scope:recipient = { - send_interface_message = { - title = remove_favorite_interaction_notification - left_icon = scope:actor - show_as_tooltip = { - scope:actor = { - remove_relation_favorite_child = scope:recipient - } - } - } - } - } - - on_accept = { - scope:actor = { - random_relation = { - type = favorite_child - save_scope_as = current_favorite - } - send_interface_toast = { - title = remove_favorite_interaction_notification - left_icon = scope:actor - right_icon = scope:recipient - if = { - limit = { - exists = scope:current_favorite - } - remove_relation_favorite_child = scope:current_favorite - scope:current_favorite = { - add_opinion = { - target = scope:actor - modifier = no_more_favorite_opinion - } - } - } - custom_tooltip = remove_favorite_interaction_notification.tt - } - hidden_effect = { - every_close_or_extended_family_member = { - limit = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - add_opinion = { - target = scope:actor - modifier = no_more_favorite_opinion - } - add_opinion = { - target = scope:recipient - modifier = no_more_favorite_opinion - } - } - } - } - } - - auto_accept = yes -} diff --git a/N3OW/common/character_interactions/00_court_amenities_interactions.txt b/N3OW/common/character_interactions/00_court_amenities_interactions.txt deleted file mode 100644 index db51e99c..00000000 --- a/N3OW/common/character_interactions/00_court_amenities_interactions.txt +++ /dev/null @@ -1,127 +0,0 @@ -#Accuse of violating sumptuary laws -#by James Beaumont - -sumptuary_law_debate_interaction = { - category = interaction_category_hostile - interface_priority = 15 - desc = sumptuary_law_debate_interaction_desc - icon = weaver_inspiration - common_interaction = no - - is_shown = { - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - amenity_level = { - type = court_fashion - value <= 2 - } - NOR = { - has_court_type = court_tribal - has_court_type = court_nomadic - } - } - NOT = { scope:actor = scope:recipient } - scope:recipient = { - # Character is either not a priest/zealous class of a naked priest faith or doesn't belong to a naked priest faith - OR = { - faith = { NOT = { has_doctrine_parameter = naked_priests_active } } - NOR = { - ai_zeal >= 50 - has_trait = devoted - has_trait = zealous - government_has_flag = government_is_theocracy - has_council_position = councillor_court_chaplain - } - } - # They are in your realm to some capacity - OR = { - liege = scope:actor #You may debate with direct vassals and courtiers. - host = scope:actor #You may debate guests - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - } - scope:recipient = { - # Friends don't accuse friends of fashion crimes - NOT = { - has_friendly_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - custom_description = { - text = sumptuary_debate_has_been_debated - object = scope:recipient - scope:recipient = { - NOT = { has_character_modifier = used_sumptuary_debate_modifier } #To prevent back and forth & back-to-back challenges - NOT = { has_character_modifier = sumptuary_debated_modifier } - } - } - custom_description = { - text = sumptuary_debate_timing - scope:actor = { - NOT = { has_character_modifier = used_sumptuary_debate_modifier } - } - } - scope:recipient = { - is_adult = yes - } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - } - } - - auto_accept = yes - - on_accept = { - hidden_effect = { - scope:actor = { - add_character_modifier = { - modifier = used_sumptuary_debate_modifier - years = 2 - } - } - scope:recipient = { - trigger_event = { - id = court_amenities_interactions.0001 - days = 1 - } - add_character_modifier = { - modifier = sumptuary_debated_modifier - years = 10 - } - } - } - custom_tooltip = sumptuary_debate_interaction.tt_modifiers - scope:actor = { - stress_impact = { - arbitrary = minor_stress_impact_loss - just = minor_stress_impact_gain - } - custom_tooltip = sumptuary_debate_interaction.tt_winnings_actor - } - scope:recipient = { - custom_tooltip = sumptuary_debate_interaction.tt_winnings_recipient - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_sumptuary_law.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} diff --git a/N3OW/common/character_interactions/00_courtier_and_guest_interactions.txt b/N3OW/common/character_interactions/00_courtier_and_guest_interactions.txt deleted file mode 100644 index 49a1ec40..00000000 --- a/N3OW/common/character_interactions/00_courtier_and_guest_interactions.txt +++ /dev/null @@ -1,1186 +0,0 @@ -recruit_guest_interaction = { - category = interaction_category_vassal - icon = guest - common_interaction = yes - - special_ai_interaction = recruit_courtier - - desc = recruit_guest_interaction_desc - - should_use_extra_icon = { - NOT = { scope:recipient = { is_close_family_of = scope:actor } } - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { is_pool_guest_of = scope:actor } - scope:actor = { - is_ruler = yes - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_ruler = no - } - trigger_if = { - limit = { - NOR = { - scope:recipient = { is_close_family_of = scope:actor } # Close family members are free - scope:actor = { has_usable_hook = scope:recipient } # Using a hook makes it free - } - } - scope:actor = { - gold >= scope:recipient.recruit_guest_interaction_cost - } - } - } - - can_send = { - # check if we're using the hook (is_valid_showing_failures_only checks only if we have a hook), else we need to be able to afford it - trigger_if = { - limit = { - NOR = { - AND = { exists = scope:hook always = scope:hook } - scope:recipient = { is_close_family_of = scope:actor } - } - scope:actor = { has_usable_hook = scope:recipient } # without this the is_valid_showing_failures_only above shows the same error - } - scope:actor = { - gold >= scope:recipient.recruit_guest_interaction_cost - } - } - } - - send_options_exclusive = no - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= minor_influence_value } - } - flag = influence_send_option - localization = INFLUENCE_SEND_OPTION - } - - on_accept = { - scope:recipient = { - every_traveling_family_member = { - add_to_temporary_list = recruiting_family - } - } - - if = { - limit = { scope:recipient = { is_close_family_of = scope:actor } } # Close family members are free - # do nothing - } - else_if = { - limit = { always = scope:hook } - scope:actor = { use_hook = scope:recipient } - } - else_if = { - limit = { always = scope:influence_send_option } - scope:actor = { change_influence = minor_influence_loss } - } - else = { - scope:recipient = { - save_temporary_scope_as = most_expensive_person - - every_in_list = { - list = recruiting_family - - if = { - limit = { this.individual_recruit_guest_interaction_cost >= scope:most_expensive_person.individual_recruit_guest_interaction_cost } - save_temporary_scope_as = most_expensive_person - } - } - } - - scope:actor = { - pay_short_term_gold = { - target = scope:most_expensive_person - gold = scope:most_expensive_person.recruit_guest_interaction_cost_with_list #This value needs a list with the name "recruiting_family" - } - } - } - - - - scope:actor = { - send_interface_message = { - type = event_generic_neutral - title = msg_recruited_guest_to_court_interaction_title - right_icon = scope:recipient - stress_impact = { - shy = minor_stress_impact_gain - paranoid = minor_stress_impact_gain - } - every_in_list = { - list = recruiting_family - scope:actor = { - add_courtier ?= prev - } - remove_variable = last_visited_ruler # Even though it times out automatically, removing it here saves cycles for performance. - add_opinion = { - target = scope:actor - opinion = 50 - modifier = grateful_opinion - } - } - } - } - } - - auto_accept = yes - - # AI - ai_targets = { - ai_recipients = guests - } - ai_frequency = 12 - - ai_potential = { - is_at_war = no # Try to avoid wasting your war chest! - ai_has_conqueror_personality = no - short_term_gold >= yearly_character_income - any_courtier_or_guest = { - is_alive = yes - count <= 30 - } - ai_should_focus_on_building_in_their_capital = no - NOT = { government_has_flag = government_is_nomadic } - } - - ai_will_do = { - base = 0 - - #Lacking councillors - compare_modifier = { - trigger = { - scope:actor = { - NOT = { exists = cp:councillor_chancellor } - } - scope:recipient = { - OR = { - AND = { - is_male = yes - scope:actor = { faith_dominant_gender_male_or_equal = yes } - } - AND = { - is_female = yes - scope:actor = { faith_dominant_gender_female_or_equal = yes } - } - } - } - } - target = scope:recipient - value = diplomacy - offset = { - value = 0 - subtract = decent_skill_rating - } - } - compare_modifier = { - trigger = { - scope:actor = { - NOT = { exists = cp:councillor_marshal } - } - scope:recipient = { - OR = { - AND = { - is_male = yes - scope:actor = { faith_dominant_gender_male_or_equal = yes } - } - AND = { - is_female = yes - scope:actor = { faith_dominant_gender_female_or_equal = yes } - } - } - } - } - target = scope:recipient - value = martial - offset = { - value = 0 - subtract = decent_skill_rating - } - } - compare_modifier = { - trigger = { - scope:actor = { - NOT = { exists = cp:councillor_steward } - } - scope:recipient = { - OR = { - AND = { - is_male = yes - scope:actor = { faith_dominant_gender_male_or_equal = yes } - } - AND = { - is_female = yes - scope:actor = { faith_dominant_gender_female_or_equal = yes } - } - } - } - } - target = scope:recipient - value = stewardship - offset = { - value = 0 - subtract = decent_skill_rating - } - } - compare_modifier = { - trigger = { scope:actor = { NOT = { exists = cp:councillor_spymaster } } } - target = scope:recipient - value = intrigue - offset = { - value = 0 - subtract = decent_skill_rating - } - } - - #Lacking court physician - compare_modifier = { - trigger = { - scope:actor = { court_physician_available_trigger = no } - scope:recipient = { - would_be_valid_for_court_position = { - employer = scope:actor - court_position = court_physician_court_position - } - } - } - target = scope:recipient - value = learning - offset = { - value = 0 - subtract = decent_skill_rating - } - } - - #Lacking knights - compare_modifier = { - trigger = { - scope:recipient.prowess >= decent_skill_rating - scope:recipient = { - can_be_knight_trigger = { ARMY_OWNER = scope:actor } - } - scope:actor = { - OR = { - number_of_knights < max_number_of_knights - any_knight = { - prowess < decent_skill_rating - } - } - } - } - target = scope:recipient - value = prowess - offset = { - value = 0 - subtract = decent_skill_rating - } - } - - - #Vested interest - modifier = { - add = 20 - scope:recipient = { - OR = { - has_relation_lover = scope:actor - has_relation_friend = scope:actor - has_secret_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - is_child_of = scope:actor - } - } - } - - - #Claimants - modifier = { - scope:recipient = { - any_claim = { - neighboring_useful_courtier_or_guest_claim_trigger = { RULER = scope:actor } - } - } - add = { - value = 0 - if = { - limit = { - scope:recipient = { - any_claim = { - neighboring_useful_courtier_or_guest_claim_trigger = { RULER = scope:actor } - tier >= tier_duchy - } - } - } - add = 40 - } - else = { - add = 30 - } - } - } - - # Make it all more likely - modifier = { - factor = 4 - } - - # The AI will always use a hook if it can - modifier = { - scope:hook = yes - add = 1 - } - } -} - -kick_from_court_interaction = { - category = interaction_category_vassal - icon = guest - - - desc = { - first_valid = { - triggered_desc = { - trigger = { scope:recipient = { is_foreign_court_or_pool_guest = yes } } - desc = kick_from_court_interaction_desc_guest - } - desc = kick_from_court_interaction_desc - } - } - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { - OR = { - is_courtier_of = scope:actor - is_pool_guest_of = scope:actor - } - bp2_valid_for_standard_interactions_trigger = yes - } - } - - cost = { - prestige = { - if = { - limit = { - scope:actor = { is_landless_adventurer = yes } - } - value = minor_prestige_value - } - else_if = { - limit = { - scope:recipient = { - any_traveling_family_member = { - count = all - is_lowborn = yes - } - } - } - value = minor_prestige_value - } - else = { - value = medium_prestige_value - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - kick_from_court_validity_trigger = yes - NOT = { is_imprisoned_by = scope:actor } - - custom_description = { - text = "kick_from_court_interaction_travelling_family_invalid" - subject = scope:recipient - NOT = { - any_traveling_family_member = { - NOT = { this = scope:recipient } - kick_from_court_validity_trigger = no - } - } - } - } - } - - on_accept = { - scope:actor = { - stress_impact = { - gregarious = minor_stress_impact_gain - } - - hidden_effect = { - send_interface_message = { - type = event_generic_neutral - title = msg_kicked_courtier_from_court_interaction_title - - right_icon = scope:recipient - - show_as_tooltip = { - scope:actor = { - remove_courtier_or_guest = scope:recipient - } - } - - #Remove them as guardian/ward for any courtier - if = { - limit = { - any_courtier = { - has_relation_guardian = scope:recipient - } - } - every_courtier = { - limit = { - has_relation_guardian = scope:recipient - } - save_scope_as = ward - remove_guardian_effect = { - GUARDIAN = scope:recipient - WARD = scope:ward - RETURN_WARD = yes - HIDE_OPINION = no - } - } - scope:recipient = { trigger_event = char_interaction.0090 } - } - if = { - limit = { - any_courtier = { - has_relation_ward = scope:recipient - } - } - random_courtier = { - limit = { - has_relation_ward = scope:recipient - } - save_scope_as = guardian - - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:recipient - right_icon = scope:guardian - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - } - } - } - - #To be able to send a cohesive interface message AND show a good tooltip - show_as_tooltip = { - #Remove them as guardian for any child - if = { - limit = { - any_courtier = { - has_relation_guardian = scope:recipient - } - } - every_courtier = { - limit = { - has_relation_guardian = scope:recipient - } - save_scope_as = ward - remove_guardian_effect = { - GUARDIAN = scope:recipient - WARD = scope:ward - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - - #Remove them as ward of any courtier - if = { - limit = { - any_courtier = { - has_relation_ward = scope:recipient - } - } - random_courtier = { - limit = { - has_relation_ward = scope:recipient - } - save_scope_as = guardian - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - } - } - - scope:recipient = { - every_traveling_family_member = { - add_to_temporary_list = kicked_family - } - } - - every_in_list = { - list = kicked_family - #Kicks, adds opinions, adds people to kicked_relatives_list - kick_from_court_interaction_effect = yes - } - - if = { - limit = { - any_in_list = { - list = kicked_relatives_list - is_alive = yes - } - } - every_in_list = { - list = kicked_relatives_list - custom = all_close_family_members_of_kicked_characters - add_opinion = { - modifier = kicked_relative_from_court - target = scope:actor - } - } - } - - employed_booner_invalidation_effect = { EMPLOYEE = scope:recipient LIEGE = scope:actor } - } - - auto_accept = yes -} - -invite_to_court_interaction = { - category = interaction_category_vassal - icon = guest - - desc = invite_to_court_interaction_desc - - is_shown = { - scope:recipient = { - NOR = { - is_courtier_of = scope:actor - is_foreign_court_guest = yes - AND = { - exists = host - host = scope:actor - } - is_ruler = yes - } - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - scope:recipient = { - OR = { - NOT = { exists = liege } - NOT = { has_variable = invite_to_court_cooldown } - } - } - text = INVITE_TO_COURT_COOLDOWN - } - can_recruit_character_to_court_trigger = { - RECRUITER = scope:actor - RECRUITEE = scope:recipient - } - custom_tooltip = { - scope:recipient = { - NAND = { - has_variable = nomad_defector_var - var:nomad_defector_var = { - this = scope:actor - } - } - } - text = nomad_defected_invite_desc - } - } - - #Pay som gold to persuade a wandering character to come to your court - send_option = { - is_shown = { - exists = scope:recipient - } - flag = cover_travel_expenses - localization = COVER_TRAVEL_EXPENSES - } - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - scope:recipient.top_liege = scope:actor.top_liege - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - on_accept = { - hidden_effect = { - scope:recipient = { - set_variable = { - name = invite_to_court_cooldown - years = 5 - } - } - - if = { - limit = { - exists = scope:recipient.liege - } - scope:recipient.liege = { - send_interface_message = { - type = event_generic_neutral - title = msg_courtier_left_court_interaction_title - - right_icon = scope:recipient - - show_as_tooltip = { - remove_courtier_or_guest = scope:recipient - } - } - } - } - } - - scope:actor = { - send_interface_message = { - type = event_generic_neutral - title = invite_to_court_interaction_notification - right_icon = scope:recipient - - scope:recipient = { - every_traveling_family_member = { - scope:actor = { add_courtier = prev } - hidden_effect = { - return_to_court = yes - } - } - } - - if = { - limit = { always = scope:hook } - scope:actor = { - use_hook = scope:recipient - } - } - } - } - - - if = { - limit = { always = scope:cover_travel_expenses } - scope:actor = { - pay_short_term_gold = { - gold = { - value = bribe_value - multiply = 0.5 - } - target = scope:recipient - } - stress_impact = { - greedy = minor_stress_impact_gain - } - } - } - } - - ai_accept = { - base = -50 - - #Opinions - opinion_modifier = { - trigger = { - exists = liege - is_courtier_of = liege - } - opinion_target = liege - multiplier = -0.5 - step = 5 - max = 25 - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - step = 5 - max = 25 - } - - # Stooge modifier - modifier = { - scope:recipient = { has_variable = non_recruitable_var } - scope:recipient.var:non_recruitable_var = scope:actor - add = -200 - desc = AI_STOOGE - } - - #Current roles - modifier = { - is_knight = yes - add = -20 - desc = AI_MY_LIEGES_KNIGHT - } - modifier = { - is_commanding_army = yes - add = -30 - desc = AI_MY_LIEGES_COMMANDER - } - modifier = { - is_councillor = yes - add = -40 - desc = AI_ON_THE_COUNCIL - } - - modifier = { - trigger = { scope:recipient = { has_court_position = court_physician_court_position } } - add = -20 - desc = AI_COURT_PHYSICIAN - } - - #Relations & relatives (with actor) - modifier = { - has_relation_lover = scope:actor - add = 100 - desc = AI_YOUR_LOVER - } - - modifier = { - has_relation_friend = scope:actor - add = 75 - desc = AI_YOUR_FRIEND - } - - modifier = { - is_child_of = scope:actor - add = 160 - desc = AI_YOUR_CHILD - } - - modifier = { - this.dynasty.dynast = scope:actor - add = 30 - desc = AI_YOU_ARE_THE_DYNAST - } - - modifier = { - this.house.house_head = scope:actor - add = 60 - desc = AI_YOU_ARE_THE_HOUSE_HEAD - } - - modifier = { - this.top_liege = scope:actor - add = 60 - desc = AI_YOU_ARE_THE_SOVEREIGN - } - - modifier = { - NOT = { is_child_of = scope:actor } - NOT = { is_close_family_of = scope:actor } - is_extended_family_of = scope:actor - add = 30 - desc = AI_YOUR_RELATIVE - } - - modifier = { - NOT = { is_child_of = scope:actor } - is_close_family_of = scope:actor - add = 75 - desc = AI_YOUR_RELATIVE - } - - modifier = { - is_spouse_of = scope:actor - add = 160 - desc = AI_YOUR_SPOUSE - } - - #Relations & relatives (with host) - modifier = { - exists = liege - has_relation_lover = liege - add = -100 - desc = AI_THEIR_LOVER - } - - modifier = { - exists = liege - has_relation_friend = liege - add = -75 - desc = AI_THEIR_FRIEND - } - - modifier = { - exists = liege - is_child_of = liege - add = -160 - desc = AI_THEIR_CHILD - } - - modifier = { - exists = liege - NOT = { is_child_of = liege } - is_close_family_of = liege - add = -75 - desc = AI_THEIR_RELATIVE - } - - #Family (at location) - modifier = { - exists = location - any_consort_not_in_traveling_family_trigger = yes - desc = AI_LEAVING_MY_SPOUSE - add = -100 - } - - modifier = { - exists = location - any_child_not_in_traveling_family_trigger = yes - desc = AI_LEAVING_MY_CHILD - add = -100 - } - - modifier = { - add = -50 - desc = AI_MARRIED_MATRILINIALLY - is_married = yes - is_male = yes - any_spouse = { - matrilinear_marriage = yes - host = scope:recipient.host - } - } - - modifier = { - add = -50 - desc = AI_MARRIED_PATRILINIALLY - is_married = yes - is_female = yes - any_spouse = { - patrilinear_marriage = yes - host = scope:recipient.host - } - } - - modifier = { - add = -50 - desc = AI_INSPIRED - exists = inspiration - inspiration = { - NOT = { - exists = inspiration_sponsor - } - } - } - - modifier = { - add = -500 - desc = AI_SPONSORED_INSPIRATION - exists = inspiration - inspiration = { - exists = inspiration_sponsor - } - } - - modifier = { - add = -500 - desc = AI_WANDERLUST - is_child_of = scope:actor - has_character_modifier = lust_for_adventure - } - - modifier = { - add = -180 - desc = ELUDING_CASTRATOR - is_adult = no - any_memory = { - has_memory_type = family_castration_fled_memory - memory_participant:castrator ?= { - this = scope:actor - } - } - } - - modifier = { - liege ?= { is_landed = yes } - scope:actor = { is_landed = no } - add = -50 - desc = AI_MY_LIEGE_IS_LANDED - } - - #Wandering characters (who aren't doing anything else) - modifier = { - add = { - value = 10 - add = scope:actor.diplomacy - - if = { - limit = { - faith = scope:actor.faith - } - add = 10 - } - else_if = { - limit = { - faith = { #Same religion - But faith should not be considered Hostile or Evil - religion = scope:actor.faith.religion - faith_hostility_level = { - target = scope:actor.faith - value < 2 - } - } - } - add = 5 - } - if = { - limit = { - culture = scope:actor.culture - } - add = 10 - } - else_if = { - limit = { - culture = { - has_same_culture_heritage = scope:actor.culture - } - } - add = 5 - } - if = { - limit = { - OR = { - has_trait = content - has_trait = lazy - has_trait = trusting - } - } - add = 10 - } - } - desc = AI_CAN_BE_PERSUADED_TO_STAY - - is_pool_guest = no - location.province_owner = { - OR = { - any_liege_or_above = { this = scope:actor } - this = scope:actor - } - } - NOR = { - has_relation_rival = scope:actor - exists = liege - is_child_of = scope:actor - has_character_modifier = lust_for_adventure - } - } - - modifier = { - add = { - value = 20 - if = { - limit = { - has_trait = greedy - } - multiply = 1.5 - } - else_if = { - limit = { - has_trait = generous - } - multiply = 0.5 - } - } - scope:cover_travel_expenses = yes - desc = AI_TRAVEL_EXPENSES - } - - # Amenities impact - ## Actor's amenities increases acceptance - modifier = { - add = { - value = 10 - if = { - limit = { - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - amenity_level = { type = court_lodging_standards value >= high_amenity_level } - } - } - add = 10 - } - if = { - limit = { - scope:actor = { - amenity_level = { type = court_lodging_standards value >= very_high_amenity_level } - } - } - add = 10 - } - if = { - limit = { - scope:actor = { - amenity_level = { type = court_lodging_standards value >= max_amenity_level } - } - } - add = 20 - } - } - desc = AI_COURT_LODGING_STANDARDS_QUALITY - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - amenity_level = { type = court_lodging_standards value >= medium_amenity_level } - } - } - ## Target's liege amenities decreases acceptance - modifier = { - add = { - value = -10 - if = { - limit = { - liege = { - amenity_level = { type = court_lodging_standards value >= high_amenity_level } - } - } - add = -10 - } - if = { - limit = { - liege = { - amenity_level = { type = court_lodging_standards value >= very_high_amenity_level } - } - } - add = -10 - } - if = { - limit = { - liege = { - amenity_level = { type = court_lodging_standards value >= max_amenity_level } - } - } - add = -20 - } - } - desc = AI_LIEGE_COURT_LODGING_STANDARDS_QUALITY - exists = liege - is_courtier_of = liege - liege = { - has_royal_court = yes - has_dlc_feature = royal_court - amenity_level = { type = court_lodging_standards value >= medium_amenity_level } - } - } - - modifier = { - add = { - value = scope:actor.house.house_unity_value - multiply = 0.5 - } - desc = AI_HOUSE_UNITY - scope:actor = { government_has_flag = government_is_clan } - exists = house - exists = scope:actor.house - house = scope:actor.house - house = { - OR = { - has_house_unity_stage = harmonious - has_house_unity_stage = friendly - } - } - } - - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - - modifier = { - add = -1000 - desc = MALUS_TO_RECRUITMENT_FOR_IMPERIAL_EUNUCHS - scope:recipient = { - is_eunuch_trigger = yes - liege = { - government_has_flag = government_is_administrative - primary_title.tier = tier_empire - culture = { has_cultural_parameter = can_appoint_chief_eunuch } - } - } - } - - # Event modifiers - - # El Cid - modifier = { - has_variable = cid_1010_no_invite_var - var:cid_1010_no_invite_var = scope:actor - add = -200 - desc = cid_1010_no_invite_var_desc - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } -} diff --git a/N3OW/common/character_interactions/00_culture_interactions.txt b/N3OW/common/character_interactions/00_culture_interactions.txt deleted file mode 100644 index e32d7750..00000000 --- a/N3OW/common/character_interactions/00_culture_interactions.txt +++ /dev/null @@ -1,385 +0,0 @@ -# Interaction used to convert people when you hybridize or diverge culture -# Note that it will only be applied to vassals of the parent culture(s) -# Acceptance is checked *before* culture conversion happens so that it'll be correct in the UI -# This has the culture traits available in the traits list: -# modifier = { -# add = 10 -# desc = TEST -# culture_pillar:ethos_bellicose = { is_in_list = traits } -# } - -request_culture_conversion_interaction = { - category = interaction_category_religion - special_interaction = request_culture_conversion_interaction - popup_on_receive = yes - - desc = ask_for_conversion_interaction_desc - - hidden = yes - - is_shown = { - NOT = { scope:actor.culture = scope:recipient.culture } - scope:recipient.liege = scope:actor - } - - is_valid_showing_failures_only = { - } - - ai_accept = { - base = -10 - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 1 - } - - modifier = { - desc = ASK_FOR_CONVERSION_SAME_CULTURE_PRESTIGE_LEVEL - add = { - value = 10 - multiply = scope:actor.prestige_level - } - scope:actor.prestige_level > 0 - scope:recipient.culture = scope:actor.culture - } - - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_DIPLOMACY - add = { - value = scope:actor.diplomacy - subtract = scope:recipient.diplomacy - multiply = 5 - } - } - - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_CYNICAL - add = 30 - scope:recipient = { - has_trait = cynical - } - } - - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_STUBBORN - add = -30 - scope:recipient = { - has_trait = stubborn - } - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - new_culture_created_vassal_conversion_effect = { - CONVERTEE = scope:recipient - CONVERTER = scope:actor - CULTURE = scope:actor.culture - } - } -} - -ai_cultural_hybridization_interaction = { - - hidden = yes - - auto_accept = yes - - ai_potential = { - has_dlc_feature = hybridize_culture - OR = { - is_independent_ruler = yes - highest_held_title_tier >= tier_kingdom - } - is_playable_character = yes - realm_size >= 4 - is_physically_able_adult = yes - is_at_war = no - exists = capital_county - capital_county.holder = root - NOT = { - has_game_rule = none_hybrid_culture_ai_frequency - } - } - - is_shown = { - scope:actor = { - is_ai = yes - } - exists = scope:target - } - - ai_set_target = { - scope:actor = { - if = { - limit = { - exists = capital_county - any_sub_realm_county = { - NOT = { - culture = scope:actor.culture - } - culture = { - cultural_acceptance = { target = scope:actor.culture value >= hybridization_ai_threshold_value } - scope:actor = { - can_hybridize = prev - } - } - } - } - every_sub_realm_county = { - limit = { - NOT = { - culture = scope:actor.culture - } - culture = { - cultural_acceptance = { target = scope:actor.culture value >= hybridization_ai_threshold_value } - scope:actor = { - can_hybridize = prev - } - } - } - culture = { - add_to_list = culture_list - } - } - - ordered_in_list = { - list = culture_list - limit = { culture_realm_size >= 3 } - order_by = culture_realm_size - - save_scope_as = target - } - } - } - } - - on_accept = { - # Global cooldowns for the lower frequency game rule settings - if = { - limit = { - has_game_rule = less_common_hybrid_culture_ai_frequency - } - set_global_variable = { name = has_ai_hybrid_event_cooldown value = yes days = 3650 } - } - scope:actor = { - create_hybrid_culture_with_side_effects = scope:target - } - } - - ai_targets = { - ai_recipients = self - } - - ai_frequency = 60 - - ai_will_do = { - base = 100 - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0.2 - has_game_rule = less_common_hybrid_culture_ai_frequency - } - - modifier = { - factor = 0 - exists = global_var:has_ai_hybrid_event_cooldown - } - - modifier = { - factor = 0 - culture = { - has_cultural_parameter = harder_to_hybridize - } - } - - modifier = { # The AI should only want to hybridize if they're the second ruler of their culture for their primary title - factor = 0 - OR = { - NOT = { - exists = primary_title.previous_holder - } - AND = { - exists = primary_title.previous_holder - NOT = { - primary_title.previous_holder.culture = scope:actor.culture - } - } - } - } - - modifier = { # The AI doesn't want to hybridize if their culture is more than X% bigger than the targeted culture within the same realm (unless it's in the capital, and the capital is the De Jure capital of the primary title) - factor = 0 - scope:actor.culture.culture_realm_size > scope:target.culture_realm_size_larger_30_percent - NAND = { - scope:actor.primary_title.title_capital_county = scope:actor.capital_county - scope:actor.capital_county.culture = scope:target - } - } - - modifier = { # Do not hybridize if 30% or more of your vassals of the relevant culture/s dislike you - factor = 0 - scope:actor = { - any_vassal = { - percent >= 0.3 - OR = { - culture = scope:actor.culture - culture = scope:target - } - highest_held_title_tier >= tier_county - opinion = { - target = scope:actor - value <= 0 - } - } - } - } - - modifier = { # The AI does not want to create multiple hybrids from the same cultures - factor = 0 - any_in_global_list = { - variable = hybrid_cultures - any_parent_culture = { this = scope:target } - any_parent_culture = { this = scope:actor.culture } - } - } - - # Loose requirements - modifier = { # The AI does not want to create a hybrid with a hybrid culture that has the same roots - factor = 0 - has_game_rule = very_relaxed_hybrid_culture_ai_restrictions - scope:target = { is_hybrid_culture = yes } - scope:actor.culture = { - is_hybrid_culture = yes - any_parent_culture = { - save_temporary_scope_as = parent_culture_check - scope:target = { - any_parent_culture = { - this = scope:parent_culture_check - } - } - } - } - } - - modifier = { # The AI does not want to create a hybrid with a hybrid culture (unless a historical hybrid) - factor = 0 - has_game_rule = relaxed_hybrid_culture_ai_restrictions - scope:target = { - is_hybrid_culture = yes - culture_is_not_historical_hybrid_trigger = yes - } - scope:actor.culture = { - is_hybrid_culture = yes - culture_is_not_historical_hybrid_trigger = yes - } - } - - modifier = { # The AI does not want to create a hybrid with a hybrid culture or if the target is a hybrid (unless a historical hybrid) - factor = 0 - has_game_rule = default_hybrid_culture_ai_restrictions - OR = { - scope:target = { - is_hybrid_culture = yes - culture_is_not_historical_hybrid_trigger = yes - } - scope:actor.culture = { - is_hybrid_culture = yes - culture_is_not_historical_hybrid_trigger = yes - } - } - } - - modifier = { # The AI does not want to create a hybrid with a hybrid culture that their culture is a parent of, or share heritage of - factor = 0 - scope:target = { - is_hybrid_culture = yes - any_parent_culture = { - OR = { - this = scope:actor.culture - has_same_culture_heritage = scope:actor.culture - } - } - } - } - - modifier = { # The AI does not want to create a hybrid if their culture is a hybrid of the target culture, or share heritage of - factor = 0 - scope:actor.culture = { - is_hybrid_culture = yes - any_parent_culture = { - OR = { - this = scope:target - has_same_culture_heritage = scope:target - } - } - } - } - - modifier = { # Avoid hybridizing if your realm is of a significant size and elective, we don't want the HRE Emperor to hybdridize in ugly ways... - factor = 0 - primary_title = { - has_order_of_succession = election - tier >= tier_kingdom - } - realm_size >= 50 - any_vassal = { - highest_held_title_tier >= tier_county - NOT = { - culture = scope:actor.culture - } - } - } - - modifier = { # Theocrats such as the Pope shouldn't hybridize; they have an influx of different cultures, it's just weird - factor = 0 - government_has_flag = government_is_theocracy - } - - modifier = { # Block for Scots and Gaelic specifically - factor = 0 - OR = { - scope:actor.culture = culture:scottish - scope:actor.culture = culture:gaelic - } - OR = { - scope:target = culture:scottish - scope:target = culture:gaelic - } - } - - # Note: As we're checking if we can hybridize with a culture *right now*, a suboptimal culture might be checked. A buffer of 10 acceptance is used by the AI to alleviate this. - } -} diff --git a/N3OW/common/character_interactions/00_debug_interactions.txt b/N3OW/common/character_interactions/00_debug_interactions.txt deleted file mode 100644 index c196ed4c..00000000 --- a/N3OW/common/character_interactions/00_debug_interactions.txt +++ /dev/null @@ -1,3670 +0,0 @@ -#Change hunt score -change_hunt_success_chance = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = yes - icon = activity_hunt - is_shown = { - debug_only = yes - scope:actor.involved_activity ?= { - has_activity_type = activity_hunt - exists = var:hunt_success_chance - } - } - - send_option = { - flag = score_massive - localization = score_massive - } - - send_option = { - flag = score_major - localization = score_major - } - - send_option = { - flag = score_medium - localization = score_medium - } - - send_option = { - flag = score_minor - localization = score_minor - } - - send_option = { - flag = decrease_score_minor - localization = decrease_score_minor - } - - send_option = { - flag = decrease_score_medium - localization = decrease_score_medium - } - - send_option = { - flag = decrease_score_major - localization = decrease_score_major - } - - send_option = { - flag = decrease_score_massive - localization = decrease_score_massive - } - - on_accept = { - scope:actor.involved_activity = { - if = { - limit = { - NOT = { exists = var:hunt_success_chance_event } - } - set_variable = { name = hunt_success_chance_event value = 0 } - } - switch = { - trigger = yes - scope:score_massive = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_massive_value } - } - scope:score_major = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_major_value } - } - scope:score_medium = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_medium_value } - } - scope:score_minor = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_minor_value } - } - scope:decrease_score_massive = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_massive_value } - } - scope:decrease_score_major = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_major_value } - } - scope:decrease_score_medium = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_medium_value } - } - scope:decrease_score_minor = { - change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_minor_value } - } - } - set_variable = { - name = hunt_success_chance - value = { - value = hunt_success_chance_value - add = var:hunt_success_chance_event - } - } - } - } - - auto_accept = yes -} - -debug_give_animal_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = no - icon = dog_positive - is_shown = { - debug_only = yes - scope:recipient = { - NAND = { - any_owned_story = { story_type = story_cycle_pet_cat } - any_owned_story = { story_type = story_cycle_pet_dog } - any_owned_story = { story_type = story_cycle_martial_lifestyle_warhorse } - has_eagle_trigger = yes - } - } - } - - send_option = { - is_valid = { - NOT = { - scope:recipient = { any_owned_story = { story_type = story_cycle_pet_dog } } - } - } - flag = story_cycle_pet_dog - localization = story_cycle_pet_dog - } - - send_option = { - is_valid = { - NOT = { - scope:recipient = { any_owned_story = { story_type = story_cycle_pet_cat } } - } - } - flag = story_cycle_pet_cat - localization = story_cycle_pet_cat - } - - send_option = { - is_valid = { - NOT = { - scope:recipient = { any_owned_story = { story_type = story_cycle_martial_lifestyle_warhorse } } - } - } - flag = story_cycle_martial_lifestyle_warhorse - localization = horse_story_modifier - } - - send_option = { - is_valid = { - NOT = { - scope:recipient = { has_eagle_trigger = yes } - } - } - flag = story_cycle_pet_eagle - localization = story_cycle_pet_eagle - } - - send_options_exclusive = yes - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:story_cycle_pet_dog = { - start_dog_story_cycle_effect = yes - } - scope:story_cycle_pet_cat = { - start_cat_story_cycle_effect = yes - } - scope:story_cycle_martial_lifestyle_warhorse = { - start_warhorse_story_cycle_effect = yes - } - scope:story_cycle_pet_eagle = { - start_eagle_story_cycle_effect = yes - } - } - } - } - - auto_accept = yes -} - -#Change tournament score -change_tournament_score = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = yes - icon = activity_tournament - is_shown = { - debug_only = yes - scope:recipient = { - exists = involved_activity - involved_activity = { - has_activity_type = activity_tournament - } - activity_is_competing_trigger = yes - } - } - - send_option = { - flag = score_massive - localization = score_massive - } - - send_option = { - flag = score_major - localization = score_major - } - - send_option = { - flag = score_medium - localization = score_medium - } - - send_option = { - flag = score_minor - localization = score_minor - } - - send_option = { - flag = decrease_score_minor - localization = decrease_score_minor - } - - send_option = { - flag = decrease_score_medium - localization = decrease_score_medium - } - - send_option = { - flag = decrease_score_major - localization = decrease_score_major - } - - send_option = { - flag = decrease_score_massive - localization = decrease_score_massive - } - - on_accept = { - scope:recipient = { - if = { - limit = { scope:score_massive = yes } - activity_tournament_change_contestant_score_effect = { SCORE = increase_massive } - } - else_if = { - limit = { scope:score_major = yes } - activity_tournament_change_contestant_score_effect = { SCORE = increase_major } - } - else_if = { - limit = { scope:score_medium = yes } - activity_tournament_change_contestant_score_effect = { SCORE = increase_medium } - } - else_if = { - limit = { scope:score_minor = yes } - activity_tournament_change_contestant_score_effect = { SCORE = increase_minor } - } - else_if = { - limit = { scope:decrease_score_massive = yes } - activity_tournament_change_contestant_score_effect = { SCORE = decrease_massive } - } - else_if = { - limit = { scope:decrease_score_major = yes } - activity_tournament_change_contestant_score_effect = { SCORE = decrease_major } - } - else_if = { - limit = { scope:decrease_score_medium = yes } - activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium } - } - else_if = { - limit = { scope:decrease_score_minor = yes } - activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor } - } - } - } - - auto_accept = yes -} - -#Bring a character to your court -add_to_court_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = guest - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - scope:recipient = { - is_playable_character = no - NOT = { is_courtier_of = scope:actor } - } - } - - on_accept = { - scope:actor = { add_courtier = scope:recipient } - scope:recipient = { - hidden_effect = { return_to_court = yes } - } - } - - auto_accept = yes -} - -debug_secrets_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = debug_secret - - is_shown = { - debug_only = yes - } - - send_option = { - flag = realm - localization = set_up_secrets_in_realm_interaction - } - send_option = { - flag = court - localization = give_secrets_to_court_interaction - } - send_option = { - flag = expose - localization = expose_known_secrets_interaction - } - - on_accept = { - switch = { - trigger = yes - scope:realm = { - scope:recipient.top_liege = { - hidden_effect = { - # Start by adding all realm characters and neighbouring realm characters to a list - add_to_list = secret_setup - every_vassal = { - add_to_list = secret_setup - random_courtier_or_guest = { - add_to_list = secret_setup - } - } - every_neighboring_top_liege_realm_owner = { - add_to_list = secret_setup - every_vassal = { - add_to_list = secret_setup - random_courtier_or_guest = { - add_to_list = secret_setup - } - } - } - every_in_list = { # Give everyone in the list a 50% chance of getting a secret - list = secret_setup - give_random_likely_secret_effect = yes - } - random_in_list = { # Reveal one secret to the character the decision is used on, from the same realm - list = secret_setup - limit = { - top_liege = scope:recipient.top_liege - any_secret = { - NOT = { is_known_by = scope:recipient } - } - } - random_secret = { - limit = { - NOT = { is_known_by = scope:recipient } - } - reveal_to = scope:recipient - } - } - random_in_list = { # Reveal one secret to the character the decision is used on, NOT from the same realm - list = secret_setup - limit = { - NOT = { top_liege = scope:recipient.top_liege } - any_secret = { - NOT = { is_known_by = scope:recipient } - } - } - random_secret = { - limit = { - NOT = { is_known_by = scope:recipient } - } - reveal_to = scope:recipient - } - } - every_in_list = { # Everyone in the list has a chance to get to know of a secret anyone else has in the list - list = secret_setup - save_scope_as = reveal_to_me - random = { - chance = 75 - random_in_list = { - list = secret_setup - limit = { - any_secret = { - NOT = { is_known_by = scope:reveal_to_me } - } - } - random_secret = { - limit = { - NOT = { is_known_by = scope:reveal_to_me } - } - reveal_to = scope:reveal_to_me - } - } - } - } - random_in_list = { # Imprison someone with a secret you know about - list = secret_setup - limit = { - any_secret = { - is_known_by = scope:recipient - } - NOT = { this = scope:recipient } - is_foreign_court_guest = no - } - save_scope_as = prisoner_secret - scope:recipient = { - imprison = { - target = scope:prisoner_secret - type = dungeon - } - } - } - random_in_list = { # Imprison someone who has a secret you don't know about - list = secret_setup - limit = { - any_secret = { - NOT = { is_known_by = scope:recipient } - } - NOT = { this = scope:recipient } - is_foreign_court_guest = no - } - save_scope_as = prisoner_secret - scope:recipient = { - imprison = { - target = scope:prisoner_secret - type = dungeon - } - } - } - } - } - } - scope:court = { - scope:recipient = { - give_deviant_secret_or_trait_effect = yes - give_homosexual_secret_or_nothing_effect = yes - hidden_effect = { - every_courtier = { - give_random_likely_secret_effect = yes - } - } - } - } - scope:expose = { - scope:actor = { - every_known_secret = { - limit = { - secret_owner = scope:recipient - } - expose_secret = scope:actor - } - } - } - } - } - - auto_accept = yes -} - -add_hook_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - interface_priority = -1 - icon = hook_icon - common_interaction = no - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - send_option = { - flag = weak_hook - localization = add_weak_hook_interaction - } - send_option = { - flag = strong_hook - localization = add_strong_hook_interaction - } - send_option = { - flag = perpetual_hook - localization = add_perpetual_hook_interaction - } - send_option = { - flag = obligation_hook - localization = add_obligation_hook_interaction - } - auto_accept = yes - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:weak_hook = { - add_hook = { - target = scope:recipient - type = favor_hook - } - } - scope:strong_hook = { - add_hook = { - target = scope:recipient - type = strong_test_hook - } - } - scope:perpetual_hook = { - add_hook = { - target = scope:recipient - type = perpetual_test_hook - } - } - scope:obligation_hook = { - add_hook = { - target = scope:recipient - type = obligation_hook - } - } - } - } - } -} - -set_relation_debug = { - category = interaction_debug_main - desc = set_relationship_debug_desc - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = debug_chars - common_interaction = yes - is_shown = { - debug_only = yes - NOT = { - scope:recipient = scope:actor - } - } - - send_option = { - is_shown = { - NOR = { - scope:actor = { has_relation_potential_friend = scope:recipient } - scope:actor = { has_relation_friend = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_potential_friend_trigger = { CHARACTER = scope:recipient } - } - } - flag = potential_friend - localization = set_relation_debug_potential_friend - } - send_option = { - is_shown = { - NOR = { - scope:actor = { has_relation_potential_rival = scope:recipient } - scope:actor = { has_relation_rival = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_potential_rival_trigger = { CHARACTER = scope:recipient } - } - } - flag = potential_rival - localization = set_relation_debug_potential_rival - } - send_option = { - is_shown = { - NOR = { - scope:actor = { has_relation_potential_lover = scope:recipient } - scope:actor = { has_relation_lover = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_potential_lover_trigger = { CHARACTER = scope:recipient } - } - } - flag = potential_lover - localization = set_relation_debug_potential_lover - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_friend = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_friend_trigger = { CHARACTER = scope:recipient } - } - } - flag = friend - localization = set_relation_debug_friend - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_rival = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_rival_trigger = { CHARACTER = scope:recipient } - } - } - flag = rival - localization = set_relation_debug_rival - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_lover = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_lover_trigger = { CHARACTER = scope:recipient } - } - } - flag = lover - localization = set_relation_debug_lover - } - send_option = { - is_shown = { - scope:actor = { - NOR = { - any_secret ={ - secret_type = secret_lover - secret_target = scope:recipient - } - has_relation_lover = scope:recipient - has_relation_soulmate = scope:recipient - } - } - } - is_valid = { - scope:actor = { - can_set_relation_lover_trigger = { CHARACTER = scope:recipient } - } - } - flag = lover_secret - localization = set_relation_debug_lover_secret - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_best_friend = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_best_friend_trigger = { CHARACTER = scope:recipient } - } - } - flag = best_friend - localization = set_relation_debug_best_friend - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_nemesis = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_nemesis_trigger = { CHARACTER = scope:recipient } - } - } - flag = nemesis - localization = set_relation_debug_nemesis - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_soulmate = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_soulmate_trigger = { CHARACTER = scope:recipient } - } - } - flag = soulmate - localization = set_relation_debug_soulmate - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_bully = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_bully_trigger = { CHARACTER = scope:recipient } - } - } - flag = bully - localization = set_relation_debug_bully - } - send_option = { - is_shown = { - NOT = { - scope:actor = { has_relation_victim = scope:recipient } - } - } - is_valid = { - scope:actor = { - can_set_relation_victim_trigger = { CHARACTER = scope:recipient } - } - } - flag = victim - localization = set_relation_debug_victim - } - send_option = { - is_valid = { - scope:actor = { - NOT = { has_relation_crush = scope:recipient } - } - } - flag = crush - localization = set_relation_debug_crush - } - send_option = { - is_valid = { - scope:recipient = { - NOT = { has_relation_crush = scope:actor } - } - } - flag = crush_on_me - localization = set_relation_debug_crush_on_me - } - send_option = { - is_valid = { - scope:actor = { - NOT = { has_relation_grudge = scope:recipient } - } - } - flag = grudge - localization = set_relation_debug_grudge - } - send_option = { - is_valid = { - scope:recipient = { - NOT = { has_relation_grudge = scope:actor } - } - } - flag = grudge_on_me - localization = set_relation_debug_grudge_on_me - } - send_option = { - is_valid = { - scope:recipient = { - NOT = { has_relation_blood_brother = scope:actor } - } - } - flag = blood_brother - localization = set_relation_debug_blood_brother - } - # REMOVE - send_option = { - is_shown = { - scope:actor = { has_relation_potential_friend = scope:recipient } - } - flag = remove_potential_friend - localization = remove_relation_debug_potential_friend - } - send_option = { - is_valid = { - scope:actor = { has_relation_potential_rival = scope:recipient } - } - flag = remove_potential_rival - localization = remove_relation_debug_potential_rival - } - send_option = { - is_shown = { - scope:actor = { has_relation_potential_lover = scope:recipient } - } - flag = remove_potential_lover - localization = remove_relation_debug_potential_lover - } - send_option = { - is_shown = { - scope:actor = { has_relation_friend = scope:recipient } - } - flag = remove_friend - localization = remove_relation_debug_friend - } - send_option = { - is_shown = { - scope:actor = { has_relation_rival = scope:recipient } - } - flag = remove_rival - localization = remove_relation_debug_rival - } - send_option = { - is_shown = { - scope:actor = { has_relation_lover = scope:recipient } - } - flag = remove_lover - localization = remove_relation_debug_lover - } - send_option = { - is_shown = { - scope:actor = { - any_secret = { - secret_type = secret_lover - secret_target = scope:recipient - } - } - } - flag = remove_lover_secret - localization = remove_relation_debug_lover_secret - } - send_option = { - is_shown = { - scope:actor = { has_relation_best_friend = scope:recipient } - } - flag = remove_best_friend - localization = remove_relation_debug_best_friend - } - send_option = { - is_shown = { - scope:actor = { has_relation_nemesis = scope:recipient } - } - flag = remove_nemesis - localization = remove_relation_debug_nemesis - } - send_option = { - is_shown = { - scope:actor = { has_relation_soulmate = scope:recipient } - } - flag = remove_soulmate - localization = remove_relation_debug_soulmate - } - send_option = { - is_shown = { - scope:actor = { has_relation_bully = scope:recipient } - } - flag = remove_bully - localization = remove_relation_debug_bully - } - send_option = { - is_shown = { - scope:actor = { has_relation_victim = scope:recipient } - } - flag = remove_victim - localization = remove_relation_debug_victim - } - send_option = { - is_shown = { - scope:actor = { has_relation_crush = scope:recipient } - } - flag = remove_crush - localization = remove_relation_debug_crush - } - send_option = { - is_shown = { - scope:recipient = { has_relation_crush = scope:actor } - } - flag = remove_crush_on_me - localization = remove_relation_debug_crush_on_me - } - send_option = { - is_shown = { - scope:actor = { has_relation_grudge = scope:recipient } - } - flag = remove_grudge - localization = remove_relation_debug_grudge - } - send_option = { - is_shown = { - scope:recipient = { has_relation_grudge = scope:actor } - } - flag = remove_grudge_on_me - localization = remove_relation_debug_grudge_on_me - } - send_option = { - is_shown = { - scope:recipient = { has_relation_blood_brother = scope:actor } - } - flag = remove_blood_brother - localization = remove_relation_debug_blood_brother - } - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - # SET - scope:potential_friend = { set_relation_potential_friend = scope:actor } - scope:potential_rival = { set_relation_potential_rival = scope:actor } - scope:potential_lover = { set_relation_potential_lover = scope:actor } - scope:friend = { - set_relation_friend = { reason = test_friend_desc target = scope:actor } - } - scope:rival = { - set_relation_rival = { reason = test_rival_desc target = scope:actor } - } - scope:lover = { - set_relation_lover = { reason = test_lover_desc target = scope:actor } - } - scope:lover_secret = { - add_secret = { - target = scope:actor - type = secret_lover - } - scope:actor = { - add_secret = { - target = scope:recipient - type = secret_lover - } - } - } - scope:best_friend = { - set_relation_best_friend = { reason = best_friend_poetry copy_reason = friend target = scope:actor } - } - scope:nemesis = { - set_relation_nemesis = { reason = test_nemesis_desc copy_reason = rival target = scope:actor } - } - scope:soulmate = { - set_relation_soulmate = { reason = test_soulmate_desc copy_reason = lover target = scope:actor } - } - scope:crush = { - scope:actor = { set_relation_crush = scope:recipient } #You crush on the recipient - } - scope:crush_on_me = { set_relation_crush = scope:actor } - scope:bully = { set_relation_bully = scope:actor } - scope:victim = { set_relation_victim = scope:actor } - scope:grudge = { - scope:actor = { - set_relation_grudge = { - reason = grudge_imprisonment_desc - target = scope:recipient - } - } - } - scope:grudge_on_me = { set_relation_grudge = scope:actor } - scope:blood_brother = { set_relation_blood_brother = scope:actor } - # REMOVE - scope:remove_potential_friend = { remove_relation_potential_friend = scope:actor } - scope:remove_potential_rival = { remove_relation_potential_rival = scope:actor } - scope:remove_potential_lover = { remove_relation_potential_lover = scope:actor } - scope:remove_friend = { remove_relation_friend = scope:actor } - scope:remove_rival = { remove_relation_rival = scope:actor } - scope:remove_lover = { remove_relation_lover = scope:actor } - scope:remove_lover_secret = { - random_secret = { - limit = { - secret_type = secret_lover - secret_target = scope:actor - } - remove_secret = yes - } - scope:actor = { - random_secret = { - limit = { - secret_type = secret_lover - secret_target = scope:recipient - } - remove_secret = yes - } - } - } - scope:remove_best_friend = { remove_relation_best_friend = scope:actor } - scope:remove_nemesis = { remove_relation_nemesis = scope:actor } - scope:remove_soulmate = { remove_relation_soulmate = scope:actor } - scope:remove_crush = { - scope:actor = { remove_relation_crush = scope:recipient } #You crush on the recipient - } - scope:remove_crush_on_me = { remove_relation_crush = scope:actor } - scope:remove_bully = { remove_relation_bully = scope:actor } - scope:remove_victim = { remove_relation_victim = scope:actor } - scope:remove_grudge = { - scope:actor = { remove_relation_grudge = scope:recipient } - } - scope:remove_grudge_on_me = { remove_relation_grudge = scope:actor } - scope:remove_blood_brother = { remove_relation_blood_brother = scope:actor } - } - } - } - auto_accept = yes -} - -change_character_weight_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = activity_feast - - is_shown = { debug_only = yes } - - send_option = { - flag = gain_weight - localization = add_character_weight_interaction - } - send_option = { - flag = lose_weight - localization = remove_character_weight_interaction - } - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:gain_weight = { change_current_weight = 25 } - scope:lose_weight = { change_current_weight = -25 } - } - } - } - auto_accept = yes -} - -slay_character_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_dead - common_interaction = yes - - interface_priority = -1 - - is_shown = { debug_only = yes } - - send_option = { - flag = random_slayer - localization = random_slay_character_interaction - } - send_option = { - flag = no_slayer - localization = null_slay_character_interaction - } - send_option = { - is_valid = { - NOT = { scope:recipient = scope:actor } - } - flag = actor_slayer - localization = actor_slay_character_interaction - } - send_option = { - flag = bubonic_plague_slayer - localization = give_bubonic_plague_interaction - } - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:random_slayer = { - random_independent_ruler = { - limit = { - NOT = { this = scope:recipient } - } - save_scope_as = rando - } - hidden_effect = { - death = { - death_reason = death_duel - killer = scope:rando - } - } - } - scope:no_slayer = { - death = { death_reason = death_natural_causes } - } - scope:actor_slayer = { - death = { - death_reason = death_duel - killer = scope:actor - } - } - scope:bubonic_plague_slayer = { - add_trait = bubonic_plague - } - } - } - } - auto_accept = yes -} - -change_cultural_acceptance_debug_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_culture - - is_shown = { - debug_only = yes - NOT = { scope:actor.culture = scope:recipient.culture } - } - - send_option = { - flag = increase_cultural_acceptance - localization = increase_cultural_acceptance_debug_interaction - } - send_option = { - flag = decrease_cultural_acceptance - localization = decrease_cultural_acceptance_debug_interaction - } - - on_accept = { - scope:recipient.culture = { - switch = { - trigger = yes - scope:increase_cultural_acceptance = { - change_cultural_acceptance = { - target = scope:actor.culture - value = 25 - desc = debug - } - } - scope:decrease_cultural_acceptance = { - change_cultural_acceptance = { - target = scope:actor.culture - value = -25 - desc = debug - } - } - } - } - } - auto_accept = yes -} - -learn_language_debug_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_scheme_learn_language - - interface_priority = -1 - - is_shown = { - debug_only = yes - NOT = { - scope:actor = { knows_language_of_culture = scope:recipient.culture } - } - } - - on_accept = { - scope:actor = { - learn_language_of_culture = scope:recipient.culture - } - } - auto_accept = yes -} - -#Start a duel or board game against another character -start_bout_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_combat - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - on_accept = { - # Duels. - if = { - limit = { scope:single_combat = yes } - scope:actor = { trigger_event = single_combat.1004 } - } - # Board Games. - if = { - limit = { - OR = { - scope:board_game_chess = yes - scope:board_game_pachisi = yes - scope:board_game_tabula = yes - scope:board_game_hnefatafl = yes - scope:board_game_go = yes - scope:board_game_fidchell = yes - } - } - scope:actor = { trigger_event = board_games.0102 } - } - } - - send_option = { - flag = single_combat - localization = start_bout_interaction_single_combat - } - - send_option = { - flag = board_game_chess - localization = start_bout_interaction_board_game_chess - } - - send_option = { - flag = board_game_pachisi - localization = start_bout_interaction_board_game_pachisi - } - - send_option = { - flag = board_game_tabula - localization = start_bout_interaction_board_game_tabula - } - - send_option = { - flag = board_game_hnefatafl - localization = start_bout_interaction_board_game_hnefatafl - } - - send_option = { - flag = board_game_go - localization = start_bout_interaction_board_game_go - } - - send_option = { - flag = board_game_fidchell - localization = start_bout_interaction_board_game_fidchell - } - - auto_accept = yes -} - -add_artifact_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = artifact - is_shown = { - debug_only = yes - } - - send_option = { - flag = weapon - localization = add_artifact_interaction_weapon - } - send_option = { - flag = armor - localization = add_artifact_interaction_armor - } - send_option = { - flag = shinies - localization = add_artifact_interaction_shinies - } - send_option = { - flag = book - localization = add_artifact_interaction_book - } - send_option = { - flag = furniture - localization = add_artifact_interaction_furniture - } - send_option = { - flag = trinket - localization = add_artifact_interaction_trinket - } - send_option = { - flag = random_personal - localization = add_random_artifact_interaction - } - send_option = { - flag = christian - localization = christian_relic - } - send_option = { - flag = islam - localization = islam_relic - } - send_option = { - flag = buddhism - localization = buddhism_relic - } - send_option = { - flag = judaism - localization = judaism_relic - } - - on_accept = { - custom_tooltip = add_artifact_interaction - save_scope_value_as = { - name = quality - value = 100 - } - scope:recipient = { - hidden_effect = { - save_scope_as = owner - random_dummy_gender_effect = yes - switch = { - trigger = yes - scope:weapon = { - create_artifact_weapon_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - SET_WEAPON_TYPE = flag:no - } - } - scope:armor = { - create_artifact_armor_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - SET_ARMOR_TYPE = flag:no - } - } - scope:shinies = { - random_list = { - 10 = { - create_artifact_regalia_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - 10 = { - create_artifact_crown_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - 10 = { - create_artifact_brooch_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - } - } - scope:book = { - create_artifact_book_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - SET_SUBJECT = flag:no - SET_TOPIC = flag:no - } - } - scope:furniture = { - random_list = { - 10 = { - create_artifact_throne_effect = { - OWNER = scope:owner - MAKER = scope:dummy_gender - } - } - 10 = { - create_artifact_tapestry_effect = { - OWNER = scope:owner - WEAVER = scope:dummy_gender - } - } - 10 = { - create_artifact_box_small_effect = { - OWNER = scope:owner - CARPENTER = scope:dummy_gender - } - } - 10 = { - create_artifact_box_medium_effect = { - OWNER = scope:owner - CARPENTER = scope:dummy_gender - } - } - 10 = { - create_artifact_goblet_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - 30 = { - create_artifact_animal_hide_effect = { - OWNER = scope:owner - HUNTER = scope:dummy_gender - LEGENDARY = no - ANIMAL = flag:none - } - } - 10 = { - create_artifact_wall_banner_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - TARGET = scope:owner.primary_title - } - } - 10 = { - create_artifact_wall_skull_effect = { - OWNER = scope:owner - HUNTER = scope:dummy_gender - LEGENDARY = no - ANIMAL = flag:none - } - } - 10 = { - create_artifact_sculpture_effect = { - OWNER = scope:owner - SCULPTER = scope:dummy_gender - } - } - 10 = { - create_artifact_wall_shield_effect = { - OWNER = scope:owner - TARGET = scope:owner.house - CREATOR = scope:dummy_gender - } - } - } - } - scope:trinket = { - create_artifact = { - name = cuckoldry_psalter_name - description = cuckoldry_psalter_description - type = miscellaneous - visuals = book - modifier = artifact_monthly_prestige_penalty_modifier - } - } - scope:random_personal = { - custom_tooltip = add_random_artifact_interaction - random_list = { - 10 = { - random_dummy_gender_effect = yes - create_artifact_weapon_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - SET_WEAPON_TYPE = flag:no - } - } - 10 = { - random_dummy_gender_effect = yes - create_artifact_armor_effect = { - OWNER = scope:owner - CREATOR = scope:dummy_gender - SET_ARMOR_TYPE = flag:no - } - } - 10 = { - random_dummy_gender_effect = yes - create_artifact_regalia_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - 10 = { - random_dummy_gender_effect = yes - create_artifact_crown_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - 10 = { - random_dummy_gender_effect = yes - create_artifact_brooch_effect = { - OWNER = scope:owner - SMITH = scope:dummy_gender - } - } - } - } - scope:christian = { - create_artifact_pedestal_reliquary_christian_effect = { OWNER = scope:owner } - } - scope:islam = { - create_artifact_pedestal_reliquary_islam_effect = { OWNER = scope:owner } - } - scope:buddhism = { - create_artifact_pedestal_reliquary_buddhism_effect = { OWNER = scope:owner } - } - scope:judaism = { - create_artifact_pedestal_reliquary_judaism_effect = { OWNER = scope:owner } - } - } - } - } - } - auto_accept = yes -} - -take_artifact_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_scheme_steal_back_artifact - - target_type = artifact - target_filter = recipient_artifacts - - is_shown = { - debug_only = yes - scope:recipient = { - any_character_artifact = { exists = this } - } - } - - send_option = { - is_valid = { - NOT = { scope:recipient = scope:actor } - } - flag = player - localization = take_artifact_player - } - send_option = { - is_valid = { - scope:recipient = { - any_neighboring_top_liege_realm_owner = { - NOR = { - this = scope:recipient - this = scope:actor - } - } - } - } - flag = random_neighbor - localization = give_away_random_artifact_interaction - } - - is_highlighted = { always = yes } - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:random_neighbor = { - random_neighboring_top_liege_realm_owner = { - limit = { - NOR = { - this = scope:recipient - this = scope:actor - } - } - save_scope_as = new_owner - } - } - scope:player = { - scope:actor = { save_scope_as = new_owner } - } - } - } - scope:target = { set_owner = scope:new_owner } - } - - auto_accept = yes - - ai_accept = { - base = 100 - } - - auto_accept = yes -} - -add_artifact_claim_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_scheme_steal_back_artifact - - target_type = artifact - target_filter = recipient_artifacts - - is_shown = { - scope:recipient = { - any_character_artifact = { exists = this } - } - NOT = { scope:recipient = scope:actor } - debug_only = yes - } - - send_option = { - flag = personal - localization = add_claim_on_artifact_interaction - } - send_option = { - flag = house - localization = add_house_claim_on_artifact_interaction - } - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:personal = { add_personal_artifact_claim = scope:target } - scope:house = { - house = { add_house_artifact_claim = scope:target } - } - } - } - } - auto_accept = yes -} - -debug_destroy_artifact_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = artifact - - target_type = artifact - target_filter = recipient_artifacts - - is_shown = { - debug_only = yes - scope:recipient = { - any_character_artifact = { exists = this } - } - } - - send_option = { - flag = destroy - localization = destroy_artifact - } - - send_option = { - flag = damage - localization = damage_artifact - } - - send_options_exclusive = yes - - on_accept = { - switch = { - trigger = yes - scope:destroy = { destroy_artifact = scope:target } - scope:damage = { - scope:target = { - add_durability = { - value = { - value = artifact_durability - divide = 2 - multiply = -1 - } - } - } - } - } - } - - auto_accept = yes -} - -inspire_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = inspiration - - is_shown = { - debug_only = yes - scope:recipient = { - NOT = { exists = inspiration } - has_completed_inspiration = no - is_ruler = no - is_playable_character = no - } - } - - send_option = { - flag = weapon_inspiration - localization = debug_inspiration_weapon - } - send_option = { - flag = armor_inspiration - localization = debug_inspiration_armor - } - send_option = { - flag = book_inspiration - localization = debug_inspiration_book - } - send_option = { - flag = weaver_inspiration - localization = debug_inspiration_weaver - } - send_option = { - flag = adventure_inspiration - localization = debug_inspiration_adventure - } - send_option = { - flag = artisan_inspiration - localization = debug_inspiration_artisan - } - send_option = { - flag = smith_inspiration - localization = debug_inspiration_smith - } - send_option = { - flag = alchemy_inspiration - localization = debug_inspiration_alchemy - } - - on_accept = { - scope:recipient = { - if = { - limit = { - always = scope:book_inspiration - } - create_inspiration = book_inspiration - custom_tooltip = inspire_interaction_book - } - else_if = { - limit = { - always = scope:weaver_inspiration - } - create_inspiration = weaver_inspiration - custom_tooltip = inspire_interaction_weaver - } - else_if = { - limit = { - always = scope:adventure_inspiration - } - create_inspiration = adventure_inspiration - custom_tooltip = inspire_interaction_adventure - } - else_if = { - limit = { - always = scope:artisan_inspiration - } - create_inspiration = artisan_inspiration - custom_tooltip = inspire_interaction_artisan - } - else_if = { - limit = { - always = scope:smith_inspiration - } - create_inspiration = smith_inspiration - custom_tooltip = inspire_interaction_smith - } - else_if = { - limit = { - always = scope:alchemy_inspiration - } - create_inspiration = alchemy_inspiration - custom_tooltip = inspire_interaction_alchemy - } - else_if = { - limit = { - always = scope:armor_inspiration - } - create_inspiration = armor_inspiration - custom_tooltip = inspire_interaction_armor - } - else = { - create_inspiration = weapon_inspiration - custom_tooltip = inspire_interaction_weapon - } - } - } - - auto_accept = yes -} - -sponsor_inspiration_debug = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - auto_accept = yes - - is_shown = { - debug_only = yes - exists = scope:recipient.inspiration - } - - is_valid_showing_failures_only = { - scope:actor = { - can_sponsor_inspiration = scope:recipient.inspiration - } - } - - is_valid = { - scope:actor = { - can_sponsor_inspiration = scope:recipient.inspiration - } - } - - on_accept = { - scope:actor = { - sponsor_inspiration = scope:recipient.inspiration - } - } -} - -test_effect_localization_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - - is_shown = { - debug_only = yes - scope:actor = { is_ai = no } - NOT = { scope:actor = scope:recipient } - always = no # Comment out this line to see this interaction - } - on_accept = { - # Effects are shown under the actor and recipient entries - scope:actor = { add_prestige = 50 } - scope:recipient = { add_prestige = 50 } - - # Effects on the same things are collected together into their existing actor and recipient block - scope:actor = { add_piety = 50 } - scope:recipient = { add_piety = 50 } - - # Effects in a self contained list are shown in the general text output and will explicitly name the involved characters, including the actor and recipient, with respect to first person pronouns if the player - scope:actor = { - random = { - chance = 30 - scope:actor = { - add_gold = 200 - random_courtier = { remove_short_term_gold = 50 } - } - scope:recipient = { add_piety = 200 } - } - random_list = { - 50 = { - scope:actor = { - add_gold = 50 - random_courtier = { add_gold = 10 } - } - scope:recipient = { add_piety = 50 } - } - 50 = { - scope:actor = { - remove_short_term_gold = 50 - random_courtier = { remove_short_term_gold = 10 } - } - scope:recipient = { add_piety = -50 } - } - } - # Single Skill Duel - duel = { - skill = diplomacy - target = scope:recipient - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = -49 - } - scope:actor = { - add_gold = 50 - random_courtier = { add_gold = 10 } - } - scope:recipient = { add_piety = 50 } - } - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = -49 - } - scope:actor = { - remove_short_term_gold = 50 - random_courtier = { remove_short_term_gold = 10 } - } - scope:recipient = { add_piety = -50 } - } - } - # Multi-skill duel - duel = { - skills = { prowess martial diplomacy } - target = scope:recipient - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = -49 - } - scope:actor = { - add_gold = 50 - random_courtier = { add_gold = 10 } - } - scope:recipient = { add_piety = 50 } - } - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = -49 - } - scope:actor = { - remove_short_term_gold = 50 - random_courtier = { remove_short_term_gold = 10 } - } - scope:recipient = { add_piety = -50 } - } - } - } - - # Effects on non core targets get their own separate entries - scope:actor = { - every_courtier = { - add_gold = 10 - } - } - # And multiple effects on the same objects are collected into their existing entries - scope:actor = { - every_courtier = { - add_piety = 10 - } - } - } - - auto_accept = yes -} - -#Give the character a criminal trait that allows actor to imprison them -give_criminal_trait_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = prison - - is_shown = { - debug_only = yes - NOT = { - scope:actor = { - has_imprisonment_reason = scope:recipient - } - } - } - - on_accept = { - custom_tooltip = give_criminal_trait_interaction_tt - hidden_effect = { - scope:recipient = { - make_criminal_effect = yes - - #If they're still not a criminal we have them murder someone close to you - if = { - limit = { - NOT = { - scope:actor = { - has_imprisonment_reason = scope:recipient - } - } - any_close_family_member = { - NOT = { this = scope:recipient } - } - } - random_close_family_member = { - limit = { - NOT = { this = scope:recipient } - } - save_scope_as = family - known_murder_effect = { - VICTIM = scope:family - MURDERER = scope:recipient - EXPOSER = scope:recipient - } - } - } - } - } - } - - auto_accept = yes -} - -generate_artifact_with_history_interaction = { - category = interaction_debug_main - desc = generate_artifact_with_history_debug_desc - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = artifact - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - on_accept = { - scope:actor = { trigger_event = debug.400 } - } - - auto_accept = yes -} - -# Have (or trigger the aftermath of) sex with the target character -debug_sex_interaction = { # Sleep With Character - icon = seducer - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - on_accept = { scope:actor = { trigger_event = debug.410 } } - auto_accept = yes -} - -debug_change_every_county = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = alliance - - is_shown = { debug_only = yes } - send_option = { # Set Control to Max (100) - flag = debug_change_every_county_max_control - localization = debug_change_every_county.a - } - send_option = { # Set Control to Lowest (0) (-500) - flag = debug_change_every_county_lowest_control - localization = gain_county_corruption.message.low_control - } - send_option = { # Set Opinion to Max - flag = debug_change_every_county_highest_opinion - localization = debug_change_every_county.b.a - } - send_option = { # Set Opinion to Min - flag = debug_change_every_county_lowest_opinion - localization = debug_change_every_county.b.b - } - send_option = { # Here goes anything else you may want to do in the future, just add another send_option and then an if on the accept - flag = debug_change_every_county_convert_to_fatih - localization = FAITH_CONVERSION_CONVERT - } - # send_option = { # Here goes anything else you may want to do in the future, just add another send_option and then an if on the accept - # flag = auto_formatter_complains_if_I_do_not_do_this - # localization = debug_start_era_of_crusades_interaction - # } - - on_accept = { # In retrospect, this is pretty sloppy script, but it makes sense considering how old it is -h - if = { # Set Control to Max (100) - limit = { scope:debug_change_every_county_max_control = yes } - scope:recipient = { every_held_county = { change_county_control = 100 } } - } - else_if = { - limit = { scope:debug_change_every_county_lowest_control = yes } - scope:recipient = { every_held_county = { change_county_control = -500 } } - } - else_if = { - limit = { scope:debug_change_every_county_highest_opinion = yes } - scope:recipient = { every_held_county = { add_county_modifier = debug_max_popular_opinion_modifier } } # Please ignore this violation of basic scripting decency, I do it for compactness - } - else_if = { - limit = { scope:debug_change_every_county_lowest_opinion = yes } - scope:recipient = { every_held_county = { add_county_modifier = debug_min_popular_opinion_modifier } } - } - else_if = { - limit = { scope:debug_change_every_county_convert_to_fatih = yes } - scope:recipient = { every_held_county = { set_county_faith = scope:actor.faith } } - } - } - - auto_accept = yes - ai_accept = { - base = 100 - } -} - -# Embezzle from 'em -do_a_crime_embezzle_interaction = { - category = interaction_debug_main - desc = do_a_crime_embezzle_interaction_desc - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_gold - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - on_accept = { - scope:actor = { - # Steal a coin. - if = { - limit = { scope:steal_x1 = yes } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = 1 - } - scope:recipient = { - pay_short_term_gold = { - target = scope:actor - gold = 1 - } - } - } - # Steal many coins. - else_if = { - limit = { scope:steal_x100 = yes } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = 100 - } - scope:recipient = { - pay_short_term_gold = { - target = scope:actor - gold = 100 - } - } - } - # Steal the maniest coins. - else_if = { - limit = { scope:steal_x1000 = yes } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = 1000 - } - scope:recipient = { - pay_short_term_gold = { - target = scope:actor - gold = 1000 - } - } - } - } - } - - send_option = { - flag = steal_x1 - localization = do_a_crime_embezzle_interaction_steal_x1 - } - - send_option = { - flag = steal_x100 - localization = do_a_crime_embezzle_interaction_steal_x100 - } - - send_option = { - flag = steal_x1000 - localization = do_a_crime_embezzle_interaction_steal_x1000 - } - - auto_accept = yes -} - -add_glory_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_combat - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - send_option = { - flag = high_glory - localization = add_glory_debug_high_tt - } - send_option = { - flag = low_glory - localization = add_glory_debug_low_tt - } - send_option = { - flag = delete_glory - localization = add_glory_debug_delete_tt - } - - on_accept = { - scope:recipient = { - hidden_effect = { - if = { - limit = { - scope:high_glory = yes - scope:recipient = { - is_acclaimed = yes - } - } - scope:recipient = { - accolade = { - add_glory = 2500 - } - } - } - else_if = { - limit = { - scope:low_glory = yes - scope:recipient = { - is_acclaimed = yes - } - } - scope:recipient = { - accolade = { - add_glory = 250 - } - } - } - else_if = { - limit = { - scope:delete_glory = yes - scope:recipient = { - is_acclaimed = yes - } - } - scope:recipient = { - accolade = { - add_glory = -5000 - } - } - } - } - } - } - auto_accept = yes -} - -debug_progress_all_active_schemes_interaction = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = debug_secret - is_shown = { debug_only = yes } - is_valid_showing_failures_only = { - scope:actor = { - any_scheme = { count >= 1 } - } - } - on_accept = { scope:recipient = { every_scheme = { add_scheme_progress = 100 } } } - auto_accept = yes - common_interaction = yes -} - -debug_travel_to_ruler_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = travel_mixed - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - on_accept = { - scope:actor = { - random_courtier_or_guest = { - limit = { - is_available = yes - } - save_scope_as = companion1 - } - random_courtier_or_guest = { - limit = { - NOT = { - this = scope:companion1 - } - is_available = yes - } - save_scope_as = companion2 - } - random_courtier_or_guest = { - limit = { - NOR = { - this = scope:companion1 - this = scope:companion2 - } - is_available = yes - } - save_scope_as = companion3 - } - start_travel_plan = { - destination = scope:recipient.capital_province - companion = scope:companion1 - companion = scope:companion2 - companion = scope:companion3 - on_arrival_event = travel_completion_event.1000 - on_arrival_destinations = all_but_last - return_trip = no # One way - } - } - } - - auto_accept = yes -} - -debug_add_truce_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_retreat - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - send_option = { - flag = one_way_receive - localization = truce_one_way_receive - } - - send_option = { - flag = one_way_give - localization = truce_one_way_give - } - - send_option = { - flag = two_way - localization = truce_two_way - } - - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:one_way_receive = { - scope:recipient = { - add_truce_one_way = { - character = scope:actor - years = 5 - name = TRUCE_DEBUG - } - } - } - scope:one_way_give = { - add_truce_one_way = { - character = scope:recipient - years = 5 - name = TRUCE_DEBUG - } - } - scope:two_way = { - add_truce_both_ways = { - character = scope:recipient - years = 5 - name = TRUCE_DEBUG - } - } - } - } - } - - auto_accept = yes -} - -spawn_epidemic_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = plague - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - send_option = { - is_valid = { - scope:consumption = no - scope:smallpox = no - scope:ergotism = no - scope:bubonic_plague = no - scope:typhus = no - scope:dysentery = no - } - flag = measles - localization = spawn_epidemic_interaction_measles - } - send_option = { - is_valid = { - scope:measles = no - scope:smallpox = no - scope:ergotism = no - scope:bubonic_plague = no - scope:typhus = no - scope:dysentery = no - } - flag = consumption - localization = epidemic_consumption - } - send_option = { - is_valid = { - scope:measles = no - scope:consumption = no - scope:ergotism = no - scope:bubonic_plague = no - scope:typhus = no - scope:dysentery = no - } - flag = smallpox - localization = spawn_epidemic_interaction_smallpox - } - send_option = { - is_valid = { - scope:measles = no - scope:consumption = no - scope:smallpox = no - scope:bubonic_plague = no - scope:typhus = no - scope:dysentery = no - } - flag = ergotism - localization = spawn_epidemic_interaction_ergotism - } - send_option = { - is_valid = { - scope:measles = no - scope:consumption = no - scope:smallpox = no - scope:ergotism = no - scope:typhus = no - scope:dysentery = no - } - flag = bubonic_plague - localization = spawn_epidemic_interaction_bubonic_plague - } - send_option = { - is_valid = { - scope:measles = no - scope:consumption = no - scope:smallpox = no - scope:ergotism = no - scope:bubonic_plague = no - scope:dysentery = no - } - flag = typhus - localization = spawn_epidemic_interaction_typhus - } - send_option = { - is_valid = { - scope:measles = no - scope:consumption = no - scope:smallpox = no - scope:ergotism = no - scope:bubonic_plague = no - scope:typhus = no - } - flag = dysentery - localization = spawn_epidemic_interaction_dysentery - } - send_option = { - is_valid = { - scope:major = no - scope:apocalyptic = no - } - flag = minor - localization = spawn_minor_epidemic_interaction - } - send_option = { - is_valid = { - scope:minor = no - scope:apocalyptic = no - } - flag = major - localization = spawn_major_epidemic_interaction - } - send_option = { - is_valid = { - scope:minor = no - scope:major = no - } - flag = apocalyptic - localization = spawn_apocalyptic_epidemic_interaction - } - - send_options_exclusive = no - - can_send = { - calc_true_if = { - amount >= 1 - scope:measles = yes - scope:consumption = yes - scope:smallpox = yes - scope:ergotism = yes - scope:bubonic_plague = yes - scope:typhus = yes - scope:dysentery = yes - } - calc_true_if = { - amount >= 1 - scope:minor = yes - scope:major = yes - scope:apocalyptic = yes - } - } - - on_accept = { - scope:recipient.capital_province = { - hidden_effect = { - switch = { - trigger = yes - scope:minor = { - switch = { - trigger = yes - scope:measles = { create_epidemic_outbreak = { type = measles intensity = minor } } - scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = minor } } - scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = minor } } - scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = minor } } - scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = minor } } - scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = minor } } - scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = minor } } - } - } - scope:major = { - switch = { - trigger = yes - scope:measles = { create_epidemic_outbreak = { type = measles intensity = major } } - scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = major } } - scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = major } } - scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = major } } - scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = major } } - scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = major } } - scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = major } } - } - } - scope:apocalyptic = { - switch = { - trigger = yes - scope:measles = { create_epidemic_outbreak = { type = measles intensity = apocalyptic } } - scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = apocalyptic } } - scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = apocalyptic } } - scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = apocalyptic } } - scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = apocalyptic } } - scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = apocalyptic } } - scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = apocalyptic } } - } - } - } - } - } - } - auto_accept = yes -} - -spawn_legend_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = legend - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - send_option = { - flag = heroic - localization = spawn_legend_interaction_heroic - } - send_option = { - flag = holy - localization = spawn_legend_interaction_holy - } - send_option = { - flag = legitimizing - localization = spawn_legend_interaction_legitimizing - } - - on_accept = { - scope:recipient = { - hidden_effect = { - if = { - limit = { - scope:heroic = yes - } - scope:recipient = { - create_legend = { - type = heroic - quality = famed - chronicle = ancestral_glory - properties = { - ancestor = scope:recipient - title = scope:recipient.primary_title - } - } - } - } - else_if = { - limit = { - scope:holy = yes - } - scope:recipient = { - create_legend = { - type = holy - quality = famed - chronicle = ancestral_glory - properties = { - ancestor = scope:recipient - title = scope:recipient.primary_title - } - } - } - } - else_if = { - limit = { - scope:legitimizing = yes - } - scope:recipient = { - create_legend = { - type = legitimizing - quality = famed - chronicle = ancestral_glory - properties = { - ancestor = scope:recipient - title = scope:recipient.primary_title - } - } - } - } - } - } - } - auto_accept = yes -} - -debug_buff_schemes = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = scheme_assassination - send_options_exclusive = no - - interface_priority = -1 - - is_shown = { debug_only = yes } - - auto_accept = yes - - # Clear my opportunities. - send_option = { flag = debug_buff_schemes_zero_opportunity } - # Give me an opportunity. - send_option = { flag = debug_buff_schemes_one_opportunity } - # Give me max opportunities. - send_option = { flag = debug_buff_schemes_many_opportunity } - # Give me an agent slot that gives base success chance. - send_option = { flag = debug_buff_schemes_give_agent_success_chance_base } - # Give me an agent slot that gives success chance growth. - send_option = { flag = debug_buff_schemes_give_agent_success_chance_growth } - # Give me an agent slot that gives max success chance. - send_option = { flag = debug_buff_schemes_give_agent_success_chance_max } - # Give me an agent slot that gives speed. - send_option = { flag = debug_buff_schemes_give_agent_speed } - # Give me an agent slot that gives secrecy. - send_option = { flag = debug_buff_schemes_give_agent_secrecy } - # Set scheme progress to 1. - send_option = { flag = debug_buff_schemes_progress_one } - # Set scheme progress to half. - send_option = { flag = debug_buff_schemes_progress_half } - # Reset scheme progress. - send_option = { flag = debug_buff_schemes_progress_reset } - - on_accept = { - custom_tooltip = debug_buff_schemes.tt.application_warning - scope:recipient = { - every_scheme = { - if = { - limit = { always = scope:debug_buff_schemes_zero_opportunity } - change_opportunities = { - value = scheme_agent_charges - multiply = -1 - } - } - if = { - limit = { always = scope:debug_buff_schemes_one_opportunity } - change_opportunities = 2 - } - if = { - limit = { always = scope:debug_buff_schemes_many_opportunity } - change_opportunities = opportunity_cap_value - } - if = { - limit = { always = scope:debug_buff_schemes_give_agent_success_chance_base } - add_agent_slot = agent_wraith - } - if = { - limit = { always = scope:debug_buff_schemes_give_agent_success_chance_growth } - add_agent_slot = agent_changeling - } - if = { - limit = { always = scope:debug_buff_schemes_give_agent_success_chance_max } - add_agent_slot = agent_mage - } - if = { - limit = { always = scope:debug_buff_schemes_give_agent_speed } - add_agent_slot = agent_werewolf - } - if = { - limit = { always = scope:debug_buff_schemes_give_agent_secrecy } - add_agent_slot = agent_vampire - } - if = { - limit = { always = scope:debug_buff_schemes_progress_one } - custom_tooltip = { - text = debug_buff_schemes_progress_one - add_scheme_progress = { - value = scheme_phase_duration - subtract = scheme_progress - add = -1 - } - } - } - if = { - limit = { always = scope:debug_buff_schemes_progress_half } - custom_tooltip = { - text = debug_buff_schemes_progress_half - add_scheme_progress = { - value = scheme_progress - multiply = -1 - } - add_scheme_progress = { - value = scheme_phase_duration - multiply = 0.5 - } - } - } - if = { - limit = { always = scope:debug_buff_schemes_progress_reset } - custom_tooltip = { - text = debug_buff_schemes_progress_reset - add_scheme_progress = { - value = scheme_progress - multiply = -1 - } - } - } - } - } - } -} - -debug_clear_agents_from_schemes = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = independence - send_options_exclusive = no - - interface_priority = -1 - - is_shown = { debug_only = yes } - - auto_accept = yes - - send_option = { flag = debug_clear_agents_from_schemes_slot_1 } - send_option = { flag = debug_clear_agents_from_schemes_slot_2 } - send_option = { flag = debug_clear_agents_from_schemes_slot_3 } - send_option = { flag = debug_clear_agents_from_schemes_slot_4 } - send_option = { flag = debug_clear_agents_from_schemes_slot_5 } - send_option = { flag = debug_clear_agents_from_schemes_slot_excess } - send_option = { flag = debug_clear_agents_from_schemes_slot_all_but_first } - send_option = { flag = debug_clear_agents_from_schemes_slot_all } - - on_accept = { - custom_tooltip = debug_buff_schemes.tt.application_warning - scope:recipient = { - every_scheme = { - ordered_scheme_agent_slot = { - order_by = { value = 0 } - max = 5 - if = { - limit = { - NOT = { exists = scope:slot_1 } - } - save_scope_as = slot_1 - } - else_if = { - limit = { - NOR = { - this = scope:slot_1 - exists = scope:slot_2 - } - } - save_scope_as = slot_2 - } - else_if = { - limit = { - NOR = { - this = scope:slot_1 - this = scope:slot_2 - exists = scope:slot_3 - } - } - save_scope_as = slot_3 - } - else_if = { - limit = { - NOR = { - this = scope:slot_1 - this = scope:slot_2 - this = scope:slot_3 - exists = scope:slot_4 - } - } - save_scope_as = slot_4 - } - else_if = { - limit = { - NOR = { - this = scope:slot_1 - this = scope:slot_2 - this = scope:slot_3 - this = scope:slot_4 - exists = scope:slot_5 - } - } - save_scope_as = slot_5 - } - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_1 } - remove_agent_slot = scope:slot_1 - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_2 } - remove_agent_slot = scope:slot_2 - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_3 } - remove_agent_slot = scope:slot_3 - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_4 } - remove_agent_slot = scope:slot_4 - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_5 } - remove_agent_slot = scope:slot_5 - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_excess } - every_scheme_agent_slot = { - limit = { - NOR = { - this = scope:slot_1 - this = scope:slot_2 - this = scope:slot_3 - this = scope:slot_4 - this = scope:slot_5 - } - } - save_scope_as = slot_temp - prev = { remove_agent_slot = scope:slot_temp } - } - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_all_but_first } - every_scheme_agent_slot = { - limit = { - NOT = { this = scope:slot_1 } - } - save_scope_as = slot_temp - prev = { remove_agent_slot = scope:slot_temp } - } - } - if = { - limit = { always = scope:debug_clear_agents_from_schemes_slot_all } - every_scheme_agent_slot = { - save_scope_as = slot_temp - prev = { remove_agent_slot = scope:slot_temp } - } - } - } - } - } -} - -debug_make_laamp = { - category = interaction_debug_admin - desc = debug_make_laamp_desc - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = request_invasion_sponsorship_interaction - - interface_priority = -1 - - is_shown = { debug_only = yes } - - auto_accept = yes - - on_accept = { - scope:recipient = { - if = { - limit = { is_ruler = yes } - depose = yes - } - create_landless_adventurer_title_effect = { - REASON = flag:voluntary - FLAVOR_CHAR = scope:recipient - } - } - } -} - -debug_add_to_contact_list_interaction = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_contract_modification_single - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - scope:actor = { - is_landless_adventurer = yes - } - } - - is_valid_showing_failures_only = { - #not already on the list - scope:recipient = { NOT = { is_contact_of = scope:actor } } - } - - on_accept = { - scope:actor = { - add_contact = scope:recipient - } - } - - auto_accept = yes -} - -debug_alliance_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_ally - is_shown = { - debug_only = yes - NOR = { - scope:recipient = scope:actor - scope:recipient = { is_allied_to = scope:actor } - scope:recipient = { is_at_war_with = scope:actor } - } - } - - on_accept = { - scope:actor = { - create_alliance = { - target = scope:recipient - allied_through_owner = scope:actor - allied_through_target = scope:recipient - } - } - scope:recipient = { # This opinion modifier controls the interaction, and is removed when breaking the alliance in any way (though on_actions) - add_opinion = { - modifier = perk_negotiated_alliance_opinion - target = scope:actor - } - } - } - auto_accept = yes -} - -create_task_contract_interaction = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_contract_modification_single - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - send_option = { flag = create_task_contract_interaction_option_1 } - send_option = { flag = create_task_contract_interaction_option_2 } - send_option = { flag = create_task_contract_interaction_option_3 } - send_option = { flag = create_task_contract_interaction_option_4 } - send_option = { flag = create_task_contract_interaction_option_5 } - - is_valid_showing_failures_only = { - valid_laamp_basic_trigger = { - EMPLOYER = scope:recipient - LAAMP = scope:actor - } - } - - on_accept = { - scope:actor = { - # Now fire the contract. - switch = { - trigger = yes - scope:create_task_contract_interaction_option_1 = { - create_task_contract = { - # Comment/de-comment as appropriate for what you want to fire. - #contract_type = laamp_base_0001 - #contract_type = laamp_base_1001 - #task_contract_type = laamp_base_2001 - #task_contract_type = laamp_base_3001 - #task_contract_type = laamp_base_4001 - #task_contract_type = laamp_base_6001 - task_contract_type = laamp_base_4100 - task_contract_tier = 0 - location = scope:recipient.location - task_contract_employer = scope:recipient - } - } - scope:create_task_contract_interaction_option_2 = { - create_task_contract = { - # Comment/de-comment as appropriate for what you want to fire. - #task_contract_type = laamp_base_0011 - #task_contract_type = laamp_base_1011 - task_contract_type = laamp_base_2011 - #task_contract_type = laamp_base_3011 - task_contract_type = laamp_base_4011 - #task_contract_type = laamp_base_6011 - task_contract_tier = 0 - location = scope:recipient.location - task_contract_employer = scope:recipient - } - } - scope:create_task_contract_interaction_option_3 = { - create_task_contract = { - # Comment/de-comment as appropriate for what you want to fire. - #task_contract_type = laamp_base_0021 - #task_contract_type = laamp_base_1021 - #task_contract_type = laamp_base_2001 - #task_contract_type = laamp_base_3021 - task_contract_type = laamp_base_4021 - #task_contract_type = laamp_base_6021 - task_contract_tier = 0 - location = scope:recipient.location - task_contract_employer = scope:recipient - } - } - scope:create_task_contract_interaction_option_4 = { - create_task_contract = { - # Comment/de-comment as appropriate for what you want to fire. - #task_contract_type = laamp_base_0031 - #task_contract_type = laamp_base_1031 - #task_contract_type = laamp_base_2031 - #task_contract_type = laamp_base_3031 - #task_contract_type = laamp_base_4031 - task_contract_type = laamp_base_5031 - #task_contract_type = laamp_base_6031 - task_contract_tier = 0 - location = scope:recipient.location - task_contract_employer = scope:recipient - } - } - scope:create_task_contract_interaction_option_5 = { - create_task_contract = { - # Comment/de-comment as appropriate for what you want to fire. - #task_contract_type = laamp_base_0041 - #task_contract_type = laamp_base_1041 - task_contract_type = laamp_base_2041 - #task_contract_type = laamp_base_3041 - #task_contract_type = laamp_base_4041 - task_contract_tier = 0 - location = scope:recipient.location - task_contract_employer = scope:recipient - } - } - } - - } - } - auto_accept = yes -} - -# Debug move domicile, choose between moving just the domicile, moving the domicile and the owner, and if you want to use the travel system to do it (last option is only for laamps). -debug_move_domicile_interaction = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = yes - icon = travel_mixed - - interface_priority = -1 - - is_shown = { - debug_only = yes - scope:actor = { - has_domicile = yes - } - } - - auto_accept = yes - - send_option = { - starts_enabled = { always = yes } - flag = move_domicile_option - } - send_option = { - is_shown = { - scope:actor = { - is_landless_adventurer = yes - } - } - flag = move_with_travel_option - } - send_options_exclusive = no - - on_accept = { - scope:recipient.capital_province = { - save_scope_as = relocation_destination - } - scope:actor = { - if = { - limit = { - scope:move_domicile_option = yes - } - if = { - limit = { - scope:move_with_travel_option = yes - } - start_travel_plan = { - destination = scope:relocation_destination - on_start_on_action = on_travel_relocation_start - on_arrival_on_action = on_travel_relocation_end - on_arrival_destinations = last - return_trip = no # One way - travel_with_domicile = yes - } - } - else = { - domicile = { - move_domicile = scope:relocation_destination - } - populate_location_with_contracts_effect = { - AREA_CHAR = scope:actor - AMOUNT = 5 - } - } - } - else = { - if = { - limit = { - scope:move_with_travel_option = yes - } - start_travel_plan = { - destination = scope:relocation_destination - on_start_on_action = on_travel_relocation_start - on_arrival_on_action = on_travel_relocation_end - on_arrival_destinations = last - return_trip = no # One way - travel_with_domicile = yes - } - } - else = { - domicile = { - move_domicile = scope:relocation_destination - } - populate_location_with_contracts_effect = { - AREA_CHAR = scope:actor - AMOUNT = 5 - } - } - } - } - } -} - -debug_populate_contracts = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = no - icon = icon_scheme_learn_language - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - auto_accept = yes - - on_accept = { - scope:actor = { - populate_location_with_contracts_effect = { - AREA_CHAR = scope:recipient - AMOUNT = 5 - } - } - } -} - -give_infinite_schemes_of_type_interaction = { - category = interaction_debug_admin - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_adultery - - interface_priority = -1 - - is_shown = { - debug_only = yes - } - - send_option = { flag = give_infinite_schemes_of_type_all } - send_option = { flag = give_infinite_schemes_of_type_hostile } - send_option = { flag = give_infinite_schemes_of_type_contract } - send_option = { flag = give_infinite_schemes_of_type_personal } - send_option = { flag = give_infinite_schemes_of_type_clear_modifiers } - - on_accept = { - scope:actor = { - custom_tooltip = give_infinite_schemes_of_type_interaction.tt - if = { - limit = { scope:give_infinite_schemes_of_type_all = yes } - add_character_modifier = infinite_hostile_schemes_modifier - add_character_modifier = infinite_contract_schemes_modifier - add_character_modifier = infinite_personal_schemes_modifier - } - if = { - limit = { scope:give_infinite_schemes_of_type_hostile = yes } - add_character_modifier = infinite_hostile_schemes_modifier - } - if = { - limit = { scope:give_infinite_schemes_of_type_contract = yes } - add_character_modifier = infinite_contract_schemes_modifier - } - if = { - limit = { scope:give_infinite_schemes_of_type_personal = yes } - add_character_modifier = infinite_personal_schemes_modifier - } - if = { - limit = { scope:give_infinite_schemes_of_type_clear_modifiers = yes } - remove_character_modifier = infinite_hostile_schemes_modifier - remove_character_modifier = infinite_contract_schemes_modifier - remove_character_modifier = infinite_personal_schemes_modifier - } - } - } - auto_accept = yes -} - -antagonise_court = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_hostile - - is_shown = { - debug_only = yes - } - - send_option = { - flag = vassals_only - localization = antagonise_court_vassals_only - } - - send_option = { - flag = courtiers_and_guests - localization = antagonise_court_courtiers_and_guests - } - - send_option = { - flag = present_family - localization = antagonise_court_present_family - } - - send_option = { - flag = antagonise_all - localization = antagonise_court_antagonise_all - } - - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:vassals_only = { - every_vassal = { - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - } - scope:courtiers_and_guests = { - every_courtier_or_guest = { - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - } - scope:present_family = { - every_close_or_extended_family_member = { - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - } - scope:antagonise_all = { - every_vassal = { - limit = { - NOT = { - is_close_or_extended_family_of = scope:recipient - } - } - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - every_courtier_or_guest = { - limit = { - NOT = { - is_close_or_extended_family_of = scope:recipient - } - } - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - every_close_or_extended_family_member = { - add_opinion = { - target = scope:recipient - modifier = hate_opinion - opinion = -250 - } - } - } - } - } - } - - auto_accept = yes -} - -spawn_courtier_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = guest - - interface_priority = -1 - - is_shown = { - debug_only = yes - scope:recipient = { is_ruler = yes } - } - - send_option = { - flag = diplomacy - localization = diplomacy - } - send_option = { - flag = martial - localization = martial - } - send_option = { - flag = stewardship - localization = stewardship - } - send_option = { - flag = intrigue - localization = intrigue - } - send_option = { - flag = learning - localization = learning - } - send_option = { - flag = prowess - localization = prowess - } - - on_accept = { - switch = { - trigger = yes - scope:diplomacy = { - create_character = { - template = pool_repopulate_diplomacy - gender_female_chance = 50 - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - scope:martial = { - create_character = { - template = pool_repopulate_martial - gender_female_chance = recipient_soldier_female_chance - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - scope:stewardship = { - create_character = { - template = pool_repopulate_stewardship - gender_female_chance = 50 - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - scope:intrigue = { - create_character = { - template = pool_repopulate_intrigue - gender_female_chance = 50 - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - scope:learning = { - create_character = { - template = pool_repopulate_learning - gender_female_chance = 50 - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - scope:prowess = { - create_character = { - template = pool_repopulate_prowess - gender_female_chance = recipient_soldier_female_chance - culture = scope:recipient.culture - faith = scope:recipient.faith - location = scope:recipient.location - dynasty = none - save_scope_as = new_courtier - } - } - } - scope:recipient = { custom_tooltip = spawn_courtier_interaction_tt } - if = { - limit = { exists = scope:new_courtier } - scope:recipient = { - hidden_effect = { - send_interface_toast = { - title = spawn_courtier_interaction_tt - left_icon = scope:new_courtier - right_icon = scope:actor - add_courtier = scope:new_courtier - hidden_effect = { - scope:new_courtier = { return_to_court = yes } - } - } - } - } - } - } - auto_accept = yes -} - -destroy_title_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = antagonistic - - is_shown = { - debug_only = yes - } - - send_option = { # Destroys just the top title of the realm - is_valid = { - scope:recipient = { - primary_title.tier >= tier_duchy - } - } - flag = top_title - localization = debug_top_title_interaction - } - - send_option = { # Destroys all the titles except county titles in the realm - flag = all_title - localization = debug_all_title_interaction - } - - on_accept = { - switch = { - trigger = yes - scope:top_title = { - scope:recipient = { - scope:recipient = { destroy_title = primary_title } - } - } - scope:all_title = { - scope:recipient = { - every_sub_realm_title = { - limit = { - tier >= tier_duchy - } - scope:recipient = { destroy_title = prev } - } - } - } - } - } - - auto_accept = yes -} - -debug_change_the_great_steppe = { - category = interaction_debug_mpo - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = yes - icon = travel_mixed - - interface_priority = -1 - auto_accept = yes - - is_shown = { - debug_only = yes - scope:actor = { - government_has_flag = government_is_nomadic - } - } - send_option = { - flag = grazing - localization = debug_change_steppe_grazing - } - send_option = { - flag = drought - localization = debug_change_steppe_drought - } - send_option = { - flag = white_zud - localization = debug_change_steppe_white_zud - } - send_option = { - flag = cold_zud - localization = debug_change_steppe_cold_zud - } - send_option = { - flag = summer - localization = debug_change_steppe_everlasting_summer - } - send_option = { - flag = blessing - localization = debug_change_steppe_blessing - } - send_option = { - flag = havsarsan - localization = debug_change_steppe_havsarsan - } - on_accept = { - switch = { - trigger = yes - scope:grazing = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_abundant_grazing_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_abundant_grazing_season } - } - } - } - } - scope:drought = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_severe_drought_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_severe_drought_season } - } - } - } - } - scope:white_zud = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_white_zud_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_white_zud_season } - } - } - } - } - scope:cold_zud = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_cold_zud_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_cold_zud_season } - } - } - } - } - scope:summer = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_warm_nights_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_warm_nights_season } - } - } - } - } - scope:blessing = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_sky_blessing_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_sky_blessing_season } - } - } - } - } - scope:havsarsan = { - if = { - limit = { - NOT = { exists = situation:the_great_steppe } - } - start_situation = { - type = the_great_steppe - start_phase = situation_steppe_havsarsan_zud_season - } - } - else = { - situation:the_great_steppe = { - every_situation_sub_region = { - change_phase = { phase = situation_steppe_havsarsan_zud_season } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/N3OW/common/character_interactions/00_diarch_interactions.txt b/N3OW/common/character_interactions/00_diarch_interactions.txt deleted file mode 100644 index 29e03377..00000000 --- a/N3OW/common/character_interactions/00_diarch_interactions.txt +++ /dev/null @@ -1,10017 +0,0 @@ -@ai_skill_diff_upper_threshold = 8 -@ai_skill_diff_lower_threshold = 2 -@ai_prestige_bank_threshold = 2 - -@ai_core_loop_base_value = 4000 -@ai_threshold_for_revoke_cyle = 3 -@ai_secondary_powers_base_value = 500 - -############################################### -# #Setup & Misc -# -# CORE DIARCH POWERS -# diarch_revoke_title_interaction - diarch (actor) takes a title from a vassal of their liege (recipient) with an optional veto for the liege (third_party). -# diarch_retract_vassal_interaction - diarch (actor) takes a vassal from a vassal of their liege (recipient) with an optional veto for the liege (third_party). -# diarch_imprison_interaction - diarch (actor) tries to move a character (recipient) within the sub-realm of their liege (third) to their dungeon, with an optional veto for the liege. -# diarch_entrench_regency_interaction - diarch (actor) shifts the diarchy from temporary to entrenched, making it more difficult for their liege (recipient) to get rid of them. -# -# ANCILLARY DIARCH POWERS -# diarch_legal_meddling_interaction - diarch (actor) either tests learning or spends prestige to gain an unpressed claim on a title held by a vassal of their liege (recipient). -# diarch_syphon_treasury_interaction - diarch (actor) either tests stewardship or spends prestige to gain gold at the expense of negative modifiers delivered to the liege (recipient). -# diarch_shift_privileges_interaction - diarch (actor) either tests diplomacy or spends prestige to give negative modifiers to the lands of a vassal of their liege (secondary recipient), who can't resist. -################################################## - - - - - - - - - - -################################################## -# CORE DIARCH POWERS - -# Diarch (actor) takes a title from a vassal (recipient) of their liege with an optional veto for the liege (third_party). -diarch_revoke_title_interaction = { - category = interaction_category_diarch - common_interaction = no - interface_priority = 35 - diarch_interaction = yes - highlighted_reason = HIGHLIGHTED_CAN_DIARCH_REVOKE - notification_text = DIARCH_REVOKE_TITLE_PROPOSAL - intermediary_notification_text = diarch_interaction_requesting_sign_off.tt - intermediary_breakdown_yes = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_YES - intermediary_breakdown_no = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_NO - intermediary_breakdown_maybe = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_MAYBE - intermediary_answer_accept_key = REPLY_ANSWER_ALLOW - intermediary_answer_reject_key = REPLY_ANSWER_VETO - pre_answer_yes_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_YES - pre_answer_no_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_NO - pre_answer_maybe_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_MAYBE - icon = revoke_title - redirect = { - scope:actor.liege ?= { save_scope_as = intermediary } - } - - desc = diarch_revoke_title_interaction_desc - send_name = diarch_revoke_title_interaction.send_name - - special_interaction = diarch_revoke_title - interface = revoke_title - target_type = title - target_filter = recipient_domain_titles - ai_maybe = yes - ai_intermediary_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - on_decline_summary = diarch_rebel_or_crime_summary - prompt = RETRACT_VASSAL_SELECT_VASSAL_TO_RETRACT - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - } - # Make sure scope:recipient is suitable. - scope:recipient = { - # We only target vassals of the liege... - liege = scope:actor.liege - NOT = { this = scope:actor.liege } - # ... who are appropriately landed. - is_landed_or_landless_administrative = yes - scope:recipient.highest_held_title_tier >= tier_county - } - } - - is_valid = { - # Here to correct for some dodgy inheritance situations. - NOT = { scope:actor = scope:intermediary } - } - is_valid_showing_failures_only = { - # Standard validity checks. - title_revocation_standard_valid_showing_failures_only_trigger = yes - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Plus make sure there's a legal right to revoke. - scope:actor.liege = { - trigger_if = { - limit = { government_has_flag = government_is_tribal } - custom_description = { - text = "liege_has_law_allowing_title_revocation_tribal" - has_realm_law_flag = title_revocation_allowed - } - } - trigger_else_if = { - limit = { government_has_flag = government_is_administrative } - custom_description = { - text = "cannot_diarch_revoke_administrative_titles" - always = no - } - } - trigger_else = { - custom_description = { - text = "liege_has_law_allowing_title_revocation_crown" - has_realm_law_flag = title_revocation_allowed - } - } - } - trigger_if = { - limit = { - scope:recipient = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } - } - custom_description = { - text = liege_vassal_contract_forbids_revocation - object = scope:recipient - scope:recipient = { - NOT = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } - } - } - } - # Diarch revocations require a claim. - diarch_revocation_has_claim_check_trigger = yes - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_an_entrenched_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege ?= { has_diarchy_active_parameter = unlock_diarch_revoke_title_interaction } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - cooldown = { years = 1 } - cooldown_against_recipient = { years = 3 } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - is_highlighted = { - # Diarch revocations require a claim - this is uncommon, so we always highlight it. - diarch_revocation_has_claim_check_trigger = yes - } - - can_be_picked_title = { - scope:target = { - title_revocation_standard_can_pick_title_trigger = yes - # Plus, must have scope:actor as a claimant. - custom_description = { - text = "you_must_have_a_claim_on_the_title" - scope:actor = { has_claim_on = scope:target } - } - } - } - - # Hooks can be used to force this through. - ## We don't force-force this on/for the player (so no pain but less benefits), but AI regard weak hooks as compulsory from/for other AI. - send_options_exclusive = no - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - # Did a landless diarch send this? - log_diarch_send_interaction_as_variable_effect = { INTERACTION = revoke } - } - - on_auto_accept = { - scope:recipient = { trigger_event = char_interaction.0261 } - } - - on_accept = { - # Since this is a confusing interaction, we want to clarify what you're nicking. - scope:actor = { custom_tooltip = diarch_revoke_title_interaction.tt.gain_title } - # To keep some other arcane script working. - save_scope_value_as = { - name = revoke_title_interaction - value = yes - } - scope:actor = { - # Tell them that the revocation went through fine. - trigger_event = char_interaction.0262 - } - # Otherwise, follow the standard flow for revocation. - save_scope_value_as = { - name = use_strife_not_tyranny - value = yes - } - revoke_title_interaction_effect = yes - scope:actor = { - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # To avoid unlanded regents becoming vassals of the liege's direct vassals, make sure the current liege remains the liege - hidden_effect = { - scope:actor = { - if = { - limit = { - is_landed_or_landless_administrative = no - NOT = { scope:intermediary = scope:recipient } - } - # This has a delay of 1 day (if no delay then the liege change doesn't stick) which really isn't ideal and should be looked into/fixed so that it happens when the action goes into effect - trigger_event = { id = diarchy.0141 days = 1 } - } - } - } - - # Debug logging. - debug_log = debug_log.diarch_revoke_title.accepted - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_revoke_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_accept_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_accept_intermediary_list } - } - } - - on_intermediary_decline = { - # Scope:intermediary eats a prestige cost for their veto. - scope:intermediary = { add_prestige = liege_diarchy_veto_prestige_cost_high } - scope:actor = { - # Inform scope:actor that their liege has vetoed them. - ## First, we log which interaction this is for the event's effects. - save_scope_value_as = { - name = diarch_interaction - value = flag:title_revoke - } - ## Then, fire the event. - trigger_event = char_interaction.0291 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Inform scope:recipient that scope:intermediary has their back. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_good - title = diarch_action_vetoed.tt - left_icon = scope:actor - right_icon = scope:intermediary - custom_tooltip = diarch_revoke_title_interaction.tt.inform_recipient - } - } - # Flick out some opinions. - diarch_revoke_title_interaction_intermediary_fail_opinions_effect = yes - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_revoke_veto } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_veto_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_veto_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_veto_intermediary_list } - } - } - - on_decline = { - scope:actor = { - # Tell them that the revocation ran into issues. - trigger_event = char_interaction.0263 - # And give a crime reason for both them and the liege. - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = char_interaction.0263.result.criminal - diarch_declare_recipient_criminal_effect = yes - } - 50 = { - show_chance = no - desc = char_interaction.0263.result.war - diarch_declare_claim_war_effect = yes - } - } - } - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Flick out some opinions. - ## Scope:recipient is annoyed with scope:actor. - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = revoked_title - } - } - - # Debug logging. - debug_log = debug_log.diarch_revoke_title.rejected - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_revoke_reject } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_reject_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_reject_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_revoke_reject_intermediary_list } - } - } - - auto_accept = { - scope:recipient = { - calc_true_if = { - amount >= 2 - custom_description = { - text = "prisoner_revocation" - is_imprisoned_by = scope:actor - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - OR = { - # Strong hooks generally. - scope:actor = { has_strong_hook = scope:recipient } - # Weak hooks in inter-AI interactions count as strong hooks. - AND = { - scope:actor = { is_ai = yes } - scope:recipient = { is_ai = yes } - } - } - } - custom_description = { - text = "foreign_prison_revocation" - subject = scope:actor - object = scope:recipient - scope:recipient = { - is_imprisoned = yes - NOT = { is_imprisoned_by = scope:actor } - } - } - } - } - } - - ai_intermediary_accept = { - # The AI should be inclined to trust their regent, at least a little. - base = 0 - modifier = { add = liege_trust_diarch_trilateral_interaction_default_value } - - # Standard modifiers. - intermediary_liege_will_accept_standard_modifiers = { - CURRENCY = prestige - COST = liege_diarchy_veto_prestige_cost_high - } - # Misc important reasons. - ## Revoking own capital. - modifier = { - add = 50 - desc = AI_TITLE_IS_REALM_CAPITAL - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - } - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - # Weak Hook - modifier = { - add = 40 - desc = SCHEME_WEAK_HOOK_USED - scope:hook = yes - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.8 - desc = AI_OPINION_REASON - } - # Refusal is Treason - ## It's always treason, but worth pointing it out. - modifier = { - add = 20 - desc = AI_REFUSAL_IS_TREASON - } - # Revoking own capital. - modifier = { - add = 50 - desc = AI_TITLE_IS_REALM_CAPITAL - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - # We don't buff claimants because you *have* to be a claimant for a diarch revoke. - ## Compensated for by refusal _always_ being treason. - # I am a King! - modifier = { - add = -20 - desc = offer_vassalization_interaction_aibehavior_amkingtier_tt - scope:recipient = { highest_held_title_tier = tier_kingdom } - } - # Title is part of vassal's primary title de-jure. - modifier = { - add = -25 - desc = AI_REFUSAL_IS_DE_JURE_UNDER - OR = { - scope:recipient.primary_title = { is_de_jure_liege_or_above_target = scope:landed_title } - scope:recipient.primary_title = scope:landed_title - } - } - # Dread - ## Intimidation - modifier = { - add = intimidated_halved_reason_value - desc = INTIMIDATED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - ## Cowing - modifier = { - add = cowed_halved_reason_value - desc = COWED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - # Comparative military strength. - modifier = { - add = { - value = 1 - subtract = { - value = scope:recipient.max_military_strength - divide = { value = scope:actor.max_military_strength min = 1 } - } - multiply = 50 - max = 20 - } - desc = offer_vassalization_interaction_aibehavior_power_tt - scope:actor = { is_landed_or_landless_administrative = yes } - } - # Legalistic tradition - modifier = { - add = legalistic_vassal_punishment_acceptance - desc = tradition_legalistic_name - scope:actor = { - has_revoke_title_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - } - # Factor for personality. - ai_value_modifier = { - who = scope:recipient - # Greed is always a factor. - ai_greed = { - if = { - limit = { - scope:recipient = { - NOT = { ai_greed = 0 } - } - } - value = -0.75 - } - } - # If AI is honourable and the law compels them to obey the liege, AI will be more likely to obey. - ai_honor = { - if = { - limit = { - scope:recipient = { ai_honor > 0 } - } - value = 0.5 - } - } - } - # Bump up landless diarchs if we could survive the transition. - modifier = { - add = 100 - scope:actor = { is_ruler = no } - scope:recipient = { - any_held_county = { count >= 2 } - } - } - } - - # AI - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 6 - - ai_potential = { - is_diarch = yes - liege = { has_realm_law_flag = title_revocation_allowed } - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_core_loop_base_value - - # Additions. - ## Opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = 0.25 - } - ## Personality. - ai_value_modifier = { - ai_boldness = 0.75 - ai_honor = -0.5 - } - ## Traits. - ### +++ Ambitious. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = ambitious - } - ### +++ Greedy. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = greedy - } - ### +++ Vengeful (under certain criteria). - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = vengeful - has_opinion_modifier = { - modifier = revoked_title - target = scope:recipient - } - } - ### ++ Arbitrary. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = arbitrary - } - ### - Generous. - modifier = { - add = diarch_ai_desire_minus_1_value - has_trait = generous - } - ### -- Just. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = just - } - ### --- Content. - modifier = { - add = diarch_ai_desire_minus_3_value - has_trait = content - } - ## Landless characters want land, but also want to focus on taking from those who might give it up. - ### So we prioritise hooked AI counts. - modifier = { - add = 100 - is_landed = no - has_hook = scope:recipient - scope:recipient = { - highest_held_title_tier = tier_county - is_ai = yes - } - } - ### Then just hooked AI. - modifier = { - add = 50 - is_landed = no - has_hook = scope:recipient - scope:recipient = { is_ai = yes } - } - ## Always revoke preferred capital and capital duchy. - modifier = { - add = 1000 - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - ## Slight preference for higher-tier titles. - modifier = { - add = { - value = scope:landed_title.tier - multiply = 10 - } - } - ## We avoid wars here too, but only in the resulting event. - # Factors. - ## Relationships. - ### + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on players unless they're of at least a decent size. - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - any_held_county = { count <= 3 } - } - } - ### x0 Don't go into prestige debt! - modifier = { - factor = 0 - prestige <= 0 - } - } -} - -# Diarch (actor) takes a vassal from a vassal (recipient) of their liege with an optional veto for the liege (third_party). -diarch_retract_vassal_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - interface_priority = 10 - highlighted_reason = HIGHLIGHTED_CAN_DIARCH_RETRACT - notification_text = RETRACT_VASSAL_PROPOSAL - intermediary_notification_text = diarch_interaction_requesting_sign_off.tt - intermediary_breakdown_yes = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_YES - intermediary_breakdown_no = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_NO - intermediary_breakdown_maybe = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_MAYBE - intermediary_answer_accept_key = REPLY_ANSWER_ALLOW - intermediary_answer_reject_key = REPLY_ANSWER_VETO - pre_answer_yes_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_YES - pre_answer_no_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_NO - pre_answer_maybe_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_MAYBE - icon = icon_liege - redirect = { - scope:actor.liege ?= { save_scope_as = intermediary } - } - - desc = diarch_retract_vassal_interaction_desc - send_name = diarch_retract_vassal_interaction.send_name - - special_interaction = retract_vassal_interaction - interface = transfer_vassal - ai_maybe = yes - ai_intermediary_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 55 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - on_decline_summary = diarch_rebel_or_crime_summary.retract - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - # Plus you need to be landed for this. - is_landed_or_landless_administrative = yes - } - # Make sure scope:recipient is suitable. - scope:recipient = { - # We only target vassals of the liege... - liege = scope:actor.liege - NOT = { this = scope:actor.liege } - # ... who are appropriately landed. - is_landed_or_landless_administrative = yes - scope:recipient.highest_held_title_tier >= tier_duchy - } - } - - is_valid = { - # Here to correct for some dodgy inheritance situations. - NOT = { scope:actor = scope:intermediary } - } - is_valid_showing_failures_only = { - # Standard validity checks. - vassal_retraction_standard_valid_showing_failures_only_trigger = yes - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Scope:recipient must hold at least one of scope:actor's de jure vassals. - scope:actor = { - custom_description = { - text = "you_must_have_a_de_jure_vassal_to_retract" - object = scope:recipient - any_held_title = { - tier >= tier_duchy - any_direct_de_jure_vassal_title = { - exists = holder - holder.liege = scope:recipient - } - } - } - } - # Plus make sure there's a legal right to retract. - scope:actor.liege = { - trigger_if = { - limit = { government_has_flag = government_is_tribal } - custom_description = { - text = "liege_has_law_allowing_vassal_retraction_tribal" - has_realm_law_flag = vassal_retraction_allowed - } - } - trigger_if = { - limit = { - NOT = { government_has_flag = government_is_tribal } - } - custom_description = { - text = "liege_has_law_allowing_vassal_retraction_crown" - has_realm_law_flag = vassal_retraction_allowed - } - } - } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_an_entrenched_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_diarch_retract_vassal_interaction } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - cooldown = { years = 1 } - cooldown_against_recipient = { years = 3 } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - is_highlighted = { - # Diarch retractions require a de jure claim - this is uncommon, so we always highlight it. - diarch_retraction_is_de_jure_liege_trigger = yes - } - - populate_recipient_list = { - scope:actor = { - every_held_title = { - limit = { tier >= tier_duchy } - every_direct_de_jure_vassal_title = { - limit = { exists = holder } - holder = { - if = { - limit = { liege = scope:recipient } - add_to_list = characters - } - } - } - } - } - } - - # Hooks can be used to force this through. - ## We don't force-force this on/for the player (so no pain but less benefits), but AI regard weak hooks as compulsory from/for other AI. - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_auto_accept = { - scope:recipient = { trigger_event = char_interaction.0271 } - } - - on_accept = { - # Follow the standard flow for retraction. - save_scope_value_as = { - name = use_strife_not_tyranny - value = yes - } - retract_vassal_interaction_effect = yes - scope:actor = { - # Tell them that the retraction went through fine. - trigger_event = char_interaction.0272 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - - # Debug logging. - debug_log = debug_log.diarch_retract_vassal.accepted - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_retract_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_accept_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_accept_intermediary_list } - } - } - - on_intermediary_decline = { - # Scope:intermediary eats a prestige cost for their veto. - scope:intermediary = { add_prestige = liege_diarchy_veto_prestige_cost_high } - scope:actor = { - # Inform scope:actor that their liege has vetoed them. - ## First, we log which interaction this is for the event's effects. - save_scope_value_as = { - name = diarch_interaction - value = flag:vassal_retract - } - ## Then, fire the event. - trigger_event = char_interaction.0291 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Inform scope:recipient that scope:intermediary has their back. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_good - title = diarch_action_vetoed.tt - left_icon = scope:actor - right_icon = scope:intermediary - custom_tooltip = diarch_retract_vassal_interaction.tt.inform_recipient - } - } - # Flick out some opinions. - diarch_retract_vassal_interaction_intermediary_fail_opinions_effect = yes - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_retract_veto } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_veto_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_veto_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_veto_intermediary_list } - } - } - - on_decline = { - scope:actor = { - # Tell them that the retraction ran into issues. - trigger_event = char_interaction.0273 - # And give a crime reason for both them and their liege. - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = char_interaction.0273.result.criminal - diarch_declare_recipient_criminal_effect = yes - } - 50 = { - show_chance = no - desc = char_interaction.0273.result.war - diarch_declare_vassalisation_war_effect = yes - } - } - } - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Flick out some opinions. - ## Scope:recipient is annoyed with scope:actor. - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - - # Debug logging. - debug_log = debug_log.diarch_retract_vassal.rejected - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_retract_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_decline_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_retract_decline_intermediary_list } - } - } - - auto_accept = { - OR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - ai_intermediary_accept = { - # The AI should be inclined to trust their regent, at least a little. - base = 0 - modifier = { add = liege_trust_diarch_trilateral_interaction_default_value } - - # Standard modifiers. - intermediary_liege_will_accept_standard_modifiers = { - CURRENCY = prestige - COST = liege_diarchy_veto_prestige_cost_high - } - # Misc important reasons. - ## Retracting vassal with own capital. - modifier = { - add = 50 - desc = AI_VASSAL_HOLDS_REALM_CAPITAL - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - OR = { - any_sub_realm_county = { - this = scope:actor.primary_title.title_capital_county - } - any_sub_realm_duchy = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - } - } - } - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - # Hook used - modifier = { - add = 40 - desc = SCHEME_WEAK_HOOK_USED - scope:hook = yes - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - # - modifier = { - add = 25 - desc = AI_REFUSAL_IS_TREASON - scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } - } - - ai_value_modifier = { - who = scope:recipient - ai_greed = { - if = { - limit = { - scope:recipient = { NOT = { ai_greed = 0 } } - } - value = -0.25 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { #If AI is honorable and the law compels to obey the liege, AI will be more likely to obey. - ai_honor > 0 - } - scope:actor = { - has_realm_law_flag = vassal_refusal_is_treason - } - } - value = 0.75 - } - } - } - modifier = { - add = 50 - desc = AI_VASSAL_HOLDS_REALM_CAPITAL - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - OR = { - any_sub_realm_county = { - this = scope:actor.primary_title.title_capital_county - } - any_sub_realm_duchy = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - } - } - - modifier = { #Sub-Vassal is NOT De jure of current Vassal. - add = 25 - desc = AI_REFUSAL_IS_NOT_DE_JURE_LIEGE - NOT = { - scope:recipient = { - any_held_title = { - is_de_jure_liege_or_above_target = scope:secondary_recipient.primary_title - } - } - } - } - modifier = { #Sub-Vassal is De jure of liege title. - add = 15 - desc = AI_REFUSAL_IS_DE_JURE_LIEGE - scope:actor = { - any_held_title = { - this = scope:secondary_recipient.primary_title.de_jure_liege - } - } - } - modifier = { - add = intimidated_halved_reason_value - desc = INTIMIDATED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - modifier = { - add = cowed_halved_reason_value - desc = COWED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - modifier = { #Comparative military strength. - add = { - value = 1 - subtract = { - value = scope:recipient.max_military_strength - divide = { value = scope:actor.max_military_strength min = 1 } - } - multiply = 100 - } - desc = offer_vassalization_interaction_aibehavior_power_tt - } - modifier = { #Different faith, no pluralism. - add = { - value = -25 - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_hostile_level - } - } - } - add = -10 - } - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_evil_level - } - } - } - add = -25 - } - } - desc = AI_REFUSAL_SPLITTING_SAME_FAITH_VASSALS - scope:actor.faith = scope:secondary_recipient.faith #Will not care as much if the vassal being retracted is of a different faith. - scope:actor = { - NOR = { #Of two different faiths AND the potential vassal's faith is not pluralistic. - faith = scope:recipient.faith - faith = { has_doctrine = doctrine_pluralism_pluralistic } - } - } - } - } - - can_send_despite_rejection = yes - - # AI - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 24 - - ai_potential = { - is_diarch = yes - has_realm_law_flag = title_revocation_allowed - primary_title.tier > tier_county - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_secondary_powers_base_value - - # Additions. - ## Opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = 0.25 - } - ## Personality. - ai_value_modifier = { - ai_boldness = 0.75 - ai_honor = -0.5 - } - ## Traits. - ### +++ Ambitious. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = ambitious - } - ### +++ Greedy. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = greedy - } - ### +++ Vengeful (under certain criteria). - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = vengeful - has_opinion_modifier = { - modifier = revoked_title - target = scope:recipient - } - } - ### ++ Arbitrary. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = arbitrary - } - ### - Generous. - modifier = { - add = diarch_ai_desire_minus_1_value - has_trait = generous - } - ### -- Just. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = just - } - ### --- Content. - modifier = { - add = diarch_ai_desire_minus_3_value - has_trait = content - } - ## Always revoke preferred capital and capital duchy - modifier = { - add = 1000 - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:actor = { - any_held_title = { this = scope:actor.primary_title.title_capital_county.de_jure_liege } - } - scope:actor.primary_title.title_capital_county.de_jure_liege = { is_title_created = no } - } - scope:secondary_recipient = { - any_sub_realm_county = { this = scope:actor.primary_title.title_capital_county } - } - } - # Always retract preferred capital duchy - modifier = { - add = 1000 - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - any_sub_realm_duchy = { this = scope:actor.primary_title.title_capital_county.de_jure_liege } - } - } - ## Slight preference for higher-tier titles - modifier = { - add = { - value = scope:secondary_recipient.highest_held_title_tier - multiply = 10 - } - } - ## We avoid wars here too, but only in the resulting event. - # Factors. - ## Relationships. - ### + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on players unless they're of at least a decent size. - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - any_held_county = { count <= 3 } - } - } - ### x0 Exempt the party baron. - modifier = { - factor = 0 - scope:recipient = { has_character_flag = is_party_baron } - } - } -} - -# Diarch (actor) imprisons a character (recipient) who's a sub-realm character of their liege, with an optional veto for the liege (third_party). -diarch_imprison_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - interface_priority = 16 - notification_text = DIARCH_IMPRISON_PROPOSAL - intermediary_notification_text = diarch_interaction_requesting_sign_off.tt - intermediary_breakdown_yes = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_YES - intermediary_breakdown_no = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_NO - intermediary_breakdown_maybe = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_MAYBE - intermediary_answer_accept_key = REPLY_ANSWER_ALLOW - intermediary_answer_reject_key = REPLY_ANSWER_VETO - pre_answer_yes_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_YES - pre_answer_no_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_NO - pre_answer_maybe_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_MAYBE - icon = prison - redirect = { - scope:actor.liege ?= { save_scope_as = intermediary } - } - - desc = diarch_imprison_interaction_desc - send_name = diarch_imprison_interaction.send_name - - ai_maybe = yes - ai_intermediary_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - on_decline_summary = diarch_rebel_or_crime_summary.crominal - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - # The prisoner goes to your dungeon, so we want you to actually have one. - is_landed_or_landless_administrative = yes - } - # Make sure scope:recipient is suitable. - scope:recipient = { is_imprisoned = no } - # Scope:recipient can't be visiting elsewhere. - trigger_if = { - limit = { - scope:recipient = { is_courtier = yes } - } - NOT = { - scope:recipient.host = { - any_foreign_court_guest = { this = scope:recipient } - } - } - } - # Finally, make sure this isn't someone scope:actor could use the conventional interaction on. - scope:actor = { - liege = { - basic_allowed_to_imprison_character_trigger = { CHARACTER = scope:recipient } - } - NOT = { - basic_allowed_to_imprison_character_trigger = { CHARACTER = scope:recipient } - } - } - } - - is_valid = { - # Here to correct for some dodgy inheritance situations. - NOT = { scope:actor = scope:intermediary } - } - is_valid_showing_failures_only = { - scope:actor = { - advanced_allowed_to_imprison_character_trigger = { CHARACTER = scope:recipient } - } - imprison_neutral_is_valid_showing_failures_only_triggers_trigger = yes - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_a_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_diarch_imprison_interaction } - scope:actor.liege = { - trigger_if = { - limit = { has_realm_law_flag = imprisonment_toggle_enable } #Present on all tribal authority to disable imprisonment - has_realm_law_flag = imprisonment_toggle_on #Present from tribal authority level 1 to re-enable imprisonment - } - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - cooldown = { years = 1 } - cooldown_against_recipient = { years = 3 } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - is_highlighted = { - scope:recipient = { is_imprisoned = no } - scope:actor = { has_imprisonment_reason = scope:recipient } - } - - #Use hook - send_option = { - is_valid = { - exists = scope:recipient - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_auto_accept = { - scope:actor = { trigger_event = char_interaction.0281 } - diarch_imprison_general_accept_effect = yes - } - - on_accept = { - if = { - limit = { scope:hook = yes } - scope:actor = { use_hook = scope:recipient } - } - # Tell them that the imprisonment went through fine. - scope:actor = { trigger_event = char_interaction.0282 } - save_scope_value_as = { - name = use_strife_not_tyranny - value = yes - } - diarch_imprison_general_accept_effect = yes - - # Debug logging. - debug_log = debug_log.diarch_imprison.accepted - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_imprison_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_accept_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_accept_intermediary_list } - } - } - - on_intermediary_decline = { - # Scope:intermediary eats a prestige cost for their veto. - scope:intermediary = { add_prestige = liege_diarchy_veto_prestige_cost_medium } - scope:actor = { - # Inform scope:actor that their liege has vetoed them. - ## First, we log which interaction this is for the event's effects. - save_scope_value_as = { - name = diarch_interaction - value = flag:imprison - } - ## Then, fire the event. - trigger_event = char_interaction.0291 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Inform scope:recipient that scope:intermediary has their back. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_good - title = diarch_action_vetoed.tt - left_icon = scope:actor - right_icon = scope:intermediary - custom_tooltip = diarch_imprison_interaction.tt.inform_recipient - } - } - # Flick out some opinions. - diarch_imprison_interaction_intermediary_fail_opinions_effect = yes - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_imprison_veto } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_veto_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_veto_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_veto_intermediary_list } - } - } - - on_decline = { - scope:actor = { - imprison_HoF_consequences_effect = yes - imprison_tyranny_effect = yes - } - # Do we want a war or an escape? - scope:recipient = { - # If target is count or higher, we want the option to start a war. - if = { - limit = { - is_landed_or_landless_administrative = yes - highest_held_title_tier >= tier_county - } - # Send the choosing event. - scope:actor = { trigger_event = char_interaction.0283 } - # Display the choices in advance. - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = char_interaction.0263.result.criminal - diarch_declare_recipient_criminal_effect = yes - } - 50 = { - show_chance = no - desc = char_interaction.0263.result.war - scope:recipient = { - start_war = { - casus_belli = remove_regent_cb - target = scope:actor - } - } - } - } - } - } - #If target is a baron or unlanded, have them escape. - else = { - if = { #To block them from being instantly rehired - limit = { - is_councillor_of = scope:actor - can_be_fired_from_council_trigger = { COURT_OWNER = scope:actor } - } - set_variable = { - name = escaped_imprisonment_from - value = scope:actor - years = 20 - } - } - if = { - limit = { is_landed_or_landless_administrative = yes } - depose_effect = { DEPOSER = root } - } - if = { - limit = { - is_playable_character = no - trigger_if = { - limit = { is_councillor = yes } - can_be_fired_from_council_trigger = { COURT_OWNER = scope:recipient.liege } - } - trigger_if = { - limit = { exists = scope:actor.faith.religious_head } - NOT = { scope:actor.faith.religious_head = scope:recipient } - } - } - custom_tooltip = deposed_and_become_wanderer - select_and_move_to_pool_effect = yes - } - add_opinion = { - target = scope:actor - modifier = attempted_imprisonment_opinion - } - } - } - - #Remove them as guardian/ward for any courtier (feedback given in char_interaction.0230) - scope:actor = { - if = { - limit = { - any_courtier = { has_relation_guardian = scope:recipient } - } - every_courtier = { - limit = { has_relation_guardian = scope:recipient } - save_scope_as = ward - remove_guardian_effect = { - GUARDIAN = scope:recipient - WARD = scope:ward - RETURN_WARD = yes - HIDE_OPINION = no - } - add_to_list = ward_children - } - } - if = { - limit = { - any_courtier = { has_relation_ward = scope:recipient } - } - random_courtier = { - limit = { has_relation_ward = scope:recipient } - save_scope_as = guardian - show_as_tooltip = { - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - add_to_list = guardian_list - } - hidden_effect = { - scope:guardian = { - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:recipient - right_icon = scope:guardian - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - } - } - } - # Misc clean-up stuff. - scope:actor = { - if = { - limit = { - scope:recipient = { - OR = { - is_playable_character = no - AND = { - is_landed_or_landless_administrative = yes - primary_title.tier = tier_barony - } - } - } - } - trigger_event = char_interaction.0230 - } - } - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # Debug logging. - debug_log = debug_log.diarch_imprison.rejected - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_imprison_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_decline_recipient_list } - } - scope:intermediary = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_imprison_decline_intermediary_list } - } - } - - auto_accept = no - - ai_intermediary_accept = { - # The AI should be inclined to trust their regent, at least a little. - base = 0 - modifier = { add = liege_trust_diarch_trilateral_interaction_default_value } - - # Standard modifiers. - intermediary_liege_will_accept_standard_modifiers = { - CURRENCY = prestige - COST = liege_diarchy_veto_prestige_cost_medium - } - } - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - add = { - value = scope:actor.intrigue - multiply = 1 - } - desc = IMPRISON_INTRIGUE_ACTOR - } - modifier = { - add = { - value = scope:recipient.intrigue - multiply = -2 - } - desc = IMPRISON_INTRIGUE_RECIPIENT - } - - modifier = { - add = 30 - desc = SCHEME_HOOK_USED - scope:hook = yes - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ai_value_modifier = { - who = scope:recipient - ai_boldness = { - if = { - limit = { - scope:recipient = { NOT = { ai_boldness = 0 } } - } - value = -0.5 - } - } - } - modifier = { - add = 20 - desc = AI_REFUSAL_IS_TREASON - scope:actor = { - any_vassal_or_below = { this = scope:recipient } - has_realm_law_flag = vassal_refusal_is_treason - } - } - modifier = { - add = 50 - desc = AI_PRISON_FEUDAL_COMPLEX_PERK - scope:actor = { - has_perk = prison_feudal_complex_perk - } - } - modifier = { #I am a King! - add = -40 - desc = offer_vassalization_interaction_aibehavior_amkingtier_tt - scope:recipient = { highest_held_title_tier = tier_kingdom } - } - modifier = { #Courtiers. - add = 50 - desc = AI_REFUSAL_COURTIER - scope:recipient = { is_ruler = no } - } - modifier = { # Your young children can't really stop you - add = 200 - desc = AI_REFUSAL_YOUNG_CHILD - scope:recipient = { - is_child_of = scope:actor - is_courtier_of = scope:actor - is_adult = no - } - } - modifier = { #They're a claimant against you - add = -70 - desc = AI_CLAIMANT_PENALTY - scope:actor = { - OR = { - any_targeting_faction = { - faction_is_type = claimant_faction - faction_is_at_war = yes - exists = special_character - special_character = scope:recipient - } - AND = { - exists = var:claimant_faction_sent_demand - var:claimant_faction_sent_demand = scope:recipient - } - } - } - } - modifier = { #Rank difference. - add = { - value = -15 - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 2 - } - } - } - add = 5 - } - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 3 - } - } - } - add = 5 - } - if = { #King asking Baron, modifier becomes positive. - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - } - add = 10 - } - } - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:recipient = { - is_ruler = yes - highest_held_title_tier < tier_kingdom - } - } - modifier = { - add = intimidated_external_reason_value - desc = INTIMIDATED_REASON - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - modifier = { - add = cowed_external_reason_value - desc = COWED_REASON - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - modifier = { #Comparative military strength. - add = { - value = 1 - subtract = { - value = scope:recipient.max_military_strength - divide = { value = scope:actor.max_military_strength min = 1 } - } - multiply = 100 - min = -1000 - # This max needs to match the loc in offer_vassalization_interaction_aibehavior_power_tt - max = 20 - } - desc = offer_vassalization_interaction_aibehavior_power_tt - scope:actor = { is_ruler = yes } - scope:recipient = { is_ruler = yes } - } - modifier = { #Rivalry modifier. - add = -50 - desc = offer_vassalization_interaction_aibehavior_rival_tt - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - modifier = { #Nemesis modifier. - add = -100 - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - modifier = { - add = 10 - desc = GRANDEUR_REASON - scope:recipient = { has_royal_court = no } - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level >= 7 - court_grandeur_current_level < 9 - } - } - modifier = { - add = 20 - desc = GRANDEUR_REASON - scope:recipient = { has_royal_court = no } - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level >= 9 - } - } - modifier = { # Legalistic tradition - add = legalistic_vassal_punishment_acceptance - desc = tradition_legalistic_name - scope:actor = { - has_imprisonment_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - } - } - - # AI - ai_targets = { ai_recipients = peer_vassals } - ai_targets = { ai_recipients = scripted_relations } - ai_frequency = 12 - - ai_will_do = { - # You should have a _reason_ to try to imprison someone. - base = 0 - - # Additions. - ## Opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = 0.5 - } - ## Personality. - ai_value_modifier = { - ai_vengefulness = 1 - ai_boldness = 0.5 - } - ## Flag Management. - ### Make sure the AI uses hooks for this as it's % based - modifier = { - add = 1 - scope:hook = yes - } - ## Traits. - ### +++ Sadistic. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = greedy - } - ### +++ Vengeful. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = vengeful - } - ### ++ Just (under certain circumstances). - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = just - has_imprisonment_reason = scope:recipient - } - ### -- Compassionate. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = compassionate - } - ### --- Forgiving. - modifier = { - add = diarch_ai_desire_minus_3_value - has_trait = forgiving - } - ## We avoid wars here too, but only in the resulting event. - ## Agenda impact - modifier = { - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_important } - has_character_flag = agenda_towards_escalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_important } - } - } - add = -100 - } - } - any_character_struggle = { involvement = involved } - } - modifier = { - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor } - has_trait = fp3_struggle_supporter - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor } - } - } - add = -100 - } - } - any_character_struggle = { involvement = involved } - } - modifier = { - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter } - has_trait = fp3_struggle_detractor - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter } - } - } - add = -100 - } - } - any_character_struggle = { involvement = involved } - } - # Factors. - ## Relationships. - ### + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on people without due reason unless we really hate them. - #### Doesn't quite double up with the above factor increase for folks we hate - we want to prioritise them, but we also want to enable them for arbitrary punishment. - modifier = { - factor = 0 - NOR = { - has_imprisonment_reason = scope:recipient - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - # Sadists wants to torture folks. - has_trait = sadistic - # Agents get a time-out. - any_targeting_scheme = { - hostile_scheme_trigger = yes - is_scheme_agent_exposed = scope:recipient - } - # Prior crimes annoy people. - has_any_major_revenge_opinion_against_character_trigger = { CHARACTER = scope:recipient } - # Vengeful characters can be a pain over even minor matters. - AND = { - OR = { - has_trait = vengeful - ai_vengefulness >= very_high_positive_ai_value - } - has_any_petty_revenge_opinion_against_character_trigger = { CHARACTER = scope:recipient } - } - } - } - } -} - -# Diarch (actor) offers to boost the CA/TA/IB of liege (recipient), taking on the costs and negatives themselves so that they can use their diarch powers. -diarch_subsidise_crown_authority_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - notification_text = DIARCH_SUBSIDISE_AUTHORITY_PROPOSAL - icon = icon_contract_modification_single - - desc = diarch_subsidise_crown_authority_interaction_desc - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - liege_has_co_emperorship_trigger = no - } - # Same sub-realm only. - OR = { - scope:actor.liege = scope:recipient - scope:recipient = { - any_liege_or_above = { this = scope:actor.liege } - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = diarch_can_subsidise_liege_authority } - # Can't subisidise past the point needed. - custom_tooltip = { - text = diarch_subsidise_crown_authority_interaction.tt.cannot_subsidise_past_necessary - scope:recipient = { - NOT = { has_realm_law_flag = diarchs_want_to_subsidise_without_this_flag } - } - } - # And the liege can't have the max level of authority. - custom_tooltip = { - text = diarch_subsidise_crown_authority_interaction.tt.liege_cannot_have_max_authority - scope:recipient = { - NOT = { has_realm_law_flag = max_authority_level } - } - } - # Aaaand, if you're not tribal/administrative, we need to check some innovations. - scope:recipient = { - # CA0 -> CA1. - trigger_if = { - limit = { has_realm_law = crown_authority_0 } - can_pass_law_ca1_trigger = yes - } - # CA1 -> CA2. - trigger_if = { - limit = { has_realm_law = crown_authority_1 } - can_pass_law_ca2_trigger = yes - } - # CA2 -> CA3. - trigger_if = { - limit = { has_realm_law = crown_authority_2 } - can_pass_law_ca3_trigger = yes - } - - # If the liege is administrative, they have to be independent. - trigger_if = { - limit = { government_has_flag = government_is_administrative } - is_independent_ruler = yes - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - # Why the hell not? If your liege dies several times in quick succession, sure, centralise all the power you like. That'll go well. - cooldown_against_recipient = { years = 10 } - - cost = { - prestige = { - value = scope:recipient.increase_crown_authority_prestige_cost - multiply = subsidised_liege_authority_discount_value - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = diarch_subsidise_crown_authority_interaction.tt.accepted - left_icon = scope:recipient - scope:recipient = { - # Try to change authority. - increase_crown_authority_effect = yes - increase_tribal_authority_effect = yes - increase_imperial_bureaucracy_effect = yes - # No one blames the liege for this. - add_character_modifier = { - modifier = liege_authority_boost_has_scapegoat_modifier - years = 10 - } - } - # Aaaaand everyone knows what you did. - change_strife_opinion = massive_strife_gain - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = diarch_subsidise_crown_authority_interaction.tt.declined - left_icon = scope:recipient - add_opinion = { - target = scope:recipient - modifier = refusal_opinion - opinion = -20 - } - } - } - } - - ai_accept = { - base = 0 - - # You want to do _what_? For free? - modifier = { - add = 100 - desc = diarch_subsidise_crown_authority_interaction.tt.absolutely_yes_please - always = yes - } - } - - auto_accept = { - custom_description = { - text = auto_accept_interaction_ai - object = scope:recipient - scope:recipient = { - is_ai = yes - } - } - } - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 24 - ai_potential = { - is_diarch = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - # You also need prestige left over afterwards to use other interactions, so make sure the AI doesn't bankrupt itself on this. - prestige >= { - value = liege.increase_crown_authority_prestige_cost - multiply = subsidised_liege_authority_discount_value - add = major_prestige_value - } - } - - ai_will_do = { - base = 0 - - # Government situation. - ## Does your liege's gubermint allow you to bully people and take their stuff? No? Then you want to take this interaction; anyone who wouldn't has been pre-filtered. - modifier = { - add = 1000 - liege = { - NOR = { - has_realm_law_flag = title_revocation_allowed - has_realm_law_flag = vassal_retraction_allowed - } - } - } - } -} - -# Diarch (actor) requests an adjustment of liege's (recipient's) IB, taking on the costs and negatives themselves _or_ reducing their strife, depending on whether they boost centralisation or decrease it. -diarch_adjust_bureaucracy_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - interface_priority = 9 - notification_text = { - first_valid = { - # Decentralise. - triggered_desc = { - trigger = { scope:decrease_centralisation = yes } - desc = DIARCH_ADJUST_BUREAUCRACY_PROPOSAL.DECENTRALISE - } - # Centralise. - desc = DIARCH_ADJUST_BUREAUCRACY_PROPOSAL.CENTRALISE - } - } - icon = icon_contract_modification_single - - desc = diarch_adjust_bureaucracy_interaction_desc - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - liege_has_co_emperorship_trigger = yes - } - # Same sub-realm only. - OR = { - scope:actor.liege = scope:recipient - scope:recipient = { - any_liege_or_above = { this = scope:actor.liege } - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_adjust_imperial_bureaucracy_interaction } - # And the liege can't have the max level of authority. - custom_tooltip = { - text = diarch_subsidise_crown_authority_interaction.tt.liege_cannot_have_max_authority - scope:recipient = { - NOT = { has_realm_law_flag = max_authority_level } - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - # Co-emperors can't keep doing this in quick succession. - cooldown = { years = 10 } - - cost = { - prestige = { - value = scope:recipient.increase_crown_authority_prestige_cost - if = { - limit = { scope:increase_centralisation = yes } - multiply = subsidised_liege_authority_discount_value - } - else = { multiply = lowered_liege_authority_discount_value } - } - } - - # Increase IB - send_option = { - flag = increase_centralisation - is_valid = { - scope:recipient = { - NOT = { has_realm_law = imperial_bureaucracy_3 } - } - } - localization = increase_centralisation_name - current_description = increase_centralisation - starts_enabled = { always = yes } - } - # Decrease IB - ## The AI doesn't use this. - send_option = { - flag = decrease_centralisation - is_valid = { - scope:recipient = { - NOT = { has_realm_law = imperial_bureaucracy_0 } - } - } - localization = decrease_centralisation_name - current_description = decrease_centralisation - } - - on_send = { - # Tell the AI to set their only send option. - if = { - limit = { - scope:actor = { is_ai = yes } - } - save_scope_value_as = { - name = increase_centralisation - value = yes - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = diarch_subsidise_crown_authority_interaction.tt.accepted - left_icon = scope:recipient - scope:recipient = { - # Try to change authority. - if = { - limit = { scope:increase_centralisation = yes } - increase_imperial_bureaucracy_effect = yes - # No one blames the liege for this. - add_character_modifier = { - modifier = liege_authority_boost_has_scapegoat_modifier - years = 10 - } - } - else = { decrease_imperial_bureaucracy_effect = yes } - } - # Aaaaand everyone knows what you did. - ## For good. - if = { - limit = { scope:increase_centralisation = yes } - change_strife_opinion = massive_strife_gain - } - ## Or for ill. - else = { change_strife_opinion = massive_strife_loss } - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = diarch_subsidise_crown_authority_interaction.tt.declined - left_icon = scope:recipient - add_opinion = { - target = scope:recipient - modifier = refusal_opinion - opinion = -20 - } - } - } - } - - ai_accept = { - base = -25 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - # Your level of influence. - ## Impotent - modifier = { - add = -10 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPOTENT - scope:actor.influence_level = 0 - } - ## Influential - ### Would be zero, so it wouldn't appear. - ## Persuasive - modifier = { - add = 10 - desc = AI_OPINION_INFLUENCE_LEVEL_PERSUASIVE - scope:actor.influence_level = 2 - } - ## Controlling - modifier = { - add = 20 - desc = AI_OPINION_INFLUENCE_LEVEL_CONTROLLING - scope:actor.influence_level = 3 - } - ## Authoritative - modifier = { - add = 30 - desc = AI_OPINION_INFLUENCE_LEVEL_AUTHORITATIVE - scope:actor.influence_level = 4 - } - ## Imperious - modifier = { - add = 40 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPERIOUS - scope:actor.influence_level = 5 - } - # Traits. - ## --- Arrogant - modifier = { - add = -30 - desc = ai_acceptance_trait_arrogant - scope:recipient = { has_trait = arrogant } - } - ## --- Ambitious - modifier = { - add = -30 - desc = ai_acceptance_trait_ambitious - scope:recipient = { has_trait = ambitious } - } - ## --- Stubborn - modifier = { - add = -30 - desc = ai_acceptance_trait_stubborn - scope:recipient = { has_trait = stubborn } - } - ## -- Paranoid - modifier = { - add = -20 - desc = ai_acceptance_trait_paranoid - scope:recipient = { has_trait = paranoid } - } - ## + Craven - modifier = { - add = 10 - desc = ai_acceptance_trait_craven - scope:recipient = { has_trait = craven } - } - ## ++ Trusting - modifier = { - add = 20 - desc = ai_acceptance_trait_trusting - scope:recipient = { has_trait = trusting } - } - ## ++ Fickle - modifier = { - add = 20 - desc = ai_acceptance_trait_fickle - scope:recipient = { has_trait = fickle } - } - ## +++ Content - modifier = { - add = 30 - desc = ai_acceptance_trait_content - scope:recipient = { has_trait = content } - } - ## +++ Humble - modifier = { - add = 30 - desc = ai_acceptance_trait_humble - scope:recipient = { has_trait = humble } - } - # Factor for personality. - ai_value_modifier = { - who = scope:recipient - # The meeker they are, the more they'll go along with your wishes. - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = -1 - } - } - # And the lazier. - ai_energy = { - if = { - limit = { - scope:recipient = { ai_energy > 0 } - } - value = 0.5 - } - } - } - } - - auto_accept = { - custom_description = { - text = auto_accept_interaction_ai - object = scope:recipient - scope:recipient = { - is_ai = yes - scope:increase_centralisation = yes - } - } - } - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 24 - ai_potential = { - is_diarch = yes - liege_has_co_emperorship_trigger = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - # You also need prestige left over afterwards to use other interactions, so make sure the AI doesn't bankrupt itself on this. - prestige >= { - value = liege.increase_crown_authority_prestige_cost - multiply = subsidised_liege_authority_discount_value - add = major_prestige_value - } - } - - ai_will_do = { - base = 0 - - # Government situation. - ## Does your liege's gubermint allow you to bully people and take their stuff? No? Then you want to take this interaction; anyone who wouldn't has been pre-filtered. - modifier = { - add = 1000 - liege = { - NOR = { - has_realm_law_flag = title_revocation_allowed - has_realm_law_flag = vassal_retraction_allowed - } - } - } - # Otherwise, there's just a slight constant chance based on energy. - ai_value_modifier = { - ai_energy = 2 - # Assuming you're the heir, as otherwise... - trigger = { liege.player_heir ?= root } - } - } -} - - - - - - - - - - - -################################################## -# ANCILLARY DIARCH POWERS - -# Diarch (actor) either tests learning or spends prestige to gain an unpressed claim on a title held by a vassal of their liege (recipient). -diarch_legal_meddling_interaction = { - category = interaction_category_diarch - common_interaction = yes - interface_priority = 165 - diarch_interaction = yes - icon = vassal_claim_liege_title_interaction - - desc = diarch_legal_meddling_interaction_desc - - ai_intermediary_maybe = yes - target_type = title - target_filter = recipient_domain_titles - popup_on_receive = yes - - interface_priority = 60 - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - } - # Make sure scope:recipient is suitable. - scope:recipient = { - # We only target vassals of the liege... - liege = scope:actor.liege - NOT = { this = scope:actor.liege } - # ... who are appropriately landed. - is_landed_or_landless_administrative = yes - scope:recipient.highest_held_title_tier >= tier_county - } - } - - is_valid_showing_failures_only = { - # You can't claim a title from someone if you already have claims on all their titles. - custom_tooltip = { - text = diarch_legal_meddling_interaction.tt.they_must_have_at_least_one_unclaimed_title - scope:recipient = { - any_held_title = { - diarch_legal_meddling_claimable_title_trigger = { ACTOR = scope:actor } - } - } - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_a_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_legal_meddling_interaction } - } - # Must select something. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:diarch_legal_meddling_interaction_duel_learning = yes - scope:diarch_legal_meddling_interaction_pay_prestige_partial = yes - scope:diarch_legal_meddling_interaction_pay_prestige_full = yes - } - } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cooldown = { months = 6 } - cooldown_against_recipient = { years = 3 } - - can_be_picked_title = { - scope:target = { - # Really anything you don't already have a claim on and which isn't special. - diarch_legal_meddling_claimable_title_trigger = { ACTOR = scope:actor } - } - } - - # Attempt Methods - send_options_exclusive = yes - ## Duel for it. - send_option = { - # You can always try to duel for it. - flag = diarch_legal_meddling_interaction_duel_learning - } - ## Pay partial prestige. - send_option = { - is_valid = { - scope:actor = { - prestige >= { - value = legal_meddling_interaction_title_discounted_cost_value - multiply = -1 - } - } - } - flag = diarch_legal_meddling_interaction_pay_prestige_partial - } - ## Pay full prestige. - send_option = { - is_valid = { - scope:actor = { - prestige >= { - value = legal_meddling_interaction_title_cost_value - multiply = -1 - } - } - } - flag = diarch_legal_meddling_interaction_pay_prestige_full - } - - on_send = { - # Did a landless diarch send this? - log_diarch_send_interaction_as_variable_effect = { INTERACTION = forge_claim } - } - - on_accept = { - scope:actor = { - # Resolution method. - ## If we're duelling, then we duel. - if = { - limit = { scope:diarch_legal_meddling_interaction_duel_learning = yes } - # Now: FIGHT! WITH WORDS! - duel = { - skill = learning - target = scope:recipient - # Victory! A claim for you. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = -49 - } - desc = diarch_legal_meddling_interaction.tt.success - diarch_legal_meddling_interaction_apply_success_effect = yes - } - # Defeat! Into the loser's bin you go. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = -49 - } - desc = diarch_legal_meddling_interaction.tt.failure - diarch_legal_meddling_interaction_apply_fail_effect = yes - } - } - } - ## Otherwise we can take an uneven gamble against a reduced prestige cost.. - else_if = { - limit = { scope:diarch_legal_meddling_interaction_pay_prestige_partial = yes } - random_list = { - # Victory! A claim for you. - 100 = { - desc = diarch_legal_meddling_interaction.tt.success - diarch_legal_meddling_interaction_apply_success_effect = yes - } - # Defeat! Into the loser's bin you go. - 100 = { - desc = diarch_legal_meddling_interaction.tt.failure - diarch_legal_meddling_interaction_apply_fail_effect = yes - } - } - } - ## Or pay the full price. - else = { - custom_tooltip = diarch_legal_meddling_interaction.tt.success - diarch_legal_meddling_interaction_apply_success_effect = yes - } - } - - # Debug logging. - debug_log = debug_log.legal_meddling.attempt_made - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 6 - - ai_potential = { - is_diarch = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_core_loop_base_value - - # Additions. - ## Weight for opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - ## Weight for personality. - ai_value_modifier = { - ai_boldness = 0.25 - ai_greed = 0.5 - ai_honor = 0.5 - } - ## Flag Management. - ### Duel for it if we're massively superior. - modifier = { - add = 100 - scope:diarch_legal_meddling_interaction_duel_learning = yes - learning_diff = { - target = scope:recipient - value >= @ai_skill_diff_upper_threshold - } - } - ### Else we'll try to pay full prestige, if we've got lots to spare. - modifier = { - add = 50 - scope:diarch_legal_meddling_interaction_pay_prestige_full = yes - prestige >= { - value = shift_privileges_interaction_target_cost_value - multiply = @ai_prestige_bank_threshold - } - } - ### Or else we'll to chance it, if we can afford that + some slack. - modifier = { - add = 25 - scope:diarch_legal_meddling_interaction_pay_prestige_partial = yes - prestige < { - value = shift_privileges_interaction_target_cost_value - multiply = @ai_prestige_bank_threshold - } - prestige >= { - value = shift_privileges_interaction_target_discounted_cost_value - multiply = @ai_prestige_bank_threshold - } - } - ### Otherwise we'll risk a regular duel. - ## Weight up for bordering or de jure areas. - modifier = { - add = 50 - is_landed_or_landless_administrative = yes - any_sub_realm_county = { - any_neighboring_county = { - holder = { - OR = { - this = scope:recipient - any_liege_or_above = { this = scope:recipient } - } - } - } - } - } - modifier = { - add = 50 - is_landed_or_landless_administrative = yes - scope:actor = { - any_held_title = { - any_direct_de_jure_vassal_title = { - exists = holder - holder = { - OR = { - this = scope:recipient - this = { - any_liege_or_above = { this = scope:recipient } - } - } - } - } - } - } - } - ## Weight down for folks outside of our de jure kingdom. - modifier = { - add = -100 - is_landed_or_landless_administrative = yes - scope:recipient.primary_title.kingdom ?= { - NOT = { this = scope:actor.primary_title.kingdom } - } - } - ## Landless characters want land, but also want to focus on taking from those who might give it up. - ### So we prioritise hooked AI counts. - modifier = { - add = 100 - is_landed = no - has_hook = scope:recipient - scope:recipient = { - highest_held_title_tier = tier_county - is_ai = yes - } - } - ### Then just hooked AI. - modifier = { - add = 50 - is_landed = no - has_hook = scope:recipient - scope:recipient = { is_ai = yes } - } - # Factors. - ## + Weight up if we're lacking valid claims - modifier = { - factor = 1.5 - NOR = { - is_claimant = yes - any_claim = { - exists = holder - exists = holder.liege - holder.liege = scope:actor.liege - } - } - } - ## + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## + If we're landless, turbo charge this when we lack suitable claims. - modifier = { - factor = 3 - scope:actor = { - is_ruler = no - any_claim = { - count < @ai_threshold_for_revoke_cyle - diarch_legal_meddling_claimable_title_trigger = { ACTOR = scope:actor } - } - } - } - ## + If we're landless, try to prioritise anyone we've got a hook on. - modifier = { - factor = 2 - scope:actor = { - is_ruler = no - has_usable_hook = scope:recipient - } - } - ## - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## x0 Don't pick on players unless they're of at least a decent size. - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - any_held_county = { count <= 3 } - } - } - ## x0 If we're landless, don't claim more titles if we've already got enough we can try to action. - modifier = { - factor = 0 - scope:actor = { - is_ruler = no - any_claim = { - count >= @ai_threshold_for_revoke_cyle - diarch_legal_meddling_claimable_title_trigger = { ACTOR = scope:actor } - } - } - } - ## x0 If we're landless, don't pick on people who won't give their lands up. - modifier = { - factor = 0 - scope:actor = { is_ruler = no } - scope:recipient = { - any_held_county = { count <= 1 } - } - } - ### x0 Don't go into prestige debt! - modifier = { - factor = 0 - prestige < 0 - } - } -} - -# Diarch (actor) either tests stewardship or spends prestige to gain gold at the expense of negative modifiers delivered to the liege (recipient). -diarch_syphon_treasury_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - icon = icon_gold - common_interaction = yes - - desc = diarch_syphon_treasury_interaction_desc - - - interface_priority = 60 - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - } - # Make sure scope:recipient is suitable. - scope:recipient = { - OR = { - # We only target the liege... - this = scope:actor.liege - # ... but we want to see it for peer-vassals and such. - any_liege_or_above = { this = scope:actor.liege } - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # If scope:actor's stewardship is too crap, then we need to make sure they haven't somehow managed to riddle scope:recipient's lands with negative modifiers already. - trigger_if = { - limit = { scope:actor.stewardship < syphon_treasury_stewardship_medium } - custom_tooltip = { - text = diarch_syphon_treasury_interaction.tt.not_enough_marks_or_stewardship - scope:recipient = { - any_held_county = { diarch_syphon_treasury_embezzlement_modifiers_trigger = no } - } - } - } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_a_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_syphon_treasury_interaction } - } - # Must have selected an amount to embezzle. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = diarch_interactions.tt.must_embezzle_something - OR = { - scope:diarch_syphon_treasury_sum_small = yes - scope:diarch_syphon_treasury_sum_medium = yes - scope:diarch_syphon_treasury_sum_large = yes - scope:diarch_syphon_treasury_sum_huge = yes - } - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cooldown = { years = 3 } - - # Attempt Methods - send_options_exclusive = yes - ## Steal a small sum. - ### Bonus to scope:actor. - send_option = { - flag = diarch_syphon_treasury_sum_small - # We're doing gross overrides here so that we don't need to relocalise some perfectly good stuff. - localization = diarch_syphon_treasury_sum_small_name - current_description = diarch_syphon_treasury_sum_small - } - ## Steal a moderate sum. - ### No bonus, no malus. - send_option = { - flag = diarch_syphon_treasury_sum_medium - # We're doing gross overrides here so that we don't need to relocalise some perfectly good stuff. - localization = diarch_syphon_treasury_sum_medium_name - current_description = diarch_syphon_treasury_sum_medium - starts_enabled = { always = yes } - } - ## Steal a large sum. - ### Malus to scope:actor - send_option = { - flag = diarch_syphon_treasury_sum_large - # We're doing gross overrides here so that we don't need to relocalise some perfectly good stuff. - localization = diarch_syphon_treasury_sum_large_name - current_description = diarch_syphon_treasury_sum_large - } - ## Steal a _huge_sum. - ### _Huge_ malus to scope:actor. - send_option = { - flag = diarch_syphon_treasury_sum_huge - # We're doing gross overrides here so that we don't need to relocalise some perfectly good stuff. - localization = diarch_syphon_treasury_sum_huge_name - current_description = diarch_syphon_treasury_sum_huge - } - - on_send = { - # Did a landless diarch send this? - log_diarch_send_interaction_as_variable_effect = { INTERACTION = embezzle } - } - - on_accept = { - # Time for a skill duel! - scope:actor = { - duel = { - skill = stewardship - value = syphon_treasury_duel_target_value - # Victory! Gold for scope:actor, maluses for the liege. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = -49 - } - # Bonus for smaller amounts. - modifier = { - add = 25 - always = scope:diarch_syphon_treasury_sum_small - } - # You always have some kind of a chance. - min = 10 - desc = diarch_syphon_treasury_interaction.tt.success - # Inform scope:actor what type of embezzlement they'll be pursuing. - ## Very high stewardship characters syphon development growth from a few counties. - if = { - limit = { - stewardship >= syphon_treasury_stewardship_very_high - NOT = { government_has_flag = government_is_nomadic } - } - custom_tooltip = diarch_syphon_treasury_interaction.tt.success.syphon_development_growth - } - ## Alternatively, herd for nomadic rulers - else_if = { - limit = { - stewardship >= syphon_treasury_stewardship_very_high - government_has_flag = government_is_nomadic - } - custom_tooltip = diarch_syphon_treasury_interaction.tt.success.syphon_herd - } - ## High stewardship characters syphon some control from various counties. - else_if = { - limit = { stewardship >= syphon_treasury_stewardship_high } - custom_tooltip = diarch_syphon_treasury_interaction.tt.success.syphon_control_several_counties - } - ## Medium stewardship characters syphon lots of control from one county. - else_if = { - limit = { stewardship >= syphon_treasury_stewardship_medium } - custom_tooltip = diarch_syphon_treasury_interaction.tt.success.syphon_control_county - } - ## Low stewardship characters apply county modifiers. - else = { custom_tooltip = diarch_syphon_treasury_interaction.tt.success.apply_county_modifier } - # Now we sort the actual effects. - ## A nice toast to tell us about our new gold. - send_interface_toast = { - type = event_toast_effect_good - title = diarch_syphon_treasury_interaction.tt.success - left_icon = scope:recipient - # Transfer gold. - ## Small amount. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_small } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = syphon_treasury_gold_gain_low - } - add_gold = syphon_treasury_gold_gain_low - } - ## Medium amount. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = syphon_treasury_gold_gain_medium - } - add_gold = syphon_treasury_gold_gain_medium - } - ## Large amount. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = syphon_treasury_gold_gain_high - } - add_gold = syphon_treasury_gold_gain_high - } - ## Huge amount. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - give_or_update_embezzler_secret_effect = { - TARGET = scope:recipient - STAKE = syphon_treasury_gold_gain_very_high - } - add_gold = syphon_treasury_gold_gain_very_high - } - } - ## Plus the maluses for the liege. - scope:recipient = { - # Very high stewardship characters syphon development growth from a few counties. - if = { - limit = { scope:actor.stewardship >= syphon_treasury_stewardship_very_high } - # Gold transfer was... - ## Very high. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - diarch_syphon_treasury_interaction_syphon_development_growth_effect = { LOSS = massive_development_progress_loss } - } - ## High. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - diarch_syphon_treasury_interaction_syphon_development_growth_effect = { LOSS = major_development_progress_loss } - } - ## Medium. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - diarch_syphon_treasury_interaction_syphon_development_growth_effect = { LOSS = medium_development_progress_loss } - } - ## Low. - else = { - diarch_syphon_treasury_interaction_syphon_development_growth_effect = { LOSS = minor_development_progress_loss } - } - } - # Alternatively, for nomadic rulers, we steal some herd - else_if = { - limit = { scope:actor.stewardship >= syphon_treasury_stewardship_very_high government_has_flag = government_is_nomadic } - # Gold transfer was... - ## Very high. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - scope:recipient = { - domicile ?= { change_herd = monumental_herd_loss } - } - } - ## High. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - scope:recipient = { - domicile ?= { change_herd = massive_herd_loss } - } - } - ## Medium. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - scope:recipient = { - domicile ?= { change_herd = major_herd_loss } - } - } - ## Low. - else = { - scope:recipient = { - domicile ?= { change_herd = medium_herd_loss } - } - } - } - # High stewardship characters syphon some control from various counties. - else_if = { - limit = { scope:actor.stewardship >= syphon_treasury_stewardship_high } - # Gold transfer was... - ## Very high. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - diarch_syphon_treasury_interaction_syphon_control_effect = { LOSS = monumental_county_control_loss } - } - ## High. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - diarch_syphon_treasury_interaction_syphon_control_effect = { LOSS = extreme_county_control_loss } - } - ## Medium. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - diarch_syphon_treasury_interaction_syphon_control_effect = { LOSS = major_county_control_loss } - } - ## Low. - else = { - diarch_syphon_treasury_interaction_syphon_control_effect = { LOSS = medium_county_control_loss } - } - } - # Medium stewardship characters syphon lots of control from one county. - else_if = { - limit = { scope:actor.stewardship >= syphon_treasury_stewardship_medium } - # Gold transfer was... - ## Very high. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { - NOT = { this = scope:recipient.capital_county } - } - alternative_limit = { always = yes } - change_county_control = monumental_county_control_loss - } - } - ## High. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { - NOT = { this = scope:recipient.capital_county } - } - alternative_limit = { always = yes } - change_county_control = extreme_county_control_loss - } - } - ## Medium. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { - NOT = { this = scope:recipient.capital_county } - } - alternative_limit = { always = yes } - change_county_control = major_county_control_loss - } - } - ## Low. - else = { - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { - NOT = { this = scope:recipient.capital_county } - } - alternative_limit = { always = yes } - change_county_control = medium_county_control_loss - } - } - } - # Low stewardship characters apply county modifiers. - else = { - # Gold transfer was... - ## Very high. - if = { - limit = { always = scope:diarch_syphon_treasury_sum_huge } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { diarch_syphon_treasury_embezzlement_modifiers_trigger = no } - add_county_modifier = { - modifier = syphon_treasury_massive_sum_modifier - years = 5 - } - } - } - ## High. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_large } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { diarch_syphon_treasury_embezzlement_modifiers_trigger = no } - add_county_modifier = { - modifier = syphon_treasury_large_sum_modifier - years = 5 - } - } - } - ## Medium. - else_if = { - limit = { always = scope:diarch_syphon_treasury_sum_medium } - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { diarch_syphon_treasury_embezzlement_modifiers_trigger = no } - add_county_modifier = { - modifier = syphon_treasury_medium_sum_modifier - years = 5 - } - } - } - ## Low. - else = { - random_held_county = { - # Try to prefer against the capital, as that's more noticeable. - limit = { diarch_syphon_treasury_embezzlement_modifiers_trigger = no } - add_county_modifier = { - modifier = syphon_treasury_small_sum_modifier - years = 5 - } - } - } - } - } - } - # Defeat! No gold, just strife & a crime opinion. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = -49 - } - # Malus for higher amounts. - modifier = { - add = 25 - always = scope:diarch_syphon_treasury_sum_large - } - # Chungus malus for chungus higher amounts. - modifier = { - add = 100 - always = scope:diarch_syphon_treasury_sum_huge - } - # You can always fail. - min = 20 - desc = diarch_syphon_treasury_interaction.tt.failure.actor - send_interface_toast = { - type = event_toast_effect_bad - title = diarch_syphon_treasury_interaction.tt.failure.actor - left_icon = scope:recipient - show_as_tooltip = { diarch_syphon_treasury_interaction_caught_embezzling_effect = yes } - } - hidden_effect = { - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = diarch_syphon_treasury_interaction.tt.failure.recipient - left_icon = scope:actor - diarch_syphon_treasury_interaction_caught_embezzling_effect = yes - } - } - } - } - } - } - - # Debug logging. - debug_log = debug_log.syphon_treasury.attempt_made - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 12 - - ai_potential = { - is_diarch = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - # Honest and generous characters never embezzle. - NOR = { - has_trait = honest - has_trait = generous - } - } - - ai_will_do = { - # Embezzlement is serious, so you need actual reasons for it. - base = 0 - - # Additions. - ## Weight for opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - ## Weight for personality. - ai_value_modifier = { - ai_boldness = 0.25 - ai_greed = 1 - ai_honor = -0.5 - } - ## Flag Management. - ### The AI never goes for a huge sum, that's just there to tempt the player. - ### We prefer a large sum if we've got a massive skill disparity. - modifier = { - add = 100 - scope:diarch_syphon_treasury_sum_large = yes - stewardship_diff = { - target = scope:recipient - value >= @ai_skill_diff_upper_threshold - } - } - ### But a moderate sum does well if we're more evenly matched. - modifier = { - add = 50 - scope:diarch_syphon_treasury_sum_medium = yes - stewardship_diff = { - target = scope:recipient - value < @ai_skill_diff_upper_threshold - } - stewardship_diff = { - target = scope:recipient - value >= @ai_skill_diff_lower_threshold - } - } - ### Aaaand otherwise we'll accept a small amount. - modifier = { - add = 25 - scope:diarch_syphon_treasury_sum_small = yes - stewardship_diff = { - target = scope:recipient - value < @ai_skill_diff_lower_threshold - } - } - ## Less likely in tribal societies with less bookwork to hide theft in. - modifier = { - add = -50 - scope:recipient = { government_has_flag = government_is_tribal } - } - ## Debt is a great motivator for theft. - ### Is slightly in debt. - modifier = { - add = 10 - debt_level = 1 - } - ### Is one year in debt. - modifier = { - add = 25 - debt_level = 2 - } - ### Is two years in debt. - modifier = { - add = 40 - debt_level = 3 - } - ### Is three years in debt. - modifier = { - add = 60 - debt_level = 4 - } - ### Is four years in debt. - modifier = { - add = 100 - debt_level = 5 - } - ### Is over five years in debt. - modifier = { - add = 200 - debt_level >= 6 - } - ## Certain traits can affect likelihood directly. - ### It's intentional that these don't sync up value-wise with their opposite traits. - ### Honest/generous excluded because they're hard locked out of the interaction for the AI. - ### +++ Greedy. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = greedy - } - ### ++ Deceitful. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = deceitful - } - ### + Arbitrary. - modifier = { - add = diarch_ai_desire_plus_1_value - has_trait = arbitrary - } - ### -- Just. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = just - } - ## Skill considerations. - ### Very low negative comparative stewardship. - modifier = { - add = -50 - stewardship_diff = { - target = scope:recipient - value <= 10 - } - # Filter out arrogant characters, who can't believe they suck. - NOT = { has_trait = arrogant } - } - ### Low negative comparative stewardship. - modifier = { - add = -25 - stewardship_diff = { - target = scope:recipient - value <= 5 - } - # Filter out arrogant characters, who can't believe they suck. - NOT = { has_trait = arrogant } - } - ### High positive comparative stewardship. - modifier = { - add = 25 - stewardship_diff = { - target = scope:recipient - value >= 5 - } - # Filter out humble characters, who give their liege too much credit. - NOT = { has_trait = humble } - } - ### Very high positive comparative stewardship. - modifier = { - add = 50 - stewardship_diff = { - target = scope:recipient - value >= 10 - } - # Filter out humble characters, who give their liege too much credit. - NOT = { has_trait = humble } - } - # Factors. - ## + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## We're happy to bully players here, since we're not taking their land. - } -} - -# Diarch (actor) either tests diplomacy or spends prestige to give negative modifiers to the lands of a vassal of their liege (secondary recipient), who can't resist. -diarch_shift_privileges_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - icon = icon_shift_privileges - common_interaction = yes - - ai_intermediary_maybe = yes - desc = diarch_shift_privileges_interaction_desc - - popup_on_receive = yes - - interface_priority = 285 - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - } - # Make sure scope:recipient is suitable. - scope:recipient = { - # We only target vassals of the liege... - liege = scope:actor.liege - NOT = { this = scope:actor.liege } - # ... who are appropriately landed. - is_landed_or_landless_administrative = yes - scope:recipient.highest_held_title_tier >= tier_county - } - } - - is_valid_showing_failures_only = { - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Diarch revocations require a claim. - custom_tooltip = { - text = diarch_shift_privileges_interaction.tt.no_affectable_counties - scope:recipient = { - any_held_county = { diarch_shift_privileges_valid_target_title_trigger = yes } - } - } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_an_entrenched_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_shift_privileges_interaction } - } - # Must select something. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:diarch_shift_privileges_interaction_duel_diplomacy = yes - scope:diarch_shift_privileges_interaction_pay_prestige_partial = yes - scope:diarch_shift_privileges_interaction_pay_prestige_full = yes - } - } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cooldown = { months = 6 } - cooldown_against_recipient = { years = 3 } - - # Attempt Methods - send_options_exclusive = yes - ## Duel for it. - send_option = { - # You can always try to duel for it. - flag = diarch_shift_privileges_interaction_duel_diplomacy - } - ## Pay partial prestige. - send_option = { - is_valid = { - scope:actor = { - prestige >= { - value = shift_privileges_interaction_target_discounted_cost_value - multiply = -1 - } - } - } - flag = diarch_shift_privileges_interaction_pay_prestige_partial - } - ## Pay full prestige. - send_option = { - is_valid = { - scope:actor = { - prestige >= { - value = shift_privileges_interaction_target_cost_value - multiply = -1 - } - } - } - flag = diarch_shift_privileges_interaction_pay_prestige_full - } - - on_send = { - # Did a landless diarch send this? - log_diarch_send_interaction_as_variable_effect = { INTERACTION = shift_privileges } - } - - on_accept = { - scope:actor = { - # Resolution method. - ## If we're duelling, then we duel. - if = { - limit = { scope:diarch_shift_privileges_interaction_duel_diplomacy = yes } - # Now: FIGHT! WITH WORDS! - duel = { - skill = diplomacy - target = scope:recipient - # Victory! Cash for you, negative modifier for your opponent. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = -49 - } - desc = diarch_shift_privileges_interaction.tt.success - diarch_shift_privileges_interaction_apply_success_effect = yes - } - # Defeat! Into the loser's bin you go. - 50 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = -49 - } - desc = diarch_shift_privileges_interaction.tt.failure - diarch_shift_privileges_interaction_apply_fail_effect = yes - } - } - } - ## Otherwise we can take an even gamble against a reduced prestige cost.. - else_if = { - limit = { scope:diarch_shift_privileges_interaction_pay_prestige_partial = yes } - random_list = { - # Victory! A claim for you. - 100 = { - desc = diarch_shift_privileges_interaction.tt.success - diarch_shift_privileges_interaction_apply_success_effect = yes - } - # Defeat! Into the loser's bin you go. - 100 = { - desc = diarch_shift_privileges_interaction.tt.failure - diarch_shift_privileges_interaction_apply_fail_effect = yes - } - } - } - ## Or pay the full price. - else = { - custom_tooltip = diarch_shift_privileges_interaction.tt.success - diarch_shift_privileges_interaction_apply_success_effect = yes - } - # Prestige costs. - ## Point out the lack of cost. - if = { - limit = { scope:diarch_shift_privileges_interaction_duel_diplomacy = yes } - custom_tooltip = diarch_interaction_pay_prestige_none - } - ## Point out the discount. - else_if = { - limit = { scope:diarch_shift_privileges_interaction_pay_prestige_partial = yes } - add_prestige = shift_privileges_interaction_target_discounted_cost_value - } - ## Soz mate, yerr payin' full price. - else = { add_prestige = shift_privileges_interaction_target_cost_value } - } - - # Debug logging. - debug_log = debug_log.shift_privileges.attempt_made - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 6 - - ai_potential = { - is_diarch = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_secondary_powers_base_value - - # Additions. - ## Weight for opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - ## Weight for personality. - ai_value_modifier = { - ai_boldness = 0.25 - ai_greed = 0.5 - ai_honor = 0.5 - } - ## Flag Management. - ### Duel for it if we're massively superior. - modifier = { - add = 100 - scope:diarch_shift_privileges_interaction_duel_diplomacy = yes - diplomacy_diff = { - target = scope:recipient - value >= @ai_skill_diff_upper_threshold - } - } - ### Else we'll try to pay full prestige, if we've got lots to spare. - modifier = { - add = 50 - scope:diarch_shift_privileges_interaction_pay_prestige_full = yes - prestige >= { - value = shift_privileges_interaction_target_cost_value - multiply = @ai_prestige_bank_threshold - } - } - ### Or else we'll chance it, if we can afford that + some slack. - modifier = { - add = 25 - scope:diarch_shift_privileges_interaction_pay_prestige_partial = yes - prestige < { - value = shift_privileges_interaction_target_cost_value - multiply = @ai_prestige_bank_threshold - } - prestige >= { - value = shift_privileges_interaction_target_discounted_cost_value - multiply = @ai_prestige_bank_threshold - } - } - ### Otherwise we'll risk a regular duel. - ## Landless AI want to do this more. - modifier = { - add = 25 - is_ruler = no - } - ## AI who are in debt seek ways out of it. - modifier = { - add = 100 - debt_level >= 0 - } - ## Certain traits make it either very likely or very unlikely. - ### +++ Arbitrary. - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = arbitrary - } - ### --- Just. - modifier = { - add = diarch_ai_desire_minus_3_value - has_trait = just - } - # Factors. - ## + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ## x0 Don't pick on players unless they're of at least a decent size. - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - any_held_county = { count <= 3 } - } - } - ### x0 Don't go into prestige debt! - modifier = { - factor = 0 - prestige < 0 - } - } -} - -# Diarch (actor) requests use of a special CB from liege (recipient), allowing them to powerfully expand the empire's borders and harvest influence. -diarch_request_imperial_expedition_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - notification_text = DIARCH_REQUESTS_IMPERIAL_EXPEDITION - icon = invasion - interface_priority = 5 - - desc = diarch_request_imperial_expedition_interaction_desc - - ai_maybe = yes - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - liege = { has_diarchy_parameter = unlock_diarch_requests_military_expedition_interaction } - } - # Same sub-realm only. - OR = { - scope:actor.liege = scope:recipient - scope:recipient = { - any_liege_or_above = { this = scope:actor.liege } - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_diarch_requests_military_expedition_interaction } - # And you have to have _some_ troops of your own. - custom_tooltip = { - text = diarch_request_imperial_expedition_interaction.tt.minimum_troop_count - scope:actor.max_military_strength >= request_imperial_expedition_minimum_troop_count_value - } - # _And_ you don't already have a charge. - custom_tooltip = { - text = diarch_request_imperial_expedition_interaction.tt.actor_already_has_charge - scope:actor = { - NOT = { has_variable = imperial_expedition_charged } - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - # Hefty cooldown on this guy, as you shouldn't be able to do these often. - cooldown_against_recipient = { years = 25 } - - cost = { - influence = { - if = { - limit = { scope:influence_major = yes } - add = request_imperial_expedition_influence_stake_major_value - } - else_if = { - limit = { scope:influence_medium = yes } - add = request_imperial_expedition_influence_stake_medium_value - } - else_if = { - limit = { scope:influence_minor = yes } - add = request_imperial_expedition_influence_stake_minor_value - } - } - } - - # How much influence do we want to outlay on this? - ## A cheapy amount. - send_option = { - # Always valid. - flag = influence_minor - localization = diarch_request_imperial_expedition_interaction.tt.influence_minor_name - } - ## A medium amount. - send_option = { - is_valid = { scope:actor.influence >= request_imperial_expedition_influence_stake_medium_value } - flag = influence_medium - localization = diarch_request_imperial_expedition_interaction.tt.influence_medium_name - } - ## A large amount. - send_option = { - is_valid = { scope:actor.influence >= request_imperial_expedition_influence_stake_major_value } - flag = influence_major - localization = diarch_request_imperial_expedition_interaction.tt.influence_major_name - } - ## Use a hook instead. - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_auto_accept = { - # Fire the notification event telling scope:recipient what's been done. - scope:recipient = { trigger_event = diarchy.8003 } - } - - on_accept = { - scope:actor = { - # Display effects in the interaction. - show_as_tooltip = { diarch_request_imperial_expedition_accepted_effect = yes } - # Fire the notification event. - trigger_event = diarchy.8001 - } - } - - on_decline = { - scope:actor = { - # Display effects in the interaction. - show_as_tooltip = { diarch_request_imperial_expedition_rejected_effect = yes } - # Fire the notification event. - trigger_event = diarchy.8002 - } - } - - auto_accept = { - scope:recipient = { - trigger_if = { - limit = { scope:hook = yes } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - trigger_else_if = { - limit = { scope:influence_major = yes } - influence < request_imperial_expedition_influence_stake_major_value - } - trigger_else_if = { - limit = { scope:influence_medium = yes } - influence < request_imperial_expedition_influence_stake_medium_value - } - trigger_else_if = { - limit = { scope:influence_minor = yes } - influence < request_imperial_expedition_influence_stake_minor_value - } - trigger_else = { always = no } - } - } - - ai_accept = { - base = -25 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - # Your level of influence. - ## Impotent - modifier = { - add = -10 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPOTENT - scope:actor.influence_level = 0 - } - ## Influential - ### Would be zero, so it wouldn't appear. - ## Persuasive - modifier = { - add = 10 - desc = AI_OPINION_INFLUENCE_LEVEL_PERSUASIVE - scope:actor.influence_level = 2 - } - ## Controlling - modifier = { - add = 20 - desc = AI_OPINION_INFLUENCE_LEVEL_CONTROLLING - scope:actor.influence_level = 3 - } - ## Authoritative - modifier = { - add = 30 - desc = AI_OPINION_INFLUENCE_LEVEL_AUTHORITATIVE - scope:actor.influence_level = 4 - } - ## Imperious - modifier = { - add = 40 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPERIOUS - scope:actor.influence_level = 5 - } - # Traits. - ## ---- Paranoid - modifier = { - add = -50 - desc = ai_acceptance_trait_paranoid - scope:recipient = { has_trait = paranoid } - } - ## --- Stubborn - modifier = { - add = -30 - desc = ai_acceptance_trait_stubborn - scope:recipient = { has_trait = stubborn } - } - ## --- Content - modifier = { - add = -30 - desc = ai_acceptance_trait_content - scope:recipient = { has_trait = content } - } - ## - Humble - modifier = { - add = -10 - desc = ai_acceptance_trait_humble - scope:recipient = { has_trait = humble } - } - ## + Arrogant - modifier = { - add = 10 - desc = ai_acceptance_trait_arrogant - scope:recipient = { has_trait = arrogant } - } - ## + Ambitious - modifier = { - add = 10 - desc = ai_acceptance_trait_ambitious - scope:recipient = { has_trait = ambitious } - } - ## ++ Trusting - modifier = { - add = 20 - desc = ai_acceptance_trait_trusting - scope:recipient = { has_trait = trusting } - } - ## ++ Fickle - modifier = { - add = 20 - desc = ai_acceptance_trait_fickle - scope:recipient = { has_trait = fickle } - } - ## ++ Lazy - modifier = { - add = 20 - desc = ai_acceptance_trait_lazy - scope:recipient = { has_trait = lazy } - } - ## +++ Craven - modifier = { - add = 30 - desc = ai_acceptance_trait_craven - scope:recipient = { has_trait = craven } - } - # Factor for personality. - ai_value_modifier = { - who = scope:recipient - # The meeker they are, the more they'll go along with your wishes. - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = -1 - } - } - # And the lazier. - ai_energy = { - if = { - limit = { - scope:recipient = { ai_energy > 0 } - } - value = 0.5 - } - } - } - } - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 24 - ai_potential = { - is_diarch = yes - liege = { has_diarchy_active_parameter = unlock_diarch_requests_military_expedition_interaction } - NOR = { - has_trait = craven - has_trait = lazy - has_trait = content - } - } - - ai_will_do = { - base = -50 - - # Personality. - ai_value_modifier = { - ai_energy = 2 - ai_boldness = 1 - ai_greed = 1 - } - # Traits. - ## Brave - modifier = { - add = 25 - has_trait = brave - } - ## Ambitious - modifier = { - add = 50 - has_trait = ambitious - } - ## Arrogant - modifier = { - add = 25 - has_trait = arrogant - } - ## Loyal & Disloyal (same result, different motivations) - modifier = { - add = 25 - OR = { - has_trait = loyal - has_trait = disloyal - } - } - ## Diligent - modifier = { - add = 25 - has_trait = diligent - } - ## We've already filtered out craven, lazy, & content by this point. - # Military. - ## For every thousand troops we can put in ourselves, make us more likely to ask. - modifier = { - add = { - value = scope:actor.max_military_strength - divide = 100 - floor = yes - } - always = yes - } - # Flag Management. - ## Make sure the AI uses hooks for this as it's % based - modifier = { - add = 1 - scope:hook = yes - } - ## Otherwise, try to spend the most influence possible whenever we can. - modifier = { - add = 3 - scope:influence_minor = yes - } - modifier = { - add = 2 - scope:influence_medium = yes - } - modifier = { - add = 1 - scope:influence_major = yes - } - } -} - -# Diarch (actor) requests a kingdom governor title from liege (recipient). -diarch_demand_despotate_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - notification_text = DIARCH_DEMANDS_DESPOTATE - icon = icon_found_despotate - interface_priority = 15 - - desc = diarch_demand_despotate_interaction_desc - - target_type = title - target_filter = secondary_recipient_de_jure_titles - can_be_picked_title = { - scope:target = { valid_kingdom_for_diarch_to_demand_as_despotate_trigger = yes } - } - has_valid_target_showing_failures_only = { - # Only show kingdoms. - scope:target.tier = tier_kingdom - # Don't show the empire's capital kingdom. - NOT = { - scope:recipient.capital_county = { target_is_de_jure_liege_or_above = scope:target } - } - } - # We do this via redirects because recipient_de_jure_titles did not turn up for work today. - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - } - ai_maybe = yes - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - liege = { has_diarchy_parameter = unlock_diarch_demand_kingdom_interaction } - } - # Same sub-realm only. - OR = { - scope:actor.liege = scope:recipient - scope:recipient = { - any_liege_or_above = { this = scope:actor.liege } - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_diarch_demand_kingdom_interaction } - # You do not already have a kingdom tier title - custom_tooltip = { - text = diarch_demand_despotate_interaction.tt.already_have_high_titles - scope:actor.highest_held_title_tier < tier_kingdom - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - # Hefty cooldown on this guy, as you shouldn't be able to pester about this often. - cooldown_against_recipient = { years = 25 } - - cost = { - influence = { - if = { - limit = { scope:influence_major = yes } - add = diarch_demand_despotate_interaction_stake_major_value - } - else_if = { - limit = { scope:influence_medium = yes } - add = diarch_demand_despotate_interaction_stake_medium_value - } - else_if = { - limit = { scope:influence_minor = yes } - add = diarch_demand_despotate_interaction_stake_minor_value - } - } - } - - # How much influence do we want to outlay on this? - ## A cheapy amount. - send_option = { - # Always valid. - flag = influence_minor - localization = diarch_demand_despotate_interaction.tt.influence_minor_name - } - ## A medium amount. - send_option = { - is_valid = { scope:actor.influence >= diarch_demand_despotate_interaction_stake_medium_value } - flag = influence_medium - localization = diarch_demand_despotate_interaction.tt.influence_medium_name - } - ## A large amount. - send_option = { - is_valid = { scope:actor.influence >= diarch_demand_despotate_interaction_stake_major_value } - flag = influence_major - localization = diarch_demand_despotate_interaction.tt.influence_major_name - } - ## Use a hook instead. - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_auto_accept = { - # Fire the notification event telling scope:recipient what's been done. - scope:recipient = { trigger_event = diarchy.8033 } - } - - on_accept = { - # Notify the player of how to force their liege's hand. - if = { - limit = { - scope:influence_major = yes - scope:recipient.influence >= diarch_demand_despotate_interaction_stake_to_raise_major_inverted_value - } - custom_tooltip = diarch_demand_despotate_interaction_stake_to_raise_major_value.tt.liege_can_refuse - } - else_if = { - limit = { - scope:influence_medium = yes - scope:recipient.influence >= diarch_demand_despotate_interaction_stake_to_raise_medium_inverted_value - } - custom_tooltip = diarch_demand_despotate_interaction_stake_to_raise_medium_value.tt.liege_can_refuse - } - else_if = { - limit = { - scope:influence_minor = yes - scope:recipient.influence >= diarch_demand_despotate_interaction_stake_to_raise_minor_inverted_value - } - custom_tooltip = diarch_demand_despotate_interaction_stake_to_raise_minor_value.tt.liege_can_refuse - } - scope:actor = { - # Display effects in the interaction. - show_as_tooltip = { diarch_demand_despotate_interaction_accepted_effect = yes } - # Fire the notification event. - trigger_event = diarchy.8031 - } - } - - on_decline = { - scope:actor = { - # Display effects in the interaction. - show_as_tooltip = { diarch_demand_despotate_interaction_rejected_effect = yes } - # Fire the notification event. - trigger_event = diarchy.8032 - } - } - - auto_accept = { - scope:recipient = { - trigger_if = { - limit = { scope:hook = yes } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - trigger_else_if = { - limit = { scope:influence_major = yes } - influence < diarch_demand_despotate_interaction_stake_to_raise_major_inverted_value - } - trigger_else_if = { - limit = { scope:influence_medium = yes } - influence < diarch_demand_despotate_interaction_stake_to_raise_medium_inverted_value - } - trigger_else_if = { - limit = { scope:influence_minor = yes } - influence < diarch_demand_despotate_interaction_stake_to_raise_minor_inverted_value - } - trigger_else = { always = no } - } - } - - ai_accept = { - base = -50 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - # Your level of influence. - ## Impotent - modifier = { - add = -10 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPOTENT - scope:actor.influence_level = 0 - } - ## Influential - ### Would be zero, so it wouldn't appear. - ## Persuasive - modifier = { - add = 10 - desc = AI_OPINION_INFLUENCE_LEVEL_PERSUASIVE - scope:actor.influence_level = 2 - } - ## Controlling - modifier = { - add = 20 - desc = AI_OPINION_INFLUENCE_LEVEL_CONTROLLING - scope:actor.influence_level = 3 - } - ## Authoritative - modifier = { - add = 30 - desc = AI_OPINION_INFLUENCE_LEVEL_AUTHORITATIVE - scope:actor.influence_level = 4 - } - ## Imperious - modifier = { - add = 40 - desc = AI_OPINION_INFLUENCE_LEVEL_IMPERIOUS - scope:actor.influence_level = 5 - } - # Traits. - ## ---- Paranoid - modifier = { - add = -50 - desc = ai_acceptance_trait_paranoid - scope:recipient = { has_trait = paranoid } - } - ## --- Stubborn - modifier = { - add = -30 - desc = ai_acceptance_trait_stubborn - scope:recipient = { has_trait = stubborn } - } - ## --- Greedy - modifier = { - add = -30 - desc = ai_acceptance_trait_greedy - scope:recipient = { has_trait = greedy } - } - ## -- Arrogant - modifier = { - add = -20 - desc = ai_acceptance_trait_arrogant - scope:recipient = { has_trait = arrogant } - } - ## ++ Humble - modifier = { - add = 20 - desc = ai_acceptance_trait_humble - scope:recipient = { has_trait = humble } - } - ## ++ Trusting - modifier = { - add = 20 - desc = ai_acceptance_trait_trusting - scope:recipient = { has_trait = trusting } - } - ## ++ Fickle - modifier = { - add = 20 - desc = ai_acceptance_trait_fickle - scope:recipient = { has_trait = fickle } - } - ## ++ Lazy - modifier = { - add = 20 - desc = ai_acceptance_trait_lazy - scope:recipient = { has_trait = lazy } - } - ## ++ Generous - modifier = { - add = 20 - desc = ai_acceptance_trait_generous - scope:recipient = { has_trait = generous } - } - # Factor for personality. - ai_value_modifier = { - who = scope:recipient - # The meeker they are, the more they'll go along with your wishes. - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = -1 - } - } - # And the lazier. - ai_energy = { - if = { - limit = { - scope:recipient = { ai_energy > 0 } - } - value = 0.5 - } - } - } - } - - # AI - ai_set_target = { - scope:recipient = { - # Grab our empires. - every_held_title = { - limit = { tier >= tier_empire } - add_to_list = empires_list - } - # Then from that, formulate our kingdoms. - every_in_list = { - list = empires_list - every_in_de_jure_hierarchy = { - limit = { - tier = tier_kingdom - valid_kingdom_for_diarch_to_demand_as_despotate_trigger = yes - } - continue = { tier >= tier_kingdom } - add_to_list = kingdoms_list - } - } - # Now pick our best shot. - ordered_in_list = { - list = kingdoms_list - order_by = { - # Tell the AI to grab its own kingdom first of all. - if = { - limit = { this = scope:actor.capital_county.kingdom } - add = 1000 - } - # Otherwise, go for the biggest within the empire. - else = { - every_de_jure_county_holder = { - limit = { top_liege = scope:recipient } - add = 1 - } - } - } - save_scope_as = target - } - } - } - ai_targets = { ai_recipients = liege } - ai_frequency = 24 - ai_potential = { - is_diarch = yes - liege = { has_diarchy_active_parameter = unlock_diarch_demand_kingdom_interaction } - NOR = { - has_trait = humble - has_trait = content - } - # Loyal diarchs don't ask for what their liege could give freely. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - base = 25 - - # Personality. - ai_value_modifier = { - ai_greed = 1 - ai_boldness = 1 - ai_energy = 0.25 - } - # Opinion. - ## The more we like our emperor, the less likely we are to want to interfere in their planned setup. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -0.25 - } - # Traits. - ## +++ Ambitious. - modifier = { - add = 50 - has_trait = ambitious - } - ## +++ Arrogant. - modifier = { - add = 50 - has_trait = arrogant - } - ## ++ Greedy. - modifier = { - add = 25 - has_trait = greedy - } - ## ++ Diligent. - modifier = { - add = 25 - has_trait = diligent - } - ## -- Generous. - modifier = { - add = -25 - has_trait = generous - } - ## --- Lazy. - modifier = { - add = -50 - has_trait = lazy - } - ## Humble & Content have both been pre-filtered out. - # Flag Management. - ## Make sure the AI uses hooks for this as it's % based - modifier = { - add = 4 - scope:hook = yes - } - ## Otherwise, try to spend the most influence possible whenever we can. - modifier = { - add = 3 - scope:influence_minor = yes - } - modifier = { - add = 2 - scope:influence_medium = yes - } - modifier = { - add = 1 - scope:influence_major = yes - } - } -} - - - - - - - - - - -################################################## -# DIARCH COUP LIEGE INTERACTIONS - -diarch_coup_liege_interaction = { - category = interaction_category_diarch - diarch_interaction = yes - icon = icon_scheme_claim_throne - interface_priority = 50 - pre_answer_no_breakdown_key = diarch_coup_liege_interaction_pre_answer_no_breakdown_key - pre_answer_yes_breakdown_key = diarch_coup_liege_interaction_pre_answer_yes_breakdown_key - - desc = diarch_coup_liege_interaction_desc - - # First, grab every other powerful vassal of your liege & plonk them in a list. - populate_recipient_list = { - scope:actor.liege = { - every_powerful_vassal = { - limit = { - NOT = { this = scope:actor } - } - add_to_list = characters - } - every_powerful_family = { - limit = { - NOR = { - house_head = scope:actor - house_head = scope:recipient - } - } - house_head = { add_to_list = characters } - } - } - } - redirect = { - # Turn the old scope:recipient into the target. - if = { - limit = { - NOR = { - scope:recipient = scope:actor - scope:recipient = scope:actor.liege - } - } - scope:recipient = { save_scope_as = secondary_recipient } - } - # Always make sure we're targeting your liege as the recipient for UX consistency. - scope:actor.liege = { save_scope_as = recipient } - } - - interface_priority = 20 - - is_shown = { - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - OR = { - AND = { - exists = liege - is_diarch_of_target = liege - } - is_designated_diarch = yes - } - } - # Valid on vassals of your liege or your liege themselves. - ## More complex triggers don't generally work because redirect brings the interaction back to targeting the liege as scope:recipient, so we're left with this. - ### Don't try to improve it, it's not worth it, but if you _do_, then test your changes thoroughly. - #### When this breaks (which it does easily), it tends to mean the interaction shows up as valid against _every_ other character in diplomatic range. - OR = { - scope:recipient = scope:actor.liege - scope:secondary_recipient.liege ?= scope:actor.liege - } - } - - is_valid_showing_failures_only = { - # Diarch must be able to act. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - # Loyalty hooks, per the name, will tend to block this. - custom_tooltip = { - text = diarch_coup_liege_interaction.tt.action_blocked_by_loyalty_hook - NOT = { - diarch_loyalty_due_to_hook_trigger = { - LIEGE = scope:recipient - DIARCH = scope:actor - } - } - } - # They can't already be in the list. - custom_tooltip = { - text = diarch_coup_liege_interaction.tt.secondary_recipient_is_already_in_list - NOT = { - scope:actor = { - any_in_list = { - variable = coup_pv_supporters_list - this = scope:secondary_recipient - } - } - } - } - # Must be in an actual diarchy — we show most interactions greyed out for designated diarchs. - custom_tooltip = { - text = diarch_interactions.tt.you_must_be_in_an_entrenched_regency_to_access - scope:actor = { is_diarch = yes } - } - # And, relatedly, there's some checks that we don't show you unless you *are* already in a diarchy. - trigger_if = { - limit = { - scope:actor = { is_diarch = yes } - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege ?= { has_diarchy_active_parameter = regents_can_try_to_overthrow_present_lieges } - } - trigger_if = { - limit = { exists = scope:secondary_recipient } - # Must be available. - ## So no kids. - scope:secondary_recipient = { is_adult = yes } - ## & no one in prison. - scope:secondary_recipient = { is_imprisoned = no } - # Plus, currently, humans can't be part of these plots. - scope:secondary_recipient = { is_ai = yes } - } - # Must select something — tooltips'll knacker otherwise + just for consistency. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:promise_nothing = yes - scope:promise_hook_weak = yes - scope:promise_hook_strong = yes - scope:promise_gold_medium = yes - scope:promise_gold_large = yes - } - } - } - # Cannot be at war with your liege. - NOT = { - scope:actor = { is_at_war_with = scope:actor.liege } - } - } - - can_send = { - # We check this here to make the interaction generally findable, so you can get at the list easily, but prevent you from inviting randos to the coup. - ## It's actually technically harmless - they won't help but don't get their payout if they're not powerful when the coup hits. - trigger_if = { - limit = { - scope:recipient = { government_has_flag = government_is_administrative } - } - scope:secondary_recipient.house = { is_powerful_family = yes } - } - trigger_else = { - scope:secondary_recipient = { is_powerful_vassal = yes } - } - } - - # Promise bugger all. - send_option = { - flag = promise_nothing - localization = PROMISE_NOTHING - } - # Promise hook. - send_option = { - is_valid = { - # Can't offer a hook if they've already got any type of hook on you. - NOT = { - scope:secondary_recipient ?= { has_hook = scope:actor } - } - } - flag = promise_hook_weak - localization = PROMISE_HOOK_WEAK - } - # Promise strong hook. - send_option = { - is_valid = { - # Can't offer a strong hook if they've already got a strong hook on you. - NOT = { - scope:secondary_recipient ?= { has_strong_hook = scope:actor } - } - } - flag = promise_hook_strong - localization = PROMISE_HOOK_STRONG - } - # Promise gold. - send_option = { - flag = promise_gold_medium - localization = PROMISE_GOLD_MEDIUM - } - # Promise piles of gold. - send_option = { - flag = promise_gold_large - localization = PROMISE_GOLD_LARGE - } - - on_accept = { - if = { - limit = { exists = scope:secondary_recipient } - scope:actor = { - # Scope:secondary_recipient joins your conspiracy. - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.joins_conspiracy - ## Send a notification just for a bit of extra feedback. - send_interface_toast = { - type = event_toast_effect_good - title = diarch_coup_liege_interaction.tt.secondary_recipient.joins_conspiracy - left_icon = scope:secondary_recipient - } - # HerHis reward is collected if you succeed. - if = { - limit = { scope:promise_nothing = no } - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.reward - } - # Certain scope:secondary_recipients may betray their liege in the throne room itself. - ## Chancellors in diplo coups. - if = { - limit = { scope:secondary_recipient ?= scope:recipient.cp:councillor_chancellor } - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.chancellor_sabotage - } - ## Spymasters in intrigue coups. - if = { - limit = { scope:secondary_recipient ?= scope:recipient.cp:councillor_spymaster } - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.spymaster_sabotage - } - ## Personal Champions in prowess coups. - if = { - limit = { - scope:secondary_recipient = { has_court_position = champion_court_position } - } - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.champion_sabotage - # Yes, there are other candidates, but we're not tooltipping every conceivable case. Rulers are gonna have supporters. - custom_tooltip = diarch_coup_liege_interaction.tt.secondary_recipient.champion_sabotage.others - } - # Right, actually record them. - ## Including in the variable. - add_to_variable_list = { - name = coup_pv_supporters_list - target = scope:secondary_recipient - } - ## And their promised payment, if anything. - ### Weak hooks. - if = { - limit = { scope:promise_hook_weak = yes } - add_to_variable_list = { - name = coup_promise_list_weak_hook - target = scope:secondary_recipient - } - } - ### Strong hooks. - else_if = { - limit = { scope:promise_hook_strong = yes } - add_to_variable_list = { - name = coup_promise_list_strong_hook - target = scope:secondary_recipient - } - } - ### Cash. - else_if = { - limit = { scope:promise_gold_medium = yes } - add_to_variable_list = { - name = coup_promise_list_gold - target = scope:secondary_recipient - } - } - ### Big Cash. - else_if = { - limit = { scope:promise_gold_large = yes } - add_to_variable_list = { - name = coup_promise_list_big_gold - target = scope:secondary_recipient - } - } - } - } - } - - # Disguise the interaction from players. - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - ai_accept = { - # Base reluctance to commit to a risky, treasonous plan. - base = -50 - - # Opinion. - ## Of scope:actor. - opinion_modifier = { - who = scope:secondary_recipient - opinion_target = scope:actor - multiplier = 1 - } - ## Of scope:recipient. - opinion_modifier = { - who = scope:secondary_recipient - opinion_target = scope:recipient - multiplier = -0.5 - } - # Personality. - ## Values. - ai_value_modifier = { - who = scope:secondary_recipient - ai_honor = -1 - ai_boldness = 0.25 - } - ## Traits. - ### +++ Disloyal. - modifier = { - add = diarch_ai_desire_plus_3_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.disloyal - scope:secondary_recipient = { has_trait = disloyal } - } - ### +++ Ambitious. - modifier = { - add = diarch_ai_desire_plus_3_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.ambitious - scope:secondary_recipient = { has_trait = ambitious } - } - ### ++ Arbitrary. - modifier = { - add = diarch_ai_desire_plus_2_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.arbitrary - scope:secondary_recipient = { has_trait = arbitrary } - } - ### + Fickle. - modifier = { - add = diarch_ai_desire_plus_1_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.fickle - scope:secondary_recipient = { has_trait = fickle } - } - ### - Stubborn. - modifier = { - add = diarch_ai_desire_minus_1_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.stubborn - scope:secondary_recipient = { has_trait = stubborn } - } - ### -- Just. - modifier = { - add = diarch_ai_desire_minus_2_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.just - scope:secondary_recipient = { has_trait = just } - } - ### --- Content. - modifier = { - add = diarch_ai_desire_minus_3_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.content - scope:secondary_recipient = { has_trait = content } - } - ### --- Loyal. - modifier = { - add = diarch_ai_desire_minus_3_value - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.loyal - scope:secondary_recipient = { has_trait = loyal } - } - # Hooks. - ## Weak hooks are happy to have you in power. - modifier = { - add = 25 - scope:secondary_recipient = { has_weak_hook = scope:actor } - } - ## Strong hooks are *very* happy to have you in power. - modifier = { - add = 75 - scope:secondary_recipient = { has_strong_hook = scope:actor } - } - ## And conversely, don't want you to coup scope:recipient if they've already got a strong hook on them. - modifier = { - add = -100 - scope:secondary_recipient = { has_strong_hook = scope:recipient } - } - ## Loyalty hooks stop the AI signing up. - modifier = { - add = -1000 - desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook - diarch_loyalty_due_to_hook_trigger = { - LIEGE = scope:recipient - DIARCH = scope:secondary_recipient - } - } - # Various. - ## Scope:secondary_recipient generally doesn't want to betray an ally. - modifier = { - add = { - value = -100 - # Reduce the malus a little if also allied to scope:actor. - if = { - limit = { - scope:secondary_recipient = { is_allied_to = scope:actor } - } - add = 50 - } - } - scope:secondary_recipient = { is_allied_to = scope:recipient } - } - ## Heirs don't generally want to betray scope:recipient, as they'll lose out. - modifier = { - add = -100 - desc = diarch_coup_liege_interaction.tt.heir_will_not_side_against_benefactor - scope:recipient = { - any_heir = { this = scope:secondary_recipient } - } - } - # Promises. - ## Weak hook. - modifier = { - add = { - value = 25 - # Multiply this... - ## ... down for folks who wouldn't care... - if = { - limit = { has_trait = honest } - multiply = 0.5 - } - ## ... & and up for those who would. - if = { - limit = { has_trait = deceitful } - multiply = 2 - } - } - desc = diarch_coup_liege_interaction.tt.wants_hook - scope:promise_hook_weak = yes - } - ## Strong hook. - modifier = { - add = { - value = 50 - # Multiply this... - ## ... down for folks who wouldn't care... - if = { - limit = { has_trait = honest } - multiply = 0.5 - } - ## ... & and up for those who would. - if = { - limit = { has_trait = deceitful } - multiply = 2 - } - } - desc = diarch_coup_liege_interaction.tt.wants_strong_hook - scope:promise_hook_strong = yes - } - ## Gold. - modifier = { - add = { - value = 25 - # Multiply this... - ## ... down for folks who wouldn't care... - if = { - limit = { has_trait = generous } - multiply = 0.5 - } - ## ... & and up for those who would. - if = { - limit = { has_trait = greedy } - multiply = 2 - } - } - desc = diarch_coup_liege_interaction.tt.wants_gold - scope:promise_gold_medium = yes - } - ## Lotsa gold. - modifier = { - add = { - value = 50 - # Multiply this... - ## ... down for folks who wouldn't care... - if = { - limit = { has_trait = generous } - multiply = 0.5 - } - ## ... & and up for those who would. - if = { - limit = { has_trait = greedy } - multiply = 2 - } - } - desc = diarch_coup_liege_interaction.tt.wants_strong_gold - scope:promise_gold_large = yes - } - } - - # AI - ## The AI doesn't use this interaction automatically - they try it manually upon hitting the required threshold. -} - - - - - - - - - -################################################## -# LIEGE ON DIARCH POWERS - -# Liege (actor) transfers vizier's (recipient's) extravagance modifiers into their own gold. -mulct_vizier_interaction = { - category = interaction_category_diarch - common_interaction = yes - icon = icon_gold - - desc = mulct_vizier_interaction_desc - - is_shown = { - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - diarch ?= scope:recipient - # Plus only on viziers. - has_diarchy_active_parameter = unlock_mulct_vizier_interaction - } - } - - is_valid_showing_failures_only = { - scope:actor = { - # Some basic checks. - is_available_adult = yes - # Shouldn't happen, but just in case. - NOT = { is_at_war_with = scope:recipient } - } - # Must select something. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:mulct_vizier_interaction_minimal = yes - scope:mulct_vizier_interaction_minor = yes - scope:mulct_vizier_interaction_medium = yes - scope:mulct_vizier_interaction_major = yes - scope:mulct_vizier_interaction_massive = yes - } - } - } - } - - # Don't squeeze them too often. - cooldown = { years = 10 } - - # Attempt Methods - send_options_exclusive = yes - ## Minimal. - ### Always show this'un. - send_option = { flag = mulct_vizier_interaction_minimal } - ## Minor. - send_option = { flag = mulct_vizier_interaction_minor } - ## Medium. - send_option = { flag = mulct_vizier_interaction_medium } - ## Major. - send_option = { flag = mulct_vizier_interaction_major } - ## Massive. - send_option = { flag = mulct_vizier_interaction_massive } - - can_send = { - trigger_if = { - limit = { scope:mulct_vizier_interaction_minor = yes } - custom_tooltip = { - text = mulct_vizier_interaction.extravagances_required.t1 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t1_treasure_modifier - has_character_modifier = vizier_extravagance_t1_activities_modifier - has_character_modifier = vizier_extravagance_t1_property_modifier - has_character_modifier = vizier_extravagance_t1_charity_modifier - } - } - } - custom_tooltip = { - text = mulct_vizier_interaction.scales_too_swung.tt - scope:actor.vizier_mulct_swing_check_value >= vizier_mulct_swing_gain_minor_value - } - } - trigger_if = { - limit = { scope:mulct_vizier_interaction_medium = yes } - custom_tooltip = { - text = mulct_vizier_interaction.extravagances_required.t2 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t2_treasure_modifier - has_character_modifier = vizier_extravagance_t2_activities_modifier - has_character_modifier = vizier_extravagance_t2_property_modifier - has_character_modifier = vizier_extravagance_t2_charity_modifier - } - } - } - custom_tooltip = { - text = mulct_vizier_interaction.scales_too_swung.tt - scope:actor.vizier_mulct_swing_check_value >= vizier_mulct_swing_gain_medium_value - } - } - trigger_if = { - limit = { scope:mulct_vizier_interaction_major = yes } - custom_tooltip = { - text = mulct_vizier_interaction.extravagances_required.t3 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t3_treasure_modifier - has_character_modifier = vizier_extravagance_t3_activities_modifier - has_character_modifier = vizier_extravagance_t3_property_modifier - has_character_modifier = vizier_extravagance_t3_charity_modifier - } - } - } - custom_tooltip = { - text = mulct_vizier_interaction.scales_too_swung.tt - scope:actor.vizier_mulct_swing_check_value >= vizier_mulct_swing_gain_major_value - } - } - trigger_if = { - limit = { scope:mulct_vizier_interaction_massive = yes } - custom_tooltip = { - text = mulct_vizier_interaction.extravagances_required.t4 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t4_treasure_modifier - has_character_modifier = vizier_extravagance_t4_activities_modifier - has_character_modifier = vizier_extravagance_t4_property_modifier - has_character_modifier = vizier_extravagance_t4_charity_modifier - } - } - } - custom_tooltip = { - text = mulct_vizier_interaction.scales_too_swung.tt - scope:actor.vizier_mulct_swing_check_value >= vizier_mulct_swing_gain_massive_value - } - } - } - - on_accept = { - # Sort the gold transfer. - mulct_vizier_for_cash_effect = { VIZIER = scope:recipient } - scope:recipient = { - # How angry is scope:recipient? - if = { - limit = { scope:mulct_vizier_interaction_minimal = yes } - mulct_vizier_for_cash_opinion_reaction_effect = { MULT = 1 } - } - if = { - limit = { scope:mulct_vizier_interaction_minor = yes } - mulct_vizier_for_cash_opinion_reaction_effect = { MULT = 2 } - } - if = { - limit = { scope:mulct_vizier_interaction_medium = yes } - mulct_vizier_for_cash_opinion_reaction_effect = { MULT = 3 } - } - if = { - limit = { scope:mulct_vizier_interaction_major = yes } - mulct_vizier_for_cash_opinion_reaction_effect = { MULT = 4 } - } - if = { - limit = { scope:mulct_vizier_interaction_massive = yes } - mulct_vizier_for_cash_opinion_reaction_effect = { MULT = 5 } - } - # How much stress is this causing them? - stress_impact = { - ambitious = major_stress_impact_loss - arrogant = medium_stress_impact_loss - generous = minor_stress_impact_loss - greedy = major_stress_impact_gain - } - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_vizmulct_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_vizmulct_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_vizmulct_accept_recipient_list } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = diarch } - ai_frequency = 120 - ai_potential = { - has_active_diarchy = yes - has_diarchy_parameter = unlock_mulct_vizier_interaction - } - - ai_will_do = { - # You generally want to do this if you can. - base = 100 - - # Circumstances. - ## Are we in debt? - modifier = { - add = 100 - gold <= -1 - } - ## Are we at war? - modifier = { - add = 100 - is_at_war = yes - } - - # Vizier Extravagances. - ## Are they in the upper tiers? - modifier = { - add = 50 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t3_treasure_modifier - has_character_modifier = vizier_extravagance_t3_activities_modifier - has_character_modifier = vizier_extravagance_t3_property_modifier - has_character_modifier = vizier_extravagance_t3_charity_modifier - } - } - } - ## Are they in the uppermost tier? - modifier = { - add = 25 - scope:recipient = { - OR = { - has_character_modifier = vizier_extravagance_t4_treasure_modifier - has_character_modifier = vizier_extravagance_t4_activities_modifier - has_character_modifier = vizier_extravagance_t4_property_modifier - has_character_modifier = vizier_extravagance_t4_charity_modifier - } - } - } - - # Traits. - ## Greedy characters'll do it whenever they can. - modifier = { - add = 50 - has_trait = greedy - } - ## Generous characters'll only do it occasionally. - modifier = { - add = -50 - has_trait = generous - } - - # Send Option Usage. - ## These teach the AI how to use the send options. - ## These are linear; basically, prefer the largest number you're valid for (since the can_send'll block whatever you can't mulct). - modifier = { - add = 1 - scope:mulct_vizier_interaction_minimal = yes - } - modifier = { - add = 2 - scope:mulct_vizier_interaction_minor = yes - } - modifier = { - add = 3 - scope:mulct_vizier_interaction_medium = yes - } - modifier = { - add = 4 - scope:mulct_vizier_interaction_major = yes - } - modifier = { - add = 5 - scope:mulct_vizier_interaction_massive = yes - } - } -} - - - - - - - - - - -################################################## -# BOTH-WAYS POWERS - -# Diarch or liege target their opposite number and inflict negative realm opinion equivalent to the multiplied difference between intrigue or diplomacy in exchange for influence. -scapegoat_counterpart_interaction = { - category = interaction_category_diarch - icon = icon_scheme_slander - - desc = scapegoat_counterpart_interaction_desc - - interface_priority = 25 - - is_shown = { - # You must be one of the partners in a diarchy. - is_in_scapegoating_diarchy_visibility_trigger = { PARAMETER_TYPE = has_diarchy_parameter } - } - - is_valid_showing_failures_only = { - # Free adults only: you can't issue this type of decree from prison, and it wouldn't be fair to stop you from slandering a child but let a child slander you. - scope:actor = { - is_imprisoned = no - is_adult = yes - } - # And you can't blame a literal child. - scope:recipient = { is_adult = yes } - # Nor can you blame the opposing party if you're a deactivated diarch. - trigger_if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - } - custom_tooltip = { - text = scapegoat_counterpart_interaction.tt.skill_requirements - OR = { - scope:actor.diplomacy > scope:recipient.diplomacy - scope:actor.intrigue > scope:recipient.intrigue - } - } - is_in_scapegoating_diarchy_visibility_trigger = { PARAMETER_TYPE = has_diarchy_active_parameter } - # Cannot be at war with each other. - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - } - - cooldown = { years = 3 } - - cost = { - # Non-ruler diarchs have all the time to do this the slow way. - prestige = { - if = { - limit = { - scope:actor = { is_ruler = yes } - } - value = medium_prestige_value - } - } - } - - # Diplomacy - ## Small amount - send_option = { - is_valid = { - custom_tooltip = { - text = scapegoat_counterpart_interaction.diplomacy_small.is_valid - scope:actor.diplomacy > scope:recipient.diplomacy - } - } - flag = diplomacy_small - localization = scapegoat_counterpart_interaction.diplomacy_small.t - } - ## Large amount - send_option = { - is_valid = { - custom_tooltip = { - text = scapegoat_counterpart_interaction.diplomacy_large.is_valid - scope:actor.diplomacy > scope:recipient.diplomacy - } - } - flag = diplomacy_large - localization = scapegoat_counterpart_interaction.diplomacy_large.t - } - # Intrigue - ## Small amount - send_option = { - is_valid = { - custom_tooltip = { - text = scapegoat_counterpart_interaction.intrigue_small.is_valid - scope:actor.intrigue > scope:recipient.intrigue - } - } - flag = intrigue_small - localization = scapegoat_counterpart_interaction.intrigue_small.t - } - ## Large amount - send_option = { - is_valid = { - custom_tooltip = { - text = scapegoat_counterpart_interaction.intrigue_large.is_valid - scope:actor.intrigue > scope:recipient.intrigue - } - } - flag = intrigue_large - localization = scapegoat_counterpart_interaction.intrigue_large.t - } - - on_accept = { - scope:recipient = { - # Send out our effects for the diarch. - if = { - limit = { is_diarch_of_target = scope:actor } - trigger_event = diarchy.8041 - every_player = { - limit = { - top_liege = scope:actor.top_liege - NOR = { - this = scope:actor - this = scope:recipient - } - } - trigger_event = diarchy.8041 - } - scapegoat_counterpart_interaction_process_results_effect = { - REALM_OPINION_ACTOR = add_tyranny - REALM_OPINION_RECIPIENT = change_strife_opinion - } - } - # And our effects for the liege. - else = { - trigger_event = diarchy.8042 - every_player = { - limit = { - top_liege = scope:actor.top_liege - NOR = { - this = scope:actor - this = scope:recipient - } - } - trigger_event = diarchy.8042 - } - scapegoat_counterpart_interaction_process_results_effect = { - REALM_OPINION_ACTOR = change_strife_opinion - REALM_OPINION_RECIPIENT = add_tyranny - } - } - } - # Regardless of what happens, scope:recipient is a bit miffed. - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = slandered_me_opinion - opinion = { - value = scope:multiplied_diff - divide = -20 - max = -10 - } - } - } - custom_tooltip = scapegoat_counterpart_interaction.tt.infighting_sullies_the_realm - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - ai_targets = { ai_recipients = diarch } - ai_frequency = 12 - - ai_potential = { - OR = { - # Either they're a liege. - AND = { - has_active_diarchy = yes - # With suitable skill diffs to give some kind of a gain. - OR = { - diplomacy_diff = { - target = diarch - value >= 5 - } - intrigue_diff = { - target = diarch - value >= 5 - } - } - } - # Or they're the diarch. - AND = { - is_diarch = yes - # With suitable skill diffs to give some kind of a gain. - OR = { - diplomacy_diff = { - target = liege - value >= 5 - } - intrigue_diff = { - target = liege - value >= 5 - } - } - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - } - # Filter out some traits that would never do this. - NOR = { - has_trait = just - has_trait = honest - has_trait = loyal - } - } - - ai_will_do = { - base = -50 - - # Opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -2.5 - } - ## Plus weight up a bit further for bad relationships. - first_valid = { - # Nemeses. - modifier = { - add = 200 - has_relation_nemesis = scope:recipient - } - # Rivals. - modifier = { - add = 50 - has_relation_rival = scope:recipient - } - } - # Traits. - ## +++ Deceitful - modifier = { - add = 30 - has_trait = deceitful - } - ## +++ Ambitious - modifier = { - add = 30 - has_trait = ambitious - } - ## ++ Arrogant - modifier = { - add = 20 - has_trait = arrogant - } - ## ++ Arbitrary - modifier = { - add = 20 - has_trait = arbitrary - } - ## ++ Vengeful & doesn't like you - modifier = { - add = 20 - has_trait = vengeful - opinion = { - target = scope:recipient - value <= -1 - } - } - ## + Sadistic - modifier = { - add = 10 - has_trait = sadistic - } - ## + Fickle - modifier = { - add = 10 - has_trait = fickle - } - ## + Eccentric - modifier = { - add = 10 - has_trait = eccentric - } - ## + Greedy - modifier = { - add = 10 - has_trait = greedy - } - ## - Generous - modifier = { - add = -10 - has_trait = generous - } - ## -- Compassionate - modifier = { - add = -20 - has_trait = compassionate - } - ## -- Craven - modifier = { - add = -20 - has_trait = craven - } - ## --- Forgiving - modifier = { - add = -30 - has_trait = forgiving - } - ## --- Humble - modifier = { - add = -30 - has_trait = humble - } - ## ---- Content - modifier = { - add = -50 - has_trait = content - } - ## We've already pre-filtered out Honest & Just. - # Dread. - ## Intimidated. - modifier = { - add = -50 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 1 - } - } - } - ## Cowed. - modifier = { - add = -100 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 2 - } - } - } - # Flag Management. - ## Okay, we want to try and pick the larger of either our diplo diff or our intrigue diff. - ### If our diplo diff is higher than our intrigue diff, go for diplo. - modifier = { - add = 4 - scope:diplomacy_large = yes - scapegoat_counterpart_interaction_calc_diplo_diff_treshhold_value >= scapegoat_counterpart_interaction_calc_intrigue_diff_treshhold_value - } - ### Else, go for intrigue. - modifier = { - add = 3 - scope:intrigue_large = yes - } - ### These two should never trigger, but we've got them here as fallbacks. - modifier = { - add = 2 - scope:diplomacy_small = yes - } - modifier = { - add = 1 - scope:intrigue_small = yes - } - ### And then the AI otherwise doesn't worry about which smaller send option to pick. - # Influence status. - ## Swimming in influence? Not worth it. - modifier = { - factor = 0 - scope:actor.influence >= 500 - } - ## In debt? Weight it up. - modifier = { - factor = 2 - scope:actor.influence <= -1 - } - } -} - - - - - - - - - - -################################################## -# MANAGE DIARCHY INTERACTIONS - -# Diarch or liege target their opposite number and sink currency to reaffirm their influence in the realm. -swing_scales_currency_interaction = { - category = interaction_category_diarch - common_interaction = yes - highlighted_reason = HIGHLIGHTED_CAN_SWING_SCALES - icon = scroll_scales - - desc = swing_scales_currency_interaction_desc - - interface_priority = 20 - - is_shown = { - # You must be one of the partners in a diarchy. - OR = { - scope:actor = { is_diarch_of_target = scope:recipient } - scope:recipient = { is_diarch_of_target = scope:actor } - } - } - - is_valid_showing_failures_only = { - # Forbid when we're at max swing... - ## ... for the regent. - trigger_if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:recipient.diarchy_swing < 100 - } - } - ## ... and for the liege. - trigger_if = { - limit = { - NOT = { - scope:actor = { has_diarchy_active_parameter = liege_may_voluntarily_cede_authority } - } - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - # As long as you're able to give something even vaguely like an order to someone who might advocate on your behalf, you're gucci. - scope:actor = { - is_imprisoned = no - age >= 8 - } - # Must select something. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:swing_influence = yes - scope:swing_cede_authority = yes - scope:swing_prestige = yes - scope:swing_piety = yes - scope:swing_gold = yes - scope:swing_hook = yes - scope:swing_hof = yes - } - } - } - # And in the _rare_ circumstance that a diarch is a child, they must be at least this tall. - ## Note that we _don't_ do this for the liege, since we want the player to be able to manage their regency — assume that _someone_ is looking out for the child's best interests. - scope:actor = { - trigger_if = { - limit = { - is_diarch_of_target = scope:recipient - is_adult = no - } - age >= 8 - } - } - # Cannot be at war with each other. - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - } - - cooldown = { years = 2 } - - cost = { - influence = { - if = { - limit = { always = scope:swing_influence } - value = scope:actor.swing_scales_influence_cost_value - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - if = { - limit = { scope:actor = { is_valid_for_legitimacy_change = yes } } - multiply = legitimacy_regent_swing_scale_multipler_value - } - } - } - prestige = { - if = { - limit = { always = scope:swing_prestige } - value = scope:actor.swing_scales_prestige_cost_value - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - if = { - limit = { scope:actor = { is_valid_for_legitimacy_change = yes } } - multiply = legitimacy_regent_swing_scale_multipler_value - } - } - } - piety = { - if = { - limit = { - OR = { - always = scope:swing_piety - always = scope:swing_hof - } - } - value = scope:actor.swing_scales_piety_cost_value - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - if = { - limit = { scope:actor = { is_valid_for_legitimacy_change = yes } } - multiply = legitimacy_regent_swing_scale_multipler_value - } - } - } - gold = { - if = { - limit = { - OR = { - always = scope:swing_gold - always = scope:swing_hof - } - } - value = scope:actor.swing_scales_cash_cost_value - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - if = { - limit = { scope:actor = { is_valid_for_legitimacy_change = yes } } - multiply = legitimacy_regent_swing_scale_multipler_value - } - } - } - } - - # Influence - send_option = { - is_shown = { - # Make sure influence would be relevant. - OR = { - AND = { - scope:recipient.liege ?= scope:actor - scope:actor = { government_has_flag = government_is_administrative } - } - AND = { - scope:actor.liege ?= scope:recipient - scope:recipient = { government_has_flag = government_is_administrative } - } - } - } - is_valid = { - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - starts_enabled = { scope:actor.influence >= scope:actor.swing_scales_influence_cost_value } - flag = swing_influence - localization = SWING_INFLUENCE - current_description = SWING_INFLUENCE_DESC - } - # Cede control voluntarily. - send_option = { - is_shown = { - scope:actor = { has_diarchy_active_parameter = liege_may_voluntarily_cede_authority } - scope:recipient = { is_diarch_of_target = scope:actor } - } - is_valid = { - # Can't be a liege with the scales swung too far in favour of their diarch. - custom_tooltip = { - text = mulct_vizier_interaction.scales_too_swung.tt - scope:actor.diarchy_swing <= 90 - } - } - starts_enabled = { scope:actor.influence >= scope:actor.swing_scales_influence_cost_value } - flag = swing_cede_authority - localization = SWING_CEDE_AUTHORITY - current_description = SWING_CEDE_AUTHORITY_DESC - } - # Prestige - send_option = { - starts_enabled = { scope:actor.prestige >= scope:actor.swing_scales_prestige_cost_value } - is_valid = { - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - flag = swing_prestige - localization = SWING_PRESTIGE - current_description = SWING_PRESTIGE_DESC - } - # Piety - send_option = { - is_valid = { - # You must share a HoF to be able to petition one. - custom_tooltip = { - text = swing_scales_currency_interaction.tt.no_shared_hof - # We're also secretly just testing if characters are the same faith. - OR = { - scope:actor.faith = scope:recipient.faith - AND = { - exists = scope:actor.faith.religious_head - exists = scope:recipient.faith.religious_head - scope:actor.faith.religious_head = scope:recipient.faith.religious_head - } - } - } - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - starts_enabled = { scope:actor.piety >= scope:actor.swing_scales_piety_cost_value } - flag = swing_piety - localization = SWING_PIETY - current_description = SWING_PIETY_DESC - } - # Gold - send_option = { - is_shown = { - # Filter out for the liege in vizierates - they can mulct the vizier, so we don't give them the chance to spend that gold back. - interaction_actor_is_liege_with_vizierate_trigger = no - } - starts_enabled = { scope:actor.gold >= scope:actor.swing_scales_cash_cost_value } - is_valid = { - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - flag = swing_gold - localization = SWING_GOLD - current_description = SWING_GOLD_DESC - } - # Hook - send_option = { - starts_enabled = { - scope:actor = { has_usable_hook = scope:recipient } - } - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - flag = swing_hook - localization = SWING_HOOK - current_description = SWING_HOOK_DESC - } - # HoF - send_option = { - is_shown = { - # Filter out for the liege in vizierates - they can mulct the vizier, so we don't give them the chance to spend that gold back. - interaction_actor_is_liege_with_vizierate_trigger = no - } - is_valid = { - diarch_swing_scales_valid_shared_hof_trigger = yes - # Can't be a liege with the scales swung completely towards them. - trigger_if = { - limit = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - custom_tooltip = { - text = swing_scales_currency_interaction.tt.scales_max_swung - scope:actor.diarchy_swing > 0 - } - } - } - # Top of the prio order for enablement. - starts_enabled = { diarch_swing_scales_valid_shared_hof_trigger = yes } - flag = swing_hof - localization = SWING_HOF - current_description = SWING_HOF_DESC - } - - on_accept = { - # Swing the scales in the direction of scope:actor. - scope:recipient = { - # Swing the scales up if we're ceding power. - if = { - limit = { scope:swing_cede_authority = yes } - send_interface_message = { - type = msg_mandate_results_neutral_effect - title = swing_scales_interaction_by_liege.t - right_icon = scope:actor - scope:actor = { - # Viziers give you more bang for your buck when swinging against 'em. - # Perk check for Voyager perk - if = { - limit = { - has_diarchy_active_parameter = lieges_swing_more_against_diarchs - has_perk = power_at_home_perk - is_travelling = yes - } - update_diarchy_swing_with_perspective_effect = { - SWING = monumental_sop_swing_diarch_gain - LIEGE = scope:actor - } - } - # Perk or Vizier - else_if = { - limit = { - OR = { - has_diarchy_active_parameter = lieges_swing_more_against_diarchs - AND = { - has_perk = power_at_home_perk - is_travelling = yes - } - } - } - update_diarchy_swing_with_perspective_effect = { - SWING = massive_sop_swing_diarch_gain - LIEGE = scope:actor - } - } - # Neither - else = { - update_diarchy_swing_with_perspective_effect = { - SWING = major_sop_swing_diarch_gain - LIEGE = scope:actor - } - } - diarch_swing_scales_guts_effect = yes - # Plus, everyone benefits. - change_influence = { - value = 200 - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - multiply = legitimacy_regent_swing_scale_multipler_value - round = yes - } - scope:recipient = { - change_influence = { - value = 200 - # LEGITIMACY OF RULER AFFECTS COSTS FOR REGENTS - multiply = legitimacy_regent_swing_scale_multipler_value - round = yes - } - } - } - } - } - # Swing the scales down if this is the liege. - else_if = { - limit = { is_diarch_of_target = scope:actor } - send_interface_message = { - type = msg_mandate_results_bad_effect - title = swing_scales_interaction_by_liege.t - right_icon = scope:actor - scope:actor = { - # Viziers give you more bang for your buck when swinging against 'em. - # Perk check for Voyager perk - if = { - limit = { - has_diarchy_active_parameter = lieges_swing_more_against_diarchs - has_perk = power_at_home_perk - is_travelling = yes - } - update_diarchy_swing_with_perspective_effect = { - SWING = massive_sop_swing_liege_gain - LIEGE = scope:actor - } - } - # Perk or Vizier - else_if = { - limit = { - OR = { - has_diarchy_active_parameter = lieges_swing_more_against_diarchs - AND = { - has_perk = power_at_home_perk - is_travelling = yes - } - } - } - update_diarchy_swing_with_perspective_effect = { - SWING = major_sop_swing_liege_gain - LIEGE = scope:actor - } - } - # Neither - else = { - update_diarchy_swing_with_perspective_effect = { - SWING = medium_sop_swing_liege_gain - LIEGE = scope:actor - } - } - diarch_swing_scales_guts_effect = yes - } - } - } - # And up if this is the diarch. - else = { - send_interface_message = { - type = msg_mandate_results_bad_effect - title = swing_scales_interaction_by_diarch.t - right_icon = scope:actor - if = { - limit = { - scope:actor = { - has_perk = power_at_home_perk - is_travelling = yes - } - } - update_diarchy_swing_with_perspective_effect = { - SWING = major_sop_swing_diarch_gain - LIEGE = scope:recipient - } - } - else = { - update_diarchy_swing_with_perspective_effect = { - SWING = medium_sop_swing_diarch_gain - LIEGE = scope:recipient - } - } - scope:actor = { diarch_swing_scales_guts_effect = yes } - } - } - } - # Unless you gave power to them, scope:recipient is a bit miffed. - scope:recipient = { - # We're actually giving them swing, so gain opinion. - ## We lessen the gains from this over time, as they become more and more entitled. - if = { - limit = { scope:swing_cede_authority = yes } - # Actual gains. - if = { - limit = { - OR = { - NOT = { has_variable = diarch_authority_ceded } - var:diarch_authority_ceded < diarch_authority_ceded_opinion_value - } - } - # First, check to see how much opinion we should give. - save_scope_value_as = { - name = opinion_gain - value = { - value = diarch_authority_ceded_opinion_value - if = { - limit = { has_variable = diarch_authority_ceded } - subtract = var:diarch_authority_ceded - } - } - } - # Then, adjust the opinion. - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = scope:opinion_gain - } - # And decrease our gain next time. - increment_variable_effect = { - VAR = diarch_authority_ceded - VAL = 5 - } - } - # Otherwise, a paltry amount. - ## We're deliberately giving you basically nothing here — the 1 is for comedic effect. - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 1 - } - } - } - # Co-monarchs are more annoyed. - else_if = { - limit = { - OR = { - AND = { - scope:actor = { is_diarch_of_target = scope:recipient } - scope:recipient = { has_diarchy_active_parameter = diarchy_is_co_rulership } - } - AND = { - scope:recipient = { is_diarch_of_target = scope:actor } - scope:actor = { has_diarchy_active_parameter = diarchy_is_co_rulership } - } - } - } - add_opinion = { - target = scope:actor - modifier = frustrated_opinion - opinion = -20 - } - } - # Take away a normal amount. - else = { - add_opinion = { - target = scope:actor - modifier = frustrated_opinion - opinion = -10 - } - } - } - # Some diarchs might be swinging as a prelude to a coup attempt. - ai_diarch_check_to_see_if_should_launch_coup_effect = yes - - # Debug & object explorer logging. - ## Diarch swung. - if = { - limit = { - exists = scope:recipient.diarch - scope:actor = scope:recipient.diarch - } - debug_log = debug_log.swing_scales.diarch_swung - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_swung_diarch } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_swung_diarch_list } - } - } - ## Else liege swung. - else = { - debug_log = debug_log.swing_scales.liege_swung - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_swung_liege } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_swung_liege_list } - } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - ai_targets = { ai_recipients = diarch } - ai_frequency = 24 - - ai_potential = { - OR = { - # Either they're a liege. - AND = { - has_active_diarchy = yes - # With some kind of valid cause to worry. - OR = { - # Lieges don't care unless your regency is entrenched _and_ it's looking to stay that way... - has_diarchy_active_parameter = regency_cant_be_ended_above_this_point - # ... unless they could get out of it. - can_leave_diarchy_trigger = yes - } - } - # Or they're the diarch. - AND = { - is_diarch = yes - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - } - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_secondary_powers_base_value - - # Additions. - ## Flag management. - ### Influence. - modifier = { - add = 6 - scope:swing_influence = yes - } - ### Cede Authority. - #### Only do this if you're also humble. - modifier = { - add = 10 - scope:swing_cede_authority = yes - has_trait = humble - } - ### Prestige. - modifier = { - add = 2 - scope:swing_prestige = yes - } - ### Piety. - modifier = { - add = 3 - scope:swing_piety = yes - } - ### Gold. - modifier = { - add = 1 - scope:swing_gold = yes - } - ### Hook. - modifier = { - add = 5 - scope:swing_hook = yes - } - ### HoF - combined Gold/Piety. - modifier = { - add = 4 - scope:swing_hof = yes - } - # Factors. - ## x0 Don't go into prestige debt! - modifier = { - factor = 0 - scope:swing_prestige = yes - prestige < 0 - } - ## We otherwise take care of these in the ai_potential block, because otherwise the AI interacts very, very weirdly with them. - } -} - -# For titleless diarchs: anyone playable uses the regular interaction. -diarch_swing_scales_currency_interaction = { - category = interaction_category_diarch - common_interaction = yes - diarch_interaction = yes - highlighted_reason = HIGHLIGHTED_CAN_SWING_SCALES - icon = scroll_scales - - desc = swing_scales_currency_interaction_desc - - interface_priority = 20 - - is_shown = { - scope:recipient = scope:actor.liege - # This is for landless diarchs only, and we pre-filter them, so we don't really care about this block. - ## But filter out players anyway for that _seamless_ debug play experience. - scope:actor = { is_ai = yes } - } - - is_valid_showing_failures_only = { - # Forbid when we're at max swing. - scope:recipient = { - # Plus also weed out some weird errors where we got confused and looked at ourselves. - has_active_diarchy = yes - # Now the actual check. - trigger_if = { - limit = { has_active_diarchy = yes } - diarchy_swing < 100 - } - trigger_else = { always = no } - } - # As long as you're able to give something even vaguely like an order to someone who might advocate on your behalf, you're gucci. - scope:actor = { is_imprisoned = no } - # And in the _rare_ circumstance that a diarch is a child, they must be at least this tall. - ## Note that we _don't_ do this for the liege, since we want the player to be able to manage their regency — assume that _someone_ is looking out for the child's best interests. - scope:actor = { - trigger_if = { - limit = { - is_diarch_of_target = scope:recipient - is_adult = no - } - age >= 8 - } - } - } - - cooldown = { years = 2 } - - cost = { - influence = { - if = { - limit = { always = scope:swing_influence } - # Diarch version. - if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - # Costs should always be applied on the diarch. - add = scope:actor.swing_scales_influence_cost_value - } - # Liege version. - else = { - # Costs should always be applied on the diarch. - add = scope:recipient.swing_scales_influence_cost_value - } - # Cost scaling mults. - multiply = scope:actor.swing_scales_discounts_multiplier_value - } - } - prestige = { - if = { - limit = { always = scope:swing_prestige } - # Diarch version. - if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - # Costs should always be applied on the diarch. - add = scope:actor.swing_scales_prestige_cost_value - } - # Liege version. - else = { - # Costs should always be applied on the diarch. - add = scope:recipient.swing_scales_prestige_cost_value - } - # Cost scaling mults. - multiply = scope:actor.swing_scales_discounts_multiplier_value - } - } - piety = { - if = { - limit = { - OR = { - always = scope:swing_piety - always = scope:swing_hof - } - } - # Diarch version. - if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - # Costs should always be applied on the diarch. - add = scope:actor.swing_scales_piety_cost_value - } - # Liege version. - else = { - # Costs should always be applied on the diarch. - add = scope:recipient.swing_scales_piety_cost_value - } - # Cost scaling mults. - multiply = scope:actor.swing_scales_discounts_multiplier_value - } - } - gold = { - if = { - limit = { - OR = { - always = scope:swing_gold - always = scope:swing_hof - } - } - # Diarch version. - if = { - limit = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - # Costs should always be applied on the diarch. - add = scope:actor.swing_scales_cash_cost_value - } - # Liege version. - else = { - # Costs should always be applied on the diarch. - add = scope:recipient.swing_scales_cash_cost_value - } - # Cost scaling mults. - multiply = scope:actor.swing_scales_discounts_multiplier_value - } - } - } - - # Influence - send_option = { - is_shown = { - # Make sure influence would be relevant. - OR = { - AND = { - scope:recipient.liege ?= scope:actor - scope:actor = { government_has_flag = government_is_administrative } - } - AND = { - scope:actor.liege ?= scope:recipient - scope:recipient = { government_has_flag = government_is_administrative } - } - } - } - starts_enabled = { scope:actor.influence >= scope:actor.swing_scales_influence_cost_value } - flag = swing_influence - localization = SWING_INFLUENCE - current_description = SWING_INFLUENCE_DESC - } - # Prestige - send_option = { - starts_enabled = { scope:actor.prestige >= scope:actor.swing_scales_prestige_cost_value } - flag = swing_prestige - localization = SWING_PRESTIGE - } - # Piety - send_option = { - is_valid = { - # You must share a HoF to be able to petition one. - custom_tooltip = { - text = swing_scales_currency_interaction.tt.no_shared_hof - # We're also secretly just testing if characters are the same faith. - OR = { - scope:actor.faith = scope:recipient.faith - AND = { - exists = scope:actor.faith.religious_head - exists = scope:recipient.faith.religious_head - scope:actor.faith.religious_head = scope:recipient.faith.religious_head - } - } - } - } - starts_enabled = { scope:actor.piety >= scope:actor.swing_scales_piety_cost_value } - flag = swing_piety - localization = SWING_PIETY - } - # Gold - send_option = { - starts_enabled = { scope:actor.gold >= scope:actor.swing_scales_cash_cost_value } - flag = swing_gold - localization = SWING_GOLD - } - # Hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - starts_enabled = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = swing_hook - localization = SWING_HOOK - } - # HoF - send_option = { - is_valid = { diarch_swing_scales_valid_shared_hof_trigger = yes } - # Top of the prio order for enablement. - starts_enabled = { diarch_swing_scales_valid_shared_hof_trigger = yes } - flag = swing_hof - localization = SWING_HOF - } - - on_accept = { - # Swing the scales down, since scope:actor is always a landless diarch. - scope:recipient = { - # Slight chance delays may lead to a diarchy ending before this is received. - if = { - limit = { has_active_diarchy = yes } - send_interface_message = { - type = msg_mandate_results_bad_effect - title = swing_scales_interaction_by_diarch.t - right_icon = scope:actor - update_diarchy_swing_with_perspective_effect = { - SWING = medium_sop_swing_diarch_gain - LIEGE = scope:recipient - } - scope:actor = { diarch_swing_scales_guts_effect = yes } - } - } - # Scope:recipient is a bit miffed. - add_opinion = { - target = scope:actor - modifier = frustrated_opinion - opinion = -10 - } - } - # Some diarchs might be swinging as a prelude to a coup attempt. - ai_diarch_check_to_see_if_should_launch_coup_effect = yes - - # Debug logging. - debug_log = debug_log.swing_scales.diarch_swung - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_swung_diarch } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_swung_diarch_list } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - # We turn the frequency up higher than the cooldown so that diarchs don't take two years to get into the loop. - ai_frequency = 6 - - ai_potential = { - # Double check due to some irritating errors. - is_diarch = yes - liege = { has_active_diarchy = yes } - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # We're generally ruthless here. - base = @ai_core_loop_base_value - - # Additions. - ## Flag management. - ### Influence. - modifier = { - add = 6 - scope:swing_influence = yes - } - ### Prestige. - modifier = { - add = 2 - scope:swing_prestige = yes - } - ### Piety. - modifier = { - add = 3 - scope:swing_piety = yes - } - ### Gold. - modifier = { - add = 1 - scope:swing_gold = yes - } - ### Hook. - modifier = { - add = 5 - scope:swing_hook = yes - } - ### HoF - combined Gold/Piety. - modifier = { - add = 4 - scope:swing_hof = yes - } - # Factors. - ## x0 Don't go into prestige debt! - modifier = { - factor = 0 - scope:swing_prestige = yes - prestige < 0 - } - } -} - -# Diarch (actor) shifts from a Temporary Regency to an Entrenched Regency. -diarch_entrench_regency_interaction = { - category = interaction_category_diarch - common_interaction = yes - diarch_interaction = yes - highlighted_reason = HIGHLIGHTED_CAN_DIARCH_ENTRENCH_REGENCY - icon = icon_entrench_regency - - desc = diarch_entrench_regency_interaction_desc - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - # With the extra consideration that we only want this to appear for Temporary Regencies. - liege = { has_diarchy_parameter = unlock_entrench_regency_interaction } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = unlock_entrench_regency_interaction } - # You must be able to act as diarch. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - } - - on_accept = { - scope:recipient = { - # Tell scope:recipient what's up. - send_interface_toast = { - type = msg_start_diarchy - title = diarch_entrench_regency_interaction.tt.recipient_notification - left_icon = scope:actor - # Change the diarchy type to entrenched. - set_diarchy_type = regency - # Set our power level down a bit, but still higher than entrenched regencies that *start* that way would be. - set_diarchy_swing = 40 - } - # Plus scope:recipient probably isn't super happy about this. - add_opinion = { - target = scope:actor - modifier = suspicion_opinion - opinion = -20 - } - } - # Bit o'prestige for your hard work. - scope:actor = { add_prestige = medium_prestige_gain } - - # Debug logging. - debug_log = debug_log.entrench_regency.attempt_made - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entrench } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entrench_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entrench_recipient_list } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 6 - ai_potential = { - is_diarch = yes - # Don't entrench for no reason — we want to have a bit of a delay so that the AI can go off travelling or get locked in prison once in a while. - liege = { years_in_diarchy >= 2 } - } - - ai_will_do = { - # You never _don't_ want to do this. - base = 1000 - } -} - -# Diarch (actor) shifts from an Entrenched Regency to Co-Emperorship. -diarch_regent_appoints_self_co_emperor_interaction = { - category = interaction_category_diarch - common_interaction = yes - diarch_interaction = yes - icon = icon_entrench_regency - - desc = diarch_regent_appoints_self_co_emperor_interaction_desc - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = liege - is_diarch_of_target = liege - # With the extra consideration that we only want this to appear for those who can actually _have_ co-emperors. - liege = { - has_diarchy_parameter = diarch_can_appoint_self_co_emperor - may_appoint_co_emperors_trigger = yes - } - } - } - - is_valid_showing_failures_only = { - # Make sure scope:recipient is the liege. - custom_tooltip = { - text = custom_description.tt.must_target_liege - scope:recipient = scope:actor.liege - } - # Diarchs must have unlocked the appropriate power. - scope:actor.liege = { has_diarchy_active_parameter = diarch_can_appoint_self_co_emperor } - # You must be able to act as diarch. - diarch_cannot_be_disabled_trigger = { DIARCH = scope:actor } - } - - cost = { - influence = { - # Rulers pay influence, non-rulers get a freebie (since they otherwise likely won't accrue the requisite influence). - if = { - limit = { - scope:actor = { is_ruler = yes } - } - value = 500 - } - # If we're doing this vs. someone who could leave a regency, it's significantly costlier. - if = { - limit = { - scope:recipient = { regency_for_personal_reasons_trigger = no } - } - add = 1000 - } - } - } - - on_accept = { - scope:recipient = { - #TODO_CD_EP3_POLISH; this should really be a letter event rather than just a notification, plus notifications for player governors. - # Tell scope:recipient what's up. - send_interface_toast = { - type = msg_start_diarchy - title = diarch_regent_appoints_self_co_emperor_interaction.tt.recipient_notification - left_icon = scope:actor - # Change the diarchy type to a co-emperorship. - custom_tooltip = { - text = diarch_regent_appoints_self_co_emperor_interaction.tt.become_co_emperorship - set_diarchy_type = co_emperorship - } - # Set our power level down a bit, we've just got one helluva prize. - custom_tooltip = { - text = diarch_regent_appoints_self_co_emperor_interaction.tt.set_swing - set_diarchy_swing = diarch_regent_appoints_self_co_emperor_interaction_sop_swing_set_value - } - add_legitimacy = minor_legitimacy_loss - } - # Plus scope:recipient probably isn't super happy about this. - add_opinion = { - target = scope:actor - modifier = suspicion_opinion - opinion = -50 - } - } - # Notify the player about the price spike. - if = { - limit = { - scope:recipient = { regency_for_personal_reasons_trigger = yes } - } - custom_tooltip = diarch_regent_appoints_self_co_emperor_interaction.tt.adults_cost_more - } - else = { custom_tooltip = diarch_regent_appoints_self_co_emperor_interaction.children_cost_less } - # Bit o'prestige for your hard work. - scope:actor = { add_prestige = medium_prestige_gain } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 12 - ai_potential = { - is_diarch = yes - # Filter us down nice'n'tight. - liege = { may_appoint_co_emperors_trigger = yes } - # Loyal diarchs don't engage in skullduggery. - diarch_loyalty < diarch_loyalty_visibly_loyal_threshold - } - - ai_will_do = { - # You never _don't_ want to do this. - base = 1000 - } -} - -# Liege (actor) ends a Temporary Regency. -liege_dismiss_temporary_regency_interaction = { - category = interaction_category_diarch - common_interaction = yes - icon = icon_dismiss_temporary_regency - - desc = liege_dismiss_temporary_regency_interaction_desc - - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = diarch - diarch = scope:recipient - # With the extra consideration that we only want this to appear for Temporary Regencies. - has_diarchy_parameter = can_be_instantly_dismissed - } - } - - is_valid_showing_failures_only = { - # Basic requirements must be fulfilled. - scope:actor = { can_leave_diarchy_trigger = yes } - } - - on_accept = { - scope:actor = { - # Tell scope:recipient what's up. - send_interface_toast = { - type = event_toast_effect_neutral - title = liege_dismiss_temporary_regency_interaction.tt.recipient_notification - left_icon = scope:actor - right_icon = scope:recipient - # End the diarchy. - end_diarchy = yes - scope:recipient = { - # Bit o'prestige for your hard work. - if = { - limit = { - exists = dynasty - NOT = { - exists = scope:actor.dynasty.dynast - dynasty.dynast = scope:actor.dynasty.dynast - } - } - custom_tooltip = liege_dismiss_temporary_regency_interaction.tt.dynasty_receives_prestige - hidden_effect = { - dynasty = { add_dynasty_prestige = liege_dismiss_temporary_regency_interaction_dynasty_prestige_value } - } - } - else = { add_prestige = medium_prestige_gain } - } - } - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_dismtemp_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_dismtemp_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_dismtemp_accept_recipient_list } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = diarch } - ai_frequency = 24 - ai_potential = { has_active_diarchy = yes } - - ai_will_do = { - # You never _don't_ want to do this. - base = 1000 - } -} - -# Liege (actor) moves to end an Entrenched Regency. -liege_dismiss_entrenched_regency_interaction = { - category = interaction_category_diarch - common_interaction = yes - notification_text = liege_dismiss_entrenched_regency_interaction_proposal - icon = icon_dismiss_entrenched_regency - - desc = liege_dismiss_entrenched_regency_interaction_desc - - ai_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - exists = diarch - diarch = scope:recipient - # With the extra consideration that we only want this to appear for Entrenched Regencies. - has_diarchy_parameter = dismissal_requires_gift - } - } - - cooldown = { years = 1 } - - is_valid_showing_failures_only = { - # Basic requirements must be fulfilled. - scope:actor = { can_leave_diarchy_trigger = yes } - # And you mustn't be locked in by your regent's power. - scope:actor = { - NOT = { has_diarchy_active_parameter = regency_cant_be_ended_above_this_point } - } - # Must select something. - trigger_if = { - # AI won't exploit and need this exception, as they don't actually open the windows, so they'll be blocked from taking the interaction otherwise. - limit = { - scope:actor = { is_ai = no } - } - custom_tooltip = { - text = interactions_general.tt.must_select_one_option - OR = { - scope:diarchy_ending_gift_unnecessary = yes - scope:diarchy_ending_gift_stiffed = yes - scope:diarchy_ending_gift_hook = yes - scope:diarchy_ending_gift_dynasty_prestige = yes - scope:diarchy_ending_gift_piety = yes - scope:diarchy_ending_gift_cash = yes - scope:diarchy_ending_gift_herd = yes - } - } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - # Ending gifts. - send_options_exclusive = yes - ## No gift required. - send_option = { - flag = diarchy_ending_gift_unnecessary - current_description = diarchy_ending_gift_unnecessary_desc - is_shown = { - scope:actor = { - NOT = { has_diarchy_active_parameter = regency_free_end_below_this_point } - } - } - } - ## Stiff scope:recipient for opinion loss. - send_option = { - flag = diarchy_ending_gift_stiffed - current_description = diarchy_ending_gift_stiffed_desc - is_shown = { - scope:actor = { has_diarchy_active_parameter = regency_free_end_below_this_point } - } - } - ## A hook for scope:recipient on scope:actor. - send_option = { - flag = diarchy_ending_gift_hook - current_description = diarchy_ending_gift_hook_desc - is_shown = { - scope:recipient = { - NOT = { has_hook = scope:actor } - } - } - } - ## Transfer some of your prestige into their dynasty prestige. - send_option = { - flag = diarchy_ending_gift_dynasty_prestige - current_description = diarchy_ending_gift_dynasty_prestige_desc - is_shown = { - # Filter out characters with no dynasty. - exists = scope:recipient.dynasty - # And make sure that they don't share a dynasty. - trigger_if = { - limit = { exists = scope:actor.dynasty } - NOT = { - scope:actor.dynasty = scope:recipient.dynasty - } - } - } - } - ## Pray for them to transfer piety. - ### Requires same-HoF. - send_option = { - flag = diarchy_ending_gift_piety - current_description = diarchy_ending_gift_piety_desc - is_shown = { - shared_faith_or_hof_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - } - ## Cash. - send_option = { - flag = diarchy_ending_gift_cash - current_description = diarchy_ending_gift_cash_desc - } - ## Horse. - send_option = { - flag = diarchy_ending_gift_herd - current_description = diarchy_ending_gift_herd_desc - is_shown = { - # Can only pay herd if actor has herd to pay and recipient accepts herd as a currency - scope:actor = { government_has_flag = government_is_nomadic } - scope:recipient = { government_has_flag = government_is_nomadic } - } - } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - # Remove the waiting flag. - add_character_flag = trying_to_dismiss_regent - } - } - - on_accept = { - # End the diarchy. - scope:actor = { end_diarchy = yes } - scope:recipient = { - # Transfer a gift. - ## ... or don't, 'cause one isn't necessary! - if = { - limit = { scope:diarchy_ending_gift_unnecessary = yes } - custom_tooltip = liege_dismiss_entrenched_regency_interaction.tt.no_gift_necessary - } - ## Give 'em *nothing*, even though they earnt it. - if = { - limit = { scope:diarchy_ending_gift_stiffed = yes } - custom_tooltip = liege_dismiss_entrenched_regency_interaction.tt.stiff_them - # Scope:recipient is unhappy about this. - if = { - limit = { is_ai = yes } - # More so if they're arrogant, as they take such a smack in the face even more on the proverbial nose. - if = { - limit = { has_trait = arrogant } - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -50 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = disappointed_opinion - opinion = -30 - } - } - } - } - ## Give 'em a hook. - if = { - limit = { scope:diarchy_ending_gift_hook = yes } - # Transfer the hook. - add_hook = { - type = favor_hook - target = scope:actor - } - # Plus they're happy. - if = { - limit = { is_ai = yes } - # More so if they're deceitful, since they value favours. - if = { - limit = { has_trait = deceitful } - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 30 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 15 - } - } - } - } - ## Give 'em some dynasty prestige. - if = { - limit = { scope:diarchy_ending_gift_dynasty_prestige = yes } - scope:actor = { add_prestige = minor_prestige_loss } - # Transfer the prestige. - custom_tooltip = liege_dismiss_entrenched_regency_interaction.tt.dynasty_receives_prestige - hidden_effect = { - dynasty = { add_dynasty_prestige = liege_dismiss_entrenched_regency_interaction_dynasty_prestige_value } - } - # Plus they're happy. - if = { - limit = { is_ai = yes } - # More so if they're the dynasty head, as then they can make use of it. - if = { - limit = { dynasty.dynast = scope:recipient } - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 30 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 15 - } - } - } - } - ## Give 'em some piety. - if = { - limit = { scope:diarchy_ending_gift_piety = yes } - # Transfer the piety. - scope:actor = { add_piety = medium_piety_loss } - add_piety = major_piety_value - # Plus they're happy. - if = { - limit = { is_ai = yes } - # More so if they're zealous, as zealots like piety. - if = { - limit = { has_trait = zealous } - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 30 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 15 - } - } - } - } - ## Five 'em cold, hard cash. - if = { - limit = { scope:diarchy_ending_gift_cash = yes } - # Transfer the cash. - scope:actor = { - pay_short_term_gold = { - target = scope:recipient - gold = major_gold_value - } - } - # Plus they're happy. - if = { - limit = { is_ai = yes } - # More so if they're greedy, 'cause greedy likes money. - if = { - limit = { has_trait = greedy } - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 30 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 15 - } - } - } - } - # Herd - if = { - limit = { scope:diarchy_ending_gift_herd = yes } - # Transfer the cash. - scope:actor = { - #gold = major_gold_value - pay_herd = { - target = scope:recipient - value = domicile.ten_percent_herd_value - } - } - # Plus they're happy. - if = { - limit = { is_ai = yes } - # More so if they're greedy, 'cause greedy likes money i mean horses. - if = { - limit = { has_trait = greedy } - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 30 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = pleased_opinion - opinion = 15 - } - } - } - } - } - - # Object explorer logging. - if = { - limit = { always = scope:diarchy_ending_gift_unnecessary } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_unnecessary_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_unnecessary_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_unnecessary_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_stiffed } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_stiffed_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_stiffed_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_stiffed_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_hook } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_hook_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_hook_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_hook_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_dynasty_prestige } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_dynpres_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_dynpres_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_dynpres_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_piety } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_piety_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_piety_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_piety_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_cash } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_cash_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_cash_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_cash_accept_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_herd } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_herd_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_herd_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_herd_accept_recipient_list } - } - } - } - - on_decline = { - scope:actor = { - # Attempting to assert authority pushes scope:actor's scales in their favour. - update_diarchy_swing_with_perspective_effect = { - SWING = major_sop_swing_liege_gain - LIEGE = scope:actor - } - # Plus AI don't like being told *no*. - if = { - limit = { is_ai = no } - add_opinion = { - target = scope:recipient - modifier = trust_opinion - opinion = -30 - } - } - } - # Clean-up that pesky flag. - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - # And add a _new_ pesky flag to stop 'em doubling up whilst also telling them to try to take this interaction again AQAP. - ## This is to stop the AI from failing to tackle this efficiently. - scope:actor = { - if = { - limit = { is_ai = yes } - add_character_flag = trying_to_dismiss_regent - trigger_event = { - id = diarchy.0111 - days = 366 - } - } - } - - # Object explorer logging. - if = { - limit = { always = scope:diarchy_ending_gift_stiffed } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_stiffed_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_stiffed_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_stiffed_decline_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_hook } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_hook_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_hook_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_hook_decline_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_dynasty_prestige } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_dynpres_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_dynpres_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_dynpres_decline_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_piety } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_piety_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_piety_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_piety_decline_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_cash } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_cash_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_cash_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_cash_decline_recipient_list } - } - } - else_if = { - limit = { always = scope:diarchy_ending_gift_herd } - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_entr_herd_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_herd_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_entr_herd_decline_recipient_list } - } - } - } - - auto_accept = { - custom_tooltip = { - text = liege_dismiss_entrenched_regency_interaction.tt.force_ending - scope:diarchy_ending_gift_unnecessary = yes - } - } - - ai_accept = { - # Diarchs don't *want* to agree, by default... - base = 0 - - # ... except loyal ones, who really, really do... - modifier = { - add = 100 - desc = liege_dismiss_entrenched_regency_interaction.modifier.desc.loyal_diarch - diarch_loyalty >= diarch_loyalty_visibly_loyal_threshold - } - # ... plus inactive ones, who can't really refuse. - modifier = { - add = 50 - desc = liege_dismiss_entrenched_regency_interaction.modifier.desc.is_disabled - scope:recipient = { is_diarch_able_trigger = no } - } - # If you could just end the diarchy without any fuss, then they're much more inclined to agree. - modifier = { - add = 1000 - desc = liege_dismiss_entrenched_regency_interaction.modifier.desc.could_freely_dismiss_me - scope:actor = { - NOT = { has_diarchy_active_parameter = regency_free_end_below_this_point } - } - } - # Factor for diplomacy. - ## Yours. - modifier = { - add = { - value = scope:actor.diplomacy - multiply = 2 - } - desc = INTERACTION_DIPLOMACY_ACTOR - } - ## Theirs. - modifier = { - add = { - value = scope:recipient.diplomacy - multiply = -2 - } - desc = INTERACTION_DIPLOMACY_RECIPIENT - } - # Factor for opinion. - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - # Factor for AI personalities. - ai_value_modifier = { - ai_honor = 1 - ai_boldness = -0.5 - } - # Factor for Scales of Power. - modifier = { - add = { - value = scope:actor.diarchy_swing - # Reduce by 40. - ## 20 is (currently) the node at which things become free, so we want to subtract above this point and invert below it. - ## The extra -20 is so that diarchs are more willing to go in exchange for a gift when their power is ebbing, rather than holding on until they can be discharged without one. - add = -40 - # Invert it, since scope:actor wants low scales. - multiply = -1 - } - desc = INTERACTION_SCALES_OF_POWER - } - # Intimidation. - ## Intimidated. - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - ## Cowed. - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - # Factor for low grandeur. - ## 1 level below. - modifier = { - add = -20 - desc = GRANDEUR_REASON - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level <= 1_levels_below_expected_level - court_grandeur_current_level > 3_levels_below_expected_level - } - ## 3 levels below. - modifier = { - add = -40 - desc = GRANDEUR_REASON - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level <= 3_levels_below_expected_level - court_grandeur_current_level > 5_levels_below_expected_level - } - ## 5 levels below. - modifier = { - add = -60 - desc = GRANDEUR_REASON - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level <= 5_levels_below_expected_level - court_grandeur_current_level > 7_levels_below_expected_level - } - ## 7 levels below. - modifier = { - add = -80 - desc = GRANDEUR_REASON - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level <= 7_levels_below_expected_level - court_grandeur_current_level > 9_levels_below_expected_level - } - ## 9 levels below. - modifier = { - add = -100 - desc = GRANDEUR_REASON - has_royal_court = yes - has_dlc_feature = royal_court - court_grandeur_current_level <= 9_levels_below_expected_level - } - # Negative relationships. - ## Rival. - modifier = { - add = -50 - desc = offer_vassalization_interaction_aibehavior_rival_tt - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - ## Nemesis. - modifier = { - add = -100 - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - scope:recipient = { has_relation_nemesis = scope:actor } - } - # Plus for whether you're offering a gift and if it's one they need or not. - ## No gift offered. - ### No base-vs.-trait modifier here, as we want arrogant characters to be dramatic little bastards. - modifier = { - add = -30 - desc = AI_OPINION_OFFENDED - scope:diarchy_ending_gift_stiffed = yes - } - ## Favour. - ### Deceitful variant. - modifier = { - add = 60 - desc = liege_dismiss_entrenched_regency_interaction.tt.deceitful_likes_hook - scope:diarchy_ending_gift_hook = yes - has_trait = deceitful - } - ### Base variant. - modifier = { - add = 30 - desc = liege_dismiss_entrenched_regency_interaction.tt.offered_gift - scope:diarchy_ending_gift_hook = yes - NOT = { has_trait = deceitful } - } - ## Dynasty Prestige. - ### Dynasty Head variant. - modifier = { - add = 60 - desc = liege_dismiss_entrenched_regency_interaction.tt.dynasty_head_likes_dynasty_prestige - scope:diarchy_ending_gift_dynasty_prestige = yes - this = dynasty.dynast - } - ### Base variant. - modifier = { - add = 30 - desc = liege_dismiss_entrenched_regency_interaction.tt.offered_gift - scope:diarchy_ending_gift_dynasty_prestige = yes - NOT = { this = dynasty.dynast } - } - ## Piety. - ### Zealous variant. - modifier = { - add = 60 - desc = liege_dismiss_entrenched_regency_interaction.tt.zealous_likes_piety - scope:diarchy_ending_gift_piety = yes - has_trait = zealous - } - ### Base variant. - modifier = { - add = 30 - desc = liege_dismiss_entrenched_regency_interaction.tt.offered_gift - scope:diarchy_ending_gift_piety = yes - NOT = { has_trait = zealous } - } - ## Cash. - ### Greedy variant. - modifier = { - add = 60 - desc = liege_dismiss_entrenched_regency_interaction.tt.greedy_likes_cash - scope:diarchy_ending_gift_cash = yes - has_trait = greedy - } - ### Base variant. - modifier = { - add = 30 - desc = liege_dismiss_entrenched_regency_interaction.tt.offered_gift - scope:diarchy_ending_gift_cash = yes - NOT = { has_trait = greedy } - } - ### Also debters like this. - modifier = { - add = 60 - desc = PT_AI_IS_IN_DEBT - scope:diarchy_ending_gift_cash = yes - debt_level >= 1 - } - } - - # AI - ai_targets = { ai_recipients = diarch } - ai_frequency = 24 - ai_potential = { - # Are we in a diarchy at all? - has_active_diarchy = yes - # Can we leave it? - can_leave_diarchy_trigger = yes - # Are we locked into a speed-leave cycle? - NOT = { has_character_flag = trying_to_dismiss_regent } - } - - ai_will_do = { - # You never _don't_ want to do this. - base = 1000 - - # Flag management. - ## Auto-dismiss. - modifier = { - add = 10 - scope:diarchy_ending_gift_unnecessary = yes - } - ## Stiff 'em. - ### If we hate the diarch, try to stiff them till we can dismiss 'em. - modifier = { - scope:diarchy_ending_gift_stiffed = yes - add = 9 - diarch_liege_wants_to_stiff_regent_trigger = yes - } - ### Otherwise, try to down prio this. It'll just make things harder. - modifier = { - scope:diarchy_ending_gift_stiffed = yes - add = 1 - diarch_liege_wants_to_stiff_regent_trigger = no - } - ## Hook. - modifier = { - add = 4 - scope:diarchy_ending_gift_hook = yes - } - ## Dynasty Prestige. - modifier = { - add = 5 - scope:diarchy_ending_gift_dynasty_prestige = yes - } - ## Piety. - modifier = { - add = 2 - scope:diarchy_ending_gift_piety = yes - } - ## Cash. - modifier = { - add = 3 - scope:diarchy_ending_gift_cash = yes - } - ## Herd. - modifier = { - add = 5 - scope:diarchy_ending_gift_herd = yes - } - } -} - -# Liege (actor) dismisses a Vizierate. -liege_dismiss_vizier_interaction = { - category = interaction_category_diarch - common_interaction = yes - icon = icon_dismiss_temporary_regency - - desc = liege_dismiss_vizier_interaction_desc - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Diarchy checks for scope:actor. - scope:actor = { - # If you're not in a diarchy, we don't care. - diarch ?= scope:recipient - # With the extra consideration that we only want this to appear for Vizierates. - has_diarchy_parameter = primeminister_dismissal_will_upset_administration - } - } - - is_valid_showing_failures_only = { - # Basic requirements must be fulfilled. - scope:actor = { can_leave_diarchy_trigger = yes } - } - - cooldown = { years = 5 } - - on_accept = { - scope:actor = { - # We've dismissed your vizier! - ## Do we need to give a warning tooltip first? - if = { - limit = { has_diarchy_active_parameter = primeminister_dismissal_will_upset_administration } - custom_tooltip = liege_dismiss_vizier_interaction.tt.problematic_dismissal.vizier_too_entrenched - } - ## Now apply the real effects. - send_interface_toast = { - type = event_toast_effect_neutral - title = liege_dismiss_vizier_interaction.toast.t - left_icon = scope:actor - # Will this have ripple effects (actual)? - if = { - limit = { has_diarchy_active_parameter = primeminister_dismissal_will_upset_administration } - # Apply the modifier, scaling to how much we dun goofed. - add_character_modifier = { - modifier = civil_service_in_chaos_modifier - years = 10 - } - } - # End the diarchy. - end_diarchy = yes - } - } - # How badly do they take it? - scope:recipient = { - # Vengeful takes it badly. - if = { - limit = { - has_trait = vengeful - can_set_relation_rival_trigger = { CHARACTER = scope:actor } - } - set_relation_rival = { - target = scope:actor - reason = rival_dismissed_me_from_vizierate - } - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -50 - } - } - # Even if they have something stopping them from becoming a rival (e.g., they're already your vizier). - else_if = { - limit = { has_trait = vengeful } - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -50 - } - } - # Forgiving isn't mad, they're just disappointed. - else_if = { - limit = { has_trait = forgiving } - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -10 - } - } - # Otherwise, a bit of pain is to be expected. - else = { - progress_towards_rival_effect = { - REASON = rival_dismissed_me_from_vizierate - CHARACTER = scope:actor - OPINION = 0 - } - # Throw the opinion manually so we can keep the type unified. - add_opinion = { - target = scope:actor - modifier = insult_opinion - opinion = -25 - } - } - # Plus some stress. - stress_impact = { - lazy = major_stress_impact_loss - humble = medium_stress_impact_loss - content = medium_stress_impact_loss - diligent = medium_stress_impact_gain - ambitious = major_stress_impact_gain - arrogant = major_stress_impact_gain - } - # Extravagance modifiers taken care of in the on_action. - } - # Plus, remember to advertise to the player that there are alternatives. - ## We're deliberately doing this outside of scope:actor so we can make it a lil subtitle rather than something lumped in with the effect block. - ## Just give 'em a duchy. - if = { - limit = { - scope:actor = { has_diarchy_active_parameter = primeminister_requires_duchy } - } - custom_tooltip = liege_dismiss_vizier_interaction.tt.problematic_dismissal.bribe.duchy - } - ## Just give 'em a county. - else_if = { - limit = { - scope:actor = { has_diarchy_active_parameter = primeminister_requires_county } - } - custom_tooltip = liege_dismiss_vizier_interaction.tt.problematic_dismissal.bribe.county - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_dismviz_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_dismviz_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_dismviz_accept_recipient_list } - } - } - - auto_accept = yes - - # AI - ai_targets = { ai_recipients = diarch } - ai_frequency = 24 - ai_potential = { has_active_diarchy = yes } - - ai_will_do = { - # You should actively want to get rid of them. - base = -25 - - # If you appointed this vizier, don't remove them unless you get booted down to county or something. - modifier = { - add = -500 - var:my_vizier ?= scope:recipient - } - - # Realm. - ## Weight up heavily for counts; they shouldn't generally get them, but they don't want to keep them if they do. - modifier = { - add = 1000 - highest_held_title_tier = tier_county - } - ## Weight up for dukes. - modifier = { - add = 25 - highest_held_title_tier = tier_duchy - } - ## Weight down for kings. - modifier = { - add = -25 - highest_held_title_tier = tier_kingdom - } - ## Weight down for emperors. - modifier = { - add = -50 - highest_held_title_tier >= tier_empire - } - ## Realm Size. - ### Smaller you are, the more likely you are to do this. - ### Tiny or less. - modifier = { - add = 50 - realm_size <= tiny_realm_size - } - ### Minor. - modifier = { - add = 25 - realm_size > tiny_realm_size - realm_size <= minor_realm_size - } - ### Major. - modifier = { - add = -25 - realm_size >= major_realm_size - realm_size < massive_realm_size - } - ### Massive or more. - modifier = { - add = -50 - realm_size >= massive_realm_size - } - - # Traits. - ## +++ Ambitious. - modifier = { - add = 25 - has_trait = ambitious - } - ## +++ Arrogant. - modifier = { - add = 25 - has_trait = arrogant - } - ## ++ Diligent. - modifier = { - add = 15 - has_trait = diligent - } - ## ++ Patient. - modifier = { - add = 15 - has_trait = patient - } - ## + Gregarious. - modifier = { - add = 5 - has_trait = gregarious - } - ## - Shy. - modifier = { - add = -5 - has_trait = shy - } - ## - Content. - modifier = { - add = -5 - has_trait = content - } - ## -- Impatient. - modifier = { - add = -15 - has_trait = impatient - } - ## -- Content. - modifier = { - add = -15 - has_trait = content - } - ## -- Humble. - modifier = { - add = -15 - has_trait = humble - } - ## --- Greedy. - modifier = { - add = -25 - has_trait = greedy - } - ## --- Lazy. - modifier = { - add = -25 - has_trait = lazy - } - } -} - -# A vassal requests their liege designate them as regent, should the need arise. -declare_me_regent_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - - desc = declare_me_regent_interaction_desc - notification_text = DECLARE_ME_REGENT_PROPOSAL - - interface_priority = 20 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - # The obvious. - NOT = { scope:actor = scope:recipient } - # Only useable on your liege. - scope:recipient = scope:actor.liege - # And said-liege can't be in a regency already... - scope:recipient = { has_active_diarchy = no } - # ... or have declared you their regent already! - scope:actor = { is_designated_diarch = no } - # Can't be used during the Cid story cycle - scope:actor = { NOT = { has_variable = ongoing_cid_story_cycle } } - } - - is_valid_showing_failures_only = { - scope:actor = { - # Can't do if you're already expected to be regent. - is_designated_diarch = no - # Can't be too young. - is_adult = yes - # Or imprisoned. - is_imprisoned = no - # Or, for that matter, incapable. - NOT = { has_trait = incapable } - } - # Put a general cooldown on this stuff. - scope:recipient = { - trigger_if = { - limit = { - exists = designated_diarch - } - time_after_diarch_designated = { years >= 10 } - } - } - } - - # No general cooldown: if your liege changes, ask away. - # Long specific cooldown, though. We don't want these going through constantly. - cooldown_against_recipient = { years = 10 } - - # High cost to reduce spam. - cost = { prestige = 500 } - - #Use hook - send_options_exclusive = no - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = declare_me_regent_interaction.tt.success - left_icon = scope:recipient - # Jump the queue to become diarch. - scope:recipient = { designate_diarch = scope:actor } - # This prompts some strife. - change_strife_opinion = major_strife_gain - } - # If you used a hook, calc some extra stuff. - ## We move this outside of the toast because we've not got enough room for all this info in there. - if = { - limit = { - scope:hook = yes - has_usable_hook = scope:recipient - } - # Use the hook up. - use_hook = scope:recipient - # Plus scope:recipient is _very_ upset. - reverse_add_opinion = { - target = scope:recipient - modifier = suspicion_opinion - opinion = -20 - } - } - } - scope:recipient = { - # Some folks may not be happy. - custom_tooltip = declare_me_regent_interaction.tt.warning.opinions.succession - custom_tooltip = declare_me_regent_interaction.tt.warning.opinions.courtlies - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_desigme_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_desigme_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_desigme_accept_recipient_list } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = declare_me_regent_interaction.tt.failure - left_icon = scope:recipient - # AI lose opinion of their opposite number. - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = insult_opinion - opinion = -40 - } - } - # Even trying produces some strife. - change_strife_opinion = medium_strife_gain - } - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_desigme_decline } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_desigme_decline_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_desigme_decline_recipient_list } - } - } - - auto_accept = { - scope:recipient = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - } - - ai_accept = { - # Try to make it 0 for most interactions - base = -40 - - # Weight for dislike of current regent. - # Designated regent. - modifier = { - add = { - # Designated diarchs. - if = { - limit = { - designated_diarch ?= { - save_temporary_scope_as = diarch_successor_temp - save_temporary_opinion_value_as = { - name = recipient_opinion_temp - target = scope:diarch_successor_temp - } - } - } - add = scope:recipient_opinion_temp - # Invert to get the true total. - multiply = -1 - } - # Expected diarchs. - else_if = { - limit = { - diarchy_successor ?= { - save_temporary_scope_as = diarch_successor_temp - scope:actor = { - save_temporary_opinion_value_as = { - name = recipient_opinion_temp - target = scope:diarch_successor_temp - } - } - } - } - add = scope:recipient_opinion_temp - # Invert to get the true total. - multiply = -1 - } - } - desc = declare_me_regent_interaction.tt.opinion_of_current_regent - } - # Opinion of scope:actor. - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - # Personality. - ai_value_modifier = { - # Meek characters are more likely to accept this. - ai_boldness = -0.5 - # Characters with low energy just want to avoid all this planning. - ai_energy = -0.25 - } - # Familial closeness. - ## Close family get a decent boost. - modifier = { - add = 30 - desc = declare_me_regent_interaction.tt.actor_is.close_family - is_close_family_of = scope:actor - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { - is_close_family_of = scope:recipient - } - } - } - ## Extended family get a minor boost. - modifier = { - add = 20 - desc = declare_me_regent_interaction.tt.actor_is.extended_family - is_extended_family_of = scope:actor - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { - is_extended_family_of = scope:recipient - } - } - } - ## House members get a slight boost. - modifier = { - add = 10 - desc = declare_me_regent_interaction.tt.actor_is.house_member - house = scope:actor.house - NOT = { - is_close_or_extended_family_of = scope:actor - } - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { - house = scope:recipient.house - } - } - } - # Relationships. - ## Positive. - modifier = { - add = 25 - desc = declare_me_regent_interaction.tt.actor_is.positive_relationship - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - # We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish. - } - ## Negative. - modifier = { - add = -25 - desc = declare_me_regent_interaction.tt.actor_is.negative_relationship - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - # We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish. - } - # Succession score is a direct factor. - modifier = { - add = scope:actor.diarchy_regent_succession_score_value - desc = declare_me_regent_interaction.tt.actor_is.succession_score - } - } - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 150 - - ai_potential = { - # Turning off for the AI for the moment due to not being able to display who you'll offend if you do it. - ## Should otherwise work and can be turned back on again if wished. - always = no - # Some traits lock the AI out. - ## Calc these first 'cause they're cheaper. - NOR = { - has_trait = lazy - has_trait = humble - has_trait = content - } - OR = { - # Driven by traits or personality. - has_trait = arrogant - has_trait = ambitious - # Family think themselves worthy. - any_close_or_extended_family_member = { this = liege } - } - } - - ai_will_do = { - # Most AI think this is audacious. - base = 0 - - # Weight for personality. - ## Both modifier. - ai_value_modifier = { - # Bold, energetic characters fancy the gig. - ai_boldness = 0.5 - ai_energy = 0.5 - } - ## And traits! - ### These are balanced differently to the other interactions, so it's deliberate that they're not using the @values here. - ### +++ Ambitious. - modifier = { - add = 15 - has_trait = ambitious - } - ### ++ Arrogant. - modifier = { - add = 10 - has_trait = arrogant - } - ### + Diligent. - modifier = { - add = 5 - has_trait = diligent - } - ### + Loyal. - modifier = { - add = 5 - has_trait = loyal - } - ### - Humble. - modifier = { - add = -5 - has_trait = humble - } - ### --- Content. - modifier = { - add = -15 - has_trait = content - } - ### --- Lazy. - modifier = { - add = -15 - has_trait = lazy - } - # Weight by proximity to the ruler: close family, spouses, etc. - modifier = { - add = 25 - OR = { - any_close_or_extended_family_member = { this = scope:recipient } - any_spouse = { this = scope:recipient } - } - } - # Councillors have ambitions. - modifier = { - add = 25 - is_councillor = yes - } - # Weight for opinion of current regent. - modifier = { - add = { - scope:recipient = { - # Designated diarchs. - if = { - limit = { - designated_diarch ?= { - save_temporary_scope_as = diarch_successor_temp - scope:actor = { - save_temporary_opinion_value_as = { - name = actor_opinion_temp - target = scope:diarch_successor_temp - } - } - } - } - add = scope:actor_opinion_temp - # Invert to get the true total. - multiply = -1 - } - # Expected diarchs. - else_if = { - limit = { - diarchy_successor ?= { - save_temporary_scope_as = diarch_successor_temp - scope:actor = { - save_temporary_opinion_value_as = { - name = actor_opinion_temp - target = scope:diarch_successor_temp - } - } - } - } - add = scope:actor_opinion_temp - # Invert to get the true total. - multiply = -1 - } - } - } - always = yes - } - # The AI will only use a Hook if they couldn't otherwise do this - modifier = { - scope:hook = yes - add = -1 - } - } -} - -# Liege (actor) selects a vizier to help them run the realm. -appoint_vizier_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - - desc = appoint_vizier_interaction_desc - interface_priority = 20 - - is_shown = { - scope:actor = { - # Must be able to retain a vizier. - government_has_flag = may_appoint_viziers - # Plus obscure the interaction if we've already got one, else it's annoyingly redundant. - NOT = { has_diarchy_active_parameter = diarchy_is_vizierate } - } - # We perform this upon ourselves or our (probable) candidates. - scope:recipient = { - OR = { - this = scope:actor - is_courtier_of = scope:actor - AND = { - highest_held_title_tier = tier_barony - liege = scope:actor - } - } - } - } - - is_valid_showing_failures_only = { - # You can't already be in a diarchy of any kind. - scope:actor = { - has_active_diarchy = no - } - # Must be of a decent tier. - custom_tooltip = { - text = appoint_vizier_interaction.tt.duchy_or_more - scope:actor.highest_held_title_tier >= tier_duchy - } - # Plus the usuals. - scope:actor = { is_available_at_peace = yes } - # And can't have put the realm into turmoil over this recently. - scope:actor = { - NOT = { has_character_modifier = civil_service_in_chaos_modifier } - } - } - - cooldown = { years = 5 } - - populate_recipient_list = { sort_vizier_candidates_to_list_effect = yes } - - cost = { - prestige = major_prestige_value - renown = { - if = { - limit = { - exists = scope:secondary_recipient - exists = scope:actor.house - scope:secondary_recipient.house ?= scope:actor.house - } - add = massive_dynasty_prestige_value - } - } - } - - auto_accept = yes - - pre_auto_accept = { - # If we're an AI, set the secondary_recipient up for us. - scope:actor = { - if = { - limit = { is_ai = yes } - # First, we need to calc who _is_ most qualified; we don't have access to the character list any more, so reassemble it. - sort_vizier_candidates_to_list_effect = yes - # Now, parse through the list to find the best character. - ordered_in_list = { - list = characters - order_by = diarchy_vizier_succession_score_value - save_scope_as = ai_recipient - } - } - } - } - - on_accept = { - scope:actor = { - # We enter into a vizierate with scope:secondary_recipient. - custom_tooltip = { - text = appoint_vizier_interaction.tt.enter_vizierate_with_secondary_recipient - try_start_diarchy = vizierate - # The player uses scope:secondary_recipient. - if = { - limit = { - # We use a NOT here rather than is_ai = no because the AI was occasionally managing to bork its selection process, and the title does _not_ like setting an empty diarch, so we fallback AI who can't behave to a sub-optimal choice. - NOT = { exists = scope:ai_recipient } - } - set_diarch = scope:secondary_recipient - } - # Whereas the AI grabs their pre-selected candidate. - else = { - set_diarch = scope:ai_recipient - } - } - # Apply opinion. - ## AI. - if = { - limit = { exists = scope:ai_recipient } - scope:ai_recipient = { - add_opinion = { - target = scope:actor - modifier = compliment_opinion - opinion = 30 - } - stress_impact = { - ambitious = minor_stress_impact_loss - arrogant = minor_stress_impact_loss - lazy = major_stress_impact_gain - } - } - } - ## Player. - else = { - scope:secondary_recipient = { - add_opinion = { - target = scope:actor - modifier = compliment_opinion - opinion = 30 - } - stress_impact = { - ambitious = minor_stress_impact_loss - arrogant = minor_stress_impact_loss - lazy = major_stress_impact_gain - } - } - } - # And get X tax jurisdictions. - custom_tooltip = appoint_vizier_interaction.tt.secondary_recipient_grants_tax_jurisdictions - # If scope:secondary_recipient isn't the most qualified candidate, we'll take a scaling negative stewardship modifier. - ## The AI will always pick the highest scoring character, so we only do this for players - lock it off so we're not doing lots of unnecessary calculating. - if = { - limit = { is_ai = no } - # First, we need to calc who _is_ most qualified; we don't have access to the character list any more, so reassemble it. - sort_vizier_candidates_to_list_effect = yes - # Now, parse through the list to find the best character. - ordered_in_list = { - list = characters - order_by = diarchy_vizier_succession_score_value - save_scope_as = best_candidate - } - # Is our chap _the_ chap? - if = { - limit = { - NOT = { scope:secondary_recipient = scope:best_candidate } - } - # Ok, now display some warnings. - custom_tooltip = appoint_vizier_interaction.tt.secondary_recipient_is_not_best_candidate - add_character_modifier = { - modifier = civil_service_upset_modifier - years = 10 - } - } - } - # Are they of our house? - if = { - limit = { - exists = scope:secondary_recipient.house - house ?= scope:secondary_recipient.house - } - custom_tooltip = appoint_vizier_interaction.tt.same_house_penalty - } - # If we have a designated diarch (and it's not this guy), then they're annoyed. - designated_diarch ?= { - if = { - limit = { - NOT = { this = scope:secondary_recipient } - } - add_opinion = { - target = scope:actor - modifier = appointed_vizier_over_designated_regent_opinion - opinion = -40 - } - } - } - # Set a reminder that we appointed this vizier — the AI'll use this to help with determining whether they should remove them or not. - set_variable = { - name = my_vizier - value = scope:recipient - } - # Finally, let's do some stress. - stress_impact = { - trusting = massive_stress_impact_loss - lazy = major_stress_impact_loss - paranoid = minor_stress_impact_gain - diligent = minor_stress_impact_gain - } - } - # Notify about council problemos. - scope:secondary_recipient = { - if = { - limit = { is_councillor = yes } - custom_tooltip = appoint_vizier_interaction.tt.warning.vizier_replace_councillor - } - } - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_appviz_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appviz_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appviz_accept_recipient_list } - } - } - - # AI - ai_targets = { ai_recipients = self } - ai_frequency = 240 - - ai_potential = { - government_has_flag = may_appoint_viziers - } - - ai_will_do = { - base = 0 - - # Realm. - ## Weight up for kings. - modifier = { - add = 50 - highest_held_title_tier = tier_kingdom - } - ## Weight up for emperors. - modifier = { - add = 75 - highest_held_title_tier >= tier_empire - } - ## Add realm size directly. - modifier = { - add = sub_realm_size - is_landed = yes - } - - # Traits. - ## +++ Lazy. - modifier = { - add = 25 - has_trait = lazy - } - ## +++ Greedy. - modifier = { - add = 25 - has_trait = greedy - } - ## ++ Humble. - modifier = { - add = 15 - has_trait = humble - } - ## ++ Content. - modifier = { - add = 15 - has_trait = content - } - ## ++ Impatient. - modifier = { - add = 15 - has_trait = impatient - } - ## + Content. - modifier = { - add = 5 - has_trait = content - } - ## + Shy. - modifier = { - add = 5 - has_trait = shy - } - ## - Gregarious. - modifier = { - add = -5 - has_trait = gregarious - } - ## -- Patient. - modifier = { - add = -15 - has_trait = patient - } - ## -- Diligent. - modifier = { - add = -15 - has_trait = diligent - } - ## --- Arrogant. - modifier = { - add = -25 - has_trait = arrogant - } - ## --- Ambitious. - modifier = { - add = -25 - has_trait = ambitious - } - } -} - -# Liege (actor) selects a junior emperor to be their heir. -appoint_junior_emperor_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - if = { - limit = { scope:secondary_recipient = scope:actor } - clear_saved_scope = secondary_recipient - } - if = { - limit = { - NOT = { - scope:secondary_recipient ?= { valid_junior_emperor_candidate_trigger = { LIEGE = scope:actor } } - } - } - clear_saved_scope = secondary_recipient - } - } - - desc = appoint_junior_emperor_interaction_desc - interface_priority = 20 - - is_shown = { - # Must be able to retain a co-emperor. - scope:actor = { may_appoint_co_emperors_trigger = yes } - # We perform this upon ourselves or our (probable) candidates. - OR = { - scope:recipient ?= scope:actor - scope:secondary_recipient ?= { valid_junior_emperor_candidate_trigger = { LIEGE = scope:actor } } - } - } - - is_valid_showing_failures_only = { - # You can't already be in a diarchy of any kind. - scope:actor = { - has_active_diarchy = no - } - # Make sure we're targeting the right people, since redirects make this a lil slippery. - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { valid_junior_emperor_candidate_trigger = { LIEGE = scope:actor } } - } - # Plus the usuals. - scope:actor = { is_available_at_peace = yes } - } - - populate_recipient_list = { sort_junior_emperor_candidates_to_list_effect = yes } - - cost = { - prestige = designate_heir_admin_prestige_cost - influence = designate_heir_admin_influence_cost - } - - auto_accept = yes - - pre_auto_accept = { - # If we're an AI, set the secondary_recipient up for us. - scope:actor = { - if = { - limit = { is_ai = yes } - # First, we need to calc who _is_ most qualified; we don't have access to the character list any more, so reassemble it. - sort_junior_emperor_candidates_to_list_effect = yes - # Now, parse through the list to find the best character. - ## And by that I mean play literal favourites. - ordered_in_list = { - list = characters - order_by = "reverse_opinion(scope:actor)" - save_scope_as = ai_recipient - } - } - } - } - - on_accept = { - scope:actor = { - # We enter into a junior emperorship with scope:secondary_recipient. - ## The player uses scope:secondary_recipient. - if = { - limit = { - # We use a NOT here rather than is_ai = no because the AI was occasionally managing to bork its selection process, and the title does _not_ like setting an empty diarch, so we fallback AI who can't behave to a sub-optimal choice. - NOT = { exists = scope:ai_recipient } - } - custom_tooltip = { - text = appoint_junior_emperor_interaction.tt.enter_junior_emperorship_with_secondary_recipient - try_start_diarchy = junior_emperorship - set_diarch = scope:secondary_recipient - } - # We set them to be our designated heir. - ## & if we already have an heir, warn that this overwrites it. - designated_heir ?= { - if = { - limit = { this != scope:secondary_recipient } - custom_tooltip = appoint_junior_emperor_interaction.tt.overwrite_designated_heir - # Nab them for use further on. - save_scope_as = old_heir - } - } - ## Designate and inform. - set_designated_heir = scope:secondary_recipient - } - ## Whereas the AI grabs their pre-selected candidate. - else = { - try_start_diarchy = junior_emperorship - set_diarch = scope:ai_recipient - # We set them to be our designated heir. - ## First grabbing the old one for opinions. - designated_heir ?= { - if = { - limit = { this != scope:ai_recipient } - # Nab them for use further on. - save_scope_as = old_heir - } - } - ## Then overwriting. - set_designated_heir = scope:ai_recipient - } - } - # And remember who appointed them on scope:recipient. - grateful_for_appointment_as_co_emperor_effect = yes - # Your designated heir is _very_ pissed. - diarch_overwrites_old_designated_heir_apply_opinions_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Your designated regent is also unhappy (probably). - designated_diarch_overwridden_by_co_ruler_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Make sure we have our co-ruler directly with us. - ## Courtiers are given to us immediately. - if = { - limit = { - scope:secondary_recipient = { is_ruler = no } - } - scope:actor = { add_courtier = scope:secondary_recipient } - } - ## Vassals are retracted. - if = { - limit = { scope:secondary_recipient.liege != scope:actor } - scope:secondary_recipient.liege = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - scope:secondary_recipient.liege = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - create_title_and_vassal_change = { - type = revoked - save_scope_as = change - } - scope:secondary_recipient = { - change_liege = { - liege = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - - #TODO_CD_EP3_POLISH; notification event for the relevant parties if they're players. - #TODO_CD_EP3_POLISH; memories for those involved, plus probably a rivalry reason with at least designated heirs. - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_appjunemp_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appjunemp_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appjunemp_accept_recipient_list } - } - } - - # AI - ai_targets = { ai_recipients = children } - ai_frequency = 60 - - ai_potential = { - # Filter us down nice'n'tight. - may_appoint_co_emperors_trigger = yes - # Plus rule out any diarchies already on the go. - has_active_diarchy = no - # Aaaand finally, the AI won't do this unless they're considering their age and they've got no adult kids. - age >= 50 - any_child = { - count = all - is_adult = no - } - } - - ai_will_do = { - # The AI doesn't like doing this without good reason. - base = -100 - - ai_wants_junior_or_co_emperor_modifier = yes - } -} - -# Liege (actor) selects a co-emperor to be their heir/influence farming stooge. -appoint_co_emperor_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - if = { - limit = { scope:secondary_recipient ?= scope:actor } - clear_saved_scope = secondary_recipient - } - if = { - limit = { - NOT = { - scope:secondary_recipient ?= { - valid_co_emperor_candidate_trigger = { LIEGE = scope:actor } - } - } - } - clear_saved_scope = secondary_recipient - } - } - - desc = appoint_co_emperor_interaction_desc - interface_priority = 280 - - is_shown = { - # Must be able to retain a co-emperor. - scope:actor = { may_appoint_co_emperors_trigger = yes } - # We perform this upon ourselves or our (probable) candidates. - OR = { - scope:recipient ?= scope:actor - scope:secondary_recipient ?= { - valid_co_emperor_candidate_trigger = { LIEGE = scope:actor } - } - } - } - - is_valid_showing_failures_only = { - # You can't already be in a diarchy of any kind. - scope:actor = { - has_active_diarchy = no - } - # Make sure we're targeting the right people, since redirects make this a lil slippery. - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { - valid_co_emperor_candidate_trigger = { LIEGE = scope:actor } - } - } - # Plus the usuals. - scope:actor = { is_available_at_peace = yes } - } - - populate_recipient_list = { sort_co_emperor_candidates_to_list_effect = yes } - - cost = { - prestige = designate_heir_admin_prestige_cost - influence = designate_heir_admin_influence_cost - } - - auto_accept = yes - - pre_auto_accept = { - # If we're an AI, set the secondary_recipient up for us. - scope:actor = { - if = { - limit = { is_ai = yes } - # First, we need to calc who _is_ most qualified; we don't have access to the character list any more, so reassemble it. - sort_co_emperor_candidates_to_list_effect = yes - # Now, parse through the list to find the best character. - ## And by that I mean play literal favourites. - ordered_in_list = { - list = characters - order_by = { - value = "reverse_opinion(scope:actor)" - # Boost up anyone we're related to by blood or marriage. - if = { - limit = { - OR = { - is_close_or_extended_family_of = scope:actor - house ?= scope:actor.house - any_spouse = { is_close_or_extended_family_of = scope:actor } - } - } - # This means we should _generally_ prefer people who are in with the imperial family, but if we hate them then we boot them down the list even further. - multiply = 10 - } - } - save_scope_as = ai_recipient - } - } - } - } - - on_accept = { - scope:actor = { - # We enter into a co-emperorship with scope:secondary_recipient. - ## The player uses scope:secondary_recipient. - if = { - limit = { - # We use a NOT here rather than is_ai = no because the AI was occasionally managing to bork its selection process, and the title does _not_ like setting an empty diarch, so we fallback AI who can't behave to a sub-optimal choice. - NOT = { exists = scope:ai_recipient } - } - custom_tooltip = { - text = appoint_co_emperor_interaction.tt.enter_co_emperorship_with_secondary_recipient - try_start_diarchy = co_emperorship - set_diarch = scope:secondary_recipient - } - # If appropriate, we set them to be our designated heir. - if = { - limit = { - scope:secondary_recipient = { - is_close_or_extended_family_of = scope:actor - house ?= scope:actor.house - } - } - # & if we already have an heir, warn that this overwrites it. - designated_heir ?= { - if = { - limit = { this != scope:secondary_recipient } - custom_tooltip = appoint_co_emperor_interaction.tt.overwrite_designated_heir - # Nab them for use further on. - save_scope_as = old_heir - } - } - # Designate and inform. - set_designated_heir = scope:secondary_recipient - } - } - ## Whereas the AI grabs their pre-selected candidate. - else = { - try_start_diarchy = co_emperorship - set_diarch = scope:ai_recipient - # If appropriate, we set them to be our designated heir. - if = { - limit = { - scope:secondary_recipient = { - is_close_or_extended_family_of = scope:actor - house ?= scope:actor.house - } - } - # First grabbing the old one for opinions. - designated_heir ?= { - if = { - limit = { this != scope:secondary_recipient } - # Nab them for use further on. - save_scope_as = old_heir - } - } - # Then overwriting. - set_designated_heir = scope:ai_recipient - } - } - } - # And remember who appointed them on scope:recipient. - grateful_for_appointment_as_co_emperor_effect = yes - # Your designated heir is _very_ pissed. - diarch_overwrites_old_designated_heir_apply_opinions_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Your designated regent is also unhappy (probably). - designated_diarch_overwridden_by_co_ruler_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Make sure we have our co-ruler directly with us. - ## Courtiers are given to us immediately. - if = { - limit = { - scope:secondary_recipient = { is_ruler = no } - } - scope:actor = { add_courtier = scope:secondary_recipient } - } - ## Vassals are retracted. - if = { - limit = { scope:secondary_recipient.liege != scope:actor } - scope:secondary_recipient.liege = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - create_title_and_vassal_change = { - type = revoked - save_scope_as = change - } - scope:secondary_recipient = { - change_liege = { - liege = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - - #TODO_CD_EP3_POLISH; notification event for the relevant parties if they're players. - #TODO_CD_EP3_POLISH; memories for those involved, plus probably a rivalry reason with at least designated heirs. - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_appcoemp_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appcoemp_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appcoemp_accept_recipient_list } - } - } - - # AI - ai_targets = { ai_recipients = children } - ai_targets = { ai_recipients = vassals } - ai_frequency = 60 - - ai_potential = { - # Filter us down nice'n'tight. - may_appoint_co_emperors_trigger = yes - # Plus rule out any diarchies already on the go. - has_active_diarchy = no - # Aaaand finally, the AI won't do this unless they're considering their age and they've got adult kids. - age >= 50 - any_child = { is_adult = yes } - } - - ai_will_do = { - # The AI doesn't like doing this without good reason. - base = -100 - - ai_wants_junior_or_co_emperor_modifier = yes - } -} - -# Liege (actor) selects one of their children to be their heir & diarch. -appoint_co_monarch_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - if = { - limit = { scope:secondary_recipient ?= scope:actor } - clear_saved_scope = secondary_recipient - } - if = { - limit = { - NOT = { - scope:secondary_recipient ?= { is_child_of = scope:actor } - } - } - clear_saved_scope = secondary_recipient - } - } - - desc = appoint_co_monarch_interaction_desc - interface_priority = 20 - - is_shown = { - # Must be able to retain a co-emperor. - scope:actor = { may_appoint_co_monarchs_trigger = yes } - # We perform this upon ourselves or our (probable) candidates. - OR = { - scope:recipient ?= scope:actor - scope:secondary_recipient ?= { is_child_of = scope:actor } - } - } - - is_valid_showing_failures_only = { - # You can't already be in a diarchy of any kind. - scope:actor = { - has_active_diarchy = no - } - # Make sure we're targeting the right people, since redirects make this a lil slippery. - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { valid_co_monarch_candidate_trigger = { LIEGE = scope:actor } } - } - # Plus the usuals. - scope:actor = { is_available_at_peace = yes } - } - - populate_recipient_list = { sort_co_monarch_candidates_to_list_effect = yes } - - cost = { - prestige = { - value = designate_heir_cost - # Discount it because this _is_ worse than the standard path. - multiply = 0.5 - } - } - - auto_accept = yes - - pre_auto_accept = { - # If we're an AI, set the secondary_recipient up for us. - scope:actor = { - if = { - limit = { is_ai = yes } - # First, we need to calc who _is_ most qualified; we don't have access to the character list any more, so reassemble it. - sort_co_monarch_candidates_to_list_effect = yes - # Now, parse through the list to find the best character. - ## And by that I mean play literal favourites. - ordered_in_list = { - list = characters - limit = { valid_co_monarch_candidate_trigger = { LIEGE = scope:actor } } - order_by = "reverse_opinion(scope:actor)" - save_scope_as = ai_recipient - } - } - } - } - - on_accept = { - scope:actor = { - # We enter into a co-emperorship with scope:secondary_recipient. - ## The player uses scope:secondary_recipient. - if = { - limit = { - # We use a NOT here rather than is_ai = no because the AI was occasionally managing to bork its selection process, and the title does _not_ like setting an empty diarch, so we fallback AI who can't behave to a sub-optimal choice. - NOT = { exists = scope:ai_recipient } - } - custom_tooltip = { - text = appoint_co_monarch_interaction.tt.enter_co_monarchy_with_secondary_recipient - try_start_diarchy = co_monarchy - set_diarch = scope:secondary_recipient - } - # We set them to be our designated heir. - ## & if we already have an heir, warn that this overwrites it. - designated_heir ?= { - if = { - limit = { this != scope:secondary_recipient } - custom_tooltip = appoint_co_monarch_interaction.tt.overwrite_designated_heir - # Nab them for use further on. - save_scope_as = old_heir - } - } - ## Designate and inform. - set_designated_heir = scope:secondary_recipient - } - ## Whereas the AI grabs their pre-selected candidate. - else = { - try_start_diarchy = co_emperorship - set_diarch = scope:ai_recipient - # We set them to be our designated heir. - ## First grabbing the old one for opinions. - designated_heir ?= { - if = { - limit = { this != scope:secondary_recipient } - # Nab them for use further on. - save_scope_as = old_heir - } - } - ## Then overwriting. - set_designated_heir = scope:ai_recipient - } - } - # And remember who appointed them on scope:recipient. - grateful_for_appointment_as_co_emperor_effect = yes - # Your designated heir is _very_ pissed. - diarch_overwrites_old_designated_heir_apply_opinions_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Your designated regent is also unhappy (probably). - designated_diarch_overwridden_by_co_ruler_effect = { - LIEGE = scope:actor - CO_RULER = scope:secondary_recipient - } - # Make sure we have our co-ruler directly with us. - ## Courtiers are given to us immediately. - if = { - limit = { - scope:secondary_recipient = { is_ruler = no } - } - scope:actor = { add_courtier = scope:secondary_recipient } - } - ## Vassals are retracted. - if = { - limit = { scope:secondary_recipient.liege != scope:actor } - scope:secondary_recipient.liege = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - create_title_and_vassal_change = { - type = revoked - save_scope_as = change - } - scope:secondary_recipient = { - change_liege = { - liege = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - - #TODO_CD_EP3_POLISH; notification event for the relevant parties if they're players. - #TODO_CD_EP3_POLISH; memories for those involved, plus probably a rivalry reason with at least designated heirs. - - # Object explorer logging. - scope:actor = { - diarch_interaction_set_or_update_global_variable_effect = { VARIABLE = di_track_appcomon_accept } - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appcomon_accept_actor_list } - } - scope:recipient = { - diarch_interaction_add_to_global_list_effect = { VARIABLE_LIST = di_track_appcomon_accept_recipient_list } - } - } - - # AI - ai_targets = { ai_recipients = children } - ai_frequency = 120 - - ai_potential = { - # Filter us down nice'n'tight. - may_appoint_co_monarchs_trigger = yes - # Plus rule out any diarchies already on the go. - has_active_diarchy = no - # Aaaand finally, the AI won't do this unless they're considering their age and they've got adult kids. - age >= 50 - any_child = { is_adult = yes } - } - - ai_will_do = { - # The AI doesn't like doing this without good reason. - base = -100 - - ai_wants_junior_or_co_emperor_modifier = yes - } -} - -# Start a scheme to replace an incumbent regent. -overthrow_regent_scheme_interaction = { - category = interaction_category_diarch - icon = icon_declare_me_regent - ignores_pending_interaction_block = yes - - scheme = overthrow_regent - desc = overthrow_regent_scheme_interaction_desc - - interface_priority = 20 - - is_shown = { - # Standard setup. - scope:actor.liege ?= { - has_active_diarchy = yes - # You can't overthrow non-regencies. At least not this way. - has_diarchy_parameter = diarchy_is_regency - } - scope:recipient = { - NOT = { this = scope:actor } - liege ?= { - this = scope:actor.liege - diarch ?= scope:recipient - NOT = { this = scope:actor } - } - } - } - - is_valid_showing_failures_only = { - # Make sure you wouldn't just cop out immediately. - ## Disabling is fine, FWIW. You'll de-disable with time. - scope:actor = { is_diarch_valid_trigger = yes } - # Have we been vetoed from succession due to politicking? - custom_tooltip = { - text = overthrow_regent_scheme_interaction.tt.filtered_due_to_incumbent_politicking - NOT = { scope:actor.var:diarch_succession_filtered_due_to_incumbents_politicking ?= scope:recipient } - } - } - - # Long specific cooldown. If you give up, you should give it a rest 'less things change. - cooldown_against_recipient = { years = 10 } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = overthrow_regent_scheme_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = overthrow_regent_scheme_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = overthrow_regent_scheme_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = overthrow_regent_scheme_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - # Sort some stress stuff. - overthrow_regent_scheme_interaction_actor_stress_effect = yes - # And some feedback for starting. - send_interface_toast = { - type = event_toast_effect_neutral - title = overthrow_regent_scheme_interaction.tt.started_scheme - left_icon = scope:actor - right_icon = scope:recipient - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = overthrow_regent - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thug - AGENT_2 = agent_ambusher - AGENT_3 = agent_muscle - # Speed. - AGENT_4 = agent_footpad - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = overthrow_regent - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_footpad - AGENT_2 = agent_tracker - AGENT_3 = agent_planner - # Success. - AGENT_4 = agent_thug - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = overthrow_regent - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_lookout - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_thug - # Speed. - AGENT_5 = agent_footpad - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = overthrow_regent - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thug - AGENT_2 = agent_ambusher - # Speed. - AGENT_3 = agent_footpad - AGENT_4 = agent_planner - # Secrecy. - AGENT_5 = agent_lookout - } - } - } - } - } - - auto_accept = yes - - # AI - ai_targets = { - ai_recipients = peer_vassals - ai_recipients = scripted_relations - } - ai_frequency = 60 - - ai_potential = { - # Some traits lock the AI out. - ## Calc these first 'cause they're cheaper. - NOR = { - has_trait = lazy - has_trait = humble - has_trait = content - } - OR = { - # Driven by traits or personality. - has_trait = arrogant - has_trait = ambitious - # Family think themselves worthy. - any_close_or_extended_family_member = { this = liege } - # If you're rivals with the current regent, that's a good cause. - any_relation = { - type = rival - is_diarch_of_target = root.liege - } - } - } - - ai_will_do = { - # Most AI think this is audacious. - base = -50 - - # Opinion Factor - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - # Weight for personality. - ## Both modifier. - ai_value_modifier = { - # Bold, energetic characters fancy the gig. - ai_boldness = 0.5 - ai_energy = 0.5 - } - ## And traits! - ### These are balanced differently to the other interactions, so it's deliberate that they're not using the @values here. - ### +++ Loyal (if current regent is disloyal). - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = loyal - exists = liege - scope:recipient = { diarch_loyalty <= diarch_loyalty_visibly_disloyal_threshold } - diarch_loyalty_score_type_regency_value >= diarch_loyalty_visibly_loyal_threshold - } - ### +++ Disloyal (if current regent is loyal). - modifier = { - add = diarch_ai_desire_plus_3_value - has_trait = disloyal - exists = liege - scope:recipient = { diarch_loyalty >= diarch_loyalty_visibly_loyal_threshold } - diarch_loyalty_score_type_regency_value >= diarch_loyalty_visibly_disloyal_threshold - } - ### ++ Ambitious. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = ambitious - } - ### ++ Arrogant. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = arrogant - } - ### ++ Deceitful. - modifier = { - add = diarch_ai_desire_plus_2_value - has_trait = deceitful - } - ### + Diligent. - modifier = { - add = diarch_ai_desire_plus_1_value - has_trait = diligent - } - ### - Lazy. - modifier = { - add = diarch_ai_desire_minus_1_value - has_trait = lazy - } - ### -- Honest. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = honest - } - ### -- Humble. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = humble - } - ### -- Content. - modifier = { - add = diarch_ai_desire_minus_2_value - has_trait = content - } - ### --- Disloyal (if current regent is disloyal). - modifier = { - add = diarch_ai_desire_minus_3_value - has_trait = disloyal - exists = liege - scope:recipient = { diarch_loyalty <= diarch_loyalty_visibly_disloyal_threshold } - diarch_loyalty_score_type_regency_value <= diarch_loyalty_visibly_disloyal_threshold - } - ### --- Loyal (if current regent is loyal). - #### Also some loyal-adjacent traits that would otherwise cause stress. - modifier = { - add = diarch_ai_desire_minus_3_value - OR = { - has_trait = loyal - has_trait = honest - has_trait = compassionate - has_trait = just - } - exists = liege - scope:recipient = { diarch_loyalty >= diarch_loyalty_visibly_loyal_threshold } - diarch_loyalty_score_type_regency_value >= diarch_loyalty_visibly_loyal_threshold - } - # Weight by proximity to the ruler: close family, spouses, etc. - modifier = { - add = diarch_ai_desire_plus_2_value - exists = scope:recipient.liege - OR = { - any_close_or_extended_family_member = { this = scope:recipient.liege } - any_spouse = { this = scope:recipient.liege } - } - } - # Councillors have ambitions. - modifier = { - add = diarch_ai_desire_plus_2_value - is_councillor = yes - } - # Factors. - ## If relations are near-perfect, we don't want to go plotting, as it'll look weird. - modifier = { - factor = 0 - OR = { - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - opinion = { - target = scope:recipient - value >= very_high_positive_opinion - } - } - } - } -} diff --git a/N3OW/common/character_interactions/00_dynast_interactions.txt b/N3OW/common/character_interactions/00_dynast_interactions.txt deleted file mode 100644 index 58c0d1cb..00000000 --- a/N3OW/common/character_interactions/00_dynast_interactions.txt +++ /dev/null @@ -1,1941 +0,0 @@ -#Interactions relating to the head of the dynasty - -disinherit_interaction = { - icon = icon_dynasty - category = interaction_category_hostile - interface_priority = 60 - - desc = disinherit_interaction_desc - use_diplomatic_range = no - - is_shown = { - NOT = { - scope:recipient = scope:actor - - AND = { # Explicit AND to ensure no funny business - scope:recipient = { is_child_of = scope:actor } - scope:actor.dynasty = { - this = scope:recipient.dynasty - has_dynasty_perk = fp2_coterie_legacy_5 - } - } - } - - scope:actor = { - is_dynast = yes - dynasty = scope:recipient.dynasty - - } - scope:recipient = { - NOT = { - has_trait = disinherited - } - } - } - - is_valid = { - custom_description = { - scope:actor.culture = { - NOT = { has_cultural_parameter = cannot_disherit } - } - text = "mystical_ancestors_disinherit" - } - } - - is_valid_showing_failures_only = { - trigger_if = { - limit = { - NOT = { # in such cases, it will be free so no need to check for Renown - scope:recipient = { - OR = { - has_trait = disputed_heritage - any_secret = { - secret_type = secret_disputed_heritage - is_known_by = scope:actor - } - has_trait = bastard - } - } - } - } - scope:actor.dynasty = { - dynasty_prestige >= medium_dynasty_prestige_value - } - } - - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - trigger_if = { - limit = { - scope:recipient = { - NOR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - custom_description = { - scope:recipient.top_liege = scope:actor.top_liege - text = "same_realm_as" - } - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0020 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - forgiving = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - - #Legitimacy loss - if = { - limit = { has_legitimacy = yes } - if = { - limit = { scope:recipient = { is_primary_heir_of = scope:actor } } - add_legitimacy = { - value = medium_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - else_if = { - limit = { scope:recipient = { is_child_of = scope:actor } } - add_legitimacy = { - value = minor_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - else = { - add_legitimacy = { - value = miniscule_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - } - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = disinherit_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - show_as_tooltip = { - disinherit_effect = { DISINHERITOR = scope:actor } - } - } - } - } - } - - scope:recipient = { - disinherit_effect = { DISINHERITOR = scope:actor } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_disinheritance.desc - REVERSE_NON_HOUSE_TARGET = no - } - - if = { - limit = { - scope:recipient = { - any_secret = { - secret_type = secret_disputed_heritage - is_known_by = scope:actor - save_temporary_scope_as = secret_to_reveal - } - } - } - - scope:secret_to_reveal = { - expose_secret = scope:recipient.mother - } - - scope:recipient = { - add_trait = disputed_heritage - } - } - } - - cost = { - renown = { - value = { - add = medium_dynasty_prestige_value - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - } - add = major_dynasty_prestige_value - } - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = no - any_heir_title = { - exists = holder - } - } - } - add = medium_dynasty_prestige_value - } - if = { - limit = { - scope:recipient = { - OR = { - has_trait = disputed_heritage - any_secret = { - secret_type = secret_disputed_heritage - is_known_by = scope:actor - } - has_trait = bastard - } - } - } - multiply = 0 - } - } - } - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - } - add = massive_prestige_value - } - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = no - any_heir_title = { - exists = holder - } - } - } - add = medium_prestige_value - } - if = { - limit = { - scope:recipient = { - OR = { - has_trait = disputed_heritage - any_secret = { - secret_type = secret_disputed_heritage - is_known_by = scope:actor - } - has_trait = bastard - } - } - } - multiply = 0 - } - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - NOT = { - has_trait = forgiving - } - } - - ai_targets = { - ai_recipients = dynasty - max = 20 - } - - ai_frequency = 96 - - ai_will_do = { - base = 0 - - modifier = { - add = -100 - scope:actor = { - OR = { - legitimacy_level = 0 - legitimacy_level = 1 - } - } - scope:recipient = { is_primary_heir_of = scope:actor } - } - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { - add = 100 - scope:recipient = { - is_primary_heir_of = scope:actor - OR = { - has_trait = inbred - has_trait = intellect_bad_3 - has_trait = incapable - } - } - } - - modifier = { - add = 5 - ai_vengefulness >= medium_positive_ai_value - scope:recipient = { - is_heir_of = scope:actor - } - OR = { - AND = { - scope:recipient = { - has_trait = incestuous - } - NOT = { is_incestuous_trigger = yes } - trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = kinslayer - } - NOT = { has_trait = kinslayer } - } - AND = { - scope:recipient = { - has_trait = adulterer - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = fornicator - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = deviant - } - NOT = { - is_deviant_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = witch - } - NOT = { - is_witch_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = sodomite - } - NOR = { - has_trait = sodomite - any_secret = { - secret_type = secret_homosexual - } - } - trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = cannibal - } - NOT = { - is_cannibal_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - } - } - } -} - -disinherit_children_interaction = { - icon = icon_dynasty - category = interaction_category_hostile - interface_priority = 60 - - desc = disinherit_children_interaction_desc - use_diplomatic_range = no - - is_shown = { - # DLC checking - has_fp2_dlc_trigger = yes - # Standard check - NOT = { scope:recipient = scope:actor } - - scope:actor.dynasty = { - this = scope:recipient.dynasty - has_dynasty_perk = fp2_coterie_legacy_5 - } - scope:recipient = { - NOT = { - has_trait = disinherited - } - } - } - - is_valid = { - scope:actor = { is_parent_of = scope:recipient } - - - custom_description = { - scope:actor.culture = { - NOT = { has_cultural_parameter = cannot_disherit } - } - text = "mystical_ancestors_disinherit" - } - } - - is_valid_showing_failures_only = { - scope:actor = { - prestige >= major_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - trigger_if = { - limit = { - scope:recipient = { - NOR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - custom_description = { - scope:recipient.top_liege = scope:actor.top_liege - text = "same_realm_as" - } - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0020 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - forgiving = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - add_tyranny = massive_tyranny_value - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = disinherit_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - show_as_tooltip = { - disinherit_effect = { DISINHERITOR = scope:actor } - } - } - } - } - } - - scope:recipient = { - disinherit_effect = { DISINHERITOR = scope:actor } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_disinheritance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - } - add = massive_prestige_value - } - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = no - any_heir_title = { - exists = holder - } - } - } - add = medium_prestige_value - } - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - NOT = { - has_trait = forgiving - } - } - - ai_targets = { - ai_recipients = dynasty - max = 20 - } - - ai_frequency = 96 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { - add = 100 - scope:recipient = { - is_primary_heir_of = scope:actor - OR = { - has_trait = inbred - has_trait = intellect_bad_3 - has_trait = incapable - } - } - } - - modifier = { - add = 5 - ai_vengefulness >= medium_positive_ai_value - scope:recipient = { - is_heir_of = scope:actor - } - OR = { - AND = { - scope:recipient = { - has_trait = incestuous - } - NOT = { is_incestuous_trigger = yes } - trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = kinslayer - } - NOT = { has_trait = kinslayer } - } - AND = { - scope:recipient = { - has_trait = adulterer - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = fornicator - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = deviant - } - NOT = { - is_deviant_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = witch - } - NOT = { - is_witch_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = sodomite - } - NOR = { - has_trait = sodomite - any_secret = { - secret_type = secret_homosexual - } - } - trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = cannibal - } - NOT = { - is_cannibal_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - } - } - } -} - -restore_inheritance_interaction = { - icon = icon_dynasty - category = interaction_category_friendly - desc = restore_inheritance_interaction_desc - - interface_priority = 60 - - is_shown = { - scope:actor = { - is_dynast = yes - dynasty = scope:recipient.dynasty - - } - scope:recipient = { - has_trait = disinherited - } - } - - is_valid_showing_failures_only = { - scope:actor.dynasty ={ - dynasty_prestige >= miniscule_dynasty_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0030 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - vengeful = minor_stress_impact_gain - stubborn = minor_stress_impact_gain - } - hidden_effect = { - send_interface_message = { - type = event_dynasty_neutral - title = restore_inheritance_interaction_notification - right_icon = scope:recipient - show_as_tooltip = { - scope:recipient = { - restore_inheritance_effect = yes - } - } - } - } - } - - scope:recipient = { - restore_inheritance_effect = yes - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_re_inheritance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - renown = { - value = medium_dynasty_prestige_value - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - } - - ai_targets = { - ai_recipients = dynasty - max = 20 - } - - ai_frequency = 120 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { - add = 5 - ai_vengefulness <= medium_negative_ai_value - } - - modifier = { - add = 100 - scope:recipient = scope:actor - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - } -} - -denounce_interaction = { - icon = icon_dynasty - category = interaction_category_hostile - interface_priority = 59 #after disinherit - - desc = denounce_interaction_desc - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_dynast = yes - dynasty = scope:recipient.dynasty - } - scope:recipient = { - NOT = { - has_trait = denounced - } - } - } - - is_valid_showing_failures_only = { - scope:actor.dynasty = { - dynasty_prestige >= minor_dynasty_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0040 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - forgiving = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = denounce_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - show_as_tooltip = { - denounce_effect = { ACTOR = scope:actor RECIPIENT = scope:recipient } - } - } - } - } - } - - scope:recipient = { - denounce_effect = { ACTOR = scope:actor RECIPIENT = scope:recipient } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_denouncement.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - renown = { - value = { - add = minor_dynasty_prestige_value - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - } - add = medium_dynasty_prestige_value - } - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = no - any_heir_title = { - exists = holder - } - } - } - add = minor_dynasty_prestige_value - } - } - } - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - } - add = major_prestige_value - } - if = { - limit = { - scope:recipient = { - is_landed_or_landless_administrative = no - any_heir_title = { - exists = holder - } - } - } - add = medium_prestige_value - } - } - } - } - - auto_accept = yes - - ai_potential = { - is_adult = yes - NOT = { - has_trait = forgiving - } - } - - ai_targets = { - ai_recipients = dynasty - max = 20 - } - - ai_frequency = 96 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { - add = 5 - ai_vengefulness >= medium_positive_ai_value - OR = { - AND = { - scope:recipient = { - has_trait = incestuous - } - NOT = { is_incestuous_trigger = yes } - trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = kinslayer - } - NOT = { has_trait = kinslayer } - } - AND = { - scope:recipient = { - has_trait = adulterer - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = fornicator - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = deviant - } - NOT = { - is_deviant_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = witch - } - NOT = { - is_witch_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = sodomite - } - NOR = { - has_trait = sodomite - any_secret = { - secret_type = secret_homosexual - } - } - trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = cannibal - } - NOT = { - is_cannibal_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - } -} - -forgive_interaction = { - icon = icon_dynasty - category = interaction_category_friendly - interface_priority = 60 - - desc = forgive_interaction_desc - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_dynast = yes - dynasty = scope:recipient.dynasty - } - scope:recipient = { - has_trait = denounced - } - } - - is_valid_showing_failures_only = { - scope:actor.dynasty = { - dynasty_prestige >= miniscule_dynasty_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0050 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - vengeful = minor_stress_impact_gain - stubborn = minor_stress_impact_gain - } - hidden_effect = { - send_interface_message = { - type = event_generic_neutral - title = forgive_interaction_notification - right_icon = scope:recipient - show_as_tooltip = { - scope:recipient = { - forgive_effect = yes - } - } - } - } - } - - scope:recipient = { - forgive_effect = yes - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_forgiveness.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - renown = { - value = miniscule_dynasty_prestige_value - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - } - - ai_targets = { - ai_recipients = dynasty - max = 20 - } - - ai_frequency = 120 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { - add = 5 - ai_vengefulness <= medium_negative_ai_value - } - - modifier = { - add = 100 - scope:recipient = scope:actor - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - } -} - -call_dynasty_member_to_war_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - interface_priority = 60 - - desc = call_dynasty_member_to_war_interaction_desc - - interface = call_ally - special_interaction = call_ally_interaction - popup_on_receive = yes - pause_on_receive = yes - - greeting = positive - notification_text = CALL_DYNASTY_MEMBER_NOTIFICATION - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_dynast = yes - religion = scope:recipient.religion - dynasty = scope:recipient.dynasty - NOT = { house = scope:recipient.house } # Use the House Head version instead - any_character_war = { - is_war_leader = scope:actor - } - } - scope:recipient = { - is_ruler = yes - } - - scope:recipient = { - NOT = { - target_is_liege_or_above = scope:actor - } - } - } - - has_valid_target = { - exists = scope:target - } - - has_valid_target_showing_failures_only = { - scope:target = { - is_war_leader = scope:actor - } - joiner_not_already_in_another_war_with_any_target_war_participants_trigger = { - WARRIOR = scope:actor - JOINER = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:actor.dynasty = { dynasty_prestige >= medium_dynasty_prestige_value } - scope:recipient = { - NOT = { government_has_flag = government_is_mercenary } - NOT = { government_has_flag = government_is_holy_order } - } - custom_description = { - text = "is_already_in_all_wars" - scope:actor = { - any_character_war = { - NOR = { - is_participant = scope:recipient - was_called = scope:recipient - } - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - } - } - } - } - - can_be_picked = { - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:actor JOINER = scope:recipient } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = call_ally.0001 - } - } - - on_accept = { - call_dynasty_member_to_war_interaction_effect = yes - - save_scope_value_as = { - name = call_dynasty_member_to_war_interaction - value = yes - } - - if = { - limit = { - exists = scope:target - } - scope:actor = { - trigger_event = call_ally.0100 - } - } - } - - on_decline = { - #The war could theoretically end on the day the decline is sent - if = { - limit = { - exists = scope:target - } - scope:target = { - if = { - limit = { - is_attacker = scope:actor - } - scope:actor = { - add_opinion = { - modifier = rejected_call_to_offensive_war - target = scope:recipient - } - } - } - else = { - scope:actor = { - add_opinion = { - modifier = rejected_call_to_defensive_war - target = scope:recipient - } - } - } - hidden_effect = { - if = { - limit = { - NOT = { was_called = scope:recipient } - } - set_called_to = scope:recipient - } - } - } - scope:actor.dynasty = { - add_dynasty_prestige = medium_dynasty_prestige_loss - } - } - - if = { - limit = { - exists = scope:target - } - scope:actor = { - trigger_event = call_ally.0101 - } - } - } - - ai_accept = { - base = 20 - - modifier = { # Refuse call to conflicts of little benefit - add = -1000 - desc = WONT_FIGHT_MEANINGLESS_REASON - trigger_if = { - limit = { exists = scope:target } - scope:target = { using_cb = fp2_border_raid } - scope:recipient = { # Unless they like going on raids - NOR = { - has_trait = viking - has_trait = reaver - } - } - } - trigger_else = { always = no } - } - - modifier = { # Refuse call against Heir - add = -1000 - exists = scope:recipient.player_heir - trigger_if = { - limit = { scope:target.casus_belli.primary_defender = scope:actor } - scope:target.casus_belli.primary_attacker = scope:recipient.player_heir - } - trigger_else = { - scope:target.casus_belli.primary_defender = scope:recipient.player_heir - } - desc = WONT_FIGHT_HEIR_REASON - } - - modifier = { # Refuse call against Spouse - add = -1000 - scope:recipient = { - trigger_if = { - limit = { scope:target.casus_belli.primary_defender = scope:actor } - any_spouse = { - this = scope:target.casus_belli.primary_attacker - } - } - trigger_else = { - any_spouse = { - this = scope:target.casus_belli.primary_defender - } - } - - } - desc = WONT_FIGHT_SPOUSE_REASON - } - - modifier = { # Reluctant when already at war - add = -50 - scope:recipient = { - is_at_war = yes - } - desc = ALREADY_AT_WAR - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - - # Honor factor - ai_value_modifier = { - ai_honor = 1 - min = 0 - } - - modifier = { # Tends to join defensive wars - add = 50 - scope:target.casus_belli.primary_defender = scope:actor - desc = DEFENSIVE_WAR_REASON - } - - compare_modifier = { # Likes fighting infidels - trigger = { - scope:recipient.faith = scope:actor.faith - OR = { - AND = { - scope:target.casus_belli.primary_attacker = { - this = scope:actor - faith = { - faith_hostility_level = { - target = scope:target.casus_belli.primary_defender.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - AND = { - scope:target.casus_belli.primary_defender = { - this = scope:actor - faith = { - faith_hostility_level = { - target = scope:target.casus_belli.primary_defender.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - } - } - target = scope:recipient - value = ai_zeal - desc = "ZEAL_AGAINST_INFIDELS" - min = 0 - multiplier = 0.5 - } - - modifier = { # Reluctant to attack another ally - add = -50 - scope:target.casus_belli.primary_attacker = scope:actor - scope:recipient = { - is_allied_to = scope:target.casus_belli.primary_defender - } - desc = ATTACK_ON_ALLY_REASON - } - - modifier = { # Reluctant to defend against another ally - add = -25 - scope:target.casus_belli.primary_defender = scope:actor - scope:recipient = { - is_allied_to = scope:target.casus_belli.primary_attacker - } - desc = WAR_WITH_ALLY_REASON - } - - modifier = { # Reluctant to join wars against religious brethren. - add = -50 - NOT = { scope:recipient.faith = scope:actor.faith } - scope:target.casus_belli.primary_attacker = scope:actor - scope:target.casus_belli.primary_defender.faith = scope:recipient.faith - scope:target.casus_belli.war = { - OR = { - using_cb = minor_religious_war - using_cb = religious_war - using_cb = major_religious_war - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - } - desc = WONT_ATTACK_RELIGIOUS_BRETHREN_REASON - } - - fp3_struggle_resist_allied_wars_modifier = yes - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no -} - -dynast_claim_title_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - interface_priority = 34 #right after HoF Request Claim - desc = dynast_claim_title_interaction_desc - target_type = title - target_filter = recipient_domain_titles - ignores_pending_interaction_block = yes - cost = { renown = major_dynasty_prestige_value } - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_dynast = yes - religion = scope:recipient.religion - dynasty = scope:recipient.dynasty - } - - scope:recipient = { - is_playable_character = yes - } - } - - can_be_picked = { - custom_description = { - scope:target = { NOT = { any_claimant = { this = scope:actor } } } - text = "already_have_a_claim_on_this_title" - } - } - - is_valid_showing_failures_only = { - custom_description = { - scope:recipient = { - any_held_title = { - tier >= tier_county - NOT = { any_claimant = { this = scope:actor } } - } - } - - object = scope:recipient - text = "already_have_claims_on_all_titles" - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0060 - } - } - - on_accept = { - dynast_claim_title_effect = yes - scope:actor = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = dynast_claim_title_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - show_as_tooltip = { - dynast_claim_title_effect = yes - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_title_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} - -dynast_end_dynasty_wars_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - desc = dynast_end_dynasty_wars_interaction_desc - - is_shown = { - NOT = { scope:actor = scope:recipient } - - scope:actor = { - is_dynast = yes - religion = scope:recipient.religion - dynasty = scope:recipient.dynasty - } - - scope:recipient = { - is_playable_character = yes - any_character_war = { - NOT = { primary_defender = scope:actor } - primary_attacker = scope:recipient - primary_defender.dynasty = scope:recipient.dynasty - } - } - } - - is_valid_showing_failures_only = { - scope:actor.dynasty = { - dynasty_prestige >= medium_dynasty_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0070 - } - } - - on_accept = { - - scope:actor = { - hidden_effect = { - send_interface_message = { - type = event_dynasty_neutral - title = dynast_end_dynasty_wars_interaction_notification - right_icon = scope:recipient - show_as_tooltip = { - dynast_end_dynasty_wars_effect = yes - } - } - } - } - dynast_end_dynasty_wars_effect = yes - } - - auto_accept = yes -} - -dynast_legitimize_bastard_interaction = { - icon = icon_dynasty - category = interaction_category_diplomacy - desc = dynast_legitimize_bastard_interaction_desc - - is_shown = { - scope:actor = scope:recipient.dynasty.dynast - scope:actor = { - religion = scope:recipient.religion - NOT = { house = scope:recipient.house } - faith = { has_doctrine_parameter = bastards_legitimize } - } - scope:recipient = { - has_trait = bastard - faith = { has_doctrine_parameter = bastards_legitimize } - } - } - - is_valid = { - scope:actor.dynasty = { - dynasty_prestige >= medium_dynasty_prestige_value - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - auto_accept = yes - - cost = { - renown = medium_dynasty_prestige_value - } - - on_accept = { - scope:actor = { - stress_impact = { - arrogant = minor_stress_impact_gain - } - send_interface_message = { - type = event_dynasty_neutral - title = dynast_legitimize_bastard_interaction_notification - right_icon = scope:recipient - show_as_tooltip = { - scope:recipient = { - add_trait_force_tooltip = legitimized_bastard - add_opinion = { - target = scope:actor - modifier = legitimized_me_opinion - } - } - } - } - } - - hidden_effect = { - scope:recipient = { - trigger_event = bastard_interaction.0009 - every_parent = { - limit = { - is_playable_character = yes - NOT = { this = scope:actor } - } - hidden_effect = { #Nudge towards friendship - if = { - limit = { - NOR = { - has_relation_friend = scope:actor - has_relation_potential_friend = scope:actor - } - } - set_relation_potential_friend = scope:actor - } - } - trigger_event = bastard_interaction.0010 - } - every_sibling = { - limit = { - is_playable_character = yes - NOT = { this = scope:actor } - } - trigger_event = bastard_interaction.0010 - } - } - } - } -} - -send_to_varangian_guard_interaction = { - category = interaction_category_friendly - interface_priority = 60 - icon = send_to_varangian_guard_interaction - - desc = send_to_varangian_guard_interaction_desc - use_diplomatic_range = no - common_interaction = yes - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_dynast = yes - dynasty = scope:recipient.dynasty - - dynasty = { - has_dynasty_perk = fp1_adventure_legacy_1 - } - - exists = title:e_byzantium.holder - NOR = { - faith = { - has_doctrine_parameter = pacifist_opinion_active - } - this = title:e_byzantium.holder - has_truce = title:e_byzantium.holder - is_at_war_with = title:e_byzantium.holder - } - } - } - - cooldown = { years = 2 } - - is_valid_showing_failures_only = { - scope:actor = { - is_at_war = no - NOT = { - has_relation_rival = title:e_byzantium.holder - } - } - scope:recipient = { - is_busy_in_events_localised = yes - is_ruler = no - is_adult = yes - is_married = no - NOT = { - has_trait = varangian - } - } - trigger_if = { - limit = { - scope:recipient = { - is_adult = yes - NOT = { - can_be_knight_trigger = { - ARMY_OWNER = title:e_byzantium.holder - } - } - } - } - custom_description = { - scope:recipient = { - can_be_knight_trigger = { - ARMY_OWNER = title:e_byzantium.holder - } - } - text = "not_allowed_in_varangian_guard" - } - } - trigger_if = { - limit = { - scope:recipient = { - NOR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - custom_description = { - scope:recipient.top_liege = scope:actor.top_liege - text = "same_realm_as" - } - } - } - - on_accept = { - title:e_byzantium.holder = { - save_scope_as = emperor - if = { - limit = { capital_county = title:c_byzantion } - set_local_variable = { - name = to_miklagard - value = yes - } - } - } - - scope:actor = { - stress_impact = { - paranoid = minor_stress_impact_gain - } - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = send_to_varangian_guard_interaction_toast - - left_icon = scope:recipient - right_icon = scope:emperor - - custom_tooltip = send_to_varangian_guard_interaction_toast_desc - } - } - } - - scope:recipient = { - save_scope_as = varangian_candidate - - } - - show_as_tooltip = { - scope:varangian_candidate = { - visit_court_of = scope:emperor - add_trait = varangian - custom_description_no_bullet = { - text = send_to_varangian_guard_interaction_effect - } - } - } - hidden_effect = { - scope:emperor = { - trigger_event = varangian.0003 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_vaering.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - prestige = { - value = 350 - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - is_dynast = yes - - dynasty = { - has_dynasty_perk = fp1_adventure_legacy_1 - } - - exists = title:e_byzantium.holder - NOR = { - faith = { - has_doctrine_parameter = pacifist_opinion_active - } - this = title:e_byzantium.holder - has_truce = title:e_byzantium.holder - is_at_war_with = title:e_byzantium.holder - } - } - - ai_targets = { - ai_recipients = children - max = 10 - } - - ai_frequency = 120 - - ai_will_do = { - base = 100 - } -} diff --git a/N3OW/common/character_interactions/00_education_interactions.txt b/N3OW/common/character_interactions/00_education_interactions.txt deleted file mode 100644 index 98ae29cb..00000000 --- a/N3OW/common/character_interactions/00_education_interactions.txt +++ /dev/null @@ -1,3926 +0,0 @@ -# Interactions relating to the education of children - - -# Designate guardian and ward in your own court -# This interaction is referenced in code! If it's renamed you have to ping a coder -educate_child_interaction = { - category = interaction_category_friendly - common_interaction = yes - icon = child - - send_name = SEND_PROPOSAL - desc = educate_child_interaction_desc - - # secondary_actor = guardian - # actor = guardian.liege - can be same as guardian - # secondary_recipient = ward - # recipient = ward.liege - can be same as ward - - redirect = { - if = { - limit = { - scope:actor = { is_ai = no } - } - scope:actor = { - #If the character performing the action is a child, let's set ourselves as the ward - if = { - limit = { - is_physically_able_adult = no - num_of_relation_guardian = 0 - } - save_scope_as = secondary_recipient - } - #If the character peforming the action is an adult, let's set ourselves as the guardian - else_if = { - limit = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - NOT = { scope:recipient = scope:secondary_recipient } - } - save_scope_as = secondary_actor - } - #Otherwise just pick whoever chum for the guardian position - else_if = { - limit = { - any_courtier = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - } - } - random_courtier = { - limit = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - } - weight = { - base = 1 - modifier = { - add = 5 - culture = scope:actor.culture - } - modifier = { - add = 2 - faith = scope:actor.faith - } - modifier = { - add = 10 - has_council_position = councillor_court_chaplain - } - modifier = { - add = 2 - is_councillor = yes - } - modifier = { - add = 3 - this.dynasty = scope:actor.dynasty - } - modifier = { - add = 2 - has_education_rank_4_trigger = yes - } - modifier = { - add = 1 - has_education_rank_3_trigger = yes - } - } - save_scope_as = secondary_actor - } - } - if = { - limit = { - exists = employer - NOT = { employer = scope:actor } - } - - employer = { - save_scope_as = actor - } - } - } - - scope:recipient = { - if = { - limit = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - } - save_scope_as = secondary_actor - } - else = { - save_scope_as = secondary_recipient - } - - if = { - limit = { - exists = employer - NOT = { employer = scope:recipient } - } - - employer = { - save_scope_as = recipient - } - } - } - } - } - - populate_actor_list = { - scope:actor = { - if = { - limit = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - is_imprisoned = no - NOT = { has_trait = incapable } - } - add_to_list = characters - } - every_courtier = { - limit = { - is_physically_able_adult = yes - num_of_relation_ward < 2 - is_imprisoned = no - NOT = { has_trait = incapable } - } - add_to_list = characters - } - } - } - - populate_recipient_list = { - scope:recipient = { - if = { - limit = { - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = no - } - } - is_available_child = yes - } - trigger_else = { - is_available_child_allow_travel = yes - } - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - trigger_if = { #If a hostage then only if scope:actor is the hostage taker - limit = { - is_hostage = yes - } - is_hostage_of = scope:actor - } - } - add_to_list = characters - } - every_courtier = { - limit = { - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = no - } - } - is_available_child = yes - } - trigger_else = { - is_available_child_allow_travel = yes - } - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - is_close_family_of = scope:actor - } - trigger_if = { #If a hostage then only if scope:actor is the hostage taker - limit = { - is_hostage = yes - } - is_hostage_of = scope:actor - } - } - add_to_list = characters - } - } - } - - greeting = positive - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = scope:secondary_actor - NOT = { scope:recipient = scope:secondary_recipient } - } - desc = EDUCATE_RECIPIENT_CHILD_PERSONALLY_REQUEST - } - triggered_desc = { - trigger = { - scope:actor = scope:secondary_actor - scope:recipient = scope:secondary_recipient - } - desc = EDUCATE_RECIPIENT_PERSONALLY_REQUEST - } - triggered_desc = { - trigger = { - NOT = { scope:recipient = scope:secondary_recipient } - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_RECIPIENT_CHILD_REQUEST - } - triggered_desc = { - trigger = { - scope:recipient = scope:secondary_recipient - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_RECIPIENT_REQUEST - } - } - } - - prompt = { - first_valid = { - triggered_desc = { - trigger = { - NOT = { exists = scope:secondary_actor } - } - desc = EDUCATE_SELECT_YOUR_GUARDIAN - } - triggered_desc = { - trigger = { - NOT = { exists = scope:secondary_recipient } - } - desc = EDUCATE_SELECT_YOUR_WARD - } - } - } - - is_shown = { - scope:recipient = { - is_in_the_same_court_as = scope:actor - } - trigger_if = { - limit = { - exists = scope:secondary_actor - } - scope:secondary_actor = { - is_adult = yes - num_of_relation_ward < 2 - } - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_adult = no - num_of_relation_guardian = 0 - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_imprisoned = no - NOT = { has_trait = incapable } - trigger_if = { - limit = { - NOT = { this = scope:actor } - } - is_courtier_of = scope:actor - } - - } - trigger_if = { - limit = { - exists = scope:secondary_actor - } - scope:secondary_actor = { - is_imprisoned = no - NOT = { has_trait = incapable } - } - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_imprisoned = no - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = no - } - } - is_travelling = no #The child in question should not already have a travel plan - } - NOT = { has_trait = incapable } - NOT = { exists = var:hostage_travelling_to_warden } - trigger_if = { - limit = { is_hostage = yes } - is_courtier_of = scope:actor - } - } - } - custom_description = { - text = character_to_guard_exists - subject = scope:actor - scope:actor = { - OR = { - any_courtier = { - is_adult = yes - num_of_relation_ward < 2 - is_imprisoned = no - NOT = { has_trait = incapable } - } - AND = { - is_adult = yes - num_of_relation_ward < 2 - is_imprisoned = no - NOT = { has_trait = incapable } - } - } - } - } - custom_description = { - text = character_to_educate_exists - object = scope:actor - scope:actor = { - OR = { - any_courtier = { - is_adult = no - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - } - AND = { - is_adult = no - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - } - } - } - } - trigger_if = { # Ward - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { - custom_tooltip = { - text = ward_travelling_tt - NOT = { exists = var:ward_travelling_to_guardian } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:ward_waiting_for_guardian } - var:ward_waiting_for_guardian = { - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = scope:secondary_recipient.var:ward_waiting_for_guardian } - } - } - } - } - } - trigger_if = { # Guardian - limit = { exists = scope:secondary_actor } - scope:secondary_actor = { - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = var:guardian_travelling_to_ward } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:guardian_waiting_for_ward } - var:guardian_waiting_for_ward = { - custom_tooltip = { - text = ward_travelling_tt - NOT = { scope:secondary_actor.num_of_relation_ward >= 1 } - } - } - } - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - can_be_picked = { #Potential Issue: This is only evaluated if both secondary recipient/actor are unselected TIT-49632 - trigger_if = { - limit = { - OR = { - AND = { - is_ruler = no - liege ?= { - is_landless_adventurer = no - } - } - AND = { - is_ruler = yes - is_landless_adventurer = no - } - } - } - is_available = yes - } - trigger_else = { - is_available_allow_travelling = yes - } - is_at_home = yes - # Under offer - custom_tooltip = { - text = ward_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_ward_flag } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_guardian_flag } - } - # Already offered - custom_tooltip = { - text = ward_already_offered_awaiting_travel_tt - NOR = { - exists = var:ward_travelling_to_guardian - exists = var:ward_waiting_for_guardian - } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_travel_tt - NOR = { - exists = var:guardian_travelling_to_ward - AND = { - exists = var:guardian_waiting_for_ward - num_of_relation_ward >= 1 - } - } - } - # Hostage - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Guardian has too many students - num_of_relation_ward <= 2 - trigger_if = { - limit = { exists = var:character_requested_as_educator } - num_of_relation_ward <= 1 - } - } - - on_accept = { - scope:secondary_recipient = { - save_scope_as = ward - scope:secondary_actor = { save_scope_as = guardian } - scope:recipient = { save_scope_as = ward_liege } - scope:actor = { save_scope_as = guardian_liege } - } - - if = { - limit = { scope:ward.age >= 15 } - custom_description_no_bullet = { - text = ward_nearing_adulthood_tt - object = scope:ward - } - } - - scope:guardian_liege = { - send_interface_message = { - type = event_childhood_neutral - title = educate_child_interaction_notification - left_icon = scope:guardian - right_icon = scope:ward - educate_child_interaction_effect = yes - show_as_tooltip = { - scope:ward = { - if = { - limit = { exists = var:ward_travelling_to_guardian } - custom_tooltip = ward_departs_tt - } - else_if = { - limit = { exists = scope:guardian.var:guardian_travelling_to_ward } - scope:guardian = { custom_tooltip = guardian_departs_tt } - } - else = { - set_relation_guardian = scope:guardian - } - } - } - } - } - #to see the "becomes guardian of x" effect in the interaction confirmation window - show_as_tooltip = { - scope:guardian = { set_relation_ward = scope:ward } - } - } - - auto_accept = yes - - ai_accept = { - base = 100 - } - - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.culture = scope:secondary_recipient.culture } - } - flag = convert_culture - localization = EDUCATE_CHILD_OPTION_CONVERT_CULTURE - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.faith = scope:secondary_recipient.faith } - } - flag = convert_faith - localization = EDUCATE_CHILD_OPTION_CONVERT_FAITH - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - scope:recipient = { - OR = { - any_realm_province = { - has_university_building_trigger = yes - } - any_realm_county = { - has_county_modifier = pandidakterion_university_modifier - } - } - } - } - is_valid = { - scope:actor.gold >= scope:actor.medium_gold_value - } - flag = send_to_university - localization = EDUCATION_UNIVERSITY - } - send_option = { - is_shown = { - exists = scope:actor - exists = scope:secondary_actor - NOT = { scope:secondary_actor = scope:actor } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:secondary_actor - } - } - flag = education_hook - localization = EDUCATION_HOOK - } - - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_targets = { - ai_recipients = self - } - - ai_frequency = 24 - - ai_potential = { - OR = { - AND = { - is_physically_able_adult = no - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - } - any_courtier = { - is_physically_able_adult = no - num_of_relation_guardian = 0 - is_imprisoned = no - NOT = { has_trait = incapable } - is_close_family_of = root - } - } - } - - ai_will_do = { - base = 100 - - modifier = { # Slight preference for older heirs - add = scope:secondary_recipient.age - } - - modifier = { # Prefer to educate your own heirs - add = 900 - scope:actor = scope:secondary_actor - scope:secondary_recipient = { - is_heir_of = scope:actor - } - } - - modifier = { # Otherwise, find a good educator for them - add = 200 - scope:secondary_actor = { - OR = { - has_education_rank_4_trigger = yes - has_education_rank_3_trigger = yes - } - } - scope:secondary_recipient = { - is_heir_of = scope:actor - } - } - - modifier = { # Generally prefer your own flesh & blood to educate children - add = 200 - exists = scope:secondary_actor.dynasty - exists = scope:actor.dynasty - scope:secondary_actor.dynasty = scope:actor.dynasty - } - - modifier = { # Also prefer friends & lovers - add = 100 - scope:secondary_actor = { - OR = { - has_relation_lover = scope:actor - has_relation_friend = scope:actor - has_secret_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { # The AI shouldn't change culture/faith of their children - add = -1000 - scope:secondary_recipient.culture = scope:actor.culture - scope:secondary_recipient.faith = scope:actor.faith - OR = { - scope:convert_culture = yes - scope:convert_faith = yes - } - } - - modifier = { # The AI should not convert child of vassals with protected religious right - add = -1000 - scope:convert_faith = yes - scope:recipient = { is_vassal_of = scope:actor } - scope:recipient = { vassal_contract_has_flag = religiously_protected } - } - - modifier = { # If your kids aren't of your culture/faith, make them so! - add = 900 - scope:secondary_actor.culture = scope:actor.culture - scope:secondary_actor.faith = scope:actor.faith - NOR = { - scope:secondary_recipient.culture = scope:actor.culture - scope:secondary_recipient.faith = scope:actor.faith - } - scope:convert_culture = yes - scope:convert_faith = yes - } - - modifier = { # If your kids aren't of your culture/faith, make them so! - add = 500 - scope:secondary_actor.culture = scope:actor.culture - NOT = { scope:secondary_recipient.culture = scope:actor.culture } - scope:convert_culture = yes - } - - modifier = { # If your kids aren't of your culture/faith, make them so! - add = 500 - scope:secondary_actor.faith = scope:actor.faith - NOT = { scope:secondary_recipient.faith = scope:actor.faith } - scope:convert_faith = yes - } - - modifier = { # Rivals are not welcome - add = -1000 - scope:secondary_recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { # Random peasants can only dream about educating noble children! - add = -1000 - scope:actor = { - is_lowborn = no - } - scope:secondary_recipient = { - is_lowborn = yes - NOR = { - is_councillor = yes - is_knight = yes - } - } - } - - modifier = { # Don't care about random children - factor = 0 - scope:secondary_recipient = { - NOR = { - is_close_family_of = scope:actor - this = scope:actor - } - } - } - - modifier = { # Don't spend gold on this unless very, very rich - factor = 0 - scope:send_to_university = yes - - scope:actor.short_term_gold < scope:actor.monumental_gold_value - } - } -} - -#Offer a ward to a landed character -#This interaction is referenced in code! If it's renamed you have to ping a coder -offer_ward_interaction = { - category = interaction_category_friendly - icon = child - interface_priority = 31 - - desc = offer_ward_interaction_desc - - send_name = SEND_PROPOSAL - - - # secondary_actor = ward - # actor = ward.liege - can be same as ward - # secondary_recipient = guardian - # recipient = guardian.liege - can be same as guardian - - redirect = { - scope:recipient = { - if = { - limit = { - exists = employer - NOT = { employer = scope:recipient } - } - save_scope_as = secondary_recipient - employer = { - save_scope_as = recipient - } - } - } - } - - populate_actor_list = { - scope:actor = { - if = { - limit = { - is_adult = no - is_physically_able = yes - NOT = { - any_relation = { - type = guardian - this = scope:recipient - } - } - is_hostage = no - is_travelling = no #Can be removed once the can_be_picked is fixed to re-evaluate - } - add_to_list = characters - } - every_courtier = { - limit = { - is_adult = no - is_physically_able = yes - NOT = { - any_relation = { - type = guardian - this = scope:recipient - } - } - is_hostage = no - is_travelling = no #Can be removed once the can_be_picked is fixed to re-evaluate - } - add_to_list = characters - } - every_courtier_away = { - limit = { - is_adult = no - is_physically_able = yes - NOT = { - any_relation = { - type = guardian - this = scope:recipient - } - } - is_hostage = no - is_travelling = no #Can be removed once the can_be_picked is fixed to re-evaluate - } - add_to_list = characters - } - } - } - - populate_recipient_list = { - scope:recipient = { - if = { - limit = { - is_adult = yes - num_of_relation_ward < 2 - } - add_to_list = characters - } - every_courtier = { - limit = { - is_adult = yes - num_of_relation_ward < 2 - NOR = { - is_theocratic_lessee = yes - is_consort_of = scope:recipient - } - } - add_to_list = characters - } - } - } - - greeting = positive - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = scope:secondary_actor - NOT = { scope:recipient = scope:secondary_recipient } - } - desc = EDUCATE_ACTOR_REQUEST - } - triggered_desc = { - trigger = { - scope:actor = scope:secondary_actor - scope:recipient = scope:secondary_recipient - } - desc = EDUCATE_ACTOR_PERSONALLY_REQUEST - } - triggered_desc = { - trigger = { - NOT = { scope:recipient = scope:secondary_recipient } - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_ACTOR_CHILD_REQUEST - } - triggered_desc = { - trigger = { - scope:recipient = scope:secondary_recipient - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_ACTOR_CHILD_PERSONALLY_REQUEST - } - } - } - - prompt = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:actor = scope:recipient - } - desc = EDUCATE_SELECT_YOUR_GUARDIAN - } - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { - is_adult = no - } - } - desc = EDUCATE_SELECT_THEIR_GUARDIAN - } - desc = EDUCATE_SELECT_YOUR_WARD - } - } - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - is_playable_character = yes - is_alive = yes - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_adult = yes - NOR = { - is_theocratic_lessee = yes - is_consort_of = scope:recipient - } - } - } - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - scope:recipient = { - is_courtier_of = scope:actor - } - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = character_to_guard_exists - subject = scope:recipient - scope:recipient = { - OR = { - any_courtier = { - is_adult = yes - num_of_relation_ward < 2 - } - AND = { - is_adult = yes - num_of_relation_ward < 2 - } - } - } - } - custom_description = { - text = character_to_educate_exists - object = scope:actor - scope:actor = { - OR = { - any_courtier = { - is_adult = no - is_physically_able = yes - NOR = { - any_relation = { - type = guardian - this = scope:recipient - } - any_relation = { - type = guardian - OR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - AND = { - is_adult = no - is_physically_able = yes - NOR = { - any_relation = { - type = guardian - this = scope:recipient - } - any_relation = { - type = guardian - OR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - } - } - } - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - scope:recipient = { - is_imprisoned = no - is_busy_in_events_localised = yes - } - trigger_if = { # Ward - limit = { - exists = scope:secondary_actor - } - scope:secondary_actor = { - is_imprisoned = no - is_busy_in_events_localised = yes - custom_tooltip = { - text = ward_travelling_tt - NOT = { exists = var:ward_travelling_to_guardian } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:ward_waiting_for_guardian } - var:ward_waiting_for_guardian = { - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = scope:secondary_actor.var:ward_waiting_for_guardian } - } - } - } - } - } - trigger_if = { # Guardian - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_imprisoned = no - is_busy_in_events_localised = yes - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = var:guardian_travelling_to_ward } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:guardian_waiting_for_ward } - var:guardian_waiting_for_ward = { - custom_tooltip = { - text = ward_travelling_tt - NOT = { exists = scope:secondary_recipient.var:guardian_waiting_for_ward } - } - } - } - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - can_be_picked = { - is_available = yes #Potential Issue: This is only evaluated if both secondary recipient/actor are unselected TIT-49632 - # Under offer - custom_tooltip = { - text = ward_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_ward_flag } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_guardian_flag } - } - # Already offered - custom_tooltip = { - text = ward_already_offered_awaiting_travel_tt - NOR = { - exists = var:ward_travelling_to_guardian - exists = var:ward_waiting_for_guardian - } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_travel_tt - NOR = { - exists = var:guardian_travelling_to_ward - AND = { - exists = var:guardian_waiting_for_ward - num_of_relation_ward >= 1 - } - } - } - # Hostage - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - } - - on_send = { - scope:secondary_recipient = { - add_character_flag = { - flag = under_offer_as_guardian_flag - months = 1 - } - } - scope:secondary_actor = { - add_character_flag = { - flag = under_offer_as_ward_flag - months = 1 - } - } - } - - on_accept = { - scope:secondary_actor = { save_scope_as = ward } - scope:actor = { save_scope_as = ward_liege } - scope:recipient = { save_scope_as = guardian_liege } - scope:secondary_recipient = { save_scope_as = guardian } - - if = { - limit = { scope:ward.age >= 15 } - custom_description_no_bullet = { - text = ward_nearing_adulthood_tt - object = scope:ward - } - } - - # Handle existing guardian - scope:ward = { - if = { - limit = { - any_relation = { - type = guardian - NOT = { this = scope:guardian } - } - } - random_relation = { - type = guardian - save_scope_as = old_guardian - - #Letter event to guardian - if = { - limit = { - NOT = { scope:old_guardian = scope:actor } - } - scope:old_guardian = { trigger_event = char_interaction.0090 } - } - } - scope:actor = { - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:old_guardian - right_icon = scope:ward - remove_guardian_effect = { - GUARDIAN = scope:old_guardian - WARD = scope:ward - RETURN_WARD = yes - HIDE_OPINION = no - } - - #Was education promised in interaction or in vassal.2001? Then you get an opinion penalty - if = { - limit = { - exists = scope:ward.var:character_requested_as_educator - scope:ward.var:character_requested_as_educator = scope:old_guardian - exists = scope:ward.var:character_making_education_request - scope:ward.var:character_making_education_request = { - is_alive = yes - OR = { - this = scope:old_guardian - scope:old_guardian = { is_courtier_of = prev } - } - NOT = { this = scope:actor } - } - } - scope:ward.var:character_making_education_request = { - add_opinion = { - modifier = insult_opinion - target = scope:actor - opinion = -15 - } - } - } - } - } - } - } - - show_as_tooltip = { - scope:guardian = { set_relation_ward = scope:ward } - educate_child_interaction_effect = yes - } - - scope:actor = { - if = { - limit = { - NOT = { this = scope:recipient } - scope:ward = { - #num_of_relation_guardian = 0 - NOR = { - any_relation = { - type = guardian - this = scope:recipient - } - any_relation = { - type = guardian - OR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - scope:guardian = { num_of_relation_ward < 2 } - } - trigger_event = char_interaction.0080 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_ward_offerage.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - - on_decline = { - # If we're a clan this interaction affects unity. Conditioned to the opinion modifier to avoid exploit - if = { - limit = { - NOT = { - scope:actor = { - has_opinion_modifier = { - modifier = declined_ward_opinion - target = scope:recipient - } - } - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_ward_decline.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - - - scope:actor = { - trigger_event = char_interaction.0081 - add_opinion = { - modifier = declined_ward_opinion - target = scope:recipient - } - } - - scope:secondary_recipient = { remove_character_flag = under_offer_as_guardian_flag } - scope:secondary_actor = { remove_character_flag = under_offer_as_ward_flag } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:education_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = 0 - - # AI should always accept children the Player has jurisdiction over - # You can always send your own child away - modifier = { - add = 200 - scope:secondary_actor = { - is_adult = no - is_child_of = scope:actor - } - desc = AI_YOUR_OWN_CHILD - } - # Including you - modifier = { - add = 200 - scope:secondary_actor = scope:actor - desc = AI_EDUCATE_YOU - } - # You can always send your courtier's child away - modifier = { - add = 200 - scope:secondary_actor = { - is_adult = no - NOT = { is_child_of = scope:actor } - is_courtier_of = scope:actor - } - #But only if you are of interest to the educator. To educate the courtier of a count is of no interest to a foreign emperor. - scope:secondary_recipient ?= { - OR = { - is_of_major_or_minor_interest_trigger = { CHARACTER = scope:actor } - is_of_major_or_minor_interest_trigger = { CHARACTER = scope:secondary_actor } - highest_held_title_tier <= scope:actor.highest_held_title_tier - } - } - desc = AI_YOUR_COURTIER_CHILD - } - - #Weak hook: extra points - modifier = { - scope:education_hook = yes - add = 100 - scope:actor = { NOT = { has_strong_hook = scope:recipient } } - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { # Respect the liege - add = 50 - scope:recipient = { target_is_liege_or_above = scope:actor } - desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE - } - - #If the child is theirs they are more likely to accept - modifier = { - add = 100 - scope:secondary_actor = { - is_child_of = scope:recipient - is_adult = no - } - desc = AI_MY_CHILD - } - - #If the child is the educator's child they should be more likely to accept - modifier = { - add = 100 - exists = scope:secondary_recipient - scope:secondary_actor = { - is_adult = no - is_child_of = scope:secondary_recipient - } - desc = AI_MY_CHILD - } - - #Their opinion of you matters! - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 0.5 - desc = AI_OPINION_REASON - } - - #Make less likely that they accept if they are of another culture - modifier = { - add = -10 - trigger = { - scope:secondary_actor = { - culture = { has_same_culture_heritage = scope:recipient.culture } - NOT = { has_same_culture_as = scope:recipient } - } - } - desc = AI_NOT_CULTURE - } - - modifier = { - add = -20 - trigger = { - scope:secondary_actor = { - NOT = { culture = { has_same_culture_heritage = scope:recipient.culture } } - } - } - desc = AI_NOT_CULTURE - } - - #Less likely if they don't like other religion - modifier = { - add = { - value = -5 - if = { - limit = { - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_hostile_level - } - } - } - subtract = 5 - } - if = { - limit = { - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_evil_level - } - } - } - subtract = 10 - } - } - trigger = { - NOT = { scope:recipient.faith = scope:actor.faith } - } - desc = AI_RELIGION - } - - #The better the educator is at a skill, the less likely they are to accept - compare_modifier = { - trigger = { - scope:secondary_recipient ?= { - diplomacy >= 10 - } - NOT = { scope:actor = scope:secondary_actor } - } - target = scope:secondary_recipient - value = diplomacy - step = 4 - multiplier = -0.5 - offset = -2 - max = 0 - desc = AI_GUARDIAN_SKILL_DIPLOMACY - } - compare_modifier = { - trigger = { - scope:secondary_recipient ?= { - martial >= 10 - } - NOT = { scope:actor = scope:secondary_actor } - } - target = scope:secondary_recipient - value = martial - step = 4 - multiplier = -0.5 - offset = -2 - max = 0 - desc = AI_GUARDIAN_SKILL_MARTIAL - } - compare_modifier = { - trigger = { - scope:secondary_recipient ?= { - stewardship >= 10 - } - NOT = { scope:actor = scope:secondary_actor } - } - target = scope:secondary_recipient - value = stewardship - step = 4 - multiplier = -0.5 - offset = -2 - max = 0 - desc = AI_GUARDIAN_SKILL_STEWARDSHIP - } - compare_modifier = { - trigger = { - scope:secondary_recipient ?= { - intrigue >= 10 - } - NOT = { scope:actor = scope:secondary_actor } - } - target = scope:secondary_recipient - value = intrigue - step = 4 - multiplier = -0.5 - offset = -2 - max = 0 - desc = AI_GUARDIAN_SKILL_INTRIGUE - } - compare_modifier = { - trigger = { - scope:secondary_recipient ?= { - learning >= 10 - } - NOT = { scope:actor = scope:secondary_actor } - } - target = scope:secondary_recipient - value = learning - step = 4 - multiplier = -0.5 - offset = -2 - max = 0 - desc = AI_GUARDIAN_SKILL_LEARNING - } - - #The better you as an educator is at a skill, the more likely they are to accept - compare_modifier = { - trigger = { - AND = { - scope:actor = scope:secondary_actor - scope:actor = { - diplomacy >= 11 - } - } - } - target = scope:actor - value = diplomacy - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_DIPLOMACY - } - compare_modifier = { - trigger = { - AND = { - scope:actor = scope:secondary_actor - scope:actor = { - martial >= 11 - } - } - } - target = scope:actor - value = martial - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_MARTIAL - } - compare_modifier = { - trigger = { - AND = { - scope:actor = scope:secondary_actor - scope:actor = { - stewardship >= 11 - } - } - } - target = scope:actor - value = stewardship - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_STEWARDSHIP - } - compare_modifier = { - trigger = { - AND = { - scope:actor = scope:secondary_actor - scope:actor = { - intrigue >= 11 - } - } - } - target = scope:actor - value = intrigue - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_INTRIGUE - } - compare_modifier = { - trigger = { - AND = { - scope:actor = scope:secondary_actor - scope:actor = { - learning >= 11 - } - } - } - target = scope:actor - value = learning - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_LEARNING - } - - #More/Less likely based on difference in rank between actor and recipient - modifier = { - add = 20 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 5 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -20 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -5 - } - } - desc = AI_RANK_DIFF - } - - modifier = { - add = intimidated_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { - add = diarch_should_educate_liege_value - scope:actor.diarch ?= scope:recipient - desc = DIARCH_SHOULD_EDUCATE_LIEGE_TO_DIARCH - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.culture = scope:secondary_recipient.culture } - } - flag = convert_culture - localization = EDUCATE_CHILD_OPTION_CONVERT_CULTURE - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.faith = scope:secondary_recipient.faith } - } - flag = convert_faith - localization = EDUCATE_CHILD_OPTION_CONVERT_FAITH - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - OR = { - scope:recipient = { - any_realm_province = { - has_university_building_trigger = yes - } - } - scope:actor = { - this = scope:secondary_actor - any_realm_province = { - has_university_building_trigger = yes - } - } - } - } - is_valid = { - scope:actor.gold >= scope:actor.monumental_gold_value - } - starts_enabled = { always = yes } - flag = send_to_university - localization = EDUCATION_UNIVERSITY - } - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = education_hook - localization = EDUCATION_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_targets = { - ai_recipients = vassals - ai_recipients = head_of_faith - } - - ai_frequency = 12 - - ai_potential = { - primary_title.tier >= tier_duchy - any_courtier = { - is_physically_able_adult = no - is_child_of = root - is_imprisoned = no - NOT = { has_trait = incapable } - } - any_vassal = { - primary_title.tier >= tier_county - opinion = { - target = root - value <= -25 - } - } - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to use wards to improve opinion with their vassals - add = 500 - scope:actor = { - NOT = { - has_trait = paranoid - } - } - scope:recipient = scope:secondary_recipient - scope:recipient = { - is_ruler = yes - primary_title.tier >= tier_county - OR = { - AND = { - is_vassal_of = scope:actor - opinion = { - target = scope:actor - value <= -25 - } - } - AND = { - is_powerful_vassal_of = scope:actor - opinion = { - target = scope:actor - value <= 25 - } - } - } - } - } - - modifier = { # Zealous AI's want their head of faith to educate their children - add = 600 - scope:actor = { - OR = { - has_trait = zealous - ai_zeal >= 90 - } - } - scope:recipient = scope:secondary_recipient - scope:recipient = scope:actor.faith.religious_head - scope:recipient = { - is_ai = yes # Don't spam players - num_of_relation_ward < 2 - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { # Don't send your primary heir away - factor = 0 - scope:secondary_actor = { - is_primary_heir_of = scope:actor - } - } - - modifier = { # The AI shouldn't change culture/faith of their children - factor = 0 - OR = { - scope:convert_culture = yes - scope:convert_faith = yes - } - } - - modifier = { # Don't care about random children - factor = 0 - scope:secondary_actor = { - NOR = { - is_close_family_of = scope:actor - this = scope:actor - } - } - } - - modifier = { # Don't send children that are in need of a culture conversion - factor = 0 - NOT = { - scope:secondary_actor.culture = scope:actor.culture - } - } - - modifier = { # Don't send away yourself - factor = 0 - scope:secondary_actor = scope:actor - } - - modifier = { # Rivals are not welcome - factor = 0 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { # Don't backtrack - factor = 0 - scope:secondary_actor = { - any_relation = { - type = guardian - OR = { - is_vassal_of = scope:actor - this = scope:actor.faith.religious_head - } - } - } - } - - modifier = { # Don't override players - factor = 0 - scope:secondary_actor = { - has_character_flag = player_educated - } - } - - modifier = { # Don't spend gold on this unless very, very rich - factor = 0 - scope:send_to_university = yes - - scope:actor.short_term_gold <= scope:actor.monumental_gold_value - } - } -} - -# Request guardianship -offer_guardianship_interaction = { - category = interaction_category_friendly - icon = child - interface_priority = 32 - - desc = offer_guardianship_interaction_desc - - # secondary_actor = guardian - # actor = guardian.liege - can be same as guardian - # secondary_recipient = ward - # recipient = ward.liege - can be same as ward - - redirect = { - if = { - limit = { - scope:actor = { is_ai = no } - } - scope:recipient = { - if = { - limit = { - exists = employer - NOT = { employer = scope:recipient } - } - if = { - limit = { - is_adult = no - #num_of_relation_guardian = 0 - } - save_scope_as = secondary_recipient - } - employer = { - save_scope_as = recipient - } - } - else_if = { - limit = { - is_ruler = yes - is_adult = no - } - save_scope_as = recipient - save_scope_as = secondary_recipient - } - } - } - } - - populate_actor_list = { - scope:actor = { - if = { - limit = { - is_adult = yes - num_of_relation_ward < 2 - bp2_valid_for_standard_interactions_trigger = yes - is_hostage = no - } - add_to_list = characters - } - every_courtier = { - limit = { - is_adult = yes - num_of_relation_ward < 2 - NOR = { - is_theocratic_lessee = yes - is_consort_of = scope:actor - } - bp2_valid_for_standard_interactions_trigger = yes - is_hostage = no - } - add_to_list = characters - } - } - } - - populate_recipient_list = { - scope:recipient = { - if = { - limit = { - is_available_child_allow_travel = yes - bp2_valid_for_standard_interactions_trigger = yes - } - } - add_to_list = characters - every_courtier = { - limit = { - is_available_child_allow_travel = yes - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - is_close_family_of = scope:recipient - } - bp2_valid_for_standard_interactions_trigger = yes - } - add_to_list = characters - } - } - } - - greeting = positive - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - # I assign, myself, to educate not you, but your... - scope:actor = scope:secondary_actor - NOT = { scope:recipient = scope:secondary_recipient } - } - desc = EDUCATE_RECIPIENT_CHILD_PERSONALLY_REQUEST - } - triggered_desc = { - trigger = { - # I assign, myself, to educate you, yourself! - scope:actor = scope:secondary_actor - scope:recipient = scope:secondary_recipient - } - desc = EDUCATE_RECIPIENT_PERSONALLY_REQUEST - } - triggered_desc = { - trigger = { - # I assign, not myself, to educate not you, but your... - NOT = { scope:recipient = scope:secondary_recipient } - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_RECIPIENT_CHILD_REQUEST - } - triggered_desc = { - trigger = { - # I assign, not myself, to educate you, yourself - scope:recipient = scope:secondary_recipient - NOT = { scope:actor = scope:secondary_actor } - } - desc = EDUCATE_RECIPIENT_REQUEST - } - } - } - - prompt = { - first_valid = { - triggered_desc = { - trigger = { - NOT = { exists = scope:secondary_actor } - } - desc = EDUCATE_SELECT_YOUR_GUARDIAN - } - triggered_desc = { - trigger = { - NOT = { exists = scope:secondary_recipient } - } - desc = EDUCATE_SELECT_THEIR_WARD - } - desc = EDUCATE_SELECT_YOUR_WARD_OR_GUARDIAN - } - } - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - is_playable_character = yes - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { is_adult = no } - } - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - scope:recipient = { - is_courtier_of = scope:actor - } - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = character_to_educate_exists - object = scope:recipient - scope:recipient = { - OR = { - any_courtier = { - is_adult = no - #num_of_relation_guardian = 0 - } - AND = { - is_adult = no - #num_of_relation_guardian = 0 - } - } - } - } - custom_description = { - text = character_to_guard_exists - subject = scope:recipient - scope:recipient = { - OR = { - any_courtier = { - is_adult = yes - num_of_relation_ward < 2 - } - AND = { - is_adult = yes - num_of_relation_ward < 2 - } - } - } - } - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - scope:recipient = { - is_imprisoned = no - is_busy_in_events_localised = yes - bp2_valid_for_standard_interactions_trigger = yes - } - trigger_if = { # Ward - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_available = yes - is_imprisoned = no - is_busy_in_events_localised = yes - bp2_valid_for_standard_interactions_trigger = yes - custom_tooltip = { - text = ward_travelling_tt - NOT = { exists = var:ward_travelling_to_guardian } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:ward_waiting_for_guardian } - var:ward_waiting_for_guardian = { - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = scope:secondary_recipient.var:ward_waiting_for_guardian } - } - } - } - } - } - trigger_if = { # Guardian - limit = { - exists = scope:secondary_actor - } - scope:secondary_actor = { - is_imprisoned = no - is_busy_in_events_localised = yes - custom_tooltip = { - text = guardian_travelling_tt - NOT = { exists = var:guardian_travelling_to_ward } - } - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - - # Structured this way for tooltip purposes - trigger_if = { - limit = { exists = var:guardian_waiting_for_ward } - var:guardian_waiting_for_ward = { - custom_tooltip = { - text = ward_travelling_tt - NOT = { exists = scope:secondary_actor.var:guardian_waiting_for_ward } - } - } - } - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - can_be_picked = { #Potential Issue: This is only evaluated if both secondary recipient/actor are unselected TIT-49632 - is_available = yes - # Under offer - custom_tooltip = { - text = ward_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_ward_flag } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_guardian_flag } - } - # Already offered - custom_tooltip = { - text = ward_already_offered_awaiting_travel_tt - NOR = { - exists = var:ward_travelling_to_guardian - exists = var:ward_waiting_for_guardian - } - } - custom_tooltip = { - text = guardian_already_offered_awaiting_travel_tt - NOR = { - exists = var:guardian_travelling_to_ward - AND = { - exists = var:guardian_waiting_for_ward - num_of_relation_ward >= 1 - } - } - } - # Hostage - custom_tooltip = { - text = hostage_travelling_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - } - - on_send = { - scope:secondary_recipient = { - add_character_flag = { - flag = under_offer_as_ward_flag - months = 1 - } - } - scope:secondary_actor = { - add_character_flag = { - flag = under_offer_as_guardian_flag - months = 1 - } - } - } - - on_accept = { - scope:secondary_actor = { save_scope_as = guardian } - scope:actor = { save_scope_as = guardian_liege } - scope:secondary_recipient = { save_scope_as = ward } - scope:recipient = { save_scope_as = ward_liege } - - if = { - limit = { scope:ward.age >= 15 } - custom_description_no_bullet = { - text = ward_nearing_adulthood_tt - object = scope:ward - } - } - - show_as_tooltip = { - scope:guardian = { set_relation_ward = scope:ward } - educate_child_interaction_effect = yes - } - - if = { - limit = { - scope:actor = { - is_ai = no - } - } - scope:ward = { - add_character_flag = player_educated - } - } - - if = { #To block against too many wards - limit = { - scope:guardian = { num_of_relation_ward < 2 } - } - - save_scope_value_as = { #To give right tooltip in char_interaction.0080 - name = offer_guardianship_interaction - value = yes - } - - scope:actor = { - if = { - limit = { NOT = { this = scope:recipient } } - trigger_event = char_interaction.0080 - } - } - } - else = { #Notifications about the relationship being blocked because actor tried to set it with too many - scope:recipient = { - trigger_event = char_interaction.0078 - } - scope:actor = { - trigger_event = char_interaction.0079 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_guardianship.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - - on_decline = { - if = { - limit = { - NOT = { - scope:actor = { - has_opinion_modifier = { - target = scope:recipient - modifier = declined_guardianship_opinion - } - } - } - } - # If we're a clan this interaction affects unity; conditioned by the opinion modifer to avoid exploit - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_guardianship_decline.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - - scope:actor = { - trigger_event = char_interaction.0081 - add_opinion = { - modifier = declined_guardianship_opinion - target = scope:recipient - opinion = -15 - } - } - scope:recipient = { - if = { - limit = { - is_ai = no - } - add_character_flag = { flag = ai_guardianship_ask_cooldown years = 5 } - } - } - - scope:secondary_recipient = { remove_character_flag = under_offer_as_ward_flag } - scope:secondary_actor = { remove_character_flag = under_offer_as_guardian_flag } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:education_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = -50 - - #Weak hook: extra points - modifier = { - scope:education_hook = yes - add = 200 - scope:actor = { NOT = { has_strong_hook = scope:recipient } } - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { # Respect the liege - add = 100 - scope:recipient = { target_is_liege_or_above = scope:actor } - desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE - } - - #If the child is the educator's child they should be more likely to accept - modifier = { - add = 100 - scope:secondary_recipient ?= { - is_adult = no - is_child_of = scope:secondary_actor - } - desc = AI_GUARDIANS_OWN_CHILD - } - - modifier = { - add = -75 - scope:secondary_actor.court_owner = { - NOR = { - this = scope:recipient.court_owner - this = scope:secondary_recipient.court_owner - } - } - NOT = { scope:secondary_recipient ?= { is_child_of = scope:actor } } - NOT = { scope:secondary_recipient ?= { is_child_of = scope:recipient } } - NOT = { scope:recipient = { target_is_liege_or_above = scope:actor } } - desc = AI_FOREIGN_COURT - } - - modifier = { - add = -100 - scope:secondary_actor.court_owner = { - NOR = { - this = scope:recipient.court_owner - this = scope:secondary_recipient.court_owner - } - } - NOT = { scope:secondary_recipient ?= { is_child_of = scope:actor } } - scope:secondary_recipient ?= { is_child_of = scope:recipient } - NOR = { - scope:recipient = { target_is_liege_or_above = scope:actor } - scope:recipient = { target_is_vassal_or_below = scope:actor} - } - desc = AI_CHILD_TO_FOREIGN_COURT - } - - modifier = { - add = -50 - scope:secondary_actor.court_owner = { - NOR = { - this = scope:recipient.court_owner - this = scope:secondary_recipient.court_owner - } - } - NOT = { scope:secondary_recipient ?= { is_child_of = scope:actor } } - scope:secondary_recipient ?= { is_child_of = scope:recipient } - scope:recipient = { target_is_vassal_or_below = scope:actor} - desc = AI_CHILD_TO_VASSAL_COURT - } - - modifier = { - add = 25 - scope:secondary_recipient ?= { - is_close_or_extended_family_of = scope:secondary_actor - } - - desc = AI_CHILD_EDUCATED_BY_FAMILY - } - - modifier = { - add = -100 - scope:convert_culture = yes - scope:secondary_recipient.culture = scope:recipient.culture - desc = AI_CONVERT_CULTURE - } - - modifier = { - add = -100 - scope:convert_faith = yes - scope:secondary_recipient.faith = scope:recipient.faith - desc = AI_CONVERT_FAITH - } - - modifier = { - add = 50 - scope:recipient = { has_relation_friend = scope:actor } - desc = AI_YOUR_FRIEND - } - - modifier = { - add = -50 - scope:recipient = { has_relation_rival = scope:actor } - desc = AI_YOUR_RIVAL - } - - # If the guardian is the child's secret father, the mother is more likely to send them - modifier = { - add = 100 - exists = scope:secondary_recipient.mother - scope:recipient = scope:secondary_recipient.mother - OR = { - scope:actor = { - any_known_secret = { - OR = { - secret_type = secret_unmarried_illegitimate_child - secret_type = secret_disputed_heritage - } - exists = secret_target - secret_target = scope:secondary_recipient - } - } - scope:secondary_recipient = { has_trait = disputed_heritage } - AND = { - scope:secondary_recipient = { has_trait = bastard } - NOT = { exists = scope:secondary_recipient.father } - } - } - exists = scope:secondary_recipient.real_father - scope:secondary_recipient.real_father = scope:secondary_actor - desc = AI_YOU_ARE_THE_FATHER - } - - #Their opinion of you matters! - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 1 - desc = AI_OPINION_REASON - } - - #Make less likely that they accept you as educator if they are of another culture - modifier = { - add = -5 - trigger = { - scope:actor = { - this = scope:secondary_actor - culture = { has_same_culture_heritage = scope:recipient.culture } - NOT = { has_same_culture_as = scope:recipient } - } - } - desc = AI_NOT_CULTURE - } - - modifier = { - add = -10 - trigger = { - scope:actor = { - this = scope:secondary_actor - NOT = { culture = { has_same_culture_heritage = scope:recipient.culture } } - } - } - desc = AI_NOT_CULTURE - } - - #Less likely if they don't like other religion - modifier = { - add = { - value = -5 - if = { - limit = { - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_hostile_level - } - } - } - subtract = 5 - } - if = { - limit = { - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_evil_level - } - } - } - subtract = 10 - } - } - trigger = { - NOT = { scope:recipient.faith = scope:actor.faith } - } - desc = AI_RELIGION - } - - #The better the educator is at a skill, the more likely they are to accept - compare_modifier = { - trigger = { - scope:secondary_actor = { - diplomacy >= 11 - } - } - target = scope:secondary_actor - value = diplomacy - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_DIPLOMACY - } - compare_modifier = { - trigger = { - scope:secondary_actor = { - martial >= 11 - } - } - target = scope:secondary_actor - value = martial - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_MARTIAL - } - compare_modifier = { - trigger = { - scope:secondary_actor = { - stewardship >= 11 - } - } - target = scope:secondary_actor - value = stewardship - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_STEWARDSHIP - } - compare_modifier = { - trigger = { - scope:secondary_actor = { - intrigue >= 11 - } - } - target = scope:secondary_actor - value = intrigue - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_INTRIGUE - } - compare_modifier = { - trigger = { - scope:secondary_actor = { - learning >= 11 - } - } - target = scope:secondary_actor - value = learning - step = 4 - multiplier = 0.75 - offset = -5 - min = 0 - desc = AI_GUARDIAN_SKILL_LEARNING - } - - # FP3 Beacon of Learning tradition (it makes a higher education trait more likely) - modifier = { - add = 15 - scope:secondary_actor = { - culture = { has_cultural_parameter = guardian_education_better_outcomes } - } - desc = tradition_fp3_beacon_of_learning_name - } - - #More/Less likely based on difference in rank between actor and recipient - modifier = { - add = 30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 70 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 5 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -70 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -5 - } - } - desc = AI_RANK_DIFF - } - - #More likely to accept if you have an alliance - modifier = { - add = 40 - scope:actor = { is_allied_to = scope:recipient } - desc = AI_HAS_ALLIANCE - } - - modifier = { - add = 50 - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = 100 - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = 10 - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = 20 - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { - add = 20 - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - target_is_vassal_or_below = scope:recipient - court_grandeur_current_level >= 7 - court_grandeur_current_level < 9 - } - desc = GRANDEUR_REASON - } - modifier = { - add = 40 - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - target_is_vassal_or_below = scope:recipient - court_grandeur_current_level >= 9 - } - desc = GRANDEUR_REASON - } - - modifier = { - add = -200 - exists = scope:secondary_recipient.house - scope:recipient = { - exists = house.house_head - house = scope:secondary_recipient.house - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - exists = var:house_feud_house - var:house_feud_house = scope:actor.house - } - } - } - desc = AI_GUARDIAN_FEUD_HESITANCE - } - - modifier = { - add = diarch_should_educate_liege_value - scope:recipient.diarch ?= scope:actor - desc = DIARCH_SHOULD_EDUCATE_DIARCH_TO_LIEGE - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.culture = scope:secondary_recipient.culture } - } - flag = convert_culture - localization = EDUCATE_CHILD_OPTION_CONVERT_CULTURE - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_CULTURE_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - NOT = { scope:secondary_actor.faith = scope:secondary_recipient.faith } - } - flag = convert_faith - localization = EDUCATE_CHILD_OPTION_CONVERT_FAITH - current_description = { - first_valid = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_RECIPIENT - } - triggered_desc = { - trigger = { - exists = scope:secondary_recipient - scope:secondary_recipient = { is_adult = no } - } - desc = EDUCATE_CHILD_OPTION_CONVERT_FAITH_TT_TO_ACTOR - } - } - } - } - send_option = { - is_shown = { - scope:recipient = { - any_realm_province = { - has_university_building_trigger = yes - } - } - } - is_valid = { - scope:actor.gold >= scope:actor.medium_gold_value - } - starts_enabled = { always = yes } - flag = send_to_university - localization = EDUCATION_UNIVERSITY - } - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = education_hook - localization = EDUCATION_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_targets = { - ai_recipients = vassals - } - - ai_frequency = 48 - - ai_potential = { - is_imprisoned = no - NOT = { has_trait = incapable } - } - - ai_will_do = { - base = 0 - - modifier = { # Liege's should want to culture/faith convert their vassal's children - add = 100 - - scope:convert_culture = yes - scope:convert_faith = yes - - scope:secondary_actor = { - culture = scope:actor.culture - faith = scope:actor.faith - } - scope:secondary_recipient = { - OR = { - is_heir_of = scope:recipient - scope:secondary_recipient = scope:recipient - } - } - } - - modifier = { # Liege's should want to culture/faith convert their vassal's children - add = 95 - - scope:convert_culture = yes - - scope:secondary_actor = { - culture = scope:actor.culture - } - scope:secondary_recipient = { - OR = { - is_heir_of = scope:recipient - scope:secondary_recipient = scope:recipient - } - } - } - - modifier = { # Liege's should want to culture/faith convert their vassal's children - add = 90 - - scope:convert_faith = yes - - scope:secondary_actor = { - faith = scope:actor.faith - } - scope:secondary_recipient = { - OR = { - is_heir_of = scope:recipient - scope:secondary_recipient = scope:recipient - } - } - } - - modifier = { # Players shouldn't be spammed - add = -90 - - scope:secondary_recipient = { - is_ai = no - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { # Players shouldn't be spammed - factor = 0 - - scope:recipient = { - has_character_flag = ai_guardianship_ask_cooldown - } - } - - modifier = { # Don't ask to convert faith if that's already a thing - factor = 0 - - scope:convert_faith = yes - NOT = { scope:convert_culture = yes } - - scope:secondary_recipient = { - any_relation = { - faith = scope:actor.faith - type = guardian - has_relation_flag = { - target = scope:secondary_recipient - relation = ward - flag = convert_faith - } - } - } - } - - modifier = { # Don't ask to convert culture if that's already a thing - factor = 0 - - scope:convert_culture = yes - NOT = { scope:convert_faith = yes } - - scope:secondary_recipient = { - any_relation = { - culture = scope:actor.culture - type = guardian - has_relation_flag = { - target = scope:secondary_recipient - relation = ward - flag = convert_culture - } - } - } - } - - modifier = { # Don't ask to convert culture and faith if that's already a thing - factor = 0 - - scope:convert_culture = yes - scope:convert_faith = yes - - scope:secondary_recipient = { - any_relation = { - culture = scope:actor.culture - faith = scope:actor.faith - type = guardian - has_relation_flag = { - target = scope:secondary_recipient - relation = ward - flag = convert_culture - } - } - } - } - - modifier = { # Don't spend gold on this unless very, very rich - factor = 0 - scope:send_to_university = yes - - scope:actor.short_term_gold <= scope:actor.monumental_gold_value - } - } -} - -remove_guardian_interaction = { - category = interaction_category_friendly - desc = remove_guardian_interaction_desc - icon = child - - force_notification = yes - greeting = positive - notification_text = REMOVE_GUARDIAN_INTERACTION - use_diplomatic_range = no - - is_shown = { - scope:actor = { is_ruler = yes } - OR = { - scope:recipient = { - any_relation = { - type = ward - remove_guardian_interaction_visible_ward_trigger = yes - } - } - scope:recipient = { - remove_guardian_interaction_visible_ward_trigger = yes - any_relation = { type = guardian always = yes } - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - #RECIPIENT = GUARDIAN - trigger_if = { - limit = { scope:recipient = { is_adult = yes } } - - #Diplo availability/not imprisoned - #is_busy_in_events_localised = yes - - any_relation = { - type = ward - - remove_guardian_interaction_visible_ward_trigger = yes - remove_guardian_interaction_available_ward_trigger = yes - } - - - #War blocker - NOR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - #RECIPIENT = WARD - trigger_else = { - - #Diplo availability - remove_guardian_interaction_visible_ward_trigger = yes - remove_guardian_interaction_available_ward_trigger = yes - - any_relation = { - type = guardian - #is_busy_in_events_localised = yes - } - - #War blocker - any_relation = { - type = guardian - NOR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - - #Misc - #scope:actor = { is_imprisoned = no } - } - - auto_accept = yes - - ai_min_reply_days = 1 - ai_max_reply_days = 3 - - on_accept = { - #Save guardian scope - if = { - limit = { scope:recipient = { is_adult = yes } } - scope:recipient = { - save_scope_as = guardian - } - } - else = { - scope:recipient = { every_relation = { type = guardian save_scope_as = guardian } } - } - - #Save ward(s) scope(s) - scope:guardian = { - #If the recipient is the ward, always pick them as ward - if = { - limit = { - NOT = { this = scope:recipient } - } - scope:recipient = { save_scope_as = ward } - } - #If recipient is the guardian, pick a random ward as ward 1 and if there is an additional one, set is as ward 2 - else = { - random_relation = { - type = ward - limit = { - remove_guardian_interaction_visible_ward_trigger = yes - remove_guardian_interaction_available_ward_trigger = yes - } - save_scope_as = ward - save_scope_as = secondary_recipient - } - if = { - limit = { - any_relation = { - type = ward - remove_guardian_interaction_visible_ward_trigger = yes - remove_guardian_interaction_available_ward_trigger = yes - NOR = { - this = scope:ward - scope:ward = scope:recipient #because if we target a specific child, no 2nd ward - } - } - } - random_relation = { - type = ward - limit = { - remove_guardian_interaction_visible_ward_trigger = yes - remove_guardian_interaction_available_ward_trigger = yes - NOR = { - this = scope:ward - this = scope:recipient - } - } - save_scope_as = ward_2 - } - } - } - } - - #Letter event to guardian - if = { - limit = { - NOT = { - scope:guardian = scope:actor - } - } - scope:guardian = { - trigger_event = char_interaction.0090 - } - } - - #Handling the wards and feedback to actor - scope:actor = { - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:guardian - right_icon = scope:ward - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward - RETURN_WARD = yes - HIDE_OPINION = no - } - if = { - limit = { exists = scope:ward_2 } - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward_2 - RETURN_WARD = yes - HIDE_OPINION = no - } - } - - #Was education promised in interaction or in vassal.2001? Then you get an opinion penalty - if = { - limit = { - exists = scope:ward.var:character_requested_as_educator - scope:ward.var:character_requested_as_educator = scope:guardian - exists = scope:ward.var:character_making_education_request - scope:ward.var:character_making_education_request = { - is_alive = yes - OR = { - this = scope:guardian - scope:guardian = { is_courtier_of = prev } - } - NOT = { this = scope:actor } - } - } - scope:ward.var:character_making_education_request = { - add_opinion = { - modifier = insult_opinion - target = scope:actor - opinion = -15 - } - } - } - } - } - - #Remove guardian opinion from guardian/guardian's liege - #Ward - if = { - limit = { scope:actor = scope:ward.liege } #Only show if actor is ward's liege - guardian_remove_opinion_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward - WARD_LIEGE = scope:ward.liege - } - } - else = { - hidden_effect = { #Else hide it - guardian_remove_opinion_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward - WARD_LIEGE = scope:ward.liege - } - } - } - #Ward_2 - if = { - limit = { - exists = scope:ward_2 - scope:actor = scope:ward_2.liege #Only show guardian opinion removed if actor is ward_2's liege - NOT = { scope:actor = scope:ward.liege } #also don't show it twice if both wards' are actor's - } - guardian_remove_opinion_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward_2 - WARD_LIEGE = scope:ward_2.liege - } - } - else_if = { - limit = { - exists = scope:ward_2 - } - hidden_effect = { #Else hide it - guardian_remove_opinion_effect = { - GUARDIAN = scope:guardian - WARD = scope:ward_2 - WARD_LIEGE = scope:ward_2.liege - } - } - } - - #Make the liege of the ward(s) insulted if actor is not the liege of the ward - if = { - limit = { - NOR = { - scope:ward.liege = scope:actor - scope:ward = scope:actor - } - } - scope:ward.liege = { - add_opinion = { - modifier = insulted_opinion - target = scope:actor - opinion = -15 - } - } - } - if = { - limit = { - exists = scope:ward_2 - NOR = { - scope:ward_2.liege = scope:actor - scope:ward_2.liege = scope:ward.liege - scope:ward_2 = scope:actor - } - } - scope:ward_2.liege = { - add_opinion = { - modifier = insulted_opinion - target = scope:actor - opinion = -15 - } - } - } - - if = { - limit = { - scope:actor = { - NOT = { - has_character_flag = guardian_unity_block - } - } - } - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_removed_guardian.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - scope:actor = { - if = { - limit = { - is_ai = no - government_has_flag = government_is_clan - } - } - add_character_flag = { - flag = guardian_unity_block - months = 3 - } - } - } -} - -make_child_learn_language_interaction = { - category = interaction_category_friendly - common_interaction = yes - icon = icon_scheme_learn_language - - send_name = study_language - - desc = make_child_learn_language_interaction_desc - - redirect = { - scope:actor = { - if = { - limit = { - scope:recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - save_scope_as = secondary_actor - } - else_if = { - limit = { - any_courtier = { - scope:recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - } - random_courtier = { - limit = { - scope:recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - save_scope_as = secondary_actor - } - } - else_if = { - limit = { - any_vassal = { - scope:recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - } - random_vassal = { - limit = { - scope:recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - save_scope_as = secondary_actor - } - } - } - scope:recipient = { - save_scope_as = secondary_recipient - - if = { - limit = { - exists = employer - NOT = { employer = scope:recipient } - } - - employer = { - save_scope_as = recipient - } - } - } - } - - populate_actor_list = { - scope:actor = { - if = { - limit = { - is_physically_able_adult = yes - exists = scope:secondary_recipient - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - add_to_list = characters - } - every_courtier = { - limit = { - is_physically_able_adult = yes - exists = scope:secondary_recipient - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - add_to_list = characters - } - every_vassal = { - limit = { - is_physically_able_adult = yes - exists = scope:secondary_recipient - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - add_to_list = characters - } - if = { - limit = { - NOT = { - exists = scope:secondary_recipient - } - } - every_courtier = { - limit = { - is_physically_able_adult = yes - } - add_to_list = characters - } - every_vassal = { - limit = { - is_physically_able_adult = yes - } - add_to_list = characters - } - } - } - } - - populate_recipient_list = { - scope:recipient = { - every_courtier = { - limit = { - is_adult = no - is_physically_able = yes - age >= 6 - is_close_or_extended_family_of = scope:actor - is_ai = yes - } - add_to_list = characters - } - } - } - - greeting = positive - notification_text = { - desc = MAKE_LEARN_LANGUAGE_REQUEST - } - - prompt = { - desc = SELECT_TARGET_LANGUAGE_SCHEME - } - - is_shown = { - has_ep1_court_positions_dlc_trigger = yes - scope:recipient = { - is_in_the_same_court_as = scope:actor - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_adult = no - is_ai = yes - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_imprisoned = no - NOT = { has_trait = incapable } - employs_court_position = court_tutor_court_position - } - trigger_if = { - limit = { - exists = scope:secondary_actor - } - scope:secondary_actor = { - is_imprisoned = no - NOT = { has_trait = incapable } - } - } - trigger_if = { - limit = { - exists = scope:secondary_recipient - } - scope:secondary_recipient = { - is_adult = no - is_physically_able = yes - age >= 6 - is_close_or_extended_family_of = scope:actor - custom_description = { - text = already_scheming_language - NOT = { - any_scheme = { - scheme_type = learn_language - } - } - } - } - custom_description = { - text = no_target_language - scope:actor = { - OR = { - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - any_courtier = { - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - any_vassal = { - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - } - } - } - } - trigger_if = { - limit = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - } - scope:secondary_actor = { - scope:secondary_recipient = { - can_start_scheme = { type = learn_language target_character = prev } - } - } - } - } - - can_be_picked = { - is_at_home = yes - } - - on_accept = { - scope:actor = { - send_interface_message = { - type = event_childhood_neutral - title = make_child_learn_language_interaction_notification - left_icon = scope:secondary_recipient - right_icon = scope:secondary_actor - scope:secondary_recipient = { - custom_tooltip = secondary_actors_language - begin_scheme_basic_effect = { - SCHEME_TYPE = learn_language - TARGET_TYPE = target_character - TARGET_SCOPE = scope:secondary_actor - } - if = { - limit = { - scope:actor = { - exists = court_position:court_tutor_court_position - court_position:court_tutor_court_position = { - aptitude:court_tutor_court_position = 1 - } - } - } - custom_tooltip = court_tutor_child_language_rank_1 - hidden_effect = { - random_scheme = { - limit = { - scheme_type = learn_language - } - add_scheme_modifier = { - type = court_tutor_child_language_rank_1_modifier - } - } - } - } - else_if = { - limit = { - scope:actor = { - exists = court_position:court_tutor_court_position - court_position:court_tutor_court_position = { - aptitude:court_tutor_court_position = 2 - } - } - } - custom_tooltip = court_tutor_child_language_rank_2 - hidden_effect = { - random_scheme = { - limit = { - scheme_type = learn_language - } - add_scheme_modifier = { - type = court_tutor_child_language_rank_2_modifier - } - } - } - } - else_if = { - limit = { - scope:actor = { - exists = court_position:court_tutor_court_position - court_position:court_tutor_court_position = { - aptitude:court_tutor_court_position = 3 - } - } - } - custom_tooltip = court_tutor_child_language_rank_3 - hidden_effect = { - random_scheme = { - limit = { - scheme_type = learn_language - } - add_scheme_modifier = { - type = court_tutor_child_language_rank_3_modifier - } - } - } - } - else_if = { - limit = { - scope:actor = { - exists = court_position:court_tutor_court_position - court_position:court_tutor_court_position = { - aptitude:court_tutor_court_position = 4 - } - } - } - custom_tooltip = court_tutor_child_language_rank_4 - hidden_effect = { - random_scheme = { - limit = { - scheme_type = learn_language - } - add_scheme_modifier = { - type = court_tutor_child_language_rank_4_modifier - } - } - } - } - else_if = { - limit = { - scope:actor = { - exists = court_position:court_tutor_court_position - court_position:court_tutor_court_position = { - aptitude:court_tutor_court_position = 5 - } - } - } - custom_tooltip = court_tutor_child_language_rank_5 - hidden_effect = { - random_scheme = { - limit = { - scheme_type = learn_language - } - add_scheme_modifier = { - type = court_tutor_child_language_rank_5_modifier - } - } - } - } - } - } - } - } - - auto_accept = yes - - ai_accept = { - base = 100 - } - - ai_frequency = 24 - - ai_targets = { - ai_recipients = children - } - - ai_potential = { - has_ep1_court_positions_dlc_trigger = yes - employs_court_position = court_tutor_court_position - primary_title.tier >= tier_county - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to prepare their children for ruling their vassals - add = 100 - any_vassal = { - primary_title.tier >= tier_county - knows_language_of_culture = scope:secondary_actor.culture - } - } - } -} diff --git a/N3OW/common/character_interactions/00_faction_interactions.txt b/N3OW/common/character_interactions/00_faction_interactions.txt deleted file mode 100644 index c820f159..00000000 --- a/N3OW/common/character_interactions/00_faction_interactions.txt +++ /dev/null @@ -1,162 +0,0 @@ -#Interactions relating to factions - -force_join_faction_interaction = { - category = interaction_category_vassal - special_interaction = force_join_faction - desc = force_join_faction_interaction_desc - icon = scroll_scales - - force_notification = yes - greeting = positive - notification_text = FORCE_JOIN_FACTION_NOTIFICATION - - is_shown = { - scope:actor = { - is_a_faction_member = yes - liege = scope:recipient.liege - NOR = { - joined_faction = scope:recipient.joined_faction - scope:recipient = scope:actor.liege - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - trigger_if = { - limit = { government_has_flag = government_is_administrative } - custom_tooltip = { - text = force_join_faction_admin_requirement_desc - OR = { - has_strong_usable_hook = scope:recipient - AND = { - influence >= { value = scope:actor.monumental_influence_value multiply = 2 } - scope:recipient ?= { - NOT = { opinion = { target = scope:actor value <= -50 } } - NOT = { opinion = { target = scope:recipient.liege value >= 50 } } - } - } - } - } - } - trigger_else = { - has_strong_usable_hook = scope:recipient # Make sure to update the NFaction::POTENTIAL_FORCE_JOIN_HOOK_TYPE define if you change the type of hook used here - } - NOT = { is_at_war_with = scope:recipient } - } - scope:recipient = { - trigger_if = { - limit = { is_a_faction_member = yes } - joined_faction.faction_leader = { is_ai = yes } - } - is_forced_into_faction = no - can_join_faction = scope:actor.joined_faction - } - custom_description = { - text = barons_joining_independence_factions - NAND = { - scope:actor.joined_faction = { faction_is_type = independence_faction } - scope:recipient.highest_held_title_tier = tier_barony - } - } - } - - on_accept = { - scope:actor = { - send_interface_message = { - type = event_faction_neutral - title = force_join_faction_interaction_notification - right_icon = scope:recipient - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - else_if = { - limit = { scope:influence = yes } - change_influence = { - value = monumental_influence_value - multiply = -2 - } - } - scope:recipient = { - join_faction_forced = { - faction = scope:actor.joined_faction - forced_by = scope:actor - years = 10 - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_forced_faction_joinage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - #Use hook - send_option = { - is_valid = { - exists = scope:recipient - scope:actor ?= { has_strong_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - - #Spend influence - send_option = { - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:actor.top_liege ?= { government_has_flag = government_is_administrative } - } - is_valid = { # Convincing someone with influence is not available if they hate you or love the liege - scope:actor ?= { influence >= { value = scope:actor.monumental_influence_value multiply = 2 } } - scope:recipient ?= { - NOT = { opinion = { target = scope:actor value <= -50 } } - NOT = { opinion = { target = scope:recipient.liege value >= 50 } } - } - } - flag = influence - localization = SPEND_INFLUENCE - } - - send_options_exclusive = yes - - # AI - ai_targets = { - ai_recipients = peer_vassals - } - ai_frequency = 12 - - ai_potential = { - is_independent_ruler = no - is_a_faction_member = yes - - # Only force others to join a faction if you joined by your own free will - is_forced_into_faction = no - } - - ai_will_do = { - base = 100 - - # Don't steal players' factions' members - modifier = { - factor = 0 - scope:recipient = { - is_a_faction_member = yes - joined_faction = { - faction_leader = { - is_ai = no - } - } - } - } - } -} diff --git a/N3OW/common/character_interactions/00_fp3_interactions.txt b/N3OW/common/character_interactions/00_fp3_interactions.txt deleted file mode 100644 index 0daf352a..00000000 --- a/N3OW/common/character_interactions/00_fp3_interactions.txt +++ /dev/null @@ -1,2262 +0,0 @@ -# As a Supporter, demand that a Muslim ruler recognize your authority -# Success makes the Strengthen the Caliphate struggle decision easier to take -fp3_demand_submission_interaction = { - icon = demand_submission - category = interaction_category_religion - popup_on_receive = yes - pause_on_receive = yes - can_send_despite_rejection = yes - ai_maybe = yes - desc = fp3_demand_submission_interaction_desc - - greeting = positive - notification_text = DEMAND_SUBMISSION_NOTIFICATION - - is_shown = { - NOT = { scope:actor = scope:recipient } - struggle:persian_struggle ?= { has_struggle_phase_parameter = demand_submission_interaction_unlocked } - scope:actor = { has_title = title:d_sunni } - scope:recipient = { - faith.religious_head ?= scope:actor - has_trait = fp3_struggle_supporter - any_character_struggle = { this = struggle:persian_struggle } - } - } - - cooldown_against_recipient = { years = 10 } - - ai_min_reply_days = 2 - ai_max_reply_days = 7 - - ai_accept = { - base = 0 - # This is more flavorful than "base acceptance" - modifier = { - desc = DEMAND_SUBMISSION_I_AM_HEAD_OF_FAITH - add = 50 - } - ## Piety - # How pious are you? - modifier = { - # (Stolen shamelessly from piety_level_affects_vassalage_acceptance) - add = { - value = { - value = -1 - add = scope:actor.piety_level - } - multiply = 10 - } - desc = I_AM_PIOUS - # Only matters if they aren't cynical - NOT = { scope:recipient = { has_trait = cynical } } - } - # Are they cynical/zealous? - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_CYNICAL - add = -30 - scope:recipient = { - has_trait = cynical - } - } - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_ZEALOUS - add = 20 - scope:recipient = { has_trait = zealous } - } - # Are you giving them extra piety? - modifier = { - add = 30 - desc = STRUGGLE_MARRIAGE_ACCEPTANCE_USING_PIETY_AS_CURRENCY - scope:piety_cost_reduction ?= yes - } - ## Opinion - # Do they like you? - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - desc = AI_OPINION_REASON - } - ## Personality - # Are they ambitious? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_AMBITIOUS - add = -30 - scope:recipient = { has_trait = ambitious } - } - # Are they content? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_CONTENT - add = 10 - scope:recipient = { has_trait = content } - } - # Are they stubborn? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_STUBBORN - add = -10 - scope:recipient = { has_trait = stubborn } - } - # Are they arrogant? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_ARROGANT - add = -10 - scope:recipient = { has_trait = arrogant } - } - # Are they humble? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_HUMBLE - add = 10 - scope:recipient = { has_trait = humble } - } - # Are they trusting? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_TRUSTING - add = 10 - scope:recipient = { has_trait = trusting } - } - # Are they paranoid? - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_PARANOID - add = -20 - scope:recipient = { has_trait = paranoid } - } - # Are they loyal? - # Independent rulers should rarely have this trait, but if your predecessor installed a puppet and died, then this makes it easier to demand submission from the puppet - modifier = { - desc = DEMAND_SUBMISSION_RECIPIENT_IS_LOYAL - add = 20 - scope:recipient = { has_trait = loyal } - } - ## Realm - # Are you stronger/weaker than them? - modifier = { - add = { - value = 1 - subtract = { - value = scope:recipient.max_military_strength # For foreign diplomacy, consider recipients max - divide = { value = scope:actor.current_military_strength min = 1 } - } - multiply = 10 - } - desc = offer_vassalization_interaction_aibehavior_power_tt - } - # Reign duration - modifier = { - add = { - value = scope:actor.primary_title.title_held_years - subtract = 21 - max = 20 - } - desc = DEMAND_SUBMISSION_SHORT_REIGN - } - ## Dread - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - } - - on_accept = { - scope:actor = { - if = { - limit = { scope:piety_cost_reduction ?= yes } - add_piety = massive_piety_loss - } - add_hook = { - target = scope:recipient - type = caliphal_submission_hook - } - if = { - limit = { has_variable = last_explicit_defied_caliph } - remove_variable = last_explicit_defied_caliph - } - trigger_event = fp3_misc_decisions.0010 # Letter event informing player of success - } - scope:recipient = { - if = { - limit = { scope:piety_cost_reduction ?= yes } - add_piety = massive_piety_gain - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_forment_revolt.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:recipient = { - custom_tooltip = DEMAND_SUBMISSION_INSTALL_LOYALIST_WARNING - add_piety = medium_piety_loss - remove_trait = fp3_struggle_supporter - add_trait_force_tooltip = fp3_struggle_detractor - # This is for the install loyalist CB discount - set_variable = { - name = last_explicit_defied_caliph - value = scope:actor - years = 30 - } - } - scope:actor = { - trigger_event = fp3_misc_decisions.0011 # Letter event informing player of failure - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_forment_revolt.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Use piety to increase acceptance - send_option = { - flag = piety_cost_reduction - localization = TRADE_PIETY_FOR_BETTER_AI_ACCEPTANCE - } - send_options_exclusive = no - - ai_potential = { - is_physically_able = yes - } - - ai_targets = { - ai_recipients = neighboring_rulers - } - - ai_frequency = 12 - - # Very similar to ai_accept, but ignores effects that are < 10 in value for brevity's sake - ai_will_do = { - # The caliph generally _wants_ to be chucking these out all over the place. - ## Basically, the more rulers submit to their authority, the better. - ### Subs over drubs, as it were. - base = 100 - # Will demand rulers who were installed via the puppet CB - modifier = { - add = 200 - scope:recipient = { - has_trait = loyal - scope:actor = { has_hook = prev } - } - } - modifier = { - add = { - value = { - value = -1 - add = scope:actor.piety_level - } - multiply = 10 - } - NOT = { scope:recipient = { has_trait = cynical } } - } - modifier = { - add = -30 - scope:recipient = { - has_trait = cynical - } - } - modifier = { - add = 20 - scope:recipient = { has_trait = zealous } - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - } - modifier = { - add = -30 - scope:recipient = { has_trait = ambitious } - } - modifier = { - add = { - value = 1 - subtract = { - value = scope:recipient.max_military_strength - divide = { value = scope:actor.current_military_strength min = 1 } - } - multiply = 10 - } - } - # Reign duration - modifier = { - add = { - value = scope:actor.primary_title.title_held_years - subtract = 21 - max = 20 - } - } - ## Dread - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - } -} - -################################### -# Request Turkic invasion (can_request_incursion_interaction) -# By Hugo Cortell -################################### -fp3_request_turkic_invasion_interaction = { - interface_priority = 100 - common_interaction = yes - category = interaction_category_hostile - cooldown_against_recipient = { years = 2 } - - icon = request_mercenary - desc = fp3_request_turkic_invasion_interaction_desc - - is_shown = { - scope:actor = { - has_trait = fp3_struggle_detractor - any_character_struggle = { is_struggle_type = persian_struggle } - } - scope:recipient = { - is_playable_character = yes - OR = { - any_character_struggle = { is_struggle_type = persian_struggle } - title:d_sunni.holder ?= this - } - is_independent_ruler = yes - is_ai = yes - } - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - } - - populate_recipient_list = { - scope:actor.top_liege = { - every_independent_ruler = { - limit = { - is_ai = yes - is_landed = yes - is_physically_able = yes - has_raised_armies = no - in_diplomatic_range = scope:actor - OR = { - government_has_flag = government_is_clan - government_has_flag = government_is_tribal - } - culture = { has_cultural_pillar = heritage_turkic } - highest_held_title_tier >= tier_county - NOR = { - is_at_war_with = scope:actor - is_at_war_with = scope:recipient - is_allied_to = scope:recipient - has_truce = scope:recipient - this = scope:actor - this = scope:recipient - } - } - add_to_list = characters - } - } - } - - send_options_exclusive = no - - send_option = { - flag = war_support - localization = fp3_request_turkic_invasion_interaction_option_join_war - current_description = fp3_request_turkic_invasion_interaction_option_join_war_desc - is_shown = { exists = scope:secondary_recipient } - is_valid = { - scope:actor = { - NOR = { - is_at_war_with = scope:recipient - is_allied_to = scope:recipient - has_truce = scope:recipient - } - } - } - } - - send_option = { - flag = financial_support - localization = fp3_request_turkic_invasion_interaction_option_more_gold - current_description = fp3_request_turkic_invasion_interaction_option_more_gold_desc - is_shown = { exists = scope:secondary_recipient } - is_valid = { - custom_description = { - text = fp3_please_dont_give_me_negative_gold - fp3_request_invasion_troop_value_estimate > 0 - } - } - } - - cost = { - gold = { - value = { - value = scope:secondary_recipient.max_military_strength - divide = 20 - round = yes - } - add = { - if = { - limit = { scope:financial_support = yes } - add = fp3_request_invasion_troop_value_estimate - } - } - if = { - limit = { - scope:recipient = { has_title = title:d_sunni } - struggle:persian_struggle = { has_struggle_phase_parameter = cheaper_incursions_vs_caliph } - } - divide = 2 - } - } - } - - on_accept = { - if = { - limit = { exists = scope:secondary_recipient } - - scope:recipient = { - if = { - limit = { - any_realm_county = { - NOT = { this = scope:recipient.capital_county } - any_neighboring_county = { holder.top_liege = scope:secondary_recipient.top_liege } - any_county_province = { geographical_region = world_persian_empire } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - } - random_realm_county = { - limit = { - NOT = { this = scope:recipient.capital_county } - any_neighboring_county = { holder.top_liege = scope:secondary_recipient.top_liege } - any_county_province = { geographical_region = world_persian_empire } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - save_scope_as = invasion_target_title - } - } - else_if = { - limit = { - any_realm_county = { - NOT = { this = scope:recipient.capital_county } - any_neighboring_county = { - any_county_province = { geographical_region = world_persian_empire } - NOT = { - holder.top_liege = prev.holder.top_liege - } - } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - } - random_realm_county = { - limit = { - NOT = { this = scope:recipient.capital_county } - any_neighboring_county = { - any_county_province = { geographical_region = world_persian_empire } - NOT = { - holder.top_liege = prev.holder.top_liege - } - } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - save_scope_as = invasion_target_title - } - } - else_if = { - limit = { - any_realm_county = { - NOT = { this = scope:recipient.capital_county } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - } - random_realm_county = { - limit = { - NOT = { this = scope:recipient.capital_county } - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - save_scope_as = invasion_target_title - } - } - else_if = { - limit = { - any_realm_county = { - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - } - random_realm_county = { - limit = { - NOR = { - holder = scope:actor - holder = { is_vassal_or_below_of = scope:actor } - } - } - save_scope_as = invasion_target_title - } - } - else = { - random_realm_county = { save_scope_as = invasion_target_title } - } - - scope:invasion_target_title.duchy = { save_scope_as = text_title } - - hidden_effect = { # Not worth cluttering the UI with - add_opinion = { - modifier = fp3_incited_conflict - target = scope:actor - } - add_opinion = { - modifier = declared_war - target = scope:secondary_recipient - } - } - } - - scope:secondary_recipient = { - add_gold = { - value = { - value = scope:secondary_recipient.max_military_strength - divide = 20 - round = yes - } - add = { - if = { - limit = { scope:financial_support = yes } - add = fp3_request_invasion_troop_value_estimate - } - } - if = { - limit = { - scope:recipient = { has_title = title:d_sunni } - struggle:persian_struggle = { has_struggle_phase_parameter = cheaper_incursions_vs_caliph } - } - divide = 2 - } - } - start_war = { - casus_belli = fp3_turkic_invasion_cb - target = scope:recipient - target_title = scope:invasion_target_title.duchy - } - custom_tooltip = fp3_turkic_invasion_cb_result_tt - if = { - limit = { - scope:financial_support = yes - } - trigger_event = fp3_misc_decisions.0006 - if = { - limit = { - has_mpo_dlc_trigger = yes - } - show_as_tooltip = { - spawn_army = { - men_at_arms = { - type = horse_archers - stacks = fp3_request_invasion_troop_value_bonus_troops - } - men_at_arms = { - type = steppe_raiders - stacks = fp3_request_invasion_troop_value_bonus_troops - } - men_at_arms = { - type = light_horsemen - stacks = fp3_request_invasion_troop_value_bonus_troops - } - men_at_arms = { - type = nomadic_riders - stacks = fp3_request_invasion_troop_value_bonus_levy_nomads - } - location = capital_province - uses_supply = yes - inheritable = no - name = turkic_tribal_event_troops - } - } - } - else = { - show_as_tooltip = { - spawn_army = { - men_at_arms = { - type = horse_archers - stacks = fp3_request_invasion_troop_value_bonus_troops - } - men_at_arms = { - type = light_horsemen - stacks = fp3_request_invasion_troop_value_bonus_troops - } - levies = fp3_request_invasion_troop_value_bonus_levy_troops - location = capital_province - uses_supply = yes - inheritable = no - name = turkic_tribal_event_troops - } - } - } - } - if = { - limit = { scope:war_support = yes } - custom_tooltip = fp3_request_turkic_invasion_interaction_option_join_war_outcome_tooltip - trigger_event = fp3_misc_decisions.0005 - } - } - - scope:actor = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = fp3_request_turkic_invasion_interaction_accept_notification.t - left_icon = scope:secondary_recipient - right_icon = scope:recipient - - show_as_tooltip = { - custom_tooltip = fp3_request_turkic_invasion_interaction_accept_notification.desc - } - } - } - } - - scope:recipient = { - add_character_flag = { - flag = incursion_ai_pacing - years = 5 - } - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_bad - title = fp3_request_turkic_invasion_interaction_accept_notification.t - left_icon = scope:secondary_recipient - right_icon = scope:actor - - show_as_tooltip = { - custom_tooltip = fp3_request_turkic_invasion_interaction_accept_target_notification.desc - } - } - } - } - } - } - - use_diplomatic_range = yes - - ai_accept = { - base = 0 - - # Relationships: actor -> recipient / We avoid more relationship checks for balance reasons (and because important decisions tend to care little for relationships) - modifier = { # Rivalry modifier. - desc = offer_vassalization_interaction_aibehavior_rival_tt_2 - trigger = { - scope:secondary_recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - add = -10 - } - modifier = { # Nemesis modifier. - desc = offer_vassalization_interaction_aibehavior_nemesis_tt_2 - trigger = { - scope:secondary_recipient = { - has_relation_nemesis = scope:actor - } - } - add = -30 - } - modifier = { # Same Dynasty modifier. - desc = offer_vassalization_interaction_aibehavior_dynasty_tt_2 - trigger = { - scope:secondary_recipient = { - dynasty = scope:actor.dynasty - } - } - add = 10 - } - - # Compare Opinion modifier - opinion_modifier = { - who = scope:secondary_recipient - opinion_target = scope:actor - multiplier = 0.25 - } - - # Pledged to help in invasion - modifier = { - add = { - value = scope:actor.max_military_strength - divide = 70 - round = yes - } - desc = HAS_YOUR_SUPPORT_REASON - scope:war_support = yes - } - - # Relative power (taken from PT interaction) - modifier = { # A lot less levies than scope:secondary_recipient - add = -100 - scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_weaker_value - desc = fp3_RTI_AI_RECIPIENT_IS_MUCH_WEAKER - } - modifier = { # Few less levies than scope:secondary_recipient - add = -75 - scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_weaker_value - scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - desc = fp3_RTI_AI_RECIPIENT_IS_SOMEWHAT_WEAKER - } - modifier = { # Roughly equal levies with scope:secondary_recipient - add = 10 - scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value - desc = fp3_RTI_AI_RECIPIENT_IS_ROUGHLY_EQUAL - } - modifier = { # More levies than scope:secondary_recipient - add = 50 - scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value - scope:secondary_recipient.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_stronger_value - desc = fp3_RTI_AI_RECIPIENT_IS_SOMEWHAT_STRONGER - } - modifier = { # Many more levies than scope:secondary_recipient - add = 75 - scope:secondary_recipient.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_stronger_value - desc = fp3_RTI_AI_RECIPIENT_IS_MUCH_STRONGER - } - - # AI who are in debt will take whatever windfalls they can. - modifier = { - add = { - value = scope:secondary_recipient.debt_level - add = 1 # Our first level is 0, so we add one to always get a positive number. - multiply = 10 - } - debt_level >= 0 - desc = PT_AI_IS_IN_DEBT - } - - # Pacifist AI don't like raiding - modifier = { - add = -25 - scope:secondary_recipient.faith = { has_doctrine_parameter = pacifist_opinion_active } - desc = PT_AI_IS_PACIFIST_FAITH_2 - } - modifier = { - add = -25 - scope:secondary_recipient.culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith } - desc = PT_AI_IS_PACIFIST_CULTURE_2 - } - - # Offered proportional gold - modifier = { - add = 85 - scope:financial_support = yes - desc = GOLD_REASON - } - - # AI value mod - ai_value_modifier = { - ai_greed = 0.5 - ai_boldness = 0.25 - min = 0 - max = 25 - } - } - #auto_accept = { - # scope:recipient = { is_ai = yes } - #} - can_send_despite_rejection = no - ai_frequency = 24 - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = liege - } - ai_potential = { - has_trait = fp3_struggle_detractor - is_at_war = no - NOT = { ai_has_economical_boom_personality = yes } - ai_greed <= 25 - highest_held_title_tier > tier_barony - NOT = { culture = { has_cultural_pillar = heritage_turkic } } - } - ai_will_do = { - base = 0 - - modifier = { - add = 50 - scope:recipient = { - has_trait = fp3_struggle_supporter - scope:recipient.max_military_strength >= scope:actor.max_military_strength - } - } - - modifier = { - add = 50 - title:d_sunni.holder ?= scope:recipient - } - - modifier = { - add = 100 - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { - factor = 0.1 - scope:actor.liege ?= scope:recipient - } - - modifier = { - factor = 0 - scope:recipient = { - has_character_flag = incursion_ai_pacing - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_at_war = yes - is_ai = no - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - is_liege_or_above_of = scope:actor - } - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - opinion = { - target = scope:actor - value >= 45 - } - } - } - } - } -} - -################################### -# Challenge House Head -# By Hugo Cortell -# Reworked by Joe Parkin -################################### -fp3_challenge_house_head_interaction = { - icon = house_unity_sword - category = interaction_category_hostile - common_interaction = no - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - use_diplomatic_range = no - - interface_priority = 107 - - desc = fp3_challenge_house_head_interaction_desc - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { scope:diplomacy = yes } - desc = fp3_challenge_house_head_interaction_notification_diplomacy - } - desc = fp3_challenge_house_head_interaction_notification - } - } - - greeting = positive - - ai_maybe = yes - - cooldown_against_recipient = { years = 10 } - - is_shown = { - has_fp3_dlc_trigger = yes - scope:actor = { - NOT = { this = scope:recipient } - government_has_flag = government_is_clan - } - scope:actor.house ?= { - house_head = scope:recipient - OR = { - has_house_unity_parameter = unity_can_challenge_house_head - scope:actor = { - any_character_struggle = { has_struggle_phase_parameter = unlocks_challenge_house_head_for_clans } - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_at_war = no - is_available_adult = yes - } - scope:recipient = { - is_at_war = no - is_available_adult = yes - # Stop challenges from barons and counts against kings - custom_tooltip = { - text = fp3_challenge_house_head_interaction_tier_tt - tier_difference = { - target = scope:actor - value <= 1 - } - } - # Give some respite after a recent challenge - custom_tooltip = { - text = fp3_challenge_house_head_interaction_recent_tt - NOT = { has_character_flag = fp3_challenge_house_head_recent_flag } - } - } - } - - auto_accept = { - trigger_if = { - limit = { - scope:recipient = { is_ruler = no } - } - scope:recipient = { is_ruler = no } - } - trigger_else_if = { - limit = { scope:hook = yes } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - trigger_else_if = { - limit = { - scope:actor = { is_heir_of = scope:recipient } - } - custom_tooltip = { - text = fp3_challenge_house_head_interaction_heir_bonus_desc - scope:actor = { is_heir_of = scope:recipient } - } - } - trigger_else = { always = no } - } - - can_send = { - scope:actor = { - # Do not allow house heads who accepted a challenge to ping pong back and forth - custom_tooltip = { - text = fp3_challenge_house_head_interaction_accepted_tt - NOT = { has_character_flag = accepted_house_head_challenge_flag } - } - } - scope:recipient = { - # Do not allow multiple challenges at the same time - custom_tooltip = { - text = fp3_challenge_house_head_interaction_ongoing_tt - NOT = { has_character_flag = ongoing_house_head_challenge_flag } - } - } - } - - on_send = { - scope:recipient = { - add_character_flag = { # stop multiple challenges at same time - flag = ongoing_house_head_challenge_flag - months = 1 - } - add_character_flag = { # stop AI constantly challenging players - flag = ai_cooldown_house_head_challenge_flag - years = 5 - } - } - } - - on_accept = { - scope:recipient = { save_scope_as = house_head } - if = { - limit = { - scope:recipient = { - is_ruler = no - } - } - scope:actor.house = { set_house_head = scope:actor } - } - else = { - scope:actor = { - save_scope_as = house_challenger - if = { # Hook consumption - limit = { scope:hook = yes } - use_hook = scope:house_head - } - if = { - limit = { scope:diplomacy = yes } - custom_tooltip = fp3_challenge_house_head_interaction_tooltip_actor.diplomacy - trigger_event = fp3_misc_decisions.0026 - scope:house_head = { custom_tooltip = fp3_challenge_house_head_interaction_tooltip_recipient.diplomacy } - house = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:house_challenger - TARGET = scope:house_head - VALUE = minor_unity_loss - DESC = clan_unity_challenged_to_duel.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - } - else = { - if = { - limit = { scope:lethal = no } - custom_tooltip = fp3_challenge_house_head_interaction_tooltip_actor.a - scope:house_head = { custom_tooltip = fp3_challenge_house_head_interaction_tooltip_recipient.b } - house = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:house_challenger - TARGET = scope:house_head - VALUE = minor_unity_loss - DESC = clan_unity_challenged_to_duel.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - } - else = { - custom_tooltip = fp3_challenge_house_head_interaction_tooltip_actor.a.lethal - scope:house_head = { custom_tooltip = fp3_challenge_house_head_interaction_tooltip_recipient.b.lethal } - house = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:house_challenger - TARGET = scope:house_head - VALUE = major_unity_loss - DESC = clan_unity_challenged_to_duel.desc - REVERSE_NON_HOUSE_TARGET = yes - } - } - } - trigger_event = fp3_misc_decisions.0022 - } - } - if = { - limit = { scope:diplomacy = no } - if = { - limit = { scope:lethal = no } - custom_tooltip = fp3_challenge_house_head_interaction_duel_tooltip_warning - } - else = { custom_tooltip = fp3_challenge_house_head_interaction_duel_tooltip_warning_lethal } - } - } - } - - on_decline = { # Get letter of rejection, to further escalate the situation if the player wills it - scope:actor = { trigger_event = fp3_misc_decisions.0025 } - scope:recipient = { - add_prestige = major_prestige_loss - remove_character_flag = ongoing_house_head_challenge_flag - } - } - - send_option = { - flag = diplomacy - localization = CHALLENGE_HOUSE_HEAD_DIPLOMACY_DUEL - is_valid = { - custom_tooltip = { - text = CHALLENGE_HOUSE_HEAD_LETHAL_DUEL_INVALID_TT - NOT = { scope:lethal = yes } - } - } - } - send_option = { - flag = lethal - localization = CHALLENGE_HOUSE_HEAD_LETHAL_DUEL - is_valid = { - scope:actor = { has_relation_rival = scope:recipient } - custom_tooltip = { - text = CHALLENGE_HOUSE_HEAD_LETHAL_DUEL_INVALID_TT - NOT = { scope:diplomacy = yes } - } - } - } - send_option = { - flag = hook - localization = GENERIC_SPEND_A_HOOK - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - } - should_use_extra_icon = { scope:actor = { has_usable_hook = scope:recipient } } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no - - # AI - - ai_accept = { - base = 25 - modifier = { - add = -50 - scope:lethal = yes - desc = AI_AVOID_LETHAL_DUEL - } - modifier = { - add = 15 - scope:recipient = { has_trait = ambitious } - desc = INTERACTION_AMBITIOUS - } - modifier = { - add = 25 - scope:recipient = { has_trait = brave } - desc = INTERACTION_BRAVE - } - modifier = { - add = { - value = -25 - if = { - limit = { scope:lethal = yes } - multiply = 2 - } - } - scope:recipient = { has_trait = craven } - desc = INTERACTION_CRAVEN - } - modifier = { - scope:recipient.ai_greed != 0 - add = { # Greedy people won't risk a position of power, even if their prestige suffers - value = scope:recipient.ai_greed - multiply = -1 - max = 35 - min = -35 - } - desc = AI_VALUE_MODIFIER_GREED - } - modifier = { - scope:recipient.ai_honor != 0 - add = { - value = scope:recipient.ai_honor - max = 75 - min = -35 - } - desc = AI_VALUE_MODIFIER_HONOR - } - modifier = { - scope:recipient.ai_energy != 0 - add = { - value = scope:recipient.ai_energy - max = 10 - min = -10 - } - desc = AI_VALUE_MODIFIER_ENERGY - } - modifier = { - NOT = { scope:diplomacy = yes } - add = { - value = scope:recipient.prowess - subtract = scope:actor.prowess - multiply = 2 - } - desc = CTSC_RELATIVE_PROWESS - } - modifier = { - scope:lethal = yes - scope:recipient = { - OR = { - is_parent_of = scope:actor - is_child_of = scope:actor - } - NOT = { has_relation_rival = scope:actor } - } - desc = AI_AVOID_LETHAL_DUEL_WITH_FAMILY - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - } - - ai_frequency = 24 - - ai_target_quick_trigger = { - adult = yes - } - - ai_potential = { - NOR = { - has_trait = craven - has_trait = content - } - government_has_flag = government_is_clan - is_physically_able = yes - } - - ai_targets = { - ai_recipients = dynasty - ai_recipients = family - max = 10 - } - - ai_targets = { - ai_recipients = liege - ai_recipients = head_of_faith - ai_recipients = hooked_characters - ai_recipients = scripted_relations - } - - ai_targets = { - ai_recipients = peer_vassals - ai_recipients = vassals - ai_recipients = neighboring_rulers - max = 30 - } - - ai_will_do = { - base = 5 - # Base requirements for AI - modifier = { - add = -1000 - NOR = { - AND = { - is_independent_ruler = yes - highest_held_title_tier >= scope:recipient.highest_held_title_tier - } - is_powerful_vassal = yes - is_close_or_extended_family_of = scope:recipient - opinion = { - target = scope:recipient - value >= 25 - } - } - } - # Stop AI constantly challenging players - modifier = { - scope:recipient = { has_character_flag = ai_cooldown_house_head_challenge_flag } - add = -1000 - } - # Tiers - modifier = { - add = 10 - piety_level >= scope:recipient.piety_level - } - modifier = { - add = 10 - prestige_level >= scope:recipient.prestige_level - } - modifier = { - add = 10 - highest_held_title_tier >= scope:recipient.highest_held_title_tier - } - # Traits - modifier = { - add = 30 - has_trait = ambitious - } - modifier = { - add = 30 - has_trait = brave - } - modifier = { - add = -30 - has_trait = craven - } - # Dread - modifier = { - add = -25 - has_dread_level_towards = { - target = scope:recipient - level >= 1 - } - } - modifier = { - add = -25 - has_dread_level_towards = { - target = scope:recipient - level >= 2 - } - } - # Personality - modifier = { - ai_boldness > 0 - add = { - value = ai_boldness - divide = 2 - min = 1 - } - } - modifier = { - ai_greed >= 50 - add = { - value = ai_greed - divide = 2 - } - } - modifier = { - ai_sociability = 100 - add = 10 - } - } -} - - -################################### -# Change struggle allegiance -################################### -fp3_change_allegiance = { - interface_priority = 30 - category = interaction_category_diplomacy - common_interaction = yes - desc = { - first_valid = { - # Become a supporter. - triggered_desc = { - trigger = { - scope:actor = { has_trait = fp3_struggle_supporter } - } - desc = fp3_change_allegiance.desc.actor_is_supporter - } - # Become a detractor. - triggered_desc = { - trigger = { - scope:actor = { has_trait = fp3_struggle_detractor } - } - desc = fp3_change_allegiance.desc.actor_is_detractor - } - desc = fp3_change_allegiance.desc.fallback - } - } - icon = change_allegiance - - greeting = positive - - should_use_extra_icon = { scope:actor = { has_usable_hook = scope:recipient } } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_maybe = yes - - is_shown = { - has_fp3_dlc_trigger = yes - # There has to be a caliph around to sway on. - ## Arguably narratively not, but mechanically, everything will break if we don't. - exists = title:d_sunni.holder - NOT = { scope:recipient = scope:actor } - scope:actor = { - any_character_struggle = { is_struggle_type = persian_struggle } - OR = { - # Detractors are made from supporters. - AND = { - has_trait = fp3_struggle_detractor - scope:recipient = { has_trait = fp3_struggle_supporter } - } - # Supporters are made from detractors. - AND = { - has_trait = fp3_struggle_supporter - scope:recipient = { has_trait = fp3_struggle_detractor } - } - # Neutrals can be asked either way, should they exist. - AND = { - OR = { - has_trait = fp3_struggle_detractor - has_trait = fp3_struggle_supporter - } - scope:recipient = { - NOR = { - has_trait = fp3_struggle_detractor - has_trait = fp3_struggle_supporter - } - } - } - } - } - scope:recipient = { - any_character_struggle = { is_struggle_type = persian_struggle } - # You cannot ask the Caliph! - NOT = { this = title:d_sunni.holder } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - # We want to disable some stuff for supporters who can't be persuaded away from the caliph. - trigger_if = { - limit = { has_trait = fp3_struggle_supporter } - # Can't be allied to the caliph. - NOT = { is_allied_to = title:d_sunni.holder } - # Can't be strong hooked _by_ the caliph. - NOT = { - title:d_sunni.holder = { has_strong_hook = prev } - } - # Can't have only recently changed to become a supporter. - custom_tooltip = { - text = fp3_change_allegiance.tt.recently_voluntarily_became_supporter - OR = { - NOT = { has_variable = last_explicit_friday_prayer_caliph } - NOT = { var:last_explicit_friday_prayer_caliph = title:d_sunni.holder } - } - } - } - # Likewise, some circumstances can force them to stay as a detractor. - trigger_if = { - limit = { has_trait = fp3_struggle_detractor } - # Can't have only recently changed to become a detractor. - custom_tooltip = { - text = fp3_change_allegiance.tt.recently_voluntarily_became_detractor - OR = { - NOT = { has_variable = last_explicit_friday_prayer_caliph } - NOT = { var:last_explicit_friday_prayer_caliph = title:d_sunni.holder } - } - } - # Can't have been forced into becoming a detractor by the caliph overstepping. - custom_tooltip = { - text = fp3_change_allegiance.tt.recently_forced_to_detractor - OR = { - NOT = { has_variable = last_explicit_defied_caliph } - NOT = { var:last_explicit_defied_caliph = title:d_sunni.holder } - } - } - } - # Plus some general stuff. - is_at_war = no - # Can't have recently been convinced to change their minds. - custom_tooltip = { - text = fp3_change_allegiance.tt.recently_changed_mind - NOT = { has_character_flag = fp3_change_allegiance_recipient_cooldown } - } - custom_tooltip = { - text = fp3_change_allegiance.tt.recently_refused - NOT = { has_character_flag = fp3_change_allegiance_refused_cooldown } - } - # They must be an orthodox Sunni. - custom_tooltip = { - text = fp3_change_allegiance.tt.hof_is_d_sunni - faith.religious_head ?= title:d_sunni.holder - } - } - scope:actor = { is_available_adult = yes } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - ai_accept = { - base = 0 - - # Those who already have a stance are more set in their ways. - ## Detractors - modifier = { - add = -25 - scope:actor = { has_trait = fp3_struggle_supporter } - scope:recipient = { has_trait = fp3_struggle_detractor } - desc = INTERACTION_DETRACTOR - } - ## Supporters - modifier = { - add = -25 - scope:actor = { has_trait = fp3_struggle_detractor } - scope:recipient = { has_trait = fp3_struggle_supporter } - desc = INTERACTION_SUPPORTER - } - - # Opinions - ## Opinion of you - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = { - value = 1 - # Despawn this if you're not the caliph. - if = { - limit = { scope:actor = title:d_sunni.holder } - multiply = 0 - } - } - } - ## Opinion of the caliph - opinion_modifier = { - who = scope:recipient - opinion_target = title:d_sunni.holder - multiplier = { - value = 0.5 - # If you're the caliph, you can take the full amount. - if = { - limit = { scope:actor = title:d_sunni.holder } - add = 0.5 - } - } - } - # Traits. - ## Become supporter. - ### ++ Zealous. - modifier = { - add = 25 - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_ZEALOUS - scope:actor = { has_trait = fp3_struggle_supporter } - scope:recipient = { has_trait = zealous } - } - ## Become detractor. - ### -- Cynical. - modifier = { - add = 25 - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_CYNICAL - scope:actor = { has_trait = fp3_struggle_detractor } - scope:recipient = { has_trait = cynical } - } - ## Neutral. - ### ++ Fickle. - modifier = { - add = 25 - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_FICKLE - scope:recipient = { has_trait = fickle } - } - ### + Disloyal. - modifier = { - add = 15 - desc = HAS_LOYAL_TRAIT - scope:recipient = { has_trait = disloyal } - } - ### - Loyal. - modifier = { - add = 15 - desc = HAS_DISLOYAL_TRAIT - scope:recipient = { has_trait = loyal } - } - ### -- Stubborn. - modifier = { - add = 25 - desc = ASK_FOR_CONVERSION_RECIPIENT_IS_STUBBORN - scope:recipient = { has_trait = stubborn } - } - # Diplomacy - ## Scope:actor's for convincing - modifier = { - add = { - value = scope:actor.diplomacy - multiply = 5 - } - desc = INTERACTION_DIPLOMACY_ACTOR - } - ## Scope:recipient's for resisting - modifier = { - add = { - value = scope:recipient.diplomacy - multiply = -3 - } - desc = INTERACTION_DIPLOMACY_RECIPIENT - } - } - - cost = { - prestige = medium_prestige_value - } - - # Use hook - send_option = { - flag = hook - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - localization = GENERIC_SPEND_A_HOOK - } - - on_accept = { - # Use our hook if we have to. - if = { - limit = { always = scope:hook } - scope:actor = { - use_hook = scope:recipient - } - } - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_changed_alignment.desc - REVERSE_NON_HOUSE_TARGET = no - } - # Run the actual effects. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = recipient_joined_your_side_title - left_icon = scope:recipient - - scope:recipient = { - if = { - limit = { scope:actor = { has_trait = fp3_struggle_detractor } } - if = { - limit = { has_trait = fp3_struggle_supporter } - remove_trait = fp3_struggle_supporter - } - add_trait_force_tooltip = fp3_struggle_detractor - - # Catalyst - hidden_effect = { - if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_turn_supporter_into_detractor - } - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_turn_supporter_into_detractor - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_turn_supporter_into_detractor } - } - } - } - } - else = { - if = { - limit = { has_trait = fp3_struggle_detractor } - remove_trait = fp3_struggle_detractor - } - add_trait_force_tooltip = fp3_struggle_supporter - - # Catalyst - hidden_effect = { - if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_turn_detractor_into_supporter - } - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_turn_detractor_into_supporter - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_turn_detractor_into_supporter } - } - } - } - } - } - } - } - # Aaaaand flag scope:recipient as on cooldown for a while. - scope:recipient = { - set_variable = { - name = fp3_change_allegiance_recipient_cooldown - years = 20 - } - } - } - - on_decline = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_refused_alignment.desc - REVERSE_NON_HOUSE_TARGET = no - } - scope:actor = { - if = { - limit = { - scope:actor = { has_trait = fp3_struggle_detractor } - } - send_interface_toast = { - type = event_toast_effect_bad - title = recipient_refused_to_join_your_side_title - left_icon = scope:recipient - progress_towards_rival_effect = { - REASON = rival_rejected_switching_to_struggle_detractor - CHARACTER = scope:recipient - OPINION = default_rival_opinion - } - } - } - else = { - send_interface_toast = { - type = event_toast_effect_bad - title = recipient_refused_to_join_your_side_title - left_icon = scope:recipient - progress_towards_rival_effect = { - REASON = rival_rejected_switching_to_struggle_supporter - CHARACTER = scope:recipient - OPINION = default_rival_opinion - } - } - } - } - scope:recipient = { - set_variable = { - name = fp3_change_allegiance_refused_cooldown - years = 20 - } - } - } - ai_frequency = 120 - - ai_potential = { - primary_title.tier >= tier_duchy - OR = { - has_trait = fp3_struggle_detractor - has_trait = fp3_struggle_supporter - } - } - - ai_targets = { - ai_recipients = liege - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = vassals - ai_recipients = top_realm_domicile_owners - max = 10 - } - - ai_will_do = { - base = -50 # Let's limit it to specific character to avoid pure chaos - - ############### - ## BASE - ############### - - # AI Values - ## Detractors run off of lacking zeal - modifier = { - add = { - value = ai_zeal - multiply = -2 - } - has_trait = fp3_struggle_detractor - ai_zeal <= -1 - } - ## Supporters run off of turbo-charged zeal - modifier = { - add = { - value = ai_zeal - multiply = 2 - } - has_trait = fp3_struggle_supporter - ai_zeal >= 1 - } - - # The caliph wants to use this all the time. - modifier = { - has_title = title:d_sunni - add = 200 - } - - ############### - ## TRAITS - ############### - - # schemer - modifier = { - add = 15 - has_trait = schemer - } - - # theologian - modifier = { - add = 25 - has_trait = theologian - } - - # intrigue education - modifier = { - add = 15 - has_trait = education_intrigue - } - - # learning education - modifier = { - add = 25 - has_trait = education_learning - } - - ################ - ## RELATIONSHIP - ################ - - # more likely to do it against friend and lover - modifier = { - add = 50 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - # boost against liege for Ambitious - modifier = { - add = 50 - scope:actor = { - has_trait = ambitious - is_vassal_of = scope:recipient - } - } - - # never target your rivals - modifier = { - add = -1000 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - ################ - ## STRUGGLE - ################ - - modifier = { - add = 100 - OR = { - AND = { - scope:recipient = { has_trait = fp3_struggle_supporter } - scope:actor = { - has_trait = fp3_struggle_detractor - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_turn_supporter_into_detractor - } - } - } - AND = { - scope:recipient = { has_trait = fp3_struggle_detractor } - scope:actor = { - has_trait = fp3_struggle_supporter - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_turn_detractor_into_supporter - } - } - } - } - } - } -} - - -################################### -# Request honorary titles -################################### -fp3_request_honorary_titles_interaction = { # todo_cd_polish add different option to pick different titles - interface_priority = 30 - category = interaction_category_religion - common_interaction = yes - desc = fp3_request_honorary_titles_interaction_desc - icon = honorary_titles - - greeting = positive - - auto_accept = yes - - cooldown = { years = 10 } - - cost = { - piety = { - value = major_piety_value - if = { - limit = { # cheaper for the actual liege - any_vassal = { - any_held_title = { - this = title:d_sunni - } - } - } - subtract = medium_piety_value - } - } - } - - is_shown = { - fp3_reward_from_vassalization_ending = yes - } - - is_valid = { - # honorary titles should be unique - custom_tooltip = { - text = one_of_the_title_is_available_tt - scope:actor = { - house ?= { - NAND = { - any_house_member = { - has_character_modifier = fp3_honorary_title_intrigue_modifier - } - any_house_member = { - has_character_modifier = fp3_honorary_title_scholarship_modifier - } - - any_house_member = { - has_character_modifier = fp3_honorary_title_stewardship_modifier - } - any_house_member = { - has_character_modifier = fp3_honorary_title_diplomacy_modifier - } - any_house_member = { - has_character_modifier = fp3_honorary_title_piety_modifier - } - any_house_member = { - has_character_modifier = fp3_honorary_title_prestige_modifier - } - any_house_member = { - has_character_modifier = fp3_honorary_title_martial_modifier - } - } - } - } - } - } - - send_option = { - flag = intrigue_option - localization = fp3_honorary_title_intrigue_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_intrigue_modifier - } - } - } - } - } - } - - send_option = { - flag = scholarship_option - localization = fp3_honorary_title_scholarship_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_scholarship_modifier - } - } - } - } - } - } - - send_option = { - flag = stewardship_option - localization = fp3_honorary_title_stewardship_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_stewardship_modifier - } - } - } - } - } - } - - send_option = { - flag = diplomacy_option - localization = fp3_honorary_title_diplomacy_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_diplomacy_modifier - } - } - } - } - } - } - - send_option = { - flag = piety_option - localization = fp3_honorary_title_piety_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_piety_modifier - } - } - } - } - } - } - - send_option = { - flag = prestige_option - localization = fp3_honorary_title_prestige_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_prestige_modifier - } - } - } - } - } - } - - send_option = { - flag = martial_option - localization = fp3_honorary_title_martial_modifier - is_valid = { - NOT = { - scope:actor = { - house ?= { - any_house_member = { - has_character_modifier = fp3_honorary_title_martial_modifier - } - } - } - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = new_honorary_title_acquired_title - left_icon = scope:recipient - - switch = { - trigger = yes - scope:intrigue_option = { - add_character_modifier = { - modifier = fp3_honorary_title_intrigue_modifier - } - } - scope:scholarship_option = { - add_character_modifier = { - modifier = fp3_honorary_title_scholarship_modifier - } - } - scope:stewardship_option = { - add_character_modifier = { - modifier = fp3_honorary_title_stewardship_modifier - } - } - scope:diplomacy_option = { - add_character_modifier = { - modifier = fp3_honorary_title_diplomacy_modifier - } - } - scope:piety_option = { - add_character_modifier = { - modifier = fp3_honorary_title_piety_modifier - } - } - scope:prestige_option = { - add_character_modifier = { - modifier = fp3_honorary_title_prestige_modifier - } - } - scope:martial_option = { - add_character_modifier = { - modifier = fp3_honorary_title_martial_modifier - } - } - } - } - } - } - - ai_frequency = 60 - - ai_potential = { - any_vassal = { - any_held_title = { - this = title:d_sunni - } - } - } - - ai_targets = { - # For the AI, we limit it to neighboring_rulers - ai_recipients = vassals - } - - ai_will_do = { - base = 100 - } -} - - -################################### -# Request house unity interference -################################### -fp3_request_house_unity_change_interaction = { - interface_priority = 30 - category = interaction_category_religion - common_interaction = yes - desc = fp3_request_house_unity_change_interaction_desc - icon = unity_harmonious - - greeting = positive - - - auto_accept = yes - - cooldown = { years = 10 } - - cost = { - piety = medium_piety_value - } - - is_shown = { - fp3_reward_from_vassalization_ending = yes - scope:actor = { - government_has_flag = government_is_clan - } - } - - is_valid = { - # only valid for the actual liege - custom_tooltip = { - text = you_are_the_liege_of_the_caliph_tt - scope:actor = { - is_liege_or_above_of = scope:recipient - } - scope:recipient = { - any_held_title = { - this = title:d_sunni - } - } - } - } - - send_option = { - flag = unity_gain - localization = INCREASE_HOUSE_UNITY - starts_enabled = { always = yes } - } - - send_option = { - flag = unity_loss - localization = DECREASE_HOUSE_UNITY - } - - on_accept = { - scope:recipient = { save_scope_as = unity_target } - scope:actor = { - save_scope_as = unity_character - house = { - add_unity_value = { - value = { - if = { - limit = { scope:unity_gain = yes } - add = medium_unity_gain - } - else_if = { - limit = { scope:unity_loss = yes } - add = medium_unity_loss - } - } - character = root - desc = clan_unity_caliph_interfered_with_unity.desc - } - } - } - } - - ai_frequency = 60 - - ai_potential = { - any_vassal = { - any_held_title = { - this = title:d_sunni - } - } - } - - ai_targets = { - # For the AI, we limit it to neighboring_rulers - ai_recipients = vassals - } - - ai_will_do = { - base = 100 - } -} diff --git a/N3OW/common/character_interactions/00_gift.txt b/N3OW/common/character_interactions/00_gift.txt deleted file mode 100644 index 2f06942d..00000000 --- a/N3OW/common/character_interactions/00_gift.txt +++ /dev/null @@ -1,757 +0,0 @@ -#Give characters money to improve their opinion of you -gift_interaction = { - icon = icon_gold - category = interaction_category_friendly - common_interaction = yes - interface_priority = 65 - desc = gift_interaction_desc - - greeting = positive - notification_text = SEND_GIFT_PROPOSAL - - answer_accept_key = SEND_GIFT_ACCEPT - answer_reject_key = SEND_GIFT_REJECT - - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = head_of_faith - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 60 - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - - # Prioritize paying back loans first - scope:actor = { - trigger_if = { - limit = { - exists = var:loan_amount_owed - exists = var:loan_holder - } - NOT = { var:loan_holder = scope:recipient } - } - } - } - - is_highlighted = { - scope:recipient = { - OR = { - house ?= { - OR = { - is_dominant_family = yes - is_powerful_family = yes - } - } - } - } - } - - highlighted_reason = HIGHLIGHTED_FAMILY_RATING - - is_valid_showing_failures_only = { - scope:actor.gold >= gift_value - scope:recipient = { - is_busy_in_events_localised = yes - NOT = { is_imprisoned_by = scope:actor } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0100 - } - } - - on_accept = { - scope:recipient = { - # Verify that they could become friend - if = { - limit = { - NAND = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - } - } - gifting_leads_towards_friendship_effect = yes - } - } - - scope:actor = { - # Warning for multiple gifts - if = { - limit = { - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - custom_tooltip = ALREADY_SENT_GIFT_WARNING - } - - send_interface_message = { - type = event_gold_neutral - title = gift_interaction_notification - right_icon = scope:recipient - pay_short_term_gold = { - gold = gift_value - target = scope:recipient - } - stress_impact = { - greedy = medium_stress_impact_gain - } - if = { - limit = { - scope:recipient = { - NOT = { - is_heir_of = scope:actor - } - } - } - stress_impact = { - generous = medium_stress_impact_loss - } - } - - #FP3 Tenet Communal Possessions Perk - piety gain for gift giving. - if = { - limit = { - scope:actor = { - faith = { - has_doctrine_parameter = piety_from_gifts_active - } - } - } - scope:actor = { - add_piety = minor_piety_gain - } - } - - # Check if the target already has been sent a gift or not. If not, apply the following effects - if = { - limit = { - NOT = { - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - } - - # Struggle Catalyst - if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_gift_independent_ruler - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_gift_independent_ruler - CHAR = scope:recipient - } - } - } - } - hidden_effect = { - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { phase_has_catalyst = catalyst_gift_independent_ruler } - activate_struggle_catalyst = { - catalyst = catalyst_gift_independent_ruler - character = scope:actor - } - } - } - } - } - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - scope:actor = { - any_character_struggle = { - #involvement = involved - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_gift_supporter_detractor_ruler - CHAR = scope:recipient - } - } - } - } - hidden_effect = { - scope:actor = { - every_character_struggle = { - #involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_gift_supporter_detractor_ruler - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_gift_supporter_detractor_ruler - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_gift_supporter_detractor_ruler } - } - } - } - } - - # FP2 Urbanism Legacy Perk 2: increase cultural acceptance when gifting a republican vassal - if = { - limit = { - scope:actor = { - exists = dynasty - dynasty = { has_dynasty_perk = fp2_urbanism_legacy_4 } - } - scope:recipient = { - AND = { - is_vassal_of = scope:actor - government_has_flag = government_is_special_republic - } - } - NOT = { - scope:actor.culture = scope:recipient.capital_province.county.culture - } - } - scope:recipient.capital_province.county.culture = { - change_cultural_acceptance = { - target = scope:actor.culture - value = { - value = 20 - multiply = scope:recipient.capital_province.county.development_level - divide = 100 - } - desc = cultural_acceptance_gain_gift_dynasty_perk - } - } - } - } - - # Let's apply the opinion modifier last, as to apply everything else correctly first - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = gift_opinion - opinion = send_gift_opinion - } - } - } - - if = { # for tutorial purposes - limit = { - is_ai = no - scope:recipient = { is_child_of = scope:actor } - } - add_character_flag = { - flag = tutorial_sent_gift - days = 200 - } - } - #Influence gain between admin rulers - if = { - limit = { - is_ruler = yes - government_has_flag = government_is_administrative - scope:recipient = { - is_ruler = yes - government_has_flag = government_is_administrative - any_held_title = { - is_noble_family_title = yes - } - } - } - if = { - limit = { - scope:recipient = { - OR = { - house = { - is_dominant_family = yes - } - this = scope:actor.top_liege - } - influence_level >= 5 - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 8 - } - } - else_if = { - limit = { - scope:recipient = { - OR = { - house = { - is_dominant_family = yes - } - this = scope:actor.top_liege - } - influence_level >= 3 - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 7 - } - } - else_if = { - limit = { - scope:recipient = { - OR = { - house = { - is_dominant_family = yes - } - this = scope:actor.top_liege - } - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 6 - } - } - else_if = { - limit = { - scope:recipient = { - OR = { - house = { - is_powerful_family = yes - } - this = scope:actor.top_liege - } - influence_level >= 5 - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 6 - } - } - else_if = { - limit = { - scope:recipient = { - OR = { - house = { - is_powerful_family = yes - } - this = scope:actor.top_liege - } - influence_level >= 3 - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 5 - } - } - else_if = { - limit = { - scope:recipient = { - OR = { - house = { - is_powerful_family = yes - } - this = scope:actor.top_liege - } - } - } - change_influence = { - value = miniscule_influence_gain - multiply = 4 - } - } - else_if = { - limit = { - scope:recipient = { influence_level >= 5 } - } - change_influence = { - value = miniscule_influence_gain - multiply = 3 - } - } - else_if = { - limit = { - scope:recipient = { influence_level >= 3 } - } - change_influence = { - value = miniscule_influence_gain - multiply = 2 - } - } - else = { - change_influence = miniscule_influence_gain - } - } - } - } - - ai_accept = { - base = 0 - modifier = { - add = 100 - desc = GOLD_REASON - } - - # Struggle motive - modifier = { - desc = AI_STRUGGLE_INTENT - scope:recipient = { - is_independent_ruler = yes - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - } - } - add = 200 - } - } - } - } - - ai_potential = { - is_available_at_peace_ai_adult = yes - ai_greed < medium_positive_ai_value - short_term_gold >= gift_interaction_cutoff - NOT = { - has_trait = greedy - } - ai_has_conqueror_personality = no - ai_should_focus_on_building_in_their_capital = no - } - - auto_accept = { - custom_description = { - text = auto_accept_interaction_ai - object = scope:recipient - scope:recipient = { - is_ai = yes - } - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 1 - - ai_will_do = { - base = 100 - - modifier = { # Do not send double-gifts - factor = 0 - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - - modifier = { # Basic Filtering - factor = 0 - scope:recipient = { - NOR = { - AND = { # Bankrupt lovers, friends and a bankrupt liege should be considered - OR = { - scope:actor = { - any_liege_or_above = { - this = scope:recipient - } - } - has_secret_relation_lover = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - gold < 0 - } - AND = { # Generous characters will give gifts to their friends/lovers - OR = { - has_secret_relation_lover = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - scope:actor = { - OR = { - ai_greed <= high_negative_ai_value - AND = { - ai_greed < 0 - culture = { - has_cultural_parameter = gives_more_gifts - } - } - } - } - } - AND = { # Characters with the Generous Cultural Tradition will give gifts to more people - is_ruler = yes - OR = { - is_allied_to = scope:actor - is_close_or_extended_family_of = scope:actor - } - scope:actor = { - ai_greed < 0 - culture = { - has_cultural_parameter = gives_more_gifts - } - } - } - AND = { # Characters with the loyal trait more likely to give gifts to friends/lieges - OR = { - scope:actor.liege ?= this - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - is_allied_to = scope:actor - is_close_or_extended_family_of = scope:actor - } - scope:actor = { - ai_greed <= 0 - has_trait = loyal - } - } - AND = { # Zealous characters want to support the defending side in GHW's - gold < 200 - any_character_war = { - OR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - primary_defender = scope:recipient - } - scope:actor = { - ai_zeal >= 50 - } - } - AND = { # Powerful vassals should be considered - is_powerful_vassal_of = scope:actor - opinion = { - target = scope:actor - value < 0 - } - NOT ={ - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - AND = { # Factioneering vassals should be considered - is_vassal_of = scope:actor - is_a_faction_member = yes - NOT ={ - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - AND = { # Realm Priests should be considered - scope:actor = { - faith = { has_doctrine = doctrine_theocracy_temporal } - exists = cp:councillor_court_chaplain - cp:councillor_court_chaplain = scope:recipient - } - opinion = { - target = scope:actor - value <= 25 - } - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = gift_opinion - } - } - } - AND = { # Rulers at war with your rivals deserve gold if they're bankrupt - gold < 0 - is_at_war = yes - any_war_enemy = { - has_relation_rival = scope:actor - } - } - AND = { # Independent ruler within the struggle should be considered - any_character_struggle = { - phase_has_catalyst = catalyst_gift_independent_ruler - } - } - } - } - } - - # Struggle - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_gift_independent_ruler - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_gift_independent_ruler - } - NOT = { - has_relation_rival = scope:recipient - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - } - scope:recipient = { - has_character_flag = agenda_towards_deescalation - } - } - add = { - value = 150 - if = { - limit = { scope:recipient = { is_ai = no} } - add = 150 # higher for human player to Prioritize them - } - # Then lower the intent depending on the gold reserve - # Base value applied if the AI has 3x the gold cutoff - multiply = { - value = short_term_gold - divide = { - value = gift_interaction_cutoff - multiply = 3 - } - } - } - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - } - } - add = { - value = 25 - if = { - limit = { scope:recipient = { is_ai = no} } - add = 150 # higher for human player to Prioritize them - } - # Then lower the intent depending on the gold reserve - # Base value applied if the AI has 3x the gold cutoff - multiply = { - value = short_term_gold - divide = { - value = gift_interaction_cutoff - multiply = 3 - } - } - } - } - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - opinion = { - target = scope:actor - value < 0 - } - NAND = { - is_vassal_of = scope:actor - scope:actor = { - ai_rationality > 50 - } - } - } - } - - modifier = { - add = 100 - scope:actor = { - is_at_war = no - has_trait = fp3_struggle_supporter - any_character_struggle = { is_struggle_type = persian_struggle } - } - scope:recipient = { - title:d_sunni.holder ?= this - gold < 0 - } - } - - # Nomads are slightly less likely to do this since they'd prefer to send Herd instead - modifier = { - add = -10 - scope:actor = { - government_has_flag = government_is_nomadic - } - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - has_relation_rival = scope:actor - } - } - } -} diff --git a/N3OW/common/character_interactions/00_grant_titles_interaction.txt b/N3OW/common/character_interactions/00_grant_titles_interaction.txt deleted file mode 100644 index bc0c18bb..00000000 --- a/N3OW/common/character_interactions/00_grant_titles_interaction.txt +++ /dev/null @@ -1,2184 +0,0 @@ -#be aware that the actual granting of the title happens in code! -grant_titles_interaction = { - - category = interaction_category_vassal - common_interaction = yes - - desc = grant_titles_interaction_desc - - special_interaction = grant_titles_interaction - interface = grant_titles - target_type = title - target_filter = actor_domain_titles - interface_priority = 60 - - # actor character giving the titles - # recipient character receiving the titles - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - NOT = { - government_has_flag = government_is_landless_adventurer - } - } - scope:recipient = { - OR = { - target_is_liege_or_above = scope:actor - is_pool_guest_of = scope:actor - AND = { - scope:actor.faith.religious_head = scope:recipient - is_independent_ruler = yes - } - } - } - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_administrative } - } - scope:recipient = { NOT = { government_has_flag = government_is_administrative } } - } - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_nomadic } - } - scope:recipient = { NOT = { government_has_flag = government_is_herder } } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_tooltip = { - text = can_be_granted_titles_interaction_tt - OR = { - can_be_granted_titles_by = { RULER = scope:actor } - can_be_granted_theocratic_titles_by = { RULER = scope:actor } - AND = { - is_diarch_of_target = scope:actor - scope:actor = { has_diarchy_active_parameter = diarchy_is_co_rulership } - } - } - } - NOT = { is_at_war_with = scope:actor } - NOT = { has_trait = devoted } # Monks are disinherited, and should not have land granted to them - bp2_valid_for_standard_interactions_trigger = yes - is_busy_in_events_localised = yes - trigger_if = { - limit = { is_ruler = no } - is_imprisoned = no - } - # DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS - custom_description = { - text = grant_title_stealing_acclaimed_knight - subject = scope:recipient - NOR = { - AND = { - is_acclaimed = yes - liege ?= { - is_ai = no - NOT = { this = scope:actor } - } - } - AND = { - is_acclaimed = yes - scope:actor = { is_ai = yes } - } - } - } - # Gallivanters won't accept additional responsibilities. - NOT = { has_trait = gallivanter } - } - custom_description = { - text = is_not_theocratic_court_chaplain - subject = scope:recipient - NAND = { - scope:actor.faith = { - has_doctrine = doctrine_theocracy_temporal - } - scope:recipient = { - faith = { - has_doctrine = doctrine_theocracy_temporal - } - has_council_position = councillor_court_chaplain - } - NOT = { scope:actor.faith.religious_head = scope:recipient } - } - } - scope:actor = { - any_held_title = { - count > 1 - } - } - } - - can_send = { - trigger_if = { - limit = { - scope:actor = { - highest_held_title_tier >= tier_kingdom - has_diarchy_active_parameter = primeminister_requires_duchy - diarch = scope:recipient - } - } - custom_tooltip = { - text = primeminister_requires_duchy.tt.blocked_grant - any_in_list = { - list = target_titles - tier >= tier_duchy - } - } - } - } - - can_be_picked_title = { - scope:target = { - is_leased_out = no - - trigger_if = { - limit = { is_noble_family_title = yes } - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY - always = no - } - } - - trigger_if = { - limit = { - scope:actor = { - NOT = { - has_government = nomad_government - } - } - title_province = { - OR = { - has_holding_type = nomad_holding - has_holding_type = herder_holding - } - } - scope:recipient = { - is_ruler = no - } - } - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_GIVE_NOMADIC_TITLES_TO_NON_NOMADS_TITLE - always = no - } - } - - trigger_if = { - limit = { is_nomad_title = yes } - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_GIVE_NOMAD_TITLE - always = no - } - } - - trigger_if = { - limit = { - is_head_of_faith = yes - NOT = { - scope:recipient.faith.religious_head = scope:actor.faith.religious_head - } - } - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_HEAD_OF_FAITH_TO_INFIDEL - scope:recipient.faith.religious_head = scope:actor.faith.religious_head - } - } - - trigger_if = { - limit = { - scope:recipient = scope:actor.player_heir - scope:actor = { has_partition_succession_realm_law_trigger = yes } - } - custom_description = { - text = partition_primary_heir_unfair - subject = scope:recipient - current_heir = scope:recipient - } - } - trigger_if = { - limit = { scope:target = title:k_fashion } - NOT = { scope:target = title:k_fashion } - } - } - - custom_description = { - text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch - subject = scope:actor.diarch - NAND = { - # Only applies if we have an active diarchy. - scope:actor = { has_active_diarchy = yes } - # Now, prevent us from giving away our diarch's land to invalidate them... - scope:target = { - any_dejure_vassal_title_holder = { this = scope:actor.diarch } - # ... _unless_ we're giving it _to_ the diarch. - NOT = { scope:recipient = scope:actor.diarch } - # Plus we only care if the title is below our tier. - tier < scope:actor.highest_held_title_tier - } - } - } - - custom_description = { - text = grant_titles_interaction_children_not_allowed_temple - subject = scope:recipient - NOR = { - AND = { - scope:recipient = { - is_adult = no - } - scope:target = { - tier = tier_barony - title_province = { has_building_with_flag = temple } - } - } - AND = { - scope:recipient = { - is_adult = no - } - scope:target = { - tier = tier_county - - title_province = { - is_county_capital = yes - has_building_with_flag = temple - } - } - } - } - } - - custom_description = { - text = grant_titles_interaction_title_being_wagered - NOT = { - scope:target = { has_variable = wagered_county } - } - } - } - - auto_accept = yes - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0110 - } - } - - on_accept = { - if = { - limit = { - scope:actor = { - government_has_flag = government_is_nomadic - vassal_limit_available <= 0 - is_independent_ruler = yes - scope:recipient = { - NOT = { is_vassal_of = scope:actor } - } - } - } - custom_tooltip = grant_title_nomad_and_at_vassal_limit - } - scope:recipient = { - add_character_flag = { - flag = domicile_culture_and_faith_check - days = 1 - } - } - if = { - limit = { - scope:recipient = { - is_acclaimed = yes - liege = { - this = scope:actor - } - } - scope:target = { - tier > tier_barony - } - } - custom_tooltip = grant_title_landing_acclaimed_knight_warning - } - scope:recipient = { - if = { - limit = { - is_independent_ruler = yes - save_temporary_scope_as = recipient_is_independent - } - } - if = { - limit = { - NOT = { - has_relation_friend = scope:actor - } - } - if = { - # then verify the right struggle phase - limit = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:actor - STATUS = involved - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_to_leads_to_friendship - } - } - progress_towards_friend_effect = { - REASON = friend_granted_title - CHARACTER = scope:actor - OPINION = 0 - } - } - } - } - - if = { - limit = { - OR = { - any_in_list = { - list = target_titles - tier = tier_county - culture = scope:recipient.culture - NOR = { - culture = scope:actor.culture - recent_history = { - type = granted - years = 10 - } - } - } - any_in_list = { - list = target_titles - tier >= tier_duchy - title_capital_county = { - NOT = { culture = scope:actor.culture } - culture = scope:recipient.culture - } - NOT = { - recent_history = { - type = granted - years = 10 - } - } - } - } - } - scope:recipient.culture = { - change_cultural_acceptance = { - target = scope:actor.culture - value = grant_title_cultural_acceptance_impact - desc = cultural_acceptance_gain_granted_title - } - } - } - if = { - limit = { - any_in_list = { - list = target_titles - tier = tier_county - } - scope:actor.culture = { has_cultural_parameter = grants_to_lowborns_bonuses } - scope:recipient = { - is_lowborn = yes - } - } - every_in_list = { - list = target_titles - limit = { tier = tier_county } - change_county_control = 30 - } - scope:recipient = { - add_trait = peasant_leader - } - } - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_county - } - scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige } - exists = scope:actor.house - exists = scope:recipient.house - scope:actor.house = scope:recipient.house - } - scope:actor = { - add_prestige = { - value = 0 - every_in_list = { - list = target_titles - limit = { tier = tier_empire } - add = massive_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_kingdom } - add = major_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_duchy } - add = medium_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_county } - add = minor_prestige_gain - } - } - } - } - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_county - } - scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown } - exists = scope:actor.house - exists = scope:recipient.house - scope:actor.house = scope:recipient.house - } - scope:actor.dynasty = { - add_dynasty_prestige = { - value = 0 - every_in_list = { - list = target_titles - limit = { tier = tier_empire } - add = massive_dynasty_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_kingdom } - add = major_dynasty_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_duchy } - add = medium_dynasty_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_county } - add = minor_dynasty_prestige_gain - } - } - } - } - - # Iterate over all given titles - # - Add opinion modifiers - # - Collect titles that discontent reduction can later be derived from - every_in_list = { - list = target_titles - save_temporary_scope_as = this_title - if = { - limit = { - exists = scope:landed_title - } - scope:recipient = { - if = { - limit = { - scope:this_title.tier = tier_barony - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_barony - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - - else_if = { - limit = { - scope:this_title.tier = tier_county - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_county - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - if = { - limit = { - is_ai = no - } - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -5 - } - } - } - else = { # Can't really stop the AI from landing lowborns, so throttle it a bit so that great conquerors don't annihilate their opinion - random = { - chance = 25 - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -5 - } - } - } - } - } - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - - else_if = { - limit = { - scope:this_title.tier = tier_duchy - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_duchy - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -20 - } - } - } - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - - else_if = { - limit = { - scope:this_title.tier = tier_kingdom - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_kingdom - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -50 - } - } - } - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - - else_if = { - limit = { - scope:this_title.tier = tier_empire - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_empire - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -5 - } - } - } - } - if = { - limit = { - is_a_faction_member = yes - } - add_joined_faction_discontent = -60 - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - } - - #Promised a vassal this title they had a claim on (vassal.2901) - if = { - limit = { - scope:actor = { - exists = var:was_promised_title - var:was_promised_title = scope:recipient - } - } - if = { - limit = { - scope:recipient = { - exists = var:promised_title - } - scope:landed_title = scope:recipient.var:promised_title - } - scope:actor = { - trigger_event = { - id = vassal.2910 - days = { 7 14 } - } - } - } - } - } - if = { - limit = { - scope:recipient = { - has_trait = bastard - } - } - custom_tooltip = grant_title_to_bastard_dynasty_warning - } - } # every_in_list - - - # The accumulated discontent reduction of the recipient - scope:recipient = { - if = { - limit = { - is_a_faction_member = yes - } - add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc - } - } - - # Viziers may be booted from their job. - scope:actor = { - if = { - limit = { - # Assuming this is relevant at all. - diarch ?= scope:recipient - # And that scope:actor can do without a supervisor atm. - can_leave_diarchy_trigger = yes - # Aaaaand that their diarchy supports this type of thing. - OR = { - has_diarchy_parameter = primeminister_requires_county - has_diarchy_parameter = primeminister_requires_duchy - } - } - # Is this a duchy? - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_duchy - } - } - custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.duchy_sufficient - end_diarchy = yes - } - # Is this a county? - else_if = { - limit = { - any_in_list = { - list = target_titles - tier = tier_county - } - } - # Is that insufficient? - if = { - limit = { has_diarchy_active_parameter = primeminister_requires_duchy } - custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_insufficient - } - # Is that sufficient? - else = { - custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_sufficient - end_diarchy = yes - } - } - # Is this a barony? - else_if = { - limit = { - any_in_list = { - list = target_titles - count = all - tier = tier_barony - } - } - custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.barony_doesnt_end - } - } - } - - if = { - limit = { - any_in_list = { - list = target_titles - tier = tier_empire - } - } - custom_tooltip = grant_title_modifier_stack_empires - } - if = { - limit = { - any_in_list = { - list = target_titles - tier = tier_kingdom - } - } - custom_tooltip = grant_title_modifier_stack_kingdoms - } - if = { - limit = { - any_in_list = { - list = titles_to_grant - tier = tier_duchy - } - } - custom_tooltip = grant_title_modifier_stack_duchies - } - if = { - limit = { - any_in_list = { - list = titles_to_grant - tier = tier_county - } - } - custom_tooltip = grant_title_modifier_stack_counties - } - if = { - limit = { - any_in_list = { - list = titles_to_grant - tier = tier_barony - } - } - custom_tooltip = grant_title_modifier_stack_baronies - } - if = { - limit = { - trigger_if = { - limit = { scope:actor = { is_ai = yes } } - scope:actor = { - any_vassal = { - has_vassal_stance = courtly - } - } - } - scope:recipient = { - is_lowborn = yes - } - any_in_list = { - list = titles_to_grant - tier >= tier_county - } - } - custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty - } - if = { - limit = { - scope:recipient = { is_a_faction_member = yes } - } - custom_tooltip = grant_title_modifier_stack_discontent - } - - # Jealousy check - if = { - limit = { - any_in_list = { - list = titles_to_grant - any_claimant = { grant_title_rivalry_trigger = yes } - } - } - hidden_effect = { - random = { - chance = 25 - ordered_in_list = { - list = titles_to_grant - limit = { - any_claimant = { grant_title_rivalry_trigger = yes } - } - order_by = tier - save_scope_as = claim_title - ordered_claimant = { - limit = { grant_title_rivalry_trigger = yes } - order_by = primary_title.tier - save_scope_as = claim_vassal - if = { - limit = { - scope:recipient = { is_lowborn = yes } - } - scope:recipient = { save_scope_as = lowborn_scope } - } - else_if = { - limit = { - scope:recipient = { has_claim_on = scope:claim_title } - } - scope:recipient = { save_scope_as = claimant_scope } - } - scope:actor = { - trigger_event = { - id = bp1_yearly.8070 - days = 5 - } - } - } - } - } - } - } - - #Stress impact - scope:actor = { - if = { - limit = { - any_in_list = { - list = target_titles - trigger_if = { - limit = { tier = tier_barony } - title_province.barony = { - has_wrong_holding_type = no - } - } - count >= 1 - } - } - - # Generous characters enjoy giving away titles - if = { - limit = { - has_trait = generous - } - add_stress = generous_title_grant_value - } - - # Gnostics lose stress for giving away titles. - if = { - limit = { - scope:actor = { - faith = { - has_doctrine_parameter = granting_titles_gives_stress - } - } - } - scope:actor = { - add_stress = { - value = 0 - - # Base stress value scaled on title tier. - every_in_list = { - list = target_titles - - add = { - value = 0 - - if = { - limit = { this.tier = tier_county } - add = minor_stress_loss # 10 base - } - else_if = { - limit = { this.tier = tier_duchy } - add = { - value = medium_stress_loss - multiply = 1.25 # 25 base - } - } - else_if = { - limit = { this.tier = tier_kingdom } - add = { - value = major_stress_loss - multiply = 2 # 80 base - } - } - else_if = { - limit = { this.tier = tier_empire } - add = { - value = monumental_stress_loss - multiply = 2 # 200 base - } - } - - # Lose more stress for giving away titles of your primary tier; lose less stress for giving away titles far below your primary in tier. - multiply = { - value = this.tier - add = 1 - divide = scope:actor.primary_title.tier - } - - # Round to the nearest multiple of 5. - divide = 5 - round = yes - multiply = 5 - - # For a Duke, this will be x1.25 for Duchies (-30) and x1 for Counties(-10) - # For a King, this will be x1.25 for a Kingdom (-100), x1 for a Duchy (-25) and x0.75 for Counties(-10) - # For an Emperor, this will be x1.25 for an Empire(-200), x1 for a Kingdom(-80), x0.75 for a Duchy(-20) and x0.4 for a Counties (-5) - } - } - } - } - } - - # Greedy & ambitious ruler gain stress for giving away titles if they would normally be able to keep them. - if = { - limit = { - # Pre-filter - OR = { - has_trait = greedy - has_trait = ambitious - } - domain_size <= domain_limit # Not over my domain limit - any_in_list = { - list = target_titles - tier <= tier_county # At least 1 selected title counts toward domain limit - } - - # Special exemption for lieges who are over their held duchy limit, which are giving away that duchy (and associated counties) specifically - trigger_if = { - limit = { - has_too_many_held_duchies_trigger = yes - } - NOT = { - # Granting at least 1 duchy - any_in_list = { - list = target_titles - title_counts_towards_too_many_duchies_trigger = yes - save_temporary_scope_as = granted_duchy - - # All counties being granted are De Jure part of the duchy that is being granted - any_in_list = { - list = target_titles - count = all - trigger_if = { - limit = { tier = tier_county} - de_jure_liege = scope:granted_duchy - } - } - } - } - } - } - # Actual stress gain effects - if = { - limit = { - domain_size = domain_limit - } - stress_impact = { - greedy = minor_stress_impact_gain - ambitious = minor_stress_impact_gain - } - } - else_if = { - limit = { - domain_size < domain_limit - } - stress_impact = { - greedy = medium_stress_impact_gain - ambitious = medium_stress_impact_gain - } - } - } - } - - # Maintenance for runestones - if = { - limit = { - # Use expanded version if we have FP1. - has_fp1_dlc_trigger = yes - fp1_remove_stele_new_holder_trigger = { - TITLE = scope:target - PREVIOUS_HOLDER = scope:actor - NEW_HOLDER = scope:recipient - } - } - # Actually removed in fp1_other_decisions.0113 - custom_tooltip = runestone_grant_title_warning - } - else_if = { - limit = { - scope:target = { - exists = var:ancestor_to_bury - has_county_modifier = county_raised_runestone_modifier - } - NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty - } - # Actually removed in religious_decision.0312 - custom_tooltip = runestone_grant_title_warning - } - - if = { - limit = { - exists = scope:actor.dynasty - scope:actor.dynasty = { - has_dynasty_perk = ep1_culture_legacy_3 - } - scope:recipient = { - is_playable_character = no - NOT = { - culture = scope:actor.culture - } - any_in_list = { - list = target_titles - OR = { - tier = tier_county - tier = tier_barony - } - culture = scope:recipient.culture - } - } - } - scope:actor = { - if = { - limit = { - can_add_hook = { - target = scope:recipient - type = favor_hook - } - } - add_hook = { - type = favor_hook - target = scope:recipient - } - } - } - } - - #Feedback for actor - hidden_effect = { - if = { - limit = { - government_has_flag = government_is_nomadic - vassal_limit_available <= 0 - is_independent_ruler = yes - scope:recipient = { - NOT = { is_vassal_of = scope:actor } - } - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_7 - } - } - else_if = { - limit = { - any_in_list = { - list = target_titles - count = 1 - NOT = { tier = scope:actor.highest_held_title_tier } - } - NOT = { exists = scope:recipient_is_independent } - scope:recipient = { - any_held_title = { - tier > tier_barony - NOT = { - is_in_list = target_titles - } - } - } - } - random_in_list = { - list = target_titles - save_temporary_scope_as = loc_title - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_2 - if = { - limit = { - exists = dynasty - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige - - } - } - dynasty = { - add_dynasty_prestige = minor_dynasty_prestige_gain - } - - } - } - } - else_if = { - limit = { - any_in_list = { - list = target_titles - count > 1 - NOT = { tier = scope:actor.highest_held_title_tier } - } - NOT = { exists = scope:recipient_is_independent } - scope:recipient = { - any_held_title = { - tier > tier_barony - NOT = { - is_in_list = target_titles - } - } - } - } - random_in_list = { - list = target_titles - save_temporary_scope_as = loc_title - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_3 - } - } - else_if = { - limit = { - exists = scope:recipient_is_independent - } - - random_in_list = { - list = target_titles - save_temporary_scope_as = loc_title - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_6 - } - } - else_if = { - limit = { - scope:recipient = { - any_in_list = { #Became independent from you, but still have the same liege - list = target_titles - tier = scope:actor.highest_held_title_tier - } - top_liege = scope:actor.top_liege - } - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_5 - } - } - else_if = { - limit = { - scope:recipient = { - any_in_list = { #Became independent - list = target_titles - tier = scope:actor.highest_held_title_tier - } - } - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_4 - } - } - else = { - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_titles_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect - } - } - } - } - - hidden_effect = { - # Struggle Catalyst - if = { - limit = { - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Achievements. - scope:actor = { - if = { - limit = { - has_variable_list = candidate_a_knights_tale_achievement - is_target_in_variable_list = { - name = candidate_a_knights_tale_achievement - target = scope:recipient - } - } - set_global_variable = { - name = finished_a_knights_tale_achievement - value = yes - } - } - } - } -} - -#This interaction is referenced in code! If it's renamed you have to ping a coder -grant_title_to_new_random_character_interaction = { - hidden = yes - auto_accept = yes - special_interaction = grant_titles_interaction - use_diplomatic_range = no - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { - this = scope:recipient - } - any_held_title = { - count > 1 - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } -} - -#be aware that the actual granting of the title happens in code! -grant_governorship_interaction = { - icon = grant_governorship - category = interaction_category_vassal - common_interaction = yes - - desc = grant_governorship_interaction_desc - - special_interaction = grant_governorship_interaction - interface = grant_titles - target_type = title - target_filter = actor_domain_titles - interface_priority = 60 - - # actor character giving the titles - # recipient character receiving the titles - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { - OR = { - target_is_liege_or_above = scope:actor - is_pool_guest_of = scope:actor - } - } - scope:actor = { - government_has_flag = government_is_administrative - highest_held_title_tier >= tier_county - } - - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:recipient = { - NOT = { any_parent = { is_ai = no } } - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_adult = yes - NOT = { is_at_war_with = scope:actor } - bp2_valid_for_standard_interactions_trigger = yes - is_busy_in_events_localised = yes - trigger_if = { - limit = { is_ruler = no } - is_imprisoned = no - } - # Only the preferred gender can be appointed unless they hold titles already - trigger_if = { - limit = { - scope:actor = { - OR = { - has_realm_law = male_only_law - has_realm_law = male_preference_law - } - } - is_landed = no - } - is_female = no - } - trigger_if = { - limit = { - scope:actor = { - OR = { - has_realm_law = female_only_law - has_realm_law = female_preference_law - } - } - is_landed = no - } - is_female = yes - } - # DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS - custom_description = { - text = grant_title_stealing_acclaimed_knight - subject = scope:recipient - NOR = { - AND = { - is_acclaimed = yes - liege ?= { - is_ai = no - NOT = { this = scope:actor } - } - } - AND = { - is_acclaimed = yes - scope:actor = { is_ai = yes } - } - } - } - trigger_if = { - limit = { is_landed = yes } - government_has_flag = government_is_administrative - } - is_clergy = no - # Gallivanters won't accept additional responsibilities. - NOT = { has_trait = gallivanter } - } - } - - can_send = { - scope:recipient = { - custom_tooltip = { - text = promote_candidate_interaction_existing_holder_tt - this != scope:target.holder - } - - trigger_if = { # Governors can only be appointed to certain titles - limit = { - is_governor = yes - scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary - } - custom_tooltip = { # Only one province of highest rank - text = only_one_province_of_highest_rank_tt - NAND = { - highest_held_title_tier = scope:target.tier - scope:target.tier >= tier_duchy - scope:target = { # We make an exception if recipient controls at least one de jure county - any_de_jure_county = { - count < 1 - OR = { - holder = scope:recipient - holder = { is_vassal_or_below_of = scope:recipient } - } - } - } - } - } - custom_tooltip = { - text = admin_must_be_de_jure_or_neighboring - any_held_title = { - OR = { - # The target title is part of your de jure structure - is_de_jure_liege_or_above_target = scope:target - target_is_de_jure_liege_or_above = scope:target - # Or is a neighboring county which de jure duchy is not part of your realm - AND = { - any_title_to_title_neighboring_county = { this = scope:target } - scope:target = { - tier = tier_county - duchy = { - OR = { - NOT = { exists = holder } - holder = { - NOR = { - is_vassal_or_below_of = scope:actor - this = scope:actor - } - } - } - } - } - } - } - } - } - } - trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above - limit = { - is_landless_ruler = yes - any_held_title = { is_noble_family_title = yes } - } - scope:target = { NOT = { tier < tier_duchy } } - } - trigger_if = { # If recipient is a count, they can get only get counties within the same duchy - limit = { highest_held_title_tier = tier_county } - trigger_if = { - limit = { scope:target.tier = tier_county } - custom_tooltip = { - text = admin_count_grant_only_counties - any_held_title = { duchy = scope:target.duchy } - } - } - } - } - } - - can_be_picked_title = { - scope:target = { - is_leased_out = no - - NOT = { tier = tier_barony } - - scope:recipient = { - trigger_if = { # Governors can only be appointed to certain titles - limit = { - is_governor = yes - scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary - } - custom_tooltip = { # Only one province of highest rank - text = only_one_province_of_highest_rank_tt - NAND = { - highest_held_title_tier = scope:target.tier - scope:target.tier >= tier_duchy - scope:target = { # We make an exception if recipient controls at least one de jure county - any_de_jure_county = { - count < 1 - OR = { - holder = scope:recipient - holder = { is_vassal_or_below_of = scope:recipient } - } - } - } - } - } - custom_tooltip = { - text = admin_must_be_de_jure_or_neighboring - any_held_title = { - OR = { - # The target title is part of your de jure structure - is_de_jure_liege_or_above_target = scope:target - target_is_de_jure_liege_or_above = scope:target - # Or is a neighboring county which de jure duchy is not part of your realm - AND = { - any_title_to_title_neighboring_county = { this = scope:target } - scope:target = { - tier = tier_county - duchy = { - OR = { - NOT = { exists = holder } - holder = { - NOR = { - is_vassal_or_below_of = scope:actor - this = scope:actor - } - } - } - } - } - } - } - } - } - } - trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above - limit = { - is_landless_ruler = yes - any_held_title = { is_noble_family_title = yes } - } - scope:target = { NOT = { tier < tier_duchy } } - } - trigger_if = { # If recipient is a count, they can get only get counties within the same duchy - limit = { highest_held_title_tier = tier_county } - trigger_if = { - limit = { scope:target.tier = tier_county } - custom_tooltip = { - text = admin_count_grant_only_counties - any_held_title = { duchy = scope:target.duchy } - } - } - } - } - - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_GIVE_ADMIN_PRIMARY - NOT = { - this = scope:actor.capital_province.duchy - } - } - - trigger_if = { - limit = { is_noble_family_title = yes } - custom_tooltip = { - text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY - always = no - } - } - - trigger_if = { - limit = { - list_size:target_titles > 0 - } - custom_tooltip = { - text = GRANT_TITLES_ITEM_ADMIN_CANT_GIVE_MORE_THAN_ONE - any_in_list = { - list = target_titles - scope:target ?= this - } - } - } - - trigger_if = { - limit = { scope:target = title:k_fashion } - NOT = { scope:target = title:k_fashion } - } - } - - custom_description = { - text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch - subject = scope:actor.diarch - NAND = { - # Only applies if we have an active diarchy. - scope:actor = { has_active_diarchy = yes } - # Now, prevent us from giving away our diarch's land to invalidate them... - scope:target = { - any_dejure_vassal_title_holder = { this = scope:actor.diarch } - # ... _unless_ we're giving it _to_ the diarch. - NOT = { scope:recipient = scope:actor.diarch } - # Plus we only care if the title is below our tier. - tier < scope:actor.highest_held_title_tier - } - } - } - - custom_description = { - text = grant_titles_interaction_title_being_wagered - NOT = { - scope:target = { has_variable = wagered_county } - } - } - } - - auto_accept = yes - - on_auto_accept = { - scope:recipient = { - trigger_event = { - id = char_interaction.0111 - delayed = yes #this has to be delayed in case you grant it to someone that doesn't have an estate yet, for the change_government effect to work and generate the estate - } - } - } - - on_accept = { - if = { - limit = { - scope:recipient = { - is_acclaimed = yes - liege = { - this = scope:actor - } - } - } - custom_tooltip = grant_title_landing_acclaimed_knight_warning - } - - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_duchy - title_capital_county = { - NOT = { culture = scope:actor.culture } - culture = scope:recipient.culture - } - NOT = { - recent_history = { - type = granted - years = 10 - } - } - } - } - scope:recipient.culture = { - change_cultural_acceptance = { - target = scope:actor.culture - value = grant_title_cultural_acceptance_impact - desc = cultural_acceptance_gain_granted_title - } - } - } - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_county - } - scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige } - exists = scope:actor.house - exists = scope:recipient.house - scope:actor.house = scope:recipient.house - } - scope:actor = { - add_prestige = { - value = 0 - every_in_list = { - list = target_titles - limit = { tier = tier_empire } - add = massive_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_kingdom } - add = major_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_duchy } - add = medium_prestige_gain - } - } - } - } - if = { - limit = { - any_in_list = { - list = target_titles - tier >= tier_county - } - scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown } - exists = scope:actor.house - exists = scope:recipient.house - scope:actor.house = scope:recipient.house - } - scope:actor.dynasty = { - add_dynasty_prestige = { - value = 0 - every_in_list = { - list = target_titles - limit = { tier = tier_kingdom } - add = major_dynasty_prestige_gain - } - every_in_list = { - list = target_titles - limit = { tier = tier_duchy } - add = medium_dynasty_prestige_gain - } - } - } - } - - # Iterate over all given titles - # - Add opinion modifiers - # - Collect titles that discontent reduction can later be derived from - every_in_list = { - list = target_titles - save_temporary_scope_as = this_title - if = { - limit = { - exists = scope:landed_title - } - scope:recipient = { - if = { - limit = { - scope:this_title.tier = tier_duchy - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_duchy - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -10 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility - } - } - } - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - - else_if = { - limit = { - scope:this_title.tier = tier_kingdom - } - - hidden_effect = { - add_opinion = { - target = scope:actor - modifier = received_title_kingdom - } - if = { - limit = { - is_lowborn = yes - } - scope:actor = { - every_vassal = { - limit = { - has_vassal_stance = courtly - } - add_opinion = { - target = scope:actor - modifier = courtly_lowborn_grant_opinion - opinion = -30 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility - } - } - } - } - } - - scope:this_title = { add_to_temporary_list = titles_to_grant } - } - } - - #Promised a vassal this title they had a claim on (vassal.2901) - if = { - limit = { - scope:actor = { - exists = var:was_promised_title - var:was_promised_title = scope:recipient - } - } - if = { - limit = { - scope:recipient = { - exists = var:promised_title - } - scope:landed_title = scope:recipient.var:promised_title - } - scope:actor = { - trigger_event = { - id = vassal.2910 - days = { 7 14 } - } - } - } - } - } - if = { - limit = { - scope:recipient = { - has_trait = bastard - } - } - custom_tooltip = grant_title_to_bastard_dynasty_warning - } - } # every_in_list - - # The accumulated discontent reduction of the recipient - scope:recipient = { - if = { - limit = { - is_a_faction_member = yes - } - add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc - } - } - - if = { - limit = { - any_in_list = { - list = target_titles - tier = tier_kingdom - } - } - custom_tooltip = grant_title_modifier_stack_kingdoms - } - if = { - limit = { - any_in_list = { - list = titles_to_grant - tier = tier_duchy - } - } - custom_tooltip = grant_title_modifier_stack_duchies - } - if = { - limit = { - trigger_if = { - limit = { scope:actor = { is_ai = yes } } - scope:actor = { - any_vassal = { - has_vassal_stance = courtly - } - } - } - scope:recipient = { - is_lowborn = yes - } - any_in_list = { - list = titles_to_grant - tier >= tier_county - } - } - custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty - } - if = { - limit = { - scope:recipient = { is_a_faction_member = yes } - } - custom_tooltip = grant_title_modifier_stack_discontent - } - - # Jealousy check - if = { - limit = { - any_in_list = { - list = titles_to_grant - any_claimant = { grant_title_rivalry_trigger = yes } - } - } - hidden_effect = { - random = { - chance = 25 - ordered_in_list = { - list = titles_to_grant - limit = { - any_claimant = { grant_title_rivalry_trigger = yes } - } - order_by = tier - save_scope_as = claim_title - ordered_claimant = { - limit = { grant_title_rivalry_trigger = yes } - order_by = primary_title.tier - save_scope_as = claim_vassal - if = { - limit = { - scope:recipient = { is_lowborn = yes } - } - scope:recipient = { save_scope_as = lowborn_scope } - } - else_if = { - limit = { - scope:recipient = { has_claim_on = scope:claim_title } - } - scope:recipient = { save_scope_as = claimant_scope } - } - scope:actor = { - trigger_event = { - id = bp1_yearly.8070 - days = 5 - } - } - } - } - } - } - } - - scope:actor = { - # Maintenance for runestones - if = { - limit = { - # Use expanded version if we have FP1. - has_fp1_dlc_trigger = yes - fp1_remove_stele_new_holder_trigger = { - TITLE = scope:target - PREVIOUS_HOLDER = scope:actor - NEW_HOLDER = scope:recipient - } - } - # Actually removed in fp1_other_decisions.0113 - custom_tooltip = runestone_grant_title_warning - } - else_if = { - limit = { - scope:target = { - exists = var:ancestor_to_bury - has_county_modifier = county_raised_runestone_modifier - } - NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty - } - # Actually removed in religious_decision.0312 - custom_tooltip = runestone_grant_title_warning - } - - if = { - limit = { - dynasty ?= { has_dynasty_perk = ep1_culture_legacy_3 } - scope:recipient = { - is_playable_character = no - NOT = { culture = scope:actor.culture } - any_in_list = { - list = target_titles - OR = { - tier = tier_county - tier = tier_barony - } - culture = scope:recipient.culture - } - } - } - if = { - limit = { - can_add_hook = { - target = scope:recipient - type = favor_hook - } - } - add_hook = { - type = favor_hook - target = scope:recipient - } - } - } - - #Feedback for actor - hidden_effect = { - if = { - limit = { - NOT = { exists = scope:recipient_is_independent } - scope:recipient = { - any_held_title = { - tier > tier_barony - NOT = { is_in_list = target_titles } - } - } - } - set_variable = { - name = lower_count - value = { - value = -1 - every_in_list = { - list = target_titles - limit = { - NOT = { tier = scope:actor.highest_held_title_tier } - } - add = 1 - } - } - } - save_scope_value_as = { - name = equal_count - value = { - value = 0 - every_in_list = { - list = target_titles - limit = { tier = scope:actor.highest_held_title_tier } - add = 1 - } - } - } - ordered_in_list = { - list = target_titles - order_by = tier - save_temporary_scope_as = loc_title - } - send_interface_toast = { - type = event_toast_effect_neutral - title = grant_governorship_interaction_notification - left_icon = scope:recipient - right_icon = scope:loc_title - if = { - limit = { scope:actor.var:lower_count ?= 0 } - custom_tooltip = grant_governorship_interaction_notification_effect_2 - } - else_if = { - limit = { - exists = scope:actor.var:lower_count - scope:actor.var:lower_count > 1 - } - custom_tooltip = grant_governorship_interaction_notification_effect_3 - } - else_if = { - limit = { scope:actor.var:lower_count ?= 1 } - custom_tooltip = grant_governorship_interaction_notification_effect_4 - } - else_if = { - limit = { - scope:equal_count >= 1 - scope:recipient.top_liege ?= scope:actor.top_liege - } - custom_tooltip = grant_titles_interaction_notification_effect_5 - } - else = { custom_tooltip = grant_titles_interaction_notification_effect } - if = { - limit = { - exists = dynasty - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige - } - } - dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain } - } - remove_variable = lower_count - } - } - } - } - - hidden_effect = { - # Struggle Catalyst - if = { - limit = { - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Achievements. - scope:actor = { - if = { - limit = { - has_variable_list = candidate_a_knights_tale_achievement - is_target_in_variable_list = { - name = candidate_a_knights_tale_achievement - target = scope:recipient - } - } - set_global_variable = { - name = finished_a_knights_tale_achievement - value = yes - } - } - } - } - - ai_will_do = { - base = 0 - - modifier = { - scope:recipient.house ?= scope:actor.house - add = 100 - } - modifier = { - scope:recipient = { - is_close_family_of = scope:actor - } - add = 100 - } - } -} \ No newline at end of file diff --git a/N3OW/common/character_interactions/00_heir.txt b/N3OW/common/character_interactions/00_heir.txt deleted file mode 100644 index f64b94f5..00000000 --- a/N3OW/common/character_interactions/00_heir.txt +++ /dev/null @@ -1,190 +0,0 @@ - - - - -# Set one of your children as heir -#This interaction is referenced in code! If it's renamed you have to ping a coder -designate_heir_interaction = { - icon = heir - - category = interaction_category_diplomacy - - desc = designate_heir_interaction_desc - - is_shown = { - trigger_if = { - limit = { # Admin always has access to this - Recipient just need to be their child - scope:actor = { - government_has_flag = government_is_administrative - any_held_title = { - is_noble_family_title = yes - } - } - } - scope:recipient = { - is_child_of = scope:actor - } - } - trigger_else = { # Everyone else also needs to gain access to this interaction - scope:recipient = { - is_child_of = scope:actor - } - scope:actor = { - can_designate_heir_trigger = yes - } - } - NOR = { - scope:recipient = scope:actor.designated_heir - scope:recipient = scope:actor - } - trigger_if = { - limit = { - scope:actor = { NOT = { primary_title = title:e_byzantium } } - } - custom_description = { - text = "dynasty_member_leads_election" - scope:actor = { - NAND = { - primary_title = { - has_title_law_flag = elective_succession_law - } - dynasty = primary_heir.dynasty - } - } - } - } - } - - cost = { - prestige = { - value = { - add = { - if = { - limit = { - scope:actor = { - government_has_flag = government_is_administrative - any_held_title = { - is_noble_family_title = yes - } - } - } - value = designate_heir_admin_prestige_cost - } - else = { - value = designate_heir_cost - } - desc = BASE - } - if = { - limit = { - scope:actor = { - government_has_flag = government_is_landless_adventurer - } - } - multiply = { - value = 0 - desc = "[adventurer|E]" - } - } - } - } - influence = { - value = { - add = 0 - if = { - limit = { - scope:actor = { - government_has_flag = government_is_administrative - any_held_title = { - is_noble_family_title = yes - } - } - } - add = { - value = designate_heir_admin_influence_cost - desc = "[administrative_government|E]" - } - } - } - } - } - - is_valid_showing_failures_only = { - trigger_if = { - limit = { exists = scope:recipient } - scope:recipient = { - is_busy_in_events_localised = yes - is_eunuch_trigger = no - NOR = { - has_trait = disinherited - has_trait = devoted - has_trait = order_member - has_trait = bastard - } - } - } - scope:actor = { - trigger_if = { - limit = { - government_has_flag = government_is_administrative - any_held_title = { - is_noble_family_title = yes - } - } - prestige >= designate_heir_admin_prestige_cost - influence >= designate_heir_admin_influence_cost - - custom_tooltip = { - text = valid_co_emperor_candidate_liege_trigger - scope:recipient.top_liege = scope:actor.top_liege - } - } - trigger_else_if = { - limit = { - NOT = { government_has_flag = government_is_landless_adventurer } - } - prestige >= designate_heir_cost - } - trigger_else = {} - } - trigger_if = { - limit = { - scope:actor = { - government_has_flag = government_is_landless_adventurer - } - exists = scope:recipient - } - scope:recipient = { - is_adult = yes - } - } - custom_tooltip = { - text = designate_heir_interaction.tt.currently_coruling - scope:actor = { - NOT = { has_diarchy_active_parameter = diarchy_is_co_rulership } - } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0120 - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = designate_heir_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - set_designated_heir = scope:recipient - } - } - } - - auto_accept = yes -} diff --git a/N3OW/common/character_interactions/00_house_head_interactions.txt b/N3OW/common/character_interactions/00_house_head_interactions.txt deleted file mode 100644 index c1deeb52..00000000 --- a/N3OW/common/character_interactions/00_house_head_interactions.txt +++ /dev/null @@ -1,1092 +0,0 @@ -#Interactions relating to the head of the house - -call_house_member_to_war_interaction = { - category = interaction_category_diplomacy - icon = alliance - - - interface_priority = 60 - - desc = call_house_member_to_war_interaction_desc - - interface = call_ally - special_interaction = call_ally_interaction - popup_on_receive = yes - pause_on_receive = yes - - notification_text = CALL_HOUSE_MEMBER_NOTIFICATION - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - OR = { - is_house_head = yes - AND = { - exists = dynasty - # DLC checking - has_fp2_dlc_trigger = yes - # Standard check - dynasty = { has_dynasty_perk = fp2_coterie_legacy_3 } - } - } - religion = scope:recipient.religion - house = scope:recipient.house - any_character_war = { - is_war_leader = scope:actor - } - } - - scope:recipient = { - is_playable_character = yes - } - - scope:recipient = { - NOT = { - target_is_liege_or_above = scope:actor - } - } - } - - has_valid_target = { - exists = scope:target - } - - has_valid_target_showing_failures_only = { - scope:target = { - is_war_leader = scope:actor - } - joiner_not_already_in_another_war_with_any_target_war_participants_trigger = { - WARRIOR = scope:actor - JOINER = scope:recipient - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = "is_already_in_all_wars" - scope:actor = { - any_character_war = { - NOR = { - is_participant = scope:recipient - was_called = scope:recipient - } - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - } - } - } - } - - can_be_picked = { - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:actor JOINER = scope:recipient } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = call_ally.0001 - } - } - - on_accept = { - call_house_member_to_war_interaction_effect = yes - - save_scope_value_as = { - name = call_house_member_to_war_interaction - value = yes - } - - if = { - limit = { - exists = scope:target - } - - scope:actor = { - trigger_event = call_ally.0100 - } - } - - scope:actor = { - if = { - limit = { NOT = { is_house_head = yes } } - add_prestige = medium_prestige_loss - } - } - - # If the Dynasty has the Unity Legacy perk, the recipient is rewarded with some Prestige - if = { - limit = { scope:actor.dynasty = { has_dynasty_perk = fp2_coterie_legacy_3 } } - scope:recipient = { add_prestige = medium_prestige_gain } - } - } - - on_decline = { - #The war could theoretically end on the day the decline is sent - if = { - limit = { - exists = scope:target - } - - scope:target = { - if = { - limit = { - is_attacker = scope:actor - } - scope:actor = { - add_opinion = { - modifier = rejected_call_to_offensive_war - target = scope:recipient - } - } - } - else = { - scope:actor = { - add_opinion = { - modifier = rejected_call_to_defensive_war - target = scope:recipient - } - } - } - scope:actor = { - trigger_event = call_ally.0101 - } - } - - # If we're a clan this interaction affects unity - refuse_call_to_arms_add_clan_unity_effect = yes - } - } - - ai_accept = { - base = 20 - - modifier = { # Refuse call to conflicts of little benefit - add = -1000 - desc = WONT_FIGHT_MEANINGLESS_REASON - trigger_if = { - limit = { exists = scope:target } - scope:target = { using_cb = fp2_border_raid } - scope:recipient = { # Unless they like going on raids - NOR = { - has_trait = viking - has_trait = reaver - } - } - } - trigger_else = { always = no } - } - - modifier = { # Refuse call against Heir - add = -1000 - exists = scope:recipient.player_heir - trigger_if = { - limit = { scope:target.casus_belli.primary_defender = scope:actor } - scope:target.casus_belli.primary_attacker = scope:recipient.player_heir - } - trigger_else = { - scope:target.casus_belli.primary_defender = scope:recipient.player_heir - } - desc = WONT_FIGHT_HEIR_REASON - } - - modifier = { # Refuse call against Spouse - add = -1000 - scope:recipient = { - trigger_if = { - limit = { scope:target.casus_belli.primary_defender = scope:actor } - any_spouse = { - this = scope:target.casus_belli.primary_attacker - } - } - trigger_else = { - any_spouse = { - this = scope:target.casus_belli.primary_defender - } - } - - } - desc = WONT_FIGHT_SPOUSE_REASON - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - - # Honor factor - ai_value_modifier = { - ai_honor = 1 - min = 0 - } - - modifier = { # Tends to join defensive wars - add = 50 - scope:target.casus_belli.primary_defender = scope:actor - desc = DEFENSIVE_WAR_REASON - } - - compare_modifier = { # Likes fighting infidels - trigger = { - scope:recipient.faith = scope:actor.faith - OR = { - AND = { - scope:target.casus_belli.primary_attacker = { - this = scope:actor - faith = { - faith_hostility_level = { - target = scope:target.casus_belli.primary_defender.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - AND = { - scope:target.casus_belli.primary_defender = { - this = scope:actor - faith = { - faith_hostility_level = { - target = scope:target.casus_belli.primary_defender.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - } - } - target = scope:recipient - value = ai_zeal - desc = "ZEAL_AGAINST_INFIDELS" - min = 0 - multiplier = 0.5 - } - - modifier = { # Reluctant to attack another ally - add = -50 - scope:target.casus_belli.primary_attacker = scope:actor - scope:recipient = { - is_allied_to = scope:target.casus_belli.primary_defender - } - desc = ATTACK_ON_ALLY_REASON - } - - modifier = { # Reluctant to defend against another ally - add = -25 - scope:target.casus_belli.primary_defender = scope:actor - scope:recipient = { - is_allied_to = scope:target.casus_belli.primary_attacker - } - desc = WAR_WITH_ALLY_REASON - } - - modifier = { # Reluctant to join wars against religious brethren. - add = -50 - NOT = { scope:recipient.faith = scope:actor.faith } - scope:target.casus_belli.primary_attacker = scope:actor - scope:target.casus_belli.primary_defender.faith = scope:recipient.faith - scope:target.casus_belli.war = { - OR = { - using_cb = minor_religious_war - using_cb = religious_war - using_cb = major_religious_war - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - } - desc = WONT_ATTACK_RELIGIOUS_BRETHREN_REASON - } - - modifier = { # Happy to gain Prestige thanks to the Unity perk - add = 50 - dynasty = { has_dynasty_perk = fp2_coterie_legacy_3 } - desc = "UNITY_PERK_BONUS" - } - - fp3_struggle_resist_allied_wars_modifier = yes - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no -} - - -#Head legitimizes child or actor requests from head to legitimize -legitimize_bastard_interaction = { - category = interaction_category_diplomacy - special_interaction = legitimize_bastard - icon = legitimized_bastard - - greeting = positive - notification_text = ASK_TO_legitimize_bastard_interaction - - desc = { - first_valid = { - triggered_desc = { - trigger = { scope:actor.house.house_head = scope:actor } - desc = legitimize_bastard_interaction_desc_house_head - } - desc = legitimize_bastard_interaction_desc_not_house_head - } - } - - is_shown = { - scope:actor.house.house_head.faith = { - has_doctrine_parameter = bastards_legitimize - } - scope:actor.faith = { - has_doctrine_parameter = bastards_legitimize - } - scope:secondary_recipient = { - faith = { - has_doctrine_parameter = bastards_legitimize - } - has_trait = bastard - OR = { - father = scope:actor - mother = scope:actor - scope:actor.house.house_head = scope:actor - } - OR = { - house = scope:actor.house - AND = { - OR = { - father.house = scope:actor.house - mother.house = scope:actor.house - } - has_dynasty = no - } - } - } - scope:actor = { - is_lowborn = no - is_concubine = no - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - is_valid_showing_failures_only = { - - } - - cost = { - prestige = { - value = bastard_legitimization_prestige_cost - } - } - - ai_accept = { - base = -50 - - modifier = { - trigger = { - NOT = { scope:actor = scope:actor.house.house_head } - } - add = { - value = scope:actor.prestige_level - multiply = 20 - } - desc = PRESTIGOUS_IN_OUR_HOUSE - } - - modifier = { - trigger = { - always = scope:hook - } - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - opinion_modifier = { - trigger = { - NOT = { scope:actor = scope:actor.house.house_head } - } - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - } - - opinion_modifier = { - trigger = { - NOT = { scope:actor = scope:actor.house.house_head } - } - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = 0.25 - } - - modifier = { - add = intimidated_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } - - auto_accept = { - OR = { - scope:actor = scope:actor.house.house_head - AND = { - always = scope:hook - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_accept = { - scope:actor = { - stress_impact = { - arrogant = minor_stress_impact_gain - } - - legitimize_bastard_interaction_opinions_effect = { - BASTARD = scope:secondary_recipient - HOUSE_HEAD = scope:actor.house.house_head - LEGITIMIZER = scope:actor - } - - if = { - limit = { always = scope:hook } - scope:actor = { - use_hook = scope:recipient - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_bastardry.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = legitimize_bastard_interaction_decline_notification - - left_icon = scope:actor.house.house_head - right_icon = scope:secondary_recipient - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_bastardry_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no -} - -accuse_of_decandence_interaction = { - icon = antagonistic - category = interaction_category_hostile - interface_priority = 60 - common_interaction = yes - - cooldown = { years = 3 } - - desc = accuse_of_decandence_interaction_desc - - is_shown = { - scope:actor = { government_has_flag = government_is_clan } - NOT = { scope:recipient = scope:actor } - scope:actor.house.house_head ?= scope:actor - scope:recipient.house ?= scope:actor.house - scope:recipient = { - NOT = { - has_trait = decadent - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_adult = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0041 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - forgiving = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - send_interface_toast = { - type = event_toast_effect_neutral - title = accuse_of_decandence_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - add_stress = major_stress_gain - if = { - limit = { - has_trait = extolled - } - remove_trait = extolled - } - else = { - add_trait = decadent - } - add_opinion = { - modifier = accused_of_decadence_opinion - target = scope:actor - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_decadence.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - piety = { - value = { - add = minor_piety_value - if = { - limit = { - scope:recipient = { - num_virtuous_traits > 0 - } - } - add = { - value = minor_piety_value - multiply = scope:recipient.num_virtuous_traits - } - } - if = { - limit = { - scope:recipient = { - num_sinful_traits > 0 - } - } - add = { - value = minor_piety_value - multiply = 0.5 - multiply = scope:recipient.num_sinful_traits - min = 10 - } - } - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - government_has_flag = government_is_clan - house.house_head ?= this - is_adult = yes - NOT = { - has_trait = forgiving - } - } - - ai_targets = { - ai_recipients = dynasty - max = 30 - } - - ai_targets = { - ai_recipients = vassals - } - - ai_frequency = 36 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { - add = 50 - scope:actor = { - ai_wants_low_unity = yes - NOT = { house ?= { has_house_unity_stage = antagonistic } } - } - scope:recipient = { - num_sinful_traits >= 1 - } - } - - modifier = { - add = 100 - scope:actor = { - ai_wants_low_unity = yes - NOT = { house ?= { has_house_unity_stage = antagonistic } } - } - scope:recipient = { - num_sinful_traits >= 2 - } - } - - modifier = { - add = 20 - scope:actor = { - ai_wants_low_unity = yes - NOT = { house ?= { has_house_unity_stage = antagonistic } } - } - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value >= 1 - } - } - } - - modifier = { - add = 100 - scope:actor = { - ai_wants_low_unity = yes - NOT = { house ?= { has_house_unity_stage = antagonistic } } - } - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value >= 2 - } - } - } - - modifier = { - add = 50 - scope:actor = { - ai_wants_low_unity = yes - NOT = { house ?= { has_house_unity_stage = antagonistic } } - } - OR = { - AND = { - scope:recipient = { - has_trait = incestuous - } - NOT = { is_incestuous_trigger = yes } - trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = kinslayer - } - NOT = { has_trait = kinslayer } - } - AND = { - scope:recipient = { - has_trait = adulterer - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = fornicator - } - NOR = { - has_trait = adulterer - has_trait = fornicator - } - trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = deviant - } - NOT = { - is_deviant_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = witch - } - NOT = { - is_witch_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = sodomite - } - NOR = { - has_trait = sodomite - any_secret = { - secret_type = secret_homosexual - } - } - trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - AND = { - scope:recipient = { - has_trait = cannibal - } - NOT = { - is_cannibal_trigger = yes - } - trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = scope:actor.faith GENDER_CHARACTER = scope:recipient } - } - } - } - - modifier = { - factor = 0.25 - scope:recipient = { - is_powerful_vassal_of = scope:actor - } - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_primary_heir_of = scope:actor - } - } - } -} - -extoll_virtuousness_interaction = { - icon = unity_harmonious - category = interaction_category_friendly - interface_priority = 60 - common_interaction = yes - - cooldown = { years = 3 } - - desc = extoll_virtuousness_interaction_desc - - is_shown = { - scope:actor = { government_has_flag = government_is_clan } - NOT = { scope:recipient = scope:actor } - scope:actor.house.house_head ?= scope:actor - scope:recipient.house ?= scope:actor.house - scope:recipient = { - NOT = { - has_trait = extolled - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_adult = yes } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0042 - } - } - - on_accept = { - scope:actor = { - stress_impact = { - sadistic = minor_stress_impact_gain - callous = minor_stress_impact_gain - } - send_interface_toast = { - type = event_toast_effect_neutral - title = extoll_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - if = { - limit = { - has_trait = decadent - } - remove_trait = decadent - } - else = { - add_trait = extolled - } - add_opinion = { - modifier = extolled_virtue_opinion - target = scope:actor - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_gain - DESC = clan_unity_extolled.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - cost = { - piety = { - value = { - add = medium_piety_value - if = { - limit = { - scope:recipient = { - num_sinful_traits > 0 - } - } - add = { - value = medium_piety_value - multiply = scope:recipient.num_sinful_traits - } - } - if = { - limit = { - scope:recipient = { - num_virtuous_traits > 0 - } - } - add = { - value = medium_piety_value - multiply = 0.5 - multiply = scope:recipient.num_virtuous_traits - min = 10 - } - } - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = no - government_has_flag = government_is_clan - house.house_head ?= this - is_adult = yes - NOT = { - has_trait = paranoid - } - } - - ai_targets = { - ai_recipients = dynasty - max = 30 - } - - ai_targets = { - ai_recipients = vassals - } - - ai_frequency = 36 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:actor = { - NOT = { ai_wants_low_unity = yes } - } - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - is_primary_heir_of = scope:actor - } - } - } - - modifier = { - add = 50 - scope:actor = { - ai_wants_high_unity = yes - NOT = { house ?= { has_house_unity_stage = harmonious } } - } - scope:recipient = { - num_virtuous_traits >= 1 - } - } - - modifier = { - add = 100 - scope:actor = { - ai_wants_high_unity = yes - NOT = { house ?= { has_house_unity_stage = harmonious } } - } - scope:recipient = { - num_virtuous_traits >= 2 - } - } - - modifier = { - add = 20 - scope:actor = { - ai_wants_high_unity = yes - NOT = { house ?= { has_house_unity_stage = harmonious } } - } - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value >= 1 - } - } - } - - modifier = { - add = 100 - scope:actor = { - ai_wants_high_unity = yes - NOT = { house ?= { has_house_unity_stage = harmonious } } - } - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value >= 2 - } - } - } - - modifier = { - factor = 1.5 - scope:recipient = { - is_vassal_of = scope:actor - } - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - } -} diff --git a/N3OW/common/character_interactions/00_invite_agent_to_scheme.txt b/N3OW/common/character_interactions/00_invite_agent_to_scheme.txt deleted file mode 100644 index 54b6a8c2..00000000 --- a/N3OW/common/character_interactions/00_invite_agent_to_scheme.txt +++ /dev/null @@ -1,754 +0,0 @@ - -invite_agent_to_scheme_interaction = { - special_interaction = invite_to_scheme_interaction - hidden = yes - - # Delaying the response makes it possible to invite multiple agents to the same slot. - ai_instant_response = yes - - on_accept = { - scope:recipient = { - if = { - limit = { - OR = { - always = scope:gift - always = scope:gift_significant - always = scope:offer_hook - always = scope:offer_hook_strong - always = scope:hook - always = scope:opportunities_t1 - always = scope:opportunities_t2 - always = scope:prestige - always = scope:influence - always = scope:council_rights - always = scope:de_jure_title - always = scope:claimed_title - always = scope:piety - always = scope:herd - } - } - force_add_to_agent_slot = { - agent_slot = scope:agent_slot - years = 5 - } - } - else = { add_to_agent_slot = scope:agent_slot } - } - scope:actor = { - # No bribe. - ## We hack this in to stop the window jumping around as you add or remove bribes. - if = { - limit = { - NOR = { - always = scope:gift - always = scope:gift_significant - always = scope:offer_hook - always = scope:offer_hook_strong - always = scope:hook - always = scope:opportunities_t1 - always = scope:opportunities_t2 - always = scope:prestige - always = scope:influence - always = scope:council_rights - always = scope:de_jure_title - always = scope:claimed_title - always = scope:piety - always = scope:herd - } - } - custom_tooltip = offer_bribes.tt.window_jump_fix - } - # Bribe - if = { - limit = { always = scope:gift } - pay_short_term_gold = { - gold = bribe_value - target = scope:recipient - } - stress_impact = { greedy = minor_stress_impact_gain } - } - # Big Bribe - if = { - limit = { always = scope:gift_significant } - pay_short_term_gold = { - gold = greater_bribe_value - target = scope:recipient - } - stress_impact = { greedy = medium_stress_impact_gain } - } - # Offer Hook - if = { - limit = { always = scope:offer_hook } - stress_impact = { - base = minor_stress_impact_gain - paranoid = major_stress_impact_gain - } - scope:recipient = { - add_hook = { - type = favor_hook - target = scope:actor - } - } - } - # Offer Strong Hook - if = { - limit = { always = scope:offer_hook_strong } - stress_impact = { base = major_stress_impact_gain } - scope:recipient = { - add_hook = { - type = strong_favor_hook - target = scope:actor - } - } - } - # Use Hook - if = { - limit = { always = scope:hook } - use_hook = scope:recipient - } - # Burn Opportunities - if = { - limit = { always = scope:opportunities_t1 } - custom_tooltip = { - text = spend_agent_charges.tt.t1 - scope:scheme = { - change_opportunities = { - value = invite_agent_opportunities_t1_value - multiply = -1 - } - } - } - } - # Burn More Opportunities - if = { - limit = { always = scope:opportunities_t2 } - custom_tooltip = { - text = spend_agent_charges.tt.t2 - scope:scheme = { - change_opportunities = { - value = invite_agent_opportunities_t2_value - multiply = -1 - } - } - } - } - # Prestige - if = { - limit = { always = scope:prestige } - add_prestige = { - value = prestige_bribe_value - multiply = -1 - } - scope:recipient = { add_prestige = prestige_bribe_value } - } - # Influence - if = { - limit = { always = scope:influence } - change_influence = { - value = influence_bribe_value - multiply = -1 - } - scope:recipient = { change_influence = influence_bribe_value } - } - # Council Rights - if = { - limit = { always = scope:council_rights } - scope:recipient = { - vassal_contract_set_obligation_level = { - type = council_rights - level = 1 - } - set_subject_contract_modification_blocked = yes - } - } - create_title_and_vassal_change = { - type = granted - save_scope_as = change - } - # De Jure County - if = { - limit = { always = scope:de_jure_title } - random_held_title = { - limit = { - actor_has_valid_de_jure_enticement_county_trigger = yes - any_this_title_or_de_jure_above = { - holder ?= { this = scope:recipient } - } - } - change_title_holder = { - holder = scope:recipient - change = scope:change - } - } - } - # Claimed County - if = { - limit = { always = scope:claimed_title } - random_held_title = { - limit = { - actor_has_valid_claimed_enticement_county_trigger = yes - scope:recipient = { has_claim_on = prev } - } - change_title_holder = { - holder = scope:recipient - change = scope:change - } - } - } - resolve_title_and_vassal_change = scope:change - # Piety - if = { - limit = { always = scope:piety } - scope:actor = { - add_piety = { - value = piety_bribe_value - multiply = -1 - } - } - scope:recipient = { add_piety = piety_bribe_value } - } - # Herd - if = { - limit = { always = scope:herd } - if = { - limit = { - scope:recipient.domicile ?= { - herd > 0 - } - } - scope:actor = { - pay_herd = { - target = scope:recipient - value = domicile.herd_bribe_value - } - } - } - else = { - scope:actor = { custom_tooltip = scheme_change_herd_value } - hidden_effect = { - scope:actor.domicile = { - change_herd = { - value = herd_bribe_value - multiply = -1 - } - } - scope:recipient = { - add_gold = { - value = herd_bribe_value - multiply = 0.1 - } - } - } - } - } - } - # Stress. - ## For scope: recipient. - scope:recipient = { - if = { - limit = { - scope:scheme = { is_scheme_category = contract } - } - # Honourable characters don't like being forced into criminal schemes. - if = { - limit = { - OR = { - has_trait = just - has_trait = compassionate - } - scope:scheme.task_contract ?= { is_criminal = yes } - } - add_opinion = { - target = scope:actor - modifier = forced_me_to_help_crimes_opinion - opinion = -20 - } - stress_impact = { - just = minor_stress_impact_gain - compassionate = miniscule_stress_impact_gain - } - } - # Lazy characters don't like being made to work at all. - else_if = { - limit = { has_trait = lazy } - add_opinion = { - target = scope:actor - modifier = forced_me_to_work_opinion - opinion = -10 - } - stress_impact = { lazy = miniscule_stress_impact_gain } - } - } - } - } - - ai_accept = { - base = 0 - scheme_modifier = { - object = scope:scheme - target = scope:recipient - } - # You should not add modifiers here! If you want to add modifiers, they should be added to either: - ## - ai_agent_join_chance_hostile_general_suite_modifier - ## - ai_agent_join_chance_personal_general_suite_modifier - } - - auto_accept = { - trigger_if = { - limit = { - scope:recipient.var:devotee_agent_var ?= scope:actor # They are a devotee of yours - } - custom_tooltip = devotee_agent_desc - } - trigger_else_if = { - limit = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - always = yes - } - } - trigger_else_if = { - limit = { - scope:scheme = { is_scheme_category = contract } - } - # Should be synced with the modifiers in ai_agent_join_chance_laamp_contract_modifier, else agents'll leave the scheme immediately after joining. - scope:recipient = { - is_courtier_of = scope:actor - NOR = { - has_relation_rival = scope:actor - custom_tooltip = { - text = invite_agent_to_scheme_interaction.tt.no_stooges - AND = { - scope:actor = { has_court_position = stooge_camp_officer } - is_court_position_employer = { - court_position = stooge_camp_officer - who = scope:actor - } - } - } - } - } - } - trigger_else = { always = no } - } - - options_heading = invite_agent_to_scheme_interaction.t.options_header - # Everyone - ## Spend opportunities. - ### x1. - send_option = { - flag = opportunities_t1 - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - custom_tooltip = { - text = offer_opportunities.tt.need_an_opportunity.t1 - scope:scheme = { scheme_agent_charges >= invite_agent_opportunities_t1_value } - } - custom_tooltip = { - text = offer_opportunities.tt.cannot_offer_multiple_sets - scope:opportunities_t2 = no - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_OPPORTUNITIES_T1 - } - ### x3. - send_option = { - flag = opportunities_t2 - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - custom_tooltip = { - text = offer_opportunities.tt.need_an_opportunity.t2 - scope:scheme = { scheme_agent_charges >= invite_agent_opportunities_t2_value } - } - custom_tooltip = { - text = offer_opportunities.tt.cannot_offer_multiple_sets - scope:opportunities_t1 = no - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_OPPORTUNITIES_T2 - } - ## Gold - send_option = { - flag = gift - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:actor.gold >= bribe_value - custom_tooltip = { - text = offer_gold.tt.cannot_offer_both_bribes - scope:gift_significant = no - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_GOLD - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.gold >= bribe_value } - desc = SCHEME_AGENT_GOLD_VALID - } - } - } - ## Even more gold - send_option = { - flag = gift_significant - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:actor.gold >= greater_bribe_value - custom_tooltip = { - text = offer_gold.tt.cannot_offer_both_bribes - scope:gift = no - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_GOLD_SIGNIFICANT - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.gold >= greater_bribe_value } - desc = SCHEME_AGENT_GOLD_SIGNIFICANT_VALID - } - } - } - ## Offer a hook - send_option = { - flag = offer_hook - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - custom_tooltip = { - text = offer_hook.tt.cannot_offer_both_hooks - scope:offer_hook_strong = no - } - NOT = { - scope:recipient = { has_hook = scope:actor } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_HOOK - } - ## Offer a strong hook - send_option = { - flag = offer_hook_strong - is_shown = { - scope:actor = { has_trait_with_flag = can_offer_strong_hook_to_agents } - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - custom_tooltip = { - text = offer_hook.tt.cannot_offer_both_hooks - scope:offer_hook = no - } - NOT = { - scope:recipient = { has_strong_hook = scope:actor } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_HOOK_STRONG - } - ## Use hook. - ### Weak hook bonus is added through the scheme's agent join chance. - ### Strong hook is in the auto_accept block. - send_option = { - flag = hook - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_HOOK_EXPLICIT - } - # Rulers - ## Prestige - send_option = { - flag = prestige - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:actor.prestige >= prestige_bribe_value - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_PRESTIGE - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.prestige >= prestige_bribe_value } - desc = SCHEME_AGENT_PRESTIGE_VALID - } - } - } - ## Influence - send_option = { - flag = influence - is_shown = { - scope:actor.top_liege ?= scope:recipient.top_liege - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - OR = { - government_has_flag = government_is_administrative - host = { government_has_flag = government_is_administrative } - AND = { - highest_held_title_tier = tier_barony - liege = { government_has_flag = government_is_administrative } - } - } - } - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:actor.influence >= influence_bribe_value - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_INFLUENCE - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.influence >= influence_bribe_value } - desc = SCHEME_AGENT_INFLUENCE_VALID - } - } - } - ## Council Rights - send_option = { - flag = council_rights - is_shown = { - would_actor_consider_dramatic_enticement_trigger = yes - scope:recipient.liege ?= scope:actor - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:recipient = { vassal_contract_has_modifiable_obligations = yes } - NOT = { - scope:recipient = { has_trait = lazy } - } - custom_tooltip = { - text = council_rights.tt.already_has_council_rights - scope:recipient = { - NOR = { - vassal_contract_has_flag = can_demand_council_seat - vassal_contract_has_flag = can_demand_kurultai_seat - } - } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_COUNCIL_RIGHTS - } - ## De jure county of theirs you hold. - send_option = { - flag = de_jure_title - is_shown = { - would_actor_consider_dramatic_enticement_trigger = yes - scope:recipient = { - is_landed = yes - any_liege_or_above = { this = scope:actor } - } - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - custom_tooltip = { - text = de_jure_title.tt.no_suitable_county - scope:actor = { - any_held_title = { - actor_has_valid_de_jure_enticement_county_trigger = yes - any_this_title_or_de_jure_above = { - holder ?= { this = scope:recipient } - } - } - } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_DE_JURE_TITLE - } - # Landless Chars - ## County they hold a claim to that you hold. - send_option = { - flag = claimed_title - is_shown = { - would_actor_consider_dramatic_enticement_trigger = yes - trigger_if = { - limit = { - exists = scope:scheme.scheme_target_character - } - scope:recipient = { - is_ruler = no - # And you don't want them _because_ they're in your target's court. - NOT = { host = scope:scheme.scheme_target_character } - } - } - trigger_if = { - limit = { - exists = scope:scheme.scheme_target_title - } - scope:recipient = { - is_ruler = no - # And you don't want them _because_ they're in your target's court. - NOT = { host = scope:scheme.scheme_target_title.holder } - } - } - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:recipient = { - trigger_if = { - limit = { - any_claim = { count >= 1 } - } - custom_tooltip = { - text = claimed_title.tt.no_valid_county - any_claim = { actor_has_valid_claimed_enticement_county_trigger = yes } - } - } - trigger_else = { - custom_tooltip = { - text = claimed_title.tt.no_claims - always = no - } - } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_CLAIMED_TITLE - } - # Nomad Chars - ## Use Herd - send_option = { - flag = herd - is_shown = { - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - scope:actor = { - government_has_flag = government_is_nomadic - is_ai = no - } - scope:recipient = { - government_has_flag = government_is_nomadic - exists = domicile - } - } - is_valid = { - scope:actor.domicile.herd >= herd_bribe_value - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_HERD - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.domicile.herd >= herd_bribe_value } - desc = SCHEME_AGENT_HERD_VALID - } - } - } - # Cofaithists - ## Piety - send_option = { - flag = piety - is_shown = { - ## Target amenable to this argument. - scope:recipient = { - OR = { - has_trait = devoted - has_trait = zealous - has_council_position = councillor_court_chaplain - government_has_flag = government_is_theocracy - } - } - ## In-group out-group requirements. - OR = { - ## Either we share a faith. - scope:actor.faith = scope:recipient.faith - ## Or our faiths *really* get along. - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value <= faith_fully_accepted_level - } - } - } - # We don't show bribes for schemes where agents will always auto-accept or else deny. - NAND = { - scope:scheme = { is_scheme_category = contract } - scope:recipient = { is_courtier_of = scope:actor } - } - } - is_valid = { - scope:actor.piety >= piety_bribe_value - NOT = { - scope:recipient = { has_trait = cynical } - } - would_agent_accept_petty_bribes_against_target_trigger = yes - } - localization = SCHEME_AGENT_PIETY - current_description = { - # Triggered desc so that we don't get a weird double tooltip. - triggered_desc = { - trigger = { scope:actor.piety >= piety_bribe_value } - desc = SCHEME_AGENT_PIETY_VALID - } - } - } - send_options_exclusive = no -} diff --git a/N3OW/common/character_interactions/00_invite_to_activity.txt b/N3OW/common/character_interactions/00_invite_to_activity.txt deleted file mode 100644 index ea6e1f09..00000000 --- a/N3OW/common/character_interactions/00_invite_to_activity.txt +++ /dev/null @@ -1,83 +0,0 @@ -invite_to_activity_interaction = { - category = interaction_category_diplomacy - greeting = positive - notification_text = invite_to_activity_flavor - reply_item_key = invite_to_activity_reply_item_key - icon = activity_feast - common_interaction = yes - desc = invite_to_activity_interaction_desc - - ai_maybe = yes - can_send_despite_rejection = yes - - is_highlighted = { - always = yes - } - - is_shown = { - exists = scope:actor.involved_activity - scope:actor = scope:actor.involved_activity.activity_host - scope:actor.involved_activity = { - is_current_phase_active = no - OR = { - has_activity_type = activity_tournament - has_activity_type = activity_wedding - has_activity_type = activity_feast - has_activity_type = activity_hunt - has_activity_type = activity_chariot_race - } - } - scope:recipient = { can_join_activity = scope:actor.involved_activity } - } - - on_send = { - scope:recipient = { - invite_to_activity = scope:actor.involved_activity - } - } - - on_accept = { - # Acceptance handled by the activity system itself - scope:actor = { - send_interface_message = { - type = event_activity_good_with_text - title = invite_to_activity_accepted - desc = invite_to_activity_accepted_desc - left_icon = scope:actor - right_icon = scope:recipient - scope:recipient = { - accept_activity_invite = scope:actor.involved_activity - } - } - } - } - - on_decline = { - # Acceptance handled by the activity system itself - scope:actor = { - send_interface_message = { - type = event_activity_bad_with_text - title = invite_to_activity_refused - desc = invite_to_activity_refused_desc - left_icon = scope:actor - right_icon = scope:recipient - scope:recipient = { - decline_activity_invite = scope:actor.involved_activity - } - } - } - } - - ai_accept = { - base = 0 - - ## You should not add modifiers here! They won't show up in the UI - # If you want to add modifiers, they should be added to base_activity_modifier in 00_activity_scripted_modifiers.txt - # Any new activity should use base_activity_modifier = yes in their activity to get these default modifiers - - activity_modifier = { - object = scope:actor.involved_activity - target = scope:recipient - } - } -} diff --git a/N3OW/common/character_interactions/00_lease_interactions.txt b/N3OW/common/character_interactions/00_lease_interactions.txt deleted file mode 100644 index 2f60beb6..00000000 --- a/N3OW/common/character_interactions/00_lease_interactions.txt +++ /dev/null @@ -1,79 +0,0 @@ -revoke_leased_title_interaction = { - category = interaction_category_uncategorized - hidden = yes - - desc = revoke_leased_title_interaction_desc - - target_type = title - target_filter = recipient_lessee_titles - - auto_accept = yes - - is_shown = { - scope:actor = { - any_sub_realm_barony = { - barony_is_valid_for_holy_order_lease_cancellation_trigger = yes - lessee ?= scope:recipient - } - } - } - - #is_valid = { - # scope:actor = { - # piety >= holy_order_revoke_lease_piety_cost - # } - #} - - has_valid_target_showing_failures_only = { - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - #scope:target = { - # NOT = { - # recent_history = { - # type = leased_out - # years = 1 - # } - # } - #} - scope:target = { - has_revokable_lease = yes - lessee = scope:recipient - OR = { - county.holder = { is_ai = yes } - county.holder = scope:actor - } - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - } - - on_accept = { - revoke_holy_order_lease_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - BARONY = scope:target - } - } - - # AI - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 12 - - ai_potential = { - is_playable_character = yes - highest_held_title_tier > tier_barony - } - - ai_will_do = { - base = 0 - - # revoke titles leased to holy orders of the wrong faith - modifier = { - add = 100 - scope:recipient = { - government_has_flag = government_is_holy_order - NOT = { faith = scope:actor.faith } - } - } - } -} diff --git a/N3OW/common/character_interactions/00_lover_interactions.txt b/N3OW/common/character_interactions/00_lover_interactions.txt deleted file mode 100644 index 4791191e..00000000 --- a/N3OW/common/character_interactions/00_lover_interactions.txt +++ /dev/null @@ -1,47 +0,0 @@ -#Break up with your Lover -break_up_with_lover_interaction = { - category = interaction_category_hostile - use_diplomatic_range = no - icon = lover - - desc = break_up_with_lover_interaction_desc - - is_shown = { - scope:actor = { - has_relation_lover = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - } - - on_accept = { - scope:actor = { - send_interface_message = { - type = event_sway_neutral - title = break_up_with_lover_interaction_notification - right_icon = scope:recipient - lover_breakup_effect = { - BREAKER = scope:actor - LOVER = scope:recipient - } - stress_impact = { - lustful = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_dramatic_breakup.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} diff --git a/N3OW/common/character_interactions/00_marriage_interactions.txt b/N3OW/common/character_interactions/00_marriage_interactions.txt deleted file mode 100644 index 3916c4cf..00000000 --- a/N3OW/common/character_interactions/00_marriage_interactions.txt +++ /dev/null @@ -1,5424 +0,0 @@ - - -### -# SPECIAL NOTE -# -# When evaluating whether or not the AI can send this interaction to the -# player, the AI will use the ai_accept value and send a proposal to the -# player IF AND ONLY IF the player, as an AI actor, would have positive -# ai_accept value. This is a special case for this specific interaction, -# and is being calculated specifically in code. -# -arrange_marriage_interaction = { - icon = icon_marriage - category = interaction_category_diplomacy - common_interaction = yes - - override_background = { reference = relaxing_room } - - special_interaction = arrange_marriage_interaction - interface = marriage - use_diplomatic_range = { - trigger_if = { - limit = { exists = scope:secondary_actor.betrothed } - NOT = { - scope:secondary_actor = { - betrothed = scope:secondary_recipient - } - } - } - } - - recipient_recieve_cooldown = { - years = marriage_recieve_proposal_cooldown - } - - ignore_recipient_recieve_cooldown = { - AND = { - is_ai = no - scope:recipient = { is_ai = no } - } - } - - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = scope:recipient - } - desc = arrange_marriage_interaction_desc_ruler_at_own_court - } - triggered_desc = { - trigger = { - scope:actor = { - can_marry_character_trigger = { - CHARACTER = scope:recipient - } - } - scope:recipient = { is_ruler = yes } - } - desc = arrange_marriage_interaction_desc_both_rulers_can_marry - } - triggered_desc = { - trigger = { - scope:recipient = { - is_ruler = yes - can_marry_trigger = yes - } - } - desc = arrange_marriage_interaction_desc_both_rulers_recipient_only_can_marry - } - triggered_desc = { - trigger = { - scope:recipient = { - is_ruler = yes - } - } - desc = arrange_marriage_interaction_desc_both_rulers_recipient_neither_can_marry - } - triggered_desc = { - trigger = { - scope:actor = { - can_marry_character_trigger = { - CHARACTER = scope:recipient - } - } - } - desc = arrange_marriage_interaction_desc_one_ruler_can_marry - } - desc = arrange_marriage_interaction_desc_recipient_one_ruler_cannot_marry - } - } - - redirect = { - # If the define MARRIAGE_OWNER_IS_MATCHMAKER is set to yes, the actor must end up as the "matchmaker" link for courtiers - scope:actor = { - if = { - limit = { - exists = matchmaker - NOT = { this = matchmaker } - } - save_scope_as = secondary_actor - matchmaker = { - save_scope_as = actor - } - } - if = { - limit = { - is_betrothed = yes - betrothed = scope:recipient - } - - save_scope_as = secondary_actor - } - } - - scope:recipient = { - if = { - limit = { - is_betrothed = yes - betrothed.matchmaker = scope:actor - is_adult = yes - betrothed = { - is_adult = yes - } - } - - save_scope_as = secondary_recipient - matchmaker = { - save_scope_as = recipient - } - betrothed = { - save_scope_as = secondary_actor - } - } - if = { - limit = { - exists = matchmaker - NOT = { this = matchmaker } - } - save_scope_as = secondary_recipient - matchmaker = { - save_scope_as = recipient - } - } - } - } - - populate_actor_list = { - scope:actor = { - add_to_list = characters - every_courtier = { - limit = { - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_courtier_away = { - limit = { - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - even_if_dead = yes - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - even_if_dead = yes - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - OR = { - top_liege = scope:actor - house.house_head = scope:actor - dynasty.dynast = scope:actor - } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - OR = { - top_liege = scope:actor - house.house_head = scope:actor - dynasty.dynast = scope:actor - } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - } - } - } - } - } - - populate_recipient_list = { - scope:recipient = { - add_to_list = characters - every_courtier = { - add_to_list = characters - } - every_courtier_away = { - add_to_list = characters - } - every_child = { - limit = { - NOT = { is_in_list = characters } - } - add_to_list = characters - } - } - } - - interface_priority = 60 - - cost = { - prestige = { - value = 0 - if = { - limit = { - exists = scope:actor - exists = scope:recipient - exists = scope:secondary_recipient - exists = scope:secondary_actor - scope:secondary_actor = { is_close_family_of = scope:actor } - scope:recipient = { - OR = { - AND = { - vassal_contract_has_flag = vassal_contract_marriage_favor - is_allied_to = scope:actor - } - NOT = { vassal_contract_has_flag = vassal_contract_marriage_favor} - } - } - } - add = { - scope:actor = { - every_vassal = { - limit = { - vassal_contract_has_flag = vassal_contract_marriage_favor - NOT = { is_allied_to = scope:actor } - NOR = { - this = scope:recipient - this = scope:secondary_recipient - } - } - add = medium_prestige_value - } - } - desc = VASSAL_WITH_MARRIAGE_FAVOR - } - } - } - - piety = { - value = 0 - if = { - limit = { scope:piety_cost_reduction = yes } - add = scope:actor.medium_piety_value - desc = STRUGGLE_MARRIAGE_ACCEPTANCE_USING_PIETY_AS_CURRENCY - } - } - - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - # actor, recipient ... characters arranging the marriage - # secondary_actor, secondary_recipient ... characters that should marry - - is_shown = { - scope:actor = { - OR = { - is_ruler = yes #Can arrange marriages for others - #You're just a courtier? Only use the interaction on characters you can marry - can_marry_character_trigger = { CHARACTER = scope:recipient } - } - } - # Block further marriage proposals for people who have a pending grand wedding - NOR = { - scope:secondary_actor ?= { has_been_promised_grand_wedding = yes } - scope:secondary_recipient ?= { has_been_promised_grand_wedding = yes } - } - #If you're interacting with someone who isn't their own matchmaker, only show the interaction if they can get married. (If someone isn't their own matchmaker, they will be set as secondary_recipient by code and their matchmaker becomes recipient) - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { - OR = { - marriage_interaction_can_be_picked_trigger = yes #Can marry anyone - AND = { - ready_to_marry_betrothed_trigger = yes - OR = { - betrothed = scope:secondary_actor - trigger_if = { - limit = { exists = betrothed.liege } - betrothed.liege = scope:actor - } - } - } - } - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - } - #allow landless adventurers to marry only within their camp, or with Contact list courtiers (after using request_marriage option in contact_list_request_interaction), or prieviously betrothed characters - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - trigger_if = { - limit = { - OR = { - scope:actor = { - is_target_in_variable_list = { - name = contact_list_marriage - target = scope:recipient - } - } - scope:recipient = { - is_betrothed = yes - betrothed = { - OR = { - scope:actor = this - scope:secondary_actor ?= this - } - } - } - scope:secondary_recipient ?= { - is_betrothed = yes - betrothed = { - OR = { - scope:actor = this - scope:secondary_actor ?= this - } - } - } - } - } - always = yes - } - trigger_else = { - scope:recipient = scope:actor - } - } - } - - is_valid_showing_failures_only = { - #If we're opening this interaction through the interaction menu (i.e. not all scopes exist yet) - #This was giving double-warnings about a marry-able character existing so it's commented out for now - #custom_description = { - # text = character_to_marry_exists - # object = scope:recipient - # scope:recipient = { - # OR = { - # any_courtier = { - # is_at_home = yes - # marriage_interaction_can_be_picked_trigger= yes - # } - # any_child = { - # marriage_interaction_can_be_picked_trigger= yes - # } - # } - # } - #} - trigger_if = { - limit = { - NAND = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - } - } - #There is an available marriage - custom_description = { - text = "basic_can_marry_check_recipient" - subject = scope:actor - object = scope:recipient - scope:recipient = { - OR = { - AND = { - #Recipient can marry - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - AND = { - is_ruler = yes #(Following are only for rulers) - OR = { - any_child = { - matchmaker = scope:actor - OR = { - #Any of recipient's children can marry - AND = { - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - } - } - #Any of recipient's children are ready to marry their betrothed - AND = { - ready_to_marry_betrothed_trigger = yes - betrothed.matchmaker = scope:actor - } - } - } - any_courtier = { - OR = { - #Any of recipient's courtiers can marry - AND = { - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - } - } - #Any of recipient's courtiers are ready to marry their betrothed - AND = { - ready_to_marry_betrothed_trigger = yes - betrothed.matchmaker = scope:actor - } - } - } - } - } - } - } - } - } - #Diplomatic availability & prison - scope:recipient = { - is_busy_in_events_localised = yes - is_imprisoned = no - } - NOT = { - scope:actor = { - is_at_war_with = scope:recipient - } - } - trigger_if = { #(must be here because secondary_recipient can be set at the start) - limit = { - exists = scope:secondary_recipient - NOT = { scope:secondary_recipient = scope:recipient } - } - scope:secondary_recipient = { - is_busy_in_events_localised = yes - is_imprisoned = no - bp2_valid_for_standard_interactions_trigger = yes - } - } - trigger_if = { #(must be here because secondary_recipient can be set at the start) - limit = { - exists = scope:secondary_actor - NOT = { scope:secondary_actor = scope:actor } - } - scope:secondary_actor = { - is_busy_in_events_localised = yes - is_imprisoned = no - bp2_valid_for_standard_interactions_trigger = yes - } - } - # Account for regents being bolshy. - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = secondary_actor } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = secondary_recipient } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = actor } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = recipient } - } - - # whether a character can be picked for the interaction, interface only (e.g. picking the first character in the marriage interaction) - # in character scope, actor and recipient event targets can be used, but not the secondary characters (because none exist yet) - can_be_picked = { - OR = { - marriage_interaction_can_be_picked_trigger = yes - AND = { - exists = scope:secondary_actor - exists = scope:secondary_recipient - scope:secondary_actor.betrothed = scope:secondary_recipient - } - } - } - - #Is evaluated only after secondary_recipient and secondary_actor are both chosen - has_valid_target_showing_failures_only = { - marriage_interaction_valid_target_trigger = yes #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc. - - #Blocks AI from marrying player guests - scope:secondary_recipient = { - trigger_if = { - limit = { - is_pool_guest = yes - host = { - is_ai = no - NOT = { this = scope:actor } - } - } - NOT = { is_pool_guest_of = host } - } - } - - #Blocks most AI's from marrying Evil faiths - trigger_if = { - limit = { - scope:actor = { - is_ai = yes - NOT = { has_trait = cynical } - #AI should honor betrothal even if faiths change - NOT = { scope:secondary_actor.betrothed = scope:secondary_recipient } - } - } - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value < faith_hostility_prevents_marriage_level - } - } - } - - #Blocks AI from marrying single mayors in their area unless they are also mayors - trigger_if = { - limit = { - scope:actor = { - is_ai = yes - NOT = { government_has_flag = government_is_special_republic } - } - } - NOT = { - scope:recipient = { government_has_flag = government_is_special_republic } - } - } - - trigger_if = { # Cultural Traditions, for AI - limit = { - scope:actor = { - is_ai = yes - culture = { - has_cultural_parameter = dislikes_marrying_outside_of_culture - } - } - } - OR = { - scope:actor.culture = scope:recipient.culture - scope:actor.culture = scope:secondary_recipient.culture - } - } - } - - pre_auto_accept = { - if = { - limit = { - NOR = { - scope:recipient = scope:actor - scope:secondary_actor = { has_been_promised_grand_wedding = yes } - scope:secondary_recipient = { has_been_promised_grand_wedding = yes } - } - } - scope:recipient = { - if = { - limit = { scope:secondary_actor.betrothed = scope:secondary_recipient } - send_interface_toast = { - type = msg_betrothal_fulfilled - left_icon = scope:secondary_actor - right_icon = scope:secondary_recipient - } - } - else = { - send_interface_toast = { - type = msg_marriage_forced - left_icon = scope:secondary_actor - right_icon = scope:secondary_recipient - } - } - } - } - } - - on_send = { - if = { - limit = { - scope:grand_wedding_promise = yes - } - scope:actor = { - set_variable = { - name = grand_wedding_promise_pending - days = 10 - } - if = { - limit = { - is_ai = yes - } - remove_short_term_gold = ai_wedding_promise_gold_actor - } - #if = { # Activity count debugging, left in for QA purposes - # limit = { - # NOT = { - # exists = global_var:wedding_promise - # } - # } - # set_global_variable = { - # name = wedding_promise - # value = 1 - # } - #} - #else = { - # change_global_variable = { - # name = wedding_promise - # add = 1 - # } - #} - } - } - } - - on_accept = { - marriage_interaction_on_accept_effect = yes - scope:actor = { - if = { - limit = { - scope:herd_send_option = yes - } - pay_herd = { - target = scope:recipient - value = scope:actor.domicile.medium_herd_value - } - } - if = { - limit = { - has_variable = grand_wedding_promise_pending - } - remove_variable = grand_wedding_promise_pending - } - if = { - limit = { - is_target_in_variable_list = { - name = contact_list_marriage - target = scope:recipient - } - } - remove_list_variable = { - name = contact_list_marriage - target = scope:recipient - } - } - } - } - - on_decline = { - scope:actor = { - if = { - limit = { NOT = { this = scope:recipient } } - trigger_event = marriage_interaction.0011 - } - if = { - limit = { - has_variable = grand_wedding_promise_pending - } - remove_variable = grand_wedding_promise_pending - } - } - scope:secondary_actor = { - add_character_flag = { - flag = player_declined_marriage - years = 5 - } - } - } - - auto_accept = { - marriage_interaction_auto_accept_trigger = yes #Strong hook conditions - } - - ai_accept = { - base = 0 - - marriage_ai_accept_modifier = yes - } - - # If you want the AI to set these options then it needs to be hooked into the code as well - send_option = { - flag = grand_wedding_promise - localization = GRAND_WEDDING_PROMISE - - is_shown = { - scope:actor = { #Can organize a Grand Wedding - highest_held_title_tier > tier_barony - is_landed_or_landless_administrative = yes - trigger_if = { - limit = { - is_ai = yes - } - is_at_war = no - } - # DLC locked - has_dlc_feature = tours_and_tournaments - has_dlc_feature = advanced_activities - } - } - - current_description = { - desc = "GRAND_WEDDING_PROMISE_INFO" - } - - is_valid = { - scope:actor = { - gold >= real_wedding_cost_actor_scope - is_available = yes - custom_tooltip = { - text = grand_wedding_already_promised_tt - NOR = { - AND = { - has_variable = promised_grand_wedding_marriage_countdown - var:promised_grand_wedding_marriage_countdown = { is_alive = yes } - } - has_variable = grand_wedding_promise_pending - } - } - } - trigger_if = { - limit = { - exists = scope:secondary_actor - } - custom_tooltip = { - text = grand_wedding_only_dominant_side - trigger_if = { - limit = { - scope:secondary_actor ?= { - is_female = yes - } - } - OR = { - scope:secondary_actor ?= { matrilinear_betrothal = yes } - scope:matrilineal = yes - } - } - trigger_else = { - NOR = { - scope:secondary_actor ?= { matrilinear_betrothal = yes } - scope:matrilineal = yes - } - } - } - custom_tooltip = { - text = grand_wedding_only_family - scope:secondary_actor ?= { - is_close_or_extended_family_of = scope:actor - } - } - # Cannot promise grand weddings with regents due to regency and travel limitations - custom_tooltip = { - text = grand_wedding_secondary_regent - NOT = { - scope:secondary_actor.liege = { - diarch = scope:secondary_actor - has_active_diarchy = yes - } - } - } - } - # Safety check because players shouldn't be spouse_2 - trigger_if = { - limit = { - has_multiple_players = yes - } - custom_tooltip = { - text = grand_wedding_mp_ai - trigger_if = { - limit = { - OR = { - scope:actor = { is_ai = no } - scope:secondary_actor ?= { is_ai = no } - } - } - scope:secondary_recipient ?= { - is_ai = yes - } - } - } - } - trigger_if = { - limit = { - exists = scope:secondary_recipient.liege - scope:secondary_recipient.liege = { - diarch = scope:secondary_recipient - has_active_diarchy = yes - } - } - # Cannot promise grand weddings with regents due to regency and travel limitations - custom_tooltip = { - text = grand_wedding_secondary_regent - NOT = { - scope:secondary_recipient.liege = { - diarch = scope:secondary_recipient - has_active_diarchy = yes - } - } - } - } - } - } - - send_option = { - flag = matrilineal - localization = MATRILINEAL_OFFER - is_shown = { - OR = { - NOT = { exists = scope:secondary_actor } - NOT = { exists = scope:secondary_recipient } - scope:secondary_actor = { sex_opposite_of = scope:secondary_recipient } - } - } - current_description = { - triggered_desc = { - trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { - betrothed = scope:secondary_recipient - matrilinear_betrothal = yes - } - } - desc = "MATRILINEAL_OFFER_BETROTHAL_INFO" - } - } - can_be_changed = { - trigger_if = { - limit = { - exists = scope:secondary_actor - } - OR = { - NOT = { - exists = scope:secondary_recipient - } - scope:secondary_actor = { - NOT = { - betrothed = scope:secondary_recipient - } - } - } - } - } - starts_enabled = { - trigger_if = { - limit = { - exists = scope:secondary_actor - scope:secondary_actor = { - betrothed = scope:secondary_recipient - } - } - scope:secondary_actor = { - matrilinear_betrothal = yes - } - } - trigger_else_if = { - limit = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor - is_female = yes - is_ai = no - } - always = yes - } - trigger_else = { - scope:actor = { - OR= { - faith = { - has_doctrine = doctrine_gender_female_dominated - } - AND = { - this = scope:recipient - exists = scope:secondary_recipient - scope:secondary_recipient = { - is_female = yes - } - faith = { has_doctrine = doctrine_gender_equal } - } - AND = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor - is_female = yes - is_ai = no - } - } - } - } - } - } - - send_option = { - is_shown = { - scope:secondary_actor = { - NOT = { - betrothed = scope:secondary_recipient - } - } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = MARRIAGE_HOOK - } - - send_option = { # FP3 - is_shown = { - scope:actor = { - any_character_struggle = { - is_struggle_type = persian_struggle - has_struggle_phase_parameter = can_trade_piety_for_marriage_acceptance - } - } - } - is_valid = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = persian_struggle - } - } - scope:recipient = { - any_character_struggle = { - involvement = involved - is_struggle_type = persian_struggle - } - } - } - flag = piety_cost_reduction - localization = TRADE_PIETY_FOR_BETTER_AI_ACCEPTANCE - } - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - - send_option = { # MPO Herd - is_shown = { # Actor must have a government that uses Herd - scope:actor = { - government_has_flag = government_is_nomadic - is_ai = no - } - # Recipient must care about Herd - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } - } - flag = herd_send_option - localization = TRADE_HERD_FOR_BETTER_AI_ACCEPTANCE - } - - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - show_effects_in_notification = no - greeting = positive - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:secondary_actor = { - is_adult = yes - } - scope:secondary_recipient = { - is_adult = yes - } - NOR = { - scope:secondary_actor = { has_been_promised_grand_wedding = yes } - scope:secondary_recipient = { has_been_promised_grand_wedding = yes } - } - } - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_BOTH_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - } - desc = MARRIAGE_NOTIFICATION_ACTOR_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_RECIPIENT_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - } - desc = MARRIAGE_NOTIFICATION_MATRI - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_BOTH_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - } - desc = MARRIAGE_NOTIFICATION_ACTOR_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_RECIPIENT_PERSONAL - } - desc = MARRIAGE_NOTIFICATION - } - } - } - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_BOTH_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - } - desc = BETROTHAL_NOTIFICATION_ACTOR_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_RECIPIENT_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - } - desc = BETROTHAL_NOTIFICATION_MATRI - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_BOTH_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - } - desc = BETROTHAL_NOTIFICATION_ACTOR_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_RECIPIENT_PERSONAL - } - desc = BETROTHAL_NOTIFICATION - } - } - } - } -} - -#This interaction is referenced in code! If it's renamed you have to ping a coder -marry_off_interaction = { - icon = icon_marriage - category = interaction_category_diplomacy - common_interaction = yes - - desc = marry_off_interaction_desc - - send_name = marry_off_send - needs_recipient_to_open = no - special_interaction = arrange_marriage_interaction - interface = marriage - redirect = { - if = { - limit = { - exists = scope:secondary_actor - } - scope:recipient = { - save_scope_as = secondary_recipient - matchmaker = { - save_scope_as = recipient - } - } - - } - else = { - scope:recipient = { - save_scope_as = secondary_actor - } - clear_saved_scope = recipient - } - } - - populate_recipient_list = { - #populate only with your courtiers or children/grandchildren if you are a landless adventurer - if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - scope:secondary_actor = { - if = { - limit = { - NOT = { scope:actor = this } - } - add_to_list = characters - } - every_courtier = { - limit = { - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_courtier_away = { - limit = { - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - even_if_dead = yes - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - even_if_dead = yes - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - every_child = { - if = { - limit = { - is_alive = yes - NOT = { is_in_list = characters } - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - add_to_list = characters - } - } - } - } - } - } - #otherwise, populate with anyone eligible - else = { - scope:secondary_actor = { - if = { - limit = { - allowed_to_marry_same_sex_trigger = yes - } - every_opposite_sex_spouse_candidate = { - add_to_list = characters - } - every_same_sex_spouse_candidate = { - limit = { - NOT = { scope:secondary_actor = this } - } - add_to_list = characters - } - } - else = { - every_opposite_sex_spouse_candidate = { - add_to_list = characters - } - } - } - } - } - - cost = { - prestige = { - value = 0 - if = { - limit = { - exists = scope:actor - exists = scope:recipient - exists = scope:secondary_recipient - scope:recipient = { - OR = { - AND = { - vassal_contract_has_flag = vassal_contract_marriage_favor - is_allied_to = scope:actor - } - NOT = { vassal_contract_has_flag = vassal_contract_marriage_favor} - } - } - } - add = { - scope:actor = { - every_vassal = { - limit = { - vassal_contract_has_flag = vassal_contract_marriage_favor - NOT = { is_allied_to = scope:actor } - NOR = { - this = scope:recipient - this = scope:secondary_recipient - } - } - add = medium_prestige_value - } - } - desc = VASSAL_WITH_MARRIAGE_FAVOR - } - } - } - - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - interface_priority = 60 - - # actor, recipient ... characters arranging the marriage - # secondary_actor, secondary_recipient ... characters that should marry - - is_shown = { - # Enable only for yourself if you're a landless adventurer - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - scope:secondary_actor = { - scope:actor = this - } - } - scope:secondary_actor = { - #Is this someone I can marry off? - OR = { - is_courtier_of = scope:actor - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - } - scope:actor = this - } - #They can be married - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - # Block further marriage proposals for people who have a pending grand wedding - NOR = { - scope:secondary_actor ?= { has_been_promised_grand_wedding = yes } - scope:secondary_recipient ?= { has_been_promised_grand_wedding = yes } - } - } - - is_valid_showing_failures_only = { - #Diplomatic availability & prison - scope:secondary_actor = { - is_busy_in_events_localised = yes - is_imprisoned = no - bp2_valid_for_standard_interactions_trigger = yes - } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = secondary_actor } - trigger_if = { - limit = { - NOT = { scope:secondary_actor = scope:secondary_recipient } - } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = secondary_recipient } - } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = actor } - marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = { TARGET = recipient } - } - - has_valid_target_showing_failures_only = { - marriage_interaction_valid_target_trigger = yes #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc. - - #Diplomatic availability & prison (located here because these will never be set at the start) - scope:recipient = { - is_busy_in_events_localised = yes - is_imprisoned = no - } - NOT = { - scope:actor = { - is_at_war_with = scope:recipient - } - } - trigger_if = { - limit = { NOT = { scope:recipient = scope:secondary_recipient } } - scope:secondary_recipient = { - is_busy_in_events_localised = yes - is_imprisoned = no - bp2_valid_for_standard_interactions_trigger = yes - } - } - #secondary_actor is checked above because they are always available - - #Blocks AI from marrying player guests - scope:secondary_recipient = { - trigger_if = { - limit = { - is_pool_guest = yes - host = { - is_ai = no - NOT = { this = scope:actor } - } - } - NOT = { is_pool_guest_of = host } - } - } - } - - on_send = { - if = { - limit = { - scope:grand_wedding_promise = yes - } - scope:actor = { - set_variable = { - name = grand_wedding_promise_pending - days = 10 - } - if = { - limit = { - is_ai = yes - } - remove_short_term_gold = ai_wedding_promise_gold_actor - } - #if = { # Activity count debugging, left in for QA purposes - # limit = { - # NOT = { - # exists = global_var:wedding_promise - # } - # } - # set_global_variable = { - # name = wedding_promise - # value = 1 - # } - #} - #else = { - # change_global_variable = { - # name = wedding_promise - # add = 1 - # } - #} - } - } - } - - on_accept = { - marriage_interaction_on_accept_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_marry_off.desc - REVERSE_NON_HOUSE_TARGET = no - } - - scope:actor = { - if = { - limit = { - scope:herd_send_option = yes - } - pay_herd = { - target = scope:recipient - value = scope:actor.domicile.medium_herd_value - } - } - if = { - limit = { - has_variable = grand_wedding_promise_pending - } - remove_variable = grand_wedding_promise_pending - } - } - } - - on_decline = { - scope:actor = { - if = { - limit = { NOT = { this = scope:recipient } } - trigger_event = marriage_interaction.0011 - } - if = { - limit = { - has_variable = grand_wedding_promise_pending - } - remove_variable = grand_wedding_promise_pending - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_marry_off_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = { - marriage_interaction_auto_accept_trigger = yes #Strong hook conditions - } - - ai_accept = { - base = 0 # Should be 0 for all interactions - - marriage_ai_accept_modifier = yes - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - send_option = { - flag = grand_wedding_promise - localization = GRAND_WEDDING_PROMISE - - is_shown = { - scope:actor = { #Can organize a Grand Wedding - highest_held_title_tier > tier_barony - is_landed_or_landless_administrative = yes - trigger_if = { - limit = { - is_ai = yes - } - is_at_war = no - } - # DLC locked - has_dlc_feature = tours_and_tournaments - has_dlc_feature = advanced_activities - } - } - - current_description = { - desc = "GRAND_WEDDING_PROMISE_INFO" - } - - is_valid = { - scope:actor = { - gold >= real_wedding_cost_actor_scope - is_available = yes - custom_tooltip = { - text = grand_wedding_already_promised_tt - NOR = { - AND = { - has_variable = promised_grand_wedding_marriage_countdown - var:promised_grand_wedding_marriage_countdown = { is_alive = yes } - } - has_variable = grand_wedding_promise_pending - } - } - } - custom_tooltip = { - text = grand_wedding_only_dominant_side - trigger_if = { - limit = { - scope:secondary_actor ?= { - is_female = yes - } - } - OR = { - scope:secondary_actor ?= { matrilinear_betrothal = yes } - scope:matrilineal = yes - } - } - trigger_else = { - NOR = { - scope:secondary_actor ?= { matrilinear_betrothal = yes } - scope:matrilineal = yes - } - } - } - custom_tooltip = { - text = grand_wedding_only_family - scope:secondary_actor ?= { - is_close_or_extended_family_of = scope:actor - } - } - } - } - - send_option = { - flag = matrilineal - localization = "MATRILINEAL_OFFER" - starts_enabled = { - scope:actor = { - OR = { - faith = { - has_doctrine = doctrine_gender_female_dominated - } - AND = { - scope:secondary_actor = { is_female = yes } - faith = { has_doctrine = doctrine_gender_equal } - } - AND = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor - is_female = yes - is_ai = no - } - } - } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = MARRIAGE_HOOK - } - #This option cannot be linked with the hook icon, because recipient isn't known in the right-click menu - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_option = { # MPO Herd - is_shown = { # Actor must have a government that uses Herd - scope:actor = { - government_has_flag = government_is_nomadic - is_ai = no - } - # Recipient must care about Herd - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } - } - flag = herd_send_option - localization = TRADE_HERD_FOR_BETTER_AI_ACCEPTANCE - } - - send_options_exclusive = no - - show_effects_in_notification = no - greeting = positive - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:secondary_actor = { - is_adult = yes - } - scope:secondary_recipient = { - is_adult = yes - } - NOR = { - scope:secondary_actor = { has_been_promised_grand_wedding = yes } - scope:secondary_recipient = { has_been_promised_grand_wedding = yes } - } - } - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_BOTH_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - } - desc = MARRIAGE_NOTIFICATION_ACTOR_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_RECIPIENT_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - } - desc = MARRIAGE_NOTIFICATION_MATRI - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_BOTH_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - } - desc = MARRIAGE_NOTIFICATION_ACTOR_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_recipient = scope:recipient - } - desc = MARRIAGE_NOTIFICATION_RECIPIENT_PERSONAL - } - desc = MARRIAGE_NOTIFICATION - } - } - } - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_BOTH_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_actor = scope:actor - } - desc = BETROTHAL_NOTIFICATION_ACTOR_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_RECIPIENT_PERSONAL_MATRI - } - triggered_desc = { - trigger = { - scope:matrilineal = yes - } - desc = BETROTHAL_NOTIFICATION_MATRI - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_BOTH_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_actor = scope:actor - } - desc = BETROTHAL_NOTIFICATION_ACTOR_PERSONAL - } - triggered_desc = { - trigger = { - scope:secondary_recipient = scope:recipient - } - desc = BETROTHAL_NOTIFICATION_RECIPIENT_PERSONAL - } - desc = BETROTHAL_NOTIFICATION - } - } - } - } -} - -break_betrothal_interaction = { - category = interaction_category_diplomacy - special_interaction = break_betrothal_interaction - use_diplomatic_range = no - icon = icon_marriage - interface_priority = 30 - - is_shown = { - OR = { - #Betrothed to betrothed - scope:actor.betrothed = scope:recipient - - #Actor breaking recipient's betrothal with their courtier/vassal child - scope:actor = { - any_courtier = { - is_ai = yes - is_betrothed = yes - betrothed = { this = scope:recipient } - OR = { - is_playable_character = no - any_parent = { this = scope:actor } - } - } - } - - #Actor breaking the betrothal of their courtier/vassal child - scope:recipient = { - is_ai = yes - is_betrothed = yes - OR = { - AND = { - is_playable_character = no - liege = scope:actor - } - AND = { - is_child_of = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - OR = { - is_playable_character = no - target_is_liege_or_above = scope:actor - } - } - } - betrothed = { always = yes } - } - - #Break recipient's betrothal with actor's vassal child/courtier - scope:recipient = { - is_betrothed = yes - betrothed = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } - } - - #Actor breaking their betrothal to recipient's courtier/vassal child - AND = { - scope:actor = { is_betrothed = yes } - scope:recipient = { - OR = { - #Check for courtiers - any_courtier = { - is_betrothed = yes - betrothed = scope:actor - liege = scope:recipient - } - #Check for vassal children - any_child = { - is_betrothed = yes - betrothed = scope:actor - OR = { - is_playable_character = no - target_is_liege_or_above = scope:recipient - } - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - } - } - } - } - } - } - - is_valid = { - - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - # Recipient is the betrothed - custom_description = { - text = break_betrothal_hook_used - object = scope:recipient - trigger_if = { - limit = { - exists = scope:recipient.betrothed - OR = { - scope:recipient.betrothed = scope:actor - scope:recipient.betrothed = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } - } - exists = scope:recipient.var:hook_used_for_betrothal - } - scope:recipient.var:hook_used_for_betrothal = { - NOT = { this = scope:recipient.betrothed } - } - } - } - - custom_description = { - text = break_betrothal_hook_used - object = scope:recipient - trigger_if = { - limit = { - exists = scope:recipient.betrothed - OR = { - scope:recipient = scope:actor - scope:recipient = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } - } - exists = scope:recipient.betrothed.var:hook_used_for_betrothal - } - scope:recipient.betrothed.var:hook_used_for_betrothal = { - NOT = { this = scope:recipient } - } - } - } - - # Secondary Recipient is the betrothed - custom_description = { - text = break_betrothal_hook_used - object = scope:recipient - trigger_if = { - limit = { - scope:recipient = { - OR = { - #Check for courtiers - any_courtier = { - is_betrothed = yes - betrothed = scope:actor - liege = scope:recipient - exists = var:hook_used_for_betrothal - var:hook_used_for_betrothal = { - this = scope:actor - } - } - #Check for vassal children - any_child = { - is_betrothed = yes - betrothed = scope:actor - OR = { - is_playable_character = no - target_is_liege_or_above = scope:recipient - } - NOT = { - matchmaker = { - is_parent_of = prev - NOT = { this = scope:actor } - } - } - exists = var:hook_used_for_betrothal - var:hook_used_for_betrothal = { - this = scope:actor - } - } - } - } - } - always = no - } - } - - # Secondary Actor and Recipient were promised a Grand Wedding, and the Activity has already been organized and is ongoing - custom_description = { - text = break_betrothal_gwedding_ongoing - trigger_if = { - limit = { - OR = { - scope:recipient = { has_been_promised_grand_wedding = yes } - scope:recipient.betrothed = { has_been_promised_grand_wedding = yes } - } - } - NOR = { - scope:recipient.involved_activity ?= { - has_activity_type = activity_wedding - OR = { - special_guest:spouse_1 ?= scope:recipient - special_guest:spouse_2 ?= scope:recipient - special_guest:spouse_1 ?= scope:recipient.betrothed - special_guest:spouse_2 ?= scope:recipient.betrothed - } - } - scope:recipient.betrothed.involved_activity ?= { - has_activity_type = activity_wedding - OR = { - special_guest:spouse_1 ?= scope:recipient - special_guest:spouse_2 ?= scope:recipient - special_guest:spouse_1 ?= scope:recipient.betrothed - special_guest:spouse_2 ?= scope:recipient.betrothed - } - } - } - } - } - } - - on_accept = { - #Identifies the "injured party" - scope:recipient = { - if = { - limit = { matchmaker = scope:actor } - betrothed = { save_scope_as = rejected_betrothed } - save_scope_as = rejecting_betrothed - } - else_if = { - limit = { - OR = { - #Check for courtiers - any_courtier = { - is_betrothed = yes - is_ai = yes - betrothed = scope:actor - liege = scope:recipient - } - #Check for vassal children - any_child = { - is_betrothed = yes - is_ai = yes - betrothed = scope:actor - target_is_liege_or_above = scope:recipient - } - } - } - scope:actor.betrothed = { - save_scope_as = rejected_betrothed - } - scope:actor = { - save_scope_as = rejecting_betrothed - } - } - - else = { - save_scope_as = rejected_betrothed - betrothed = { save_scope_as = rejecting_betrothed } - } - } - - # If it was a Grand Wedding, find the host - scope:rejecting_betrothed.var:promised_grand_wedding_by ?= { - save_scope_as = promising_host - } - - scope:recipient = { trigger_event = marriage_interaction.0020 } - - #Tooltip for betrothal breakage - show_as_tooltip = { - scope:rejected_betrothed = { - break_betrothal = scope:rejecting_betrothed - } - } - - #Figures out if the liege of rejected_betrothed cares - scope:rejected_betrothed = { - if = { - limit = { #The liege matter when assigning prestige/opinion hits - matchmaker = { - NOT = { this = scope:rejected_betrothed } - is_close_or_extended_family_of = scope:rejected_betrothed - } - } - - matchmaker = { save_scope_as = rejected_betrothal_owner } - } - - else = { #The liege doesn't matter, only the betrothed - save_scope_as = rejected_betrothal_owner - } - } - - if = { - limit = { #Only if you had no reason to break the betrothal - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - # Prestige loss for Grand Weddings is handled below in the specific effect - scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } - scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } - } - } - #Prestige penalty - if = { - limit = { - OR = { - scope:rejected_betrothed = { highest_held_title_tier = tier_empire } - scope:rejected_betrothal_owner = { highest_held_title_tier = tier_empire } - } - #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } - } - scope:actor = { add_prestige = massive_prestige_loss } - } - - else_if = { - limit = { - OR = { - scope:rejected_betrothed = { highest_held_title_tier = tier_kingdom } - scope:rejected_betrothal_owner = { highest_held_title_tier = tier_kingdom } - } - #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } - } - scope:actor = { add_prestige = major_prestige_loss } - } - - else_if = { - limit = { - OR = { - scope:rejected_betrothed = { highest_held_title_tier = tier_duchy } - scope:rejected_betrothal_owner = { highest_held_title_tier = tier_duchy } - } - #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } - } - scope:actor = { add_prestige = medium_prestige_loss } - } - - else_if = { - limit = { - OR = { - scope:rejected_betrothed = { highest_held_title_tier = tier_county } - scope:rejected_betrothal_owner = { highest_held_title_tier = tier_county } - } - #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } - } - scope:actor = { add_prestige = minor_prestige_loss } - } - - else_if = { - limit = { - OR = { - scope:rejected_betrothed = { highest_held_title_tier = tier_barony } - scope:rejected_betrothal_owner = { highest_held_title_tier = tier_barony } - } - #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } - } - scope:actor = { add_prestige = miniscule_prestige_loss } - } - } - - ############################################ - # EP2 - Breaking a Grand Wedding Betrothal # - ############################################ - if = { - limit = { - # There is no forced reason for breaking the betrothal - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - } - # A Grand Wedding was promised - OR = { - scope:rejecting_betrothed = { - has_been_promised_grand_wedding = yes - } - scope:rejected_betrothed = { - has_been_promised_grand_wedding = yes - } - } - } - scope:actor = { break_grand_wedding_betrothal_effect = yes } - scope:rejected_betrothed = { trigger_event = marriage_interaction.0001 } - } - - ###################################### - # Opinion hits & notification events # - ###################################### - #Personal opinion hit for the rejected_betrothed - else_if = { - limit = { NOT = { scope:rejected_betrothed = scope:actor } } - scope:rejected_betrothed = { - if = { - limit = { - is_eunuch_trigger = no - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - has_trait_with_flag = can_not_marry - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - AND = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - } - } - show_as_tooltip = { - add_opinion = { - target = scope:actor - modifier = broke_betrothal_opinion - } - } - } - - hidden_effect = { trigger_event = marriage_interaction.0001 } - } - } - else = { - hidden_effect = { - scope:rejecting_betrothed = { - break_betrothal = scope:rejected_betrothed - } - } - } - - #Personal opinion hit for the rejected_betrothal_owner - if = { - limit = { - NOR = { - scope:rejected_betrothed = { - this = scope:rejected_betrothal_owner - } - scope:actor = { - this = scope:rejected_betrothal_owner - } - scope:actor = { - this = scope:rejected_betrothed - } - } - } - scope:rejected_betrothal_owner = { - if = { - limit = { - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - } - } - if = { - limit = { - NOR = { - scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } - scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } - } - } - show_as_tooltip = { - add_opinion = { - target = scope:actor - modifier = broke_betrothal_opinion - } - } - } - } - - hidden_effect = { trigger_event = marriage_interaction.0001 } - } - } - - if = { - limit = { - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - } - } - #Opinion hit for close relatives of the rejected_betrothed (that are not rejected_betrothed_owner) - if = { - limit = { - NOT = { scope:rejected_betrothed = scope:actor } - scope:rejected_betrothed = { - any_close_or_extended_family_member = { - NOT = { this = scope:rejected_betrothal_owner } - count >= 1 - } - } - } - if = { - limit = { - OR = { - scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } - scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } - } - } - scope:rejected_betrothed = { - every_close_or_extended_family_member = { - limit = { - NOT = { this = scope:rejected_betrothal_owner } - } - custom = all_family_members - - add_opinion = { - target = scope:actor - modifier = broke_betrothal_grand_wedding_opinion - opinion = -50 - } - } - } - } - else = { - scope:rejected_betrothed = { - every_close_or_extended_family_member = { - limit = { - NOT = { this = scope:rejected_betrothal_owner } - } - custom = all_family_members - add_opinion = { - target = scope:actor - modifier = broke_betrothal_opinion - } - } - } - } - } - - #Opinion hit for close relatives of the rejecting_betrothed (that are not also close relatives to rejected_betrothed) - if = { - limit = { - NOR = { - scope:rejecting_betrothed = scope:actor - scope:rejected_betrothed = scope:actor - } - scope:rejecting_betrothed = { - any_close_or_extended_family_member = { - NOR = { - is_close_or_extended_family_of = scope:rejected_betrothed - this = scope:rejected_betrothal_owner - this = scope:rejected_betrothed - } - count >= 1 - } - } - } - if = { - limit = { - OR = { - scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } - scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } - } - } - scope:rejecting_betrothed = { - every_close_or_extended_family_member = { - limit = { - NOR = { - this = scope:rejected_betrothal_owner - is_close_or_extended_family_of = scope:rejected_betrothed - this = scope:rejected_betrothed - } - } - custom = all_family_members - - add_opinion = { - target = scope:actor - modifier = broke_betrothal_grand_wedding_opinion - opinion = -50 - } - } - } - } - else = { - scope:rejecting_betrothed = { - every_close_or_extended_family_member = { - limit = { - NOR = { - is_close_or_extended_family_of = scope:rejected_betrothed - this = scope:rejected_betrothal_owner - this = scope:rejected_betrothed - } - } - custom = all_family_members - add_opinion = { - target = scope:actor - modifier = broke_betrothal_opinion - } - } - } - } - } - } - - scope:actor = { - # Was the marriage of relevence to the player? - if = { - limit = { - scope:rejecting_betrothed = { - is_player_heir_of = scope:actor - } - } - hidden_effect = { - send_interface_toast = { - type = msg_break_betrothal_player_heir - title = msg_break_betrothal - left_icon = scope:rejecting_betrothed - right_icon = scope:rejected_betrothed - custom_tooltip = break_betrothal_hook_toast_desc - } - } - } - else_if = { - limit = { - NOT = { - scope:actor = scope:rejecting_betrothed - } - } - hidden_effect = { - send_interface_message = { - type = msg_break_betrothal - title = msg_break_betrothal - left_icon = scope:rejecting_betrothed - right_icon = scope:rejected_betrothed - custom_tooltip = break_betrothal_hook_toast_desc - } - } - } - - #Was the marriage promised to a vassal? - if = { - limit = { - exists = var:promised_to_marry_1 - var:promised_to_marry_1 = { - this = scope:rejected_betrothed - any_parent = { - is_vassal_of = scope:actor - } - } - exists = var:promised_to_marry_2 - var:promised_to_marry_2 = { - this = scope:rejecting_betrothed - is_close_family_of = scope:actor - } - } - remove_variable = promised_to_marry_1 - remove_variable = promised_to_marry_2 - trigger_event = clan.1002 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_betrothal_breakage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} - -# Stripped down version of make_concubine_interaction for the AI -# Avoids redirection logic and recipient list building to improve performance -ai_make_concubine_interaction = { - hidden = yes - - ai_targets = { - ai_recipients = prisoners - } - ai_targets = { - ai_recipients = courtiers - } - ai_target_quick_trigger = { - adult = yes - owner_attracted = yes # Not optimal, but saves a lot of performance - } - ai_frequency = 12 - - ai_potential = { - is_playable_character = yes - is_adult = yes - fertility > 0 - allowed_more_concubines = yes - NOR = { - has_trait = chaste - has_trait = celibate - has_sexuality = asexual - } - } - - is_shown = { - make_concubine_is_shown_trigger = yes - } - - is_valid_showing_failures_only = { - make_concubine_is_valid_trigger = yes - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - modifier = { # Basic Filtering - add = 100 - scope:actor = { - number_of_concubines < number_of_desired_concubines - } - scope:recipient = { - can_have_children_with = { CHARACTER = scope:actor } # Only if you can have kids since this is about fertility and genetic traits - fertility > 0.2 - is_young_character = yes - } - } - - modifier = { - add = 100 - scope:recipient = { - is_imprisoned_by = scope:actor - can_have_children_with = { CHARACTER = scope:actor } # Only if you can have kids since this is about fertility and genetic traits - OR = { - is_lowborn = no - num_of_good_genetic_traits > 0 - } - fertility > 0.1 - trigger_if = { - limit = { - is_female = yes - } - is_aging_character = no - } - } - } - - modifier = { - add = 100 - scope:actor = { - allowed_to_marry_same_sex_trigger = yes - sex_same_as = scope:recipient - is_attracted_to_gender_of = scope:recipient - OR = { #If they're not in need of kids, or someone who they can have kids with - any_child = { - count >= 2 - } - any_consort = { - can_have_children_with = { CHARACTER = scope:actor } - fertility > 0.1 - } - } - } - } - - modifier = { #Even if you're allowed to take same-sex concubines we don't want the AI to do so without a good reason if they're not attracted to the person - add = -200 - scope:actor = { - allowed_to_marry_same_sex_trigger = yes - sex_same_as = scope:recipient - NOT = { is_attracted_to_gender_of = scope:recipient } - } - } - - modifier = { # If they don't have a batch of kids and opposite sex consorts to handle that situation - add = -200 - scope:actor = { - allowed_to_marry_same_sex_trigger = yes - sex_same_as = scope:recipient - NOT = { - any_child = { - count >= 2 - } - } - NOT = { - any_consort = { - can_have_children_with = { CHARACTER = scope:actor } - fertility > 0.1 - } - } - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { # Incest Filtering: Hard NO! - factor = 0 - scope:actor = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:recipient } - NOR = { - accepts_incest_with_trigger = { CHARACTER = scope:recipient } - sexually_liberal_trigger = yes - AND = { - AND = { - exists = primary_heir - primary_heir = { NOT = { dynasty = root.dynasty } } - } - NOT = { - primary_title = { - any_title_heir = { dynasty = root.dynasty } - } - } - } - } - } - } - - modifier = { # Incest Filtering: Not likely, but keep the door open... - factor = 0.2 - scope:actor = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:recipient } - OR = { - accepts_incest_with_trigger = { CHARACTER = scope:recipient } - sexually_liberal_trigger = yes - AND = { - exists = primary_heir - primary_heir = { NOT = { dynasty = root.dynasty } } - NOT = { - primary_title = { - any_title_heir = { dynasty = root.dynasty } - } - } - } - } - } - } - - modifier = { # Less likely if married to a player and the target is the player heir - factor = 0.4 - scope:actor = { - any_spouse = { - is_ai = no - scope:recipient = { - OR = { - is_primary_heir_of = prev - is_heir_of = prev - } - } - } - } - } - } - - on_accept = { - scope:actor = { - save_scope_as = secondary_actor - } - scope:recipient = { - save_scope_as = secondary_recipient - } - concubine_on_accept_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_concubinage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -make_concubine_interaction = { - category = interaction_category_diplomacy - icon = concubine_icon - - desc = make_concubine_interaction_desc - - interface = concubine_list - - - needs_recipient_to_open = yes - - redirect = { - # The UI will open to the already filled left and right first if we don't tell it we've got both sides filled - scope:actor = { - save_scope_as = secondary_actor - } - scope:recipient = { - save_scope_as = secondary_recipient - } - } - - populate_recipient_list = { - scope:actor = { - every_courtier = { - limit = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - add_to_list = characters - } - every_prisoner = { - limit = { - NOT = { is_in_list = characters } - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - add_to_list = characters - } - } - } - - is_shown = { - make_concubine_is_shown_trigger = yes - } - - is_valid_showing_failures_only = { - make_concubine_is_valid_trigger = yes - } - - auto_accept = yes - - on_accept = { - concubine_on_accept_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_concubinage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -find_concubine = { - category = interaction_category_diplomacy - icon = concubine_icon - - desc = find_concubine_desc - - interface = concubine_list - - needs_recipient_to_open = no - - redirect = { - scope:actor = { # The UI will open to the already filled left first if we don't tell it we've got "our side" actor which is always ourselves - save_scope_as = secondary_actor - } - } - - populate_recipient_list = { - scope:actor = { - every_courtier = { - limit = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - add_to_list = characters - } - every_prisoner = { - limit = { - NOT = { is_in_list = characters } - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - add_to_list = characters - } - } - } - - is_shown = { - scope:actor = { - allowed_concubines = yes - is_adult = yes - trigger_if = { #So that we show the recipient list, but can also only use this on ourselves, we have to do this check in the beginning - limit = { - NOT = { exists = scope:secondary_recipient } - } - scope:actor = scope:recipient - } - } - trigger_if = { - limit = { - NOT = { scope:actor = scope:recipient } - } - scope:actor = { - trigger_if = { - limit = { - allowed_to_marry_same_sex_trigger = no - } - sex_opposite_of = scope:recipient - } - NOT = { relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:recipient } } - } - scope:recipient = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - is_adult = yes - OR = { - is_imprisoned_by = scope:actor - is_courtier_of = scope:actor - } - } - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = take_concubine_allowed_more - object = scope:recipient - scope:actor = { - allowed_more_concubines = yes - } - } - custom_description = { - text = take_concubine_available_character_opp - object = scope:actor - scope:actor = { - OR = { - any_courtier = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - any_prisoner = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - } - } - } - trigger_if = { - limit = { - NOT = { scope:actor = scope:recipient } - } - scope:recipient = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - } - } - } - - can_be_picked = { - is_adult = yes - } - - auto_accept = yes - - ai_will_do = { - base = 0 - } - - on_accept = { - concubine_on_accept_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_concubinage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -offer_concubine = { - category = interaction_category_diplomacy - icon = concubine_icon - - desc = offer_concubine_desc - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = suzerain - ai_recipients = liege - max = 5 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 36 - - greeting = positive - notification_text = OFFER_CONCUBINE_NOTIFICATION - - #interface = concubine_list - - needs_recipient_to_open = yes - - populate_actor_list = { - scope:actor = { - every_courtier = { - limit = { - can_be_offered_as_concubine_to_character_trigger = { - GIVER = scope:actor - CHARACTER = scope:recipient - } - } - add_to_list = characters - } - every_prisoner = { - limit = { - NOT = { is_in_list = characters } - can_be_offered_as_concubine_to_character_trigger = { - GIVER = scope:actor - CHARACTER = scope:recipient - } - } - add_to_list = characters - } - } - } - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - OR = { - culture = { has_cultural_tradition = tradition_concubines } - faith = { has_doctrine = doctrine_concubines } - } - } - scope:recipient = { - NOT = { government_has_flag = government_is_herder } - allowed_concubines = yes - is_adult = yes - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = take_concubine_available_character_opp - object = scope:recipient - scope:actor = { - OR = { - any_courtier = { - can_be_offered_as_concubine_to_character_trigger = { - GIVER = scope:actor - CHARACTER = scope:recipient - } - } - any_prisoner = { - can_be_offered_as_concubine_to_character_trigger = { - GIVER = scope:actor - CHARACTER = scope:recipient - } - } - } - } - } - custom_description = { - text = take_concubine_allowed_more - object = scope:recipient - scope:recipient = { - allowed_more_concubines = yes - } - } - } - - can_be_picked = { - is_adult = yes - } - - can_send = { - custom_description = { - text = character_unavailable_to_be_offered_as_concubine - object = scope:secondary_actor - scope:secondary_actor = { - can_be_offered_as_concubine_to_character_trigger = { - GIVER = scope:actor - CHARACTER = scope:recipient - } - } - } - } - - auto_accept = no - - ai_accept = { - base = 50 - - modifier = { - add = { - value = 50 - multiply = scope:secondary_actor.num_of_good_genetic_traits - } - scope:secondary_actor = { - num_of_good_genetic_traits > 0 - trigger_if = { - limit = { - is_female = yes - } - is_aging_character = no - } - } - desc = AI_POSITIVE_TRAIT_REASON - } - - modifier = { - add = { - value = 50 - } - scope:secondary_actor = { - is_lowborn = no - trigger_if = { - limit = { - is_female = yes - } - is_aging_character = no - } - } - desc = AI_DYNASTY_PRESTIGE_REASON_NOBLE - } - - modifier = { - add = { - value = -50 - multiply = scope:secondary_actor.num_of_bad_genetic_traits - } - scope:secondary_actor = { - OR = { - num_of_bad_genetic_traits > 0 - } - trigger_if = { - limit = { - is_female = yes - } - is_aging_character = no - } - } - desc = AI_NEGATIVE_TRAIT_REASON - } - - modifier = { - add = { - value = -50 - } - scope:secondary_actor = { - is_lowborn = yes - num_of_good_genetic_traits = 0 - trigger_if = { - limit = { - is_female = yes - } - is_aging_character = no - } - } - desc = AI_DYNASTY_PRESTIGE_REASON_LOWBORN_NO_POSITIVE_TRAIT - } - - opinion_modifier = { # Opinion of you - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - - opinion_modifier = { # Opinion of concubine - who = scope:recipient - opinion_target = scope:secondary_actor - multiplier = 0.25 - desc = AI_OPINION_REASON - } - - compare_modifier = { # Recipient is reluctant to marry old women (procreation is a key factor) - trigger = { - scope:secondary_actor = { - is_young_character = no - is_female = yes - } - } - target = scope:secondary_actor - value = age - multiplier = -5.0 - step = 1 - offset = -29 - desc = MARRY_AGE - } - - modifier = { # A Recipient is unwilling to take a same-sex concubine if their faith doesn't support it - add = -1000 - - scope:recipient = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:secondary_actor - } - desc = SAME_SEX_MARRIAGE_FAITH_REASON_RECIPIENT - } - - modifier = { # Unwilling if they don't have a batch of kids and opposite sex consorts to handle that situation - add = -200 - scope:recipient = { - allowed_to_marry_same_sex_trigger = yes - sex_same_as = scope:secondary_actor - trigger_if = { - limit = { - NOT = { - any_consort = { - can_have_children_with = { CHARACTER = scope:recipient } - fertility > 0.1 - } - } - } - any_child = { is_player_heir_of = root } - } - trigger_else = { - always = no - } - } - desc = AI_NO_FERTILITY_REASON - } - - modifier = { - add = 50 - scope:recipient = { - is_attracted_to_gender_of = scope:secondary_actor - } - desc = AI_ATTRACTION_REASON - } - - modifier = { # A Recipient is more likely to agree if you're their liege - add = 40 - - scope:recipient = { - target_is_liege_or_above = scope:actor - } - desc = LIEGE_REASON - } - - #More/Less likely based on difference in rank between actor and recipient - modifier = { - add = 20 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = 60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = 5 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -20 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -1 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -30 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -40 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -50 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -4 - } - } - desc = AI_RANK_DIFF - } - modifier = { - add = -60 - scope:actor = { - tier_difference = { - target = scope:recipient - value = -5 - } - } - desc = AI_RANK_DIFF - } - - modifier = { - add = intimidated_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { - add = -250 - scope:secondary_actor = { - has_std_trigger = yes - } - desc = AI_STD_REASON - } - modifier = { - add = -250 - scope:secondary_actor = { - has_epidemic_disease_trigger = yes - } - desc = AI_CONTAGIOUS_REASON - } - modifier = { - add = -5000 - scope:secondary_actor = { - fertility <= 0 - } - desc = AI_FERTILITY_REASON - } - modifier = { - scope:hook = yes - add = 500 - scope:actor = { NOT = { has_strong_hook = scope:recipient } } - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:hook = yes - add = 1000 - scope:actor = { has_strong_hook = scope:recipient } - desc = SCHEME_STRONG_HOOK_USED - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - } - - ai_potential = { - is_adult = yes - NOT = { has_trait = incapable } - is_at_war = no - NOR = { - has_trait = greedy - ai_greed > very_high_positive_ai_value - } - OR = { - culture = { has_cultural_tradition = tradition_concubines } - faith = { has_doctrine = doctrine_concubines } - } - } - - ai_will_do = { - base = 0 - - modifier = { # Basic Filtering - add = 100 - scope:recipient = { - number_of_concubines < number_of_desired_concubines - } - scope:secondary_actor = { - trigger_if = { - limit = { - allowed_to_marry_same_sex_trigger = no - } - sex_opposite_of = scope:recipient - } - fertility > 0.2 - is_young_character = yes - NOR = { - is_councillor_of = scope:actor - is_of_major_interest_trigger = { - CHARACTER = scope:actor - } - is_concubine_of = scope:actor - } - } - } - - modifier = { # If secondary_actor is close to actor, a good character, or if actor should take them as concubine - add = -100 - scope:secondary_actor = { - is_of_minor_interest_trigger = { - CHARACTER = scope:actor - } - AND = { - can_become_concubine_of_character_trigger = { CHARACTER = scope:actor } - scope:actor = { number_of_concubines < number_of_desired_concubines } - } - } - } - - modifier = { # If secondary_actor could be an agent... - add = 25 - scope:actor = { - any_scheme = { - scheme_target_character = scope:recipient - save_temporary_scope_as = scheme_check - } - } - scope:secondary_actor = { - char_can_fit_into_scheme_trigger = { SCHEME = scope:scheme_check } - } - } - - modifier = { # More likely if it's a neighboring ruler that you want to like you - add = 50 - scope:recipient = { - any_neighboring_top_liege_realm_owner = { this = scope:actor } - max_military_strength > scope:actor.max_military_strength - } - } - - modifier = { # More likely if it's your friend and it's a nice concubine - add = 50 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - scope:secondary_actor = { - fertility > 0.2 - is_young_character = yes - OR = { - has_trait = lustful - num_of_good_genetic_traits > 0 - } - } - } - - modifier = { #Even if they're allowed to take same-sex concubines we don't want the AI to suggest it without a good reason if they're not attracted to the person - add = -200 - scope:recipient = { - allowed_to_marry_same_sex_trigger = yes - sex_same_as = scope:secondary_actor - NOT = { is_attracted_to_gender_of = scope:secondary_actor } - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { # No if it's a same-sex concubinage and actor isn't accepting of it - factor = 0 - scope:actor = { - allowed_to_marry_same_sex_trigger = no - scope:recipient = { sex_same_as = scope:secondary_actor } - } - } - - modifier = { # No if it's a same-sex concubinage and recipient isn't accepting of it - factor = 0 - scope:recipient = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:secondary_actor - } - } - - modifier = { # Age considerations - factor = 0 - scope:recipient = { - OR = { - age >= scope:secondary_actor.age_plus_10 - age <= scope:secondary_actor.age_minus_10 - scope:secondary_actor.age >= 30 # Concubines are meant to be young... - } - } - } - - modifier = { # Incest Filtering: Hard NO! - factor = 0 - scope:recipient = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:secondary_actor } - NOR = { - accepts_incest_with_trigger = { CHARACTER = scope:secondary_actor } - sexually_liberal_trigger = yes - } - } - } - - modifier = { # Incest Filtering: Not likely, but keep the door open... - factor = 0.2 - scope:recipient = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:secondary_actor } - OR = { - accepts_incest_with_trigger = { CHARACTER = scope:secondary_actor } - sexually_liberal_trigger = yes - } - } - } - - modifier = { # Faith considerations - factor = 0 - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_hostile_level - } - } - NOR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - } - } - } - } - - on_send = { - scope:secondary_actor = { # to block the same character from being offered twice - add_character_flag = { - flag = has_been_offered_as_concubine - days = 5 - } - } - } - - on_accept = { - concubine_offer_on_accept_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_concubinage_offer.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = msg_concubine_offer_rejected_title - right_icon = scope:recipient - left_icon = scope:secondary_actor - custom_tooltip = msg_concubine_offer_rejected - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_concubinage_offer_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - send_options_exclusive = no - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" -} - -dismiss_concubine_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = concubine_icon - - is_shown = { - scope:recipient = { - is_concubine_of = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:target - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - auto_accept = yes - - on_accept = { - scope:actor = { - stress_impact = { - compassionate = minor_stress_impact_gain - } - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = msg_concubine_dismissed_title - right_icon = scope:recipient - remove_concubine = scope:recipient - } - } - } - - scope:recipient = { - # No point in sending a notification since the player can't be an unlanded concubine in any case - # trigger_event = marriage_interaction.0050 - - # Being thrown aside is humiliating, even if you didn't want to be a concubine in the first place. - add_opinion = { - modifier = set_me_aside_opinion - target = scope:actor - } - if = { - limit = { scope:actor = { has_relation_lover = scope:recipient } } - lover_breakup_effect = { - BREAKER = scope:actor - LOVER = scope:recipient - } - } - - # Figure out where we should go now that we're no longer a concubine. - if = { - limit = { - is_councillor_of = scope:actor - } - # Then they should remain in court - } - else_if = { #Dismiss to relevant court, or to pool - limit = { - any_close_family_member = { - is_landed_or_landless_administrative = yes - } - } - random_close_family_member = { - limit = { - is_child_of = scope:recipient - is_landed_or_landless_administrative = yes - } - alternative_limit = { - is_parent_of = scope:recipient - is_landed_or_landless_administrative = yes - } - alternative_limit = { - is_landed_or_landless_administrative = yes - } - add_courtier = scope:recipient - } - } - else = { - move_to_pool = yes - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_concubinage_dismissal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -divorce_character_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = icon_marriage - - desc = divorce_character_interaction_desc - cost = { piety = divorce_cost } - - is_shown = { - scope:actor.faith = { - # We are not required to seek approval of a spiritual HoF - NAND = { - has_doctrine = doctrine_divorce_approval - has_doctrine = doctrine_spiritual_head - exists = religious_head - } - # We are not required to seek approval of a house head - NAND = { - has_doctrine = doctrine_divorce_approval - exists = scope:actor.house - exists = scope:actor.house.house_head - scope:actor = { is_house_head = no } - } - } - scope:recipient = { - is_spouse_of = scope:actor - is_concubine = no # Can set aside Concubines at any time - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - NOT = { - scope:actor.culture = { - has_cultural_parameter = cannot_divorce - } - } - text = CULTURE_FORBIDS_DIVORCE - } - NOT = { - scope:actor.faith = { - has_doctrine = doctrine_divorce_disallowed - } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:target - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - auto_accept = yes - - on_accept = { - scope:actor = { - divorce_effect = { - DIVORCER = scope:actor - DIVORCEE = scope:recipient - } - if = { - limit = { - allowed_concubines = yes - } - custom_tooltip = divorce_cannot_concubine_ex_wife - } - } - scope:recipient = { - trigger_event = marriage_interaction.0030 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_divorce.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI - ai_targets = { - ai_recipients = spouses - } - ai_frequency = 36 - - ai_potential = { - is_ruler = yes - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to divorce should they not have an heir that is their own child, and their spouse is infertile - add = 100 - scope:actor = { - fertility > 0.1 - NOT = { - any_child = { - is_heir_of = scope:actor - } - } - } - scope:recipient = { - is_ai = yes - fertility < 0.1 - } - } - - modifier = { # The AI will divorce if they're in a same-sex marriage and their faith changes its stance on the topic - add = 100 - scope:actor = { - sex_same_as = scope:recipient - allowed_to_marry_same_sex_trigger = no - } - } - } -} - -divorce_character_house_head_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = icon_marriage - - cost = { - piety = divorce_cost - } - - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - } - if = { - limit = { - exists = scope:actor.house.house_head - } - scope:actor.house.house_head = { - save_scope_as = recipient - } - } - } - - greeting = positive - notification_text = ASK_FOR_DIVORCE_NOTIFICATION - - is_shown = { - exists = scope:actor.house.house_head - NOT = { scope:actor = scope:actor.house.house_head } # no need to ask yourself - scope:actor.faith = { - has_doctrine = doctrine_divorce_approval - } - NAND = { - exists = scope:actor.faith.religious_head - scope:actor.faith = { - has_doctrine = doctrine_spiritual_head - } - } - scope:secondary_recipient = { - is_spouse_of = scope:actor - is_concubine = no # Can set aside Concubines at any time - } - } - - is_valid_showing_failures_only = { - # Denounced trait? - scope:recipient = { is_busy_in_events_localised = yes } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - custom_tooltip = { - NOT = { - scope:actor.culture = { - has_cultural_parameter = cannot_divorce - } - } - text = CULTURE_FORBIDS_DIVORCE - } - NOT = { - scope:secondary_recipient = { has_strong_hook = scope:actor } - } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:target - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - ai_accept = { - base = 0 # Should be 0 for all interactions - - divorce_character_ai_accept_modifier = yes - - modifier = { # Infertility - add = 20 - desc = DIVORCE_INFERTILE - scope:actor = { - fertility > 0.1 - } - scope:secondary_recipient = { - fertility < 0.1 - is_eunuch_trigger = no - NOT = { - any_child = { - is_child_of = scope:actor - } - } - } - } - - modifier = { # Negative for having given you children - add = -50 - desc = DIVORCE_GIVEN_CHILDREN - scope:secondary_recipient = { - any_child = { - count >= 3 - is_child_of = scope:actor - AND = { - exists = dynasty - dynasty = scope:actor.dynasty - } - } - } - } - - modifier = { # They are of the same dynasty as the House Head - trigger = { NOT = { scope:recipient = scope:secondary_recipient } } - add = -10 - desc = THEY_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - exists = dynasty - NOR = { - is_cousin_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - } - dynasty = scope:secondary_recipient.dynasty - NOR = { - house = scope:secondary_recipient.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - AND = { - exists = scope:actor.dynasty - scope:recipient.dynasty = scope:actor.dynasty - } - } - } - } - - modifier = { # They are of the same house as the House Head - trigger = { NOT = { scope:recipient = scope:secondary_recipient } } - add = -20 - desc = THEY_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - NOR = { - is_cousin_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - } - house = scope:secondary_recipient.house - NOR = { - house = scope:actor.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:actor.house - } - } - } - - modifier = { # They are close kin to the House Head - trigger = { NOT = { scope:recipient = scope:secondary_recipient } } - add = -35 - desc = THEY_ARE_MY_CLOSE_KIN - scope:recipient = { - OR = { - is_cousin_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - } - } - } - - modifier = { - add = intimidated_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { # You're in a same-sex marriage and your faith doesn't allow it - add = 100 - desc = SAME_SEX_MARRIAGE_FAITH_REASON_ACTOR - scope:actor.faith = scope:recipient.faith - scope:actor = { - sex_same_as = scope:secondary_recipient - allowed_to_marry_same_sex_trigger = no - } - } - - modifier = { # You're in a same-sex marriage and their faith doesn't allow it - add = 100 - desc = SAME_SEX_MARRIAGE_FAITH_REASON - scope:secondary_recipient.faith = scope:recipient.faith - scope:secondary_recipient = { - sex_same_as = scope:actor - allowed_to_marry_same_sex_trigger = no - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:divorce_hook = yes - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = divorce_hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - if = { - limit = { always = scope:divorce_hook } - scope:actor = { - if = { - limit = { - has_usable_hook = scope:recipient - } - use_hook = scope:recipient - } - } - } - if = { - limit = { - scope:actor = scope:actor.house.house_head - } - scope:actor = { - divorce_effect = { - DIVORCER = scope:actor - DIVORCEE = scope:secondary_recipient - } - } - } - else = { - show_as_tooltip = { - scope:actor = { - divorce_effect = { - DIVORCER = scope:actor - DIVORCEE = scope:secondary_recipient - } - } - } - scope:actor = { - trigger_event = religious_interaction.2 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_divorce_grant.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - send_interface_toast = { - type = event_toast_effect_bad - title = divorce_character_rel_head_interaction_decline_notification - right_icon = scope:actor.house.house_head - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_divorce_grant_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI - ai_targets = { - ai_recipients = spouses - } - ai_frequency = 36 - - ai_potential = { - is_ruler = yes - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to divorce should they not have an heir that is their own child, and their spouse is infertile - add = 100 - scope:actor = { - fertility > 0.1 - NOT = { - any_child = { - is_heir_of = scope:actor - } - } - } - scope:secondary_recipient = { - is_ai = yes - fertility < 0.1 - } - } - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:divorce_hook = yes - add = -1 - } - - modifier = { # You're in a same-sex marriage and your faith doesn't allow it - add = 100 - scope:actor = { - sex_same_as = scope:secondary_recipient - allowed_to_marry_same_sex_trigger = no - } - } - } -} - -divorce_character_rel_head_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = icon_marriage - - cost = { - piety = divorce_cost - } - - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - } - - if = { - limit = { - exists = scope:actor.faith.religious_head - } - scope:actor.faith.religious_head = { - save_scope_as = recipient - } - } - } - - greeting = positive - notification_text = ASK_FOR_DIVORCE_NOTIFICATION - - is_shown = { - exists = scope:actor.faith.religious_head - scope:actor.faith = { - has_doctrine = doctrine_spiritual_head - has_doctrine = doctrine_divorce_approval - } - scope:secondary_recipient = { - is_spouse_of = scope:actor - is_concubine = no # Can set aside Concubines at any time - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { has_trait = excommunicated } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - custom_tooltip = { - NOT = { - scope:actor.culture = { - has_cultural_parameter = cannot_divorce - } - } - text = CULTURE_FORBIDS_DIVORCE - } - NOT = { - scope:secondary_recipient = { has_strong_hook = scope:actor } - } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:recipient - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - ai_accept = { - base = 0 # Should be 0 for all interactions - - divorce_character_ai_accept_modifier = yes - - modifier = { # Divine Family is part of the faith - add = -100 - desc = DIVORCE_INCESTUOUS - - scope:actor = { - is_close_or_extended_family_of = scope:secondary_recipient - faith = { has_doctrine = tenet_divine_marriage } - } - } - - modifier = { # More likely if the marriage is incestuous, unless Divine Family is part of the faith - add = 100 - desc = DIVORCE_INCESTUOUS - - scope:actor = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:secondary_recipient } - } - } - - modifier = { # They are of the same dynasty as the Head of Faith - add = -5 - desc = THEY_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - exists = dynasty - exists = scope:secondary_recipient.dynasty - dynasty = scope:secondary_recipient.dynasty - NOR = { - house = scope:secondary_recipient.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:actor.dynasty - } - } - } - - modifier = { # You are of the same dynasty as the Head of Faith - add = 5 - desc = YOU_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:secondary_recipient.dynasty - } - } - } - - modifier = { # They are of the same house as the Head of Faith - add = -10 - desc = THEY_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - exists = house - exists = scope:secondary_recipient.house - house = scope:secondary_recipient.house - NOR = { - house = scope:actor.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:actor.house - } - } - } - - modifier = { # You are of the same house as the Head of Faith - add = 10 - desc = YOU_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - exists = house - exists = scope:actor.house - house = scope:actor.house - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:secondary_recipient.house - } - } - } - - modifier = { # Related to the Head of Faith - add = 25 - desc = YOU_ARE_MY_RELATIVE - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - } - NOT = { is_child_of = scope:actor } - } - } - - modifier = { # Parent of the Head of Faith - add = 50 - desc = PARENTS #YOU_ARE_MY_PARENT - scope:recipient = { - is_child_of = scope:actor - } - } - - modifier = { - add = { - add = 10 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = I_AM_VIRTUOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:secondary_recipient.num_virtuous_traits - } - scope:secondary_recipient.num_virtuous_traits > 0 - desc = THEY_ARE_VIRTUOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = I_AM_SINFUL - } - - modifier = { - add = { - add = 10 - multiply = scope:secondary_recipient.num_sinful_traits - } - scope:secondary_recipient.num_sinful_traits > 0 - desc = THEY_ARE_SINFUL - } - - modifier = { # You're in a same-sex marriage and your faith doesn't allow it - add = 100 - desc = SAME_SEX_MARRIAGE_FAITH_REASON_ACTOR - scope:actor.faith = scope:recipient.faith - scope:actor = { - sex_same_as = scope:secondary_recipient - allowed_to_marry_same_sex_trigger = no - } - } - - modifier = { # You're in a same-sex marriage and their faith doesn't allow it - add = 100 - desc = SAME_SEX_MARRIAGE_FAITH_REASON - scope:secondary_recipient.faith = scope:recipient.faith - scope:secondary_recipient = { - sex_same_as = scope:actor - allowed_to_marry_same_sex_trigger = no - } - } - - modifier = { # You have denounced them as impotent (ep2_wedding.1061) - add = 30 - desc = THEY_ARE_ACCUSED_IMPOTENCY - scope:secondary_recipient = { - has_character_modifier = wedding_accused_impotency_modifier - } - } - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:divorce_hook = yes - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = divorce_hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - if = { - limit = { always = scope:divorce_hook } - scope:actor = { - if = { - limit = { - has_usable_hook = scope:recipient - } - use_hook = scope:recipient - } - } - } - show_as_tooltip = { - scope:actor = { - divorce_effect = { - DIVORCER = scope:actor - DIVORCEE = scope:secondary_recipient - } - } - } - scope:actor = { - trigger_event = religious_interaction.1 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_alliance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - send_interface_toast = { - type = event_toast_effect_bad - title = divorce_character_rel_head_interaction_decline_notification - - right_icon = scope:actor.faith.religious_head - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_alliance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI - ai_targets = { - ai_recipients = spouses - } - ai_frequency = 36 - - ai_potential = { - is_ruler = yes - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to divorce should they not have an heir that is their own child, and their spouse is infertile - add = 100 - scope:actor = { - fertility > 0.1 - NOT = { - any_child = { - is_heir_of = scope:actor - } - } - } - scope:secondary_recipient = { - is_ai = yes - fertility < 0.1 - } - } - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:divorce_hook = yes - add = -1 - } - - modifier = { # You're in a same-sex marriage and your faith doesn't allow it - add = 100 - scope:actor = { - sex_same_as = scope:secondary_recipient - allowed_to_marry_same_sex_trigger = no - } - } - } -} - -divorce_character_dynast_request_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = icon_dynasty - - desc = divorce_character_dynast_request_interaction_desc - - cost = { - piety = divorce_cost - renown = minor_dynasty_prestige_value - } - - redirect = { - scope:recipient = { - save_scope_as = secondary_actor - } - - if = { - limit = { - exists = scope:recipient.primary_spouse - } - scope:recipient.primary_spouse = { - save_scope_as = recipient - } - } - } - - is_shown = { - NOT = { scope:secondary_actor = scope:actor } - scope:secondary_actor.dynasty.dynast = scope:actor - - scope:actor.faith = { - # We are not required to seek approval of a spiritual HoF - NAND = { - has_doctrine = doctrine_divorce_approval - has_doctrine = doctrine_spiritual_head - exists = religious_head - } - } - OR = { - AND = { - NOT = { scope:actor.faith = scope:secondary_actor.faith } - # They are not required to seek approval of a spiritual HoF of the Dynasty Member - scope:secondary_actor.faith = { - NOT = { - has_doctrine = doctrine_divorce_approval - } - } - } - scope:actor.faith = scope:secondary_actor.faith - } - - scope:recipient = { - is_spouse_of = scope:secondary_actor - is_concubine = no # Can set aside Concubines at any time - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - NOT = { - scope:actor.culture = { - has_cultural_parameter = cannot_divorce - } - } - text = CULTURE_FORBIDS_DIVORCE - } - NOT = { - scope:actor.faith = { - has_doctrine = doctrine_divorce_disallowed - } - } - scope:actor.dynasty = { - dynasty_prestige >= minor_dynasty_prestige_value - } - - NOT = { - scope:secondary_actor.faith = { - has_doctrine = doctrine_divorce_disallowed - } - } - scope:secondary_actor = { is_busy_in_events_localised = yes } - scope:secondary_actor = { NOT = { has_strong_hook = scope:actor } } - trigger_if = { - limit = { - scope:secondary_actor = { - NOR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - custom_description = { - scope:secondary_actor.top_liege = scope:actor.top_liege - text = "same_realm_as" - } - } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:target - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - auto_accept = yes - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = divorce_character_dynast_request_interaction_title - custom_tooltip = divorce_character_dynast_request_interaction_desc - - left_icon = scope:secondary_actor - right_icon = scope:recipient - } - } - - - scope:secondary_actor = { - divorce_effect = { - DIVORCER = scope:secondary_actor - DIVORCEE = scope:recipient - } - - add_opinion = { - modifier = forced_divorce_opinion - target = scope:actor - } - } - if = { - limit = { - NOT = { scope:recipient = scope:actor } - } - scope:recipient = { - trigger_event = marriage_interaction.0030 - - add_opinion = { - modifier = forced_divorce_opinion - target = scope:actor - } - } - } - } - - # AI - ai_targets = { - ai_recipients = dynasty - max = 10 - } - ai_frequency = 72 - - ai_potential = { - is_ruler = yes - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to force a divorce if their heir is not from their dynasty and current marriage within the dynasty are not promising - add = 100 - scope:secondary_actor = { - fertility > 0.1 - } - scope:recipient = { - is_ai = yes - fertility < 0.1 - } - exists = scope:actor.primary_heir - exists = scope:actor.primary_heir.dynasty - NOT = { scope:actor.primary_heir.dynasty = this.dynasty } - } - - #Players should not be targeted - modifier = { - add = -1000 - OR = { - scope:secondary_actor = { is_ai = no } - scope:recipient = { is_ai = no } - } - } - } -} - -divorce_character_dynast_request_rel_head_interaction = { - category = interaction_category_diplomacy - use_diplomatic_range = no - icon = icon_dynasty - - cost = { - piety = divorce_cost - renown = minor_dynasty_prestige_value - } - - redirect = { - scope:recipient = { - save_scope_as = secondary_actor - } - - if = { - limit = { - exists = scope:recipient.primary_spouse - } - scope:recipient.primary_spouse = { - save_scope_as = secondary_recipient - } - } - - if = { - limit = { - exists = scope:actor.faith.religious_head - } - scope:actor.faith.religious_head = { - save_scope_as = recipient - } - } - } - - greeting = positive - notification_text = ASK_FOR_DIVORCE_NOTIFICATION - - is_shown = { - NOT = { scope:secondary_actor = scope:actor } - scope:secondary_actor.dynasty.dynast = scope:actor - NOT = { - scope:secondary_actor = { is_spouse_of = scope:actor } - } - - exists = scope:secondary_recipient - - scope:actor.faith = scope:secondary_actor.faith - exists = scope:actor.faith.religious_head - scope:actor.faith = { - has_doctrine = doctrine_spiritual_head - has_doctrine = doctrine_divorce_approval - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - NOT = { - scope:actor.culture = { - has_cultural_parameter = cannot_divorce - } - } - text = CULTURE_FORBIDS_DIVORCE - } - scope:actor.dynasty = { - dynasty_prestige >= minor_dynasty_prestige_value - } - - scope:secondary_actor = { is_busy_in_events_localised = yes } - scope:secondary_actor = { NOT = { has_strong_hook = scope:actor } } - trigger_if = { - limit = { - scope:secondary_actor = { - NOR = { - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - } - } - } - custom_description = { - scope:secondary_actor.top_liege = scope:actor.top_liege - text = "same_realm_as" - } - } - scope:actor = { - custom_tooltip = { - NOT = { - var:family_widow_forbidden_divorce ?= scope:target - } - text = BOUND_TO_FAMILY_WIDOW - } - } - } - - ai_accept = { - base = 0 # Should be 0 for all interactions - - divorce_character_ai_accept_modifier = yes - - modifier = { # Divine Family is part of the faith - add = -100 - desc = DIVORCE_INCESTUOUS - - scope:secondary_actor = { - is_close_or_extended_family_of = scope:secondary_recipient - faith = { has_doctrine = tenet_divine_marriage } - } - } - - modifier = { # More likely if the marriage is incestuous, unless Divine Family is part of the faith - add = 100 - desc = DIVORCE_INCESTUOUS - - scope:secondary_actor = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:secondary_recipient } - } - } - - modifier = { # You are of the same dynasty as the Head of Faith - add = 5 - desc = YOU_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - dynasty = scope:actor.dynasty - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:secondary_recipient.dynasty - } - } - } - - - modifier = { # You are of the same house as the Head of Faith - add = 10 - desc = YOU_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - house = scope:actor.house - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:secondary_recipient.house - } - } - } - - modifier = { # Related to the Head of Faith - add = 25 - desc = YOU_ARE_MY_RELATIVE - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - } - NOT = { is_child_of = scope:actor } - } - } - - modifier = { # Parent of the Head of Faith - add = 50 - desc = PARENTS #YOU_ARE_MY_PARENT - scope:recipient = { - is_child_of = scope:actor - } - } - - modifier = { - add = { - add = 10 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = I_AM_VIRTUOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:secondary_recipient.num_virtuous_traits - } - scope:secondary_recipient.num_virtuous_traits > 0 - desc = THEY_ARE_VIRTUOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = I_AM_SINFUL - } - - modifier = { - add = { - add = 10 - multiply = scope:secondary_recipient.num_sinful_traits - } - scope:secondary_recipient.num_sinful_traits > 0 - desc = THEY_ARE_SINFUL - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:divorce_hook = yes - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = divorce_hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - if = { - limit = { always = scope:divorce_hook } - scope:actor = { - if = { - limit = { - has_usable_hook = scope:recipient - } - use_hook = scope:recipient - } - } - } - scope:actor = { - trigger_event = religious_interaction.6 - } - - scope:secondary_actor = { - divorce_effect = { - DIVORCER = scope:secondary_actor - DIVORCEE = scope:secondary_recipient - } - add_opinion = { - modifier = forced_divorce_opinion - target = scope:actor - } - } - - scope:secondary_recipient = { - add_opinion = { - modifier = forced_divorce_opinion - target = scope:actor - } - } - } - - on_decline = { - send_interface_toast = { - type = event_toast_effect_bad - title = divorce_character_dynast_request_rel_head_interaction_decline_notification - - right_icon = scope:actor.faith.religious_head - } - } - - # AI - ai_targets = { - ai_recipients = dynasty - max = 10 - } - ai_frequency = 72 - - ai_potential = { - is_ruler = yes - } - - ai_will_do = { - base = 0 - - modifier = { # The AI wants to force a divorce if their heir is not from their dynasty and current marriage within the dynasty are not promising - add = 100 - scope:secondary_actor = { - fertility > 0.1 - } - scope:secondary_recipient = { - is_ai = yes - fertility < 0.1 - } - exists = scope:actor.primary_heir - exists = scope:actor.primary_heir.dynasty - NOT = { scope:actor.primary_heir.dynasty = this.dynasty } - } - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:divorce_hook = yes - add = -1 - } - - #Players should not be targeted - modifier = { - add = -1000 - OR = { - scope:secondary_actor = { is_ai = no } - scope:secondary_recipient = { is_ai = no } - } - } - } -} - -elope_interaction = { - icon = icon_scheme_elope - category = interaction_category_friendly - - scheme = elope - - desc = elope_interaction_desc - - notification_text = elope_interaction_notification - - ai_targets = { - ai_recipients = realm_characters - chance = 0.25 - } - - ai_target_quick_trigger = { - adult = yes - attracted_to_owner = yes - owner_attracted = yes - } - ai_frequency = 72 - - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - } - } - - is_shown = { - scope:actor = { - OR = { - has_relation_lover = scope:recipient - has_relation_soulmate = scope:recipient - AND = { - is_landless_adventurer = yes - has_perk = accomplished_forger_perk - } - } - } - scope:recipient = { - is_adult = yes - is_courtier = yes - NOR = { - is_courtier_of = scope:actor - is_consort_of = scope:actor - } - could_marry_character_trigger = { CHARACTER = scope:actor } - } - } - - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - can_start_scheme = { - type = elope - target_character = scope:recipient - } - } - } - - - ai_accept = { - base = 0 - - elopment_ai_accept_modifier = yes - } - - ai_potential = { - is_adult = yes - OR = { - num_of_relation_lover > 0 - num_of_relation_soulmate > 0 - } - NOR = { - has_trait = celibate - scheme_generic_ai_blocker_trigger = yes - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 3 - - on_accept = { - scope:actor = { - stress_impact = { - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - } - show_as_tooltip = { - elope_success_effect = { - TARGET = scope:recipient - OWNER = scope:actor - } - } - } - hidden_effect = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = elope_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = elope - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - - show_as_tooltip = { - stress_impact = { - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - } - } - } - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = elope_interaction_decline_toast - left_icon = scope:recipient - } - } - } - - ai_will_do = { - base = 100 - } -} diff --git a/N3OW/common/character_interactions/00_modifiy_vassal_contract.txt b/N3OW/common/character_interactions/00_modifiy_vassal_contract.txt deleted file mode 100644 index 42cd3082..00000000 --- a/N3OW/common/character_interactions/00_modifiy_vassal_contract.txt +++ /dev/null @@ -1,1988 +0,0 @@ -liege_modify_vassal_contract_interaction = { - special_interaction = liege_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - common_interaction = yes - icon = icon_contract_modification_single - interface_priority = 5 - - send_name = "modify_vassal_contract_interaction_SEND" - desc = liege_modify_vassal_contract_interaction_desc - - force_notification = yes - notification_text = MODIFY_VASSAL_CONTRACT_NOTIFICATION_TO_VASSAL - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - is_ruler = yes - vassal_contract_has_modifiable_obligations = yes - NOT = { government_has_flag = government_is_administrative } - NOT = { government_has_flag = government_is_nomadic } - } - } - - is_valid_showing_failures_only = { - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - } - - can_send = { - trigger_if = { #If they're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - - custom_description = { - text = "liege_modify_vassal_contract_cannot_exceed_tyranny_cap" - object = scope:actor - NOT = { - vassal_obligation_increase_tyranny_gain_multiplier > 1 - } - } - - # Cannot change more than three things at once - custom_description = { - text = "vassal_modify_vassal_contract_obligation_change_limit" - value = list_size:changed_obligations - list_size:changed_obligations <= max_contract_changes - } - - # If the trade without the hook usage is already in the vassal's favour or fair then don't waste your hook - save_temporary_scope_value_as = { - name = obligations_favoring_vassal - value = scope:recipient.count_obligation_improvements_for_vassal - } - trigger_if = { - limit = { scope:obligations_favoring_vassal > 0 } - custom_description = { - text = "vassal_modify_vassal_contract_unnecessary_hook_usage_vassal_favor" - object = scope:recipient - value = scope:obligations_favoring_vassal - NOT = { always = scope:hook } - } - } - trigger_else_if = { - limit = { scope:obligations_favoring_vassal = 0 } - custom_description = { - text = "vassal_modify_vassal_contract_unnecessary_hook_usage_equal" - object = scope:recipient - NOT = { always = scope:hook } - } - } - trigger_else = {} # Otherwise we're fine! - } - } - } - - auto_accept = yes - on_accept = { - hidden_effect = { - # Struggle Catalysts - ## We work these out first so they're not invalidated by the actual effect block. - if = { - limit = { - catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_granted_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - if = { - limit = { - catalyst_revoked_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - - # Improving contract catalyst - if = { - limit = { - scope:recipient.count_obligation_improvements_for_vassal > 0 - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Enact changes. - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - # Add tyranny for each level increased. Can spend one hook to avoid one level of tyranny hit. - add_tyranny = vassal_obligation_increase_tyranny_gain - if = { - limit = { vassal_obligation_increase_tyranny_gain != 0 } - stress_impact = { - just = medium_stress_impact_gain - generous = medium_stress_impact_gain - } - } - if = { - limit = { - always = scope:hook - } - use_hook = scope:recipient - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - scope:recipient = { - hidden_effect = { - set_subject_contract_modification_blocked = yes - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - - } - } - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no -} - -vassal_modify_vassal_contract_interaction = { - special_interaction = liege_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - common_interaction = yes - icon = icon_contract_modification_single - - send_name = "modify_vassal_contract_interaction_SEND" - desc = vassal_modify_vassal_contract_interaction_desc - - force_notification = yes - notification_text = MODIFY_VASSAL_CONTRACT_NOTIFICATION_TO_LIEGE - - redirect = { - # need to reverse the role for the UI to work properly - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor = { - save_scope_as = recipient - } - - scope:secondary_recipient = { - save_scope_as = actor - } - } - - is_shown = { - scope:recipient = { - is_independent_ruler = no - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - vassal_contract_has_modifiable_obligations = yes - NOT = { government_has_flag = government_is_administrative } - NOT = { government_has_flag = government_is_nomadic } - } - } - - is_valid_showing_failures_only = { - NOT = { scope:recipient = { is_at_war_with = scope:actor } } - } - - can_send = { - trigger_if = { #If you're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - } - - scope:recipient = { - # Must be an even trade overall - trigger_if = { - limit = { - count_obligation_improvements_for_vassal_include_hook >= 0 - } - custom_description = { - text = "vassal_modify_vassal_contract_cannot_increase_obligation_level" - object = scope:actor - value = count_obligation_improvements_for_vassal_include_hook - count_obligation_improvements_for_vassal_include_hook = 0 - } - } - - # Cannot change more than three things at once - custom_description = { - text = "vassal_modify_vassal_contract_obligation_change_limit" - value = list_size:changed_obligations - list_size:changed_obligations <= max_contract_changes - } - } - } - } - - auto_accept = yes - - on_accept = { - # Enact changes. - scope:recipient = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:actor - if = { - limit = { always = scope:hook } - use_hook = scope:actor - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - hidden_effect = { set_subject_contract_modification_blocked = yes } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - } - } - } - # If there's a diarch involved, and they called in their change, that gets flagged. - diarch_changed_own_contract_effect = yes - - hidden_effect = { - # Struggle Catalysts - ## We work these out first so they're not invalidated by the actual effect block. - if = { - limit = { - catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_granted_powerful_diff_faith_vassal_religious_protection - character = scope:recipient - } - } - } - } - # Improving contract catalyst - if = { - limit = { - scope:recipient.count_obligation_improvements_for_vassal > 0 - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - send_option = { - is_valid = { - scope:recipient = { - has_usable_hook = scope:actor - } - } - flag = hook - localization = SCHEME_HOOK - } - send_option = { - is_shown = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - is_valid = { - scope:recipient = { - trigger_if = { - limit = { has_variable_list = diarch_contract_rights_used_list } - NOT = { - is_target_in_variable_list = { - name = diarch_contract_rights_used_list - target = scope:actor - } - } - } - } - } - flag = diarch - localization = CALL_IN_DIARCH_RIGHTS - } - should_use_extra_icon = { - scope:recipient = { has_usable_hook = scope:actor } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no -} - -ai_only_liege_modify_vassal_contract_interaction = { - category = interaction_category_vassal - send_name = "modify_vassal_contract_interaction_SEND" - desc = liege_modify_vassal_contract_interaction_desc - - auto_accept = yes - - is_shown = { - scope:actor = { - is_ai = yes - OR = { - has_usable_hook = scope:recipient - AND = { - government_has_flag = government_is_administrative - scope:recipient = { government_has_flag = government_is_administrative } - } - } - } - scope:recipient = { - NOT = { this = scope:actor } - NOT = { - has_strong_hook = scope:actor - } - liege ?= scope:actor # this excludes tributary contracts by default - is_ruler = yes - OR = { - vassal_contract_can_be_modified_trigger = yes - government_has_flag = government_is_administrative - } - does_ai_liege_in_vassal_contract_desire_obligation_change = yes - } - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - } - - on_accept = { - scope:actor = { - stress_impact = { - generous = minor_stress_impact_gain - } - } - - scope:recipient = { - set_subject_contract_modification_blocked = yes - trigger_event = char_interaction.0250 - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - ai_potential = { - trigger_if = { - limit = { - NOT = { government_has_flag = government_is_administrative } - } - is_at_war = no - } - } - - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 24 - - ai_will_do = { - base = 100 - - modifier = { - factor = 0 - scope:recipient = { - OR = { - AND = { - scope:actor = { - ai_greed <= high_positive_ai_value - } - has_relation_friend = scope:actor - } - has_relation_best_friend = scope:actor - has_relation_soulmate = scope:actor - } - } - } - } - -} - -ai_only_vassal_modify_vassal_contract_interaction = { - category = interaction_category_vassal - send_name = "modify_vassal_contract_interaction_SEND" - desc = vassal_modify_vassal_contract_interaction_desc - - auto_accept = yes - - is_shown = { - scope:actor = { - is_ai = yes - is_independent_ruler = no - has_usable_hook = scope:recipient - vassal_contract_can_be_modified_trigger = yes - does_ai_vassal_in_vassal_contract_desire_obligation_change = yes - } - scope:recipient = { - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - is_ruler = yes - NOT = { - has_strong_hook = scope:actor - } - } - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - } - - on_accept = { - scope:recipient = { - trigger_event = char_interaction.0251 - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - ai_potential = { - always = yes - } - - ai_targets = { - ai_recipients = liege - } - ai_frequency = 24 - - ai_will_do = { - base = 100 - - modifier = { - factor = 0 - scope:recipient = { - OR = { - AND = { - scope:actor = { - ai_greed <= high_positive_ai_value - } - has_relation_friend = scope:actor - } - has_relation_best_friend = scope:actor - has_relation_soulmate = scope:actor - } - } - } - } -} - -# Separate interactions are set up for Administrative - This is to help with localisation and some of the effects -admin_liege_modify_vassal_contract_interaction = { - special_interaction = liege_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - common_interaction = yes - interface_priority = 1000 - icon = icon_contract_modification_single - - send_name = admin_liege_modify_vassal_contract_interaction - desc = admin_liege_modify_vassal_contract_interaction_desc - - force_notification = yes - notification_text = MODIFY_VASSAL_CONTRACT_NOTIFICATION_TO_VASSAL - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - is_ruler = yes - vassal_contract_has_modifiable_obligations = yes - government_has_flag = government_is_administrative - any_held_title = { - tier >= tier_duchy - is_noble_family_title = no - } - } - } - - is_valid_showing_failures_only = { - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - } - - can_send = { - trigger_if = { #If they're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - # There is no cooldown present - To make sure we somehow don't show both cooldowns at the same time, we split them into separate triggers - trigger_if = { - limit = { - scope:recipient = { - has_variable = admin_contract_cooldown - } - } - custom_tooltip = { - text = admin_contract_cooldown_desc - scope:recipient = { - NOT = { has_variable = admin_contract_cooldown } - } - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - } - } - } - } - - auto_accept = yes - on_accept = { - hidden_effect = { - # Struggle Catalysts - ## We work these out first so they're not invalidated by the actual effect block. - if = { - limit = { - catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_granted_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - if = { - limit = { - catalyst_revoked_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - - # Improving contract catalyst - if = { - limit = { - scope:recipient.count_obligation_improvements_for_vassal > 0 - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Enact changes. - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - - scope:recipient = { - hidden_effect = { - set_variable = { - name = admin_contract_cooldown - value = yes - years = admin_contract_cooldown_value - } - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - - } - } - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - send_options_exclusive = no -} - -admin_vassal_modify_vassal_contract_interaction = { - special_interaction = vassal_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - interface_priority = 65 - common_interaction = yes - icon = icon_contract_modification_single - - filter_tags = { admin_liege } - - send_name = "admin_vassal_modify_vassal_contract_interaction_send" - desc = admin_vassal_modify_vassal_contract_interaction_desc - - is_shown = { - scope:actor = { - is_independent_ruler = no - NOT = { this = scope:recipient } - liege ?= scope:recipient # this excludes tributary contracts by default - vassal_contract_has_modifiable_obligations = yes - government_has_flag = government_is_administrative - } - } - - is_valid_showing_failures_only = { - NOT = { scope:recipient = { is_at_war_with = scope:actor } } - scope:actor = { - custom_tooltip = { - text = admin_vassal_not_holding_a_theme_desc - any_held_title = { - tier >= tier_duchy - is_noble_family_title = no - } - } - } - } - - can_send = { - trigger_if = { #If you're blocked we don't want to show anything else (we don't really use this for admin, but we'll keep the logic, just in case) - limit = { - scope:actor = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:actor = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - # There is no cooldown present - To make sure we somehow don't show both cooldowns at the same time, we split them into separate triggers - trigger_if = { - limit = { - scope:actor = { - has_variable = admin_contract_cooldown - } - } - custom_tooltip = { - text = admin_contract_cooldown_desc_vassal - scope:actor = { - NOT = { has_variable = admin_contract_cooldown } - } - } - } - trigger_else = { - custom_tooltip = { - text = admin_contract_request_cooldown_desc - scope:actor = { - NOT = { has_variable = admin_contract_request_cooldown } - } - } - scope:actor = { - has_changed_contract_obligation_trigger = yes - } - } - - # You can afford the influence cost - trigger_if = { - limit = { - NOR = { - scope:hook = yes - scope:dominant_family = yes - } - } - scope:actor = { - influence >= major_influence_value - } - } - } - } - - auto_accept = { - custom_tooltip = { - text = admin_vassal_force_obligation_change_desc - OR = { - scope:hook = yes - scope:dominant_family = yes - scope:diarch = yes - } - } - } - - on_accept = { - # Enact changes - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - - # If you use a hook - Spend it - if = { - limit = { always = scope:hook } - use_hook = scope:recipient - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - # If you didn't use a hook or leveraged your position as a Dominant Family, pay Influence - if = { - limit = { - has_changed_contract_obligation_trigger = yes # Don't show the cost unless we actually change the contract - NOR = { - scope:hook = yes - scope:dominant_family = yes - scope:diarch = yes - } - } - scope:actor = { - change_influence = major_influence_loss - } - } - - # Activate cooldown - To prevent liege from changing it too soon - hidden_effect = { - set_variable = { - name = admin_contract_cooldown - value = yes - years = admin_contract_cooldown_value - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:actor = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - } - } - } - - # If there's a diarch involved, and they called in their change, that gets flagged. - diarch_changed_own_contract_effect = yes - - hidden_effect = { - # Struggle Catalysts - ## We work these out first so they're not invalidated by the actual effect block. - if = { - limit = { - catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:recipient = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:actor - } - } - } - } - scope:recipient = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:actor - } - } - activate_struggle_catalyst = { - catalyst = catalyst_granted_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - # Improving contract catalyst - if = { - limit = { - scope:actor.count_obligation_improvements_for_vassal > 0 - scope:recipient = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:actor - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:actor - } - } - } - } - scope:recipient = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:actor - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:recipient - } - } - } - } - } - } - - on_decline = { - # Activate cooldown - You may only ask for it to be changed every so often (this mostly exists for MP, since you cannot send it to the AI unless they accept) - hidden_effect = { - scope:actor = { - set_variable = { - name = admin_contract_request_cooldown - value = yes - years = admin_contract_cooldown_value - } - } - } - } - - # Send Options - # Hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - # Dominant Family - send_option = { - is_shown = { - scope:actor = { - house ?= { is_dominant_family = yes } - } - } - flag = dominant_family - localization = OPTION_DOMINANT_FAMILY - } - # Diarch - send_option = { - is_shown = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - is_valid = { - scope:actor = { - trigger_if = { - limit = { has_variable_list = diarch_contract_rights_used_list } - NOT = { - is_target_in_variable_list = { - name = diarch_contract_rights_used_list - target = scope:recipient - } - } - } - } - } - flag = diarch - localization = CALL_IN_DIARCH_RIGHTS - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no - - ai_accept = { - base = -25 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - - # Governor efficiency - Skilled governors are more likely to get accepted - modifier = { - add = scope:actor.governor_efficiency_presented - desc = AI_GOVERNOR_EFFICIENCY - } - - # Members of a powerful family are more likely to get accepted - modifier = { - scope:actor = { - house ?= { is_powerful_family = yes } - NOT = { house ?= scope:recipient.house } - } - add = 50 - desc = AI_POWERFUL_FAMILY - } - - # Members of the emperors family are much more likely to get accepted - modifier = { - scope:actor = { - house ?= scope:recipient.house - } - add = 60 - desc = AI_SAME_HOUSE - } - } -} - -# Separate interactions are set up for Nomads - This is to help with localisation and some of the effects -nomad_liege_modify_vassal_contract_interaction = { - special_interaction = liege_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - common_interaction = yes - icon = icon_contract_modification_single - - send_name = nomad_liege_modify_vassal_contract_interaction - desc = nomad_liege_modify_vassal_contract_interaction_desc - - force_notification = yes - notification_text = MODIFY_VASSAL_CONTRACT_NOTIFICATION_TO_VASSAL - - is_shown = { - scope:recipient = { - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - is_ruler = yes - vassal_contract_has_modifiable_obligations = yes - government_has_flag = government_is_nomadic - } - } - - is_valid_showing_failures_only = { - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - } - - can_send = { - trigger_if = { #If they're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - - custom_description = { - text = "liege_modify_vassal_contract_cannot_exceed_tyranny_cap" - object = scope:actor - NOT = { - vassal_obligation_increase_tyranny_gain_multiplier > 1 - } - } - - # Cannot change more than three things at once - custom_description = { - text = "vassal_modify_vassal_contract_obligation_change_limit" - value = list_size:changed_obligations - list_size:changed_obligations <= max_contract_changes - } - - # If the trade without the hook usage is already in the vassal's favour or fair then don't waste your hook - save_temporary_scope_value_as = { - name = obligations_favoring_vassal - value = scope:recipient.count_obligation_improvements_for_vassal - } - trigger_if = { - limit = { scope:obligations_favoring_vassal > 0 } - custom_description = { - text = "vassal_modify_vassal_contract_unnecessary_hook_usage_vassal_favor" - object = scope:recipient - value = scope:obligations_favoring_vassal - NOT = { always = scope:hook } - } - } - trigger_else_if = { - limit = { scope:obligations_favoring_vassal = 0 } - custom_description = { - text = "vassal_modify_vassal_contract_unnecessary_hook_usage_equal" - object = scope:recipient - NOT = { always = scope:hook } - } - } - trigger_else = {} # Otherwise we're fine! - } - } - } - - auto_accept = yes - on_accept = { - hidden_effect = { - # Struggle Catalysts - ## We work these out first so they're not invalidated by the actual effect block. - if = { - limit = { - catalyst_granted_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_granted_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_granted_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - if = { - limit = { - catalyst_revoked_powerful_diff_faith_vassal_religious_protection_preliminary_trigger = { CHAR = scope:recipient } - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_revoked_powerful_diff_faith_vassal_religious_protection - character = scope:actor - } - } - } - } - - # Improving contract catalyst - if = { - limit = { - scope:recipient.count_obligation_improvements_for_vassal > 0 - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - - # Enact changes. - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - if = { - limit = { vassal_obligation_increase_tyranny_gain != 0 } - stress_impact = { - just = medium_stress_impact_gain - generous = medium_stress_impact_gain - } - } - if = { - limit = { - always = scope:hook - } - use_hook = scope:recipient - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - scope:recipient = { - hidden_effect = { - set_subject_contract_modification_blocked = yes - set_variable = { - name = nomad_contract_cooldown - value = yes - years = nomad_contract_cooldown_value - } - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - - } - } - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no -} - -nomad_vassal_modify_vassal_contract_interaction = { - special_interaction = vassal_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - interface_priority = 65 - common_interaction = yes - icon = icon_contract_modification_single - - send_name = "nomad_vassal_modify_vassal_contract_interaction_send" - desc = nomad_vassal_modify_vassal_contract_interaction_desc - - redirect = { - # need to reverse the role for the UI to work properly - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor = { - save_scope_as = recipient - } - - scope:secondary_recipient = { - save_scope_as = actor - } - } - - is_shown = { - scope:recipient = { - is_independent_ruler = no - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default - vassal_contract_has_modifiable_obligations = yes - government_has_flag = government_is_nomadic - } - } - - is_valid_showing_failures_only = { - NOT = { scope:recipient = { is_at_war_with = scope:actor } } - } - - can_send = { - trigger_if = { #If you're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - } - - scope:recipient = { - # Must be an even trade overall - custom_description = { - text = "vassal_modify_vassal_contract_cannot_increase_obligation_level" - object = scope:actor - value = count_obligation_improvements_for_vassal_include_hook - count_obligation_improvements_for_vassal_include_hook = 0 - } - - # Cannot change more than three things at once - custom_description = { - text = "vassal_modify_vassal_contract_obligation_change_limit" - value = list_size:changed_obligations - list_size:changed_obligations <= max_contract_changes - } - } - } - } - - auto_accept = yes - - on_accept = { - # Enact changes - scope:recipient = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:actor - if = { - limit = { always = scope:hook } - use_hook = scope:actor - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - # Activate cooldown - To prevent liege from changing it too soon - hidden_effect = { - set_variable = { - name = nomad_contract_cooldown - value = yes - years = nomad_contract_cooldown_value - } - } - - hidden_effect = { set_subject_contract_modification_blocked = yes } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - vassal_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - } - } - } - # If there's a diarch involved, and they called in their change, that gets flagged. - diarch_changed_own_contract_effect = yes - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - on_decline = { - # Activate cooldown - You may only ask for it to be changed every so often (this mostly exists for MP, since you cannot send it to the AI unless they accept) - hidden_effect = { - scope:recipient = { - set_variable = { - name = nomad_contract_request_cooldown - value = yes - years = nomad_contract_cooldown_value - } - } - } - } - - # Send Options - # Hook - send_option = { - is_valid = { - scope:recipient = { - has_usable_hook = scope:actor - } - } - flag = hook - localization = SCHEME_HOOK - } - send_option = { - is_shown = { - scope:recipient = { is_diarch_of_target = scope:actor } - } - is_valid = { - scope:recipient = { - trigger_if = { - limit = { has_variable_list = diarch_contract_rights_used_list } - NOT = { - is_target_in_variable_list = { - name = diarch_contract_rights_used_list - target = scope:actor - } - } - } - } - } - flag = diarch - localization = CALL_IN_DIARCH_RIGHTS - } - should_use_extra_icon = { - scope:recipient = { has_usable_hook = scope:actor } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no -} - -suzerain_modify_tributary_contract_interaction = { - special_interaction = liege_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - common_interaction = yes - icon = icon_contract_modification_single - - send_name = "suzerain_modify_tributary_contract_interaction_send" - desc = suzerain_modify_tributary_contract_interaction_desc - - force_notification = yes - notification_text = MODIFY_VASSAL_CONTRACT_NOTIFICATION_TO_VASSAL - - is_shown = { - scope:recipient = { - is_tributary_of = scope:actor # excludes vassals by default - subject_contract_has_modifiable_obligations = yes - NOT = { government_has_flag = government_is_herder } - } - } - - is_valid_showing_failures_only = { - NOT = { scope:recipient = { is_at_war_with = scope:actor } } - } - - can_send = { - any_in_list = { - list = changed_obligations - } - trigger_if = { #If they're blocked we don't want to show anything else - limit = { - scope:recipient = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:recipient = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - scope:actor = { - has_changed_contract_obligation_trigger = yes - - # Cannot change more than three things at once - custom_description = { - text = "vassal_modify_vassal_contract_obligation_change_limit" - value = list_size:changed_obligations - list_size:changed_obligations <= max_contract_changes - } - - # If the trade without the hook usage is already in the vassal's favour or fair then don't waste your hook - save_temporary_scope_value_as = { - name = obligations_favoring_tributary - value = scope:recipient.count_obligation_improvements_for_vassal - } - trigger_if = { - limit = { scope:obligations_favoring_tributary > 0 } - custom_description = { - text = "tributary_modify_vassal_contract_unnecessary_hook_usage_vassal_favor" - object = scope:recipient - value = scope:obligations_favoring_tributary - NOT = { always = scope:hook } - } - } - trigger_else_if = { - limit = { scope:obligations_favoring_tributary = 0 } - custom_description = { - text = "tributary_modify_vassal_contract_unnecessary_hook_usage_equal" - object = scope:recipient - NOT = { always = scope:hook } - } - } - - # You can afford the prestige cost of an unequal contract - trigger_else_if = { - limit = { - scope:obligations_favoring_tributary < 0 - NOT = { always = scope:hook } - } - scope:actor = { - prestige >= medium_prestige_value - } - } - trigger_else = {} # Otherwise we're fine! - } - } - } - - auto_accept = yes - - on_accept = { - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - if = { - limit = { - always = scope:hook - } - use_hook = scope:recipient - add_achievement_flag_effect = { FLAG = achievement_fine_print_flag } - } - - # Prestige and opinion cost of making an unequal contract without a hook - if = { - limit = { - scope:recipient.count_obligation_improvements_for_vassal < 0 - NOT = { always = scope:hook } - } - - add_prestige = medium_prestige_loss - - scope:recipient = { - add_opinion = { - modifier = outraged_opinion - opinion = -30 - target = scope:actor - } - } - - every_tributary = { - limit = { - NOT = { this = scope:recipient } - } - add_opinion = { - modifier = outraged_opinion - opinion = -10 - target = scope:actor - } - } - } - - scope:recipient = { - hidden_effect = { - set_subject_contract_modification_blocked = yes - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:recipient = { - tributary_contract_set_obligation_level = { - type = scope:obligation.vassal_contract_type - level = scope:obligation - } - } - } - } - - } - - # Additional Flavor Titles - scope:recipient = { additional_flavor_check_effect = yes } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no -} - -subject_modify_tributary_contract_interaction = { - special_interaction = vassal_modify_vassal_contract - interface = modify_vassal_contract - category = interaction_category_vassal - interface_priority = 65 - common_interaction = yes - icon = icon_contract_modification_single - - send_name = "subject_modify_tributary_contract_interaction_send" - desc = subject_modify_tributary_contract_interaction_desc - - is_shown = { - scope:actor = { - is_tributary_of = scope:recipient # excludes vassals by default - subject_contract_has_modifiable_obligations = yes - } - } - - is_valid_showing_failures_only = { - NOT = { scope:recipient = { is_at_war_with = scope:actor } } - } - - can_send = { - any_in_list = { - list = changed_obligations - } - trigger_if = { #If you're blocked we don't want to show anything else (we don't really use this for admin, but we'll keep the logic, just in case) - limit = { - scope:actor = { - subject_contract_is_blocked_from_modification = yes - } - } - scope:actor = { - subject_contract_is_blocked_from_modification = no - } - } - trigger_else = { - # There is no cooldown present - To make sure we somehow don't show both cooldowns at the same time, we split them into separate triggers - trigger_if = { - limit = { - scope:actor = { - has_variable = nomad_contract_cooldown - } - } - custom_tooltip = { - text = nomad_tributary_contract_cooldown_desc - scope:actor = { - NOT = { has_variable = nomad_contract_cooldown } - } - } - } - trigger_else = { - custom_tooltip = { - text = nomad_contract_request_cooldown_desc - scope:actor = { - NOT = { has_variable = nomad_contract_request_cooldown } - } - } - } - - # You can afford the Gold cost - trigger_if = { - limit = { - NOT = { - scope:hook = yes - } - } - scope:actor = { - trigger_if = { - limit = { - government_has_flag = government_is_nomadic - scope:recipient = { government_has_flag = government_is_nomadic } - } - domicile.herd >= domicile.major_herd_value - } - trigger_else = { - gold >= major_gold_value - } - } - } - } - } - - auto_accept = { - custom_tooltip = { - text = nomad_vassal_force_obligation_change_desc - scope:hook = yes - } - } - - on_accept = { - # Enact changes - scope:actor = { - send_interface_message = { - type = msg_vassal_contract_change - title = modify_vassal_contract_interaction_notification - right_icon = scope:recipient - - # If you use a hook - Spend it - if = { - limit = { always = scope:hook } - use_hook = scope:recipient - } - - # If you didn't use a hook, pay Gold - if = { - limit = { - NOT = { - scope:hook = yes - } - } - scope:actor = { - if = { - limit = { - government_has_flag = government_is_nomadic - scope:recipient = { government_has_flag = government_is_nomadic } - } - pay_herd = { - target = scope:recipient - value = domicile.major_herd_value - } - } - else = { - pay_short_term_gold = { - target = scope:recipient - gold = major_gold_value - } - } - } - } - - # Activate cooldown - To prevent liege from changing it too soon - hidden_effect = { - set_variable = { - name = nomad_contract_cooldown - value = yes - years = nomad_contract_cooldown_value - } - } - - every_in_list = { - list = changed_obligations - - save_scope_as = obligation - - scope:actor = { - tributary_contract_set_obligation_level = { - type = scope:obligation.subject_contract_type - level = scope:obligation - } - } - } - } - } - - # If there's a diarch involved, and they called in their change, that gets flagged. - diarch_changed_own_contract_effect = yes - } - - on_decline = { - # Activate cooldown - You may only ask for it to be changed every so often (this mostly exists for MP, since you cannot send it to the AI unless they accept) - hidden_effect = { - scope:actor = { - set_variable = { - name = nomad_contract_request_cooldown - value = yes - years = nomad_contract_cooldown_value - } - } - } - } - - # Send Options - # Hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - send_option = { - is_shown = { - scope:actor = { is_diarch_of_target = scope:recipient } - } - is_valid = { - scope:actor = { - trigger_if = { - limit = { has_variable_list = diarch_contract_rights_used_list } - NOT = { - is_target_in_variable_list = { - name = diarch_contract_rights_used_list - target = scope:recipient - } - } - } - } - } - flag = diarch - localization = CALL_IN_DIARCH_RIGHTS - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no - - ai_accept = { - base = -25 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - - modifier = { - add = { - add = scope:new_value - multiply = -25 - } - desc = AI_CONTRACT_BALANCE - } - } -} diff --git a/N3OW/common/character_interactions/00_mongol_interactions.txt b/N3OW/common/character_interactions/00_mongol_interactions.txt deleted file mode 100644 index 425ce3a3..00000000 --- a/N3OW/common/character_interactions/00_mongol_interactions.txt +++ /dev/null @@ -1,57 +0,0 @@ -################### -# Demand Subjugation -# by Petter Vilberg -################### -mongol_demand_subjugation_interaction = { - category = interaction_category_hostile - icon = icon_dismiss_temporary_regency - - auto_accept = yes - use_diplomatic_range = yes - - desc = mongol_demand_subjugation_interaction_desc - - is_shown = { - scope:actor = { - any_owned_story = { - story_type = story_mongol_invasion - } - highest_held_title_tier = tier_empire - is_independent_ruler = yes - } - scope:recipient = { - NOT = { this = scope:actor } - is_landless_adventurer = no - is_independent_ruler = yes - any_neighboring_top_liege_realm_owner = { - this = scope:actor - } - } - } - - is_valid_showing_failures_only = { - OR = { - scope:recipient = { - highest_held_title_tier <= tier_kingdom - } - scope:actor = { - is_target_in_variable_list = { - name = subjugation_offer_under_consideration - target = scope:recipient - } - } - } - } - - on_accept = { - custom_tooltip = mongol_demand_subjugation_interaction_tooltip - hidden_effect = { - scope:actor = { - save_scope_as = mongol_emperor - } - scope:recipient = { - send_mongol_subjugation_demand_effect = yes - } - } - } -} diff --git a/N3OW/common/character_interactions/00_perk_interactions.txt b/N3OW/common/character_interactions/00_perk_interactions.txt deleted file mode 100644 index c6e3e31c..00000000 --- a/N3OW/common/character_interactions/00_perk_interactions.txt +++ /dev/null @@ -1,1495 +0,0 @@ -################### -# Claim Throne -# by Petter Vilberg -################### -claim_throne_interaction = { - icon = icon_scheme_claim_throne - category = interaction_category_vassal - interface_priority = 268 # after Start Claimant Faction - - ai_targets = { - ai_recipients = liege - } - - auto_accept = yes - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - - scheme = claim_throne - - desc = claim_throne_interaction_desc - - is_shown = { - exists = scope:actor.liege - scope:recipient = scope:actor.liege - scope:actor = { - is_landless_adventurer = no - highest_held_title_tier > tier_barony - OR = { - has_perk = meritocracy_perk - AND = { - is_diarch_of_target = scope:recipient - scope:recipient = { - NOT = { has_diarchy_parameter = can_be_instantly_dismissed } - } - } - AND = { - is_powerful_vassal_of = scope:recipient - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_claim_throne_for_powerful_vassals - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_claim_throne_for_all - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - AND = { - exists = title:d_sunni.holder - is_vassal_of = title:d_sunni.holder - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_claim_throne_for_caliph_vassals - } - } - } - } - NOT = { scope:recipient = scope:actor } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_physically_able_adult = yes - can_start_scheme = { - target_character = scope:recipient - type = claim_throne - } - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = claim_throne_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = claim_throne_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = claim_throne_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = claim_throne_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - content = medium_stress_impact_gain - just = medium_stress_impact_gain - } - send_interface_toast = { - type = event_toast_effect_good - title = claim_throne_interaction_toast - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = claim_throne - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_diplomat - AGENT_2 = agent_diplomat - AGENT_3 = agent_scribe - # Speed. - AGENT_4 = agent_cleric - # Secrecy. - AGENT_5 = agent_justiciar - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = claim_throne - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_cleric - AGENT_2 = agent_socialite - AGENT_3 = agent_gabbler - # Success. - AGENT_4 = agent_diplomat - # Secrecy. - AGENT_5 = agent_justiciar - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = claim_throne - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_justiciar - AGENT_2 = agent_justiciar - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_diplomat - # Speed. - AGENT_5 = agent_cleric - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = claim_throne - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_diplomat - AGENT_2 = agent_scribe - # Speed. - AGENT_3 = agent_cleric - AGENT_4 = agent_socialite - # Secrecy. - AGENT_5 = agent_decoy - } - } - - show_as_tooltip = { - stress_impact = { - content = medium_stress_impact_gain - just = medium_stress_impact_gain - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_throne_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_potential = { - is_adult = yes - highest_held_title_tier > tier_barony - ai_greed >= medium_positive_ai_value - learning >= medium_skill_rating - intrigue >= mediocre_skill_rating - trigger_if = { - limit = { - liege = { save_temporary_scope_as = struggle_liege } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_claim_throne_for_all - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:struggle_liege - } - } - } - is_powerful_vassal = yes - } - NOR = { - has_trait = content - opinion = { - target = liege - value >= high_positive_opinion - } - any_scheme = { - OR = { - scheme_type = murder - scheme_type = abduct - scheme_type = claim_throne - scheme_type = fabricate_hook - scheme_type = steal_back_artifact - } - } - } - } - - ai_frequency = 36 - - ai_will_do = { - base = 100 - - # Agenda impact - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp2 - } - has_character_flag = agenda_towards_escalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp2 - } - } - } - add = -100 - } - } - } - - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = persian_struggle - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp3 - } - has_trait = fp3_struggle_detractor - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp3 - } - has_trait = fp3_struggle_supporter - } - scope:recipient = { - has_trait = fp3_struggle_detractor - } - } - add = 100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp3 - } - } - } - add = -100 - } - } - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - start_hostile_scheme_ai_base_modifiers = yes # At the end so Cowed can block it completely - } -} - - -################### -# Fabricate Hook -# by Petter Vilberg -################### -fabricate_hook_interaction = { - icon = icon_scheme_fabricate_hook - category = interaction_category_hostile - - auto_accept = yes - ignores_pending_interaction_block = yes - - scheme = fabricate_hook - - desc = fabricate_hook_interaction_desc - - is_shown = { - scope:actor = { - OR = { - has_perk = truth_is_relative_perk - AND = { - has_trait = vengeful - has_relation_rival = scope:recipient - } - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all - is_secondary_character_involvement_either_trigger = { - CHAR = scope:recipient - } - } - } - AND = { - government_has_flag = government_is_clan - is_in_same_clan_as_trigger = { CHARACTER = scope:recipient } - house = { has_house_unity_stage = competitive } - } - } - } - NOT = { scope:recipient = scope:actor } - } - - is_valid = { - NOT = { scope:actor = { has_hook = scope:recipient } } - OR = { - scope:actor = { - OR = { - has_perk = truth_is_relative_perk # To display that it's available because of the Perk - AND = { - has_trait = vengeful - has_relation_rival = scope:recipient - } - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all - is_secondary_character_involvement_either_trigger = { - CHAR = scope:recipient - } - } - } - AND = { - government_has_flag = government_is_clan - is_in_same_clan_as_trigger = { CHARACTER = scope:recipient } - house = { has_house_unity_stage = competitive } - } - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_physically_able_adult = yes - can_start_scheme = { - target_character = scope:recipient - type = fabricate_hook - } - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = fabricate_hook_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = fabricate_hook_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = fabricate_hook_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = fabricate_hook_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - just = medium_stress_impact_gain - honest = medium_stress_impact_gain - compassionate = minor_stress_impact_gain - } - send_interface_toast = { - type = event_toast_effect_good - title = fabricate_hook_interaction_toast - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = fabricate_hook - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_outcast - AGENT_2 = agent_diplomat - AGENT_3 = agent_thief - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = fabricate_hook - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_footpad - AGENT_3 = agent_socialite - # Success. - AGENT_4 = agent_outcast - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = fabricate_hook - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_decoy - AGENT_3 = agent_justiciar - # Success. - AGENT_4 = agent_outcast - # Speed. - AGENT_5 = agent_footpad - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = fabricate_hook - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_outcast - AGENT_2 = agent_thief - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_footpad - # Secrecy. - AGENT_5 = agent_lookout - } - } - show_as_tooltip = { - stress_impact = { - just = medium_stress_impact_gain - honest = medium_stress_impact_gain - compassionate = minor_stress_impact_gain - } - } - } - } - } - - ai_targets = { - ai_recipients = liege - ai_recipients = vassals - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - - ai_targets = { - ai_recipients = courtiers - max = 5 - } - - ai_targets = { - ai_recipients = realm_characters - ai_recipients = top_realm_domicile_owners - max = 30 - } - - ai_potential = { - is_adult = yes - ai_greed >= low_positive_ai_value - intrigue >= medium_skill_rating - NOR = { - has_trait = content - any_scheme = { - OR = { - scheme_type = murder - scheme_type = abduct - scheme_type = claim_throne - scheme_type = fabricate_hook - scheme_type = steal_back_artifact - } - } - } - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_frequency = 12 - - ai_will_do = { - base = 10 - - modifier = { - add = { - value = 20 - if = { - limit = { - exists = scope:recipient.cp:councillor_spymaster - scope:recipient.cp:councillor_spymaster = { intrigue < 10 } - } - add = 50 - } - } - - scope:recipient = { - is_vassal_of = scope:actor - vassal_contract_has_modifiable_obligations = yes - } - } - - modifier = { - add = -50 - - opinion = { - target = scope:recipient - value >= high_positive_opinion - } - } - - modifier = { - add = -40 - - scope:recipient = { - is_playable_character = yes - NOT = { - is_vassal_of = scope:actor - } - } - } - - modifier = { - add = 50 - - scope:recipient = { - is_playable_character = no - OR = { - liege = scope:actor.liege - liege = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - } - } - - modifier = { - factor = 0 - - scope:recipient = { - has_council_position = councillor_spymaster - } - } - start_hostile_scheme_ai_base_modifiers = yes # At the end so Cowed can block it completely - } -} - - -################### -# Demand Payment -# by Petter Vilberg -################### -demand_payment_interaction = { - category = interaction_category_friendly - icon = icon_gold - - auto_accept = yes - use_diplomatic_range = yes - interface_priority = 35 - - desc = demand_payment_interaction_desc - - is_shown = { - scope:actor = { - OR = { - has_perk = golden_obligations_perk - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_demand_payments_for_all - is_secondary_character_involvement_either_trigger = { - CHAR = scope:recipient - } - } - } - } - } - scope:recipient = { - is_ai = yes - } - NOT = { scope:recipient = scope:actor } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_physically_able_adult = yes - NOT = { - is_at_war_with = scope:recipient - } - } - scope:recipient = { - is_imprisoned = no - } - scope:recipient = { - custom_description = { - text = demand_payment_too_little_gold - gold >= 1 - } - } - } - - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - - is_highlighted = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - - on_accept = { - if = { - limit = { - scope:recipient.gold < scope:recipient.golden_obligation_value - } - custom_tooltip = demand_payment_too_little_gold_tt - } - scope:actor = { - send_interface_toast = { - title = demand_payment_interaction_message - left_icon = scope:recipient - - scope:actor = { - use_hook = scope:recipient - } - scope:recipient = { - if = { - pay_short_term_gold = { - target = scope:actor - gold = golden_obligation_value - } - limit = { - gold > golden_obligation_value - } - } - else = { - pay_short_term_gold = { - target = scope:actor - gold = { - value = scope:recipient.gold - floor = yes - } - } - } - } - } - stress_impact = { - generous = medium_stress_impact_gain - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_demand_payment.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_potential = { - NOT = { - has_trait = generous - } - OR = { - ai_greed >= low_positive_ai_value - is_at_war = yes - } - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = hooked_characters - } - - ai_frequency = 36 - - ai_will_do = { - base = 100 - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = -100 - } - - modifier = { #ai won't use the interaction if they'll get nothing out of it - factor = 0 - scope:recipient.gold < 8 - } - - modifier = { - factor = 0 - scope:actor = { - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - has_relation_best_friend = scope:recipient - has_relation_soulmate = scope:recipient - } - } - } - } -} - - - -################## -# Buy Claim -# by Petter Vilberg -################## -buy_claim_interaction = { - category = interaction_category_diplomacy - icon = vassal_claim_liege_title_interaction - - desc = buy_claim_interaction_desc - target_type = title - target_filter = recipient_domain_titles - ignores_pending_interaction_block = yes - - is_shown = { - scope:actor = { - is_landless_adventurer = no - OR = { - has_perk = sanctioned_loopholes_perk - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_buy_claim_for_all - is_secondary_character_involvement_either_trigger = { - CHAR = scope:recipient - } - } - } - } - NOT = { target_is_liege_or_above = scope:recipient } - } - NOT = { - scope:actor = scope:recipient - AND = { - scope:recipient = scope:actor.faith.religious_head - scope:actor.faith = { - NOT = { has_doctrine = doctrine_theocracy_temporal } - } - } - } - scope:recipient = { - is_playable_character = yes - primary_title.tier > tier_barony - NOT = { - target_is_liege_or_above = scope:actor - } - } - } - - can_be_picked_title = { - scope:target = { - tier >= tier_county - } - } - - is_valid_showing_failures_only = { - trigger_if = { # Can't request on titles you already have a claim on - limit = { - scope:target ?= { - any_claimant = { this = scope:actor } - } - } - custom_description = { - text = buy_claim_has_pressed_claim_already - always = no - } - } - trigger_if = { # Can't request claims on baronies - limit = { - scope:target ?= { tier = tier_barony } - } - custom_description = { - text = buy_claim_has_pressed_claim_already - always = no - } - } - trigger_if = { # Can't buy Kingdom or Empire Claims if you're a King - limit = { - scope:target ?= { tier = tier_kingdom } - scope:actor.highest_held_title_tier >= tier_kingdom - } - custom_description = { - text = buy_claim_no_king_or_emperor_kingdom - always = no - } - } - trigger_if = { # Can't buy Empire Claims if you're an Emperor - limit = { - scope:target ?= { tier = tier_empire } - scope:actor.highest_held_title_tier >= tier_empire - } - custom_description = { - text = buy_claim_no_emperor_empire - always = no - } - } - trigger_if = { # Can't buy claims on head of faith titles - limit = { - scope:target ?= { is_head_of_faith = yes } - } - custom_description = { - text = buy_claim_no_religious_titles - always = no - } - } - trigger_if = { # Can't buy claims on noble families - limit = { - scope:target ?= { is_noble_family_title = yes } - } - custom_description = { - text = buy_claim_no_noble_family_titles - always = no - } - } - trigger_if = { # Can't buy claims on landless adventurer titles - limit = { - scope:target ?= { has_variable = adventurer_creation_reason } - } - custom_description = { - text = buy_claim_no_landless_adventurer_title - always = no - } - } - scope:actor = { # Variable piety cost depending on tier - trigger_if = { - limit = { - exists = scope:target - scope:target = { - tier = tier_county - } - } - piety >= { - value = minor_buy_claim_piety_value - if = { - limit = { - government_has_flag = government_is_administrative - } - multiply = 1.5 - } - } - } - trigger_if = { - limit = { - exists = scope:target - scope:target = { - tier = tier_duchy - } - } - piety >= { - value = medium_buy_claim_piety_value - if = { - limit = { - government_has_flag = government_is_administrative - } - multiply = 1.5 - } - } - } - trigger_if = { - limit = { - exists = scope:target - scope:target = { - tier = tier_kingdom - } - } - piety >= { - value = major_buy_claim_piety_value - if = { - limit = { - government_has_flag = government_is_administrative - } - multiply = 1.5 - } - } - } - trigger_if = { - limit = { - exists = scope:target - scope:target = { - tier = tier_empire - } - } - piety >= { - value = massive_buy_claim_piety_value - if = { - limit = { - government_has_flag = government_is_administrative - } - multiply = 1.5 - } - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - } - - auto_accept = yes - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = buy_claim_interaction.message - left_icon = scope:actor - right_icon = scope:recipient - add_piety = { - value = 0 - if = { - limit = { - scope:target = { - tier = tier_county - } - } - add = minor_buy_claim_piety_loss - } - if = { - limit = { - scope:target = { - tier = tier_duchy - } - } - add = medium_buy_claim_piety_loss - } - if = { - limit = { - scope:target = { - tier = tier_kingdom - } - } - add = major_buy_claim_piety_loss - } - if = { - limit = { - scope:target = { - tier = tier_empire - } - } - add = massive_buy_claim_piety_loss - } - if = { - limit = { - government_has_flag = government_is_administrative - } - multiply = 1.5 - } - } - add_unpressed_claim = scope:target - } - stress_impact = { - just = medium_stress_impact_gain - honest = medium_stress_impact_gain - } - } - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = claimed_my_title_opinion - opinion = -40 - } - trigger_event = perk_interaction.0002 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_bought_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - - - -################## -# Challenge Rival -# by Ewan Cowhig Croft -################## - -challenge_to_single_combat_interaction = { - icon = icon_combat - interface_priority = 30 - common_interaction = yes - category = interaction_category_hostile - ai_maybe = yes - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - - name = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { - government_has_flag = government_is_nomadic - } - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - desc = challenge_to_single_combat_nomadic_interaction - } - desc = challenge_to_single_combat_interaction - } - } - - desc = challenge_to_single_combat_interaction_desc - - greeting = negative - notification_text = REQUEST_TRIAL_BY_COMBAT_TEXT - - is_shown = { - # First, check for the perk. - scope:actor = { can_challenge_rival_to_single_combat_trigger = yes } - # Then, look to see if this character is a rival. - OR = { - scope:actor = { has_relation_rival = scope:recipient } - AND = { # If you are a Nomad you can challenge martial non-close family characters - scope:actor = { - government_has_flag = government_is_nomadic - has_perk = stalwart_leader_perk - } - scope:recipient = { - government_has_flag = government_is_nomadic - NOT = { is_close_family_of = scope:actor } - can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:actor } - } - } - } - # Can't duel yourself. - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - # Calc some stuff that might invalidate elsewhere before the bout is sorted. - rival_single_combat_shown_and_not_invalid_trigger = yes - # Scope:recipient must be able to fight personally. - scope:recipient = { can_start_single_combat_trigger = yes } - # Scope:recipient must not be banned from single combat. - scope:recipient = { - custom_description = { - text = fp1_tbc_recipient_banned_from_combat - can_start_single_combat_banned_checks_trigger = no - } - } - # Neither of the characters can be imprisoned. - scope:actor = { is_imprisoned = no } - scope:recipient = { is_imprisoned = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cost = { prestige = medium_prestige_value } - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Set up the bout immediately. - ## First inform. - scope:actor = { - custom_tooltip = challenge_to_single_combat_interaction.enter_non_lethal_bout.tt - custom_tooltip = challenge_to_single_combat_interaction.victor_gets.tt - custom_tooltip = challenge_to_single_combat_interaction.loser_gets.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = perk_interaction.0101 - INVALIDATION_EVENT = perk_interaction.0102 - } - - # If we're a clan this interaction affects unity - if = { - limit = { - scope:actor = { - exists = scope:actor.house - house = { # But only if we have high unity! - OR = { - has_house_unity_stage = harmonious - has_house_unity_stage = friendly - } - } - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_challenge_to_combat.desc - REVERSE_NON_HOUSE_TARGET = no - } - custom_description_no_bullet = { text = active_unity_level_description_tt } - } - } - - on_decline = { - # Scope:actor decline processing. - scope:actor = { - # Inform them of the decline & scope:recipient loses some prestige. - send_interface_toast = { - type = event_toast_effect_bad - title = challenge_to_single_combat_interaction.challenge_rejected.t - left_icon = scope:recipient - right_icon = scope:actor - scope:recipient = { add_prestige = medium_prestige_loss } - show_as_tooltip = { - add_prestige = medium_prestige_value - } - } - hidden_effect = { - add_prestige_no_experience = medium_prestige_value - } - # Cooldown is removed. - hidden_effect = { remove_interaction_cooldown = challenge_to_single_combat_interaction } - # Clear up hostile actions flag. - if = { - limit = { - has_character_flag = flag_hostile_actions_disabled_delay - } - remove_character_flag = flag_hostile_actions_disabled_delay - } - } - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - # Relative fightan ability. - modifier = { - desc = CTSC_RELATIVE_PROWESS - scope:actor.prowess < scope:recipient.prowess - add = { - value = scope:recipient.prowess - subtract = scope:actor.prowess - multiply = 2 - } - } - modifier = { - desc = CTSC_RELATIVE_PROWESS - scope:recipient.prowess < scope:actor.prowess - add = { - value = scope:actor.prowess - subtract = scope:recipient.prowess - multiply = -2 - } - } - # Weight up for personality values. - ai_value_modifier = { - who = scope:recipient - ai_boldness = { - if = { - limit = { - scope:recipient = { - ai_boldness > 0 - ai_rationality < 0 - } - } - value = 2 - } - else_if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = 1 - } - } - ai_vengefulness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_vengefulness = 0 } - } - } - value = 0.75 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { - ai_honor > 0 - } - } - value = 0.5 - } - } - } - # Apply tier differences. - ## King -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - add = 15 - } - ## Duke -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - add = 10 - } - ## Count -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - add = 5 - } - ## King <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - add = -10 - } - ## Duke <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - add = -20 - } - ## Count <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value <= -4 - } - } - add = -30 - } - # Nemesis modifier. - modifier = { - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = 50 - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } - - # AI - ai_potential = { - can_challenge_rival_to_single_combat_trigger = yes - NOT = { has_trait = craven } - num_of_relation_rival > 0 - is_imprisoned = no - can_start_single_combat_trigger = yes - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = scripted_relations - } - - ai_frequency = 60 - - ai_will_do = { - base = -50 - - # Factor for personality (excluding realism). - modifier = { - add = { - value = ai_boldness - multiply = 1 - } - } - modifier = { add = ai_vengefulness } - modifier = { - add = { - value = ai_energy - multiply = -0.25 - } - } - - # To prevent Nomads from being constantly injured everywhere - modifier = { - NOT = { - scope:recipient = { has_relation_rival = scope:actor } - } - add = -100 - } - modifier = { - scope:actor = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } } - add = -100 - } - - # Unity modifiers - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - - # Don't challenge kinslayer-counting family, unless they're your nemesis. - modifier = { - scope:actor = { - murdering_character_is_kinslaying_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - } - scope:recipient = { - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge your spouse, unless they're your nemesis. - modifier = { - scope:recipient = { - is_spouse_of = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge people hopelessly out of your league unless you're really, really not seeing things clearly. - modifier = { - scope:actor = { - prowess_diff = { - target = scope:recipient - value <= -15 - } - ai_rationality >= high_negative_ai_value - } - add = -1000 - } - } -} diff --git a/N3OW/common/character_interactions/00_poetry_interactions.txt b/N3OW/common/character_interactions/00_poetry_interactions.txt deleted file mode 100644 index bdbdd7e1..00000000 --- a/N3OW/common/character_interactions/00_poetry_interactions.txt +++ /dev/null @@ -1,420 +0,0 @@ -# Poetry - -################### -# Send a Poem -# by Ewan Cowhig Croft & Alexander Oltner -################### -send_poem_interaction = { - interface_priority = 30 - common_interaction = yes - category = interaction_category_friendly - popup_on_receive = yes - pause_on_receive = yes - desc = send_poem_interaction_desc - - is_shown = { - # Must be a poet. - scope:actor = { - OR = { - has_trait = poet - employs_court_position = master_bard_camp_officer - employs_court_position = laureate_camp_officer - } - } - # Cannot send self fan-poetry. Egoist. - NOT = { scope:actor = scope:recipient } - # May only write for adults. - scope:recipient = { is_adult = yes } - } - - is_valid_showing_failures_only = { - # Neither of the characters can be imprisoned. - scope:actor = { is_imprisoned = no } - scope:recipient = { is_imprisoned = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - send_options_exclusive = yes - - cost = { prestige = minor_prestige_value } - - cooldown = { years = 3 } - cooldown_against_recipient = { years = send_poem_cooldown_years_value } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Set up the poem subject. - scope:actor = { - # Set up a subject gender. - select_poem_subject_gender_effect = { - SUBJECT = flag:specific - SUBJECT_TARGET = scope:recipient - } - } - # Theme Effects - ## Romantic - if = { - limit = { always = scope:poem_theme_romance } - # As this is a positive poem, inform scope:actor that scope:recipient may simply accept it. - custom_tooltip = send_poem_interaction.positive_auto_accept.tt - # Show the potential duel. - show_as_tooltip = { - scope:recipient = { - send_poem_romance_duel_effect = { POV_TARGET = scope:actor } - } - } - # Set up the theme. - scope:actor = { select_poem_theme_romance_effect = yes } - # Send the response event to scope:recipient. - scope:recipient = { trigger_event = trait_specific_interactions.0001 } - } - ## Mourning - else_if = { - limit = { always = scope:poem_theme_mourning } - # As this is a positive poem, inform scope:actor that scope:recipient may simply accept it. - custom_tooltip = send_poem_interaction.positive_auto_accept.tt - # Show the potential duel. - show_as_tooltip = { - scope:recipient = { - send_poem_mourning_duel_effect = { POV_TARGET = scope:actor } - } - } - # Set up the theme. - scope:actor = { select_poem_theme_mourning_effect = yes } - # Send the response event to scope:recipient. - scope:recipient = { trigger_event = trait_specific_interactions.0011 } - } - ## Legacy - else_if = { - limit = { always = scope:poem_theme_legacy } - # As this is a positive poem, inform scope:actor that scope:recipient may simply accept it. - custom_tooltip = send_poem_interaction.positive_auto_accept.tt - # Show the potential duel. - show_as_tooltip = { - scope:recipient = { - send_poem_legacy_duel_effect = { POV_TARGET = scope:actor } - } - } - # Set up the theme. - scope:actor = { select_poem_theme_legacy_effect = yes } - # Send the response event to scope:recipient. - scope:recipient = { trigger_event = trait_specific_interactions.0021 } - } - ## Strife - else_if = { - limit = { always = scope:poem_theme_strife } - # As this is a positive poem, inform scope:actor that scope:recipient may simply accept it. - custom_tooltip = send_poem_interaction.positive_auto_accept.tt - # Show the potential duel. - show_as_tooltip = { - scope:recipient = { - send_poem_strife_duel_effect = { POV_TARGET = scope:actor } - } - } - # Set up the theme. - scope:actor = { select_poem_theme_strife_effect = yes } - # Send the response event to scope:recipient. - scope:recipient = { trigger_event = trait_specific_interactions.0031 } - } - ## Incompetence - else_if = { - limit = { always = scope:poem_theme_incompetence } - # Show the potential duel. - show_as_tooltip = { - scope:recipient = { - send_poem_incompetence_duel_effect = { POV_TARGET = scope:actor } - } - } - # Set up the theme. - scope:actor = { select_poem_theme_incompetence_effect = yes } - # Send the response event to scope:recipient. - scope:recipient = { trigger_event = trait_specific_interactions.0041 } - } - # Make sure the AI doesn't spam players - scope:recipient = { - if = { - limit = { - is_ai = no - } - add_character_flag = { - flag = ai_poem_block - years = 5 - } - } - } - # Clear up hostile actions flag. - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_poetry.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # SEND OPTIONS - ## Send a romantic poem. - send_option = { - is_shown = { - # Only available if they'd be attracted to you. - scope:recipient = { is_attracted_to_gender_of = scope:actor } - # And the romance would be acceptable to both parties. - accepts_incest_with_each_other_trigger = { - CHARACTER_1 = scope:actor - CHARACTER_2 = scope:recipient - } - scope:recipient = { - freely_accepts_sodomy_with_trigger = { CHARACTER = scope:actor } - } - # Plus not if either of you have a soulmate, unless you're each other's soulmates. - scope:actor = { - OR = { - any_relation = { - type = soulmate - count = 0 - } - has_relation_soulmate = scope:recipient - faith = { has_doctrine_parameter = no_unfaithfulness_penalty_active } - } - } - scope:recipient = { - OR = { - any_relation = { - type = soulmate - count = 0 - } - has_relation_soulmate = scope:actor - faith = { has_doctrine_parameter = no_unfaithfulness_penalty_active } - } - } - # As this is a positive option, we restrict it to non-rivals and players. - scope:actor = { send_poem_positive_poem_lock_trigger = yes } - } - flag = poem_theme_romance - localization = "SEND_POEM_ROMANCE" - } - ## Send a poem about legacy. - send_option = { - is_shown = { - # Scope:recipient must be a ruler & at least _potentially_ concerned. - scope:recipient = { - is_ruler = yes - NOT = { has_trait = humble } - } - # As this is a positive option, we restrict it to non-rivals and players. - scope:actor = { send_poem_positive_poem_lock_trigger = yes } - } - flag = poem_theme_legacy - localization = "SEND_POEM_LEGACY" - } - ## Send a mourning poem. - send_option = { - # Scope:recipient must have at least one dead close family member. - is_shown = { - scope:recipient = { - any_close_family_member = { - even_if_dead = yes - is_alive = no - NOT = { # It's quite natural - is_grandparent_of = scope:recipient - } - } - } - } - flag = poem_theme_mourning - localization = "SEND_POEM_MOURNING" - } - ## Send a poem about strife. - send_option = { - is_shown = { - # Scope:recipient must be a ruler & at least _potentially_ concerned. - scope:recipient = { - is_ruler = yes - NOT = { has_trait = humble } - } - # As this is a positive option, we restrict it to non-rivals and players. - scope:actor = { send_poem_positive_poem_lock_trigger = yes } - } - flag = poem_theme_strife - localization = "SEND_POEM_STRIFE" - } - ## Send a poem about incompetence. - send_option = { - is_shown = { - # As this is a negative option, we restrict it to rivals and players. - scope:actor = { send_poem_negative_poem_lock_trigger = yes } - } - flag = poem_theme_incompetence - localization = "SEND_POEM_INCOMPETENCE" - } - - auto_accept = yes - - # AI - ai_potential = { - has_trait = poet - is_imprisoned = no - prestige >= 150 - is_at_war = no - } - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = top_realm_domicile_owners - max = 10 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_frequency = 60 - ai_will_do = { - base = 50 - - # Lustful characters prefer romance poems - modifier = { - add = 50 - OR = { - has_trait = lustful - has_focus = intrigue_temptation_focus - } - scope:poem_theme_romance = yes - } - - # Arrogant characters are prone to actually interact via public poetry publishing. - modifier = { - add = 20 - scope:actor = { has_trait = arrogant } - } - - # Certain personality types skew towards specific poem types - modifier = { - add = 10 - scope:actor = { - has_trait_benevolent_trigger = yes - } - scope:poem_theme_mourning = yes - } - modifier = { - add = 10 - scope:actor = { - has_trait_submissive_trigger = yes - } - scope:poem_theme_legacy = yes - } - modifier = { - add = 10 - scope:actor = { - has_trait_malicious_trigger = yes - } - scope:poem_theme_strife = yes - } - - ## Insult people you don't like - modifier = { - add = 50 - scope:poem_theme_incompetence = yes - scope:actor = { - OR = { - has_personality_malicious_trigger = yes - has_relation_potential_rival = scope:recipient - has_relation_rival = scope:recipient - } - } - } - ## Players enjoy receiving poetry! - modifier = { - add = 50 - scope:recipient = { - is_ai = no - } - } - - # Unity modifiers - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - # Characters who are not lustful don't send romantic poems to just anyone - modifier = { - factor = 0 - NOR = { - has_trait = lustful - has_focus = intrigue_temptation_focus - } - scope:recipient = { - NOR = { - has_relation_lover = scope:actor - is_consort_of = scope:actor - } - } - scope:poem_theme_romance = yes - } - - ## Don't use insulting poems willy-nilly - modifier = { - factor = 0 - scope:poem_theme_incompetence = yes - scope:actor = { - NOR = { - has_trait = arbitrary - has_trait = lunatic - has_relation_potential_rival = scope:recipient - has_relation_rival = scope:recipient - opinion = { - target = scope:recipient - value <= medium_negative_opinion - } - } - } - } - - ## Don't spam players while at war - modifier = { - factor = 0 - scope:recipient = { - is_ai = no - is_at_war = yes - } - } - - ## Don't spam players when the poetry block is active - modifier = { - factor = 0 - scope:recipient = { - has_character_flag = ai_poem_block - } - } - } -} diff --git a/N3OW/common/character_interactions/00_prison_interactions.txt b/N3OW/common/character_interactions/00_prison_interactions.txt deleted file mode 100644 index 6de2a747..00000000 --- a/N3OW/common/character_interactions/00_prison_interactions.txt +++ /dev/null @@ -1,7686 +0,0 @@ -imprison_interaction = { - interface_priority = 120 - common_interaction = yes - icon = prison - - category = interaction_category_hostile - highlighted_reason = HIGHLIGHTED_HAS_IMPRISONMENT_REASON - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - desc = imprison_interaction_desc - - greeting = negative - notification_text = REQUEST_ARREST_NOTIFICATION_TEXT - pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED - pre_answer_no_key = ANSWER_CANT_SUCCEED - pre_answer_yes_key = ANSWER_WILL_SUCCEED - pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE - - on_decline_summary = { - triggered_desc = { - trigger = { - scope:recipient = { - NAND = { - is_landless_adventurer = yes - reverse_has_opinion_modifier = { - target = scope:actor - modifier = eviction_ignored_opinion - } - } - } - } - desc = imprison_decline_summary - } - } - - ai_potential = { - NOT = { has_realm_law_flag = cannot_imprison } - is_imprisoned = no - } - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - basic_allowed_to_imprison_character_trigger = { - CHARACTER = scope:recipient - } - } - # Scope:recipient can't be visiting elsewhere. - trigger_if = { - limit = { - scope:recipient = { is_courtier_of = scope:actor } - } - NOT = { - scope:recipient.host = { - any_foreign_court_guest = { this = scope:recipient } - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - allowed_to_imprison_character_trigger = { CHARACTER = scope:recipient } - trigger_if = { - limit = { - government_has_flag = government_is_nomadic - } - NOT = { has_realm_law = nomadic_authority_1 } - } - } - imprison_neutral_is_valid_showing_failures_only_triggers_trigger = yes - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - scope:recipient = { - trigger_if = { - limit = { - is_landless_adventurer = yes - reverse_has_opinion_modifier = { - target = scope:actor - modifier = eviction_ignored_opinion - } - } - is_travelling = no - } - } - } - - is_highlighted = { - scope:recipient = { - is_imprisoned = no - } - scope:actor = { - has_imprisonment_reason = scope:recipient - } - } - - #Use hook - send_option = { - is_valid = { - exists = scope:recipient - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - cost = { - # Usually, this action is free, but during certain diarchies, we want it to cost. - prestige = liege_diarchy_surcharge_interaction_imprison_interaction_value - } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_auto_accept = { - illegal_imprisonment_dread_effect = yes - imprison_court_chaplain_consequences_effect = yes - imprison_HoF_consequences_effect = yes - scope:recipient = { - if = { - limit = { - is_a_faction_member = yes - liege = scope:actor - } - joined_faction = { save_scope_as = retaliating_faction } - } - } - imprison_character_effect = { - TARGET = scope:recipient - IMPRISONER = scope:actor - } - scope:recipient = { - trigger_event = char_interaction.0233 - } - scope:actor = { - trigger_event = char_interaction.0231 - if = { - limit = { - has_imprisonment_reason = scope:recipient - } - stress_impact = { - compassionate = minor_stress_impact_gain - forgiving = minor_stress_impact_gain - } - } - else = { - stress_impact = { - just = medium_stress_impact_gain - compassionate = medium_stress_impact_gain - } - if = { - limit = { exists = scope:retaliating_faction} - scope:retaliating_faction = { - imprisonment_retribution_start_faction_war_if_valid = yes - } - } - } - } - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - } - - on_accept = { - if = { - limit = { scope:hook = yes } - scope:actor = { use_hook = scope:recipient } - } - illegal_imprisonment_dread_effect = yes - imprison_court_chaplain_consequences_effect = yes - imprison_HoF_consequences_effect = yes - scope:recipient = { - if = { - limit = { - is_a_faction_member = yes - liege = scope:actor - } - joined_faction = { save_scope_as = retaliating_faction } - } - } - imprison_character_effect = { - TARGET = scope:recipient - IMPRISONER = scope:actor - } - # If they recently revoked your title, or asked for your excommunication, they become your rival - imprison_attempt_escalates_rivalry_effect = yes - scope:actor = { - trigger_event = char_interaction.0231 - if = { - limit = { - has_imprisonment_reason = scope:recipient - } - stress_impact = { - compassionate = minor_stress_impact_gain - forgiving = minor_stress_impact_gain - } - } - else = { - stress_impact = { - just = medium_stress_impact_gain - compassionate = medium_stress_impact_gain - } - if = { - limit = { exists = scope:retaliating_faction} - scope:retaliating_faction = { - imprisonment_retribution_start_faction_war_if_valid = yes - } - } - } - } - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # If we're a clan this interaction affects unity - if = { # If you don't have an imprisonment reason, and the target is landed, you lose more unity - limit = { - NOT = { scope:actor = { has_imprisonment_reason = scope:recipient } } - scope:recipient = { is_landed_or_landless_administrative = yes } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { # If you don't have an imprisonment reason, and the target is unlanded, you lose slightly less unity - limit = { - NOT = { scope:actor = { has_imprisonment_reason = scope:recipient } } - scope:recipient = { is_landed_or_landless_administrative = no } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { # If you have a valid reason, you lose only a tiny bit of unity (criminal or not, they are still family) - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Harrying logic. - scope:actor = { - if = { - limit = { - character_is_valid_for_harrying_of_the_north_trigger = yes - scope:recipient = { - character_is_valid_for_harrying_of_the_north_trigger = yes - is_important_or_vip_struggle_character = yes - } - culture != scope:recipient.culture - } - global_var:harrying_of_the_north = { save_scope_as = story } - if = { - limit = { - character_is_valid_norman_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value } - } - else_if = { - limit = { - character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value } - } - } - } - } - - on_decline = { - if = { - limit = { - scope:recipient = { - is_landless_adventurer = yes - reverse_has_opinion_modifier = { - target = scope:actor - modifier = eviction_ignored_opinion - } - } - } - scope:recipient = { - if = { - limit = { current_military_strength >= ep3_interactions_events_0500_troops_count_value } - start_war = { - cb = ep3_laamp_apprehend_adventurer_cb - target = scope:actor - } - } - else = { - # Remove them immediately. - remove_laamp_from_exiled_county_automatically_effect = { - PROVINCE = scope:recipient.location - LAAMP = scope:recipient - } - } - } - } - else = { - scope:actor = { - imprison_HoF_consequences_effect = yes - imprison_tyranny_effect = yes - } - scope:recipient = { - #If target is count or higher, start war. - if = { - limit = { - is_playable_character = yes - primary_title.tier > tier_barony - } - if = { - limit = { - is_a_faction_member = yes - liege = scope:actor - joined_faction = { - faction_target = scope:actor - NOT = { faction_is_type = populist_faction } - } - } - joined_faction = { - save_scope_as = retaliating_faction # For loc - imprisonment_retribution_start_faction_war_if_valid = yes - } - hidden_effect = { - if = { - limit = { NOT = { exists = joined_faction.faction_war } } - war_for_imprison_effect = yes - } - } - } - else = { - war_for_imprison_effect = yes - } - } - #If target is a baron or unlanded, have them escape. - else = { - if = { #To block them from being instantly rehired - limit = { - is_councillor_of = scope:actor - can_be_fired_from_council_trigger = { COURT_OWNER = scope:actor } - } - set_variable = { - name = escaped_imprisonment_from - value = scope:actor - years = 20 - } - } - imprison_court_chaplain_consequences_effect = yes - if = { - limit = { - is_landed_or_landless_administrative = yes - } - depose_effect = { DEPOSER = scope:actor } - } - else_if = { - limit = { - is_hostage = yes - warden = scope:actor - } - save_scope_as = imprison_failure - save_scope_as = hostage - warden = { save_scope_as = warden } - home_court = { save_scope_as = home_court } - scope:warden = { trigger_event = bp2_hostage_system.0400 } - scope:home_court = { trigger_event = bp2_hostage_system.0401 } - return_hostage = yes - } - else_if = { - limit = { - is_landed_or_landless_administrative = no - trigger_if = { - limit = { - is_councillor = yes - } - can_be_fired_from_council_trigger = { COURT_OWNER = scope:recipient.liege } - } - trigger_if = { - limit = { - exists = scope:actor.faith.religious_head - } - NOT = { scope:actor.faith.religious_head = scope:recipient } - } - } - select_and_move_to_pool_effect = yes - } - add_opinion = { - target = scope:actor - modifier = attempted_imprisonment_opinion - } - } - } - - if = { - limit = { - scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = treasonous_imprison_refusal - } - } - } - } - - #Remove them as guardian/ward for any courtier (feedback given in char_interaction.0230) - scope:actor = { - if = { - limit = { - any_courtier = { - has_relation_guardian = scope:recipient - } - } - every_courtier = { - limit = { - has_relation_guardian = scope:recipient - } - save_scope_as = ward - scope:recipient = { remove_relation_ward = scope:ward } - - scope:ward = { - if = { - limit = { - NOT = { host = liege } - } - return_to_court = yes - } - guardian_remove_opinion_effect = { - GUARDIAN = scope:recipient - WARD = this - WARD_LIEGE = scope:actor - } - } - - add_to_list = ward_children - } - } - if = { - limit = { - any_courtier = { - has_relation_ward = scope:recipient - } - } - random_courtier = { - limit = { - has_relation_ward = scope:recipient - } - save_scope_as = guardian - scope:guardian = { remove_relation_ward = scope:recipient } - - scope:guardian = { - if = { - limit = { - NOT = { host = liege } - } - return_to_court = yes - } - guardian_remove_opinion_effect = { - GUARDIAN = this - WARD = scope:recipient - WARD_LIEGE = scope:actor - } - } - - add_to_list = guardian_list - } - - hidden_effect = { - scope:guardian = { - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:recipient - right_icon = scope:guardian - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - } - } - } - - scope:actor = { - if = { - limit = { - scope:recipient = { - OR = { - is_playable_character = no - AND = { - is_playable_character = yes - primary_title.tier = tier_barony - } - } - } - } - trigger_event = char_interaction.0230 - } - } - - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # If we're a clan this interaction affects unity - if = { # If you don't have an imprisonment reason, and the target is landed, you lose more unity - limit = { - NOT = { - scope:actor = { has_imprisonment_reason = scope:recipient } - } - scope:recipient = { is_landed_or_landless_administrative = yes } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { # If you don't have an imprisonment reason, and the target is unlanded, you lose slightly less unity - limit = { - NOT = { - scope:actor = { has_imprisonment_reason = scope:recipient } - } - scope:recipient = { is_landed_or_landless_administrative = no } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { # If you have a valid reason, you lose only a tiny bit of unity (criminal or not, they are still family) - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - add = { - value = scope:actor.intrigue - multiply = 1 - } - desc = IMPRISON_INTRIGUE_ACTOR - } - modifier = { - add = { - value = scope:recipient.intrigue - multiply = -2 - } - desc = IMPRISON_INTRIGUE_RECIPIENT - } - - modifier = { - add = 30 - scope:hook = yes - desc = SCHEME_HOOK_USED - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ai_value_modifier = { - who = scope:recipient - ai_boldness = { - if = { - limit = { - scope:recipient = { NOT = { ai_boldness = 0 } } - } - value = -0.5 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { #If AI is honorable and the law compels to obey the liege, AI will be more likely to obey. - ai_honor > 0 - } - scope:actor = { - has_imprisonment_reason = scope:recipient - has_realm_law_flag = vassal_refusal_is_treason - } - } - value = 0.75 - } - } - } - modifier = { - add = 20 - scope:actor = { - any_vassal_or_below = { this = scope:recipient } - has_realm_law_flag = vassal_refusal_is_treason - } - desc = AI_REFUSAL_IS_TREASON - } - modifier = { - add = 50 - scope:actor = { - has_perk = prison_feudal_complex_perk - } - desc = AI_PRISON_FEUDAL_COMPLEX_PERK - } - modifier = { #I am a King! - desc = offer_vassalization_interaction_aibehavior_amkingtier_tt - scope:recipient = { highest_held_title_tier = tier_kingdom } - add = -40 - } - modifier = { #Courtiers. - desc = AI_REFUSAL_COURTIER - scope:recipient = { is_ruler = no } - add = 50 - } - modifier = { # Your young children can't really stop you - desc = AI_REFUSAL_YOUNG_CHILD - scope:recipient = { - is_child_of = scope:actor - is_courtier_of = scope:actor - is_adult = no - } - add = 200 - } - modifier = { #They're a claimant against you - desc = AI_CLAIMANT_PENALTY - scope:actor = { - OR = { - any_targeting_faction = { - faction_is_type = claimant_faction - faction_is_at_war = yes - exists = special_character - special_character = scope:recipient - } - AND = { - exists = var:claimant_faction_sent_demand - var:claimant_faction_sent_demand = scope:recipient - } - } - } - add = -70 - } - modifier = { #Rank difference. - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:recipient = { - is_ruler = yes - is_landed = yes - highest_held_title_tier < tier_kingdom - } - add = { - value = -15 - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 2 - } - } - } - add = 5 - } - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 3 - } - } - } - add = 5 - } - if = { #King asking Baron, modifier becomes positive. - limit = { - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - } - add = 10 - } - } - } - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - modifier = { - add = intimidated_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_external_reason_value - scope:recipient = { - NOT = { target_is_liege_or_above = scope:actor } - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { #Comparative military strength. - desc = offer_vassalization_interaction_aibehavior_power_tt - trigger = { - scope:actor = { is_ruler = yes } - scope:recipient = { is_ruler = yes } - } - add = { - value = 1 - subtract = { - value = scope:recipient.current_military_strength - divide = { value = scope:actor.current_military_strength min = 1 } - } - multiply = 100 - min = -1000 - # This max needs to match the loc in offer_vassalization_interaction_aibehavior_power_tt - max = 20 - } - } - modifier = { #Rivalry modifier. - desc = offer_vassalization_interaction_aibehavior_rival_tt - trigger = { - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - add = -50 - } - modifier = { #Nemesis modifier. - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = -100 - } - modifier = { - add = 10 - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - is_liege_or_above_of = scope:recipient - court_grandeur_current_level >= 7 - court_grandeur_current_level < 9 - } - desc = GRANDEUR_REASON - } - modifier = { - add = 20 - scope:actor = { - has_royal_court = yes - has_dlc_feature = royal_court - is_liege_or_above_of = scope:recipient - court_grandeur_current_level >= 9 - } - desc = GRANDEUR_REASON - } - modifier = { # Legalistic tradition - desc = tradition_legalistic_name - scope:actor = { - has_imprisonment_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - add = legalistic_vassal_punishment_acceptance - } - modifier = { # AI Mongols, tyranny wars just delay the inevitable fun! - scope:actor = { - is_ai = yes - OR = { - has_trait = greatest_of_khans - has_character_modifier = the_great_khan_modifier - } - } - scope:recipient = { - is_ai = yes - } - add = 500 - } - # Thug accolade increases imprison chance because they scary - modifier = { - scope:actor = { - any_active_accolade = { - has_accolade_parameter = accolade_imprisonment_chance - } - } - desc = THUG_REASON - add = accolade_imprisonment_chance_value - } - modifier = { - scope:actor = { - any_active_accolade = { - has_accolade_parameter = accolade_imprisonment_chance_high - } - } - desc = THUG_REASON_HIGH - add = accolade_imprisonment_chance_value_high - } - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - modifier = { - add = -25 - scope:recipient = { - culture = { has_cultural_parameter = vassals_more_likely_to_refuse_demands } - } - desc = VASSALS_REFUSAL_indomitable_azatani - } - } - - # AI - ai_targets = { - ai_recipients = vassals - chance = 0.5 - } - ai_targets = { - ai_recipients = courtiers - chance = 0.25 - } - ai_frequency = 10 - - ai_will_do = { - base = -100 - - modifier = { # Make sure the AI uses hooks for this as it's % based - scope:hook = yes - add = 1 - } - - modifier = { - add = 200 - scope:actor = { - has_imprisonment_reason = scope:recipient - } - } - - modifier = { # Avoid Tyranny wars at inopportune times - add = -190 - scope:actor = { - ai_rationality > -100 # Lunatics can do whatever, let the world burn... - is_at_war = yes - } - scope:recipient = { - is_playable_character = yes - } - } - - modifier = { # Avoid imprisonments in certain circumstances - add = -190 - scope:actor = { - ai_rationality > -100 # Lunatics can do whatever, let the world burn... - NOR = { - AND = { - intrigue > scope:recipient.intrigue - intrigue >= 12 - } - has_perk = prison_feudal_complex_perk - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level >= 1 - } - } - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - current_military_strength >= scope:recipient.twice_current_military_strength - scope:recipient.ai_boldness <= -100 - } - } - scope:recipient = { - is_playable_character = yes - } - } - - modifier = { # If the AI is not very bold, avoid imprisoning people unless you're more powerful - add = -190 - scope:actor.ai_rationality > -100 # Lunatics can do whatever, let the world burn... - scope:actor.ai_boldness <= 25 - scope:actor.current_military_strength < scope:recipient.one_and_a_half_times_current_military_strength - } - - modifier = { # Avoid imprisoning people that would destroy you - add = -190 - scope:actor.ai_rationality > -100 # Lunatics can do whatever, let the world burn... - scope:actor.current_military_strength < scope:recipient.current_military_strength - } - - modifier = { # Do not imprison when the chance of success if exceedingly low - add = -190 - scope:actor.ai_rationality > -100 # Lunatics can do whatever, let the world burn... - scope:recipient = { - is_playable_character = yes - } - NOT = { - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - scope:actor = { - gold < minimum_ai_gold_value_for_tyranny_wars - } - } - - modifier = { # Don't imprison people you like - scope:actor = { - NOT = { - has_trait = sadistic - } - OR = { - has_secret_relation_lover = scope:recipient - has_relation_lover = scope:recipient - has_relation_soulmate = scope:recipient - has_relation_friend = scope:recipient - has_relation_best_friend = scope:recipient - opinion = { - target = scope:recipient - value > very_high_positive_opinion - } - } - } - add = -1000 - } - - modifier = { # Don't imprison your own children... unless they're your rival/nemesis - scope:recipient = { - is_child_of = scope:actor - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - add = -1000 - } - - modifier = { # Don't imprison your spouse, unless they're your rival/have cheated on you - scope:recipient = { - is_spouse_of = scope:actor - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - } - add = -1000 - } - - modifier = { # Try to avoid pointless imprisonments - scope:recipient = { - NOR = { - scope:actor = { # Sadists want people to torture - has_trait = sadistic - } - AND = { # Imprisoning vassals you have revoke reasons on is relevant - is_playable_character = yes - scope:actor = { has_revoke_title_reason = scope:recipient } - } - is_a_faction_member = yes - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - scope:actor = { # Scheme Agents should be imprisoned indiscriminately - any_targeting_scheme = { - hostile_scheme_trigger = yes - is_scheme_agent_exposed = scope:recipient - } - } - AND = { # Zealots will imprison characters of other faiths - scope:actor.ai_zeal >= medium_positive_ai_value - NOT = { scope:actor.faith = scope:recipient.faith } - } - scope:actor = { - has_opinion_modifier = { - modifier = murdered_close_family_crime - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = attempted_murder_close_family_crime - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = executed_close_family - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = slept_with_spouse_discovered_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = slept_with_spouse_exposed_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = unfaithful_spouse_discovered_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = unfaithful_spouse_exposed_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = refused_to_renounce_lover_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = betrayed_our_promise - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = botched_my_treatment_crime_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = botched_treatment_of_kin_crime_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = smeared_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = insulted_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = mocked_me_in_time_of_need - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = loved_one_dungeon_death - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = abandoned_me_opinion - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = reason_child_died - target = scope:recipient - } - } - scope:actor = { - has_opinion_modifier = { - modifier = falsely_accused - target = scope:recipient - } - } - } - } - add = -1000 - } - - modifier = { - exists = scope:recipient.primary_title - add = scope:recipient.primary_title.tier - } - - # Agenda impact - modifier = { - scope:recipient = { - is_important_or_vip_struggle_character = yes - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_important - } - has_character_flag = agenda_towards_escalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_important - } - } - } - add = -100 - } - } - } - modifier = { - scope:recipient = { - has_trait = fp3_struggle_supporter - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_supporter - } - has_trait = fp3_struggle_detractor - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_supporter - } - } - } - add = -100 - } - } - } - modifier = { - scope:recipient = { - has_trait = fp3_struggle_detractor - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_detractor - } - has_trait = fp3_struggle_supporter - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_imprison_detractor - } - } - } - add = -100 - } - } - } - - modifier = { # Avoid triggering Tyranny wars mid-grand activity - factor = 0 - scope:actor = { - has_ongoing_grand_activity_trigger = yes - } - scope:recipient = { - highest_held_title_tier >= tier_county - } - } - - evaluate_action_decreasing_house_unity = { - VALUE = 100 - } - } -} - -move_to_dungeon_interaction = { - interface_priority = 30 - category = interaction_category_prison - desc = move_to_dungeon_interaction_desc - icon = prison - - is_shown = { - scope:actor = { - is_landless_ruler = no - } - scope:recipient = { - is_imprisoned_by = scope:actor - is_in_prison_type = house_arrest - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - } - - on_accept = { - if = { - limit = { scope:recipient = { has_character_modifier = allowed_to_go_outside } } - scope:recipient = { remove_character_modifier = allowed_to_go_outside } - } - scope:recipient = { - hidden_effect = { - change_prison_type = dungeon - } - trigger_event = prison_notification.1001 - custom_tooltip = MOVE_PRISONER_TO_DUNGEON - scope:recipient = { - every_close_or_extended_family_member = { - custom = all_family_members - limit = { - NOT = { scope:actor = this } - } - add_opinion = { - modifier = family_moved_to_dungeon_opinion - target = scope:actor - } - } - } - } - scope:actor = { - stress_impact = { - compassionate = medium_stress_impact_gain - forgiving = medium_stress_impact_gain - } - hidden_effect = { - send_interface_message = { - type = event_prison_neutral - title = msg_move_prisoner_to_dungeon - right_icon = scope:recipient - custom_tooltip = MOVE_PRISONER_TO_DUNGEON - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_move_to_dungeon.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - # AI - ai_targets = { - ai_recipients = prisoners - } - ai_frequency = 12 - - ai_potential = { - always = yes - } - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:actor.ai_compassion < medium_positive_ai_value - scope:actor = { - opinion = { - target = scope:recipient - value <= high_negative_opinion - } - } - } - modifier = { # Family Feud - add = 25 - trigger = { - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - } - desc = INTERACTION_FAMILY_FEUD_REASON - } - } -} - -move_to_house_arrest_interaction = { - interface_priority = 30 - category = interaction_category_prison - desc = move_to_house_arrest_interaction_desc - icon = prison - - is_shown = { - scope:actor = { - is_landless_ruler = no - } - scope:recipient = { - is_imprisoned_by = scope:actor - is_in_prison_type = dungeon - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - } - - on_accept = { - if = { - limit = { scope:recipient = { has_character_modifier = allowed_to_go_outside } } - scope:recipient = { remove_character_modifier = allowed_to_go_outside } - } - if = { - limit = { scope:recipient = { has_character_modifier = moldy_gruel_diet } } - scope:recipient = { remove_character_modifier = moldy_gruel_diet } - } - scope:recipient = { - hidden_effect = { - change_prison_type = house_arrest - trigger_event = prison_notification.1002 - } - custom_tooltip = MOVE_PRISONER_TO_HOUSE_ARREST - scope:recipient = { - every_close_or_extended_family_member = { - custom = all_family_members - limit = { - NOT = { scope:actor = this } - } - add_opinion = { - modifier = moved_to_house_arrest_opinion - target = scope:actor - } - } - } - } - scope:actor = { - stress_impact = { - sadistic = medium_stress_impact_gain - vengeful = medium_stress_impact_gain - } - hidden_effect = { - send_interface_message = { - type = event_prison_neutral - title = msg_move_prisoner_to_house_arrest - right_icon = scope:recipient - custom_tooltip = MOVE_PRISONER_TO_HOUSE_ARREST - } - } - } - } - - auto_accept = yes -} - -ransom_interaction = { - interface_priority = 50 - common_interaction = no - use_diplomatic_range = no - category = interaction_category_prison - special_interaction = ransom_interaction - icon = icon_gold - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - if = { - limit = { - is_ruler = no - exists = liege - } - liege = { - save_scope_as = recipient - } - } - } - } - - desc = ransom_interaction_desc - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:secondary_recipient = scope:recipient - } - desc = OFFER_RANSOM_PROPOSAL_PERSONAL - } - desc = OFFER_RANSOM_PROPOSAL - } - } - - is_shown = { - scope:secondary_recipient = { - #exists = liege - is_imprisoned_by = scope:actor - } - NOT = { - scope:actor = scope:recipient - } - } - - is_valid_showing_failures_only = { - trigger_if = { - limit = { - scope:invalid = yes - } - always = no - } - - scope:recipient = { is_busy_in_events_localised = yes } #Payer - scope:secondary_recipient = { is_busy_in_events_localised = yes } #Prisoner - scope:secondary_recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - on_accept = { - if = { - limit = { scope:recipient = { has_character_modifier = allowed_to_go_outside } } - scope:recipient = { remove_character_modifier = allowed_to_go_outside } - } - if = { - limit = { scope:recipient = { has_character_modifier = moldy_gruel_diet } } - scope:recipient = { remove_character_modifier = moldy_gruel_diet } - } - # Set up event scopes and trigger the exchange. - if = { - limit = { scope:secondary_recipient = { is_imprisoned_by = scope:actor } } # To prevent simultaneous release-shenanigans - scope:secondary_recipient = { - save_scope_as = prisoner - } - scope:recipient = { - save_scope_as = payer - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - } - scope:prisoner = { - save_scope_value_as = { - name = new_ransom_value - value = haggler_ransom_cost_modifier - } - } - custom_tooltip = has_person_haggler_decrease_ransom_cost - } - # If the recipient doesn't have enough funds to pay the full amount and we're only requesting their current funds, save how much they've agreed to pay. - if = { - limit = { - OR = { - exists = scope:current_gold - exists = scope:extortionate_current_gold - } - } - save_scope_value_as = { - name = ransom_saved_gold_value - value = scope:payer.current_gold_value - } - } - } - scope:actor = { - save_scope_as = imprisoner - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - } - scope:recipient = { - scope:prisoner = { - save_scope_value_as = { - name = new_ransom_value - value = haggler_ransom_cost_modifier - } - } - custom_tooltip = has_person_haggler_increase_ransom_cost - } - } - - #Save scopes for portraits - scope:recipient = { save_scope_as = portrait_first } - if = { - limit = { - NOT = { scope:portrait_first = scope:prisoner } - } - scope:prisoner = { save_scope_as = portrait_second} - # Must come after we save the payment value, or the payer won't know how much they need to pay. - send_interface_message = { - type = event_prison_good - title = msg_ransom_prisoner - right_icon = scope:portrait_first - left_icon = scope:portrait_second - ransom_interaction_effect = yes - } - } - else = { - # Must come after we save the payment value, or the payer won't know how much they need to pay. - send_interface_message = { - type = event_prison_good - title = msg_ransom_prisoner - right_icon = scope:portrait_first - ransom_interaction_effect = yes - } - } - - # Struggle Catalyst - if = { - limit = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:secondary_recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:secondary_recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_ransom_important - character = scope:actor - } - } - } - } - } - } - - on_decline = { - # If a player declines this ransom offer, wait 10 years before sending another one (they presumably will ransom that character themselves when they want them back). - if = { - limit = { scope:recipient = { is_ai = no } } - scope:secondary_recipient = { - add_character_flag = { - flag = character_ransom_refused_by_player - years = 10 - } - } - } - - # Trigger notification event - scope:actor = { - trigger_event = char_interaction.0131 - } - } - - # Pay me an extortionate amount! - send_option = { - is_shown = { - scope:actor = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:recipient ?= { - gold >= scope:secondary_recipient.increased_ransom_cost_value - } - } - flag = extortionate_gold - localization = "RANSOM_EXTORTIONATE_GOLD_OPTION" - } - - # If you don't have what they're worth, pay me what you have (extort version)! - send_option = { - is_shown = { - scope:actor = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:recipient ?= { - gold < scope:secondary_recipient.increased_ransom_cost_value - gold >= 1 - } - } - flag = extortionate_current_gold - localization = "RANSOM_EXTORTIONATE_CURRENT_GOLD_OPTION" - } - - # Pay me what they're worth! - send_option = { - is_shown = { - scope:actor = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:recipient ?= { - gold >= scope:secondary_recipient.ransom_cost_value - } - } - flag = gold - localization = "RANSOM_GOLD_OPTION" - } - - # If you don't have what they're worth, pay me what you have! - send_option = { - is_shown = { - scope:actor = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:recipient ?= { - gold < scope:secondary_recipient.ransom_cost_value - gold >= 1 - } - } - flag = current_gold - localization = "RANSOM_CURRENT_GOLD_OPTION" - } - - send_option = { - is_shown = { - trigger_if = { # in the mass action ransom we only want to do it for gold - limit = { exists = scope:mass_action } - scope:mass_action = no - } - } - is_valid = { - scope:actor = { - can_add_hook = { #To match the hook added through ransom_interaction_effect - target = scope:recipient - type = favor_hook - } - } - } - flag = favor - localization = "RANSOM_FAVOR_OPTION" - } - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - trigger_if = { # in the mass action ransom we only want to do it for gold - limit = { exists = scope:mass_action } - scope:mass_action = no - } - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - - # MPO Herd - send_option = { - is_shown = { # Actor must have a government that uses Herd - scope:actor = { - government_has_flag = government_is_nomadic - exists = domicile - is_ai = no - } - # Recipient must care about Herd - scope:recipient ?= { - government_has_flag = government_is_nomadic - exists = domicile - } - } - is_valid = { - # Recipient has enough Herd - scope:recipient = { domicile.herd >= domicile.medium_herd_value } - } - flag = herd_send_option - localization = RANSOM_HERD_OPTION - } - - localization_values = { - EXTORTIONATE_RANSOM_COST = scope:secondary_recipient.increased_ransom_cost_value - RANSOM_COST = scope:secondary_recipient.ransom_cost_value - CURRENT_GOLD = scope:recipient.gold - RANSOM_HERD_COST = ransom_herd_value_recipient - } - - ai_accept = { - base = 0 - modifier = { # Greedy characters can have their greed get the better of them... - add = { - value = scope:recipient.ai_greed - multiply = -0.5 - } - scope:recipient.ai_greed >= medium_positive_ai_value - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - NOT = { - scope:recipient = scope:secondary_recipient - } - desc = AI_VALUE_MODIFIER_GREED - } - modifier = { # Generous characters are more willing to pay - add = { - value = scope:recipient.ai_greed - multiply = -0.10 - } - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - NOT = { - scope:recipient = scope:secondary_recipient - } - scope:recipient.ai_greed <= medium_negative_ai_value - desc = AI_VALUE_MODIFIER_GENEROUS - } - modifier = { - add = -10 - NOT = { scope:recipient = scope:secondary_recipient } - scope:recipient = { - NOR = { - is_spouse_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - has_relation_friend = scope:secondary_recipient - has_secret_relation_lover = scope:secondary_recipient - has_relation_soulmate = scope:secondary_recipient - has_relation_best_friend = scope:secondary_recipient - is_parent_of = scope:secondary_recipient - } - } - desc = "UNIMPORTANT_CHAR_REASON" - } - modifier = { - add = 100 - scope:recipient = scope:secondary_recipient - desc = "WANTS_FREEDOM_REASON" - } - modifier = { # Acceptance boon for lovers, friends, etc - add = 25 - NOT = { scope:recipient = scope:secondary_recipient } - scope:recipient = { - OR = { - is_spouse_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - has_relation_friend = scope:secondary_recipient - has_secret_relation_lover = scope:secondary_recipient - } - NOR = { - has_relation_soulmate = scope:secondary_recipient - has_relation_best_friend = scope:secondary_recipient - is_parent_of = scope:secondary_recipient - } - } - desc = "DEAR_TO_ME_REASON" - } - modifier = { # Massive acceptance boon for Soulmates and Best Friends - add = 200 - scope:recipient = { - OR = { - has_relation_soulmate = scope:secondary_recipient - has_relation_best_friend = scope:secondary_recipient - is_parent_of = scope:secondary_recipient - } - NOR = { - is_spouse_of = scope:secondary_recipient - AND = { - NOT = { - is_parent_of = scope:secondary_recipient - } - is_close_or_extended_family_of = scope:secondary_recipient - } - has_relation_lover = scope:secondary_recipient - has_relation_friend = scope:secondary_recipient - has_secret_relation_lover = scope:secondary_recipient - } - } - desc = "DEAR_TO_ME_REASON" - } - modifier = { # Say no to rivals - add = -200 - scope:recipient = { - has_relation_rival = scope:secondary_recipient - } - desc = "RIVAL_TO_ME_REASON" - } - modifier = { # Say no to rivals - add = -500 - scope:recipient = { - has_relation_nemesis = scope:secondary_recipient - } - desc = "NEMESIS_TO_ME_REASON" - } - modifier = { - add = 10 - scope:recipient = { - NOR = { - this = scope:secondary_recipient - is_spouse_of = scope:secondary_recipient - is_close_or_extended_family_of = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - has_relation_soulmate = scope:secondary_recipient - has_secret_relation_lover = scope:secondary_recipient - } - NOR = { - has_relation_rival = scope:secondary_recipient - has_relation_nemesis = scope:secondary_recipient - } - } - scope:recipient.dynasty = scope:secondary_recipient.dynasty - desc = "MY_DYNASTY_REASON" - } - modifier = { # An Intimidated recipient is significantly more likely to accept an offer from the liege - add = intimidated_reason_value - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - desc = INTIMIDATED_REASON - } - - modifier = { # An Cowed recipient is significantly more likely to accept an offer from the liege - add = cowed_reason_value - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - desc = COWED_REASON - } - } - - # AI - ai_targets = { - ai_recipients = prisoners - } - ai_frequency = 6 - - ai_potential = { - always = yes - } - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - OR = { - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - AND = { - scope:recipient = { - gold >= 25 - } - scope:secondary_recipient = { - time_in_prison = { years > 1 } - } - scope:current_gold = yes - } - } - } - - modifier = { - add = ai_greed - ai_greed > 0 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - } - - modifier = { - add = -100 - has_relation_rival = scope:secondary_recipient - } - - modifier = { - add = -300 - has_relation_nemesis = scope:secondary_recipient - } - - modifier = { - add = 100 - scope:favor = yes - scope:recipient = { - OR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - - # Struggle Agenda - modifier = { - scope:secondary_recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - } - } - add = 200 - } - } - } - - modifier = { - factor = 0 - is_at_war = yes - } - - modifier = { # Don't annoy players - factor = 0 - scope:recipient = { is_ai = no } - OR = { - scope:recipient = { is_at_war = yes } - scope:secondary_recipient = { has_character_flag = character_ransom_refused_by_player } - } - } - - #don't ransom if they are tied with a prison break contract, we don't want it invalidating all the time - modifier = { - factor = 0 - scope:secondary_recipient = { - has_character_flag = being_prisonbroken_by_laamp - } - } - } - - # Needs to be after all other send options so we only default to it if everything else is blocked - send_option = { - is_shown = { # When doing the mass ransom, its possible for no option to be valid for the gold costs, so instead of defaulting wrong we explitly fail it - exists = scope:mass_action - scope:mass_action = yes - } - flag = invalid - localization = "INVALID" - } -} - -#For lieges to ransom their courtiers -pay_ransom_interaction = { - interface_priority = 50 - common_interaction = no - use_diplomatic_range = no - category = interaction_category_prison - icon = icon_gold - - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - if = { - limit = { - exists = imprisoner - } - imprisoner = { save_scope_as = recipient } - } - } - } - - desc = pay_ransom_interaction_desc - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - greeting = positive - notification_text = PAY_RANSOM_PROPOSAL - - is_shown = { - exists = scope:recipient - scope:secondary_recipient = { - NOT = { - this = scope:actor - } - is_imprisoned_by = scope:recipient - OR = { - liege ?= scope:actor # You can ransom anyone you have in your court - is_close_family_of = scope:actor # And anyone who is your close family - dynasty ?= { # And anyone from your Dynasty - this ?= scope:actor.dynasty - } - any_spouse = { # And anyone married to one of your close kin or dynasty members - OR = { - is_close_family_of = scope:actor - dynasty ?= { - this ?= scope:actor.dynasty - } - } - } - has_relation_lover = scope:actor # And Lovers - has_relation_friend = scope:actor # And Friends - } - } - NOT = { - scope:actor = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } #Imprisoner - scope:secondary_recipient = { is_busy_in_events_localised = yes } #Prisoner - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - on_accept = { - # Set up event scopes and trigger the exchange. - if = { - limit = { scope:secondary_recipient = { is_imprisoned_by = scope:recipient } } - scope:secondary_recipient = { - save_scope_as = prisoner - } - scope:recipient = { - save_scope_as = imprisoner - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - } - custom_tooltip = has_person_haggler_increase_ransom_cost - } - } - scope:actor = { - save_scope_as = payer - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - - } - scope:prisoner = { - save_scope_value_as = { - name = new_ransom_value - value = haggler_ransom_cost_modifier - } - } - custom_tooltip = has_person_haggler_decrease_ransom_cost - } - # Stress impacts - if = { - limit = { - scope:prisoner = { # Stress impact for random courtiers - NOR = { - is_vassal_of = scope:actor - is_consort_of = scope:actor - is_close_family_of = scope:actor - dynasty ?= { - this ?= scope:actor.dynasty - } - any_spouse = { - OR = { - is_close_family_of = scope:actor - dynasty ?= { - this ?= scope:actor.dynasty - } - } - } - has_relation_lover = scope:actor - has_relation_friend = scope:actor - } - } - } - stress_impact = { - compassionate = minor_stress_impact_loss - generous = medium_stress_impact_loss - } - } - else_if = { # Stress impact for 'relevant' ransoms; in other words, everyone but random courtiers - limit = { - scope:prisoner = { - OR = { - is_vassal_of = scope:actor - is_consort_of = scope:actor - is_close_family_of = scope:actor - dynasty ?= { - this ?= scope:actor.dynasty - } - any_spouse = { - OR = { - is_close_family_of = scope:actor - dynasty ?= { - this ?= scope:actor.dynasty - } - } - } - has_relation_lover = scope:actor - has_relation_friend = scope:actor - } - } - } - stress_impact = { - compassionate = medium_stress_impact_loss - generous = minor_stress_impact_loss - just = minor_stress_impact_loss - } - } - - if = { # Lustful characters want their lovers back - limit = { - scope:prisoner = { - has_relation_lover = scope:actor - } - } - stress_impact = { - lustful = major_stress_impact_loss - } - } - - if = { # Loyal characters want to free their friends and lovers - limit = { - scope:prisoner = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - } - } - } - stress_impact = { - loyal = major_stress_impact_loss - } - } - - if = { # Family should be free! - limit = { - scope:prisoner = { - is_close_family_of = scope:payer - } - } - stress_impact = { - family_first = miniscule_stress_impact_loss - } - } - - # If the payer doesn't have enough funds to pay the full amount and we're only requesting their current funds, save how much they've agreed to pay. - if = { - limit = { - OR = { - exists = scope:current_gold - exists = scope:extortionate_current_gold - } - } - save_scope_value_as = { - name = ransom_saved_gold_value - value = scope:payer.current_gold_value - } - } - - # Must come after we save the payment value, or the payer won't know how much they need to pay. - trigger_event = char_interaction.0140 - } - hidden_effect = { - scope:prisoner = { - send_interface_toast = { - type = event_toast_effect_good - title = ransomed_by_someone - left_icon = scope:payer - show_as_tooltip = { - scope:imprisoner = { - ransom_interaction_effect = yes - } - } - } - } - scope:prisoner = { - if = { - limit = { - liege ?= { - is_ai = no - NOR = { - this = scope:payer - this = scope:imprisoner - } - OR = { - is_close_or_extended_family_of = scope:prisoner - is_consort_of = scope:prisoner - has_relation_lover = scope:prisoner - has_relation_friend = scope:prisoner - } - } - } - liege = { - save_scope_as = prisoner_liege_scope - send_interface_toast = { - type = event_toast_effect_good - title = ransomed_by_someone_third_party - left_icon = scope:payer - right_icon = scope:prisoner - custom_tooltip = ransomed_by_someone_third_party_desc - } - } - } - } - } - scope:imprisoner = { - send_interface_message = { - type = event_prison_neutral - title = recipient_released_from_prison - right_icon = scope:prisoner - left_icon = scope:imprisoner - ransom_interaction_effect = yes - } - - # Struggle Catalyst - if = { - limit = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:prisoner - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:prisoner - } - } - activate_struggle_catalyst = { - catalyst = catalyst_ransom_important - character = scope:imprisoner - } - } - } - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:imprisoner - SECOND = scope:prisoner - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_supporter_detractor - CHAR = scope:prisoner - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_supporter_detractor - CHAR = scope:prisoner - } - } - activate_struggle_catalyst = { - catalyst = catalyst_ransom_supporter_detractor - character = scope:imprisoner - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_ransom_supporter_detractor } - } - } - } - if = { - limit = { scope:hook = yes } - scope:actor = { - use_hook = scope:recipient - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:prisoner - VALUE = medium_unity_gain - DESC = clan_unity_ransom.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # If a player declines this ransom offer, wait 10 years before sending another one (they presumably have reasons for keeping that character in prison). - if = { - limit = { scope:recipient = { is_ai = no } } - scope:secondary_recipient = { - add_character_flag = { - flag = character_ransom_refused_by_player - years = 10 - } - } - } - - # Trigger notification event - scope:actor = { - trigger_event = char_interaction.0141 - } - } - - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - is_valid = { - exists = scope:recipient - scope:actor = { - gold >= scope:secondary_recipient.increased_ransom_cost_value - } - } - starts_enabled = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:actor = { - gold >= scope:secondary_recipient.increased_ransom_cost_value - } - } - flag = extortionate_gold - localization = "RANSOM_EXTORTIONATE_GOLD_IMPRISONED_PERSPECTIVE_OPTION" - } - - # If you don't have what they're worth, pay me what you have (extort version)! - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:actor = { - gold < scope:secondary_recipient.increased_ransom_cost_value - gold > 0 - } - } - starts_enabled = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:actor = { - gold < scope:secondary_recipient.increased_ransom_cost_value - gold > 0 - } - } - flag = extortionate_current_gold - localization = "RANSOM_EXTORTIONATE_CURRENT_GOLD_IMPRISONED_PERSPECTIVE_OPTION" - } - - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - } - is_valid = { - exists = scope:recipient - scope:actor = { - gold >= scope:secondary_recipient.ransom_cost_value - } - } - starts_enabled = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:actor = { - gold >= scope:secondary_recipient.ransom_cost_value - } - } - flag = gold - localization = "RANSOM_GOLD_PAY_OPTION" - } - - # If you don't have what they're worth, pay me what you have! - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:actor = { - gold < scope:secondary_recipient.ransom_cost_value - gold > 0 - } - } - starts_enabled = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:actor = { - gold < scope:secondary_recipient.ransom_cost_value - gold > 0 - } - } - flag = current_gold - localization = "RANSOM_CURRENT_PAY_GOLD_OPTION" - } - - send_option = { - is_valid = { - exists = scope:recipient - scope:recipient = { - can_add_hook = { #To match the hook added through ransom_interaction_effect - target = scope:actor - type = favor_hook - } - } - } - flag = favor - localization = "RANSOM_OWE_FAVOR_OPTION" - } - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - - send_option = { # MPO Herd - is_shown = { # Actor must have a government that uses Herd - scope:actor = { - government_has_flag = government_is_nomadic - exists = domicile - is_ai = no - } - # Recipient must care about Herd - scope:recipient = { - government_has_flag = government_is_nomadic - exists = domicile - } - } - is_valid = { - # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } - } - flag = herd_send_option - localization = PAY_FOR_BETTER_AI_ACCEPTANCE - } - - #Use hook - send_option = { - is_valid = { - exists = scope:recipient - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - localization_values = { - EXTORTIONATE_RANSOM_COST = scope:secondary_recipient.increased_ransom_cost_value - RANSOM_COST = scope:secondary_recipient.ransom_cost_value - CURRENT_GOLD = scope:actor.gold - RANSOM_HERD_COST = ransom_herd_value_actor - } - - ai_accept = { - base = 0 - modifier = { - add = 50 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - desc = "GOLD_POSITIVE_REASON" - } - modifier = { # Accept more than half the ransom (unless greedy) - add = 25 - scope:current_gold = yes - AND = { - scope:actor = { gold >= scope:secondary_recipient.half_ransom_cost_value } - NOT = { scope:recipient.ai_greed >= medium_positive_ai_value } - } - desc = "GOLD_POSITIVE_REASON" - } - modifier = { # Accept more than half the ransom (unless greedy) - add = 25 - scope:extortionate_current_gold = yes - AND = { - scope:actor = { gold >= scope:secondary_recipient.half_increased_ransom_cost_value } - NOT = { scope:recipient.ai_greed >= medium_positive_ai_value } - } - desc = "GOLD_POSITIVE_REASON" - } - modifier = { - add = 50 - scope:favor = yes - scope:recipient.top_liege = scope:actor.top_liege - desc = "FAVOR_POSITIVE_REASON" - } - modifier = { - add = 0 - scope:favor = yes - NOT = { scope:recipient.top_liege = scope:actor.top_liege } - desc = "NO_USE_FOR_A_FAVOR_REASON" - } - modifier = { # For clarification - add = 0 - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - OR = { - scope:actor = { gold < scope:secondary_recipient.half_ransom_cost_value } - scope:recipient.ai_greed >= medium_positive_ai_value - } - desc = "WANTS_MORE_GOLD" - } - modifier = { # Say no to rivals - add = -55 - scope:recipient = { - has_relation_rival = scope:secondary_recipient - } - desc = "RIVAL_TO_ME_REASON" - } - modifier = { # Say no to rivals - add = -300 - scope:recipient = { - has_relation_nemesis = scope:secondary_recipient - } - desc = "NEMESIS_TO_ME_REASON" - } - modifier = { # At war - add = -300 - scope:recipient = { - is_at_war_with = scope:actor - } - desc = "IS_AT_WAR_REASON" - } - modifier = { # At war - add = -300 - scope:recipient = { - is_at_war = yes - any_primary_war_enemy = { - scope:secondary_recipient = { - liege ?= prev - } - } - } - desc = "IS_POW_REASON" - } - modifier = { # At war - add = -300 - scope:recipient = { - is_at_war_with = scope:secondary_recipient - } - desc = "IS_AT_WAR_WITH_TARGET_REASON" - } - #opinion_modifier = { # A lot more likely if Recipient likes Actor - # who = scope:recipient - # opinion_target = scope:actor - # multiplier = 1.0 - # desc = AI_OPINION_REASON - #} - #opinion_modifier = { # A lot more likely if Recipient likes secondary_recipient/prisoner - # who = scope:recipient - # opinion_target = scope:secondary_recipient - # multiplier = 1.0 - # desc = AI_OPINION_REASON - #} - modifier = { - scope:hook = yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { # An Intimidated recipient is significantly more likely to accept an offer from the liege - add = 40 - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - desc = INTIMIDATED_REASON - } - - modifier = { # An Cowed recipient is significantly more likely to accept an offer from the liege - add = 100 - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - desc = COWED_REASON - } - - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - - modifier = { - add = 25 - scope:herd_send_option = yes - desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - - # AI - ai_targets = { - ai_recipients = family - } - ai_targets = { - ai_recipients = spouses - } - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = liege - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = top_realm_domicile_owners - max = 5 - } - ai_frequency = 6 - - ai_potential = { - gold >= 25 - } - - ai_target_quick_trigger = { - prison = yes - } - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:secondary_recipient = { - time_in_prison = { years > 1 } - } - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - } - } - } - - modifier = { - add = -100 - has_relation_rival = scope:secondary_recipient - } - - modifier = { - add = -300 - has_relation_nemesis = scope:secondary_recipient - } - - modifier = { - add = 100 - scope:favor = yes - scope:recipient = { - OR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - - modifier = { # Ransom your primary heir first - add = 10 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:secondary_recipient = { - time_in_prison = { years > 1 } - } - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - } - AND = { - scope:favor = yes - scope:recipient = { - OR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - } - scope:secondary_recipient = { - is_primary_heir_of = scope:actor - } - } - - modifier = { # Only ransom people you care about... unless you're very compassionate - factor = 0 - ai_compassion < high_positive_ai_value - scope:secondary_recipient = { - NOR = { - is_heir_of = scope:actor - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - is_consort_of = scope:actor - is_parent_of = scope:actor - is_grandparent_of = scope:actor - is_great_grandparent_of = scope:actor - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_secret_relation_lover = scope:actor - any_spouse = { - OR = { - is_heir_of = scope:actor - is_child_of = scope:actor - is_grandchild_of = scope:actor - is_great_grandchild_of = scope:actor - is_parent_of = scope:actor - is_grandparent_of = scope:actor - is_great_grandparent_of = scope:actor - has_relation_friend = scope:actor - } - } - } - } - } - - modifier = { # If you're very compassionate, well, then you ransom most people you can! - factor = 0 - ai_compassion >= high_positive_ai_value - scope:secondary_recipient = { - NOR = { - is_heir_of = scope:actor - is_close_or_extended_family_of = scope:actor - is_consort_of = scope:actor - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_secret_relation_lover = scope:actor - any_spouse = { - OR = { - is_heir_of = scope:actor - is_close_or_extended_family_of = scope:actor - has_relation_friend = scope:actor - } - } - } - } - } - - modifier = { # If you're very greedy... then they're a little bit more restrictive! - factor = 0 - ai_greed >= high_positive_ai_value - scope:secondary_recipient = { - NOR = { # Very Greedy rulers only ransom people in their own realm, or their heir - is_courtier_of = scope:actor - is_vassal_or_below_of = scope:actor - is_heir_of = scope:actor - } - NOR = { - is_heir_of = scope:actor - is_close_or_extended_family_of = scope:actor - is_consort_of = scope:actor - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_secret_relation_lover = scope:actor - any_spouse = { - OR = { - is_heir_of = scope:actor - is_close_or_extended_family_of = scope:actor - has_relation_friend = scope:actor - } - } - } - } - } - - # Some exceptions! - modifier = { # Lustful characters want to ransom lovers - add = 100 - has_trait = lustful - ai_greed <= 50 - scope:secondary_recipient = { - has_relation_lover = scope:actor - } - OR = { - scope:gold = yes - scope:extortionate_gold = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:secondary_recipient = { - time_in_prison = { years > 1 } - } - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - } - } - } - - modifier = { # Loyal characters want to ransom their relations - add = 100 - has_trait = loyal - scope:secondary_recipient = { - OR = { - has_relation_lover = scope:actor - has_relation_friend = scope:actor - } - } - OR = { - scope:gold = yes - scope:extortionate_gold = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:secondary_recipient = { - time_in_prison = { years > 1 } - } - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - } - } - } - - modifier = { # Certain characters will try to ransom their liege! - add = 100 - ai_greed <= very_high_negative_ai_value - ai_compassion >= very_high_negative_ai_value - NOT = { exists = joined_faction } - is_at_war = no - OR = { - has_trait = loyal - ai_honor >= high_positive_ai_value - } - scope:secondary_recipient = { - is_liege_or_above_of = scope:actor - } - OR = { - scope:gold = yes - scope:extortionate_gold = yes - # They won't offer current gold, only full ransoms - } - } - - modifier = { # Favors only relevant within the realm - add = -100 - scope:favor = yes - scope:recipient = { - NOR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - - modifier = { # Don't spam the player with cheapskate offers - add = -100 - scope:current_gold = yes - scope:recipient = { - is_ai = no - } - scope:secondary_recipient = { - highest_held_title_tier >= tier_duchy - } - } - - # Struggle Agenda - modifier = { - scope:secondary_recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - } - } - add = 200 - } - } - } - - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - - modifier = { # Don't give away prisoners for free - factor = 0 - NOR = { - scope:favor = yes - scope:extortionate_gold = yes - scope:extortionate_current_gold = yes - scope:gold = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:current_gold = yes - } - } - } - - modifier = { # Don't annoy players - factor = 0 - scope:recipient = { is_ai = no } - OR = { - scope:recipient = { is_at_war = yes } - scope:secondary_recipient = { has_character_flag = character_ransom_refused_by_player } - } - } - - #don't ransom prisoners that are tied with a prison break contract, we don't want it invalidating all the time - modifier = { - factor = 0 - scope:secondary_recipient = { - has_character_flag = being_prisonbroken_by_laamp - } - } - } -} - -#To ransom yourself -ransom_me_interaction = { - interface_priority = 50 - common_interaction = yes - use_diplomatic_range = no - category = interaction_category_prison - icon = icon_gold - - greeting = positive - notification_text = PAY_RANSOM_PROPOSAL_PERSONAL - - desc = ransom_me_interaction_desc - - redirect = { # So that users can ransom themselves by clicking on their portrait - if = { - limit = { - scope:actor = scope:recipient - exists = scope:actor.imprisoner - } - scope:actor.imprisoner = { save_scope_as = recipient } - } - } - - is_shown = { - scope:actor = { - is_imprisoned_by = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } #Imprisoner - scope:actor = { is_busy_in_events_localised = yes } #Prisoner - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - on_accept = { - if = { - limit = { scope:actor = { is_imprisoned_by = scope:recipient } } - scope:actor = { - save_scope_as = prisoner - } - scope:recipient = { - save_scope_as = imprisoner - } - scope:actor = { - save_scope_as = payer - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - } - save_scope_value_as = { - name = new_ransom_value - value = haggler_ransom_cost_modifier - } - custom_tooltip = has_person_haggler_decrease_ransom_cost - } - - # If the payer doesn't have enough funds to pay the full amount and we're only requesting their current funds, save how much they've agreed to pay. - if = { - limit = { - OR = { - exists = scope:current_gold - exists = scope:extortionate_current_gold - } - } - save_scope_value_as = { - name = ransom_saved_gold_value - value = scope:payer.current_gold_value - } - } - - # Must come after we save the payment value, or the payer won't know how much they need to pay. - trigger_event = char_interaction.0150 - } - scope:imprisoner = { - if = { - limit = { - employs_court_position = person_haggler_camp_officer - is_asking_for_gold_in_ransom_trigger = yes - } - random_court_position_holder = { - type = person_haggler_camp_officer - save_scope_as = haggler - } - scope:actor = { - custom_tooltip = has_person_haggler_increase_ransom_cost - } - } - send_interface_message = { - type = event_prison_neutral - title = recipient_released_from_prison - right_icon = scope:prisoner - left_icon = scope:imprisoner - ransom_interaction_effect = yes - } - - # Struggle Catalyst - if = { - limit = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:prisoner - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_ransom_important - CHAR = scope:prisoner - } - } - activate_struggle_catalyst = { - catalyst = catalyst_ransom_important - character = scope:imprisoner - } - } - } - } - if = { - limit = { always = scope:hook } - scope:actor = { - use_hook = scope:recipient - } - } - } - } - - on_decline = { - # If a player declines this ransom offer, wait 10 years before sending another one (they presumably have reasons for keeping you in prison). - if = { - limit = { scope:recipient = { is_ai = no } } - scope:actor = { - add_character_flag = { - flag = character_ransom_refused_by_player - years = 10 - } - } - } - - # Trigger notification event - scope:actor = { - trigger_event = char_interaction.0151 - } - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - is_valid = { - scope:actor = { - gold >= increased_ransom_cost - } - } - flag = extortionate_gold - localization = "RANSOM_EXTORTIONATE_GOLD_IMPRISONED_PERSPECTIVE_OPTION" - } - - # If you don't have what they're worth, pay me what you have (extort version)! - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - scope:actor = { - gold < increased_ransom_cost - gold > 0 - } - } - flag = extortionate_current_gold - localization = "RANSOM_EXTORTIONATE_CURRENT_GOLD_IMPRISONED_PERSPECTIVE_OPTION" - } - - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - } - is_valid = { - scope:actor = { - gold >= ransom_cost - } - } - flag = gold - localization = "RANSOM_GOLD_OPTION" - } - - # If you don't have what they're worth, pay me what you have! - send_option = { - is_shown = { - exists = scope:recipient - scope:recipient = { - OR = { - is_lowborn = yes - NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } - } - } - } - scope:actor = { - gold < ransom_cost - gold > 0 - } - } - flag = current_gold - localization = "RANSOM_CURRENT_GOLD_OPTION" - } - - send_option = { - is_valid = { - scope:recipient = { - can_add_hook = { #To match the hook added through ransom_interaction_effect - target = scope:actor - type = favor_hook - } - } - } - flag = favor - localization = "RANSOM_FAVOR_OPTION" - } - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - - send_option = { # MPO Herd - is_shown = { # Actor must have a government that uses Herd - scope:actor = { - government_has_flag = government_is_nomadic - exists = domicile - } - # Recipient must care about Herd - scope:recipient = { - government_has_flag = government_is_nomadic - exists = domicile - } - } - is_valid = { - # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } - } - flag = herd_send_option - localization = PAY_FOR_BETTER_AI_ACCEPTANCE - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - localization_values = { - EXTORTIONATE_RANSOM_COST = scope:actor.increased_ransom_cost_value - RANSOM_COST = scope:actor.ransom_cost_value - CURRENT_GOLD = scope:actor.gold - RANSOM_HERD_COST = ransom_herd_value_actor - } - - ai_accept = { - base = 0 - modifier = { - add = 50 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - } - desc = "GOLD_POSITIVE_REASON" - } - - modifier = { # Accept more than half the ransom (unless greedy) - add = 25 - scope:current_gold = yes - AND = { - scope:actor = { gold >= half_ransom_cost_value } - NOT = { scope:recipient.ai_greed >= medium_positive_ai_value } - } - desc = "GOLD_POSITIVE_REASON" - } - - modifier = { # Accept more than half the ransom (unless greedy) - add = 25 - scope:extortionate_current_gold = yes - AND = { - scope:actor = { gold >= half_increased_ransom_cost_value } - NOT = { scope:recipient.ai_greed >= medium_positive_ai_value } - } - desc = "GOLD_POSITIVE_REASON" - } - - modifier = { - add = 50 - scope:favor = yes - scope:recipient.top_liege = scope:actor.top_liege - desc = "FAVOR_POSITIVE_REASON" - } - - modifier = { - add = -50 - scope:favor = yes - NOR = { - scope:gold = yes - scope:extortionate_gold = yes - } - OR = { - NOT = { scope:recipient.top_liege = scope:actor.top_liege } - scope:recipient.ai_greed >= medium_positive_ai_value - } - desc = "NO_USE_FOR_A_FAVOR_REASON" - } - - modifier = { # For clarification - add = 0 - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - OR = { - scope:actor = { gold < half_ransom_cost_value } - scope:recipient.ai_greed >= medium_positive_ai_value - } - desc = "WANTS_MORE_GOLD" - } - - #opinion_modifier = { # A lot more likely if Recipient likes Actor - # who = scope:recipient - # opinion_target = scope:actor - # multiplier = 1.0 - # desc = AI_OPINION_REASON - #} - - modifier = { # Say no to rivals - add = -55 - scope:recipient = { - has_relation_rival = scope:actor - } - desc = "ACTOR_RIVAL_TO_ME_REASON" - } - modifier = { # Say no to nemesis - add = -300 - scope:recipient = { - has_relation_nemesis = scope:actor - } - desc = "ACTOR_NEMESIS_TO_ME_REASON" - } - - - modifier = { # At war - add = -300 - scope:recipient = { - is_at_war_with = scope:actor - } - desc = "IS_AT_WAR_REASON" - } - - modifier = { - scope:hook = yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { # An Intimidated recipient is significantly more likely to accept an offer from the liege - add = intimidated_reason_value - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - desc = INTIMIDATED_REASON - } - - modifier = { # A Cowed recipient is significantly more likely to accept an offer from the liege - add = cowed_reason_value - trigger = { - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - desc = COWED_REASON - } - modifier = { # Family Feud - add = -50 - trigger = { - exists = scope:actor.house - exists = scope:recipient.house - scope:recipient = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:actor.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:actor.house.house_head - } - } - } - desc = INTERACTION_FAMILY_FEUD_REVERSE_REASON - } - - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - - modifier = { - add = 25 - scope:herd_send_option = yes - desc = HERD_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - # AI - ai_frequency = 24 - - ai_targets = { - ai_recipients = self - } - - ai_potential = { - always = yes - } - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - OR = { - scope:gold = yes - scope:extortionate_gold = yes - AND = { - scope:actor = { - gold >= 25 - } - OR = { - time_in_prison = { years > 1 } - has_trait = impatient #LET ME OUT! I want out! NOW! - } - OR = { - scope:current_gold = yes - scope:extortionate_current_gold = yes - } - } - scope:herd_send_option = yes - } - } - - modifier = { - add = 100 - scope:favor = yes - scope:recipient = { - OR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - - modifier = { - add = -100 - scope:favor = yes - scope:recipient = { - NOR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - - # Struggle Agenda - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_ransom_important - } - } - } - add = 200 - } - } - } - - modifier = { # Don't give away prisoners for free - factor = 0 - NOR = { - scope:favor = yes - scope:gold = yes - scope:extortionate_gold = yes - scope:current_gold = yes - scope:herd_send_option = yes - AND = { - scope:actor = { - gold >= 25 - } - scope:current_gold = yes - } - } - } - - modifier = { # Don't annoy players - factor = 0 - scope:recipient = { is_ai = no } - OR = { - scope:recipient = { is_at_war = yes } - scope:actor = { has_character_flag = character_ransom_refused_by_player } - } - } - - #don't do it if you are tied with a prison break contract, we don't want it invalidating all the time - modifier = { - factor = 0 - scope:actor = { - has_character_flag = being_prisonbroken_by_laamp - } - } - } -} - -release_from_prison_interaction = { - interface_priority = 30 - common_interaction = yes - category = interaction_category_prison - special_interaction = release_from_prison_interaction - icon = prison - - desc = release_from_prison_interaction_desc - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:demand_conversion = no - scope:renounce_claims = no - scope:banish = no - scope:take_vows = no - scope:recruit = no - scope:disfigure = no - scope:blind = no - scope:castrate = no - } - desc = RELEASE_PRISONER_OFFER - } - desc = RELEASE_PRISONER_OFFER_CONDITIONAL - } - } - - is_shown = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } #Prisoner - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - on_accept = { - if = { - limit = { scope:recipient = { has_character_modifier = allowed_to_go_outside } } - scope:recipient = { remove_character_modifier = allowed_to_go_outside } - } - if = { - limit = { scope:recipient = { has_character_modifier = moldy_gruel_diet } } - scope:recipient = { remove_character_modifier = moldy_gruel_diet } - } - if = { - limit = { scope:recipient = { is_imprisoned_by = scope:actor } } - - scope:recipient = { - # Demand Conversion - if = { - limit = { scope:demand_conversion = yes } - demand_conversion_interaction_effect = yes - add_opinion = { - modifier = demanded_my_conversion_opinion - target = scope:actor - } - - # Struggle Catalyst - if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_demanding_important_conversion - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_demanding_important_conversion - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_demanding_important_conversion - character = scope:actor - } - } - } - } - } - - # Banish Landed Character - if = { - limit = { - scope:banish = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - } - banish_effect = { BANISHER = scope:actor } - if = { - limit = { - NOT = { - scope:actor = { - has_banish_reason = scope:recipient - } - } - } - scope:actor = { add_tyranny = banishment_tyranny_gain } - } - add_opinion = { - modifier = banished_me - target = scope:actor - } - } - # Banish Unlanded Character - else_if = { - limit = { - AND = { - scope:banish = yes - scope:recipient = { - is_landless_adventurer = no - is_pool_character = no # It is possible for them to end up in the pool between the interaction being sent, and it being accepted - } - } - } - if = { - limit = { - this.gold > 0 - NOR = { - has_character_flag = realm_priest - has_character_flag = was_bookmaker - } - } - pay_short_term_gold = { target = scope:actor gold = this.gold } - } - if = { - limit = { - has_any_artifact = yes - } - every_character_artifact = { - set_owner = { - target = scope:actor - history = { - location = scope:recipient.location - actor = scope:recipient - recipient = scope:actor - type = stolen - } - } - scope:actor = { - if = { - limit = { - NOT = { has_variable = stolen_artifact } - } - set_variable = { - name = stolen_artifact - value = 1 - } - } - else = { - change_variable = { - name = stolen_artifact - add = 1 - } - } - } - } - } - banish = yes - add_opinion = { - modifier = banished_me - target = scope:actor - } - } - # 'Banish' Pool Character - else_if = { - limit = { - AND = { - scope:banish = yes - scope:recipient = { - is_playable_character = no - is_pool_character = yes # They'll just leave for the pool - } - } - } - if = { - limit = { - this.gold > 0 - } - pay_short_term_gold = { target = scope:actor gold = this.gold } - } - add_opinion = { - modifier = banished_me - target = scope:actor - } - } - - # Recruit Character - if = { - limit = { scope:recruit = yes } - if = { - limit = { - scope:actor = { - culture = { - has_cultural_parameter = can_recruit_prisoners_easily - } - } - } - add_opinion = { - modifier = loyal_servant - target = scope:actor - } - scope:actor = { - if = { - limit = { - can_add_hook = { - target = scope:recipient - type = loyalty_hook - } - } - add_hook = { - type = loyalty_hook - target = scope:recipient - } - } - } - } - else = { - add_opinion = { - modifier = demanded_recruitment - target = scope:actor - } - } - scope:actor = { - if = { - limit = { - AND = { - scope:actor.faith = { - has_doctrine = tenet_communal_possessions - } - scope:recipient = { - has_trait = peasant_leader - } - } - } - scope:actor = { - add_piety = medium_piety_gain - } - } - } - scope:actor = { - add_courtier = scope:recipient - } - } - - # Renounce Claims - if = { - limit = { scope:renounce_claims = yes } - add_opinion = { - modifier = demanded_claim_renouncement - target = scope:actor - } - scope:recipient = { - every_claim = { - explicit = yes - limit = { - save_temporary_scope_as = temp_claim - OR = { - holder = scope:actor - AND = { - exists = holder - NOT = { prev = { target_is_liege_or_above = scope:actor } } - holder = { target_is_liege_or_above = scope:actor } - } - scope:actor = { - any_held_title = { - is_de_jure_liege_or_above_target = scope:temp_claim - } - } - } - } - scope:recipient = { remove_claim = prev } - } - } - } - - # Gain Hook - if = { - limit = { scope:gain_hook = yes } - add_opinion = { - modifier = demanded_hook - target = scope:actor - } - scope:actor = { - add_hook = { #Hook effect must match gain_hook option condition - target = scope:recipient - type = favor_hook - } - } - } - - # Take Vows - if = { - limit = { scope:take_vows = yes } - send_child_to_clergy_effect = yes - #Does Byzan go hay-wire with deposing vassals? - if = { - limit = { - scope:actor = { - is_ai = yes - culture = { has_cultural_pillar = heritage_byzantine } - } - } - debug_log = debug_ai_byzan_forced_vows_on_prison_release - debug_log_scopes = yes - } - #Does the AI in general go haywire with deposing prisoners? - else_if = { - limit = { - scope:actor = { is_ai = yes } - } - debug_log = debug_ai_forced_vows_on_prison_release - debug_log_scopes = yes - } - } - - # Take Vows - if = { - limit = { scope:become_executioner = yes } - release_as_executioner_effect = yes - } - - # Disfigure - if = { - limit = { scope:disfigure = yes } - - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - blind_castrate_and_disfigure_effect = yes #Stress & dread - - show_as_tooltip = { - scope:recipient = { - add_trait = disfigured - } - } - - torture_blind_castrate_disfigure_opinion_effect = { VERB = disfigured } - - scope:actor = { - trigger_event = { - id = prison.1030 - days = 1 - } - } - } - - # Blind - if = { - limit = { scope:blind = yes } - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - blind_castrate_and_disfigure_effect = yes #Stress & dread - - show_as_tooltip = { - scope:recipient = { - add_trait = blind - } - } - - # Merciful Blindings - scope:actor = { - if = { - limit = { - culture = { has_cultural_parameter = merciful_blinding } - OR = { - has_execute_reason = scope:recipient - has_banish_reason = scope:recipient - } - } - add_piety = medium_piety_gain - } - } - - torture_blind_castrate_disfigure_opinion_effect = { VERB = blinded } - - scope:actor = { - trigger_event = { - id = prison.1020 - days = 1 - } - } - - # If we're a clan this interaction affects unity - if = { - limit = { scope:actor.culture = { has_cultural_parameter = merciful_blinding } } # If actor's culture has Merciful Blindings, they lose less unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - # Castrate - if = { - limit = { scope:castrate = yes } - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - blind_castrate_and_disfigure_effect = yes #Stress & dread - - show_as_tooltip = { - scope:recipient = { - if = { - limit = { - age < 12 - } - ep3_child_castration_effect = yes - } - else = { - ep3_youth_castration_effect = yes - } - } - } - - torture_blind_castrate_disfigure_opinion_effect = { VERB = castrated } - - scope:actor = { - trigger_event = { - id = prison.1025 - days = 1 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_abelarding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # No Demands Added - if = { - limit = { - scope:demand_conversion = no - scope:renounce_claims = no - scope:banish = no - scope:gain_hook = no - scope:take_vows = no - scope:become_executioner = no - scope:recruit = no - scope:disfigure = no - scope:blind = no - scope:castrate = no - } - # Notification to the imprisoner - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = recipient_released_from_prison - left_icon = scope:recipient - scope:recipient = { - add_opinion = { - modifier = released_from_prison - target = scope:actor - } - } - } - scope:actor = { - add_dread = minor_dread_loss - stress_impact = { - sadistic = medium_stress_impact_gain - callous = minor_stress_impact_gain - } - } - # Struggle impact - if = { - limit = { - any_character_struggle = { - involvement = involved - OR = { - has_struggle_phase_parameter = release_prisoner_diff_culture_gives_prestige - has_struggle_phase_parameter = release_prisoner_diff_faith_gives_prestige - } - } - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - } - add_prestige = medium_prestige_gain - } - - # Struggle Catalyst - if = { - limit = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_release_important - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_release_important - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_release_important - character = scope:actor - } - } - } - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_release_supporter_detractor - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_release_supporter_detractor - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_release_supporter_detractor - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_release_supporter_detractor } - } - } - } - - # If we're a clan (and not making any demands) this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_released_from_own_prison.desc - REVERSE_NON_HOUSE_TARGET = no - } - - # LEGITIMACY GAIN FROM RELEASING DUKES AND ABOVE - if = { - limit = { - exists = scope:recipient.primary_title - scope:recipient.primary_title.tier >= tier_duchy - } - # Minus 2, since we want Duchy to be 1, and it's normally 3 - save_scope_value_as = { - name = title_tier_minus_2 - value = { - value = scope:recipient.primary_title.tier - subtract = 2 - } - } - scope:actor = { - send_interface_toast = { - type = msg_legitimacy_gain - title = legitimacy_gain_toast - left_icon = scope:actor - right_icon = scope:recipient - add_legitimacy = { - value = { - value = miniscule_legitimacy_gain - multiply = scope:title_tier_minus_2 - } - } - } - } - } - } - else = { - scope:actor = { - trigger_event = char_interaction.0160 - } - } - - # If a child was imprisoned due to yearly_4021 they'll come back to say hi - if = { - limit = { - exists = var:marked_for_revenge_in_event_yearly_4021 - } - add_opinion = { - modifier = abandoned_me_opinion - target = var:marked_for_revenge_in_event_yearly_4021 - } - if = { - limit = { - var:marked_for_revenge_in_event_yearly_4021 = { - is_alive = yes - is_ai = no - } - } - save_scope_as = child - if = { - limit = { #Make sure they're sadistic! - NOT = { has_trait = sadistic } - number_of_personality_traits < personality_trait_limit - } - add_trait = sadistic - } - var:marked_for_revenge_in_event_yearly_4021 = { - add_character_flag = { #TO make sure that they don't get spammed about the release - flag = block_for_prison_release_notification - days = 10 - } - trigger_event = yearly.4022 - } - remove_variable = marked_for_revenge_in_event_yearly_4021 - } - } - - if = { - limit = { - is_imprisoned = yes - # Release is handled in follow-up events - scope:disfigure = no - scope:blind = no - scope:castrate = no - } - release_from_prison = yes - } - } - - # FP3 - If prisoner is important for war - scope:actor = { # FP3 - if = { - limit = { - exists = scope:recipient.house - any_character_war = { - using_cb = fp3_free_house_member_cb - is_defender = scope:actor - primary_attacker.house = scope:recipient.house - } - } - random_character_war = { - limit = { - using_cb = fp3_free_house_member_cb - is_defender = scope:actor - primary_attacker.house = scope:recipient.house - } - primary_attacker = { - hidden_effect = { - send_interface_message = { - type = event_war_good - title = lesson_war_final_notes_victory_step_1 - left_icon = scope:recipient - right_icon = scope:actor - - show_as_tooltip = { - scope:recipient = { release_from_prison = yes } - add_prestige = major_prestige_gain - prev.primary_defender = { add_prestige = major_prestige_loss } - } - } - } - add_prestige = major_prestige_gain - prev.primary_defender = { add_prestige = major_prestige_loss } - } - } - } - } - } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0161 - } - } - - send_option = { - flag = demand_conversion - localization = "RELEASE_DEMAND_CONVERSION" - is_shown = { - NOT = { scope:recipient.faith = scope:actor.faith } - } - is_valid = { - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_vassal_of = scope:actor - } - } - } - - # Cannot ask Landed Rulers to convert if they're not your vassal - custom_description = { - text = cannot_demand_unsubordinate_landed_ruler_conversion - scope:recipient = { - trigger_if = { - limit = { - is_playable_character = yes - } - is_vassal_or_below_of = scope:actor - } - } - } - - # Cannot ask Religious Heads to convert - custom_description = { - text = cannot_demand_religious_head_conversion - NOT = { - AND = { - exists = scope:recipient.faith.religious_head - scope:recipient.faith.religious_head = scope:recipient - } - } - } - # Cannot ask Holy Order Master to convert - custom_description = { - text = cannot_demand_holy_order_master_conversion - NAND = { - exists = scope:recipient.faith - scope:recipient.faith = { - any_faith_holy_order = { leader = scope:recipient } - } - } - } - } - } - - send_option = { - flag = renounce_claims - localization = RELEASE_RENOUNCE_CLAIMS - is_shown = { - custom_description = { - text = "release_renounce_claims" - subject = scope:recipient - scope:recipient = { - any_claim = { - explicit = yes - save_temporary_scope_as = temp_claim - OR = { - holder = scope:actor - AND = { - NOT = { prev = { target_is_liege_or_above = scope:actor } } - trigger_if = { - limit = { - exists = holder - } - holder = { target_is_liege_or_above = scope:actor } - } - } - scope:actor = { - any_held_title = { - is_de_jure_liege_or_above_target = scope:temp_claim - } - } - } - } - } - } - } - current_description = { - desc = RELEASE_RENOUNCE_CLAIMS_DESC - } - } - - send_option = { - flag = banish - localization = "RELEASE_BANISH" - is_shown = { - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:recipient = { - OR = { - AND = { - is_playable_character = no - is_ruler = no - gold > scope:actor.gold - gold > scope:actor.medium_gold_value - scope:actor.ai_greed > low_negative_ai_value - } - AND = { - is_playable_character = no - is_ruler = no - gold > 0 - scope:actor = { - has_banish_reason = scope:recipient - } - } - AND = { - is_playable_character = no - is_ruler = no - gold > 100 - scope:actor.ai_greed >= high_positive_ai_value - } - AND = { - scope:actor = { - has_banish_reason = scope:recipient - } - scope:actor = { - opinion = { - target = scope:recipient - value <= medium_negative_opinion - } - } - } - } - } - } - trigger_if = { - limit = { - scope:recipient = { - is_playable_character = yes - } - } - scope:recipient = { - is_vassal_of = scope:actor - } - } - trigger_else = { - scope:recipient = { - is_courtier_of = scope:actor - } - } - custom_description = { - text = "release_banish_invalid_take_vows" - object = scope:recipient - scope:take_vows = no - } - scope:recruit = no #Should be impossible to have both but just in case - NOT = { - scope:recipient = { - is_spouse_of = scope:actor - } - } - } - } - - send_option = { - flag = gain_hook - localization = "RELEASE_GAIN_HOOK" - is_shown = { - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:recipient = { - OR = { - is_vassal_of = scope:actor - AND = { - exists = liege - liege = scope:actor - } - } - } - } - } - is_valid = { - scope:actor = { - can_add_hook = { - type = favor_hook #Matches the hook added in the on_accept - target = scope:recipient - } - } - } - } - - send_option = { - flag = take_vows - localization = "RELEASE_TAKE_VOWS" - is_shown = { - scope:actor.faith = { - has_doctrine_parameter = take_vows_active - } - } - is_valid = { - #Handle AI - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - #We're AI and Byzantium - trigger_if = { - limit = { - scope:actor = { - culture = { has_cultural_pillar = heritage_byzantine } - } - } - scope:recipient = { - is_ai = yes #Not gonna depose player characters, for now - OR = { - is_close_or_extended_family_of = scope:actor - is_vassal_or_below_of = scope:actor #Weigh this for Byz AI in the modifiers below - has_relation_rival = scope:actor - is_courtier_of = scope:actor - } - NOT = { - is_heir_of = scope:actor - } - } - #Get rid of rivals despite potentially liking them - trigger_if = { - limit = { - scope:recipient = { has_relation_rival = scope:actor } - } - always = yes - } - #Only get rid of family members if we dislike them - trigger_else = { - scope:actor = { - opinion = { - target = scope:recipient - value <= medium_negative_opinion - } - } - } - } - #We're not Byzantium but plain AI - trigger_else = { - scope:recipient = { - is_ai = yes #Not gonna depose player characters, for now - is_close_or_extended_family_of = scope:actor - NOT = { - is_heir_of = scope:actor - } - } - scope:actor = { - opinion = { - target = scope:recipient - value <= medium_negative_opinion - } - } - custom_description = { - text = "release_vows_invalid_not_your_court" - object = scope:recipient - subject = scope:actor - OR = { - scope:recipient = { is_courtier_of = scope:actor } - scope:recruit = yes - } - } - } - } - #Enhanced Take the Vows for Byzantium players -- who do we want to boot to a monastery far, far away? - trigger_else_if = { - limit = { - scope:actor = { - culture = { has_cultural_pillar = heritage_byzantine } - } - } - scope:recipient = { - is_ai = yes #Not gonna depose player characters, for now - custom_description = { - text = "release_byz_vows_invalid" - object = scope:recipient - subject = scope:actor - OR = { - is_close_or_extended_family_of = scope:actor - is_vassal_or_below_of = scope:actor - has_relation_rival = scope:actor - is_courtier_of = scope:actor - } - } - } - } - #Otherwise standard procedure Take the Vows requirements - trigger_else = { - scope:recipient = { - is_ai = yes #Not gonna depose player characters, for now - } - scope:actor = { is_close_or_extended_family_of = scope:recipient } #Triggering I_AM_NOT instead of CHARACTER_IS_NOT makes the tooltip look less cursed - custom_description = { - text = "release_vows_invalid_not_your_court" - object = scope:recipient - subject = scope:actor - OR = { - scope:recipient = { is_courtier_of = scope:actor } - scope:recruit = yes - } - } - - } - custom_description = { - text = "release_vows_invalid_not_your_faith" - object = scope:recipient - subject = scope:actor - trigger_if = { - limit = { - NOT = { scope:recipient.faith = scope:actor.faith } - } - scope:demand_conversion = yes - } - } - custom_description = { - text = "release_executioner_invalid_take_vows_condition" - object = scope:recipient - scope:become_executioner = no - } - custom_description = { - text = "release_banish_invalid_take_vows" - object = scope:recipient - scope:banish = no - } - scope:recipient = { - age >= 10 - NOR = { - has_trait = excommunicated - has_trait = devoted - has_trait = incapable - } - #Do they have the "wrong" marriage type? - NOR = { - custom_description = { - text = is_married_matrilineally - subject = scope:recipient - any_spouse = { - is_female = yes - matrilinear_marriage = yes - } - } - custom_description = { - text = is_married_patrilineally - subject = scope:recipient - any_spouse = { - is_male = yes - patrilinear_marriage = yes - } - } - custom_description = { - text = matrilinear_betrothal - subject = scope:recipient - exists = betrothed - betrothed = { - is_female = yes - matrilinear_betrothal = yes - } - } - custom_description = { - text = patrilinear_betrothal - subject = scope:recipient - exists = betrothed - betrothed = { - is_male = yes - patrilinear_betrothal = yes - } - } - } - } - } - } - send_option = { - flag = become_executioner - localization = "RELEASE_AS_EXECUTIONER" - is_shown = { - has_ep1_court_positions_dlc_trigger = yes - scope:actor = { - has_royal_court = yes - } - scope:recipient = { - is_adult = yes - } - } - is_valid = { - scope:actor = { - NOT = { employs_court_position = executioner_court_position } - } - scope:recipient = { - trigger_if = { - limit = { scope:recruit = yes } - custom_description = { - text = "release_executioner_invalid_recruit" - object = scope:recipient - scope:recruit = yes - } - } - trigger_else = { - is_courtier_of = scope:actor - } - - custom_description = { - text = "release_executioner_invalid_take_vows_condition" - object = scope:recipient - scope:take_vows = no - } - NOT = { is_spouse_of = scope:actor } - } - } - } - - send_option = { - flag = recruit - localization = "RELEASE_RECRUIT" - is_shown = { - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:recipient = { - OR = { - has_relation_best_friend = scope:actor - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_secret_relation_lover = scope:actor - is_heir_of = scope:actor - } - } - } - scope:recipient = { - is_ruler = no - NOT = { is_courtier_of = scope:actor } - OR = { - is_adult = yes - AND = { - is_adult = no - OR = { - trigger_if = { - limit = { exists = liege } - NOT = { is_heir_of = liege } - } - NOT = { exists = liege } - } - } - } - } - } - } - - send_option = { - flag = disfigure - localization = "RELEASE_DISFIGURE" - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - culture = { has_cultural_tradition = tradition_ep3_palace_politics } - # If they're our partner emperor, we should use the maiming interaction instead. - liege_should_systematically_maim_co_ruler_trigger = no - } - scope:recipient = { - is_adult = yes - } - } - is_valid = { - scope:recipient = { - NOT = { has_trait = disfigured } - } - # Byzantines can't disfigure those not in their realm - trigger_if = { - limit = { - scope:actor = { - culture = { has_cultural_pillar = heritage_byzantine } - } - } - scope:recipient = { - custom_description = { - text = "release_byz_disfigure_invalid" - object = scope:recipient - subject = scope:actor - OR = { - is_close_or_extended_family_of = scope:actor - is_vassal_or_below_of = scope:actor - has_relation_rival = scope:actor - is_courtier_of = scope:actor - } - } - } - } - custom_description = { - text = "release_prisoner_disfigure_blind_castrate_condition" - object = scope:recipient - scope:blind = no - scope:castrate = no - } - } - } - - send_option = { - flag = blind - localization = "RELEASE_BLIND" - is_shown = { - scope:actor = { - is_adult = yes - culture = { has_cultural_parameter = can_blind_prisoners } - # If they're our partner emperor, we should use the maiming interaction instead. - liege_should_systematically_maim_co_ruler_trigger = no - } - scope:recipient = { - is_adult = yes - } - } - is_valid = { - scope:recipient = { - NOT = { has_trait = blind } - } - custom_description = { - text = "release_prisoner_disfigure_blind_castrate_condition" - object = scope:recipient - scope:disfigure = no - scope:castrate = no - } - } - } - - send_option = { - flag = castrate - localization = "RELEASE_CASTRATE" - is_shown = { - scope:recipient = { - is_imprisoned_by = scope:actor - is_eunuch_trigger = no - is_male = yes - } - scope:actor = { - is_adult = yes - culture = { - has_cultural_parameter = can_castrate_prisoners - } - # If they're our partner emperor, we should use the maiming interaction instead. - liege_should_systematically_maim_co_ruler_trigger = no - } - } - is_valid = { - scope:recipient = { - is_eunuch_trigger = no - } - custom_description = { - text = "release_prisoner_disfigure_blind_castrate_condition" - object = scope:recipient - scope:disfigure = no - scope:blind = no - } - } - } - - send_options_exclusive = no - - auto_accept = { - scope:demand_conversion = no - scope:renounce_claims = no - scope:banish = no - scope:gain_hook = no - scope:take_vows = no - scope:recruit = no - } - - ai_accept = { - base = 0 - modifier = { - add = 100 - desc = "WANTS_FREEDOM_REASON" - } - modifier = { - trigger = { - scope:recipient = { ai_zeal <= 20 } - scope:demand_conversion = yes - } - add = -20 - desc = "CONVERSION_NEGATIVE_REASON" - } - modifier = { - trigger = { - scope:recipient = { ai_zeal > 20 } - scope:demand_conversion = yes - } - add = { - value = ai_zeal - if = { - limit = { - scope:recipient.faith = { - faith_hostility_level = { - target = scope:actor.faith - value = faith_astray_level - } - } - } - multiply = -1 - } - else = { - multiply = -2 - } - } - desc = "CONVERSION_NEGATIVE_REASON" - } - modifier = { - add = -25 - trigger = { - scope:renounce_claims = yes - ai_greed < 0 - } - desc = "RENOUNCE_CLAIMS_REASON" - } - modifier = { - add = -50 - trigger = { - scope:renounce_claims = yes - ai_greed >= 0 - ai_greed < 26 - } - desc = "RENOUNCE_CLAIMS_REASON" - } - modifier = { - add = -50 - trigger = { - scope:become_executioner = yes - # Sadists don't care about becoming an executioner - NOR = { - has_trait = sadistic - has_trait = callous - } - } - desc = "BECOME_EXECUTIONER_REASON" - } - modifier = { - add = -75 - trigger = { - scope:renounce_claims = yes - ai_greed >= 26 - ai_greed < 51 - } - desc = "RENOUNCE_CLAIMS_REASON" - } - modifier = { - add = -95 - trigger = { - scope:renounce_claims = yes - ai_greed >= 51 - } - desc = "RENOUNCE_CLAIMS_REASON" - } - modifier = { - add = -50 - trigger = { - scope:banish = yes - } - NOT = { - scope:actor = { - has_imprisonment_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - } - desc = "BANISH_NEGATIVE_REASON" - } - modifier = { # Legalistic tradition - add = legalistic_vassal_punishment_acceptance - trigger = { - scope:banish = yes - } - scope:actor = { - has_imprisonment_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - desc = tradition_legalistic_name - } - modifier = { - add = { - value = -50 - if = { - limit = { - scope:recipient = { - ai_vengefulness > 0 - } - } - subtract = ai_vengefulness - } - } - trigger = { - scope:gain_hook = yes - } - desc = "GAIN_HOOK_NEGATIVE_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - } - desc = "TAKE_VOWS_NEGATIVE_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = lustful - } - desc = "TAKE_VOWS_LUSTFUL_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = rakish - } - desc = "TAKE_VOWS_RAKISH_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = fornicator - } - desc = "TAKE_VOWS_FORNICATOR_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = seducer - } - desc = "TAKE_VOWS_SEDUCER_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = deviant - } - desc = "TAKE_VOWS_DEVIANT_REASON" - } - modifier = { - add = { - value = -15 - multiply = num_sinful_traits - } - trigger = { - scope:take_vows = yes - num_sinful_traits > 1 - } - desc = "TAKE_VOWS_SINS_REASON" - } - modifier = { - add = -30 - trigger = { - scope:take_vows = yes - has_trait = cynical - } - desc = "TAKE_VOWS_CYNICAL_REASON" - } - modifier = { - add = -10 - trigger = { - scope:recruit = yes - NOT = { - scope:actor = { - culture = { - has_cultural_parameter = can_recruit_prisoners_easily - } - } - } - } - desc = "RECRUITMET_NEGATIVE_REASON" - } - # Struggle - modifier = { - trigger = { - scope:demand_conversion = no - scope:renounce_claims = no - scope:banish = no - scope:gain_hook = no - scope:take_vows = no - scope:recruit = no - } - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_release_important - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_release_important - } - } - } - add = 200 - } - } - } - } - - # AI - ai_targets = { - ai_recipients = prisoners - } - ai_frequency = 1 - - ai_potential = { - has_prisoners = yes - } - - ai_will_do = { - base = 0 - - modifier = { - add = 20 - scope:demand_conversion = yes - } - modifier = { - add = 100 - scope:demand_conversion = yes - scope:recipient = { - is_vassal_of = scope:actor - } - } - modifier = { - add = 30 - scope:renounce_claims = yes - } - modifier = { - add = 50 - scope:banish = yes - } - modifier = { - add = 30 - scope:take_vows = yes - } - modifier = { - add = 10 - scope:recruit = yes - } - modifier = { - add = 30 - scope:disfigure = yes - } - modifier = { - add = 20 - scope:blind = yes - } - modifier = { - add = 50 - scope:castrate = yes - } - modifier = { # Rivals can rot - add = -40 - scope:actor = { - NOT = { - has_trait = forgiving - } - } - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - scope:recipient = { - is_spouse_of = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - } - } - } - modifier = { # Rivals can rot FOREVER if vengeful - add = -100 - scope:actor = { - NOT = { - has_trait = forgiving - } - } - scope:actor.ai_vengefulness >= very_high_positive_ai_value - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - scope:recipient = { - is_spouse_of = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - } - } - } - modifier = { # Compassionate characters don't want to keep children in their dungeon for too long - add = 10 - scope:actor = { - is_at_war = no - ai_compassion >= low_positive_ai_value - } - scope:recipient = { - is_adult = no - time_in_prison = { years > 1 } - } - } - modifier = { # Very compassionate characters tend to release prisoners - add = 10 - scope:actor = { - is_at_war = no - ai_compassion >= very_high_positive_ai_value - } - scope:recipient = { - time_in_prison = { years > 1 } - } - } - modifier = { # Somewhat compassionate characters tend to keep people in their dungeon for a while - add = 10 - scope:actor = { - is_at_war = no - ai_compassion >= medium_positive_ai_value - } - scope:recipient = { - is_playable_character = no - time_in_prison = { years > 3 } - } - } - modifier = { # Only truly discompassionate characters will have their dungeon full of hapless victims after 5 years - add = 10 - scope:actor = { - is_at_war = no - ai_compassion >= low_negative_ai_value - } - scope:recipient = { - is_playable_character = no - time_in_prison = { years > 5 } - } - } - modifier = { # Most AI characters will let family out... - add = 10 - scope:actor = { - is_at_war = no - OR = { - ai_compassion >= very_high_positive_ai_value - AND = { - ai_compassion >= high_negative_ai_value - opinion = { - target = scope:recipient - value >= low_negative_opinion - } - } - } - } - scope:recipient = { - time_in_prison = { years > 1 } - is_playable_character = no - is_close_family_of = scope:actor - } - } - modifier = { # Almost all will let their own children out - add = 40 - scope:actor = { - is_at_war = no - ai_compassion >= very_high_negative_ai_value - } - scope:recipient = { - is_playable_character = no - is_child_of = scope:actor - } - } - # Struggle - modifier = { - trigger = { - scope:demand_conversion = no - scope:renounce_claims = no - scope:banish = no - scope:gain_hook = no - scope:take_vows = no - scope:recruit = no - } - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_release_important - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_release_important - } - NOT = { - ai_greed >= 25 - } - OR = { - ai_compassion > 50 - AND = { - ai_compassion > 0 - scope:recipient = { - time_in_prison = { years > 1 } - } - } - } - } - } - add = 200 - } - } - } - modifier = { # Family Feud - add = -50 - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - } - #Byz AI can shove vassals off to remote monasteries - weigh that here - modifier = { - add = -10 - scope:take_vows = yes - scope:actor = { - culture = { has_cultural_pillar = heritage_byzantine } - } - scope:recipient = { is_vassal_or_below_of = scope:actor } - } - - evaluate_action_increasing_house_unity = { - VALUE = 100 - } - #don't release prisoners that are tied with a prison break contract, we don't want it invalidating all the time - modifier = { - factor = 0 - scope:recipient = { - has_character_flag = being_prisonbroken_by_laamp - } - } - } -} - -execute_prisoner_interaction = { - interface_priority = 120 - common_interaction = yes - category = interaction_category_prison - special_interaction = execute_prisoner_interaction - icon = icon_dead - - desc = execute_prisoner_interaction_desc - - ai_targets = { - ai_recipients = prisoners - } - - ai_frequency = 12 - - ai_potential = { - is_at_war = no - } - - ai_will_do = { - base = 0 - - opinion_modifier = { - trigger = { - NOT = { scope:actor = scope:recipient } - } - opinion_target = scope:recipient - multiplier = -1 - } - - ai_value_modifier = { - ai_compassion = -1 - } - modifier = { - add = -20 - ai_compassion >= low_positive_ai_value - scope:recipient = { is_adult = no } - } - # Try to avoid Kinslaying - modifier = { - add = -20 - scope:actor.dynasty = scope:recipient.dynasty - NOT = { faith = { has_doctrine = doctrine_kinslaying_any_dynasty_member_crime } } - } - modifier = { - add = -20 - is_close_or_extended_family_of = scope:recipient - NOT = { faith = { has_doctrine = doctrine_kinslaying_extended_family_crime } } - } - modifier = { - add = -20 - is_close_family_of = scope:recipient - NOT = { faith = { has_doctrine = doctrine_kinslaying_close_kin_crime } } - } - modifier = { - add = 50 - has_execute_reason = scope:recipient - OR = { - has_trait = sadistic - has_trait = lunatic - } - } - modifier = { # Executing your way to new titles is a worthy cause... - add = 20 - scope:actor = { - has_execute_reason = scope:recipient - ai_greed > 0 - any_heir_title = { # Execute rulers you can inherit land from - exists = holder - holder = scope:recipient - } - } - } - modifier = { # Vengeful characters enjoy executing their rivals - add = 20 - scope:actor = { - has_execute_reason = scope:recipient - ai_vengefulness >= medium_positive_ai_value - OR = { - has_relation_rival = scope:recipient # Execute rivals - has_relation_nemesis = scope:recipient # Execute rivals - scope:recipient = { - is_spouse_of = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - } - } - } - modifier = { # Executing your way to new titles is a worthy cause... and very greedy characters need no execution reason - add = 35 - scope:actor = { - ai_greed >= very_high_positive_ai_value - any_heir_title = { # Execute rulers you can inherit land from - exists = holder - holder = scope:recipient - } - } - } - modifier = { # Vengeful characters enjoy executing their rivals, and very vengeful characters need no execution reason - add = 35 - scope:actor = { - ai_vengefulness >= very_high_positive_ai_value - OR = { - has_relation_rival = scope:recipient # Execute rivals - has_relation_nemesis = scope:recipient # Execute rivals - scope:recipient = { - is_spouse_of = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - } - } - } - #Scope:target has caused internal strife in the realm - character_hates_scope_due_to_strife_modifier = { TARGET = scope:recipient } - modifier = { - factor = 0 - scope:actor = { - NOR = { # Do not execute unless you have some sort of reason to do it - has_execute_reason = scope:recipient - has_relation_rival = scope:recipient # Execute rivals - has_relation_nemesis = scope:recipient # Execute rivals - scope:recipient = { - is_spouse_of = scope:actor - exposed_cheating_on_spouse_trigger = { SPOUSE = scope:actor } - } - any_heir_title = { # Execute rulers you can inherit land from - exists = holder - holder = scope:recipient - } - has_trait = lunatic # Self explanatory - } - } - } - - # Agenda impact - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - is_important_or_vip_struggle_character = yes - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_important - } - has_character_flag = agenda_towards_escalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_important - } - } - } - add = -100 - } - } - } - - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - has_trait = fp3_struggle_supporter - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_supporter - } - has_trait = fp3_struggle_detractor - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_supporter - } - } - } - add = -100 - } - } - } - - #Nomads get the special beheading stuff - modifier = { - scope:actor = { - mpo_keep_prisoners_heads_trigger = yes - scope:recipient = { - is_ruler = yes - highest_held_title_tier >= tier_county - is_adult = yes - } - NOT = { - scope:recipient.top_liege ?= { - current_military_strength > scope:actor.current_military_strength - tier_difference = { - target = scope:actor - value >= -1 - } - } - } - } - NOT = { - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - add = 10 - } - #Boost further if actor if want to keep head - modifier = { - #want to keep head - scope:actor = { - mpo_keep_prisoners_heads_trigger = yes - } - scope:recipient = { - highest_held_title_tier >= tier_kingdom - is_adult = yes - } - NOT = { - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - add = 20 - } - #Boost further if actor wants to be scary - modifier = { - #want to keep head - scope:actor = { - mpo_keep_prisoners_heads_trigger = yes - scope:recipient = { - is_ruler = yes - highest_held_title_tier >= tier_county - is_adult = yes - } - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - is_gurkhan = yes - } - } - NOT = { - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - add = 30 - } - - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - has_trait = fp3_struggle_detractor - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_detractor - } - has_trait = fp3_struggle_supporter - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_execute_detractor - } - } - } - add = -100 - } - } - } - #don't kill prisoners that are tied with a prison break contract, we don't want it invalidating all the time - modifier = { - factor = 0 - scope:recipient = { - has_character_flag = being_prisonbroken_by_laamp - } - } - } - - is_shown = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } #Prisoner - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - - # Blocked by current struggle phase - custom_tooltip = { - text = struggle_parameter_struggle_cannot_execute_involved_prisoners - NOT = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_cannot_execute_involved_prisoners - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - } - } - - # For use with co-ruler diarchs. - scope:recipient = { is_imprisoned_by = scope:actor } - } - - cost = { - # Usually, this action is free, but during certain diarchies, we want it to cost. - prestige = liege_diarchy_surcharge_interaction_execute_prisoner_interaction_value - } - - on_accept = { - # If this is a co-ruler we're executing, tell us if we have alternatives. - scope:actor = { - if = { - limit = { - OR = { - AND = { - has_diarchy_active_parameter = diarchy_is_co_rulership - diarch ?= scope:recipient - } - AND = { - scope:recipient = { has_diarchy_active_parameter = diarchy_is_co_rulership } - is_diarch_of_target = scope:recipient - } - } - } - # If the player doesn't have to execute their partner, point that out. - if = { - limit = { liege_can_maim_co_ruler_without_killing_them_trigger = yes } - custom_tooltip = execute_prisoner_interaction.tt.can_maim_diarch - } - # Otherwise, if they're out diarch, we end it. - if = { - limit = { scope:actor.diarch = scope:recipient } - end_diarchy = yes - every_player = { - limit = { - NOR = { - this = scope:actor - this = scope:recipient - } - top_liege = scope:actor.top_liege - } - trigger_event = diarchy.8022 - } - } - # Else, usurp. - else = { - custom_description_no_bullet = { - text = execute_prisoner_interaction_tt_co_emperor_usurpation - object = scope:recipient - } - create_title_and_vassal_change = { - type = usurped - save_scope_as = change - } - scope:recipient = { - every_held_title = { - limit = { - OR = { - this = scope:recipient.capital_county - this = scope:recipient.capital_county.duchy - AND = { - tier = tier_county - this.duchy = scope:recipient.capital_county.duchy - } - tier >= scope:recipient.highest_held_title_tier - } - } - change_title_holder = { - holder = scope:actor - change = scope:change - } - } - every_vassal = { - custom = custom.recipient_every_vassal - change_liege = { - LIEGE = scope:actor - CHANGE = scope:change - } - } - hidden_effect = { - change_liege = { - LIEGE = scope:actor - CHANGE = scope:change - } - } - } - resolve_title_and_vassal_change = scope:change - every_player = { - limit = { - NOR = { - this = scope:actor - this = scope:recipient - } - top_liege = scope:actor.top_liege - } - trigger_event = diarchy.8023 - } - } - } - # Regardless, this is legit politics, so we don't deduct legitimacy for it. - save_scope_value_as = { - name = suppress_legitimacy_from_crime - value = yes - } - } - # Now, the rest of it. - if = { - limit = { scope:recipient = { is_imprisoned_by = scope:actor } } - # Are you HumSac'ing the HoF of a faith that doesn't practice HumSac? - hidden_effect = { - scope:actor = { - humsacd_a_hof_effect = { - SACRIFICER = scope:actor - SACRIFICED_HOF = scope:recipient - } - } - } - if = { - limit = { always = scope:execution_public } - if = { - limit = { - scope:actor.capital_county = { - NOT = { has_county_modifier = held_public_execution_modifier } - } - } - custom_description_no_bullet = { - text = public_execution_tooltip - } - - scope:actor = { - capital_county = { - add_county_modifier = { - modifier = held_public_execution_modifier - days = 1850 - } - } - custom_tooltip = public_execution_control_effect - hidden_effect = { - every_held_title = { - limit = { - tier = tier_county - } - change_county_control = executioner_control_value - } - } - } - } - else = { - custom_description_no_bullet = { - text = public_execution_too_soon_tooltip - } - } - } - # Other Effects - if = { # Boil their skull? - limit = { - NOT = { always = scope:execution_devour } - scope:actor = { - has_relation_rival = scope:recipient - has_personality_malicious_trigger = yes - has_royal_court = yes - has_dlc_feature = court_artifacts - } - scope:recipient = { - is_adult = yes - } - } - scope:actor = { - random = { - chance = { - value = 25 - if = { - limit = { - has_relation_nemesis = scope:recipient - } - add = 75 - } - } - hidden_effect = { - scope:recipient = { - save_scope_as = skull_to_boil - } - trigger_event = { - id = artifact.7000 - days = { 3 10 } - } - } - } - } - } - if = { - limit = { - NOT = { always = scope:execution_devour } - scope:actor = { - is_adult = no - age >= 4 - is_ai = no - NOT = { has_character_flag = witnessed_execution_flag } - } - scope:recipient = { - is_adult = yes - } - } - scope:actor = { trigger_event = bp1_yearly.9045 } - } - else_if = { - limit = { - NOT = { always = scope:execution_devour } - scope:actor = { - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - } - is_ai = no - } - scope:recipient = { - is_adult = yes - } - } - scope:actor = { trigger_event = bp1_yearly.9044 } - } - # Gallowsbait. - scope:actor = { - if = { - limit = { - is_landless_adventurer = yes - scope:recipient = { - is_landless_adventurer = no - is_ruler = yes - } - } - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_empire } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_massive_gain - XP_MIN = gallowsbait_xp_massive_gain - } - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_kingdom } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_duchy } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_barony } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - else = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = 2 - XP_MIN = 2 - } - } - } - } - - # FP3 - # Struggle Catalysts - scope:actor = { - if = { # Execute important - limit = { - scope:recipient = { is_important_or_vip_struggle_character = yes } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_important - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_important - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_execute_important - character = scope:actor - } - } - } - if = { # Execute Supporter/Detractor - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - } - if = { - limit = { - scope:recipient = { has_trait = fp3_struggle_detractor } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_detractor - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_detractor - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_execute_detractor - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_execute_detractor } - } - } - else_if = { - limit = { - scope:recipient = { has_trait = fp3_struggle_supporter } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_supporter - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_execute_supporter - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_execute_supporter - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_execute_supporter } - } - } - } - # Free House Member CB target executed during war - if = { - limit = { - exists = scope:recipient.house - any_character_war = { - using_cb = fp3_free_house_member_cb - is_defender = scope:actor - primary_attacker.house = scope:recipient.house - } - } - random_character_war = { - limit = { - using_cb = fp3_free_house_member_cb - is_defender = scope:actor - primary_attacker.house = scope:recipient.house - } - primary_attacker = { - add_opinion = { - target = scope:actor - modifier = executed_close_relation_opinion - } - } - } - add_prestige = { - value = medium_piety_loss - multiply = { - value = ai_honor - add = 1 - } - } - every_vassal = { - limit = { - OR = { - has_vassal_stance = courtly - has_vassal_stance = glory_hound - ai_honor > 0.48 - } - } - add_opinion = { - target = scope:actor - modifier = executed_valuable_prisoner_modifier - } - } - } - } - - # Kill the target - if = { - limit = { - scope:recipient = { is_ai = no } - scope:actor = { is_ai = yes } - } - scope:recipient = { trigger_event = char_interaction.0170 } # Give players a chance to see what's about to happen - show_as_tooltip = { - execute_prisoner_effect = { - VICTIM = scope:recipient - EXECUTIONER = scope:actor - } - } - } - else = { - scope:recipient = { trigger_event = char_interaction.0171 } - execute_prisoner_effect = { - VICTIM = scope:recipient - EXECUTIONER = scope:actor - } - } - - if = { - limit = { always = scope:execution_devour } - scope:actor = { - custom_tooltip = devour_as_execution_tooltip - if = { - limit = { - faith = { has_doctrine_parameter = cannibalism_legal } - NOT = { has_trait = cannibal } - } - add_trait = cannibal - } - stress_impact = { - base = medium_stress_impact_loss - compassionate = miniscule_stress_impact_gain - forgiving = miniscule_stress_impact_gain - } - random = { - chance = 20 - show_as_tooltip = { add_trait = ill } - hidden_effect = { - trigger_event = { - id = health.1001 - days = { 3 10 } - } - } - } - } - } - - if = { - limit = { always = scope:execution_provisions } - scope:actor = { - domicile ?= { - change_provisions = human_provision_value - } - } - } - - if = { - limit = { - always = scope:execution_burned - scope:actor.faith = { - has_doctrine = doctrine_pluralism_fundamentalist - } - } - scope:actor = { - add_piety = miniscule_piety_value - } - } - - scope:actor = { - hidden_effect = { - send_interface_message = { - type = event_prison_neutral - title = msg_execute_prisoner - right_icon = scope:recipient - custom_tooltip = msg_execute_prisoner_desc - } - } - } - } - } - - options_heading = execution_options_heading - - send_option = { - is_shown = { - OR = { - scope:actor.faith = scope:recipient.faith - scope:actor = { - mpo_keep_prisoners_heads_trigger = yes - } - } - NOT = { - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - } - flag = execution_beheaded - localization = "EXECUTION_BEHEADED" - } - - #Cannibal option. Should be treated as a "normal" execution, but that you eat the body afterwards (in secret if faith does not allow it). - send_option = { - is_shown = { - scope:actor = { - OR = { - scope:actor.faith = { has_doctrine_parameter = cannibalism_legal } - has_trait = cannibal - any_secret = { secret_type = secret_cannibal } - } - } - } - flag = execution_devour - localization = "EXECUTION_DEVOUR" - } - - send_option = { - is_shown = { - NOR = { - AND = { - scope:actor.faith = scope:recipient.faith - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - scope:actor = { - mpo_keep_prisoners_heads_trigger = yes - } - } - } - flag = execution_burned - localization = "EXECUTION_BURNED" - } - - send_option = { - is_shown = { - scope:actor.faith = { has_doctrine_parameter = human_sacrifice_active } - } - flag = execution_sacrifice - localization = "EXECUTION_SACRIFICE" - } - - send_option = { - is_shown = { - scope:actor = { - employs_court_position = executioner_court_position - any_court_position_holder = { - type = executioner_court_position - is_physically_able = yes - } - exists = capital_county - } - } - is_valid = { - scope:actor = { - NOT = { - capital_county = { - has_county_modifier = held_public_execution_modifier - } - } - } - } - flag = execution_public - localization = "EXECUTION_PUBLIC" - } - - send_option = { - is_shown = { - scope:actor = { - employs_court_position = kennelperson_camp_officer - any_court_position_holder = { - type = kennelperson_camp_officer - is_physically_able = yes - } - } - } - flag = execution_kennel - localization = "EXECUTION_KENNEL" - } - - send_option = { - is_shown = { - scope:actor = { - is_landless_adventurer = yes - has_perk = fear_tax_perk - } - } - flag = execution_provisions - localization = "EXECUTION_PROVISIONS" - } - - send_options_exclusive = yes - auto_accept = yes -} - -debug_imprison_simple_interaction = { - use_diplomatic_range = no - category = interaction_debug_main - ignores_pending_interaction_block = yes - icon = prison - interface_priority = 1000 - common_interaction = yes - - is_shown = { - debug_only = yes - scope:recipient = { - is_imprisoned = no - } - NOT = { - scope:recipient = scope:actor - } - } - - on_accept = { - scope:actor = { - imprison = { - target = scope:recipient - type = house_arrest - } - } - } - - auto_accept = yes -} - -torture_interaction = { - interface_priority = 30 - common_interaction = no - icon = torture_interaction - - category = interaction_category_prison - - desc = torture_interaction_desc - - #cooldown = { years = 1 } - cooldown_against_recipient = { years = 5 } - - is_shown = { - scope:recipient = { is_imprisoned_by = scope:actor } - scope:recipient = { is_adult = yes } - scope:actor = { is_adult = yes } - } - - is_valid_showing_failures_only = { - #scope:recipient = { - # NOT = { - # health <= 1.5 #Because torture would definitely kill them - # } - #} - scope:actor = { - trigger_if = { - limit = { - domicile ?= { is_domicile_type = camp } - } - custom_tooltip = { - text = laamp_torture_requires_tools_tt - domicile = { has_domicile_parameter = camp_unlocks_torture_interaction } - } - } - } - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - is_highlighted = { - OR = { - scope:actor = { has_trait = sadistic } - scope:actor = { has_relation_rival = scope:recipient } - scope:actor = { has_relation_nemesis = scope:recipient } - } - } - - on_accept = { - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - scope:actor = { save_scope_as = bg_override_char } - ###EFFECT TOOLTIP### - torture_interaction_actor_effect = yes - show_as_tooltip = { - scope:recipient = { - add_character_modifier = { - modifier = recently_tortured - years = 5 - } - } - } - if = { - limit = { - scope:actor = { - domicile ?= { has_domicile_parameter = estate_torture_grants_influence } - } - } - scope:actor = { custom_tooltip = estate_torture_grants_influence_desc } - } - - ###EVENTS### - hidden_effect = { - #Torture method for descs - random_list = { - 3 = { save_scope_value_as = { name = torture_method value = flag:rack } } - 3 = { save_scope_value_as = { name = torture_method value = flag:whip } } - 1 = { save_scope_value_as = { name = torture_method value = flag:rats } } - 8 = { - trigger = { - scope:actor = { has_trait = poet } - } - save_scope_value_as = { - name = torture_method - value = flag:poetry - } - } - } - - #They have a secret I want to know about - if = { - limit = { - scope:recipient = { - OR = { - any_secret = { - torture_secret_trigger = { PARTICIPANT = scope:recipient } - } - any_known_secret = { - secret_owner = { save_temporary_scope_as = torture_secret_owner } - torture_secret_trigger = { PARTICIPANT = scope:torture_secret_owner } - } - } - } - } - scope:recipient = { - trigger_event = { - id = prison.1001 - days = 1 - } - } - } - else = { - scope:actor = { - trigger_event = { - id = prison.1010 - days = 1 - } - } - } - } - - # Dark Insights Perk: - if = { - limit = { - scope:actor = { has_perk = dark_insights_perk } - } - scope:actor = { - dark_insights_skill_gain_roll_effect = yes - } - } - } - - auto_accept = yes - - # AI - ai_targets = { - ai_recipients = prisoners - } - - ai_frequency = 24 - - ai_potential = { - always = yes - } - - ai_will_do = { - base = -25 - - modifier = { - has_trait = sadistic - add = 30 - } - ai_value_modifier = { - ai_compassion = tiny_chance_impact_negative_ai_value #Adds +50 for highly uncompassionate characters, -50 for highly compassionate characters - } - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -0.25 - } - #Scope:target has caused internal strife in the realm - character_hates_scope_due_to_strife_modifier = { TARGET = scope:recipient } - modifier = { # Family Feud - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - add = 30 - } - modifier = { - scope:actor = { - has_opinion_modifier = { - modifier = tried_to_escape_from_prison_opinion - target = scope:recipient - } - } - add = 25 - } - } -} - -castrate_interaction = { - interface_priority = 30 - icon = eunuch - - category = interaction_category_prison - desc = castrate_interaction_desc - - is_shown = { - scope:recipient = { - is_imprisoned_by = scope:actor - is_eunuch_trigger = no - is_male = yes - } - scope:actor = { - is_adult = yes - OR = { - culture = { has_cultural_parameter = can_castrate_prisoners } - top_liege.primary_title = { - has_variable = emulating_byz_punishment_var - } - } - - # If they're our partner emperor, we should use the maiming interaction instead. - liege_should_systematically_maim_co_ruler_trigger = no - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - is_highlighted = { - OR = { - scope:actor = { has_trait = sadistic } - scope:actor = { has_relation_rival = scope:recipient } - scope:recipient = { - any_claim = { - holder = scope:actor - } - } - } - } - - on_accept = { - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - blind_castrate_and_disfigure_effect = yes #Stress & dread - - show_as_tooltip = { - scope:recipient = { - if = { - limit = { - age < 12 - } - ep3_child_castration_effect = yes - } - else = { - ep3_youth_castration_effect = yes - } - release_from_prison = yes - } - } - - torture_blind_castrate_disfigure_opinion_effect = { VERB = castrated } - - scope:actor = { - save_scope_as = bg_override_char - trigger_event = { - id = prison.1025 - days = 1 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_abelarding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - ai_targets = { - ai_recipients = prisoners - } - - ai_potential = { - always = yes - } - - ai_will_do = { - base = -20 - - modifier = { - has_trait = sadistic - add = 20 - } - ai_value_modifier = { - ai_compassion = tiny_chance_impact_negative_ai_value #Adds +50 for highly uncompassionate characters, -50 for highly compassionate characters - } - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -0.25 - } - #Scope:target has caused internal strife in the realm - character_hates_scope_due_to_strife_modifier = { TARGET = scope:recipient } - modifier = { # Family Feud - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - add = 30 - } - modifier = { - scope:actor = { - has_opinion_modifier = { - modifier = tried_to_escape_from_prison_opinion - target = scope:recipient - } - } - add = 25 - } - #Cruel Latins are really into this - modifier = { - top_liege.primary_title = { - has_variable = emulating_byz_punishment_var - } - add = 30 - } - } - - ai_frequency = 36 -} - -blind_interaction = { - interface_priority = 30 - icon = blind - - category = interaction_category_prison - desc = blind_interaction_desc - - is_shown = { - scope:recipient = { - is_imprisoned_by = scope:actor - NOT = { has_trait = blind } - } - scope:actor = { - is_adult = yes - OR = { - culture = { has_cultural_parameter = can_blind_prisoners } - top_liege.primary_title = { - has_variable = emulating_byz_punishment_var - } - } - # If they're our partner emperor, we should use the maiming interaction instead. - liege_should_systematically_maim_co_ruler_trigger = no - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - cannot_release_former_regent_whilst_old_regent_holds_power_trigger = { - PRISONER = scope:recipient - REGENT = scope:recipient.var:imprisoned_by_diarch - } - } - - is_highlighted = { - OR = { - scope:actor = { has_trait = sadistic } - scope:actor = { has_relation_rival = scope:recipient } - scope:recipient = { - any_claim = { - holder = scope:actor - } - } - scope:actor = { - culture = { has_cultural_parameter = merciful_blinding } - OR = { - has_execute_reason = scope:recipient - has_banish_reason = scope:recipient - } - } - } - } - - on_accept = { - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - blind_castrate_and_disfigure_effect = yes #Stress & dread - - show_as_tooltip = { - scope:recipient = { - add_trait = blind - release_from_prison = yes - } - } - - # Merciful Blindings - scope:actor = { - if = { - limit = { - culture = { has_cultural_parameter = merciful_blinding } - OR = { - has_execute_reason = scope:recipient - has_banish_reason = scope:recipient - } - } - add_piety = medium_piety_gain - } - } - - torture_blind_castrate_disfigure_opinion_effect = { VERB = blinded } - - scope:actor = { - save_scope_as = bg_override_char - trigger_event = { - id = prison.1020 - days = 1 - } - } - - # If we're a clan this interaction affects unity - if = { - limit = { scope:actor.culture = { has_cultural_parameter = merciful_blinding } } # If actor's culture has Merciful Blindings, they lose less unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - auto_accept = yes - - ai_targets = { - ai_recipients = prisoners - } - - ai_potential = { - always = yes - } - - ai_will_do = { - base = -20 - - modifier = { - has_trait = sadistic - add = 20 - } - ai_value_modifier = { - ai_compassion = tiny_chance_impact_negative_ai_value #Adds +50 for highly uncompassionate characters, -50 for highly compassionate characters - } - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -0.25 - } - #Scope:target has caused internal strife in the realm - character_hates_scope_due_to_strife_modifier = { TARGET = scope:recipient } - modifier = { # Family Feud - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - add = 30 - } - modifier = { - scope:actor = { - has_opinion_modifier = { - modifier = tried_to_escape_from_prison_opinion - target = scope:recipient - } - } - add = 25 - } - #Cruel Latins are really into this - modifier = { - top_liege.primary_title = { - has_variable = emulating_byz_punishment_var - } - add = 30 - } - } - - ai_frequency = 36 -} - -prison_break_contract_interaction = { - interface_priority = 30 - common_interaction = yes - icon = prison - - category = interaction_category_prison - - desc = prison_break_contract_interaction_desc - - cooldown_against_recipient = { years = 1 } - - is_shown = { - scope:actor = { - any_character_active_contract = { - has_task_contract_type = laamp_prison_break_contract - OR = { - var:task_contract_target = scope:recipient - var:task_contract_object = scope:recipient - var:task_contract_employer = scope:recipient - } - } - } - } - - redirect = { - scope:actor = { - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_prison_break_contract - OR = { - var:task_contract_target = scope:recipient - var:task_contract_object = scope:recipient - var:task_contract_employer = scope:recipient - } - } - var:task_contract_object = { - save_scope_as = secondary_recipient - } - var:task_contract_target = { - save_scope_as = recipient - } - var:task_contract_employer = { - save_scope_as = secondary_actor - } - } - } - } - - is_highlighted = { - always = yes - } - - on_accept = { - scope:actor = { - start_scheme = { - type = laamp_prison_break_scheme - target_character = scope:recipient - } - random_scheme = { - limit = { - scheme_type = laamp_prison_break_scheme - scheme_target_character = scope:recipient - } - save_scope_as = scheme - } - #save scopes for scheme start event - scope:secondary_recipient = { - save_scope_as = task_contract_object - } - scope:recipient = { - save_scope_as = task_contract_target - } - scope:secondary_actor = { - save_scope_as = task_contract_employer - } - trigger_event = laamp_extra_contract_schemes.0011 - } - } - - auto_accept = yes -} - -systematically_maim_character_interaction = { - interface_priority = 30 - icon = torture_interaction - category = interaction_category_diarch - common_interaction = no - desc = systematically_maim_character_interaction_desc - - is_shown = { - scope:actor = { liege_should_systematically_maim_co_ruler_trigger = yes } - } - - is_valid_showing_failures_only = { - scope:actor = { is_adult = yes } - scope:recipient = { - custom_description = { - text = "currently_being_tortured" - NOT = { has_character_flag = is_being_tortured } - } - } - scope:recipient = { is_imprisoned_by = scope:actor } - # There's literally nothing left to remove. - scope:recipient = { - NAND = { - OR = { - is_eunuch_trigger = yes - is_female = yes - } - has_trait = blind - has_trait = disfigured - has_trait = maimed - has_trait = one_legged - } - } - } - - send_option = { - flag = maim_castrate - is_valid = { - scope:recipient = { - NOR = { - is_eunuch_trigger = yes - is_female = yes - } - } - } - localization = maim_castrate_name - current_description = maim_castrate - } - send_option = { - flag = maim_blind - is_valid = { - scope:recipient = { - NOT = { has_trait = blind } - } - } - localization = maim_blind_name - current_description = maim_blind - - } - send_option = { - flag = maim_face - is_valid = { - scope:recipient = { - NOT = { has_trait = disfigured } - } - } - localization = maim_face_name - current_description = maim_face - } - send_option = { - flag = maim_leg - is_valid = { - scope:recipient = { - NOT = { has_trait = one_legged } - } - } - localization = maim_leg_name - current_description = maim_leg - } - send_option = { - flag = maim_arm - is_valid = { - scope:recipient = { - NOT = { has_trait = maimed } - } - } - localization = maim_arm_name - current_description = maim_arm - } - - on_accept = { - scope:recipient = { - add_character_flag = { - flag = is_being_tortured - months = 6 # Players in MP can keep the event window open... - } - } - - # Stress & dread - blind_castrate_and_disfigure_effect = yes - # Our diarchy will be destroyed. - save_scope_value_as = { - name = destroy_diarchy - value = yes - } - show_as_tooltip = { - scope:actor = { maiming_destroy_diarchy_effect = yes } - } - - #TODO_CD_EP3_POLISH; the copy in the below events could _really_ use some polishing up. It's okay but it's a bit meh, and it'd be nice if it reacted more to who you're maiming and why. - - # Let the enchoppening begin. - ## Castrate. - if = { - limit = { scope:maim_castrate = yes } - show_as_tooltip = { - scope:recipient = { - if = { - limit = { - age < 12 - } - ep3_child_castration_effect = yes - } - else = { - ep3_youth_castration_effect = yes - } - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = castrated } - scope:actor = { - clear_designated_heir = yes - trigger_event = { - id = prison.1025 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_abelarding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Blind. - if = { - limit = { scope:maim_blind = yes } - show_as_tooltip = { - scope:recipient = { - add_trait = blind - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = blinded } - scope:actor = { - clear_designated_heir = yes - # Merciful Blindings - if = { - limit = { - culture = { has_cultural_parameter = merciful_blinding } - OR = { - has_execute_reason = scope:recipient - has_banish_reason = scope:recipient - } - } - add_piety = medium_piety_gain - } - trigger_event = { - id = prison.1020 - days = 1 - } - } - # If actor's culture has Merciful Blindings, they lose less unity. - if = { - limit = { - scope:actor.culture = { has_cultural_parameter = merciful_blinding } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - ## Disfigure. - if = { - limit = { scope:maim_face = yes } - show_as_tooltip = { - scope:recipient = { - add_trait = disfigured - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = disfigured } - scope:actor = { - clear_designated_heir = yes - trigger_event = { - id = prison.1030 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Take off an arm. - if = { - limit = { scope:maim_arm = yes } - show_as_tooltip = { - scope:recipient = { - apply_maimed_trait_and_modifier_effect = yes - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } - scope:actor = { - clear_designated_heir = yes - save_scope_value_as = { - name = maim_type - value = flag:arm - } - trigger_event = { - id = prison.1041 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Take off a leg. - if = { - limit = { scope:maim_leg = yes } - show_as_tooltip = { - scope:recipient = { - add_trait = one_legged - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } - scope:actor = { - clear_designated_heir = yes - save_scope_value_as = { - name = maim_type - value = flag:leg - } - trigger_event = { - id = prison.1041 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - auto_accept = yes - - ai_targets = { ai_recipients = prisoners } - - ai_potential = { - has_diarchy_active_parameter = diarchy_is_co_rulership - liege_can_maim_co_ruler_without_killing_them_trigger = yes - } - - ai_will_do = { - base = -50 - - modifier = { - has_trait = sadistic - add = 50 - } - modifier = { - has_trait = callous - add = 40 - } - ai_value_modifier = { - ai_compassion = tiny_chance_impact_negative_ai_value #Adds +50 for highly uncompassionate characters, -50 for highly compassionate characters - } - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - #Scope:target has caused internal strife in the realm - character_hates_scope_due_to_strife_modifier = { TARGET = scope:recipient } - modifier = { # Family Feud - exists = scope:actor.house - exists = scope:recipient.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.house.house_head - } - } - add = 30 - } - modifier = { - scope:actor = { - has_opinion_modifier = { - modifier = tried_to_escape_from_prison_opinion - target = scope:recipient - } - } - add = 25 - } - } - - ai_frequency = 60 -} diff --git a/N3OW/common/character_interactions/00_religious_interactions.txt b/N3OW/common/character_interactions/00_religious_interactions.txt deleted file mode 100644 index ba84c031..00000000 --- a/N3OW/common/character_interactions/00_religious_interactions.txt +++ /dev/null @@ -1,7265 +0,0 @@ -# Interaction used to convert people when you reform or create a faith -ask_for_conversion_interaction = { - category = interaction_category_religion - special_interaction = request_conversion_interaction - popup_on_receive = yes - - desc = ask_for_conversion_interaction_desc - - hidden = yes - - is_shown = { - NOT = { scope:actor.faith = scope:recipient.faith } - scope:recipient.liege = scope:actor - } - - is_valid_showing_failures_only = { - valid_demand_conversion_conditions_trigger = yes - } - - ai_accept = { - base = 0 - religion_demand_conversion_default_modifier = yes - - # We add a few extra modifiers if you have a state faith, to make the initial conversion rate more immersive and plausible - modifier = { - scope:actor = { - government_allows = state_faith - - # If you fulfill a minimum amount of the below triggers, we consider that you hold enough sway within the realm to make it easier for others to abandon the state faith - calc_true_if = { - amount >= 4 - - diplomacy >= excellent_skill_level - learning >= excellent_skill_level - has_trait = august # You finished the August lifestyle tree - has_trait = theologian # You finished the Theologian lifestyle tree - AND = { - is_independent_ruler = yes - legitimacy_level >= 4 - } - influence_level >= 3 - house = { - OR = { - is_dominant_family = yes - is_powerful_family = yes - } - } - } - } - add = { - value = 50 - if = { - limit = { - scope:actor.influence_level = 5 - } - add = 50 - } - else_if = { - limit = { - scope:actor.influence_level >= 4 - } - add = 25 - } - if = { - limit = { - scope:actor = { - is_independent_ruler = yes - legitimacy_level >= 5 - } - } - add = 50 - } - } - desc = STATE_FAITH_CREATE_FAITH_REASON - } - modifier = { # If you have the prophet perk, let's increase acceptance equal to half your diplomacy and learning - scope:actor = { - government_allows = state_faith - has_perk = prophet_perk - } - add = { value = scope:actor.learning add = scope:actor.diplomacy multiply = 0.5 } - desc = HAS_PERK_PROPHET_REASON - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - new_faith_created_conversion_effect = yes - - # If we're a clan this interaction affects unity - accept_faith_conversion_add_clan_unity_effect = yes - - # If character is converting to the state faith, we add influence - state_faith_conversion_add_piety_effect = yes - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = ask_for_conversion_decline_notification - right_icon = scope:recipient - } - } - - # If we're a clan this interaction affects unity - refuse_faith_conversion_add_clan_unity_effect = yes - - state_faith_refuse_conversion_add_piety_effect = yes - } - - #Use hook - send_option = { - is_valid = { - always = no # Only here to ensure that religion_demand_conversion_default_modifier doesn't error - } - flag = hook - localization = SCHEME_HOOK - } - send_options_exclusive = no -} - -ask_for_conversion_courtier_interaction = { - category = interaction_category_religion - icon = religious - - special_interaction = request_conversion_interaction - ai_maybe = yes - can_send_despite_rejection = yes - - desc = { - desc = ask_for_conversion_interaction_desc - triggered_desc = { - trigger = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - scope:recipient = { - target_is_liege_or_above = scope:actor - } - } - desc = demand_conversion_vassal_ruler_is_crime - } - } - - ai_targets = { - ai_recipients = courtiers - chance = 0.25 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 12 - - is_shown = { - NOT = { scope:actor.faith = scope:recipient.faith } - scope:recipient = { is_courtier_of = scope:actor } - scope:recipient = { is_ruler = no } - scope:recipient = { is_imprisoned = no } - } - - cooldown_against_recipient = { years = 15 } - - is_valid_showing_failures_only = { - valid_demand_conversion_conditions_trigger = yes - } - - ai_accept = { - base = 0 - # Increase base chance - modifier = { - add = 50 - desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE - } - religion_demand_conversion_default_modifier = yes - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - NOT = { scope:recipient = { has_character_flag = ai_will_not_convert } } - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - demand_conversion_interaction_effect = yes - hidden_effect = { - scope:actor = { - send_interface_message = { - type = event_religious_good - title = ask_for_conversion_courtier_interaction.tt - left_icon = scope:recipient - scope:recipient = { - show_as_tooltip = { demand_conversion_interaction_effect = yes } - } - } - } - } - if = { - limit = { scope:hook = yes } - scope:actor = { - if = { - limit = { - has_usable_hook = scope:recipient - } - use_hook = scope:recipient - } - } - scope:recipient = { - # trigger_event = char_interaction.0180 - trigger_event = false_conversion.0900 - save_scope_value_as = { - name = forcibly_converted - value = yes - } - } - } - if = { - limit = { scope:recipient = { is_imprisoned_by = scope:actor } } - scope:recipient = { release_from_prison = yes } - scope:recipient = { - # trigger_event = char_interaction.0180 - trigger_event = false_conversion.0900 - save_scope_value_as = { - name = forcibly_converted - value = yes - } - } - } - - # If we're a clan this interaction affects unity - accept_faith_conversion_add_clan_unity_effect = yes - - # If character is converting to the state faith, we add influence - state_faith_conversion_add_piety_effect = yes - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - } - - on_decline = { - #Negative opinions - scope:recipient = { - if = { - limit = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - scope:recipient = { - target_is_liege_or_above = scope:actor - } - } - reverse_add_opinion = { - target = scope:actor - modifier = illegal_resisted_conversion_opinion - years = 10 - } - } - else = { - add_opinion = { - modifier = demanded_my_conversion_opinion - target = scope:actor - opinion = -10 - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = ask_for_conversion_decline_notification - left_icon = scope:recipient - } - } - - # If we're a clan this interaction affects unity - refuse_faith_conversion_add_clan_unity_effect = yes - - state_faith_refuse_conversion_add_piety_effect = yes - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - # Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_options_exclusive = no - - - ai_potential = { - is_adult = yes - } - - ai_will_do = { - base = 100 - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { # The AI doesn't really want to convert Diasporic culture courtiers - scope:recipient = { - faith.religion = religion:judaism_religion - culture = { - has_cultural_tradition = tradition_diasporic - } - } - factor = 0 - } - - modifier = { # Do not convert Righteous faith subjects, unless disturbingly zealous - factor = 0 - scope:actor = { - ai_zeal < 100 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_fully_accepted_level - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - has_tolerant_faith_or_culture_trigger = yes - ai_zeal < 50 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - ai_zeal < -10 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - NOR = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - has_tolerant_faith_or_culture_trigger = yes - } - ai_zeal < 0 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Rulers with State Faith won't try to convert people with faiths that are astray or better - factor = 0 - scope:actor = { - government_allows = state_faith - primary_title.state_faith ?= { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - } - } -} - -# House head demand conversion -demand_conversion_interaction = { - icon = religious - category = interaction_category_religion - popup_on_receive = yes - pause_on_receive = yes - can_send_despite_rejection = yes - ai_maybe = yes - - notification_text = HOUSE_HEAD_DEMAND_CONVERSION - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { - is_house_head = yes - NOT = { faith = scope:recipient.faith } - house = scope:recipient.house - } - NOT = { - scope:recipient = { # Use the vassal-liege interaction instead. - is_ruler = yes - target_is_liege_or_above = scope:actor - } - } - scope:recipient = { # To avoid you converting someone's entire family, and then asking them. Restricting it to landed rulers at least gives them a chance to create their own cadet house. - is_ruler = yes - } - } - - cooldown_against_recipient = { years = 15 } - - desc = { - desc = demand_conversion_interaction_desc - triggered_desc = { - trigger = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - scope:recipient = { - target_is_liege_or_above = scope:actor - } - } - desc = demand_conversion_vassal_ruler_is_crime - } - } - - is_valid_showing_failures_only = { - valid_demand_conversion_conditions_trigger = yes - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - on_accept = { - demand_conversion_interaction_effect = yes - if = { - limit = { scope:hook = yes } - scope:actor = { - use_hook = scope:recipient - } - scope:recipient = { - # trigger_event = char_interaction.0180 - trigger_event = false_conversion.0900 - save_scope_value_as = { - name = forcibly_converted - value = yes - } - } - } - if = { - limit = { scope:recipient = { is_imprisoned_by = scope:actor } } - scope:recipient = { release_from_prison = yes } - scope:recipient = { - # trigger_event = char_interaction.0180 - trigger_event = false_conversion.0900 - save_scope_value_as = { - name = forcibly_converted - value = yes - } - } - } - else = { - scope:actor = { - trigger_event = char_interaction.0181 - } - } - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - - # If we're a clan this interaction affects unity - accept_faith_conversion_add_clan_unity_effect = yes - - # If character is converting to the state faith, we add influence - state_faith_conversion_add_piety_effect = yes - } - - on_decline = { - scope:recipient = { - execute_decision = create_cadet_branch_decision - show_as_tooltip = { create_cadet_branch = yes } - } - #Negative opinions - scope:recipient = { - if = { - limit = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - scope:recipient = { - target_is_liege_or_above = scope:actor - } - } - add_opinion = { - target = scope:recipient - modifier = illegal_resisted_conversion_opinion - years = 10 - } - } - else = { - add_opinion = { - modifier = demanded_my_conversion_opinion - target = scope:actor - opinion = -10 - } - } - } - scope:actor = { - trigger_event = char_interaction.0182 - } - - # If we're a clan this interaction affects unity - refuse_faith_conversion_add_clan_unity_effect = yes - - state_faith_refuse_conversion_add_piety_effect = yes - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - #For loc - on_auto_accept = { - scope:recipient = { - save_scope_value_as = { - name = forcibly_converted - value = yes - } - } - } - - ai_accept = { - base = 0 - # Increase base chance - modifier = { - add = 50 - desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE - } - modifier = { - add = 100 - NOT = { - scope:recipient = { - can_execute_decision = create_cadet_branch_decision - } - } - desc = ASK_FOR_CONVERSION_CAN_NOT_CREATE_CADET_BRANCH - } - modifier = { - add = -10 - scope:recipient = { - can_execute_decision = create_cadet_branch_decision - } - desc = ASK_FOR_CONVERSION_CAN_CREATE_CADET_BRANCH - } - religion_demand_conversion_default_modifier = yes - } - - can_send_despite_rejection = yes - force_notification = yes - - #Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_options_exclusive = no -} - -demand_conversion_vassal_ruler_interaction = { - category = interaction_category_religion - icon = religious - notification_text = LIEGE_DEMAND_CONVERSION - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - ai_accept_negotiation = yes - popup_on_receive = yes - - ai_targets = { - ai_recipients = vassals - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 12 - - desc = { - desc = ask_for_conversion_interaction_desc - desc = line_break - triggered_desc = { - trigger = { - NOT = { scope:recipient = { is_imprisoned_by = scope:actor } } - } - desc = might_ask_for_something_in_return_warning - } - triggered_desc = { - trigger = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - } - desc = demand_conversion_vassal_ruler_is_crime - } - } - - on_decline_summary = stop_attacker_vassal_war_decline_summary - - is_shown = { - scope:recipient = { - target_is_liege_or_above = scope:actor - NOT = { faith = scope:actor.faith } - is_ai = yes - is_ruler = yes - } - } - - cooldown_against_recipient = { years = 15 } - - is_valid_showing_failures_only = { - valid_demand_conversion_conditions_trigger = yes - trigger_if = { - limit = { - scope:actor.domicile ?= { - domicile_uses_culture_and_faith = yes - } - scope:recipient = { - is_ruler = yes - OR = { - government_has_flag = government_is_nomadic - government_has_flag = government_is_herder - } - } - } - custom_tooltip = { - text = nomads_must_inspire_tt - NOT = { - scope:recipient = { - OR = { - government_has_flag = government_is_nomadic - government_has_flag = government_is_herder - } - } - } - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - NOT = { scope:recipient = { has_character_flag = ai_will_not_convert } } - } - } - - on_send = { - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - on_accept = { - scope:actor = { - trigger_event = religious_interaction.2002 - } - demand_conversion_vassal_ruler_interaction_effect = yes - - # If we're a clan this interaction affects unity - accept_faith_conversion_add_clan_unity_effect = yes - - # If character is converting to the state faith, we add influence - state_faith_conversion_add_piety_effect = yes - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - } - - on_decline = { - scope:recipient = { - hidden_effect = { - random_list = { - 80 = { # Conditional acceptance - modifier = { - factor = 0 # Heresiarchs never agree to convert - scope:recipient = { - has_trait = heresiarch - } - } - ai_value_modifier = { - ai_greed = 0.5 - } - random_list = { - 50 = { #They ask for gold - modifier = { - add = 50 # More likely to ask for gold if they're poor - scope:recipient.short_term_gold < medium_gold_value - } - modifier = { - add = { # Much more likely to ask for gold involved in one of their own wars (they want to win). - value = 50 - if = { - # Especially true if they're in debt! - limit = { gold < 0 } - add = 150 - } - } - is_at_war = yes - any_character_war = { - is_war_leader = scope:recipient - } - } - scope:actor = { - trigger_event = { - id = religious_interaction.2011 - } - } - } - 500 = { #They ask for a favor - trigger = { - exists = scope:recipient.capital_county - NOT = { has_hook = scope:actor } - } - # Direct feudal vassals appreciate favors more (they can improve their contract). - modifier = { - add = { - value = 50 - # This goes double for your Powerful Vassals. A better contract is likely to be much more important than a short-term payout. - if = { - limit = { is_powerful_vassal_of = scope:actor } - add = 100 - } - } - this.liege = scope:actor - government_has_flag = government_is_feudal - } - scope:actor = { - trigger_event = { - id = religious_interaction.2012 - } - } - } - } - - } - 20 = { # Full refuse - modifier = { - add = 20 - scope:recipient.demand_conversion_likelihood_calculation < 40 - } - modifier = { - add = 20 - scope:recipient.demand_conversion_likelihood_calculation < 20 - } - modifier = { - add = 50 - scope:recipient.demand_conversion_likelihood_calculation < 0 - } - scope:actor = { - trigger_event = { - id = religious_interaction.2003 - } - } - } - } - } - custom_tooltip = demand_conversion_vassal_ruler_does_not_convert - show_as_tooltip = { - #Negative opinions - add_opinion = { - modifier = demanded_my_conversion_opinion - target = scope:actor - opinion = -10 - } - scope:actor = { - if = { - limit = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - custom_tooltip = action_can_lawfully_imprison_label - } - } - # If appropriate, give 'em piety. - give_piety_for_clinging_to_state_faith_effect = yes - } - } - - # If we're a clan this interaction affects unity - refuse_faith_conversion_add_clan_unity_effect = yes - } - - ai_potential = { - is_adult = yes - } - - # Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_options_exclusive = no - - ai_will_do = { - base = 100 - - modifier = { # Make sure the AI uses hooks for this as it's % based - scope:hook = yes - add = 1 - } - - modifier = { - factor = 0 - scope:recipient.demand_conversion_likelihood_calculation < 10 - NOT = { - scope:actor = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - } - } - - modifier = { - factor = 0 - scope:recipient.demand_conversion_likelihood_calculation < 70 - scope:actor = { - gold < demand_conversion_bribe_size - } - } - - modifier = { - factor = 0 - scope:recipient.demand_conversion_likelihood_calculation < 90 - scope:actor = { - culture = { - has_cultural_parameter = less_likely_to_force_conversion - } - } - } - - modifier = { # Do not convert Righteous faith subjects, unless disturbingly zealous - factor = 0 - scope:actor = { - ai_zeal < 100 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_fully_accepted_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - has_tolerant_faith_or_culture_trigger = yes - ai_zeal < 50 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - ai_zeal < -10 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - NOR = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - has_tolerant_faith_or_culture_trigger = yes - } - ai_zeal < 0 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - } - - modifier = { # Rulers with state faith won't try to convert people with faiths that are astray or better - factor = 0 - scope:actor = { - government_allows = state_faith - primary_title.state_faith ?= { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - } - } - ai_accept = { - base = 0 - # Increase base chance - modifier = { - add = 50 - desc = EDUCATE_CHILD_ACTOR_IS_MY_LIEGE - } - religion_demand_conversion_default_modifier = yes - - modifier = { - desc = might_ask_for_something_in_return_warning_line_break - add = 0 - } - } -} - -demand_conversion_player_ruler_interaction = { - category = interaction_category_religion - desc = ask_for_conversion_interaction_desc - notification_text = LIEGE_DEMAND_CONVERSION - popup_on_receive = yes - pause_on_receive = yes - icon = religious - - ai_targets = { - ai_recipients = vassals - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 120 - - is_shown = { - scope:recipient = { - is_ai = no - target_is_liege_or_above = scope:actor - NOT = { faith = scope:actor.faith } - } - } - - cooldown_against_recipient = { years = 15 } - - is_valid_showing_failures_only = { - valid_demand_conversion_conditions_trigger = yes - } - - send_option = { - is_valid = { - scope:actor = { - has_strong_usable_hook = scope:recipient - } - } - flag = demand_conversion_hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_strong_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - - send_options_exclusive = no - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:demand_conversion_hook = yes - } - } - - on_auto_accept = { - demand_conversion_player_ruler_interaction_effect = yes - - scope:actor = { - trigger_event = char_interaction.0190 - } - - scope:recipient = { - save_scope_value_as = { - name = forcibly_converted - value = yes - } - trigger_event = religious_interaction.2021 - } - } - - on_accept = { - # Do conversion - demand_conversion_player_ruler_interaction_effect = yes - scope:actor = { - trigger_event = char_interaction.0190 - } - - # If we're a clan this interaction affects unity - accept_faith_conversion_add_clan_unity_effect = yes - - # If character is converting to the state faith, we add influence - state_faith_conversion_add_piety_effect = yes - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - } - - on_decline = { - scope:actor = { - #Crime if relevant - if = { - limit = { - refusing_conversion_is_crime_trigger = { - CHARACTER = scope:recipient - } - } - add_opinion = { - target = scope:recipient - modifier = illegal_resisted_conversion_opinion - years = 15 - } - } - else = { - add_opinion = { - target = scope:recipient - modifier = resisted_conversion_opinion - years = 15 - } - } - trigger_event = char_interaction.0191 - } - - # If we're a clan this interaction affects unity - refuse_faith_conversion_add_clan_unity_effect = yes - - state_faith_refuse_conversion_add_piety_effect = yes - } - - ai_potential = { - is_adult = yes - } - - ai_will_do = { - base = 100 - - modifier = { - scope:hook = yes - add = 1 - } - - modifier = { - factor = 0 - scope:recipient.demand_conversion_likelihood_calculation < 10 - } - - modifier = { # Do not convert Righteous faith subjects, unless disturbingly zealous - factor = 0 - scope:actor = { - ai_zeal < 100 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_fully_accepted_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - has_tolerant_faith_or_culture_trigger = yes - ai_zeal < 50 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - ai_zeal < -10 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Astray faiths require specific circumstances to demand conversion of - factor = 0 - scope:actor = { - NOR = { - faith = { has_doctrine = doctrine_pluralism_fundamentalist } - has_tolerant_faith_or_culture_trigger = yes - } - ai_zeal < 0 - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - NOT = { # If the subject has one of your holy sites, always try to convert - scope:recipient = { - any_sub_realm_county = { - any_county_province = { - barony = { - is_holy_site_of = scope:actor.faith - } - } - } - } - } - NOT = { - scope:recipient = { - is_close_family_of = scope:actor - } - } - } - - modifier = { # Rulers with state faith won't try to convert people with faiths that are astray or better - factor = 0 - scope:actor = { - government_allows = state_faith - primary_title.state_faith ?= { - faith_hostility_level = { - target = scope:recipient.faith - value <= faith_astray_level - } - } - } - } - } -} - - -convert_to_religion_interaction = { - category = interaction_category_religion - icon = religious - - - desc = convert_to_religion_interaction_desc - - notification_text = CONVERT_TO_RELIGION - ignores_pending_interaction_block = yes - - is_shown = { - NOT = { scope:actor.faith = scope:recipient.faith } - scope:actor = { - is_landless_ruler = no - # They're either your liege or your spouse - OR = { - target_is_liege_or_above = scope:recipient - any_consort = { - this = scope:recipient - } - } - # And you've never HumSac'd a tolerated HoF. - NAND = { - has_variable_list = humsacd_hofs - is_target_in_variable_list = { - name = humsacd_hofs - target = scope:recipient.faith - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { is_busy_in_events_localised = yes } - } - - auto_accept = yes - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_send = { - # Show conversion preview - this can be canceled, but it's fine since the conversion is voluntary - ## If we have a valid state faith, we go there. - if = { - limit = { - scope:actor = { - government_allows = state_faith - } - scope:actor.top_liege.primary_title.state_faith ?= scope:recipient.faith - } - decision:adopt_state_faith = { - open_view_data = { - view = decision_detail - player = scope:actor - } - } - } - ## Otherwise, go to the usual place. - else = { - scope:recipient.faith = { - open_view_data = { - view = faith_conversion - player = scope:actor # interaction effects are executed for all clients, make sure to open the window only for the actor - } - } - } - } - - on_accept = { - custom_tooltip = { - text = open_faith_conversion_view_tt - } - } - - ai_accept = { - base = 0 - } - - ai_will_do = { - base = 0 - } -} - -convert_to_religion_adventurer_interaction = { - category = interaction_category_religion - icon = religious - - - desc = convert_to_religion_interaction_desc - - notification_text = CONVERT_TO_RELIGION - ignores_pending_interaction_block = yes - - is_shown = { - NOT = { scope:actor.faith = scope:recipient.faith } - scope:actor = { - is_landless_adventurer = yes - # They're either your friend or your spouse - OR = { - target_is_liege_or_above = scope:recipient - any_consort = { - this = scope:recipient - } - any_relation = { - type = friend - this = scope:recipient - } - } - # And you've never HumSac'd a tolerated HoF. - NAND = { - has_variable_list = humsacd_hofs - is_target_in_variable_list = { - name = humsacd_hofs - target = scope:recipient.faith - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { is_busy_in_events_localised = yes } - } - - auto_accept = yes - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - scope:actor = { - hidden_effect = { faith = { save_scope_as = old_faith } } - set_character_faith = scope:recipient.faith - trigger_event = { - on_action = on_faith_conversion - } - } - } - - ai_accept = { - base = 0 - } - - ai_will_do = { - base = 0 - } -} - -convert_at_war_interaction = { - category = interaction_category_religion - icon = religious - - - desc = convert_at_war_interaction_desc - - notification_text = CONVERT_AT_WAR_INTERACTION_NOTIFICATION - - is_shown = { - NOT = { - scope:actor.faith = scope:recipient.faith - } - scope:actor = { - any_character_war = { - primary_defender = scope:actor - primary_attacker = scope:recipient - using_non_ghw_holy_war_cb_trigger = yes - } - NOR = { - #They're neither your liege nor your spouse (so this isn't shown with convert_to_religion_interaction) - target_is_liege_or_above = scope:recipient - any_spouse = { - this = scope:recipient - } - #They can convert - scope:actor = scope:actor.faith.religious_head - government_has_flag = government_is_holy_order - # And you've never HumSac'd a tolerated HoF. - AND = { - has_variable_list = humsacd_hofs - is_target_in_variable_list = { - name = humsacd_hofs - target = scope:recipient.faith - } - } - } - } - } - - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - } - - - ai_accept = { - base = 100 #Ai always says yes - } - - ai_min_reply_days = 1 - ai_max_reply_days = 3 - - cooldown_against_recipient = { years = 10 } - - on_accept = { - scope:actor = { - trigger_event = religious_interaction.2500 - convert_at_war_interaction_effect = yes - } - } - - on_decline = { - scope:actor = { - show_as_tooltip = { - add_piety_level = -1 - stress_impact = { zealous = major_stress_impact_gain } - } - trigger_event = religious_interaction.2501 - } - } - - ai_potential = { - ai_zeal < 100 - faith = { - OR = { - has_doctrine_parameter = unreformed - fervor <= 25 - has_doctrine_parameter = unattractive_for_character_conversions - } - } - } - - ai_targets = { - ai_recipients = primary_war_enemies - } - - ai_frequency = 24 - - ai_will_do = { - base = 0 - - ai_value_modifier = { - who = scope:actor - ai_zeal = -1 - ai_boldness = -0.5 - max = 40 - } - modifier = { - scope:actor = { - any_character_war = { - primary_attacker = scope:recipient - primary_defender = scope:actor - attacker_war_score >= 30 - } - } - add = 5 - } - modifier = { - scope:actor = { - any_character_war = { - primary_attacker = scope:recipient - primary_defender = scope:actor - attacker_war_score >= 50 - } - } - add = 10 - } - modifier = { - scope:actor = { - any_character_war = { - primary_attacker = scope:recipient - primary_defender = scope:actor - attacker_war_score >= 80 - } - } - add = 15 - } - modifier = { - scope:actor.faith = { - fervor < 50 - } - scope:recipient.faith = { - fervor >= 50 - } - add = 5 - } - modifier = { - scope:actor.faith = { - fervor <= 25 - } - scope:recipient.faith = { - fervor >= 50 - } - add = 5 - } - modifier = { - scope:actor.faith = { - fervor <= 25 - } - scope:recipient.faith = { - fervor >= 75 - } - add = 5 - } - modifier = { - scope:actor.faith = { - fervor >= 75 - } - add = -10 - } - modifier = { - scope:actor.faith = { - fervor >= 50 - } - add = -5 - } - modifier = { - scope:recipient.faith = { - fervor <= 25 - } - add = -10 - } - modifier = { - scope:recipient.faith = { - fervor <= 15 - } - add = -20 - } - modifier = { - scope:recipient.faith = { - fervor <= 10 - } - add = -30 - } - modifier = { - scope:recipient.faith.fervor < scope:actor.faith.fervor - factor = 0 - } - modifier = { # Big rulers shouldn't convert arbitrarily - scope:actor = { - highest_held_title_tier >= tier_kingdom - sub_realm_size >= 10 - NOT = { - has_trait = lunatic - } - } - factor = 0 - } - } -} - - -#################### -# Communion tenets # -# by Sean Hughes # -#################### - -seek_indulgences_interaction = { - icon = religious - category = interaction_category_religion - - desc = seek_indulgences_interaction_desc - - notification_text = RELIGIOUS_HEAD_SEEK_INDULGENCES - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor.faith = { - religious_head = scope:recipient - has_doctrine = tenet_communion - } - } - - cooldown = { years = 5 } - - is_valid_showing_failures_only = { - scope:actor = { - trigger_if = { - limit = { - has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } - } - gold >= seek_indulgences_major_criminal_trait_value - } - trigger_else_if = { - limit = { - OR = { - AND = { - has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = witch - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = witch GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = deviant - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = deviant GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = sodomite - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = sodomite GENDER_CHARACTER = scope:actor } - } - } - } - gold >= seek_indulgences_medium_criminal_trait_value - } - trigger_else_if = { - limit = { - OR = { - AND = { - has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } - } - } - } - gold >= seek_indulgences_minor_criminal_trait_value - } - trigger_else = { - gold >= seek_indulgences_buy_piety_value - } - custom_description = { - text = "seek_indulgences_excommunicated" - NOT = { has_trait = excommunicated } - } - } - scope:actor = { - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - ai_accept = { - base = 50 - - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 1 - } - - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - trigger = { - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - } - - evaluate_action_increasing_house_unity = { - VALUE = 50 - } - - evaluate_action_decreasing_house_unity = { - VALUE = -100 - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - seek_indulgences_interaction_effect = yes - scope:actor = { - trigger_event = religious_interaction.1010 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_indulgences_accepted.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:actor = { - trigger_event = religious_interaction.1011 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_indulgences_declined.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI will do - - ai_potential = { - short_term_gold >= head_of_faith_gold_value - NOT = { - has_trait = cynical - } - } - - ai_targets = { - ai_recipients = head_of_faith - } - - ai_frequency = 36 - - ai_will_do = { - base = -25 - - ai_value_modifier = { # +50 to -50 - who = scope:actor - ai_zeal = 0.5 - } - - modifier = { - add = 50 - scope:actor = { - piety < 0 - } - } - - modifier = { - add = 75 - scope:actor = { - piety_level < 0 - } - } - - modifier = { - add = 50 - scope:actor = { - piety < major_piety_value - short_term_gold >= head_of_faith_gold_value - short_term_gold >= monumental_gold_value - } - } - - modifier = { - add = -25 - scope:actor = { - piety > major_piety_value - piety_level > 0 - } - } - - evaluate_action_increasing_house_unity = { - VALUE = 50 - } - } -} - -declaration_of_repentance_interaction = { - icon = religious - category = interaction_category_religion - - desc = { - desc = declaration_of_repentance_interaction_desc - triggered_desc = { - trigger = { scope:actor = { has_hook = scope:recipient } } - desc = declaration_of_repentance_interaction_desc_hook - } - } - - notification_text = RELIGIOUS_HEAD_DECLARATION_OF_REPENTANCE - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor = { - has_trait = excommunicated - faith = { - religious_head = scope:recipient - has_doctrine = tenet_communion - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { - has_character_modifier = recent_excommunication - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = declaration_hook - localization = DECLARATION_OF_REPENTANCE_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:declaration_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = 25 - - modifier = { - scope:declaration_hook = yes - add = 20 - desc = SCHEME_WEAK_HOOK_USED - } - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 1 - } - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - trigger = { - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - } - modifier = { - add = { - add = 10 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = DECLARATION_OF_REPENTANCE_VIRTUES - } - modifier = { - add = { - add = -10 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = DECLARATION_OF_REPENTANCE_SINS - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_PARAGON - add = 15 - scope:actor = { - has_trait = paragon - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD - add = 5 - scope:actor = { - has_trait = consecrated_blood - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_UNPLEDGED_GHW - add = -25 - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = unpledged_from_ghw_opinion - } - } - } - - evaluate_action_increasing_house_unity = { - VALUE = 50 - } - - evaluate_action_decreasing_house_unity = { - VALUE = -100 - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - declaration_of_repentance_interaction_effect = yes - - scope:actor = { - #Letter event to inform character that their excommunication has been lifted. - trigger_event = { - id = religious_interaction.1024 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_repentance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:actor = { - - #Letter event to inform character the pope refused to lift the excommunication. - trigger_event = { - id = religious_interaction.1025 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_repentance_declined.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI will do - - ai_potential = { - has_trait = excommunicated - } - - ai_targets = { - ai_recipients = head_of_faith - } - - ai_frequency = 72 - - ai_will_do = { - base = 100 - } -} - -excommunicate_interaction = { - category = interaction_category_hostile - common_interaction = yes #suppress error - icon = excommunication - - desc = excommunicate_interaction_desc - - is_shown = { - scope:actor = scope:actor.faith.religious_head - scope:actor.faith = { - this = scope:recipient.faith - has_doctrine = tenet_communion - has_doctrine = doctrine_spiritual_head - } - - NOT = { - scope:recipient = { - has_trait = excommunicated - } - } - - NOT = { #Don't do this to yourself - scope:recipient = scope:actor - } - } - - is_valid_showing_failures_only = { - NOR = { - scope:recipient = { - has_character_modifier = excommunication_recently_lifted - } - AND = { - exists = scope:actor.faith.great_holy_war - scope:actor.faith.great_holy_war = { - has_pledged_attacker = scope:recipient - } - } - } - scope:recipient = { - age >= 12 - } - scope:actor = { - piety >= major_piety_value - } - scope:actor = { - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - auto_accept = yes - force_notification = yes - notification_text = religious_interaction.1021 - #answer_accept_key = religious_interaction.1000.strong_negative - - on_accept = { - scope:actor = { - add_piety = major_piety_loss - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = excommunicate_interaction_desc.tt - left_icon = scope:recipient - scope:recipient = { - show_as_tooltip = { add_trait = excommunicated } - } - } - } - } - excommunicate_character = { - REQUESTING_CHARACTER = scope:actor - TARGET_CHARACTER = scope:recipient - } - - scope:recipient = { - hidden_effect = { #Nudge towards rivalry - if = { - limit = { - NOR = { - has_relation_rival = scope:actor - has_relation_potential_rival = scope:actor - } - } - set_relation_potential_rival = scope:actor - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_excommunication.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI will do - - ai_potential = { - is_adult = yes - piety >= major_piety_value - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = scripted_relations - ai_recipients = primary_war_enemies - } - - ai_frequency = 36 - - ai_will_do = { - base = 50 - - ai_value_modifier = { # +50 to -50 - who = scope:actor - ai_vengefulness = 0.5 - } - - modifier = { - factor = 0 - scope:recipient = { - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - is_at_war_with = scope:actor - } - } - } - } -} - -lift_excommunication_interaction = { - category = interaction_category_religion - icon = excommunication - - common_interaction = yes - - desc = lift_excommunication_interaction_desc - - is_shown = { - scope:actor = scope:actor.faith.religious_head - scope:actor.faith = scope:recipient.faith - scope:recipient = { - has_trait = excommunicated - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - } - } - - auto_accept = yes - force_notification = yes - notification_text = religious_interaction.1024 - #answer_accept_key = religious_interaction.1024.positive - - on_accept = { - lift_character_excommunication_effect = { - TARGET_CHARACTER = scope:recipient - REQUESTING_CHARACTER = scope:actor - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_excommunication_lifted - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI will do - - ai_potential = { - is_adult = yes - piety >= major_piety_value - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = scripted_relations - ai_recipients = war_allies - } - - ai_frequency = 72 - - ai_will_do = { - base = 10 - - ai_value_modifier = { # +50 to -50 - who = scope:actor - ai_compassion = 0.5 - } - - modifier = { - factor = 0 - scope:recipient = { - NOR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - is_allied_to = scope:actor - } - } - } - } -} - -request_excommunication_interaction = { - category = interaction_category_hostile - icon = excommunication - interface_priority = 30 - - desc = request_excommunication_interaction_desc - redirect = { - if = { - limit = { - exists = scope:actor.faith.religious_head - } - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor.faith.religious_head = { - save_scope_as = recipient - } - } - scope:actor.faith = { - if = { - limit = { exists = religious_head } - religious_head = { - save_scope_as = recipient - } - } - } - } - - notification_text = RELIGIOUS_HEAD_REQUEST_EXCOMMUNICATION - - is_shown = { - exists = scope:actor.faith.religious_head - NOR = { - scope:actor = scope:secondary_recipient - scope:actor.faith.religious_head = scope:actor - scope:actor.faith.religious_head = scope:secondary_recipient - } - scope:actor.faith = { - exists = religious_head - this = scope:secondary_recipient.faith - has_doctrine = tenet_communion - has_doctrine = doctrine_spiritual_head - } - } - - is_valid_showing_failures_only = { - scope:actor = { - piety >= massive_piety_value - } - scope:secondary_recipient = { #Excommunication target - NOT = { has_trait = excommunicated } - age >= 12 - } - scope:actor = { - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:secondary_recipient = { NOT = { has_strong_hook = scope:actor } } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = excommunication_hook - localization = EXCOMMUNICATION_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:excommunication_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = -50 - - modifier = { - scope:excommunication_hook = yes - add = 50 - desc = SCHEME_WEAK_HOOK_USED - } - opinion_modifier = { - who = scope:actor.faith.religious_head - opinion_target = scope:actor - multiplier = 1 - } - opinion_modifier = { - who = scope:actor.faith.religious_head - opinion_target = scope:secondary_recipient #Excommunication target - multiplier = -1 - min = 0 - } - modifier = { - add = -100 - scope:actor.faith.religious_head = { - opinion = { - value > 0 - target = scope:secondary_recipient #Excommunication target - } - } - desc = EXCOMMUNICATION_OPINION - } - modifier = { - add = { - add = -10 - multiply = scope:secondary_recipient.num_virtuous_traits - } - scope:secondary_recipient.num_virtuous_traits > 0 - desc = EXCOMMUNICATION_VIRTUES - } - modifier = { - add = { - add = 10 - multiply = scope:secondary_recipient.num_sinful_traits - } - scope:secondary_recipient.num_sinful_traits > 0 - desc = EXCOMMUNICATION_SINS - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_PARAGON - add = 15 - scope:actor = { - has_trait = paragon - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD - add = 5 - scope:actor = { - has_trait = consecrated_blood - } - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - if = { - limit = { - scope:secondary_recipient = { is_alive = yes } - } - if = { - limit = { scope:excommunication_hook = yes } - scope:actor = { - use_hook = scope:recipient - } - } - - scope:actor = { - #Spend piety for the excommunication. - add_piety = massive_piety_loss - - #Letter event to inform character the pope agreed to their request. - trigger_event = { - id = religious_interaction.1022 - } - } - excommunicate_character = { - TARGET_CHARACTER = scope:secondary_recipient - REQUESTING_CHARACTER = scope:actor - } - scope:secondary_recipient = { - #Letter event to inform character that they have been excommunicated. - trigger_event = { - id = religious_interaction.1020 - } - hidden_effect = { #Nudge towards rivalry - if = { - limit = { - NOR = { - has_relation_rival = scope:actor - has_relation_potential_rival = scope:actor - } - scope:actor = { is_alive = yes } - } - set_relation_potential_rival = scope:actor - } - } - } - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_request_excommunication.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - on_decline = { - scope:actor = { - #Letter event to inform character the pope refused their request. - trigger_event = { - id = religious_interaction.1023 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_excommunication_request_denied.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI will do - - ai_potential = { - is_adult = yes - piety >= major_piety_value - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = scripted_relations - ai_recipients = primary_war_enemies - } - - ai_frequency = 36 - - ai_will_do = { - base = 25 - - ai_value_modifier = { # +50 to -50 - who = scope:actor - ai_vengefulness = 0.5 - } - - modifier = { - factor = 0 - scope:secondary_recipient = { - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - is_at_war_with = scope:actor - } - } - } - } -} - -### End Communion tenets ### - -#Ask to take the vows to join Holy order -#by Linnéa Thimrén & Bianca Savazzi -send_to_holy_order_interaction = { - category = interaction_category_friendly - icon = holy_order - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - #can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - common_interaction = yes - cooldown_against_recipient = { years = 10 } - - desc = send_to_holy_order_interaction_desc - - on_decline_summary = take_vows_decline_summary - - greeting = negative - notification_text = REQUEST_VOWS_NOTIFICATION_TEXT - - is_shown = { - scope:recipient = { - OR = { - is_courtier_of = scope:actor - is_child_of = scope:actor - } - NOR = { - has_trait = devoted - has_trait = order_member - } - } - NOT = { #Not your bishop - scope:actor = { - any_learning_councillor = { this = scope:recipient } - } - } - scope:actor.faith = { - any_faith_holy_order = { #Your faith must have a Holy Order - always = yes - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_courtier_of = scope:actor - #Triggers that applies to both Monastery or Holy Order requirements - can_take_religious_vows_trigger = yes - - can_be_warrior_trigger = { ARMY_OWNER = scope:recipient } - custom_description = { - text = TAKE_VOWS_INTERACTION_MARTIAL_EDUCATION - object = scope:recipient - has_education_martial_trigger = yes - } - custom_description = { #At least one Holy Order whose leader you're not a rival of - text = not_rival_leader_check - object = scope:recipient - scope:actor.faith = { - any_faith_holy_order = { - leader = { - NOT = { has_relation_rival = scope:recipient } - } - } - } - } - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - #Use hook - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - cost = { - piety = scope:recipient.ask_to_take_vows_piety_cost - } - - on_send = { - scope:recipient = { - set_variable = { - name = vows_piety_spent - value = ask_to_take_vows_piety_cost - days = 10 - } - } - } - - on_accept = { - scope:actor = { - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - - # Legitimacy loss if you're doing this to your children - if = { - limit = { - scope:recipient = { is_primary_heir_of = scope:actor } - } - add_legitimacy = { - value = minor_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - else_if = { - limit = { - scope:recipient = { is_child_of = scope:actor } - } - add_legitimacy = { - value = miniscule_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - - trigger_event = holy_order.0001 - show_as_tooltip = { - send_child_to_holy_order_tooltip_effect = yes - scope:recipient = { kick_from_court_interaction_warning_tooltip_effect = yes } - } - } - hidden_effect = { - scope:recipient = { - remove_variable = vows_piety_spent - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_send_to_holy_order.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = asked_me_to_take_vows_opinion - years = 10 - } - } - #Letter event informing the character about the rejection. - scope:actor = { - trigger_event = { - id = religious_interaction.1031 - } - } - - # Refund piety cost - show_as_tooltip = { - scope:actor = { - add_piety_no_experience = { - value = scope:recipient.ask_to_take_vows_piety_cost - } - } - } - hidden_effect = { - if = { - limit = { - scope:recipient = { - has_variable = vows_piety_spent - } - } - scope:actor = { - add_piety_no_experience = { - value = scope:recipient.var:vows_piety_spent - } - } - scope:recipient = { - remove_variable = vows_piety_spent - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_join_holy_order_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - scope:hook = yes - add = 50 - desc = SCHEME_WEAK_HOOK_USED - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - desc = AI_SIMPLE_OPINION_REASON - } - modifier = { - add = ai_zeal - ai_zeal < 0 - desc = TAKE_THE_VOWS_SKEPTIC - } - modifier = { - add = { - value = ai_zeal - divide = 2 - } - ai_zeal > 0 - desc = TAKE_THE_VOWS_ZEALOUS - } - modifier = { - add = { - value = ai_zeal - multiply = ai_boldness - divide = 100 - min = 10 - } - ai_zeal > 0 - ai_boldness > 0 - desc = TAKE_THE_VOWS_FIGHT_FOR_FAITH - } - modifier = { - add = { - value = ai_boldness - } - ai_boldness < 0 - desc = TAKE_THE_VOWS_AFRAID_TO_DIE - } - modifier = { - add = { - value = ai_greed - multiply = -1 - } - ai_greed > 0 - desc = TAKE_THE_VOWS_GREED - } - modifier = { - add = 50 - exists = scope:actor.cp:councillor_court_chaplain - scope:recipient = { - OR = { - has_relation_lover = scope:actor.cp:councillor_court_chaplain - has_relation_friend = scope:actor.cp:councillor_court_chaplain - has_secret_relation_lover = scope:actor.cp:councillor_court_chaplain - has_relation_soulmate = scope:actor.cp:councillor_court_chaplain - has_relation_best_friend = scope:actor.cp:councillor_court_chaplain - opinion = { - target = scope:actor.cp:councillor_court_chaplain - value >= very_high_positive_opinion - } - } - } - desc = TAKE_THE_VOWS_INSPIRING_COURT_CHAPLAIN - } - modifier = { - add = 50 - scope:recipient = { - OR = { - any_relation = { - type = friend - is_clergy = yes - } - any_relation = { - type = best_friend - is_clergy = yes - } - any_relation = { - type = lover - is_clergy = yes - } - any_relation = { - type = soulmate - is_clergy = yes - } - any_secret = { - secret_type = secret_lover - secret_target = { - is_clergy = yes - } - } - } - } - desc = TAKE_THE_VOWS_INSPIRING_CLERGY - } - - modifier = { - add = { - add = 20 - multiply = scope:recipient.num_virtuous_traits - } - scope:recipient.num_virtuous_traits > 0 - desc = TAKE_THE_VOWS_VIRTUOUS - } - - modifier = { - add = { - add = -20 - multiply = scope:recipient.num_sinful_traits - } - scope:recipient.num_sinful_traits > 0 - desc = TAKE_THE_VOWS_SINFUL - } - modifier = { # Has fought for the faith before - add = 20 - scope:recipient = { - has_trait = holy_warrior - } - desc = TAKE_THE_VOWS_HOLY_WARRIOR - } - - modifier = { - add = 25 - scope:recipient = { - has_trait = temperate - } - desc = TAKE_THE_VOWS_TEMPERATE - } - - modifier = { - add = 25 - scope:recipient = { - has_trait = content - } - desc = TAKE_THE_VOWS_CONTENT - } - modifier = { - add = 25 - scope:recipient = { - has_trait = humble - } - desc = TAKE_THE_VOWS_HUMBLE - } - - #Negative Personality Modifiers - modifier = { - add = -500 - scope:recipient = { - has_trait = pregnant - } - desc = TAKE_THE_VOWS_PREGNANT - } - modifier = { - add = -500 - scope:recipient = { - has_trait = ambitious - } - desc = TAKE_THE_VOWS_AMBITIOUS - } - - modifier = { - add = -50 - scope:recipient = { - OR = { - is_married = yes - exists = betrothed - } - } - desc = TAKE_THE_VOWS_MARRIED_OR_BETROTHED - } - - modifier = { - add = -150 - scope:recipient = { - is_primary_heir_of = scope:actor - } - desc = TAKE_THE_VOWS_PRIMARY_HEIR - } - - modifier = { - add = -75 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value = 2 - } - } - desc = TAKE_THE_VOWS_SECOND_HEIR - } - - modifier = { - add = -50 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value = 3 - } - } - desc = TAKE_THE_VOWS_THIRD_HEIR - } - - modifier = { - add = -25 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value >= 4 - value <= 10 - } - } - desc = TAKE_THE_VOWS_HEIR - } - - modifier = { - add = -100 - scope:recipient = { - NOT = { is_heir_of = scope:actor } - any_heir_title = { - exists = holder - NOT = { - holder = scope:actor - } - } - NOT = { - is_primary_heir_of = scope:actor - } - } - desc = TAKE_THE_VOWS_HEIR_TO_OTHER_TITLE - } - - modifier = { - add = -50 - scope:recipient = { - NOT = { is_heir_of = scope:actor } - any_parent = { - any_held_title = { - place_in_line_of_succession = { - target = scope:recipient - value < 5 - } - NOT = { - place_in_line_of_succession = { - target = scope:recipient - value < 2 - } - } - } - } - NOT = { - is_primary_heir_of = scope:actor - } - } - desc = TAKE_THE_VOWS_IN_LINE_TO_OTHER_TITLE - } - - modifier = { #Rivalry modifier. - desc = offer_vassalization_interaction_aibehavior_rival_tt - trigger = { - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - add = -50 - } - modifier = { #Nemesis modifier. - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = -100 - } - - #Dread modifiers - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - } - - # AI will do - - ai_potential = { - is_adult = yes - piety >= major_piety_value - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = courtiers - max = 5 - } - - ai_targets = { - ai_recipients = family - } - - ai_frequency = 72 - - ai_will_do = { - base = 0 - - modifier = { # The AI will always use a Hook - scope:hook = yes - add = 1 - } - - modifier = { # Try to send rivals - add = 100 - scope:actor = { - OR = { - has_relation_rival = scope:recipient - has_relation_nemesis = scope:recipient - } - } - } - - modifier = { # Try to send people who would make poor heirs - add = 50 - scope:recipient = { - OR = { - has_trait = murderer - has_trait = incestuous - has_trait = sodomite - has_trait = cannibal - has_trait = deviant - has_trait = kinslayer - has_trait = adulterer - has_trait = fornicator - has_trait = maimed - has_trait = drunkard - has_trait = hashishiyah - has_trait = flagellant - has_trait = reclusive - num_of_bad_genetic_traits >= 1 - num_sinful_traits >= 2 - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value <= 7 - } - } - } - } - - modifier = { # Try to send people who would make poor heirs - add = 25 - scope:recipient = { - is_adult = yes - calc_true_if = { - amount >= 3 - - diplomacy < 8 - stewardship < 8 - martial < 8 - intrigue < 8 - learning < 8 - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value <= 7 - } - } - } - } - - modifier = { # Sending one of your heirs is almost customary - add = 100 - scope:actor = { - any_child = { - count >= 3 - } - NOT = { - any_child = { - OR = { - has_trait = devoted - has_trait = order_member - } - } - } - } - scope:recipient = { - is_child_of = scope:actor - has_education_martial_trigger = yes - } - } - - modifier = { # Zealous characters generally want to send characters to the Holy Order - add = 50 - scope:actor = { - ai_zeal >= high_positive_ai_value - } - scope:recipient = { - has_education_martial_trigger = yes - } - } - - modifier = { # Greedy characters want to rid their court of potential threats - add = 50 - scope:actor = { - ai_greed >= medium_positive_ai_value - any_child = { - count >= 1 - } - } - scope:recipient = { - NOT = { - is_child_of = scope:actor - } - any_claim = { - exists = holder - holder = scope:actor - } - } - } - - modifier = { # The AI doesn't ask married/betrothed people - factor = 0 - scope:recipient = { - OR = { - exists = betrothed - is_married = yes - } - } - } - - modifier = { # Never ask Primary Heir - factor = 0 - scope:recipient = { - is_primary_heir_of = scope:actor - } - } - - modifier = { # Only care about family - factor = 0 - scope:recipient = { - NOT = { - is_close_or_extended_family_of = scope:actor - } - } - } - } -} - - -#Ask to take the vows for a monastery -#by Linnéa Thimrén & Bianca Savazzi -take_vows_interaction = { - category = interaction_category_vassal - icon = religious - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - #can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - common_interaction = yes - cooldown_against_recipient = { years = 10 } - - desc = take_vows_interaction_desc - - on_decline_summary = take_vows_decline_summary - - greeting = negative - notification_text = REQUEST_VOWS_NOTIFICATION_TEXT - - is_shown = { - scope:recipient = { - is_courtier_of = scope:actor - NOR = { - has_trait = devoted - has_trait = order_member - } - } - NOT = { #Not your bishop - scope:actor = { - any_learning_councillor = { this = scope:recipient } - } - } - scope:actor.faith = { - has_doctrine_parameter = take_vows_active # Faith has Monastery order that recipient can be sent to - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - age >= 10 - is_courtier_of = scope:actor - can_take_religious_vows_trigger = yes #Triggers that applies to both Monastery or Holy Order requirements - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - #Use hook - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - cost = { - piety = scope:recipient.ask_to_take_vows_piety_cost - } - - on_send = { - scope:recipient = { - set_variable = { - name = vows_piety_spent - value = ask_to_take_vows_piety_cost - days = 10 - } - } - } - - on_accept = { - scope:actor = { - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - - # Legitimacy loss if you're doing this to your children - if = { - limit = { - scope:recipient = { is_primary_heir_of = scope:actor } - } - add_legitimacy = { - value = minor_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - else_if = { - limit = { - scope:recipient = { is_child_of = scope:actor } - has_legitimacy = yes - } - add_legitimacy = { - value = miniscule_legitimacy_loss - multiply = scope:actor.primary_title.tier - } - } - - show_as_tooltip = { - send_child_to_clergy_effect = yes - } - scope:recipient = { - if = { - limit = { - scope:actor.top_liege = { - any_vassal_or_below = { - government_has_flag = government_is_theocracy - primary_title.tier > tier_barony - faith = scope:actor.faith - } - } - } - scope:actor.top_liege = { - random_vassal_or_below = { - limit = { - government_has_flag = government_is_theocracy - primary_title.tier > tier_barony - faith = scope:actor.faith - } - save_scope_as = theocratic_travel_target - } - } - visit_court_of = scope:theocratic_travel_target - } - else_if = { - limit = { - exists = scope:actor.capital_province - } - move_to_pool_at = scope:actor.capital_province - } - kick_from_court_interaction_warning_tooltip_effect = yes - } - trigger_event = holy_order.0002 - if = { - limit = { - exists = cp:councillor_court_chaplain - scope:recipient = { - is_close_family_of = scope:actor - } - } - cp:councillor_court_chaplain = { - add_opinion = { - target = scope:actor - modifier = pious_opinion - opinion = 25 - } - } - } - if = { - limit = { - exists = faith.religious_head - NOT = { - faith.religious_head = scope:actor - } - scope:recipient = { - is_close_family_of = scope:actor - } - } - faith.religious_head = { - add_opinion = { - target = scope:actor - modifier = pious_opinion - opinion = 10 - } - } - } - } - - hidden_effect = { - scope:recipient = { - remove_variable = vows_piety_spent - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_take_vows.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = asked_me_to_take_vows_opinion - years = 10 - } - } - #Letter event informing the character about the rejection. - scope:actor = { - trigger_event = { - id = religious_interaction.1031 - } - } - - # Refund piety cost - show_as_tooltip = { - scope:actor = { - add_piety_no_experience = { - value = scope:recipient.ask_to_take_vows_piety_cost - } - } - } - # Refund piety cost - hidden_effect = { - if = { - limit = { - scope:recipient = { - has_variable = vows_piety_spent - } - } - scope:actor = { - add_piety_no_experience = { - value = scope:recipient.var:vows_piety_spent - } - } - scope:recipient = { - remove_variable = vows_piety_spent - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_refused_to_take_vows.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - scope:hook = yes - add = 50 - desc = SCHEME_WEAK_HOOK_USED - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - desc = AI_SIMPLE_OPINION_REASON - } - modifier = { - add = ai_zeal - ai_zeal < 0 - desc = TAKE_THE_VOWS_SKEPTIC - } - modifier = { - add = { - value = ai_zeal - divide = 2 - } - ai_zeal > 0 - desc = TAKE_THE_VOWS_ZEALOUS - } - modifier = { - add = { - value = ai_greed - multiply = -1 - } - ai_greed > 0 - desc = TAKE_THE_VOWS_GREED - } - modifier = { - add = 50 - scope:recipient = { - age >= 45 - is_visibly_fertile = no - NOT = { - any_heir_title = { - exists = holder - } - } - } - desc = TAKE_THE_VOWS_RETIRE_IN_CHURCH - } - modifier = { - add = 50 - exists = scope:actor.cp:councillor_court_chaplain - scope:recipient = { - OR = { - has_relation_lover = scope:actor.cp:councillor_court_chaplain - has_relation_friend = scope:actor.cp:councillor_court_chaplain - has_secret_relation_lover = scope:actor.cp:councillor_court_chaplain - has_relation_soulmate = scope:actor.cp:councillor_court_chaplain - has_relation_best_friend = scope:actor.cp:councillor_court_chaplain - opinion = { - target = scope:actor.cp:councillor_court_chaplain - value >= very_high_positive_opinion - } - } - } - desc = TAKE_THE_VOWS_INSPIRING_COURT_CHAPLAIN - } - modifier = { - add = 50 - scope:recipient = { - OR = { - any_relation = { - type = friend - is_clergy = yes - } - any_relation = { - type = best_friend - is_clergy = yes - } - any_relation = { - type = lover - is_clergy = yes - } - any_relation = { - type = soulmate - is_clergy = yes - } - any_relation = { - type = crush - is_clergy = yes - } - any_secret = { - secret_type = secret_lover - secret_target = { - is_clergy = yes - } - } - } - } - desc = TAKE_THE_VOWS_INSPIRING_CLERGY - } - modifier = { - add = 50 - scope:recipient = { - has_education_learning_trigger = yes - } - desc = TAKE_THE_VOWS_LEARNING_EDUCATION - } - - modifier = { - add = { - add = 20 - multiply = scope:recipient.num_virtuous_traits - } - scope:recipient.num_virtuous_traits > 0 - desc = TAKE_THE_VOWS_VIRTUOUS - } - - modifier = { - add = { - add = -20 - multiply = scope:recipient.num_sinful_traits - } - scope:recipient.num_sinful_traits > 0 - desc = TAKE_THE_VOWS_SINFUL - } - - #Positive Personality Modifiers - modifier = { # Wants to help people - add = { - value = ai_compassion - divide = 2 - } - scope:recipient = { - ai_compassion > 0 - has_trait = lifestyle_physician - } - desc = TAKE_THE_VOWS_PHYSICIAN_WANTS_TO_HELP - } - modifier = { - add = 1200 - scope:recipient = { - has_trait = reclusive - } - desc = TAKE_THE_VOWS_RECLUSIVE - } - modifier = { - add = 25 - scope:recipient = { - has_trait = curious - } - desc = TAKE_THE_VOWS_CURIOUS - } - modifier = { - add = 50 - scope:recipient = { - has_trait = pensive - } - desc = TAKE_THE_VOWS_PENSIVE - } - modifier = { # Loves books & knowledge! - add = 20 - scope:recipient = { - has_trait = lifestyle_mystic - } - desc = TAKE_THE_VOWS_MYSTIC - } - modifier = { # Loves books & knowledge! - add = 20 - scope:recipient = { - has_trait = scholar - } - desc = TAKE_THE_VOWS_SCHOLAR - } - modifier = { # Loves books & knowledge! - add = 20 - scope:recipient = { - has_trait = theologian - } - desc = TAKE_THE_VOWS_THEOLOGIAN - } - modifier = { # Plants! - add = 20 - scope:recipient = { - has_trait = lifestyle_herbalist - } - desc = TAKE_THE_VOWS_HERBALIST - } - modifier = { - add = 25 - scope:recipient = { - has_trait = temperate - } - desc = TAKE_THE_VOWS_TEMPERATE - } - modifier = { - add = 50 - scope:recipient = { - has_trait = celibate - } - desc = TAKE_THE_VOWS_CELIBATE - } - modifier = { - add = 25 - scope:recipient = { - has_trait = chaste - } - desc = TAKE_THE_VOWS_CHASTE - } - modifier = { - add = 25 - scope:recipient = { - has_trait = content - } - desc = TAKE_THE_VOWS_CONTENT - } - modifier = { - add = 25 - scope:recipient = { - has_trait = humble - } - desc = TAKE_THE_VOWS_HUMBLE - } - modifier = { - add = 10 - scope:recipient = { - has_trait = drunkard - } - desc = TAKE_THE_VOWS_DRUNKARD - } - modifier = { - add = 10 - scope:recipient = { - has_trait = hashishiyah - } - desc = TAKE_THE_VOWS_HASHISHIYAH - } - modifier = { - add = 50 - scope:recipient = { - has_trait = trusting - } - desc = TAKE_THE_VOWS_TRUSTING - } - - #Negative Personality Modifiers - modifier = { - add = -50 - scope:recipient = { - has_trait = rowdy - } - desc = TAKE_THE_VOWS_ROWDY - } - modifier = { - add = -25 - scope:recipient = { - has_trait = bossy - } - desc = TAKE_THE_VOWS_BOSSY - } - modifier = { - add = -20 - scope:recipient = { - has_trait = gluttonous - } - desc = TAKE_THE_VOWS_GLUTTONOUS - } - modifier = { - add = -20 - scope:recipient = { - has_trait = lustful - } - desc = TAKE_THE_VOWS_LUSTFUL - } - modifier = { - add = -500 - scope:recipient = { - has_trait = pregnant - } - desc = TAKE_THE_VOWS_PREGNANT - } - modifier = { - add = -500 - scope:recipient = { - has_trait = ambitious - } - desc = TAKE_THE_VOWS_AMBITIOUS - } - - modifier = { - add = -50 - scope:recipient = { - OR = { - is_married = yes - exists = betrothed - } - } - desc = TAKE_THE_VOWS_MARRIED_OR_BETROTHED - } - - modifier = { - add = -150 - scope:recipient = { - is_primary_heir_of = scope:actor - } - desc = TAKE_THE_VOWS_PRIMARY_HEIR - } - - modifier = { - add = -75 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value = 2 - } - } - desc = TAKE_THE_VOWS_SECOND_HEIR - } - - modifier = { - add = -50 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value = 3 - } - } - desc = TAKE_THE_VOWS_THIRD_HEIR - } - - modifier = { - add = -25 - scope:recipient = { - NOT = { - is_primary_heir_of = scope:actor - } - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value >= 4 - value <= 10 - } - } - desc = TAKE_THE_VOWS_HEIR - } - - modifier = { - add = -100 - scope:recipient = { - NOT = { is_heir_of = scope:actor } - any_heir_title = { - exists = holder - NOT = { - holder = scope:actor - } - } - NOT = { - is_primary_heir_of = scope:actor - } - } - desc = TAKE_THE_VOWS_HEIR_TO_OTHER_TITLE - } - - modifier = { - add = -50 - scope:recipient = { - NOT = { is_heir_of = scope:actor } - any_parent = { - any_held_title = { - place_in_line_of_succession = { - target = scope:recipient - value < 5 - } - NOT = { - place_in_line_of_succession = { - target = scope:recipient - value < 2 - } - } - } - } - NOT = { - is_primary_heir_of = scope:actor - } - } - desc = TAKE_THE_VOWS_IN_LINE_TO_OTHER_TITLE - } - - modifier = { #Rivalry modifier. - desc = offer_vassalization_interaction_aibehavior_rival_tt - trigger = { - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - add = -50 - } - modifier = { #Nemesis modifier. - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = -100 - } - - #Dread modifiers - modifier = { - add = 25 - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = 50 - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - # Culture Tradition modifiers - - modifier = { - add = { - value = 25 - if = { - limit = { - scope:recipient = { - is_adult = no - is_child_of = scope:actor - } - } - add = 100 - } - } - scope:actor.culture = { has_cultural_parameter = monastic_expectations } - desc = MONASTIC_EXPECTATIONS_REASON - } - } - - # AI will do - - ai_potential = { - is_adult = yes - piety >= major_piety_value - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = courtiers - max = 5 - } - - ai_targets = { - ai_recipients = children - } - - ai_frequency = 72 - - ai_will_do = { - base = 0 - - modifier = { - add = -50 - scope:actor = { - OR = { - legitimacy_level = 0 - legitimacy_level = 1 - } - } - scope:recipient = { is_primary_heir_of = scope:actor } - } - - modifier = { # The AI will always use a Hook - scope:hook = yes - add = 1 - } - - modifier = { # Try to send rivals - add = 100 - scope:actor = { - OR = { - has_relation_rival = scope:recipient - has_relation_nemesis = scope:recipient - } - } - } - - modifier = { # Try to send people who would make poor heirs - add = 50 - scope:recipient = { - OR = { - has_trait = murderer - has_trait = incestuous - has_trait = sodomite - has_trait = cannibal - has_trait = deviant - has_trait = kinslayer - has_trait = adulterer - has_trait = fornicator - has_trait = maimed - has_trait = drunkard - has_trait = hashishiyah - has_trait = flagellant - has_trait = reclusive - num_of_bad_genetic_traits >= 1 - num_sinful_traits >= 2 - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value <= 7 - } - } - } - } - - modifier = { # Try to send people who would make poor heirs - add = 25 - scope:recipient = { - is_adult = yes - calc_true_if = { - amount >= 3 - - diplomacy < 8 - stewardship < 8 - martial < 8 - intrigue < 8 - learning < 8 - } - scope:actor.primary_title = { - place_in_line_of_succession = { - target = prev - value <= 7 - } - } - } - } - - modifier = { # Sending one of your heirs is almost customary - add = 100 - scope:actor = { - any_child = { - count >= 3 - } - NOT = { - any_child = { - OR = { - has_trait = devoted - has_trait = order_member - } - } - } - } - scope:recipient = { - is_child_of = scope:actor - has_education_learning_trigger = yes - } - } - - modifier = { # Zealous characters generally want to send characters to the clergy - add = 50 - scope:actor = { - ai_zeal >= high_positive_ai_value - } - scope:recipient = { - has_education_learning_trigger = yes - } - } - - modifier = { # Greedy characters want to rid their court of potential threats - add = 50 - scope:actor = { - ai_greed >= medium_positive_ai_value - any_child = { - count >= 1 - } - } - scope:recipient = { - NOT = { - is_child_of = scope:actor - } - any_claim = { - exists = holder - holder = scope:actor - } - } - } - - modifier = { # The AI doesn't ask married/betrothed people - factor = 0 - scope:recipient = { - OR = { - exists = betrothed - is_married = yes - } - } - } - - modifier = { # Never ask Primary Heir - factor = 0 - scope:recipient = { - is_primary_heir_of = scope:actor - } - } - - modifier = { # Only care about family - factor = 0 - scope:recipient = { - NOT = { - is_close_or_extended_family_of = scope:actor - } - } - } - - modifier = { - factor = 0 - scope:recipient.liege ?= { is_ai = no } - } - } -} - -### End Monasticism tenets ### - -######################### -# Temporal Condemnation -# by Petter Vilberg -######################### - -temporal_condemnation_interaction = { - category = interaction_category_religion - desc = { - first_valid = { - triggered_desc = { - trigger = { scope:actor.faith = faith:quranist } - desc = temporal_condemnation_interaction_desc_fasiq - } - desc = temporal_condemnation_interaction_desc - } - } - icon = religious - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor.faith = { - has_doctrine_parameter = temporal_condemnation_enabled - } - scope:recipient = { - liege = scope:actor - } - scope:recipient = { - is_playable_character = yes - } - } - - cooldown = { years = 5 } - - is_valid = { - scope:actor = { - piety >= medium_piety_value - } - custom_description = { - text = temporal_condemnation_learning_requirement - subject = scope:actor - object = scope:recipient - value = religious_legal_pronouncement_learning_requirement - religious_legal_pronouncement_requirements >= 0 - scope:actor = { learning >= 1 } - } - } - - is_valid_showing_failures_only = { - scope:recipient.religion = scope:actor.religion - custom_description = { - text = temporal_condemnation_is_not_sinful - object = scope:recipient - scope:recipient = { - num_sinful_traits = { value > 0 faith = scope:actor.faith } - } - } - trigger_if = { - limit = { - scope:recipient.num_sinful_traits > 0 - scope:actor.num_sinful_traits > 0 - } - custom_description = { - text = temporal_condemnation_less_sinful_than_me - object = scope:recipient - scope:actor.num_sinful_traits < scope:recipient.num_sinful_traits - } - } - custom_description = { - text = temporal_condemnation_has_been_condemned - object = scope:recipient - scope:recipient = { - NOT = { - has_character_modifier = temporal_condemnation_modifier - } - } - } - NAND = { - exists = scope:actor.faith.great_holy_war - scope:actor.faith.great_holy_war = { - has_pledged_attacker = scope:recipient - } - } - scope:recipient = { - is_adult = yes - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:recipient = { is_busy_in_events_localised = yes } - } - - auto_accept = yes - force_notification = yes - notification_text = temporal_condemnation_interaction.notification - - on_accept = { - scope:actor = { - add_piety = medium_piety_loss - add_opinion = { - target = scope:recipient - modifier = temporal_condemnation_opinion - years = 10 - } - custom_tooltip = temporal_condemnation_revoke_reason - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = temporal_condemnation_interaction.tt - left_icon = scope:recipient - show_as_tooltip = { custom_tooltip = temporal_condemnation_got_revoke_reason } - } - } - stress_impact = { - cynical = minor_stress_impact_gain - } - } - scope:recipient = { - add_character_modifier = { - modifier = temporal_condemnation_modifier - years = 15 - } - add_opinion = { - target = scope:actor - modifier = temporal_condemnation_condemned_me_opinion - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_condemn_sins.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -######################### -# Host Honored Guest -# by Sean Hughes -######################### - -host_honored_guest_interaction = { - icon = religious - category = interaction_category_friendly - - desc = host_honored_guest_interaction_desc - - ai_targets = { - ai_recipients = vassals - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 60 - - cooldown = { years = 1 } - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor = { - is_playable_character = yes - is_adult = yes - faith = { - has_doctrine_parameter = host_honored_guests_active - } - } - } - - is_valid_showing_failures_only = { - # Target faith is Hostile. - custom_description = { - text = host_honored_guest_is_hostile - object = scope:recipient - NOT = { - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value = faith_hostile_level - } - } - } - } - } - # Target faith is Evil. - custom_description = { - text = host_honored_guest_is_evil - object = scope:recipient - NOT = { - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value = faith_evil_level - } - } - } - } - } - # Target is sick - custom_description = { - text = host_honored_guest_is_unwell - object = scope:recipient - scope:recipient = { - is_healthy = yes - } - } - # Target is commanding an army - custom_description = { - text = host_honored_guest_is_commanding - object = scope:recipient - scope:recipient = { - is_commanding_army = no - } - } - # Target is imprisoned - custom_description = { - text = host_honored_guest_is_imprisoned - object = scope:recipient - scope:recipient = { - is_imprisoned = no - } - } - # At war with target - custom_description = { - text = host_honored_guest_is_at_war - object = scope:recipient - scope:recipient = { - NOT = { is_at_war_with = scope:actor } - } - } - # Is my courtier - custom_description = { - text = host_honored_guest_is_my_courtier - object = scope:recipient - scope:recipient = { - NOT = { is_courtier_of = scope:actor } - } - } - } - - auto_accept = yes - force_notification = yes - notification_text = host_honored_guest_interaction.notification - #answer_accept_key = host_honored_guest_interaction.response - - on_accept = { - scope:actor = { - stress_impact = { - cynical = minor_stress_impact_gain - shy = minor_stress_impact_gain - } - } - scope:recipient = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = host_honored_guest_interaction_recipient.notification - left_icon = scope:actor - } - } - # Spend piety based on recipient's tier. - if = { - limit = { - highest_held_title_tier <= tier_county - } - scope:actor = { - add_piety = minor_piety_loss - } - } - else_if = { - limit = { - highest_held_title_tier = tier_duchy - } - scope:actor = { - add_piety = medium_piety_loss - } - } - else_if = { - limit = { - highest_held_title_tier = tier_kingdom - } - scope:actor = { - add_piety = major_piety_loss - } - } - else_if = { - limit = { - highest_held_title_tier = tier_empire - } - scope:actor = { - add_piety = massive_piety_loss - } - } - - # Increase opinion of recipient. - add_opinion = { - modifier = pleased_opinion - target = scope:actor - opinion = { - value = 20 - - # Zealous characters more likely to appreciate the religious ceremony (if of your faith) - if = { - limit = { - has_trait = zealous - faith = scope:actor.faith - } - add = 10 - } - # Cynical characters, or characters who do not believe in the hospitality ritual, are less likely to be appreciative. - else_if = { - limit = { - OR = { - has_trait = cynical - NOT = { - faith = { - has_doctrine_parameter = host_honored_guests_active - } - } - } - } - subtract = 10 - } - - # But arrogant characters like it more regardless. - if = { - limit = { - has_trait = arrogant - } - add = 10 - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_honored_guest.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_potential = { - piety >= major_piety_value - } - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - is_powerful_vassal_of = scope:actor - liege = root - } - opinion = { - target = scope:actor - value = {-15 0 } - } - } - } - - modifier = { - add = 75 - scope:recipient = { - OR = { - is_powerful_vassal_of = scope:actor - liege = root - } - opinion = { - target = scope:actor - value = { 0 20 } - } - } - } - - modifier = { - add = 40 - scope:recipient = { - OR = { - is_powerful_vassal_of = scope:actor - liege = root - } - opinion = { - target = scope:actor - value = { 20 60 } - } - } - } - - modifier = { - add = 10 - scope:recipient = { - OR = { - is_powerful_vassal_of = scope:actor - liege = root - } - opinion = { - target = scope:actor - value = { 60 100 } - } - } - } - } -} - -# Spiritual Head of Faith Actions - -hof_ask_for_gold_interaction = { - icon = icon_gold - category = interaction_category_religion - - desc = hof_ask_for_gold_interaction_desc - - ai_targets = { - ai_recipients = head_of_faith - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 24 - - cooldown_against_recipient = { years = 3 } - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor.faith = { - religious_head = scope:recipient - has_doctrine = doctrine_spiritual_head - } - scope:actor = { - is_playable_character = yes - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - gold >= scope:actor.head_of_faith_gold_value - } - scope:actor = { - piety >= major_piety_value - custom_description = { - text = "hof_ask_for_gold_excommunicated" - NOT = { has_trait = excommunicated } - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:actor = { - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - ai_accept = { - base = -40 - - compare_modifier = { - value = scope:recipient.gold - trigger = { - scope:recipient.gold > 2500 - } - offset = -2500 - multiplier = 0.1 - max = 50 - desc = ASK_FOR_GOLD_OVERFLOWING_COFFERS - } - - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 0.5 - } - - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - trigger = { - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - } - - modifier = { # Attacking a co-religionist - add = -50 - desc = I_AM_ATTACKING_A_CORELIGIONIST - scope:actor = { - is_at_war = yes - any_character_war = { - primary_attacker = scope:actor - primary_defender.faith = scope:actor.faith - primary_defender = { - NOT = { - has_trait = excommunicated - } - } - } - } - } - - modifier = { # Offensive holy war/excommunication war - add = 30 - desc = I_AM_WAGING_AN_OFFENSIVE_HOLY_OR_EXCOMMUNICATION_WAR - scope:actor = { - is_at_war = yes - any_character_war = { - is_attacker = scope:actor - OR = { - using_non_ghw_holy_war_cb_trigger = yes - using_cb = excommunication_war - } - } - } - } - - modifier = { # Defensive Holy War - add = 50 - desc = I_AM_DEFENDING_AGAINST_A_HOLY_WAR - scope:actor = { - is_at_war = yes - any_character_war = { - is_defender = scope:actor - using_non_ghw_holy_war_cb_trigger = yes - } - } - } - - modifier = { # HoF wants the money for themselves! - add = -20 - desc = THEY_ARE_GREEDY - scope:recipient = { - ai_greed >= high_positive_greed - } - } - - modifier = { # I am rich already - add = -25 - desc = I_AM_RICH - scope:actor = { - gold >= scope:actor.medium_treasury_value - NOT = { - gold >= scope:actor.major_treasury_value - } - } - } - - modifier = { # I am rich already - add = -50 - desc = I_AM_RICH - scope:actor = { - gold >= scope:actor.major_treasury_value - NOT = { - gold >= scope:actor.massive_treasury_value - } - } - } - - modifier = { # I am very rich already - add = -75 - desc = I_AM_RICH - scope:actor = { - gold >= scope:actor.massive_treasury_value - } - } - - modifier = { # I am Adulterer/Fornicator - add = -25 - desc = I_AM_ADULTERER - scope:actor = { - OR = { - AND = { - has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } - } - } - } - } - - modifier = { # I am a Murderer - add = -50 - desc = I_AM_MURDERER - scope:actor = { - has_trait = murderer - } - } - - modifier = { # I am Incestous - add = -50 - desc = I_AM_INCESTOUS - scope:actor = { - NOT = { scope:recipient = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } } - has_trait = incestuous - } - } - - modifier = { # I am a Kinslayer - add = -50 - desc = I_AM_A_KINSLAYER - scope:actor = { - OR = { - AND = { - has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } - } - } - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_SAVIOR - add = 15 - scope:actor = { - has_trait = savior - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_DIVINE_BLOOD - add = 5 - scope:actor = { - has_trait = divine_blood - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_PARAGON - add = 15 - scope:actor = { - has_trait = paragon - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD - add = 5 - scope:actor = { - has_trait = consecrated_blood - } - } - - modifier = { # You are of the same dynasty as the Head of Faith - add = 5 - desc = YOU_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - dynasty = scope:actor.dynasty - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:secondary_recipient.dynasty - } - } - } - - modifier = { # You are of the same house as the Head of Faith - add = 10 - desc = YOU_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - house = scope:actor.house - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:secondary_recipient.house - } - } - } - - modifier = { # Related to the Head of Faith - add = 10 - desc = YOU_ARE_MY_RELATIVE - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - } - NOT = { is_child_of = scope:actor } - } - } - - modifier = { # Parent of the Head of Faith - add = 25 - desc = YOU_ARE_MY_PARENT - scope:recipient = { - is_child_of = scope:actor - } - } - - modifier = { # Friend of the Head of Faith - add = 25 - desc = WE_ARE_FRIENDS - scope:recipient = { - has_relation_friend = scope:actor - } - } - - modifier = { # Best Friend of the Head of Faith - add = 50 - desc = WE_ARE_BEST_FRIENDS - scope:recipient = { - has_relation_best_friend = scope:actor - } - } - - modifier = { # Lover of the Head of Faith - add = 10 - desc = WE_ARE_LOVERS - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { # Rival of the Head of Faith - add = -100 - desc = WE_ARE_RIVALS - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { # Nemesis of the Head of Faith - add = -500 - desc = WE_ARE_NEMESES - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - - modifier = { - add = { - add = 10 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = I_AM_VIRTUOUS - } - - modifier = { - add = { - add = 5 - multiply = scope:actor.piety_level - } - scope:actor.piety_level > 1 - desc = I_AM_PIOUS - } - - modifier = { - add = { - add = 5 - multiply = scope:actor.piety_level - } - scope:actor.piety_level > 2 - scope:actor.gold < 0 - desc = I_AM_PIOUS_AND_BROKE - } - - modifier = { - add = { - add = -10 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = I_AM_SINFUL - } - - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - - modifier = { - add = -25 - desc = BASE_RELUCTANCE - trigger = { - has_game_rule = hard_difficulty - scope:actor = { - is_ai = no - } - } - } - - modifier = { - add = -75 - desc = BASE_RELUCTANCE - trigger = { - has_game_rule = very_hard_difficulty - scope:actor = { - is_ai = no - } - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - hof_ask_for_gold_interaction_effect = yes - - scope:actor = { - trigger_event = religious_interaction.3 - } - } - - on_decline = { - scope:actor = { - trigger_event = religious_interaction.32 - } - } - - ai_potential = { - is_playable_character = yes - piety >= major_piety_value - NOT = { has_trait = excommunicated } - highest_held_title_tier > tier_barony - exists = faith.religious_head - } - - ai_will_do = { - base = 0 - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { # Counts get a bad 'exchange rate' due to their low income. - highest_held_title_tier < tier_county - scope:recipient.gold < 3000 - add = -50 - } - modifier = { # Dukes are also somewhat reluctant to request gold if not independent. - highest_held_title_tier = tier_duchy - is_independent_ruler = no - scope:recipient.gold < 3000 - add = -25 - } - - modifier = { # I am low on money while at war - add = 300 - scope:actor = { - is_at_war = yes - gold < medium_gold_value - } - } - modifier = { # I am in debt - add = 300 - scope:actor = { - gold < 0 - } - } - - modifier = { # Piety to burn, and no reason to keep it. - add = 25 - scope:actor = { - piety > massive_piety_value - NOR = { - has_character_modifier = vow_of_poverty_modifier - has_trait = generous - } - } - } - modifier = { # Or when greedy - add = scope:actor.ai_greed - scope:actor = { - ai_greed > 0 - } - } - - modifier = { # If the Pope has overflowing coffers, it'd be rather impious to NOT ask him to give some to a fellow, poor and struggling christian! - add = 50 - scope:actor = { - piety > major_piety_value - } - scope:recipient.gold >= 3000 - } - - modifier = { - add = 100 - scope:actor = { - ai_has_economical_boom_personality = yes - } - scope:recipient.gold >= 1000 - } - - modifier = { - add = 100 - scope:actor = { - ai_has_warlike_personality = yes - war_chest_gold < war_chest_gold_maximum - } - scope:recipient.gold >= 1000 - } - } -} - -hof_ask_for_claim_interaction = { - category = interaction_category_diplomacy - icon = religious_claim - interface_priority = 35 - - desc = hof_ask_for_claim_interaction_desc - target_type = title - target_filter = secondary_recipient_domain_titles - redirect = { - if = { - limit = { - exists = scope:actor.faith.religious_head - } - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor.faith.religious_head = { - save_scope_as = recipient - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_county - is_noble_family_title = no - } - trigger_if = { # Admin can't request claim on other admin titles, only the top liege's primary title is up for grabs - limit = { - scope:secondary_recipient = { - government_has_flag = government_is_administrative - is_independent_ruler = yes - } - scope:actor = { - government_has_flag = government_is_administrative - } - } - scope:target = { - this = scope:secondary_recipient.primary_title - } - } - } - - is_shown = { - exists = scope:actor.faith.religious_head - scope:actor.faith = scope:secondary_recipient.faith - NOR = { - scope:actor = scope:secondary_recipient - scope:secondary_recipient = scope:recipient - } - exists = scope:actor.faith.religious_head - scope:actor.faith = { - has_doctrine = doctrine_spiritual_head - } - scope:secondary_recipient = { - is_landed_or_landless_administrative = yes - primary_title = { tier >= tier_county } - NOT = { government_has_flag = government_is_holy_order } - } - } - - is_valid_showing_failures_only = { - trigger_if = { # Can't request on titles you already have a pressed claim on - limit = { - exists = scope:target - scope:actor = { - has_strong_claim_on = scope:target - } - } - custom_description = { - text = "hof_ask_for_claim_has_pressed_claim_already" - always = no - } - } - trigger_if = { # Can't request claims on baronies - limit = { - OR = { - scope:recipient.highest_held_title_tier = tier_barony - AND = { - exists = scope:target - scope:target = { - tier = tier_barony - } - } - } - } - custom_description = { - text = "hof_ask_for_claim_no_baronies" - always = no - } - } - trigger_if = { # Can't request claims on theocratic lessees or theocracies (= Prince-Bishops) - limit = { - scope:secondary_recipient = { - government_has_flag = government_is_theocracy - } - } - custom_description = { - text = "hof_ask_for_claim_theocratic_lessee" - always = no - } - } - trigger_if = { # Admin can't request claims on other admin titles - limit = { - scope:secondary_recipient = { - government_has_flag = government_is_administrative - NOT = { is_independent_ruler = yes } - } - scope:actor = { - government_has_flag = government_is_administrative - } - } - custom_description = { - text = "hof_ask_for_claim_on_admin_titles" - always = no - } - } - scope:actor = { # Variable piety cost depending on tier - trigger_if = { - limit = { - exists = scope:target - } - piety >= claim_piety_value - } - custom_description = { - text = "hof_ask_for_claim_excommunicated" - NOT = { has_trait = excommunicated } - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:actor = { - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:secondary_recipient = { NOT = { has_strong_hook = scope:actor } } - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = liege - } - ai_frequency = 36 - - ai_potential = { - is_playable_character = yes - OR = { - ai_greed >= 50 - ai_has_warlike_personality = yes - } - piety >= major_piety_value - NOT = { has_trait = excommunicated } - exists = faith.religious_head - highest_held_title_tier > tier_barony - } - - ai_will_do = { - base = 0 - - modifier = { - add = scope:actor.ai_greed - } - - modifier = { - add = scope:target.tier - } - - modifier = { - add = 500 - ai_has_conqueror_personality = yes - NOR = { - has_relation_friend = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - } - } - - modifier = { - add = -100 - scope:actor = { - OR = { - has_relation_friend = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - opinion = { - target = scope:secondary_recipient - value >= high_positive_opinion - } - } - } - } - - modifier = { - factor = 0 - NOT = { - scope:target = { - is_neighbor_to_realm = scope:actor - } - } - } - } - - ai_accept = { - base = 0 # Should be 0 for all interactions - - modifier = { - scope:claim_hook ?= yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { - add = -100 - desc = BASE_RELUCTANCE - } - - modifier = { # Very difficult to claim Kingdoms/Empires when already King/Emperor - add = -100 - desc = I_AM_ALREADY_HIGH_TIER - scope:actor.primary_title ?= { - tier >= tier_kingdom - } - scope:target = { - tier >= tier_kingdom - } - } - - modifier = { # Characters with a pressed claim on a kingdom or empire already has a reduced chance of getting a claim on a kingdom or empire - add = -50 - desc = I_ALREADY_HAVE_A_KINGDOM_OR_EMPIRE_CLAIM - scope:actor = { - any_claim = { - pressed = yes - tier >= tier_kingdom - } - } - scope:target = { - tier >= tier_kingdom - } - } - - opinion_modifier = { # More likely if Recipient likes Actor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - trigger = { - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - } - modifier = { # Unlikely if recipient likes Secondary Recipient - desc = AI_OPINION_RECIPIENT_REASON - add = { - if = { - limit = { - NOT = { scope:recipient = scope:secondary_recipient } - } - subtract = "scope:recipient.opinion(scope:secondary_recipient)" - } - } - } - - modifier = { # Less likely the lower their tier is compared to you - add = { - add = -10 - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:secondary_recipient - value >= 2 - } - } - } - add = -10 - } - if = { - limit = { - scope:actor = { - tier_difference = { - target = scope:secondary_recipient - value >= 3 - } - } - } - add = -10 - } - } - desc = THEY_ARE_LOWER_TIER - scope:actor = { - tier_difference = { - target = scope:secondary_recipient - value >= 1 - } - } - } - - modifier = { # Penalty for asking claims on your own vassals - add = -50 - desc = THEY_ARE_YOUR_VASSAL - scope:actor = { - any_vassal_or_below = { - this = scope:secondary_recipient - } - } - } - - modifier = { # Bonus for adults to ask on children - add = 25 - desc = THEY_ARE_A_CHILD - scope:secondary_recipient = { - is_adult = no - } - scope:actor = { - is_adult = yes - } - } - - modifier = { # Penalty for children to ask on adults - add = -25 - desc = I_AM_A_CHILD - scope:secondary_recipient = { - is_adult = yes - } - scope:actor = { - is_adult = no - } - } - - modifier = { # Bonus for men if a woman under male preference - add = 15 - desc = THEY_ARE_FEMALE_WHEN_MALE_IS_PREFERRED - scope:secondary_recipient = { - is_adult = yes - is_female = yes - } - scope:actor = { - is_adult = yes - is_female = no - faith = { - has_doctrine = doctrine_gender_male_dominated - } - } - } - - modifier = { # Bonus for women if a man under female preference - add = 15 - desc = THEY_ARE_MALE_WHEN_FEMALE_IS_PREFERRED - scope:secondary_recipient = { - is_adult = yes - is_female = no - } - scope:actor = { - is_adult = yes - is_female = yes - faith = { - has_doctrine = doctrine_gender_female_dominated - } - } - } - - modifier = { # Penalty for women to ask claims on men under male preference - add = -15 - desc = I_AM_FEMALE_WHEN_MALE_IS_PREFERRED - scope:actor = { - is_adult = yes - is_female = yes - faith = { - has_doctrine = doctrine_gender_male_dominated - } - } - scope:secondary_recipient = { - is_adult = yes - is_female = no - } - } - - modifier = { # Penalty for men to ask claims on women under female preference - add = -15 - desc = I_AM_MALE_WHEN_FEMALE_IS_PREFERRED - scope:actor = { - is_adult = yes - is_female = no - faith = { - has_doctrine = doctrine_gender_female_dominated - } - } - scope:secondary_recipient = { - is_adult = yes - is_female = yes - } - } - - modifier = { # They are Excommunicated - add = 25 - desc = THEY_ARE_EXCOMMUNICATED - scope:secondary_recipient = { - has_trait = excommunicated - } - } - - modifier = { # I am Adulterer/Fornicator - add = -25 - desc = I_AM_ADULTERER - scope:actor = { - OR = { - AND = { - has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } - } - } - } - } - - modifier = { # They are Adulterer/Fornicator - add = 15 - desc = THEY_ARE_ADULTERER - scope:secondary_recipient = { - OR = { - AND = { - has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:secondary_recipient } - } - AND = { - has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:secondary_recipient } - } - } - } - } - - modifier = { # I am Incestous - add = -50 - desc = I_AM_INCESTOUS - scope:actor = { - NOT = { scope:recipient = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } } - has_trait = incestuous - } - } - - modifier = { # I am a Murderer - add = -50 - desc = I_AM_MURDERER - scope:actor = { - has_trait = murderer - } - } - - modifier = { # They are a Murderer - add = 15 - desc = THEY_ARE_MURDERER - scope:secondary_recipient = { - has_trait = murderer - } - } - - modifier = { # They are Incestous - add = 15 - desc = THEY_ARE_INCESTOUS - scope:secondary_recipient = { - NOT = { scope:recipient = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } } - has_trait = incestuous - } - } - - modifier = { # I am a Kinslayer - add = -50 - desc = I_AM_A_KINSLAYER - scope:actor = { - OR = { - AND = { - has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } - } - } - } - } - - modifier = { # They are a Kinslayer - add = 15 - desc = THEY_ARE_A_KINSLAYER - scope:secondary_recipient = { - OR = { - AND = { - has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:secondary_recipient } - } - AND = { - has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:secondary_recipient } - } - AND = { - has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:secondary_recipient } - } - } - } - } - - modifier = { # They are of the same dynasty as the Head of Faith - add = -50 - desc = THEY_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - dynasty = scope:secondary_recipient.dynasty - NOR = { - house = scope:secondary_recipient.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:actor.dynasty - } - } - } - - modifier = { # You are of the same dynasty as the Head of Faith - add = 10 - desc = YOU_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - dynasty = scope:actor.dynasty - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:secondary_recipient.dynasty - } - } - } - - modifier = { # They are of the same house as the Head of Faith - add = -50 - desc = THEY_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - house = scope:secondary_recipient.house - NOR = { - house = scope:actor.house - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:actor.house - } - } - } - - modifier = { # You are of the same house as the Head of Faith - add = 10 - desc = YOU_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - house = scope:actor.house - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:secondary_recipient.house - } - } - } - - modifier = { # Related to the Head of Faith - add = 25 - desc = YOU_ARE_MY_RELATIVE - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - } - NOT = { is_child_of = scope:actor } - } - } - - modifier = { # Parent of the Head of Faith - add = 50 - desc = YOU_ARE_MY_PARENT - scope:recipient = { - is_child_of = scope:actor - } - } - - modifier = { # Friend of the Head of Faith - add = 15 - desc = WE_ARE_FRIENDS - scope:recipient = { - has_relation_friend = scope:actor - } - } - - modifier = { # Best Friend of the Head of Faith - add = 20 - desc = WE_ARE_BEST_FRIENDS - scope:recipient = { - has_relation_best_friend = scope:actor - } - } - - modifier = { # Lover of the Head of Faith - add = 10 - desc = WE_ARE_LOVERS - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { # Rival of the Head of Faith - add = -100 - desc = WE_ARE_RIVALS - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { # Nemesis of the Head of Faith - add = -500 - desc = WE_ARE_NEMESES - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - - modifier = { - add = { - add = 5 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = I_AM_VIRTUOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:secondary_recipient.num_virtuous_traits - } - scope:secondary_recipient.num_virtuous_traits > 0 - desc = THEY_ARE_VIRTUOUS - } - - modifier = { - add = { - add = -20 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = I_AM_SINFUL - } - - modifier = { - add = { - add = 10 - multiply = scope:secondary_recipient.num_sinful_traits - } - scope:secondary_recipient.num_sinful_traits > 0 - desc = THEY_ARE_SINFUL - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_SAVIOR - add = 15 - scope:actor = { - has_trait = savior - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_DIVINE_BLOOD - add = 5 - scope:actor = { - has_trait = divine_blood - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_PARAGON - add = 15 - scope:actor = { - has_trait = paragon - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD - add = 5 - scope:actor = { - has_trait = consecrated_blood - } - } - modifier = { - add = 25 - scope:influence_send_option = yes - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:claim_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { # EP3 Influence - is_shown = { # Actor must have a government that uses influence - scope:actor = { - government_has_flag = government_has_influence - } - } - is_valid = { - # Actor has enough influence - scope:actor = { influence >= medium_influence_value } - # Both characters are within the same top realm - custom_tooltip = { - text = not_same_realm_tt - scope:recipient.top_liege = scope:actor.top_liege - } - } - flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE - } - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = claim_hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - hof_ask_for_claim_interaction_effect = yes - scope:secondary_recipient = { - trigger_event = religious_interaction.5 - } - scope:actor = { - trigger_event = religious_interaction.4 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:secondary_recipient - VALUE = minor_unity_loss - DESC = clan_unity_granted_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - scope:actor = { - trigger_event = religious_interaction.42 - } - } -} - -#This interaction is referenced in code! If it's renamed you have to ping a coder -hof_redirect_great_holy_war_interaction = { - hidden = yes - - target_type = title - target_filter = secondary_recipient_de_jure_titles - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor.faith.religious_head = { - save_scope_as = recipient - } - } - - auto_accept = yes - - is_shown = { - #exists = scope:actor.faith.religious_head #Called by Autonomous Faiths too. - exists = scope:actor.faith.great_holy_war - scope:actor.faith = { is_hostile_enough_for_holy_war_trigger = { FAITH = scope:secondary_recipient.faith } } - scope:secondary_recipient = { is_independent_ruler = yes } - NOT = { exists = scope:actor.faith.great_holy_war.ghw_war } - NOT = { scope:target = scope:actor.faith.great_holy_war.ghw_target_title } #Do not show the title already targeted in the list. - } - - can_be_picked_title = { - scope:target.tier = tier_kingdom - NOT = { scope:target = scope:actor.faith.great_holy_war.ghw_target_title } #Do not show the title already targeted in the list. - } - - is_valid_showing_failures_only = { - scope:actor = { piety >= faith.great_holy_war.var:redirect_cost } - scope:actor.faith.great_holy_war = { days_until_ghw_launch >= 100 } #No last minute changes. - scope:recipient = { is_busy_in_events_localised = yes } - } - - has_valid_target_showing_failures_only = { - exists = scope:target - scope:target.tier = tier_kingdom - NOT = { scope:target = scope:actor.faith.great_holy_war.ghw_target_title } #Do not show the title already targeted in the list. - } - - cost = { - piety = scope:actor.faith.great_holy_war.var:redirect_cost - } - - on_accept = { - scope:actor.faith.great_holy_war = { - #Toast for attackers - every_pledged_attacker = { - limit = { - is_ai = no - } - send_interface_toast = { - type = event_toast_effect_good - title = hof_redirected_ghw.0001.desc - left_icon = scope:actor - right_icon = scope:secondary_recipient - } - } - #Event for former defenders. - every_pledged_defender = { - limit = { - is_ai = no - } - add_to_temporary_list = former_defenders - } - } - scope:actor = { - faith.great_holy_war = { - save_scope_as = the_ghw - set_great_holy_war_target = { target_character = scope:secondary_recipient target_title = scope:target } - #Old defenders that are no longer in the area are notified. - every_in_list = { - list = former_defenders - limit = { - is_ai = no - NOT = { - scope:actor.faith.great_holy_war = { has_pledged_defender = prev } - } - } - trigger_event = great_holy_war.0081 - } - #New defenders are notified. - every_pledged_defender = { - limit = { - is_ai = no - } - trigger_event = { id = great_holy_war.0082 } - } - change_variable = { - name = redirect_cost - multiply = 2 - } - set_variable = { - name = last_redirector - value = scope:actor - } - } - hidden_effect = { - scope:actor.faith = { save_scope_as = the_faith } - scope:target = { save_scope_as = target_kingdom } - scope:secondary_recipient = { - save_scope_as = target_character - faith = { save_scope_as = target_faith } - } - every_ruler = { #Defenders Pledge to the Crusade again. (AI only) - limit = { - faith = scope:target_character.faith - is_ai = yes - is_playable_character = yes - highest_held_title_tier >= tier_county - NOT = { - scope:actor.faith.great_holy_war = { has_pledged_defender = prev } - } - } - trigger_event = { id = great_holy_war.0021 days = { 25 150 } } #AI counterpledging. Unlike attackers, defenders should be selected much faster during the preparation phase and then stop. - } - scope:target_character = { - faith = { - every_faith_holy_order = { - trigger_event = { id = great_holy_war.0091 days = { 25 60 } } #Holy order counterpledging - } - } - } - scope:actor.faith.great_holy_war = { #Recalculate Recipient. - faith = { save_scope_as = the_faith } - ghw_target_title = { save_scope_as = target_kingdom } - if = { #If Pope died in the meantime. - limit = { - OR = { - NOT = { - exists = scope:the_faith.great_holy_war.ghw_war_declarer - } - NOT = { - scope:the_faith.great_holy_war.ghw_war_declarer = { is_alive = yes } - } - } - } - scope:the_faith = { ghw_set_new_war_declarer_effect = yes } - } - scope:the_faith.great_holy_war.ghw_war_declarer = { save_scope_as = ghw_sponsor } - #Check and set sponsor if needed. - undirected_ghw_recipient_selection_effect = yes - } - } - } - } - - ai_will_do = { - base = 0 - } -} - -select_ghw_beneficiary_interaction = { - category = interaction_category_religion - icon = religious - - - populate_recipient_list = { - scope:recipient = { - #Any member of your own house. - house = { - every_house_member = { - limit = { - # Cannot select them self as beneficiary - NOT = { this = scope:recipient } - } - add_to_list = characters - } - } - #Any nearby family member who is of your dynasty, even if they're a separate house. - every_close_or_extended_family_member = { - limit = { - dynasty = scope:recipient.dynasty - NOT = { house = scope:recipient.house } - } - add_to_list = characters - } - #And then any landless heads of minor houses in your dynasty. - dynasty = { - every_dynasty_member = { - limit = { - this = this.house.house_head - NOR = { - this.house = scope:recipient.house - any_close_or_extended_family_member = { this = scope:recipient } - } - is_ruler = no - } - add_to_list = characters - } - } - # If you're a laamp, add you too. - if = { - limit = { government_has_flag = government_is_landless_adventurer } - add_to_list = characters - } - } - } - - auto_accept = yes - - is_shown = { - exists = scope:actor.faith.great_holy_war - scope:actor = { - exists = faith.great_holy_war - this = scope:recipient - is_pledged_ghw_attacker = yes - } - NOT = { scope:actor = scope:recipient.faith.great_holy_war.ghw_war_declarer } #Not for the Caliph himself. - } - - can_be_picked = { - is_adult = yes - is_ruler = no - faith = scope:actor.faith - custom_tooltip = { - text = ghw_heir_to_a_title - NOT = { - any_heir_title = {} # Not heir to anything - } - } - custom_tooltip = { - text = ghw_married_to_a_ruler - OR = { #Either not married, or not married to a ruler. - is_married = no - NOT = { - any_spouse = { - is_ruler = yes - } - } - } - } - custom_tooltip = { - text = ghw_devoted_to_their_faith - NOR = { # not dedicated to a religious career - has_trait = devoted - has_trait = order_member - } - } - } - - has_valid_target_showing_failures_only = { - scope:secondary_recipient = { - NOR = { - has_trait = excommunicated - has_trait = incapable - has_trait = devoted - has_serious_disease_trigger = yes - custom_description = { - text = "ghw_recipient_must_not_be_realm_priest" - faith = { - has_doctrine = doctrine_theocracy_temporal - } - has_council_position = councillor_court_chaplain - } - } - faith = scope:actor.faith - is_adult = yes - trigger_if = { - limit = { - NOT = { government_has_flag = government_is_landless_adventurer } - } - is_ruler = no - } - NOT = { - any_heir_title = {} # Not heir to anything - } - OR = { #Either not married, or not married to a ruler. - is_married = no - NOT = { - any_spouse = { - is_ruler = yes - } - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = select_ghw_beneficiary_interaction_notification - - right_icon = scope:secondary_recipient - - set_beneficiary = scope:secondary_recipient - } - } - } - ai_will_do = { - base = 0 #Assigned directly by event for the AI. - } -} - -sun_trial_interaction = { - interface_priority = 30 - icon = religious - - category = interaction_category_prison - - is_shown = { - scope:actor = { faith = { has_doctrine_parameter = trial_by_sun_active } } - scope:recipient = { - is_imprisoned_by = scope:actor - is_adult = yes - } - } - - is_valid_showing_failures_only = { - scope:actor = { - has_imprisonment_reason = scope:recipient - } - } - - - on_accept = { - scope:actor = { - save_scope_as = imprisoner - - sun_trial_interaction_piety_effect = yes - } - - scope:recipient = { - save_scope_as = prisoner - show_as_tooltip = { - #Prisoner has a random outcome (toast sent through prisoner's events) - random_list = { - desc = outcome_in_a_few_days - 50 = { #they die without consequences! (must match event religious_interaction.2100) - sun_trial_death_modifier = yes - desc = sun_trial_interaction.success.tt - sun_trial_death_effect = yes - } - 50 = { #they are freed and super cool! (must match event religious_interaction.2100) - sun_trial_survival_modifier = yes - desc = sun_trial_interaction.failure.tt - sun_trial_survival_effect = yes - } - } - } - hidden_effect = { #Nudge towards rivalry - if = { - limit = { - NOR = { - has_relation_rival = scope:actor - has_relation_potential_rival = scope:actor - } - } - set_relation_potential_rival = scope:actor - } - } - #Event for outcome - trigger_event = { - id = religious_interaction.2100 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_sun_trial.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} - -######################### -# Literalism tenets -# by Ewan Cowhig Croft -######################### - -#Engage in literalist debate. -#by Ewan Cowhig Croft -literalist_debate_interaction = { - icon = religious - category = interaction_category_religion - desc = literalist_debate_interaction_desc - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor.faith = { - has_doctrine_parameter = literalist_debate_enabled - } - scope:recipient = { - is_playable_character = yes - OR = { - liege = scope:actor #You may debate direct vassals. - liege = scope:actor.liege #You may debate vassals with whom you share a liege. - scope:actor.liege = scope:recipient #You may debate your direct liege. - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - } - scope:recipient = { - faith = scope:actor.faith - } - custom_description = { - text = literalist_debate_interaction_has_been_debated - object = scope:recipient - scope:recipient = { - NOT = { has_character_modifier = used_literalist_debate_modifier } #To prevent back and forth & back-to-back challenges - NOT = { has_character_modifier = literally_debated_modifier } - } - } - custom_description = { - text = literalist_debate_timing - scope:actor = { - NOT = { has_character_modifier = used_literalist_debate_modifier } - } - } - scope:recipient = { - is_adult = yes - } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - } - } - } - - auto_accept = yes - - on_accept = { - hidden_effect = { - scope:actor = { - add_character_modifier = { - modifier = used_literalist_debate_modifier - years = 2 - } - } - scope:recipient = { - trigger_event = { id = religious_interaction.2400 } - add_character_modifier = { - modifier = literally_debated_modifier - years = 10 - } - } - } - custom_tooltip = literalist_debate_interaction.tt_modifiers - scope:actor = { - stress_impact = { - cynical = minor_stress_impact_gain - } - custom_tooltip = literalist_debate_interaction.tt_winnings_actor - } - scope:recipient = { - custom_tooltip = literalist_debate_interaction.tt_winnings_recipient - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_literalist_debate.desc - REVERSE_NON_HOUSE_TARGET = no - } - } -} - -attempt_conversion_of_local_ruler_interaction = { - category = interaction_category_laamp - icon = religious - - ai_maybe = yes - ai_min_reply_days = 1 - ai_max_reply_days = 3 - popup_on_receive = yes - common_interaction = yes - - desc = attempt_conversion_of_local_ruler_interaction_desc - - is_shown = { - scope:actor = { - is_landless_adventurer = yes - has_perk = prophet_perk - } - scope:recipient = { - NOT = { faith = scope:actor.faith } - is_ai = yes - is_ruler = yes - is_landed = yes - } - } - - is_highlighted = { - scope:actor = { - is_character_interaction_potentially_accepted = { - recipient = scope:recipient - interaction = attempt_conversion_of_local_ruler_interaction - } - } - } - - cooldown_against_recipient = { years = 15 } - - can_send = { - custom_tooltip = { - text = must_be_in_domain_tt - scope:recipient = { - OR = { - capital_province ?= scope:actor.domicile.domicile_location - any_held_title = { - tier = tier_county - any_county_province = { - this = scope:actor.domicile.domicile_location - } - } - } - } - } - } - - # Use Stress - send_option = { - flag = piety - localization = USE_PIETY - } - send_option = { - flag = stress - localization = USE_STRESS - } - send_option = { - is_valid = { - scope:actor.intrigue >= scope:recipient.intrigue - } - flag = lie - localization = USE_INTRIGUE - } - send_option = { - is_valid = { - scope:actor.domicile ?= { - provisions >= { - value = 300 - multiply = scope:recipient.highest_held_title_tier - } - } - NOR = { - scope:recipient = { has_trait = arbitrary } - scope:recipient = { has_trait = sadistic } - scope:recipient = { has_trait = callous } - } - } - flag = provisions - localization = USE_PROVISIONS - } - send_option = { - is_valid = { - scope:actor = { - gold >= scope:recipient.medium_gold_value - } - NOR = { - scope:recipient = { has_trait = generous } - scope:recipient = { has_trait = humble } - } - } - flag = gold - localization = USE_GOLD - } - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - send_options_exclusive = no - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - is_valid_showing_failures_only = { - scope:recipient = { - is_available = yes - } - valid_demand_conversion_conditions_trigger = yes - } - - on_send = { - } - - cost = { - piety = { - value = { - add = medium_piety_value - multiply = scope:recipient.highest_held_title_tier - if = { - limit = { - scope:piety = yes - } - multiply = 2 - } - } - } - } - - on_accept = { - scope:actor = { - trigger_event = religious_interaction.2002 - show_as_tooltip = { - if = { - limit = { - is_landless_adventurer = yes - scope:recipient.highest_held_title_tier >= tier_barony - } - faith = { - change_fervor = { - value = { - add = 1 - multiply = scope:recipient.highest_held_title_tier - } - desc = imperial_capital_sacked_fervor_gain - } - } - add_prestige = { - value = 200 - multiply = scope:recipient.highest_held_title_tier - if = { - limit = { - scope:recipient.highest_held_title_tier >= tier_kingdom - } - multiply = 2 - } - } - } - } - if = { - limit = { - scope:stress = yes - } - add_stress = medium_stress_impact_gain - } - if = { - limit = { - scope:lie = yes - } - stress_impact = { - honest = medium_stress_impact_gain - forgiving = medium_stress_impact_gain - compassionate = minor_stress_impact_gain - just = minor_stress_impact_gain - } - } - if = { - limit = { - scope:gold = yes - } - pay_short_term_gold = { - target = scope:recipient - gold = scope:recipient.medium_gold_value - } - } - if = { - limit = { - scope:provisions = yes - } - domicile ?= { - change_provisions = { - value = 300 - multiply = scope:recipient.highest_held_title_tier - multiply = -1 - } - } - } - } - demand_conversion_interaction_effect = yes - scope:recipient = { - if = { - limit = { - scope:lie = yes - } - stress_impact = { - base = minor_stress_impact_gain - paranoid = medium_stress_impact_gain - trusting = medium_stress_impact_gain - } - } - custom_tooltip = { - text = will_not_convert_away_tt - add_character_flag = ai_will_not_convert - } - add_opinion = { - modifier = showed_me_the_light_opinion - target = scope:actor - opinion = 40 - } - if = { - limit = { - is_independent_ruler = no - liege ?= { - NOT = { faith = scope:actor.faith } - } - } - liege = { - add_opinion = { - modifier = annoyed_opinion - target = scope:actor - opinion = -20 - } - } - } - } - - scope:actor = { - if = { - limit = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = piety_from_converting_involved_rulers - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - add_piety = medium_piety_gain - } - } - } - - on_decline = { - scope:actor = { - trigger_event = { - id = religious_interaction.2003 - } - if = { - limit = { - scope:stress = yes - } - add_stress = medium_stress_impact_gain - } - if = { - limit = { - scope:lie = yes - } - stress_impact = { - honest = medium_stress_impact_gain - forgiving = medium_stress_impact_gain - compassionate = minor_stress_impact_gain - just = minor_stress_impact_gain - } - } - if = { - limit = { - scope:gold = yes - } - pay_short_term_gold = { - target = scope:recipient - gold = scope:recipient.medium_gold_value - } - } - if = { - limit = { - scope:provisions = yes - } - domicile ?= { - change_provisions = { - value = 300 - multiply = scope:recipient.highest_held_title_tier - multiply = -1 - } - } - } - } - scope:recipient = { - if = { - limit = { - scope:lie = yes - } - stress_impact = { - base = minor_stress_impact_gain - paranoid = medium_stress_impact_gain - trusting = medium_stress_impact_gain - } - } - show_as_tooltip = { - #Negative opinions - add_opinion = { - modifier = unwanted_religious_conversion_opinion - target = scope:actor - } - if = { - limit = { - is_independent_ruler = no - liege ?= { - NOT = { faith = scope:actor.faith } - } - } - liege = { - add_opinion = { - modifier = religious_rebel_opinion - target = scope:actor - } - } - } - } - } - } - - ai_accept = { - base = 0 - modifier = { - desc = SCHEME_WEAK_HOOK_USED - add = 20 - scope:hook = yes - } - modifier = { - desc = ASK_FOR_CONVERSION_RECIPIENT_INTRIGUE - scope:lie = yes - add = { - value = scope:actor.intrigue - subtract = scope:recipient.intrigue - min = 1 - } - } - modifier = { - add = 20 - scope:piety = yes - desc = USING_PIETY - } - modifier = { - add = 20 - scope:stress = yes - desc = USING_STRESS - } - modifier = { - add = 20 - scope:gold = yes - desc = USING_GOLD - } - modifier = { - add = 20 - scope:provisions = yes - desc = USING_PROVISIONS - } - modifier = { - scope:recipient = { - has_trait = trusting - } - add = 20 - desc = DEMAND_SUBMISSION_RECIPIENT_IS_TRUSTING - } - modifier = { - scope:recipient = { - has_relation_lover = scope:actor - } - add = 25 - desc = AI_YOUR_LOVER - } - modifier = { - scope:recipient = { - has_relation_friend = scope:actor - } - add = 25 - desc = AI_YOUR_FRIEND - } - modifier = { - scope:recipient = { - is_child_of = scope:actor - } - add = 50 - desc = AI_YOUR_CHILD - } - modifier = { - add = { - value = scope:actor.piety_level - multiply = 10 - } - scope:actor = { - piety_level > 1 - } - desc = ASK_FOR_CONVERSION_ACTOR_IS_PIOUS - } - modifier = { - add = { - value = scope:recipient.highest_held_title_tier - subtract = 2 - multiply = -25 - if = { - limit = { - scope:recipient.highest_held_title_tier >= tier_duchy - } - multiply = 2 - } - } - scope:recipient.highest_held_title_tier >= tier_duchy - desc = ASK_FOR_CONVERSION_RECIPIENT_TIER - } - modifier = { - add = -25 - scope:recipient = { - is_independent_ruler = no - faith = liege.faith - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_hostile_level - } - } - } - desc = ASK_FOR_CONVERSION_RECIPIENT_CRIME - } - modifier = { - add = -50 - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_astray_level - } - faith_hostility_level = { - target = scope:actor.faith - value < faith_hostile_level - } - } - } - desc = ASK_FOR_CONVERSION_RECIPIENT_ASTRAY - } - modifier = { - add = -75 - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_hostile_level - } - faith_hostility_level = { - target = scope:actor.faith - value < faith_evil_level - } - } - } - desc = ASK_FOR_CONVERSION_RECIPIENT_HOSTILE - } - modifier = { - add = -100 - scope:recipient = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_evil_level - } - } - } - desc = ASK_FOR_CONVERSION_RECIPIENT_EVIL - } - religion_demand_conversion_default_modifier = yes - } -} - -######################### -# Exaltation of Pain tenet -######################### - -revel_in_pain_interaction = { - icon = religious - category = interaction_category_religion - desc = revel_in_pain_interaction_desc - - use_diplomatic_range = yes - - greeting = positive - notification_text = REVEL_IN_PAIN_INTERACTION_NOTIFICATION - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - faith = { has_doctrine_parameter = self_mutilation_active } - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - is_available = yes - custom_tooltip = { - text = actor_is_severely_injured_tt - NOT = { has_trait = wounded_2 } - } - } - scope:recipient = { - custom_tooltip = { - text = recipient_involved_in_revel_in_pain_recently_tt - NOT = { has_character_flag = involved_in_revel_in_pain_recently } - } - is_adult = yes - NOT = { has_trait = craven } - faith = { has_doctrine_parameter = self_mutilation_active } - NOT = { is_at_war_with = scope:actor } - custom_tooltip = { - text = recipient_is_severely_injured_tt - NOT = { has_trait = wounded_2 } - } - custom_tooltip = { - text = recipient_not_in_the_same_location_tt - location = scope:actor.location - } - is_available = yes - } - } - - auto_accept = { - scope:recipient = { is_ai = yes } - } - - on_accept = { - scope:actor = { - trigger_event = religious_interaction.2600 - show_as_tooltip = { revel_in_pain_effect = yes } - } - scope:recipient = { - if = { - limit = { is_ai = no } - trigger_event = religious_interaction.2600 - show_as_tooltip = { - revel_in_pain_effect = yes - revel_in_pain_opinion_effect = yes - } - } - else = { - revel_in_pain_effect = yes - revel_in_pain_opinion_effect = yes - } - } - } - - on_decline = { - scope:actor = { - trigger_event = religious_interaction.2610 - } - } - - ai_targets = { - ai_recipients = family - ai_recipients = scripted_relations - ai_recipients = vassals - ai_recipients = courtiers - max = 5 - } - - ai_frequency = 36 - - ai_potential = { - faith = { has_doctrine_parameter = self_mutilation_active } - is_at_war = no - OR = { - has_trait = zealous - has_trait = sadistic - } - NOR = { - has_trait = craven - has_trait = wounded_1 - has_trait = wounded_2 - } - } - - ai_will_do = { - base = 0 - modifier = { - add = ai_boldness - } - modifier = { - has_trait = flagellant - add = 25 - } - } -} diff --git a/N3OW/common/character_interactions/00_revoke_title_interaction.txt b/N3OW/common/character_interactions/00_revoke_title_interaction.txt deleted file mode 100644 index f90f2824..00000000 --- a/N3OW/common/character_interactions/00_revoke_title_interaction.txt +++ /dev/null @@ -1,1442 +0,0 @@ -revoke_title_interaction = { - category = interaction_category_vassal - common_interaction = no - highlighted_reason = HIGHLIGHTED_HAS_REVOKE_TITLE_REASON - notification_text = REVOKE_TITLE_PROPOSAL - interface_priority = 110 - - name = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { - government_has_flag = government_is_administrative - } - scope:recipient = { - government_has_flag = government_is_administrative - } - } - desc = revoke_governorship_interaction - } - desc = revoke_title_interaction - } - } - - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { - government_has_flag = government_is_administrative - } - scope:recipient = { - government_has_flag = government_is_administrative - } - } - desc = revoke_governorship_interaction_desc - } - desc = revoke_title_interaction_desc - } - } - - icon = { - trigger = { - scope:actor = { - government_has_flag = government_is_administrative - } - scope:recipient = { - government_has_flag = government_is_administrative - } - } - reference = revoke_governorship - } - icon = revoke_title - - special_interaction = revoke_title_interaction - interface = revoke_title - target_type = title - target_filter = recipient_domain_titles - ai_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - on_decline_summary = general_rebellion_decline_summary - - # actor character giving the titles - # recipient character receiving the titles - - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_herder } # They have their own interaction without cooldowns/maluses - is_landed_or_landless_administrative = yes - # should be shown but be disabled for indirect vassals - target_is_liege_or_above = scope:actor - # is_vassal_of = scope:actor - } - } - - is_valid_showing_failures_only = { - title_revocation_standard_valid_showing_failures_only_trigger = yes - # Plus make sure there's a legal right to revoke. - scope:actor = { - trigger_if = { - limit = { government_has_flag = government_is_tribal } - custom_description = { - text = "has_law_allowing_title_revocation_tribal" - has_realm_law_flag = title_revocation_allowed - } - } - trigger_else_if = { - limit = { government_has_flag = government_is_administrative } - } - trigger_else = { - custom_description = { - text = "has_law_allowing_title_revocation_crown" - has_realm_law_flag = title_revocation_allowed - } - } - } - trigger_if = { - limit = { - scope:recipient = { - vassal_contract_has_flag = vassal_contract_cannot_revoke_titles - } - } - custom_description = { - text = vassal_contract_forbids_revocation - scope:recipient = { - NOT = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } - } - } - } - trigger_if = { - limit = { - scope:recipient = { - vassal_contract_has_flag = admin_cannot_revoke_titles_without_cause - } - scope:actor = { - NOT = { has_revoke_title_reason = scope:recipient } - } - } - custom_tooltip = { - text = admin_contract_forbids_revocation_desc - scope:recipient = { - NOT = { vassal_contract_has_flag = admin_cannot_revoke_titles_without_cause } - } - } - } - # And uhh... the sensible check. - scope:recipient = { - is_vassal_of = scope:actor - is_busy_in_events_localised = yes - NOT = { has_strong_hook = scope:actor } - trigger_if = { # If admin, they need to hold a title that isn't their noble family title - limit = { - government_has_flag = government_is_administrative - } - custom_tooltip = { - text = admin_no_valid_appointment - any_held_title = { - NOT = { is_noble_family_title = yes } - } - } - } - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - custom_tooltip = { - text = protected_from_revocation.tt - NOT = { scope:recipient = { has_character_flag = titles_protected } } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - # Highlighted in the interaction menu when right-clicking a character - is_highlighted = { - OR = { - scope:actor = { - has_revoke_title_reason = scope:recipient - } - scope:recipient = { - any_held_title = { - scope:actor = { - has_claim_on = prev - } - } - NOT = { - any_ally = { - this = scope:actor - } - } - } - } - } - - can_be_picked_title = { - scope:target = { - title_revocation_standard_can_pick_title_trigger = yes - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { government_has_flag = government_is_administrative } - } - custom_description = { - text = "admin_revoke_primary_tier_only" - subject = scope:actor - object = scope:target - scope:target.tier = scope:recipient.highest_held_title_tier - } - } - } - } - - has_valid_target = { - scope:target = { - NOR = { - is_noble_family_title = yes - is_nomad_title = yes - } - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - cost = { - # Usually, this action is free, but during certain diarchies, we want it to cost. - prestige = liege_diarchy_surcharge_interaction_revoke_title_interaction_value - - # Admin has to pay an influence cost unless they have a revocation reason on the recipient - influence = { - value = 0 - if = { - limit = { - scope:actor = { - government_has_flag = government_is_administrative - NOT = { has_revoke_title_reason = scope:recipient } - } - scope:recipient = { - highest_held_title_tier >= tier_county - } - } - scope:recipient ?= { - if = { - limit = { - any_held_title = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = { - value = scope:recipient.massive_influence_value - multiply = 3 - } - desc = GOVERNOR_RESIGNATION_KINGDOM_COST - } - } - else_if = { - limit = { - any_held_title = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_DUCHY_COST - } - } - else = { - add = { - add = scope:recipient.major_influence_value - desc = concept_county - } - } - if = { - limit = { house ?= { is_powerful_family = yes } } - add = { - value = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_POWERFUL_COST - } - } - else_if = { - limit = { house ?= { is_dominant_family = yes } } - add = { - value = scope:recipient.monumental_influence_value - desc = GOVERNOR_RESIGNATION_DOMINANT_COST - } - } - if = { - limit = { scope:recipient.governor_efficiency < 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - else_if = { - limit = { scope:recipient.governor_efficiency > 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - if = { - limit = { - influence_level != 1 - } - add = { - value = { - value = influence_level - subtract = 1 - } - multiply = 50 - desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST - } - } - multiply = 1.25 - } - } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0200 - } - } - - on_accept = { - save_scope_value_as = { - name = revoke_title_interaction - value = yes - } - if = { # Safety flag to ensure admin revocations behave properly - limit = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { government_has_flag = government_is_administrative } - } - save_scope_value_as = { - name = administrative_revocation - value = yes - } - } - scope:actor = { - if = { # Admin has to pay an influence cost unless they have a revocation reason on the recipient - limit = { - government_has_flag = government_is_administrative - NOT = { has_revoke_title_reason = scope:recipient } - scope:recipient = { - highest_held_title_tier >= tier_county - } - } - show_as_tooltip = { # Actual cost is deducted in the the interaction cost - change_influence = { - scope:recipient ?= { - if = { - limit = { - any_held_title = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = { - value = scope:recipient.massive_influence_value - multiply = 3 - } - desc = GOVERNOR_RESIGNATION_KINGDOM_COST - } - } - else_if = { - limit = { - any_held_title = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_DUCHY_COST - } - } - else = { - add = { - add = scope:recipient.major_influence_value - desc = concept_county - } - } - if = { - limit = { house ?= { is_powerful_family = yes } } - add = { - value = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_POWERFUL_COST - } - } - else_if = { - limit = { house ?= { is_dominant_family = yes } } - add = { - value = scope:recipient.monumental_influence_value - desc = GOVERNOR_RESIGNATION_DOMINANT_COST - } - } - if = { - limit = { scope:recipient.governor_efficiency < 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - else_if = { - limit = { scope:recipient.governor_efficiency > 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - if = { - limit = { - influence_level != 1 - } - add = { - value = { - value = influence_level - subtract = 1 - } - multiply = 50 - desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST - } - } - } - multiply = -1.25 - } - } - } - trigger_event = char_interaction.0199 - } - revoke_title_interaction_effect = yes - - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # Harrying logic. - scope:actor = { - if = { - limit = { - character_is_valid_for_harrying_of_the_north_trigger = yes - scope:recipient = { - character_is_valid_for_harrying_of_the_north_trigger = yes - is_important_or_vip_struggle_character = yes - } - culture != scope:recipient.culture - } - global_var:harrying_of_the_north = { save_scope_as = story } - if = { - limit = { - character_is_valid_norman_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value } - } - else_if = { - limit = { - character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value } - } - } - } - } - - on_decline = { - scope:actor = { - if = { # Admin has to pay an influence cost unless they have a revocation reason on the recipient - limit = { - government_has_flag = government_is_administrative - NOT = { has_revoke_title_reason = scope:recipient } - scope:recipient = { - highest_held_title_tier >= tier_county - } - } - show_as_tooltip = { # Actual cost is deducted in the the interaction cost - change_influence = { - scope:recipient ?= { - if = { - limit = { - any_held_title = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = { - value = scope:recipient.massive_influence_value - multiply = 3 - } - desc = GOVERNOR_RESIGNATION_KINGDOM_COST - } - } - else_if = { - limit = { - any_held_title = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - add = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_DUCHY_COST - } - } - else = { - add = { - add = scope:recipient.major_influence_value - desc = concept_county - } - } - if = { - limit = { house ?= { is_powerful_family = yes } } - add = { - value = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_POWERFUL_COST - } - } - else_if = { - limit = { house ?= { is_dominant_family = yes } } - add = { - value = scope:recipient.monumental_influence_value - desc = GOVERNOR_RESIGNATION_DOMINANT_COST - } - } - if = { - limit = { scope:recipient.governor_efficiency < 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - else_if = { - limit = { scope:recipient.governor_efficiency > 1 } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - if = { - limit = { - influence_level != 1 - } - add = { - value = { - value = influence_level - subtract = 1 - } - multiply = 50 - desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST - } - } - } - multiply = -1.25 - } - } - } - } - if = { - limit = { - scope:landed_title.tier != tier_barony - NOT = { - scope:recipient = { government_has_flag = government_is_herder } - } - } - scope:actor = { - revocation_tyranny_effect = { VASSAL = scope:recipient } - title_revocation_stress_effect = { VASSAL = scope:recipient } - } - } - if = { - limit = { - scope:recipient = { government_has_flag = government_is_herder } - } - scope:recipient = { - add_opinion = { - target = scope:actor - opinion = -10 # Herders don't care much - modifier = revoked_title - } - } - } - else = { - war_for_revoke_effect = { - LIEGE = scope:actor - REBEL = scope:recipient - } - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = revoked_title - } - } - } - if = { - limit = { - scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } - NOT = { - scope:recipient = { government_has_flag = government_is_herder } - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = treasonous_revoke_refusal - } - } - } - - # Harrying logic. - scope:actor = { - if = { - limit = { - character_is_valid_for_harrying_of_the_north_trigger = yes - scope:recipient = { - character_is_valid_for_harrying_of_the_north_trigger = yes - is_important_or_vip_struggle_character = yes - } - culture != scope:recipient.culture - } - global_var:harrying_of_the_north = { save_scope_as = story } - if = { - limit = { - character_is_valid_norman_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value } - } - else_if = { - limit = { - character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes - scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes } - } - ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value } - } - } - } - - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - } - - auto_accept = { - scope:recipient = { - calc_true_if = { - amount >= 1 - custom_description = { - text = "baron_revocation" - highest_held_title_tier = tier_barony - } - custom_description = { - text = "prisoner_revocation" - is_imprisoned_by = scope:actor - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "foreign_prison_revocation" - subject = scope:actor - object = scope:recipient - scope:recipient = { - is_imprisoned = yes - NOT = { is_imprisoned_by = scope:actor } - } - } - custom_tooltip = { - text = "has_admin_gov" - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - government_has_flag = government_is_administrative - highest_held_title_tier = tier_county - is_ai = yes - } - } - } - } - } - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - has_game_rule = hard_difficulty - scope:actor = { is_ai = no } - add = -50 - desc = game_rule_base_value - } - - modifier = { - has_game_rule = very_hard_difficulty - scope:actor = { is_ai = no } - add = -100 - desc = game_rule_base_value - } - - modifier = { - has_game_rule = hard_difficulty - scope:actor = { is_ai = yes } - add = 50 - } - - modifier = { - has_game_rule = very_hard_difficulty - scope:actor = { is_ai = yes } - add = 100 - } - - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { - scope:recipient = { - government_has_flag = government_is_herder - } - add = 40 - desc = MIGRATION_INTERACTION_HERDER - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.8 - desc = AI_OPINION_REASON - } - - modifier = { - add = 20 - scope:actor = { - has_realm_law_flag = vassal_refusal_is_treason - } - desc = AI_REFUSAL_IS_TREASON - } - - modifier = { - add = 20 - scope:recipient = { - has_trait = trusting - } - desc = TAKE_THE_VOWS_TRUSTING - } - - modifier = { - add = 20 - scope:recipient = { - has_trait = content - } - desc = INTERACTION_CONTENT - } - - modifier = { - add = 20 - scope:actor.current_military_strength > scope:recipient.current_military_strength - scope:recipient = { - has_trait = craven - } - desc = INTERACTION_CRAVEN - } - - modifier = { - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - add = 50 - desc = AI_TITLE_IS_REALM_CAPITAL - } - - modifier = { - exists = scope:actor.primary_title.title_capital_county - NOR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - scope:landed_title.de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege - add = 30 - desc = AI_TITLE_IS_IN_CAPITAL_DUCHY - } - - modifier = { - add = 30 - scope:actor = { - has_claim_on = scope:landed_title - } - desc = AI_LIEGE_HAS_CLAIM_ON_TITLE - } - - ai_value_modifier = { - who = scope:recipient - ai_greed = { - if = { - limit = { - scope:recipient = { NOT = { ai_greed = 0 } } - } - value = -0.75 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { #If AI is honorable and the law compels to obey the liege, AI will be more likely to obey. - ai_honor > 0 - } - scope:actor = { - has_realm_law_flag = vassal_refusal_is_treason - } - } - value = 0.5 - } - } - } - modifier = { #I am a King! - desc = offer_vassalization_interaction_aibehavior_amkingtier_tt - trigger = { - scope:recipient = { highest_held_title_tier = tier_kingdom } - } - add = -20 - } - modifier = { #Title is part of vassal's primary title de-jure. Not relevant for Admin. - add = -25 - NOT = { scope:recipient = { government_has_flag = government_is_administrative } } - scope:recipient.primary_title.tier > tier_county - OR = { - scope:recipient.primary_title = { - is_de_jure_liege_or_above_target = scope:landed_title - } - scope:recipient.primary_title = scope:landed_title - } - desc = AI_REFUSAL_IS_DE_JURE_UNDER - } - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { #Comparative military strength. - desc = offer_vassalization_interaction_aibehavior_power_tt - add = { - value = 1 - subtract = { - value = scope:recipient.current_military_strength - divide = { value = scope:actor.current_military_strength min = 1 } - } - multiply = 50 - max = 20 - } - } - modifier = { # Legalistic tradition - desc = tradition_legalistic_name - scope:actor = { - has_revoke_title_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - add = legalistic_vassal_punishment_acceptance - } - modifier = { # AI Mongols, tyranny wars just delay the inevitable fun! - scope:actor = { - is_ai = yes - OR = { - has_trait = greatest_of_khans - has_character_modifier = the_great_khan_modifier - ai_should_get_conqueror_bonuses = yes - } - } - scope:recipient = { - is_ai = yes - } - add = 500 - } - modifier = { - add = -25 - scope:recipient = { - culture = { has_cultural_parameter = vassals_more_likely_to_refuse_demands } - } - desc = VASSALS_REFUSAL_indomitable_azatani - } - } - - # AI - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 0 # This is handled via code instead; see REVOKE_TITLE_TICK in the AI defines. All the logic for *if* to send a revoke though is scripted below - - ai_potential = { - has_realm_law_flag = title_revocation_allowed - primary_title.tier >= tier_county - } - - ai_will_do = { - base = -1000 - - # We want to avoid tyranny unless we've got a good reason - # And even if we can avoid tyranny we don't want to revoke just because we can, so this only gets us to -10 - # Certain characters will revoke despite tyranny, if their rationality is sufficiently low - modifier = { - scope:actor = { - OR = { - NOT = { - title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } - } - AND = { - ai_rationality <= very_high_negative_ai_value - OR = { - has_trait = lunatic - has_trait = possessed - has_trait = arbitrary - } - } - } - } - - add = 990 - } - # Only certain rulers won't revoke vassals who have revolted against them - modifier = { - scope:actor = { - ai_compassion <= 75 - ai_greed >= -50 - ai_honor <= 50 - scope:recipient = { - is_imprisoned = yes - trigger_if = { - limit = { - NOT = { has_dlc_feature = landless_playable } - } - # Be kinder to players if they'd get game overed. - is_ai = yes - } - opinion = { - target = scope:actor - value <= 0 - } - } - NOT = { - title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } - } - OR = { - has_opinion_modifier = { - modifier = rebellious_vassal_opinion - target = scope:recipient - } - has_opinion_modifier = { - modifier = vassal_lost_faction_revolt_war - target = scope:recipient - } - has_opinion_modifier = { - modifier = vassal_wp_faction_revolt_war - target = scope:recipient - } - } - } - add = { - value = 100 - add = scope:actor.ai_greed - add = { - value = scope:actor.ai_honor - multiply = -1 - } - if = { - limit = { - scope:actor.ai_vengefulness > 0 - } - add = scope:actor.ai_vengefulness - } - } - } - # Vengeful AI's want to revoke - modifier = { - scope:actor = { - ai_vengefulness > 0 - scope:recipient = { - is_imprisoned = yes - } - NOT = { - title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } - } - } - add = { - value = scope:actor.ai_vengefulness - multiply = 2 - } - } - # Always revoke preferred capital and capital duchy - modifier = { - years_from_game_start >= 3 - OR = { - scope:actor = { - is_at_war = no - gold > 0 - } - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:actor = { # The HRE doesn't need endless civil wars - NOT = { - primary_title = title:e_hre - } - } - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:landed_title = scope:actor.primary_title.title_capital_county - scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege - } - NAND = { # Don't revoke player titles tyranically, it must be possible to play and succeed as Ulm! - scope:landed_title.holder = { - is_ai = no - } - scope:actor = { - title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } - } - } - add = 1100 - } - # If below domain limit, try to revoke counties in your capital duchy despite tyranny, sometimes - modifier = { - years_from_game_start >= 3 - OR = { - scope:actor = { - is_at_war = no - gold > 0 - } - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:actor = { # The HRE doesn't need endless civil wars - NOT = { - primary_title = title:e_hre - } - } - scope:actor.domain_size < scope:actor.domain_limit - scope:actor.primary_title.tier > tier_county - trigger_if = { - limit = { - scope:actor = { - title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } - domain_size > 3 - } - } - scope:actor = { - NOR = { - has_trait = generous - has_trait = just - } - } - } - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:actor.primary_title.title_capital_county.holder = scope:actor # You have your de jure capital already - NOT = { - scope:actor.primary_title.title_capital_county.holder.top_liege = scope:actor.top_liege # Or your De Jure capital isn't in your realm - } - } - scope:landed_title.tier = tier_county # Only Counties - OR = { # The AI gives away wrong-holding counties almost instantly, so we restrict to counties with holdings they can hold - scope:landed_title.title_province = { has_holding_type = castle_holding } # Everyone is valid for castles - AND = { - scope:actor = { - government_has_flag = government_is_tribal - } - scope:landed_title.title_province = { has_holding_type = tribal_holding } - } - AND = { - scope:actor = { - government_has_flag = government_is_special_republic - } - scope:landed_title.title_province = { has_holding_type = city_holding } - } - AND = { - scope:actor = { - OR = { - government_has_flag = government_is_clan - government_has_flag = government_is_theocracy - } - } - scope:landed_title.title_province = { has_holding_type = church_holding } - } - } - OR = { # And the capital duchy, if it exists at all - AND = { - exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder - scope:actor.primary_title.title_capital_county.de_jure_liege.holder = scope:actor - } - AND = { - exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder - NOT = { - scope:actor.primary_title.title_capital_county.de_jure_liege.holder.top_liege = scope:actor.top_liege - } - } - scope:actor.primary_title.title_capital_county.de_jure_liege = { - is_title_created = no - } - } - - scope:landed_title.de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege # Under the same Duchy as your capital - - scope:recipient = { # Not from players - is_ai = yes - } - - OR = { # Tyranny tolerance is based on rationality - AND = { - scope:actor.ai_rationality < 0 - scope:actor.tyranny <= 15 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 0 - scope:actor.ai_rationality < 50 - scope:actor.tyranny <= 5 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 50 - scope:actor.tyranny <= 0 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 0 - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:actor = { has_revoke_title_reason = scope:recipient } - } - AND = { - scope:actor.ai_rationality < 0 - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - } - # To do this, the target must be weak or willing in some way - OR = { - scope:actor.current_military_strength > scope:recipient.current_military_strength # Must be stronger - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:recipient = { - OR = { - AND = { - scope:recipient.primary_title.tier <= tier_county - scope:actor.primary_title.tier >= tier_duchy - } - has_trait = craven - has_trait = content - has_trait = trusting - has_dread_level_towards = { - target = scope:actor - level >= 1 - } - opinion = { target = scope:actor value >= 40 } - is_imprisoned_by = scope:actor - scope:actor = { has_revoke_title_reason = scope:recipient } - } - } - - add = 1100 - } - # Revoke counties we're dejure liege of if below domain limit - modifier = { - scope:actor.domain_size < scope:actor.domain_limit - scope:landed_title.tier = tier_county - scope:landed_title.de_jure_liege.holder = scope:actor - add = 500 - } - # Revoke appropriate baronies if below domain limit, it's tyranny free - modifier = { - scope:actor.domain_size < scope:actor.domain_limit - scope:recipient = { highest_held_title_tier = tier_barony } - scope:landed_title.tier = tier_barony - OR = { - scope:landed_title.title_province = { has_holding_type = castle_holding } - AND = { - OR = { - scope:actor = { government_has_flag = government_is_clan } - scope:actor = { government_has_flag = government_is_theocracy } - } - scope:landed_title.title_province = { has_holding_type = church_holding } - } - AND = { - scope:actor = { government_has_flag = government_is_special_republic } - scope:landed_title.title_province = { has_holding_type = city_holding } - } - } - add = 1100 - } - # Revoke from vassals of the wrong faith if you can do it without tyranny - modifier = { - NOT = { scope:actor.faith = scope:recipient.faith } - OR = { - NOT = { scope:actor.faith.religion = scope:recipient.faith.religion } - scope:actor.ai_zeal >= low_negative_ai_value - NOT = { - scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic } - } - } - OR = { # Chill a bit until you've dealth with the ones already in your prison - scope:recipient = { - is_imprisoned_by = scope:actor - } - NOT = { - any_vassal = { - NOT = { faith = scope:actor.faith } - primary_title.tier > tier_barony - is_imprisoned_by = scope:actor - time_in_prison = { years < 1 } - } - } - } - add = 100 - } - # Revoke from characters you dislike if you can do it without tyranny - modifier = { - scope:actor = { - OR = { - has_relation_rival = scope:recipient - has_relation_nemesis = scope:recipient - } - } - add = 100 - } - # Slight preference for higher-tier titles - modifier = { - NOT = { - scope:actor = { government_has_flag = government_is_administrative } - } - add = scope:landed_title.tier - } - # Do not revoke titles from certain characters - modifier = { - scope:actor = { - OR = { - has_relation_friend = scope:recipient - has_relation_best_friend = scope:recipient - has_relation_lover = scope:recipient - has_relation_soulmate = scope:recipient - is_parent_of = scope:recipient - is_grandparent_of = scope:recipient - is_great_grandparent_of = scope:recipient - } - } - add = -5000 - } - # Do not revoke titles when the chance of success if exceedingly low - modifier = { - NOR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - scope:actor = { - OR = { - gold < minimum_ai_gold_value_for_tyranny_wars - AND = { - scope:actor.current_military_strength < scope:recipient.current_military_strength - gold < comfortable_ai_gold_value_for_tyranny_wars - } - } - } - add = -2000 - } - - modifier = { # The AI will always use a Hook if they can - scope:hook = yes - add = 1 - } - - modifier = { # The AI shouldn't ruin the player's fun - add = -5000 - scope:recipient = { has_character_flag = is_party_baron } - } - - modifier = { # Avoid triggering Tyranny wars mid-war - factor = 0 - scope:actor = { - is_at_war = yes - } - NOR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - } - - # Clan Government: Avoid revoking titles from house members if the AI wants to have high unity - modifier = { - scope:actor = { - government_has_flag = government_is_clan - exists = house - ai_wants_high_unity = yes - } - scope:recipient = { - government_has_flag = government_is_clan - exists = house - house = scope:actor.house - } - add = -1000 - } - - modifier = { # Avoid triggering Tyranny wars mid-grand activity - factor = 0 - scope:actor = { - has_ongoing_grand_activity_trigger = yes - } - NOR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - } - - # Admin Government: Do not revoke titles from your house unless it's really needed - modifier = { - scope:actor = { government_has_flag = government_is_administrative } - scope:actor.house = scope:recipient.house - add = -500 - } - # Admin rulers should be less likely to revoke titles without a revocation reason, as they should prefer to depose governors - modifier = { - scope:actor = { - government_has_flag = government_is_administrative - NOT = { has_revoke_title_reason = scope:recipient } - } - scope:recipient = { - government_has_flag = government_is_administrative - highest_held_title_tier >= tier_duchy - } - factor = { # Honorable AI's will never revoke titles without a reason - value = 0 - if = { - limit = { - ai_honor < 0 - } - add = 0.5 - } - } - } - #Don't revoke titles from the frankokratia leader - modifier = { - scope:recipient = { - any_owned_story = { - story_type = frankokratia_story - NOT = { has_variable = franko_war_complete } - } - } - factor = 0 - } - } -} \ No newline at end of file diff --git a/N3OW/common/character_interactions/00_scheme_interactions.txt b/N3OW/common/character_interactions/00_scheme_interactions.txt deleted file mode 100644 index 2283bae5..00000000 --- a/N3OW/common/character_interactions/00_scheme_interactions.txt +++ /dev/null @@ -1,2766 +0,0 @@ -#Character interactions relating to schemes - -start_murder_interaction = { - icon = icon_scheme_murder - common_interaction = yes - interface_priority = 90 - category = interaction_category_hostile - - ignores_pending_interaction_block = yes - - scheme = murder - - send_name = START_SCHEME - - is_shown = { - NOT = { scope:recipient = scope:actor } - - NAND = { # Game Rules! - has_game_rule = no_players_multiplayer_murder_schemes - scope:actor = { - is_ai = no - } - scope:recipient = { - is_ai = no - } - } - - NAND = { - has_game_rule = no_player_families_multiplayer_murder_schemes - scope:actor = { - is_ai = no - } - scope:recipient = { - OR = { - is_ai = no - any_close_family_member = { - AND = { - is_ai = no - NOT = { this = scope:actor } - } - } - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = murder - target_character = scope:recipient - } - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = murder - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_murder_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_murder_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_murder_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_murder_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_murder_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - compassionate = major_stress_impact_gain - honest = medium_stress_impact_gain - just = medium_stress_impact_gain - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_murder_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = murder - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_assassin - AGENT_2 = agent_assassin - AGENT_3 = agent_thug - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_alibi - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = murder - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_infiltrator - AGENT_3 = agent_footpad - # Success. - AGENT_4 = agent_assassin - # Secrecy. - AGENT_5 = agent_alibi - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = murder - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_alibi - AGENT_2 = agent_alibi - AGENT_3 = agent_lookout - # Success. - AGENT_4 = agent_assassin - # Speed. - AGENT_5 = agent_infiltrator - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = murder - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_assassin - AGENT_2 = agent_assassin - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_footpad - # Secrecy. - AGENT_5 = agent_alibi - } - } - } - # Plus any on_start modifiers we may need. - if = { - limit = { var:feast_events_ewan_0001_bonus_value ?= scope:recipient } - # Hand over the modifier. - random_scheme = { - limit = { - scheme_type = murder - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = feast_learnt_habits_modifier } - } - # Remove the variable now that we're done with it. - remove_variable = feast_events_ewan_0001_bonus_value - } - } - } - - auto_accept = yes - - # AI for murders is handled in event murder_scheme_maintenance.1, fired from the five_year_playable_pulse -} - -start_abduct = { - icon = icon_scheme_abduct - interface_priority = 70 - category = interaction_category_hostile - - send_name = START_SCHEME - - scheme = abduct - ignores_pending_interaction_block = yes - - is_shown = { - scope:actor = { - OR = { - has_perk = kidnapper_perk # Scheme unlocked by the Kidnapper Perk - domicile ?= { has_domicile_parameter = camp_unlocks_abduct_scheme } - AND = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_abduct_for_all - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - } - } - - NOR = { - scope:recipient = scope:actor - scope:recipient = { is_imprisoned_by = scope:actor } - } - #exists = scope:recipient.court_owner - - NAND = { # Game Rules! - has_game_rule = no_players_multiplayer_murder_schemes - scope:actor = { - is_ai = no - } - scope:recipient = { - is_ai = no - } - } - - NAND = { - has_game_rule = no_player_families_multiplayer_murder_schemes - scope:actor = { - is_ai = no - } - scope:recipient = { - OR = { - is_ai = no - any_close_family_member = { - AND = { - is_ai = no - NOT = { this = scope:actor } - } - } - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = abduct - target_character = scope:recipient - } - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = abduct - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_abduct_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_abduct.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_abduct.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_abduct.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_abduct.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - compassionate = medium_stress_impact_gain - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_abduct_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = abduct - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thug - AGENT_2 = agent_thug - AGENT_3 = agent_muscle - # Speed. - AGENT_4 = agent_footpad - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = abduct - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_footpad - AGENT_2 = agent_footpad - AGENT_3 = agent_infiltrator - # Success. - AGENT_4 = agent_thug - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = abduct - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_lookout - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_thug - # Speed. - AGENT_5 = agent_footpad - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = abduct - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_thug - AGENT_2 = agent_muscle - # Speed. - AGENT_3 = agent_footpad - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - } - } - } - - ai_targets = { ai_recipients = liege } - ai_frequency = 60 - - ai_potential = { - liege ?= { has_diarchy_active_parameter = diarchy_is_co_rulership } - is_diarch = yes - is_ruler = yes - ai_diarch_would_maim_execute_superior_if_got_chance_trigger = { LIEGE = liege } - } - - ai_will_do = { - # They shouldn't always do this. - base = -100 - - # Obvious factor. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = -1 - } - ai_value_modifier = { ai_honor = -1 } - # Traits. - ## Disloyal. - modifier = { - add = 100 - has_trait = disloyal - } - ## Ambitious. - modifier = { - add = 75 - has_trait = ambitious - } - ## Arrogant. - modifier = { - add = 25 - has_trait = arrogant - } - ## Fickle. - modifier = { - add = 25 - has_trait = fickle - } - ## Callous. - modifier = { - add = 25 - has_trait = callous - } - ## Compassionate. - modifier = { - add = -50 - has_trait = compassionate - } - ## Humble. - modifier = { - add = -50 - has_trait = humble - } - ## Content. - modifier = { - add = -100 - has_trait = content - } - ## Loyal. - modifier = { - add = -300 - has_trait = loyal - } - # Time as a diarch — the longer they've been waiting, the more eager they are. - modifier = { - add = { - value = years_as_diarch - multiply = 2 - } - always = yes - } - } - - auto_accept = yes -} - -end_scheme = { - is_shown = { - #debug_only = yes - } - special_interaction = remove_scheme_interaction - use_diplomatic_range = no - hidden = yes - on_accept = { - scope:scheme = { - end_scheme = yes - } - } - - auto_accept = yes - ignores_pending_interaction_block = yes -} - -befriend_interaction = { - icon = icon_scheme_befriend - category = interaction_category_friendly - - interface_priority = 90 - scheme = befriend - - send_name = START_SCHEME - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - ai_recipients = neighboring_rulers - } - ai_targets = { - ai_recipients = vassals - ai_recipients = peer_vassals - chance = 0.25 - } - ai_frequency = 20 - - is_shown = { - scope:actor = { - can_use_befriend_scheme_trigger = { TARGET = scope:recipient } - } - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = befriend - target_character = scope:recipient - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - cost = { - prestige = { - value = 0 - if = { - limit = { - scope:actor = { - government_has_flag = government_is_nomadic - NOR = { - has_perk = befriend_perk - AND = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_adventure_legacy_5 - } - target_is_vassal_or_below = scope:recipient - } - culture = { has_cultural_parameter = automatic_befriend_access } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_unlocks_befriend_schemes_for_everyone - } - AND = { - government_has_flag = government_is_clan - is_in_same_clan_as_trigger = { CHARACTER = scope:recipient } - house = { has_house_unity_stage = harmonious } - } - } - } - } - add = scope:actor.minor_prestige_value - if = { - limit = { - scope:recipient = { - is_vassal_of = scope:actor - } - } - add = scope:actor.miniscule_prestige_value - } - if = { - limit = { - scope:actor = { - is_vassal_of = scope:recipient - } - } - add = scope:actor.minor_prestige_value - } - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - can_start_scheme = { - type = befriend - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_befriend_approved - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = befriend_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = befriend - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - } - if = { #Stubborness effect - limit = { - scope:recipient = { - has_trait = stubborn - } - } - scope:actor = { - random_scheme = { - limit = { - scheme_type = befriend - scheme_target_character = scope:recipient - } - scheme_target_character = { - random_list = { - 20 = { - set_variable = { - name = recipient_stubborness_scheme - value = -5 - } - } - 20 = { - set_variable = { - name = recipient_stubborness_scheme - value = -10 - } - } - 20 = { - set_variable = { - name = recipient_stubborness_scheme - value = -15 - } - } - 20 = { - set_variable = { - name = recipient_stubborness_scheme - value = -20 - } - } - 20 = { - set_variable = { - name = recipient_stubborness_scheme - value = -25 - } - } - } - } - } - } - } - } - - ai_potential = { - OR = { - has_perk = befriend_perk # Unlocked by the Befriend Perk - AND = { - exists = dynasty - dynasty = { - has_dynasty_perk = fp1_adventure_legacy_5 - } - } - culture = { has_cultural_parameter = automatic_befriend_access } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_unlocks_befriend_schemes_for_everyone - } - } - NOR = { - has_trait = shy - has_trait = callous - any_scheme = { - OR = { - scheme_type = befriend - #scheme_type = sway # We allow the AI to override Sway with Befriend - scheme_type = seduce - scheme_type = courting - scheme_type = elope - scheme_type = learn_language - scheme_type = teach_governor - } - } - AND = { # No one cares about City barons - is_lowborn = yes - primary_title.tier <= tier_barony - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 50 - - modifier = { # Try to befriend those who you might want to vassalize - add = 30 - scope:actor = { - is_independent_ruler = yes - primary_title.tier >= tier_county - NOT = { - any_targeting_faction = { - exists = yes - OR = { - faction_is_type = liberty_faction - faction_is_type = claimant_faction - faction_is_type = independence_faction - } - } - } - } - scope:recipient = { - is_independent_ruler = yes - is_playable_character = yes - primary_title.tier < scope:actor.primary_title.tier - OR = { - faith.religion = scope:actor.faith.religion - AND = { - faith = { - has_doctrine = doctrine_pluralism_pluralistic - } - scope:actor.faith = { - has_doctrine = doctrine_pluralism_pluralistic - } - } - } - } - } - - modifier = { - factor = 0.1 - scope:actor = { - opinion = { - target = scope:recipient - value < -50 - } - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - opinion = { - target = scope:actor - value > 50 - } - } - } - - modifier = { - factor = 0.5 - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value < 2 - } - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value < 1 - } - } - } - - # Struggle - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_friend_lover_with_character - } - } - scope:recipient = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_friend_lover_with_character - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - trait_compatibility = { - target = scope:recipient - value >= low_positive_trait_compatibility - } - } - scope:recipient = { - has_character_flag = agenda_towards_deescalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - trait_compatibility = { - target = scope:recipient - value >= low_positive_trait_compatibility - } - } - } - add = 50 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -200 - } - else = { - add = 10 - } - } - } - - modifier = { - factor = 25 - has_focus = diplomacy_family_focus - } - - modifier = { - factor = 2 - scope:recipient.liege = scope:actor - } - - modifier = { - factor = 0.5 - NOT = { scope:recipient.faith = scope:actor.faith } - } - - modifier = { - factor = 0.25 - scope:actor = { - is_ruler = yes - tier_difference = { - target = scope:recipient - value > 2 - } - } - } - modifier = { - factor = 0.35 - scope:actor = { - has_personality_malicious_trigger = yes - } - } - modifier = { - factor = 2 - scope:actor = { - OR = { - has_trait = gregarious - has_trait = diplomat - has_trait = family_first - has_trait = august - } - } - } - modifier = { - factor = 1.5 - scope:actor = { - num_of_relation_friend < 3 - } - } - modifier = { #Better to Court rather than befriend. - factor = 0.25 - scope:actor = { - is_spouse_of = scope:recipient - } - } - modifier = { - factor = 0.75 - scope:recipient = { - is_child_of = scope:actor - } - } - modifier = { - factor = 2 - scope:actor = { - is_child_of = scope:recipient - } - } - modifier = { - factor = 2 - scope:actor = { #Friends of friends - any_relation = { - type = friend - any_relation = { - type = friend - this = scope:recipient - } - } - } - } - modifier = { - factor = 0.25 - scope:recipient = { - any_claim = { - this = scope:actor.primary_title - } - } - } - } -} - -seduce_interaction = { - icon = icon_scheme_seduce - category = interaction_category_friendly - interface_priority = 45 - scheme = seduce - common_interaction = no - - send_name = START_SCHEME - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = family - max = 2 - } - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - max = 10 - } - ai_targets = { - ai_recipients = neighboring_rulers - max = 5 - } - ai_targets = { - ai_recipients = vassals - max = 5 - } - ai_targets = { - ai_recipients = peer_vassals - max = 5 - } - - # We don't want this to grow ludicrously large in big realms - ai_targets = { - ai_recipients = realm_characters - max = 10 - } - - ai_target_quick_trigger = { - adult = yes - attracted_to_owner = yes - owner_attracted = yes - } - ai_frequency = 24 - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { is_adult = yes } - scope:actor = { is_adult = yes } - - # Avoid seducing lowborn nobodies in foreign courts - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - NOT = { - scope:recipient = { - is_lowborn = yes - is_playable_character = no - NOR = { - is_courtier_of = scope:actor - is_foreign_court_or_pool_guest_of = scope:actor - } - } - } - } - scope:actor = { # Some early filtering for the AI to focus it towards fruitful seductions - trigger_if = { - limit = { - is_ai = yes - } - trigger_if = { # Deviants will seduce anyone - limit = { - is_deviant_trigger = yes - } - } - trigger_else_if = { # It's always fine to seduce your spouse - limit = { - scope:recipient = { is_consort_of = scope:actor } - } - } - trigger_else_if = { # If the target is a close family member, only certain AI's will seduce much older members - limit = { - ai_rationality <= -50 - is_close_family_of = scope:recipient - OR = { - has_trait = lustful - has_trait = rakish - is_incestuous_trigger = yes - has_opinion_modifier = { - modifier = childhood_crush - target = scope:recipient - } - } - } - scope:recipient.age <= scope:actor.age_plus_25 - } - trigger_else_if = { # Lustful/seduction-focused characters have a wider range - limit = { - OR = { - has_trait = lustful - has_trait = rakish - has_focus = intrigue_temptation_focus - } - } - OR = { - scope:recipient.age <= scope:actor.age_plus_10 - AND = { # Seducing your vassals/liege/realm priest is good realm management, AND drama! - has_focus = intrigue_temptation_focus - OR = { - scope:recipient = { - is_vassal_of = scope:actor - } - AND = { - exists = liege - liege = scope:recipient - } - scope:recipient = { - is_theocratic_lessee = yes - is_courtier_of = scope:actor - } - } - } - } - trigger_if = { # The AI should focus on bastard-producing seductions, it's more dramatic - limit = { - is_male = yes - scope:recipient = { - is_female = yes - } - } - scope:recipient.age <= scope:recipient.marriage_female_fertility_cutoff_age_value - } - } - trigger_else_if = { # Male characters with no children that are seducing women want to produce bastards - limit = { - is_male = yes - scope:recipient = { is_female = yes } - any_child = { - count <= 1 - } - } - scope:recipient.age <= scope:actor.age_plus_5 - scope:recipient.age <= scope:recipient.marriage_female_fertility_cutoff_age_value - } - trigger_else = { # Otherwise, try to not seduce with *too* large an age gap - scope:recipient.age <= scope:actor.age_plus_5 - scope:recipient.age >= scope:actor.age_minus_10 - } - } - trigger_else = { - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - can_start_scheme = { - type = seduce - target_character = scope:recipient - } - } - trigger_if = { - limit = { - scope:recipient = { exists = primary_spouse } - } - scope:recipient = { primary_spouse = { NOT = { has_strong_hook = scope:actor } } } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = scheme_interaction_tt_seduce_approved - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = seduce_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = seduce - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - - seduce_interaction_stress_effect = yes - } - } - scope:actor = { - if = { - limit = { - NOT = { is_attracted_to_gender_of = scope:recipient } - } - custom_tooltip = scheme_interaction_tt_wrong_gender_no_lover - } - } - } - - ai_potential = { - is_adult = yes - NOR = { - has_trait = celibate - has_trait = chaste - scheme_generic_ai_blocker_trigger = yes - primary_title = { - is_mercenary_company = yes - } - AND = { # No one cares about City barons - is_lowborn = yes - primary_title.tier <= tier_barony - } - } - might_cheat_on_every_partner_trigger = yes - } - - auto_accept = yes - - ai_will_do = { - base = 5 - - modifier = { - add = -50 - scope:actor = { - exists = primary_spouse - primary_spouse = { has_strong_hook = scope:actor } - } - } - - modifier = { - add = 50 - scope:actor = { - has_focus = intrigue_temptation_focus - } - } - - modifier = { - add = 50 - scope:actor = { - has_opinion_modifier = { - modifier = childhood_crush - target = scope:recipient - } - } - } - - modifier = { - add = 25 - exists = scope:actor.dynasty - scope:actor.dynasty = { - has_dynasty_perk = fp1_adventure_legacy_2 - } - } - - modifier = { # Focus on befriending if that's the path you've chosen - add = -50 - scope:actor = { - has_perk = befriend_perk - } - } - - modifier = { # Non-lustful clergy tend to not seduce - add = -25 - scope:actor = { - is_clergy = yes - faith = { - NOT = { has_doctrine_parameter = clergy_can_marry } - } - NOR = { - has_trait = lustful - has_focus = intrigue_temptation_focus - } - } - } - - modifier = { # Seducing your unmarried courtiers is good for producing bastards, which the AI will want to do if they have few heirs - add = 10 - scope:actor = { - any_child = { - count <= 1 - } - } - scope:recipient = { - is_married = no - fertility > low_fertility - OR = { - is_courtier_of = scope:actor - is_pool_guest_of = scope:actor - } - } - } - - modifier = { - add = 30 - scope:actor = { - has_trait = lustful - } - } - - modifier = { # ( ͡° ͜ʖ ͡°) - add = 50 - scope:actor = { - is_close_or_extended_family_of = scope:recipient - is_deviant_trigger = yes - } - scope:recipient = { - OR = { - is_deviant_trigger = yes - has_trait = lustful - } - } - } - - modifier = { - add = 25 - scope:actor = { - is_close_or_extended_family_of = scope:recipient - is_deviant_trigger = yes - } - scope:recipient = { - NOR = { - is_deviant_trigger = yes - has_trait = lustful - } - } - } - - modifier = { - add = 50 - scope:actor = { - is_close_or_extended_family_of = scope:recipient - faith = { has_doctrine = tenet_divine_marriage } - } - } - - modifier = { # Seducing the spouse of your rival is good drama... - add = 25 - scope:recipient = { - exists = primary_spouse - primary_spouse = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - } - - modifier = { - add = -20 - scope:actor = { - NOR = { - has_trait = lustful - has_trait = arbitrary - is_deviant_trigger = yes - faith = { has_doctrine = tenet_divine_marriage } - has_perk = subtle_desire_perk - } - } - scope:recipient = { - is_close_family_of = scope:actor - } - } - - modifier = { # Seducing someone's spouse is not a clever prospect for most characters, so lowering the attractiveness a bit - add = -20 - scope:recipient = { - is_married = yes - NOT = { - primary_spouse = scope:actor - } - } - scope:actor = { - NOR = { - has_trait = lustful - has_focus = intrigue_temptation_focus - } - } - } - - modifier = { # Try to avoid agressive seduction unless you're geared for it - add = -10 - scope:actor = { - NOR = { - has_trait = lustful - has_focus = intrigue_temptation_focus - } - } - scope:recipient = { - is_lowborn = no - NOT = { is_pool_guest_of = scope:actor } - } - } - - # Struggle - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_friend_lover_with_character - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_friend_lover_with_character - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - trait_compatibility = { - target = scope:recipient - value >= low_positive_trait_compatibility - } - } - scope:recipient = { - has_character_flag = agenda_towards_deescalation - } - } - add = 50 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -200 - } - else = { - add = 5 - } - } - } - - modifier = { - factor = 1.25 - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value >= 1 - } - } - } - - modifier = { - factor = 1.5 - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value >= 2 - } - } - } - - modifier = { - factor = 2 - scope:recipient = { - number_of_personality_traits_in_common = { - target = scope:actor - value >= 3 - } - } - } - - modifier = { - factor = 1.5 - scope:recipient = { - is_playable_character = yes - } - } - - modifier = { # Target the player less aggressively - factor = 0.5 - scope:recipient = { - OR = { - is_ai = no - any_consort = { - is_ai = no - } - } - } - } - - modifier = { - factor = 1.25 - scope:recipient = { - OR = { - has_trait = lustful - has_trait = beauty_good - } - } - } - - modifier = { # Try to avoid 0% success chance - factor = { - value = 0.1 - if = { - limit = { - scope:recipient = { - opinion = { - target = scope:actor - value < -15 - } - } - } - value = 0 - } - } - scope:recipient = { - opinion = { - target = scope:actor - value < -5 - } - } - } - - modifier = { # Try to avoid 0% success chance - factor = 0.1 - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value >= 1 - } - } - } - - modifier = { - factor = 0.75 - scope:recipient = { - is_lowborn = yes - } - } - - modifier = { # Barons tend to not seduce anyone landed above them - factor = 0.1 - scope:actor = { - is_playable_character = yes - primary_title = { - tier = tier_barony - } - } - scope:recipient = { - OR = { - AND = { - is_playable_character = yes - primary_title = { - tier > tier_barony - } - } - any_spouse = { - is_playable_character = yes - primary_title = { - tier > tier_barony - } - } - } - } - } - - modifier = { - factor = 0.2 - scope:recipient = { - is_ai = yes - any_targeting_scheme = { - scheme_type = seduce - } - } - } - - modifier = { # - factor = 0.1 - scope:recipient = { - is_ai = yes - has_trait = chaste - } - } - - modifier = { - factor = 0 - scope:recipient = { - is_ai = yes - num_of_relation_soulmate > 0 - } - } - - modifier = { # Family Feud - add = 50 - exists = scope:actor.house - exists = scope:recipient.primary_spouse.house - scope:actor = { - house.house_head = { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.primary_spouse.house - } - } - has_opinion_modifier = { - modifier = house_feud_opinion - target = scope:recipient.primary_spouse.house.house_head - } - } - } - } -} - -court_interaction = { - icon = icon_scheme_romance - category = interaction_category_friendly - - send_name = START_SCHEME - - interface_priority = 40 - scheme = courting - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = spouses - ai_recipients = neighboring_rulers - } - - ai_targets = { - ai_recipients = vassals - max = 5 - } - - ai_targets = { - ai_recipients = peer_vassals - max = 5 - } - - ai_targets = { - ai_recipients = family - max = 5 - } - - ai_targets = { - ai_recipients = realm_characters - max = 30 - } - - ai_target_quick_trigger = { - adult = yes - attracted_to_owner = yes - owner_attracted = yes - } - ai_frequency = 25 - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { is_adult = yes } - scope:actor = { is_adult = yes } - scope:actor = { is_attracted_to_gender_of = scope:recipient } - scope:recipient = { is_attracted_to_gender_of = scope:actor } - - scope:actor = { # Some early filtering for the AI to focus it towards fruitful romance - trigger_if = { - limit = { - is_ai = yes - } - trigger_if = { # Deviants will romance anyone - limit = { - is_deviant_trigger = yes - } - } - trigger_else_if = { # It's always fine to romance your spouse - limit = { - scope:recipient = { is_consort_of = scope:actor } - } - } - trigger_else_if = { # If the target is a close family member, only certain AI's will romance much older members - limit = { - ai_rationality <= -50 - is_close_family_of = scope:recipient - OR = { - has_trait = lustful - has_trait = rakish - is_incestuous_trigger = yes - has_opinion_modifier = { - modifier = childhood_crush - target = scope:recipient - } - } - } - scope:recipient.age <= scope:actor.age_plus_25 - } - trigger_else_if = { # Lustful/seduction-focused characters have a wider range - limit = { - OR = { - has_trait = lustful - has_trait = rakish - has_focus = intrigue_temptation_focus - } - } - OR = { - scope:recipient.age <= scope:actor.age_plus_10 - AND = { # Romancing your vassals/liege/realm priest is good realm management, AND drama! - has_focus = intrigue_temptation_focus - OR = { - scope:recipient = { - is_vassal_of = scope:actor - } - AND = { - exists = liege - liege = scope:recipient - } - scope:recipient = { - is_theocratic_lessee = yes - is_courtier_of = scope:actor - } - } - } - } - trigger_if = { # The AI should focus on bastard-producing romances, it's more dramatic - limit = { - is_male = yes - scope:recipient = { - is_female = yes - } - } - scope:recipient.age <= scope:recipient.marriage_female_fertility_cutoff_age_value - } - } - trigger_else_if = { # Male characters with no children that are romancing women want to produce children - limit = { - is_male = yes - scope:recipient = { is_female = yes } - any_child = { - count <= 1 - } - } - scope:recipient.age <= scope:actor.age_plus_5 - scope:recipient.age <= scope:recipient.marriage_female_fertility_cutoff_age_value - } - trigger_else = { # Otherwise, try to not seduce with *too* large an age gap - scope:recipient.age <= scope:actor.age_plus_5 - scope:recipient.age >= scope:actor.age_minus_10 - } - } - trigger_else = { - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - can_start_scheme = { - type = courting - target_character = scope:recipient - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = scheme_interaction_tt_courtship_approved - - on_accept = { - scope:actor = { - # If you already have a soulmate, they get very mad - every_relation = { - type = soulmate - limit = { soulmate_relation_is_exclusive_trigger = yes } - - add_opinion = { - modifier = betrayed_our_promise - target = scope:actor - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = court_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = courting - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - - show_as_tooltip = { - # If you already have a soulmate, they get very mad - every_relation = { - type = soulmate - limit = { soulmate_relation_is_exclusive_trigger = yes } - - add_opinion = { - modifier = betrayed_our_promise - target = scope:actor - } - } - } - } - } - scope:recipient = { - if = { - limit = { - is_ai = no - } - add_character_flag = { - flag = courting_cooldown - years = 5 - } - } - } - } - - ai_potential = { - is_adult = yes - trigger_if = { - limit = { - NOR = { - culture = { - has_cultural_parameter = ai_romance_scheme_increase - } - AND = { - has_character_flag = agenda_towards_deescalation - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_best_friend_soulmate_with_very_important_character - } - } - } - } - ai_honor >= high_positive_ai_value - ai_compassion >= low_positive_ai_value - } - highest_held_title_tier > tier_barony - NOR = { - has_trait = celibate - has_trait = chaste - scheme_generic_ai_blocker_trigger = yes - AND = { # No one cared about City barons - is_lowborn = yes - primary_title.tier <= tier_barony - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - - - # Struggle - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_best_friend_soulmate_with_very_important_character - } - } - scope:recipient = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_best_friend_soulmate_with_very_important_character - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - } - scope:recipient = { - has_character_flag = agenda_towards_deescalation - } - } - add = 25 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -200 - } - else = { - add = 5 - } - } - } - - modifier = { # Motivate AI's to use it on catalyst providers exclusively - add = -50 - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_best_friend_soulmate_with_very_important_character - } - } - scope:recipient = { - NOT = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - phase_has_catalyst = catalyst_became_best_friend_soulmate_with_very_important_character - } - } - } - } - - opinion_modifier = { - opinion_target = scope:recipient - multiplier = 0.4 - } - - compatibility_modifier = { - compatibility_target = scope:recipient - multiplier = 1 - max = court_scheme_max_compatability_value - } - - modifier = { - factor = 25 - culture = { - has_cultural_parameter = ai_romance_scheme_increase - } - } - - modifier = { - factor = 25 - has_focus = martial_chivalry_focus - } - - modifier = { - add = 50 - scope:actor = { - has_opinion_modifier = { - modifier = childhood_crush - target = scope:recipient - } - } - } - - modifier = { - add = -50 - scope:actor = { - is_close_family_of = scope:recipient - NOR = { - is_deviant_trigger = yes - has_trait = lustful - } - } - } - - modifier = { - factor = 3 - scope:recipient = { - OR = { - is_playable_character = yes - any_spouse = { - is_playable_character = yes - } - } - } - } - - modifier = { - factor = 1.25 - scope:recipient = { - has_trait = beauty_good - } - } - - modifier = { # Try to avoid 0% success chance - factor = { - value = 0.1 - if = { - limit = { - scope:recipient = { - opinion = { - target = scope:actor - value < -20 - } - } - } - value = 0 - } - } - scope:recipient = { - opinion = { - target = scope:actor - value < 0 - } - } - } - - modifier = { - factor = 0.2 - scope:recipient = { - is_ai = yes - any_targeting_scheme = { - scheme_type = courting - } - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - num_of_relation_soulmate > 0 - } - } - - modifier = { - factor = 0.1 - scope:recipient = { - is_lowborn = yes - is_married = no - } - } - } -} - -sway_interaction = { - icon = icon_scheme_sway - category = interaction_category_friendly - common_interaction = yes - - send_name = START_SCHEME - - interface_priority = 75 - - scheme = sway - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - ai_recipients = neighboring_rulers - } - ai_targets = { - ai_recipients = vassals - ai_recipients = peer_vassals - chance = 0.25 - } - ai_targets = { - ai_recipients = councillors - } - ai_frequency = 12 - - is_shown = { - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = sway - target_character = scope:recipient - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = scheme_interaction_tt_sway_approved - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = sway_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = sway - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - } - } - - ai_potential = { - primary_title.tier >= tier_county - NOR = { - scheme_generic_ai_blocker_trigger = yes - primary_title = { - is_mercenary_company = yes - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 10 - - modifier = { # Prefer seducing if you've got the focus for it - add = -20 - scope:actor = { - has_focus = intrigue_temptation_focus - } - } - - modifier = { - add = 10 - scope:recipient = { - is_vassal_of = scope:actor - } - } - - modifier = { # Try to sway those who you might want to vassalize - add = 30 - scope:actor = { - is_independent_ruler = yes - primary_title.tier >= tier_county - NOT = { - any_targeting_faction = { - exists = yes - OR = { - faction_is_type = liberty_faction - faction_is_type = claimant_faction - faction_is_type = independence_faction - } - } - } - } - scope:recipient = { - is_independent_ruler = yes - is_playable_character = yes - primary_title.tier < scope:actor.primary_title.tier - OR = { - faith.religion = scope:actor.faith.religion - AND = { - faith = { - has_doctrine = doctrine_pluralism_pluralistic - } - scope:actor.faith = { - has_doctrine = doctrine_pluralism_pluralistic - } - } - } - } - } - - modifier = { - add = 10 - scope:recipient = { - exists = joined_faction - joined_faction = { - faction_target = scope:actor - faction_is_type = liberty_faction - faction_is_at_war = no - } - } - } - - modifier = { - add = 20 - scope:recipient = { - exists = joined_faction - joined_faction = { - faction_target = scope:actor - faction_is_type = claimant_faction - faction_is_at_war = no - } - } - } - - modifier = { - add = 30 - scope:recipient = { - exists = joined_faction - joined_faction = { - faction_target = scope:actor - faction_is_type = independence_faction - faction_is_at_war = no - } - } - } - - modifier = { - factor = 2 - scope:recipient = { - is_a_faction_leader = yes - is_vassal_of = scope:actor - } - } - - modifier = { - factor = 3 - scope:recipient = { - is_vassal_of = scope:actor - opinion = { - target = scope:actor - value < 0 - } - } - } - - modifier = { - factor = 4 - scope:recipient = { - is_powerful_vassal_of = scope:actor - opinion = { - target = scope:actor - value < 0 - } - } - } - - modifier = { - factor = 0.5 - NOT = { scope:recipient.faith = scope:actor.faith } - } - - modifier = { - factor = 0.25 - scope:actor = { - is_ruler = yes - tier_difference = { - target = scope:recipient - value > 2 - } - } - scope:recipient = { - is_theocratic_lessee = no - } - } - modifier = { - factor = 0.5 - scope:actor = { - has_personality_malicious_trigger = yes - } - } - modifier = { - factor = 2 - scope:actor = { - OR = { - has_trait = gregarious - has_trait = diplomat - has_trait = family_first - has_trait = august - } - } - } - modifier = { - factor = 0.75 - scope:recipient = { - is_child_of = scope:actor - } - } - modifier = { - factor = 2 - scope:actor = { - is_child_of = scope:recipient - } - } - modifier = { - factor = 0.25 - scope:recipient = { - any_claim = { - this = scope:actor.primary_title - } - } - } - modifier = { # Butter up the realm priest - factor = 10 - scope:recipient = { - is_theocratic_lessee = yes - opinion = { - target = scope:actor - value <= 50 - } - } - } - modifier = { # Try to make your tax collectors like you - factor = 10 - scope:actor = { - government_has_flag = government_is_clan - } - scope:recipient = { - is_tax_collector = yes - opinion = { - target = scope:actor - value <= 50 - } - } - } - - modifier = { # No point in swaying if opinion is already at 100 - factor = 0 - scope:recipient = { - opinion = { - target = scope:actor - value >= 100 - } - } - } - - modifier = { # If they are unlanded, they have to be a realm priest or spymaster, or in the case for clan rulers, a tax collector - factor = 0 - scope:recipient = { - is_ruler = no - NOR = { - is_theocratic_lessee = yes - has_council_position = councillor_spymaster - AND = { - is_tax_collector = yes - scope:actor = { government_has_flag = government_is_clan } - } - } - } - } - - modifier = { # Ignore rivals unless forgiving - factor = 0 - scope:actor = { - has_relation_rival = scope:recipient - NOT = { has_trait = forgiving } - } - } - - modifier = { # Ignore non-councillor barons - factor = 0 - scope:recipient = { - primary_title.tier = tier_barony - is_councillor = no - } - } - - modifier = { # Ignore neighboring Kings+ - factor = 0 - scope:recipient = { - is_independent_ruler = yes - is_playable_character = yes - primary_title.tier >= tier_kingdom - } - } - - modifier = { # Ignore neighboring Herders - factor = 0 - scope:recipient = { - government_has_flag = government_is_herder - } - } - } -} - -learn_language_interaction = { - icon = icon_scheme_learn_language - category = interaction_category_friendly - common_interaction = yes - - send_name = START_SCHEME - - interface_priority = 42 - scheme = learn_language - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - ai_recipients = head_of_faith - ai_recipients = spouses - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = vassals - ai_recipients = peer_vassals - max = 10 - } - ai_targets = { - ai_recipients = neighboring_rulers - max = 5 - } - ai_frequency = 48 - - is_shown = { - scope:actor = { - NOT = { - culture = { - has_same_culture_language = scope:recipient.culture - } - } - } - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = learn_language - target_character = scope:recipient - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - desc = scheme_interaction_tt_learn_language_approved - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = learn_language_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = learn_language - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - } - } - - ai_potential = { - primary_title.tier >= tier_county - NOR = { - has_trait = lazy - has_trait = paranoid - scheme_generic_ai_blocker_trigger = yes - primary_title = { - is_mercenary_company = yes - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - # Struggle - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_learned_new_language_important - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_learned_new_language_important - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - } - } - add = 100 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -50 - } - } - } - - modifier = { # Focus on befriending if that's the path you've chosen - add = -50 - scope:actor = { - has_perk = befriend_perk - } - } - - modifier = { # Prefer seducing if you've got the focus for it - add = -20 - scope:actor = { - has_focus = intrigue_temptation_focus - } - } - - modifier = { - add = 50 - scope:actor = { - has_perk = open_minded_perk - } - } - - modifier = { - add = 50 - scope:actor = { - culture = { - has_cultural_parameter = rulers_want_to_learn_languages_of_coreligionists - } - } - scope:actor.religion = scope:recipient.religion - } - - modifier = { - add = 25 - scope:actor = { - has_trait = curious - } - } - - modifier = { - add = 50 - scope:actor = { - is_adult = no - } - } - - modifier = { - add = 25 - scope:recipient = { - has_relation_friend = scope:actor - } - } - - modifier = { - add = 25 - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { - add = 10 - scope:recipient = { - has_relation_potential_friend = scope:actor - } - } - - modifier = { - add = 5 - scope:recipient = { - is_close_family_of = scope:actor - is_ruler = yes - } - } - - modifier = { # Muslims want to learn arabic - add = 25 - scope:actor = { - faith.religion = religion:islam_religion - NOT = { - knows_language = language_arabic - } - } - scope:recipient = { - culture = { - has_cultural_pillar = language_arabic - } - } - } - - modifier = { # Catholic clergy/pious people want to learn latin - add = 50 - scope:actor = { - faith = faith:catholic - OR = { - has_trait = zealous - has_trait = humble - is_clergy = yes - } - NOT = { - knows_language = language_latin - } - } - scope:recipient = { - culture = { - has_cultural_pillar = language_latin - } - } - } - - modifier = { # Catholic clergy/pious people want to learn Italian - add = 50 - scope:actor = { - faith = faith:catholic - OR = { - has_trait = zealous - has_trait = humble - is_clergy = yes - } - NOT = { - knows_language = language_italian - } - } - scope:recipient = { - culture = { - has_cultural_pillar = language_italian - } - } - } - - modifier = { # Clergy/pious people want to learn their HoF's language - add = 50 - scope:actor = { - exists = faith.religious_head - OR = { - has_trait = zealous - is_clergy = yes - } - NOT = { knows_language_of_culture = scope:actor.faith.religious_head.culture } - } - scope:recipient = { knows_language_of_culture = scope:actor.faith.religious_head.culture } - } - - modifier = { # Coptic/Orthodox clergy/pious people want to learn greek - add = 50 - scope:actor = { - OR = { - faith = faith:orthodox - faith = faith:coptic - } - OR = { - has_trait = zealous - has_trait = humble - is_clergy = yes - } - NOT = { - knows_language = language_greek - } - } - scope:recipient = { - culture = { - has_cultural_pillar = language_greek - } - } - } - - modifier = { # Nestorian clergy/pious people want to learn aramaic - add = 50 - scope:actor = { - faith = faith:nestorian - OR = { - has_trait = zealous - has_trait = humble - is_clergy = yes - } - NOT = { - knows_language = language_aramaic - } - } - scope:recipient = { - culture = { - has_cultural_pillar = language_aramaic - } - } - } - - modifier = { - add = 20 - scope:actor = { - has_focus = diplomacy_foreign_affairs_focus - any_neighboring_realm_same_rank_owner = { - this = scope:recipient - } - } - } - - modifier = { - add = 20 - scope:actor = { - OR = { - has_focus = learning_scholarship_focus - has_focus = stewardship_duty_focus - } - } - scope:recipient = { - is_vassal_of = scope:actor - } - } - - modifier = { - add = 10 - exists = scope:actor.capital_county - scope:recipient.culture = { - has_same_culture_language = scope:actor.capital_county.culture - } - } - - modifier = { - add = 100 - scope:actor.culture = { - has_cultural_tradition = tradition_loyal_soldiers - } - is_independent_ruler = no - scope:actor = { - liege = scope:recipient - } - } - - modifier = { - factor = 2 - scope:recipient = { - is_powerful_vassal_of = scope:actor - } - } - - modifier = { - factor = 2 - scope:actor = { - learning >= 12 - } - } - - modifier = { - factor = 0.5 - scope:actor = { - learning <= 6 - } - } - - modifier = { - factor = 0 - - scope:actor.num_of_known_languages >= 5 - scope:actor = { - NOR = { - has_perk = pedagogy_perk - has_trait = intellect_good_2 - has_trait = intellect_good_3 - age < 25 - } - } - } - - modifier = { - factor = 0 - - scope:actor.num_of_known_languages >= language_soft_cap - } - } -} - diff --git a/N3OW/common/character_interactions/00_test_interactions.txt b/N3OW/common/character_interactions/00_test_interactions.txt deleted file mode 100644 index 1a473b70..00000000 --- a/N3OW/common/character_interactions/00_test_interactions.txt +++ /dev/null @@ -1,1177 +0,0 @@ - -debug_change_opinion_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = debug_good - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - } - - send_option = { - flag = love - localization = debug_make_love_me_interaction - } - send_option = { - flag = like - localization = debug_make_like_me_interaction - } - send_option = { - flag = dislike - localization = debug_make_dislike_me_interaction - } - send_option = { - flag = hate - localization = debug_make_hate_me_interaction - } - on_accept = { - scope:recipient = { - switch = { - trigger = yes - scope:love = { - add_opinion = { - modifier = love_opinion - target = scope:actor - opinion = 200 - } - } - scope:like = { - add_opinion = { - modifier = friendliness_opinion - target = scope:actor - opinion = 100 - } - } - scope:dislike = { - add_opinion = { - modifier = angry_opinion - target = scope:actor - opinion = -100 - } - } - scope:hate = { - add_opinion = { - modifier = hate_opinion - target = scope:actor - opinion = -200 - } - } - } - } - } - auto_accept = yes -} - -make_lover_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - NOT = { - scope:actor = { - has_relation_lover = scope:recipient - } - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - set_relation_lover = { reason = test_lover_desc target = scope:recipient } - } - } -} - -make_soulmate_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - scope:actor = { has_relation_lover = scope:recipient } - NOT = { - scope:actor = { - has_relation_soulmate = scope:recipient - } - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - set_relation_soulmate = { reason = test_soulmate_desc copy_reason = lover target = scope:actor } - } - } -} - -make_rival_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - NOT = { - scope:actor = { - any_relation = { - type = rival - this = scope:recipient - } - } - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - set_relation_rival = { - target = scope:recipient - reason = rival_debug - } - } - } -} - -make_nemesis_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - scope:actor = { has_relation_rival = scope:recipient } - NOT = { - scope:actor = { - has_relation_nemesis = scope:recipient - } - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - set_relation_nemesis = { - reason = test_nemesis_desc - copy_reason = rival - target = scope:recipient - } - } - } -} - -remove_rival_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - scope:actor = { - has_relation_rival = scope:recipient - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - remove_relation_rival = scope:recipient - } - } -} - -make_friend_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - NOT = { - scope:actor = { - any_relation = { - type = friend - this = scope:recipient - } - } - } - always = no # superseded by set_relation_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - set_relation_friend = { reason = test_friend_desc target = scope:recipient } - } - } -} - - -learn_secrets_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - common_interaction = yes - icon = icon_discovered_scheme - interface_priority = -3 - - is_shown = { - debug_only = yes - - scope:recipient = { - any_secret = { - NOT = { - is_known_by = scope:actor - } - } - } - } - on_accept = { - scope:recipient = { - every_secret = { - reveal_to = scope:actor - } - } - } - - auto_accept = yes -} - -make_dynasty_house_head_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - icon = icon_dynasty - - is_shown = { - debug_only = yes - scope:recipient = { - exists = scope:recipient.house - NOT = { scope:recipient.house.house_head = scope:recipient } - } - } - - auto_accept = yes - - on_accept = { - debug_log_scopes = yes - scope:recipient.house = { - set_house_head = scope:recipient - } - } -} - -take_title_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - target_type = title - target_filter = recipient_domain_titles - - icon = debug_take_title - - is_shown = { - debug_only = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - NOT = { scope:recipient = scope:actor } - } - - can_be_picked_title = { - trigger_if = { - limit = { - scope:landless_title = yes - } - scope:target = { - is_landless_type_title = yes - is_noble_family_title = no - } - } - trigger_else = { - scope:target = { is_landless_type_title = no } - } - } - - send_option = { - flag = title_only - localization = take_title_interaction - } - send_option = { - flag = title_and_vassals - localization = take_title_and_vassals_interaction - } - send_option = { - flag = landless_title - localization = take_landless_title_interaction - } - - auto_accept = yes - - on_accept = { - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - add_claim_on_loss = no - } - scope:target = { - switch = { - trigger = yes - scope:title_only = { - change_title_holder = { - holder = scope:actor - change = scope:change - } - } - scope:title_and_vassals = { - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - } - } - scope:landless_title = { - change_title_holder = { - holder = scope:actor - change = scope:change - } - } - } - } - resolve_title_and_vassal_change = scope:change - } -} - -take_domain_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - NOT = { - scope:recipient = scope:actor - } - always = no - } - - auto_accept = yes - - on_accept = { - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - } - scope:recipient = { - every_held_title = { - limit = { - is_landless_type_title = no - } - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - } - } - } - resolve_title_and_vassal_change = scope:change - } -} - -take_realm_interaction = { - category = interaction_debug_main - common_interaction = yes - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - icon = grant_titles_interaction - - is_shown = { - debug_only = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - NOT = { - scope:recipient = scope:actor - } - } - - auto_accept = yes - - send_option = { - flag = domain - localization = take_domain_interaction - } - send_option = { - flag = realm - localization = take_realm_interaction - } - send_option = { - is_valid = { - scope:actor.highest_held_title_tier < scope:recipient.liege.highest_held_title_tier - scope:recipient = { is_independent_ruler = no } - } - flag = domain_as_vassal - localization = take_domain_as_vassal_interaction - } - send_option = { - is_valid = { - scope:actor.highest_held_title_tier < scope:recipient.liege.highest_held_title_tier - scope:recipient = { is_independent_ruler = no } - } - flag = realm_as_vassal - localization = take_realm_as_vassal_interaction - } - - on_accept = { - scope:recipient.liege = { save_scope_as = new_liege } - if = { - limit = { - OR = { - scope:realm = yes - scope:realm_as_vassal = yes - } - } - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - } - scope:recipient = { - every_sub_realm_title = { - limit = { - tier >= tier_county - is_noble_family_title = no - is_landless_type_title = no - NOT = { holder ?= scope:actor } - } - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - take_baronies = no - } - } - } - resolve_title_and_vassal_change = scope:change - } - else_if = { - limit = { - OR = { - scope:domain = yes - scope:domain_as_vassal = yes - } - } - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - } - scope:recipient = { - every_held_title = { - limit = { - tier >= tier_county - is_noble_family_title = no - is_landless_type_title = no - } - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - take_baronies = no - } - } - } - resolve_title_and_vassal_change = scope:change - } - if = { - limit = { - OR = { - scope:realm_as_vassal = yes - scope:domain_as_vassal = yes - } - } - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - } - scope:actor = { - change_liege = { - liege = scope:new_liege - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - } -} - -take_vassal_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - icon = icon_liege - - is_shown = { - debug_only = yes - scope:recipient = { - NOT = { is_vassal_of = scope:actor } - highest_held_title_tier >= tier_county - highest_held_title_tier < scope:actor.highest_held_title_tier - } - NOT = { scope:recipient = scope:actor } - scope:actor = { has_any_landed_title_trigger = yes } - } - - auto_accept = yes - - on_accept = { - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - add_claim_on_loss = no - } - scope:recipient = { - change_liege = { - liege = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } -} - -make_independent_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - icon = independence - - is_shown = { - debug_only = yes - scope:recipient = { - is_independent_ruler = no - highest_held_title_tier >= tier_county - } - } - - auto_accept = yes - - on_accept = { - create_title_and_vassal_change = { - type = conquest - save_scope_as = change - } - scope:recipient = { - becomes_independent = { change = scope:change } - } - resolve_title_and_vassal_change = scope:change - } -} - -start_pregnancy_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = pregnant - - is_shown = { - debug_only = yes - scope:recipient = { is_adult = yes } - scope:actor = { is_adult = yes } - scope:recipient = { is_pregnant = no } - scope:actor = { is_pregnant = no } - - OR = { - AND = { - scope:recipient = { is_female = yes } - scope:actor = { is_male = yes } - } - AND = { - scope:recipient = { is_male = yes } - scope:actor = { is_female = yes } - } - } - } - - on_accept = { - scope:actor = { trigger_event = debug.0002 } - } - - auto_accept = yes -} - -get_claim_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = vassal_claim_liege_title_interaction - - target_type = title - target_filter = recipient_domain_titles - - is_shown = { - debug_only = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - NOT = { scope:recipient = scope:actor } - } - - can_be_picked_title = { - scope:target = { - is_noble_family_title = no - is_landless_type_title = no - } - trigger_if = { - limit = { - scope:actor = { has_claim_on = scope:target } - } - scope:pressed = yes - scope:actor = { has_weak_claim_on = scope:target } - } - } - - send_option = { - flag = pressed - localization = add_pressed_claim_interaction - } - send_option = { - flag = unpressed - localization = add_unpressed_claim_interaction - } - - auto_accept = yes - - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:pressed = { add_pressed_claim = scope:target } - scope:unpressed = { add_unpressed_claim = scope:target } - } - } - } -} - -claim_all_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_claim_pressed - - is_shown = { - debug_only = yes - scope:recipient = { is_landed_or_landless_administrative = yes } - NOT = { scope:recipient = scope:actor } - } - - send_option = { - flag = pressed - localization = add_pressed_claim_interaction - } - send_option = { - flag = unpressed - localization = add_unpressed_claim_interaction - } - - auto_accept = yes - - on_accept = { - scope:recipient = { - every_held_title = { - limit = { - is_landless_type_title = no - is_noble_family_title = no - trigger_if = { - limit = { - scope:actor = { has_claim_on = scope:target } - } - scope:pressed = yes - scope:actor = { has_weak_claim_on = scope:target } - } - tier >= tier_county - } - save_temporary_scope_as = title_temp - scope:actor = { - switch = { - trigger = yes - scope:pressed = { add_pressed_claim = scope:title_temp } - scope:unpressed = { add_unpressed_claim = scope:title_temp } - } - } - } - } - } -} - -get_claim_on_all_creatable_interaction = { - category = interaction_debug_main - icon = icon_claim_pressed - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - scope:recipient = scope:actor - } - - auto_accept = yes - - on_accept = { - scope:actor = { - every_alert_creatable_title = - { - scope:actor = { - add_pressed_claim = prev - } - } - } - } -} - -test_dynasty_prestige_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - scope:recipient = scope:actor - always = no - } - - auto_accept = yes - - on_accept = { - scope:actor.dynasty = { - add_dynasty_prestige_level = 1 - add_dynasty_prestige = 1000 - } - } -} - -debug_start_era_of_great_holy_wars_interaction = { - category = interaction_debug_main - icon = religious - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - interface_priority = -100 - - is_shown = { - debug_only = yes - } - - send_option = { - flag = crusade - localization = debug_start_era_of_crusades_interaction - is_valid = { - NOT = { exists = faith:catholic.religion.var:variable_ghw_unlocked } - } - } - send_option = { - flag = jihad - localization = debug_start_era_of_jihads_interaction - is_valid = { - NOT = { exists = faith:ashari.religion.var:variable_ghw_unlocked } - } - } - - send_option = { - flag = ghw_natural - localization = debug_launch_natural_crusade_interaction - is_valid = { - scope:recipient.faith = { - NOR = { - exists = great_holy_war - exists = var:variable_ghw_cooldown - exists = religion.var:variable_first_ghw_cooldown # Do not event spam after Crusades have been just unlocked. - } - exists = religion.var:variable_ghw_unlocked #Activated by event for every religion. - } - } - } - - send_option = { - flag = ghw - localization = debug_start_great_holy_war_interaction - is_valid = { - NOT = { scope:recipient.faith = scope:actor.faith } - scope:actor.faith = { - NOR = { - exists = great_holy_war - exists = var:variable_ghw_cooldown - exists = religion.var:variable_first_ghw_cooldown # Do not event spam after Crusades have been just unlocked. - } - exists = religion.var:variable_ghw_unlocked #Activated by event for every religion. - } - } - } - - auto_accept = yes - - on_accept = { - hidden_effect = { - switch = { - trigger = yes - scope:crusade = { - faith:catholic = { save_scope_as = awakening_faith } - } - scope:jihad = { - faith:ashari = { save_scope_as = awakening_faith } - } - scope:ghw_natural = { - hidden_effect = { - scope:recipient.faith = { - change_fervor = { - value = 200 - desc = test_interaction_fervor_gain - } - trigger_event = great_holy_war.0001 - } - } - } - scope:ghw = { - scope:actor.faith = { - start_great_holy_war = { - target_character = scope:recipient - target_title = scope:recipient.primary_title - delay = 30 - } - } - } - } - scope:awakening_faith ?= { - change_fervor = { - value = 200 - desc = test_interaction_fervor_gain - } - if = { - limit = { exists = religious_head } - religious_head = { save_scope_as = ghw_first_sponsor } - } - else = { - random_theocratic_ruler = { - limit = { faith = root } - save_scope_as = ghw_first_sponsor - } - } - if = { # Fallback - limit = { - NOT = { exists = scope:ghw_first_sponsor } - } - random_ruler = { - limit = { faith = root } - save_scope_as = ghw_first_sponsor - } - } - religion = { - set_variable = { - name = variable_ghw_unlocked # Crusades - value = yes - } - } - every_player = { trigger_event = great_holy_war.0011 } # Flavor fluff for various Faiths. - } - } - } -} - -debug_change_council_task_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_valid_showing_failures_only = { - scope:actor = { - cp:councillor_spymaster = { - NOT = { councillor_task_target = scope:recipient } - } - } - } - - is_shown = { - debug_only = yes - exists = scope:actor.cp:councillor_spymaster.councillor_task_target - always = no - } - - auto_accept = yes - - on_accept = { - scope:actor = { - cp:councillor_spymaster = { - set_council_task = { - task_type = task_find_secrets - target = scope:recipient - } - } - } - } -} - -debug_trigger_localization_testing_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_valid_showing_failures_only = { - - } - - is_valid = { - scope:actor.father = scope:actor.father - scope:actor.father.killer = scope:actor - scope:actor.capital_county.holder = scope:actor - scope:actor.capital_county.faith = scope:actor.faith - scope:actor.faith.religion = faith:catholic.religion - scope:actor.capital_county.kingdom = title:k_england - scope:recipient.liege = scope:actor - - - } - - is_shown = { - always = no # This interaction has no purpose beyond debugging trigger localization. As such, it can be disabled unless somebody is actively working on that. - debug_only = yes - } - - auto_accept = yes - - on_accept = { - add_gold = 100 - } -} - -# DEBUG INTERACTION! -create_betrothal_interaction = { - category = interaction_debug_main - - is_shown = { - debug_only = yes - scope:actor = { - is_married = no - is_betrothed = no - allowed_to_marry_character_gender_trigger = { CHARACTER = scope:recipient } - OR = { - is_adult = no - scope:recipient = { is_adult = no } - } - scope:recipient = { - is_married = no - is_betrothed = no - } - } - } - - - on_accept = { - scope:actor = { - create_betrothal = scope:recipient - } - } - - ai_accept = { - base = 70 - modifier = { - add = 100 - scope:recipient = { - opinion = { target = scope:actor value >= 0 } - } - } - } -} - -set_relation_interaction = { - category = interaction_debug_main - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { scope:recipient = scope:actor } - always = no # deprecated - } - - on_accept = { - scope:actor = { trigger_event = debug.350 } - } - - auto_accept = yes -} - -designate_diarch_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_dismiss_entrenched_regency - - is_shown = { - debug_only = yes - NOT = { - scope:actor = scope:recipient - } - } - on_accept = { - scope:actor = { - designate_diarch = scope:recipient - } - } - - auto_accept = yes -} - -start_diarchy_interaction = { - icon = icon_entrench_regency - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - scope:recipient = { - basic_eligible_for_diarchy_trigger = yes - has_active_diarchy = no - } - } - on_accept = { - scope:recipient = { try_start_diarchy = regency } - } - - auto_accept = yes -} - -end_diarchy_interaction = { - category = interaction_debug_main - icon = "icon_dismiss_entrenched_regency" - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - scope:recipient = { has_active_diarchy = yes } - } - on_accept = { - scope:recipient = { end_diarchy = yes } - } - - auto_accept = yes -} - -test_cooldown_category_10_days = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - category_cooldown = { days = 10 } - - is_shown = { - debug_only = yes - always = no # Comment out this line to test - } - - auto_accept = yes - on_accept = {} -} - - -test_cooldown_category_against_30_days = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - category_cooldown_against_recipient = { days = 30 } - - is_shown = { - debug_only = yes - always = no # Comment out this line to test - } - - auto_accept = yes - on_accept = {} -} - -take_hostage_interaction = { - category = interaction_debug_main - icon = icon_hostage - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { - scope:actor = scope:recipient - } - scope:recipient = { - is_ruler = no - is_hostage = no - } - } - - on_accept = { - scope:actor = { - take_hostage = scope:recipient - } - } - - auto_accept = yes -} - -release_hostage_interaction = { - category = interaction_debug_main - - use_diplomatic_range = no - ignores_pending_interaction_block = yes - - is_shown = { - debug_only = yes - NOT = { - scope:actor = scope:recipient - } - scope:recipient = { - is_hostage = yes - } - } - - on_accept = { - scope:recipient = { - return_hostage = yes - } - } - - auto_accept = yes -} diff --git a/N3OW/common/character_interactions/00_tradition_interactions.txt b/N3OW/common/character_interactions/00_tradition_interactions.txt deleted file mode 100644 index 98fb43a8..00000000 --- a/N3OW/common/character_interactions/00_tradition_interactions.txt +++ /dev/null @@ -1,411 +0,0 @@ -spar_with_knight_interaction = { - icon = icon_combat - interface_priority = 30 - common_interaction = yes - category = interaction_category_friendly - ai_min_reply_days = 0 - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - desc = spar_with_knight_interaction_desc - - greeting = positive - notification_text = REQUEST_SPARRING_TEXT - - is_shown = { - scope:actor = { - culture = { - has_cultural_parameter = can_use_sparring_duel - } - } - scope:recipient = { - is_knight_of = scope:actor - } - # Can't duel yourself. - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:actor = { can_start_single_combat_trigger = yes } - scope:actor = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:actor } } - # Scope:recipient must be able to fight personally. - scope:recipient = { can_start_single_combat_trigger = yes } - # Scope:recipient must not be banned from single combat. - scope:recipient = { - custom_description = { - text = fp1_tbc_recipient_banned_from_combat - can_start_single_combat_banned_checks_trigger = no - } - } - # Neither of the characters can be imprisoned. - scope:actor = { is_imprisoned = no } - scope:recipient = { is_imprisoned = no } - - scope:actor = { is_at_war = no } - scope:recipient = { is_at_war = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cost = { prestige = medium_prestige_value } - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Set up the bout immediately. - ## First inform. - scope:actor = { - custom_tooltip = challenge_to_single_combat_interaction.enter_non_lethal_bout.tt - custom_tooltip = spar_with_knight_interaction.effect.tt - custom_tooltip = spar_with_knight_interaction.negative_effect.tt - } - scope:recipient = { - custom_tooltip = spar_with_knight_interaction.effect.tt - custom_tooltip = spar_with_knight_interaction.negative_effect.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = army_camp - OUTPUT_EVENT = culture_tradition_events.0001 - INVALIDATION_EVENT = perk_interaction.0102 - } - } - - ai_accept = { - base = 10 # Try to make it 0 for most interactions - - modifier = { - desc = CTSC_RELATIVE_PROWESS - scope:recipient.prowess < scope:actor.prowess - add = { - value = scope:actor.prowess - subtract = scope:recipient.prowess - multiply = -2 - } - } - - # Personality values - ai_value_modifier = { - who = scope:recipient - ai_boldness = 0.5 - ai_honor = { - if = { - limit = { - scope:recipient = { - ai_honor > 0 - } - } - value = 0.25 - } - } - } - modifier = { - desc = AI_REFUSAL_WOUNDED - scope:recipient = { - OR = { - has_trait = wounded - has_trait = maimed - } - } - add = -200 - } - } - - # AI - ai_potential = { - culture = { - has_cultural_parameter = can_use_sparring_duel - } - NOT = { has_trait = craven } - is_imprisoned = no - can_start_single_combat_trigger = yes - number_of_knights > 0 - primary_title.tier > tier_barony - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_targets = { - ai_recipients = courtiers - max = 10 - } - - ai_frequency = 60 - - ai_will_do = { - base = -25 - - # Factor for personality (excluding realism). - modifier = { - add = { - value = ai_boldness - multiply = 1 - } - } - modifier = { - add = { - value = ai_energy - multiply = 0.5 - } - } - modifier = { - add = -50 - prowess <= low_skill_rating - } - modifier = { - factor = 0 - OR = { - has_trait = wounded - has_trait = maimed - } - } - } -} - - -#Appointing a Podesta over a Commune - Turning a one county holder into a Republican Vassal -#Local culture must have the parameter, as does the granting character. -#Recipient does not need to have local culture. -appoint_podesta_interaction = { - icon = grant_titles_interaction - interface_priority = 30 - common_interaction = yes - category = interaction_category_vassal - ai_min_reply_days = 0 - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - desc = appoint_podesta_desc - - greeting = positive - notification_text = REQUEST_REPUBLIC_TEXT - - is_shown = { - NOT = { scope:actor = scope:recipient } # Can't make yourself a Podesta. - scope:actor = { - culture = { - has_cultural_parameter = can_make_republican_vassals - } - any_held_title = { - count > 1 - } - } - scope:recipient = { - is_ai = yes - is_landed = yes - target_is_liege_or_above = scope:actor - NOT = { government_has_flag = government_is_special_republic } - - } - } - - is_valid_showing_failures_only = { - scope:recipient = { can_be_granted_titles_by = { RULER = scope:actor } } - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - - custom_description = { - text = too_many_republics - scope:actor = { - any_vassal = { - count < 4 #Use Script Value - highest_held_title_tier >= tier_county - government_has_flag = government_is_special_republic - } - } - } - - - scope:recipient = { - target_is_liege_or_above = scope:actor - NOT = { government_has_flag = government_is_special_republic } - is_claimant = no - - custom_description = { - text = must_be_one_county_count - any_held_title = { - count = 1 - tier = tier_county - } - } - - custom_description = { - text = must_not_have_landed_relatives - NOT = { - any_close_or_extended_family_member = { - is_landed_or_landless_administrative = yes - } - } - } - - custom_description = { - text = must_not_be_heir_to_any_title - scope:recipient = { - any_heir_title = { - count < 1 - tier >= tier_county - } - } - } - - custom_description = { #The county must be developed or have at least one city - text = county_must_have_city - any_held_title = { - count = 1 - tier = tier_county - OR = { - any_county_province = { - has_holding_type = city_holding - } - development_level > 20 - } - } - } - custom_description = { #County must be of a culture that has the tradition parameter - text = county_must_have_culture - any_held_title = { - count = 1 - tier = tier_county - any_county_province = { - culture = { - has_cultural_parameter = can_make_republican_vassals - } - } - } - } - } - - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { - scope:recipient = { - is_ruler = no - } - } - scope:recipient = { - is_imprisoned = no - } - } - } - - cost = { prestige = minor_prestige_value } - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - on_accept = { - scope:actor = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = appoint_podesta_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - show_as_tooltip = { - change_government = republic_government - create_title_and_vassal_change = { - type = returned - save_scope_as = change - add_claim_on_loss = no - } - every_vassal = { - limit = { - government_has_flag = government_is_special_republic - } - every_held_title = { - change_title_holder = { - holder = scope:recipient - change = scope:change - take_baronies = yes - } - } - } - resolve_title_and_vassal_change = scope:change - } - } - } - } - } - scope:recipient = { - change_government = republic_government - create_title_and_vassal_change = { - type = returned - save_scope_as = change - add_claim_on_loss = no - } - every_vassal = { - limit = { - government_has_flag = government_is_special_republic - } - every_held_title = { - change_title_holder = { - holder = scope:recipient - change = scope:change - take_baronies = yes - } - } - } - resolve_title_and_vassal_change = scope:change - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_podesta.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - # AI - ai_potential = { - culture = { - has_cultural_parameter = can_make_republican_vassals - has_cultural_era_or_later = culture_era_high_medieval - } - primary_title.tier > tier_county - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = vassals - } - - ai_frequency = 240 - - ai_will_do = { - base = 100 - } -} diff --git a/N3OW/common/character_interactions/00_trait_interactions.txt b/N3OW/common/character_interactions/00_trait_interactions.txt deleted file mode 100644 index 5dc3279e..00000000 --- a/N3OW/common/character_interactions/00_trait_interactions.txt +++ /dev/null @@ -1,751 +0,0 @@ -#FORGIVING INTERACTION -abandon_hook_interaction = { - interface_priority = 120 - common_interaction = yes - category = interaction_category_friendly - icon = forgiving - - desc = abandon_hook_interaction_desc - - is_shown = { - OR = { - scope:actor = { - has_trait = forgiving - } - #Struggle - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_abandon_hook_for_all - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - } - scope:actor = { - has_usable_hook = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - - custom_description = { - scope:actor = { - NOT = { - has_hook_of_type = { - target = scope:recipient - type = house_head_hook - } - } - } - text = need_non_house_head_hook - } - custom_description = { - scope:actor = { - NOT = { - has_hook_of_type = { - target = scope:recipient - type = ritual_best_friend_hook - } - } - } - text = need_non_best_friend_hook - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = msg_abandon_hook_interaction_title - left_icon = scope:actor - right_icon = scope:recipient - - use_hook = scope:recipient - if = { - limit = { - has_strong_hook = scope:recipient - } - stress_impact = { - forgiving = major_stress_impact_loss - } - } - else = { - stress_impact = { - forgiving = medium_stress_impact_loss - } - } - - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = forgiven_opinion - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_abandon_hook.desc - REVERSE_NON_HOUSE_TARGET = no - } - - hidden_effect = { - # Struggle Catalysts - scope:actor = { - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_abandon_hook_on_supporter_detractor - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_abandon_hook_on_supporter_detractor - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_abandon_hook_on_supporter_detractor } - } - } - } - } - } - - - ai_frequency = 60 - - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_potential = { - stress_level >= 1 - } - - ai_will_do = { - base = 100 - } - - auto_accept = yes -} - -#ARBITRARY INTERACTION -dismiss_strong_hook_interaction = { - interface_priority = 120 - common_interaction = yes - category = interaction_category_hostile - icon = arbitrary - - cost = { - prestige = monumental_prestige_value - } - - desc = dismiss_strong_hook_interaction_desc - - is_shown = { - scope:actor = { - has_trait = arbitrary - } - - scope:recipient = { - is_vassal_of = scope:actor - has_strong_hook = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:actor = { - prestige >= monumental_prestige_value - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = msg_dismiss_hook_interaction_title - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - remove_hook = { target = scope:actor } - add_opinion = { - target = scope:actor - modifier = lost_strong_hook_opinion - } - } - - add_tyranny = 35 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_dismiss_strong_hook.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_frequency = 60 - - ai_potential = { - dread >= 50 - } - - ai_will_do = { - base = 100 - } - - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_target_quick_trigger = { - adult = yes - } - - auto_accept = yes -} - -dismiss_weak_hook_interaction = { - interface_priority = 120 - common_interaction = yes - category = interaction_category_hostile - icon = arbitrary - - cost = { - prestige = major_prestige_value - } - - desc = dismiss_weak_hook_interaction_desc - - is_shown = { - scope:actor = { - has_trait = arbitrary - } - - scope:recipient = { - is_vassal_of = scope:actor - has_usable_hook = scope:actor - NOT = { has_strong_hook = scope:actor } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - prestige >= major_prestige_value - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = msg_dismiss_hook_interaction_title - left_icon = scope:actor - right_icon = scope:recipient - - scope:recipient = { - remove_hook = { target = scope:actor } - add_opinion = { - target = scope:actor - modifier = lost_weak_hook_opinion - } - progress_towards_rival_effect = { - CHARACTER = scope:actor - REASON = rival_dismissed_weak_hook - OPINION = default_rival_opinion - } - } - - add_tyranny = 15 - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_dismiss_weak_hook.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_frequency = 60 - - ai_potential = { - dread >= 50 - } - - ai_will_do = { - base = 100 - } - - auto_accept = yes -} - -#WRATHFUL DUELING -force_duel_criminals_interaction = { - interface_priority = 30 - common_interaction = yes - category = interaction_category_hostile - ai_maybe = yes - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - desc = force_duel_criminals_interaction_desc - icon = wrathful - - greeting = negative - notification_text = REQUEST_TRIAL_BY_COMBAT_TEXT - - is_shown = { - #First, verify if the actor is Wrathful - scope:actor = { has_trait = wrathful } - #Then, look to see if this character is a criminal. - scope:actor = { - OR = { - has_imprisonment_reason = scope:recipient - has_banish_reason = scope:recipient - has_execute_reason = scope:recipient - } - basic_allowed_to_imprison_character_trigger = { # And if you are allowed to imprison the target. - CHARACTER = scope:recipient - } - } - # Can't duel yourself. - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - # Calc some stuff that might invalidate elsewhere before the bout is sorted. - rival_single_combat_shown_and_not_invalid_trigger = yes - # Scope:recipient must be able to fight personally. - scope:recipient = { can_start_single_combat_trigger = yes } - # Scope:recipient must not be banned from single combat. - scope:recipient = { - custom_description = { - text = fp1_tbc_recipient_banned_from_combat - can_start_single_combat_banned_checks_trigger = no - } - } - # Neither of the characters can be imprisoned. - scope:actor = { is_imprisoned = no } - scope:recipient = { is_imprisoned = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cooldown_against_recipient = { years = 10 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Set up the bout immediately. - #Starting with the strongest punishment in case more than one reason is valid - if = { - limit = { - scope:actor = { has_execute_reason = scope:recipient } - } - ## First inform. - scope:actor = { - custom_tooltip = force_duel_criminals_interaction.execute_punishment.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = trait_specific_interactions.0155 - INVALIDATION_EVENT = fp1_tbc.0102 - } - } - else_if = { - limit = { - scope:actor = { has_banish_reason = scope:recipient } - } - ## First inform. - scope:actor = { - custom_tooltip = force_duel_criminals_interaction.banish_punishment.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = trait_specific_interactions.0153 - INVALIDATION_EVENT = fp1_tbc.0102 - } - } - else_if = { - limit = { - scope:actor = { has_imprisonment_reason = scope:recipient } - } - scope:actor = { - custom_tooltip = force_duel_criminals_interaction.imprison_punishment.tt - } - - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = trait_specific_interactions.0151 - INVALIDATION_EVENT = fp1_tbc.0102 - } - } - - } - - auto_accept = yes - - # AI - ai_potential = { - has_trait = wrathful - is_imprisoned = no - can_start_single_combat_trigger = yes - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = courtiers - ai_recipients = guests - max = 10 - } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_targets = { - ai_recipients = family - max = 10 - } - - - ai_frequency = 120 - - ai_will_do = { - base = -50 - - # Factor for personality (excluding realism). - modifier = { - add = { - value = ai_boldness - multiply = 1 - } - } - modifier = { add = ai_vengefulness } - modifier = { - add = { - value = ai_energy - multiply = -0.25 - } - } - # Don't challenge kinslayer-counting family, unless they're your nemesis. - modifier = { - scope:actor = { - murdering_character_is_kinslaying_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - } - scope:recipient = { - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge your spouse, unless they're your nemesis. - modifier = { - scope:recipient = { - is_spouse_of = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge people hopelessly out of your league unless you're really, really not seeing things clearly. - modifier = { - scope:actor = { - prowess_diff = { - target = scope:recipient - value <= -15 - } - ai_rationality >= high_negative_ai_value - } - add = -1000 - } - } -} - -#IRRITABLE DUELING -force_duel_anyone_interaction = { - #need to have a stress level >= 1 - interface_priority = 30 - common_interaction = yes - category = interaction_category_hostile - ai_maybe = yes - ai_max_reply_days = 0 - popup_on_receive = yes - pause_on_receive = yes - desc = force_duel_anyone_interaction_desc - icon = irritable - - greeting = negative - notification_text = REQUEST_TRIAL_BY_COMBAT_TEXT - - is_shown = { - #Just, verify if the actor is Wrathful - scope:actor = { has_trait = irritable } - # Can't duel yourself. - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - # Need to be stressed to be able to force a Duel - scope:actor = { - custom_description = { - stress_level >= 1 - text = not_enough_stress - } - } - # Calc some stuff that might invalidate elsewhere before the bout is sorted. - rival_single_combat_shown_and_not_invalid_trigger = yes - # Scope:recipient must be able to fight personally. - scope:recipient = { can_start_single_combat_trigger = yes } - # Scope:recipient must not be banned from single combat. - scope:recipient = { - custom_description = { - text = fp1_tbc_recipient_banned_from_combat - can_start_single_combat_banned_checks_trigger = no - } - } - # Neither of the characters can be imprisoned. - scope:actor = { is_imprisoned = no } - scope:recipient = { is_imprisoned = no } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cost = { prestige = medium_prestige_value } - cooldown_against_recipient = { years = 10 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Set up the bout immediately. - ## First inform. - scope:actor = { - add_tyranny = 5 - add_dread = 5 - - custom_tooltip = challenge_to_single_combat_interaction.victor_gets.tt - custom_tooltip = challenge_to_single_combat_interaction.loser_gets.tt - } - ## Finally, begin. - configure_start_single_combat_effect = { - SC_INITIATOR = scope:actor - SC_ATTACKER = scope:actor - SC_DEFENDER = scope:recipient - FATALITY = no - FIXED = no - LOCALE = terrain_scope - OUTPUT_EVENT = perk_interaction.0101 - INVALIDATION_EVENT = fp1_tbc.0102 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_released_anger.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - # AI - ai_potential = { - has_trait = irritable - stress_level >= 1 - is_imprisoned = no - can_start_single_combat_trigger = yes - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = prisoners - ai_recipients = courtiers - ai_recipients = guests - max = 1 - } - - ai_targets = { - ai_recipients = family - max = 10 - } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_frequency = 120 - - ai_will_do = { - base = -50 - - # Factor for personality (excluding realism). - modifier = { - add = { - value = ai_boldness - multiply = 1 - } - } - modifier = { add = ai_vengefulness } - modifier = { - add = { - value = ai_energy - multiply = -0.25 - } - } - # Don't challenge kinslayer-counting family, unless they're your nemesis. - modifier = { - scope:actor = { - murdering_character_is_kinslaying_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - } - scope:recipient = { - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge your spouse, unless they're your nemesis. - modifier = { - scope:recipient = { - is_spouse_of = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - add = -1000 - } - # Don't challenge people hopelessly out of your league unless you're really, really not seeing things clearly. - modifier = { - scope:actor = { - prowess_diff = { - target = scope:recipient - value <= -15 - } - ai_rationality >= high_negative_ai_value - } - add = -1000 - } - } - -} diff --git a/N3OW/common/character_interactions/00_tribal_interactions.txt b/N3OW/common/character_interactions/00_tribal_interactions.txt deleted file mode 100644 index 9f6744a6..00000000 --- a/N3OW/common/character_interactions/00_tribal_interactions.txt +++ /dev/null @@ -1,582 +0,0 @@ -feudalize_holding_interaction = { - category = interaction_category_uncategorized - hidden = yes - special_interaction = feudalize_holding - - desc = feudalize_holding_interaction_desc - - target_type = title - target_filter = actor_domain_titles - - auto_accept = yes - - is_shown = { - scope:actor = { - this = scope:recipient - NOR = { - government_has_flag = government_is_tribal - government_has_flag = government_is_nomadic - government_has_flag = government_is_herder - } - } - } - - can_be_picked_title = { - scope:target = { - holder = scope:actor - is_capital_barony = no # we'll use the county in that case - trigger_if = { - limit = { tier <= tier_county } - title_province = { - OR = { - has_holding_type = tribal_holding - has_holding_type = nomad_holding - has_holding_type = herder_holding - } - } - } - trigger_else = { - custom_description = { - text = "feudalize_holding_interaction_title_not_county_or_below" - always = no - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - trigger_if = { - limit = { tier <= tier_county } - title_province = { - barony_controller = scope:actor - has_ongoing_construction = no - } - } - } - } - - cost = { - gold = { - scope:actor = { - if = { - limit = { - scope:target.county = { - has_variable = was_razed - } - } - add = { - value = 50 - desc = BASE - } - } - else_if = { - limit = { - scope:target.county = { - culture = scope:actor.culture - } - } - add = { - value = 200 - desc = BASE - } - } - else = { - add = { - value = feudalize_holding_interaction_cost - desc = BASE - } - } - if = { - limit = { # More expensive for admin to make barbarians civilized... - government_has_flag = government_is_administrative - } - add = { - value = feudalize_holding_interaction_cost - multiply = 0.25 - desc = has_admin_government - } - if = { - limit = { # Admin get a bonus for high bureaucracy levels - OR = { - has_realm_law = imperial_bureaucracy_2 - has_realm_law = imperial_bureaucracy_3 - } - } - subtract = { - value = feudalize_holding_interaction_cost - multiply = { - value = 0.1 - if = { - limit = { - has_realm_law = imperial_bureaucracy_3 - } - add = 0.15 - } - } - desc = imperial_bureaucracy - } - } - } - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = feudalize_holding_interaction_notification - - right_icon = scope:actor - - if = { - limit = { - scope:target.title_province = { - OR = { - has_holding_type = nomad_holding - has_holding_type = herder_holding - } - } - } - if = { - limit = { - OR = { - scope:target.county.culture = scope:actor.culture - scope:target.county = { - has_variable = was_razed - } - } - } - } - else_if = { - limit = { - OR = { - government_has_flag = government_is_tribal - scope:target.county.culture = { has_same_culture_heritage = scope:actor.culture } - } - } - scope:target.county = { - add_county_modifier = { - modifier = mpo_feudalize_nomadic_land_modifier - years = 5 - } - } - } - else = { - scope:target.county = { - add_county_modifier = { - modifier = mpo_feudalize_nomadic_land_modifier - years = 30 - } - } - } - } - - if = { - limit = { exists = scope:target.title_province } - scope:target.title_province = { - set_holding_type = castle_holding - } - } - - if = { - limit = { - scope:target = { - title_province = { - geographical_region = geographical_region:mpo_region_permafrost - } - } - } - if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier } - } - remove_county_modifier = mpo_siberian_permafrost_modifier - } - else_if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } - } - remove_county_modifier = mpo_siberian_permafrost_modifier_bad - } - } - } - } - } - - # Interaction frequency determined by code, do not change - ai_frequency = 0 - - # Used to determine which holding should be feudalized over another AND how important this AI goal is compared to others, like creating titles and constructing new holdings - ai_will_do = { - base = 1500 - } -} - -tribalize_holding_interaction = { - category = interaction_category_uncategorized - hidden = yes - special_interaction = tribalize_holding - - desc = tribalize_holding_interaction_desc - - target_type = title - target_filter = actor_domain_titles - - auto_accept = yes - - is_shown = { - scope:actor = { - this = scope:recipient - government_has_flag = government_is_tribal - } - } - - can_be_picked_title = { - scope:target = { - holder = scope:actor - is_capital_barony = no # we'll use the county in that case - trigger_if = { - limit = { tier <= tier_county } - title_province = { - OR = { - has_holding_type = nomad_holding - has_holding_type = herder_holding - } - } - } - trigger_else = { - custom_description = { - text = "feudalize_holding_interaction_title_not_county_or_below" - always = no - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - trigger_if = { - limit = { tier <= tier_county } - title_province = { - barony_controller = scope:actor - has_ongoing_construction = no - } - } - } - } - - cost = { - gold = { - scope:actor = { - if = { - limit = { - scope:target.county = { - has_variable = was_razed - } - } - add = { - value = 15 - desc = BASE - } - } - else = { - add = { - value = 50 - desc = BASE - } - } - } - } - prestige = { - scope:actor = { - if = { - limit = { - scope:target.county = { - has_variable = was_razed - } - } - add = { - value = 25 - desc = BASE - } - } - else_if = { - limit = { - scope:target.county.culture = scope:actor.culture - } - add = { - value = 50 - desc = BASE - } - } - else_if = { - limit = { - scope:target.county.culture = { has_same_culture_heritage = scope:actor.culture } - } - add = { - value = 100 - desc = BASE - } - } - else = { - add = { - value = 300 - desc = BASE - } - } - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = feudalize_holding_interaction_notification - - right_icon = scope:actor - - if = { - limit = { - OR = { - scope:target.county.culture = scope:actor.culture - scope:target.county = { - has_variable = was_razed - } - } - } - } - else = { - scope:target.county = { - add_county_modifier = { - modifier = mpo_feudalize_nomadic_land_modifier - years = 5 - } - } - } - - if = { - limit = { exists = scope:target.title_province } - scope:target.title_province = { - set_holding_type = tribal_holding - } - } - - if = { - limit = { - scope:target = { - title_province = { - geographical_region = geographical_region:mpo_region_permafrost - } - } - } - if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier } - } - remove_county_modifier = mpo_siberian_permafrost_modifier - } - else_if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } - } - remove_county_modifier = mpo_siberian_permafrost_modifier_bad - } - } - } - } - } - - # Interaction frequency determined by code, do not change - ai_frequency = 0 - - # Used to determine which holding should be feudalized over another AND how important this AI goal is compared to others, like creating titles and constructing new holdings - ai_will_do = { - base = 1500 - } -} - -support_feudalize_tribal_holding_interaction = { - category = interaction_category_vassal - icon = request_funding_interaction - - desc = support_feudalize_tribal_holding_interaction_desc - - target_type = title - target_filter = recipient_domain_titles - - auto_accept = yes - - is_shown = { - scope:actor = { - NOT = { government_has_flag = government_is_tribal } - } - scope:recipient = { - target_is_liege_or_above = scope:actor - NOT = { government_has_flag = government_is_tribal } - NOT = { this = scope:actor } - any_held_title = { - tier <= tier_county - title_province = { - has_holding_type = tribal_holding - } - } - } - } - - can_be_picked_title = { - scope:target = { - is_capital_barony = no # we'll use the county in that case - - trigger_if = { - limit = { tier <= tier_county } - title_province = { - barony_controller = scope:recipient - has_ongoing_construction = no - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - trigger_if = { - limit = { tier <= tier_county } - title_province = { - has_holding_type = tribal_holding - } - } - trigger_else = { - custom_description = { - text = "feudalize_tribal_holding_interaction_title_not_county_or_below" - always = no - } - } - } - } - - cost = { - gold = { - scope:actor = { - add = { - value = feudalize_holding_interaction_cost - desc = BASE - } - if = { - limit = { # More expensive for admin to make these barbarians civilized... - government_has_flag = government_is_administrative - } - add = { - value = feudalize_holding_interaction_cost - multiply = 0.25 - desc = has_admin_government - } - if = { - limit = { # Admin get a bonus for high bureaucracy levels - OR = { - has_realm_law = imperial_bureaucracy_2 - has_realm_law = imperial_bureaucracy_3 - } - } - subtract = { - value = feudalize_holding_interaction_cost - multiply = { - value = 0.1 - if = { - limit = { - has_realm_law = imperial_bureaucracy_3 - } - add = 0.15 - } - } - desc = imperial_bureaucracy - } - } - } - } - } - } - - is_highlighted = { - # Highlight the interaction if we have the gold to spare - scope:actor = { - gold >= { - value = feudalize_holding_interaction_cost - if = { - limit = { # More expensive for admin to convert these... Barbarians... - government_has_flag = government_is_administrative - } - multiply = { - value = 1.25 - desc = has_admin_government - } - } - } - } - } - - on_accept = { - scope:recipient = { - # Add some opinion to make it worthwhile - add_opinion = { - target = scope:actor - modifier = grateful_opinion - opinion = 15 - } - - # Notify actor and recipient - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = feudalize_holding_interaction_notification - - left_icon = scope:actor - right_icon = scope:target - - if = { - limit = { exists = scope:target.title_province } - scope:target.title_province = { - set_holding_type = castle_holding - } - } - } - } - } - scope:actor = { - # If you are admin, you get some influence for your efforts - if = { - limit = { government_has_flag = government_is_administrative } - change_influence = medium_influence_gain - } - } - } - - # The AI doesn't check this very often - So if they have more important expenses, they will put their gold to better use first. - ai_frequency = 72 - - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_potential = { - # Some basic triggers - is_at_war = no - is_adult = yes - # The AI only does this if they have plenty of gold to spare - gold >= { value = feudalize_holding_interaction_cost multiply = 4 } - # Warring AI don't do this - They want to spend their gold on war! - ai_has_warlike_personality = no - ai_has_conqueror_personality = no - } - - ai_will_do = { - base = 25 - modifier = { - scope:actor = { ai_has_economical_boom_personality = yes } - add = 50 - } - } -} diff --git a/N3OW/common/character_interactions/00_vassal_interactions.txt b/N3OW/common/character_interactions/00_vassal_interactions.txt deleted file mode 100644 index f8fcfd46..00000000 --- a/N3OW/common/character_interactions/00_vassal_interactions.txt +++ /dev/null @@ -1,3651 +0,0 @@ -#Interactions relating to vassals - -grant_vassal_interaction = { - category = interaction_category_vassal - common_interaction = yes - interface = transfer_vassal - icon = icon_vassal - - special_interaction = grant_vassal_interaction - - populate_actor_list = { - scope:actor = { - every_vassal = { - add_to_list = characters - } - } - } - - desc = grant_vassal_interaction_desc - - prompt = GRANT_VASSAL_SELECT_VASSAL_TO_TRANSFER - - greeting = positive - notification_text = GRANT_VASSAL_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - is_shown = { - NOT = { scope:recipient = scope:actor } - OR = { - AND = { - exists = scope:recipient.liege - scope:recipient.liege = scope:actor - } - AND = { - exists = scope:actor.liege - scope:actor.liege = scope:recipient - } - AND = { - scope:actor.faith.religious_head = scope:recipient - scope:recipient = { - is_independent_ruler = yes - } - } - } - scope:recipient.highest_held_title_tier > tier_barony - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { is_landed_or_landless_administrative = yes } - # Gallivanters won't accept additional responsibilities. - scope:recipient = { - NOT = { has_trait = gallivanter } - } - NOT = { scope:actor = { is_at_war_with = scope:recipient } } - trigger_if = { - limit = { exists = scope:secondary_actor } - NOT = { scope:secondary_actor = { is_at_war_with = scope:recipient } } - scope:secondary_actor = { is_busy_in_events_localised = yes } - scope:recipient.primary_title.tier > scope:secondary_actor.primary_title.tier - } - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - exists = scope:secondary_actor - } - scope:secondary_actor = { - NOT = { has_character_flag = ai_should_not_transfer } - } - } - - trigger_if = { - limit = { scope:recipient.highest_held_title_tier <= tier_county } - scope:recipient = { highest_held_title_tier > tier_county } - } - trigger_else = { - scope:actor = { - custom_description = { - text = "basic_valid_vassal_to_tranfer" - object = scope:recipient - any_vassal = { - NOT = { highest_held_title_tier = tier_barony } - scope:recipient.highest_held_title_tier > highest_held_title_tier - } - } - } - } - } - - can_be_picked = { - NOT = { scope:recipient = root } - highest_held_title_tier > tier_barony - highest_held_title_tier < scope:recipient.highest_held_title_tier - - trigger_if = { - limit = { scope:actor.liege = scope:recipient } - custom_tooltip = { - text = is_de_jure_liege_of_target - NOT = { - primary_title = { - any_this_title_or_de_jure_above = { - holder = scope:actor - } - } - } - } - } - - # You can't give your diarch away as a vassal. - custom_description = { - text = cannot_grant_own_diarch_as_vassal - subject = scope:actor.diarch - NOT = { root ?= scope:actor.diarch } - } - - # Not at war with the vassal being transferred (blocks explicit transfer of war enemies, which invalidates the war). - custom_description = { - text = "basic_is_at_war_with_vassal" - subject = root - object = scope:actor - NOT = { - root = { - is_at_war_with = scope:actor - } - } - } - - # Not at war with a vassal under the vassal being transferred (blocks implicit transfers of war enemies). - custom_description = { - text = "basic_is_at_war_with_sub_vassal" - subject = root - object = scope:actor - NOT = { - any_vassal_or_below = { - is_at_war_with = root - } - } - } - - # EP3 Admin - You cannot give away noble families - custom_description = { - text = admin_cannot_grant_vassal_noble_family - subject = root - trigger_if = { - limit = { - government_has_flag = government_is_administrative - } - any_held_title = { - is_noble_family_title = no - } - } - } - } - - auto_accept = { - scope:recipient = { - custom_description = { - text = wants_more_vassals - is_ai = yes - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = grant_vassal_interaction_notification - right_icon = scope:recipient - left_icon = scope:secondary_actor - - # If we're granting a vassal to our liege, gain a truce with our former vassal (we can't immediately reconquer them, and they can't attack us either). - if = { - limit = { - scope:actor = { - is_vassal_of = scope:recipient - } - } - add_truce_both_ways = { - character = scope:secondary_actor - days = 3650 - name = TRUCE_GRANT_INDEPENDENCE - } - } - - # Transfer the vassal over to their new liege. - create_title_and_vassal_change = { - type = granted - save_scope_as = change - add_claim_on_loss = no - } - scope:secondary_actor = { - change_liege = { - liege = scope:recipient - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - - # Gain an opinion bonus with the person we gave a vassal to. - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = granted_vassal - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_grant_vassal.desc - REVERSE_NON_HOUSE_TARGET = yes - } - - hidden_effect = { - # Struggle catalyst - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_grants_vassal_to_de_jure_liege_supporter_detractor - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:recipient - } - } - } - scope:recipient.primary_title = { - any_this_title_or_de_jure_above = { - holder = scope:secondary_actor - } - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_grants_vassal_to_de_jure_liege_supporter_detractor - character = scope:actor - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_grants_vassal_to_de_jure_liege_supporter_detractor } - } - } - if = { - limit = { - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - while = { - limit = { - scope:secondary_actor ?= { - any_held_title = { - vassal_grant_de_jure_shift_trigger = yes - } - } - } - scope:secondary_actor ?= { - random_held_title = { - limit = { - vassal_grant_de_jure_shift_trigger = yes - } - set_de_jure_liege_title = scope:recipient.primary_title - } - } - } - } - } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0211 - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = miniscule_unity_loss - DESC = clan_unity_grant_vassal_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI handled entirely though code -} - -retract_vassal_interaction = { - category = interaction_category_vassal - special_interaction = retract_vassal_interaction - interface = transfer_vassal - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - icon = icon_liege - - interface_priority = 109 #after revoke title - - desc = retract_vassal_interaction_desc - - on_decline_summary = general_rebellion_decline_summary - - prompt = RETRACT_VASSAL_SELECT_VASSAL_TO_RETRACT - - notification_text = RETRACT_VASSAL_PROPOSAL - - populate_recipient_list = { - scope:recipient = { - every_vassal = { - add_to_list = characters - } - } - } - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:recipient = { - highest_held_title_tier > tier_barony - liege = scope:actor - } - } - - is_valid_showing_failures_only = { - vassal_retraction_standard_valid_showing_failures_only_trigger = yes - # Make sure this exactly matches "can_be_picked" section below - scope:recipient = { - custom_description = { - text = "basic_vassal_to_retract" - any_vassal = { - highest_held_title_tier > tier_barony - } - } - } - # Plus make sure there's a legal right to retract. - scope:actor = { - trigger_if = { - limit = { - government_has_flag = government_is_tribal - } - custom_description = { - text = "has_law_allowing_vassal_retraction_tribal" - has_realm_law_flag = vassal_retraction_allowed - } - } - trigger_else_if = { - limit = { - government_has_flag = government_is_administrative - } - custom_description = { - text = "has_law_allowing_vassal_retraction_admin" - has_realm_law_flag = vassal_retraction_allowed - } - } - trigger_else = { - custom_description = { - text = "has_law_allowing_vassal_retraction_crown" - has_realm_law_flag = vassal_retraction_allowed - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - can_be_picked = { - highest_held_title_tier > tier_barony - } - - cost = { - # Usually, this action is free, but during certain diarchies, we want it to cost. - prestige = liege_diarchy_surcharge_interaction_retract_vassal_interaction_value - } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - hidden_effect = { - scope:secondary_recipient = { - add_character_flag = { - flag = ai_should_not_transfer - years = 3 - } - } - } - } - - on_accept = { - retract_vassal_interaction_effect = yes - - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - scope:actor = { - trigger_event = char_interaction.0220 - } - } - - on_decline = { - scope:actor = { vassal_revocation_tyranny_effect = yes } - war_for_retraction_effect = yes - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = retracted_vassal - } - } - if = { - limit = { - scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = treasonous_retract_refusal - } - } - } - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - } - - auto_accept = { - OR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { - target = scope:actor - } - } - } - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - modifier = { - has_game_rule = hard_difficulty - scope:actor = { is_ai = no } - add = -50 - desc = FACTION_REASON_DIFFICULTY_HARD - } - - modifier = { - has_game_rule = very_hard_difficulty - scope:actor = { is_ai = no } - add = -100 - desc = FACTION_REASON_DIFFICULTY_VERY_HARD - } - - modifier = { - has_game_rule = hard_difficulty - scope:actor = { is_ai = yes } - add = 50 - } - - modifier = { - has_game_rule = very_hard_difficulty - scope:actor = { is_ai = yes } - add = 100 - } - - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - - modifier = { - add = 25 - scope:actor = { - has_realm_law_flag = vassal_refusal_is_treason - } - desc = AI_REFUSAL_IS_TREASON - } - - modifier = { - add = 20 - scope:recipient = { - has_trait = trusting - } - desc = TAKE_THE_VOWS_TRUSTING - } - - modifier = { - add = 20 - scope:recipient = { - has_trait = content - } - desc = INTERACTION_CONTENT - } - - modifier = { - add = 20 - scope:actor.current_military_strength > scope:recipient.current_military_strength - scope:recipient = { - has_trait = craven - } - desc = INTERACTION_CRAVEN - } - - ai_value_modifier = { - who = scope:recipient - ai_greed = { - if = { - limit = { - scope:recipient = { NOT = { ai_greed = 0 } } - } - value = -0.25 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { #If AI is honorable and the law compels to obey the liege, AI will be more likely to obey. - ai_honor > 0 - } - scope:actor = { - has_realm_law_flag = vassal_refusal_is_treason - } - } - value = 0.75 - } - } - } - modifier = { - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - OR = { - any_sub_realm_county = { - this = scope:actor.primary_title.title_capital_county - } - any_sub_realm_duchy = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - } - add = 50 - desc = AI_VASSAL_HOLDS_REALM_CAPITAL - } - - modifier = { - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - NOR = { - any_sub_realm_county = { - this = scope:actor.primary_title.title_capital_county - } - any_sub_realm_duchy = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - primary_title.tier = tier_county - any_sub_realm_county = { - de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - add = 30 - desc = AI_VASSAL_IS_IN_CAPITAL_DUCHY - } - - modifier = { #Sub-Vassal is NOT De jure of current Vassal. - add = 25 - NOT = { - scope:recipient = { - any_held_title = { - is_de_jure_liege_or_above_target = scope:secondary_recipient.primary_title - } - } - } - desc = AI_REFUSAL_IS_NOT_DE_JURE_LIEGE - } - modifier = { #Sub-Vassal is De jure of liege title. - add = 15 - scope:actor = { - any_held_title = { - this = scope:secondary_recipient.primary_title.de_jure_liege - } - } - desc = AI_REFUSAL_IS_DE_JURE_LIEGE - } - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { #Comparative military strength. - desc = offer_vassalization_interaction_aibehavior_power_tt - add = { - value = 1 - subtract = { - value = scope:recipient.current_military_strength - divide = { value = scope:actor.current_military_strength min = 1 } - } - multiply = 100 - } - } - modifier = { #Different faith, no pluralism. - desc = AI_REFUSAL_SPLITTING_SAME_FAITH_VASSALS - trigger = { - scope:actor.faith = scope:secondary_recipient.faith #Will not care as much if the vassal being retracted is of a different faith. - scope:actor = { - NOR = { #Of two different faiths AND the potential vassal's faith is not pluralistic. - faith = scope:recipient.faith - faith = { has_doctrine = doctrine_pluralism_pluralistic } - } - } - } - add = { - value = -25 - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_hostile_level - } - } - } - add = -10 - } - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_evil_level - } - } - } - add = -25 - } - } - } - modifier = { # AI Mongols, tyranny wars just delay the inevitable fun! - scope:actor = { - is_ai = yes - OR = { - has_trait = greatest_of_khans - has_character_modifier = the_great_khan_modifier - } - } - scope:recipient = { - is_ai = yes - } - add = 500 - } - modifier = { - add = -25 - scope:recipient = { - culture = { has_cultural_parameter = vassals_more_likely_to_refuse_demands } - } - desc = VASSALS_REFUSAL_indomitable_azatani - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - can_send_despite_rejection = yes - - # AI - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 12 - - ai_potential = { - has_realm_law_flag = title_revocation_allowed - primary_title.tier > tier_county - } - - ai_will_do = { - base = -1000 - - # We want to avoid tyranny unless we've got a good reason - # And even if we can avoid tyranny we don't want to retract just because we can, so this only gets us to -10 - # Certain characters will retract despite tyranny, if their rationality is sufficiently low - modifier = { - scope:actor = { - OR = { - has_revoke_title_reason = scope:recipient - AND = { - ai_rationality <= very_high_negative_ai_value - OR = { - has_trait = lunatic - has_trait = possessed - has_trait = arbitrary - } - } - } - } - - add = 990 - } - # Always retract preferred capital if you hold the duchy, or the duchy is uncreated - modifier = { - years_from_game_start >= 3 - OR = { - scope:actor = { - is_at_war = no - gold > 0 - } - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:actor = { # The HRE doesn't need endless civil wars - NOT = { - primary_title = title:e_hre - } - } - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:actor = { - any_held_title = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - scope:actor.primary_title.title_capital_county.de_jure_liege = { - is_title_created = no - } - } - scope:secondary_recipient = { - any_sub_realm_county = { - this = scope:actor.primary_title.title_capital_county - } - } - NAND = { # Don't retract player vassals tyrannically - scope:recipient = { - is_ai = no - } - scope:actor = { - NOT = { has_revoke_title_reason = scope:recipient } - } - } - add = 1100 - } - # If below domain limit, try to revoke counties in your capital duchy despite tyranny, sometimes - modifier = { - years_from_game_start >= 3 - scope:actor = { is_at_war = no } - scope:actor = { # The HRE doesn't need endless civil wars - NOT = { - primary_title = title:e_hre - } - } - scope:actor.domain_size < scope:actor.domain_limit - scope:actor.primary_title.tier >= tier_kingdom - trigger_if = { - limit = { - scope:actor = { - domain_size > 3 - } - } - scope:actor = { - NOR = { - has_trait = generous - has_trait = just - } - } - } - exists = scope:actor.primary_title.title_capital_county - OR = { - scope:actor.primary_title.title_capital_county.holder = scope:actor # You have your de jure capital already - NOT = { - scope:actor.primary_title.title_capital_county.holder.top_liege = scope:actor.top_liege # Or your De Jure capital isn't in your realm - } - } - scope:secondary_recipient = { - primary_title.tier = tier_county - any_sub_realm_county = { - de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege # Under the same Duchy as your capital - } - } - OR = { # And the capital duchy, if it exists at all - AND = { - exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder - scope:actor.primary_title.title_capital_county.de_jure_liege.holder = scope:actor - } - AND = { - exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder - NOT = { - scope:actor.primary_title.title_capital_county.de_jure_liege.holder.top_liege = scope:actor.top_liege - } - } - scope:actor.primary_title.title_capital_county.de_jure_liege = { - is_title_created = no - } - } - - scope:recipient = { # Not from players - is_ai = yes - } - - OR = { # Tyranny tolernance is based on rationality - AND = { - scope:actor.ai_rationality < 0 - scope:actor.tyranny <= 15 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 0 - scope:actor.ai_rationality < 50 - scope:actor.tyranny <= 5 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 50 - scope:actor.tyranny <= 0 # Don't go crazy with tyranny, just a bit is fine - } - AND = { - scope:actor.ai_rationality >= 0 - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:actor = { has_revoke_title_reason = scope:recipient } - } - AND = { - scope:actor.ai_rationality < 0 - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - } - # To do this, the target must be weak or willing in some way - OR = { - scope:actor.current_military_strength > scope:recipient.current_military_strength # Must be stronger - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:recipient = { - OR = { - has_trait = craven - has_trait = content - has_trait = trusting - has_dread_level_towards = { - target = scope:actor - level >= 1 - } - opinion = { target = scope:actor value >= 40 } - is_imprisoned_by = scope:actor - scope:actor = { has_revoke_title_reason = scope:recipient } - } - } - - add = 1100 - } - # Always retract preferred capital duchy - modifier = { - exists = scope:actor.primary_title.title_capital_county - scope:secondary_recipient = { - any_sub_realm_duchy = { - this = scope:actor.primary_title.title_capital_county.de_jure_liege - } - } - NAND = { # Don't retract player vassals tyranically - scope:recipient = { - is_ai = no - } - scope:actor = { - NOT = { has_revoke_title_reason = scope:recipient } - } - } - add = 1000 - } - # Retract vassal we're dejure liege of if below domain limit - modifier = { - scope:actor = { - vassal_limit_available > 0 - } - scope:secondary_recipient.primary_title.de_jure_liege.holder = scope:actor - add = 500 - } - # Retract non-De Jure vassals from Megadukes (only if a revoke reason is present, so we don't end up in massive tyranny war spirals) - modifier = { - scope:actor = { - has_revoke_title_reason = scope:recipient - } - scope:recipient = { - primary_title.tier = tier_duchy - any_sub_realm_county = { - count > 30 - } - } - NOT = { - scope:secondary_recipient.primary_title.de_jure_liege.holder = scope:recipient - } - add = 500 - } - # Do not revoke titles from certain characters - modifier = { - scope:actor = { - OR = { - has_relation_friend = scope:recipient - has_relation_best_friend = scope:recipient - has_relation_lover = scope:recipient - has_relation_soulmate = scope:recipient - is_heir_of = scope:recipient - } - } - add = -2000 - } - # Do not revoke titles when the chance of success if exceedingly low - modifier = { - NOT = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - } - scope:actor = { - OR = { - gold < minimum_ai_gold_value_for_tyranny_wars - AND = { - scope:actor.current_military_strength < scope:recipient.current_military_strength - gold < comfortable_ai_gold_value_for_tyranny_wars - } - } - } - add = -2000 - } - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { # The AI shouldn't ruin the player's fun - add = -2000 - scope:recipient = { has_character_flag = is_party_baron } - } - - modifier = { # Avoid triggering Tyranny wars mid-war - factor = 0 - scope:actor = { - is_at_war = yes - } - scope:recipient = { - NOT = { - is_imprisoned_by = scope:actor - } - } - } - - modifier = { # Avoid triggering Tyranny wars mid-grand activity - factor = 0 - scope:actor = { - has_ongoing_grand_activity_trigger = yes - } - NOR = { - scope:recipient = { - is_imprisoned_by = scope:actor - } - scope:recipient = { - highest_held_title_tier = tier_barony - } - } - } - } -} - -start_independence_faction_interaction = { - icon = independence - category = interaction_category_vassal - desc = start_independence_faction_interaction_desc - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - highest_held_title_tier > tier_barony - liege = scope:recipient - is_a_faction_member = no - } - scope:recipient = { - is_landed_or_landless_administrative = no - NOT = { - any_targeting_faction = { - faction_is_type = independence_faction - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_create_faction = { - target = scope:recipient - type = independence_faction - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_independence_faction_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - create_faction = { - type = independence_faction - target = scope:recipient - } - if = { - limit = { - is_de_jure_vassal_of_liege_trigger = yes - } - stress_impact = { - just = medium_stress_impact_gain - } - } - } - } - } - - auto_accept = yes -} - -join_independence_faction_interaction = { - icon = independence - category = interaction_category_vassal - desc = join_independence_faction_interaction_desc - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor.liege = scope:recipient - scope:actor = { - is_landed_or_landless_administrative = no - is_a_faction_member = no - highest_held_title_tier > tier_barony - } - scope:recipient = { - highest_held_title_tier > tier_barony - any_targeting_faction = { - faction_is_type = independence_faction - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_description = { - text = "basic_independence_faction_at_war" - object = scope:recipient - any_targeting_faction = { - faction_is_type = independence_faction - faction_is_at_war = no - } - } - } - scope:actor = { - can_join_or_create_faction_against = { - who = scope:recipient - faction = independence_faction - } - } - } - - on_accept = { - scope:recipient = { - random_targeting_faction = { - limit = { - faction_is_type = independence_faction - } - save_scope_as = faction_target - } - } - - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = join_independence_faction_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - join_faction = scope:faction_target - if = { - limit = { - is_de_jure_vassal_of_liege_trigger = yes - } - stress_impact = { - just = minor_stress_impact_gain - } - } - } - } - } - - auto_accept = yes -} - -create_claimant_faction_against_interaction = { - icon = vassal_claim_liege_title_interaction - category = interaction_category_vassal - interface_priority = 270 - use_diplomatic_range = no - - desc = create_claimant_faction_against_interaction_desc - - special_interaction = create_claimant_faction_against_interaction - interface = create_claimant_faction_against - - is_shown = { - NOT = { scope:actor = scope:secondary_actor } - scope:actor.liege = scope:secondary_actor - scope:actor = { - custom_description = { - text = "faction_can_join_create_in_another_faction" - is_a_faction_member = no - } - highest_held_title_tier > tier_barony - } - } - - is_valid_showing_failures_only = { - scope:actor = { NOT = { has_truce = scope:secondary_actor } } - scope:secondary_actor = { - trigger_if = { - limit = { - NOT = { - any_held_title = { - any_claimant = {} - } - } - } - custom_description = { - text = "basic_claimant_found" - always = no - } - } - trigger_else = { - custom_description = { - text = "basic_capable_claimant_found" - any_held_title = { - any_claimant = { - NOT = { has_trait = incapable } - } - } - } - } - trigger_if = { - limit = { - exists = scope:landed_title - } - custom_description = { - text = "claimant_faction_already_exists" - subject = scope:landed_title - object = scope:recipient - NOT = { - any_targeting_faction = { - faction_is_type = claimant_faction - special_character = scope:recipient - special_title = scope:landed_title - } - } - } - } - } - scope:actor = { - can_join_or_create_faction_against = { - who = scope:secondary_actor - faction = claimant_faction - check_in_a_faction = no # already checked in is_shown. Via the faction interface we'd see this twice if it fails (TIT-11380) - } - } - trigger_if = { - limit = { - exists = scope:recipient - } - scope:recipient = { - NOT = { is_at_war_with = scope:actor } - NOT = { has_trait = incapable } - } - } - scope:secondary_actor = { NOT = { has_strong_hook = scope:actor } } - - # Admin vassals can only start and join a claimant faction if the target is independent - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_administrative } - } - scope:secondary_actor = { is_independent_ruler = yes } - } - - # Byzantium does not brook - trigger_if = { - limit = { - scope:landed_title ?= { - OR = { - has_title_law = acclamation_succession_law - holder ?= { has_realm_law = acclamation_succession_law } - } - } - } - scope:recipient = { - is_eunuch_trigger = no - NOT = { has_trait = blind } - } - } - } - - on_send = { - scope:actor = { - set_variable = { - name = claiming_title - value = scope:landed_title - } - - if = { - limit = { - can_create_faction = { - type = claimant_faction - target = scope:secondary_actor - } - } - - create_faction = { - type = claimant_faction - target = scope:secondary_actor - } - joined_faction = { - set_special_character = scope:recipient - set_special_title = scope:landed_title - } - scope:recipient = { - add_to_variable_list = { - name = claimant_factions - target = scope:actor.joined_faction - } - } - - if = { - limit = { NOT = { this = scope:recipient } } - save_scope_as = faction_invite_from - joined_faction = { save_scope_as = faction } - scope:secondary_actor = { save_scope_as = faction_target } - scope:recipient = { - trigger_event = faction_invitation.0001 - } - } - } - - remove_variable = claiming_title - } - } - - auto_accept = yes -} - -invite_to_council_position_interaction = { - category = interaction_category_vassal - popup_on_receive = yes - pause_on_receive = yes - - hidden = yes - - special_interaction = invite_to_council_interaction - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:recipient = { - is_councillor_of = scope:actor - } - } - desc = liege_offer_council_position_exchange - } - triggered_desc = { - trigger = { - scope:actor = { - opinion = { - value >= 30 - target = scope:recipient - } - } - } - desc = liege_offer_council_position_liked - } - triggered_desc = { - trigger = { - scope:actor = { - opinion = { - value <= -30 - target = scope:recipient - } - } - } - desc = liege_offer_council_position_disliked - } - triggered_desc = { - trigger = { - scope:recipient = { - is_powerful_vassal_of = scope:actor - } - } - desc = liege_offer_council_position_powerful - } - triggered_desc = { - trigger = { - scope:recipient = { - OR = { - diplomacy > high_skill_rating - martial > high_skill_rating - stewardship > high_skill_rating - intrigue > high_skill_rating - learning > high_skill_rating - } - } - } - desc = liege_offer_council_position_skilled - } - desc = liege_offer_council_position_fallback - } - } - - is_valid_showing_failures_only = { - ALL_FALSE = { - scope:recipient.council_task = scope:target - scope:actor = { is_at_war_with = scope:recipient } - } - trigger_if = { - limit = { - exists = scope:target.councillor - } - scope:target = { can_fire_position = yes } - NOT = { - scope:target.councillor = { - is_blocked_from_being_fired_from_council_trigger = { COURT_OWNER = scope:actor } - } - } - } - } - - on_accept = { - # Assign the councillor to their new responsibilities. - scope:actor = { - assign_council_task = { - target = scope:recipient - council_task = scope:target - } - } - - # If the new councillor is a player, inform their liege that they have accepted the offer. - if = { - limit = { - scope:recipient = { - is_ai = no - } - } - scope:actor = { - trigger_event = { - id = council_interaction.0001 - days = 1 - } - } - } - # If we're a clan this interaction affects unity - #if = { - # limit = { scope:actor = { NOT = { has_character_flag = fp3_consulted_house } } } - # add_clan_unity_interaction_effect = { - # CHARACTER = scope:actor - # TARGET = scope:recipient - # VALUE = miniscule_unity_gain - # DESC = clan_unity_council_position.desc - # REVERSE_NON_HOUSE_TARGET = yes - # } - #} - } - - on_decline = { - # If the requested councillor is a player, inform their liege that they have declined the offer. - if = { - limit = { - scope:recipient = { - is_ai = no - } - } - scope:actor = { - trigger_event = { - id = council_interaction.0002 - days = 1 - } - } - } - } - - auto_accept = { - custom_description = { - text = auto_accept_interaction_ai - object = scope:recipient - scope:recipient = { - is_ai = yes - } - } - } -} - -force_onto_council = { - category = interaction_category_vassal - interface_priority = 120 - icon = council - - desc = force_onto_council_desc - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { has_strong_hook = scope:recipient } - } - desc = force_onto_council.notification.strong_hook - } - desc = force_onto_council.notification.fallback - } - } - - special_interaction = force_onto_council_interaction - interface = council_task_interaction - - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { - liege = scope:recipient - NOT = { - is_councillor = yes - } - } - - trigger_if = { - limit = { - exists = scope:target.councillor - } - scope:target = { can_fire_position = yes } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - custom_description = { - text = "has_usable_hook_or_council_rights_through_vassal_contract" - subject = scope:actor - OR = { - has_usable_hook = scope:recipient - vassal_contract_has_flag = can_demand_council_seat - vassal_contract_has_flag = can_demand_kurultai_seat - } - } - is_adult = yes - NOT = { - is_at_war_with = scope:recipient - } - NAND = { - has_council_position = councillor_court_chaplain - faith = { - OR = { - has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment - has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment - } - } - } - } - } - - has_valid_target_showing_failures_only = { - trigger_if = { - limit = { - exists = scope:target.councillor - } - scope:target.councillor = { - NOT = { - is_blocked_from_being_fired_from_council_trigger = { - COURT_OWNER = scope:recipient - } - } - } - } - } - - on_accept = { - scope:target = { - save_scope_as = council_task - } - scope:actor = { - if = { - limit = { - NOR = { - vassal_contract_has_flag = can_demand_council_seat - vassal_contract_has_flag = can_demand_kurultai_seat - } - } - save_scope_value_as = { - name = used_hook - value = yes - } - } - block_firing_councillor_effect = { COURT_OWNER = scope:recipient } - #And notify exactly which councillor type they've become. - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = force_onto_council.actor.tt - left_icon = scope:recipient - custom_tooltip = force_onto_council.actor.tt.duration - } - } - stress_impact = { content = minor_stress_impact_gain } - } - scope:recipient = { - assign_council_task = { - target = scope:actor - council_task = scope:council_task - } - custom_tooltip = force_onto_council.desc.tt - #And notify exactly which councillor type they've become. - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = force_onto_council.recipient.tt - left_icon = scope:actor - if = { - limit = { exists = scope:used_hook } - show_as_tooltip = { scope:actor = { use_hook = scope:recipient } } - } - custom_tooltip = force_onto_council.recipient.tt.duration - } - } - } - #Done in the end so that all tooltips will show correct information - scope:actor = { - if = { - limit = { - exists = scope:used_hook - } - use_hook = scope:recipient - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_forced_unto_council.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_set_target = { - scope:actor = { - random_list = { - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_chancellor - can_be_chancellor_trigger = { COURT_OWNER = scope:recipient } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_kurultai_seat } - } - } - modifier = { - factor = diplomacy - } - modifier = { - trigger = { highest_skill = diplomacy } - factor = 10 - } - scope:recipient.council_task:councillor_chancellor = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_steward - can_be_steward_trigger = { COURT_OWNER = scope:recipient } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_kurultai_seat } - } - } - modifier = { - factor = stewardship - } - modifier = { - trigger = { highest_skill = stewardship } - factor = 10 - } - scope:recipient.council_task:councillor_steward = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_marshal - can_be_marshal_trigger = { COURT_OWNER = scope:recipient } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_kurultai_seat } - } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_marshal = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_spymaster - can_be_spymaster_trigger = { COURT_OWNER = scope:recipient } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_kurultai_seat } - } - } - modifier = { - factor = intrigue - } - modifier = { - trigger = { highest_skill = intrigue } - factor = 10 - } - scope:recipient.council_task:councillor_spymaster = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_court_chaplain - can_be_court_chaplain_trigger = { COURT_OWNER = scope:recipient } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_kurultai_seat } - } - } - modifier = { - factor = learning - } - modifier = { - trigger = { highest_skill = learning } - factor = 10 - } - scope:recipient.council_task:councillor_court_chaplain = { - save_scope_as = target - } - } - # Kurultai Demanded - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_kurultai_1 - can_be_kurultai_trigger = { - COURT_OWNER = scope:actor.liege_or_court_owner - CP1 = councillor_kurultai_2 - CP2 = councillor_kurultai_3 - CP3 = councillor_kurultai_4 - } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_council_seat } - } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_kurultai_1 = { - save_scope_as = target - } - } - # Repeated so they don't always demand the same position - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_kurultai_2 - can_be_kurultai_trigger = { - COURT_OWNER = scope:actor.liege_or_court_owner - CP1 = councillor_kurultai_1 - CP2 = councillor_kurultai_3 - CP3 = councillor_kurultai_4 - } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_council_seat } - } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_kurultai_2 = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_kurultai_3 - can_be_kurultai_trigger = { - COURT_OWNER = scope:actor.liege_or_court_owner - CP1 = councillor_kurultai_1 - CP2 = councillor_kurultai_2 - CP3 = councillor_kurultai_4 - } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_council_seat } - } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_kurultai_3 = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_kurultai_4 - can_be_kurultai_trigger = { - COURT_OWNER = scope:actor.liege_or_court_owner - CP1 = councillor_kurultai_1 - CP2 = councillor_kurultai_2 - CP3 = councillor_kurultai_3 - } - scope:recipient = { - NOT = { vassal_contract_has_flag = can_demand_council_seat } - } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_kurultai_4 = { - save_scope_as = target - } - } - } - } - } - - ai_potential = { - is_independent_ruler = no - is_councillor = no - } - - ai_targets = { - ai_recipients = liege - } - ai_frequency = 36 - - auto_accept = yes - force_notification = yes - - ai_will_do = { - base = 100 - - modifier = { - factor = 0 - scope:actor = { - ai_greed <= medium_positive_ai_value - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - has_relation_best_friend = scope:recipient - has_relation_soulmate = scope:recipient - } - } - } - - modifier = { - factor = 0 - is_councillor = yes - } - } -} - -stop_attacker_vassal_war_interaction = { - category = interaction_category_vassal - interface = interfere_in_war - special_interaction = interfere_in_war_interaction - ai_accept_negotiation = yes - popup_on_receive = yes - pause_on_receive = yes - icon = icon_retreat - - send_name = "stop_attacker_vassal_war_interaction" - - ai_maybe = yes - - prompt = STOP_VASSAL_WAR_ATTACKER - - desc = { - desc = stop_vassal_war_negotiation - triggered_desc = { - trigger = { scope:actor = { has_usable_hook = scope:recipient } } - desc = stop_vassal_war_use_hook - } - desc = might_ask_for_something_in_return_warning_double_line_break - } - - on_decline_summary = stop_attacker_vassal_war_decline_summary - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:recipient = { - exists = liege - liege = scope:actor - highest_held_title_tier > tier_barony - any_character_war = { - primary_attacker = scope:recipient - save_temporary_scope_as = target_war - } - } - scope:actor = { - NOT = { is_participant_in_war = scope:target_war } - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = cannot_stop_war_when_already_fighting - object = scope:recipient - scope:recipient = { - NOT = { - any_war_enemy = { - this = scope:actor - } - } - } - } - custom_description = { - text = cannot_stop_war_timer - object = scope:recipient - NOT = { - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = attempt_to_force_end_war_opinion - } - } - } - } - NOT = { - scope:recipient = { - has_strong_hook = scope:actor - } - } - } - - can_be_picked = { - scope:target.primary_attacker = scope:recipient - } - - on_accept = { - scope:recipient = { - add_opinion = { - modifier = attempt_to_force_end_war_opinion - target = scope:actor - } - } - hidden_effect = { - scope:recipient = { - trigger_event = vassal_interaction.0001 #Starts "negotiations" - } - } - show_as_tooltip = { - scope:target ?= { end_war = white_peace } - } - - # If we're a clan this interaction affects unity - But we only show it in the tooltip, actual effect is applied in the respective follow-up events - show_as_tooltip = { - if = { - limit = { # If we are asking a non-house member to stop attacking a house member, gain unity - exists = scope:recipient.house - exists = scope:actor.house - NOT = { scope:recipient.house = scope:actor.house } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:target.primary_defender - VALUE = medium_unity_gain - DESC = clan_unity_aided_in_war.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { - limit = { # If we are asking a house member to stop attacking a non-house member, lose unity - exists = scope:actor.house - exists = scope:target.primary_defender.house - NOT = { scope:target.primary_defender.house = scope:actor.house } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_stopped_vassal_war.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - } - - on_decline = { - show_as_tooltip = { - scope:recipient = { - add_opinion = { - modifier = attempt_to_force_end_war_opinion - target = scope:actor - } - } - scope:actor = { add_prestige = minor_prestige_loss } - } - } - - auto_accept = yes -} - -stop_defender_vassal_war_interaction = { - category = interaction_category_vassal - interface = interfere_in_war - special_interaction = interfere_in_war_interaction - ai_accept_negotiation = yes - popup_on_receive = yes - pause_on_receive = yes - send_name = "SEND_DEMAND" - icon = icon_retreat - - ai_maybe = yes - - prompt = STOP_VASSAL_WAR_DEFENDER - - desc = { - desc = stop_vassal_war_negotiation - triggered_desc = { - trigger = { scope:actor = { has_usable_hook = scope:recipient } } - desc = stop_vassal_war_use_hook - } - desc = might_ask_for_something_in_return_warning_double_line_break - } - - on_decline_summary = stop_attacker_vassal_war_decline_summary - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:recipient = { - exists = liege - liege = scope:actor - highest_held_title_tier > tier_barony - any_character_war = { - primary_defender = scope:recipient - save_temporary_scope_as = target_war - } - } - scope:actor = { - NOT = { is_participant_in_war = scope:target_war } - } - } - - is_valid_showing_failures_only = { - custom_description = { - text = cannot_stop_war_when_already_fighting - object = scope:recipient - NOT = { - scope:recipient = { - any_war_enemy = { - this = scope:actor - } - } - } - } - custom_description = { - text = cannot_stop_war_timer - object = scope:recipient - NOT = { - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = attempt_to_force_surrender_opinion - } - } - } - } - NOT = { - scope:recipient = { - has_strong_hook = scope:actor - } - } - } - - can_be_picked = { - scope:target.primary_defender = scope:recipient - } - - on_accept = { - scope:recipient = { - add_opinion = { - modifier = attempt_to_force_surrender_opinion - target = scope:actor - } - } - hidden_effect = { - scope:recipient = { - trigger_event = vassal_interaction.0011 #Starts "negotiations" - } - } - - # If we're a clan this interaction affects unity - But we only show it in the tooltip, actual effect is applied in the respective follow-up events - show_as_tooltip = { - if = { - limit = { # If recipient is a house member and the attacker is not, lose unity - exists = scope:actor.house - exists = scope:target.primary_attacker.house - NOT = { scope:target.primary_attacker.house = scope:actor.house } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_stop_defender_vassal_war.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { - limit = { # If recipient is a non-house member and the attacker is, gain unity - exists = scope:actor.house - exists = scope:recipient.house - NOT = { scope:recipient.house = scope:actor.house } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:target.primary_attacker - VALUE = medium_unity_gain - DESC = clan_unity_aided_in_war.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - } - - auto_accept = yes -} - -ask_for_pardon_interaction = { - category = interaction_category_vassal - icon = scroll_scales - - - desc = ask_for_pardon_interaction_desc - - notification_text = ASK_FOR_PARDON_NOTIFICATION - - is_shown = { - ask_for_pardon_available_trigger = { ACTOR = scope:actor } - scope:actor.top_liege = scope:recipient - } - - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - NOT = { is_imprisoned_by = scope:recipient }#Then you use the regular ransom interactions - } - } - - is_highlighted = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - - ai_accept = { - base = -50 - - #How bad is it, really? - modifier = { - scope:recipient = { - has_banish_reason = scope:actor - NOR = { #These are worse - has_execute_reason = scope:actor - has_revoke_title_reason = scope:actor - } - } - desc = AI_BANISHMENT_REASON_MODIFIER - add = -20 - } - modifier = { - scope:recipient = { - has_revoke_title_reason = scope:actor - NOT = { #This is worse are worse - has_execute_reason = scope:actor - } - } - desc = AI_REVOKE_TITLE_REASON_MODIFIER - add = -30 - } - modifier = { - scope:recipient = { - has_execute_reason = scope:actor - } - desc = AI_EXECUTE_REASON_MODIFIER - add = -40 - } - - #Willing to forgive - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - ask_for_pardon_interaction_effect = yes - scope:actor = { - trigger_event = vassal_interaction.0030 - } - - scope:recipient = { #FP3 Addition. TODO FP3 CD: Find a way to test this. - if = { - limit = { - culture = { - has_cultural_parameter = pardoning_gives_prestige - } - } - add_prestige = minor_prestige_gain - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_pardon_granted.desc - REVERSE_NON_HOUSE_TARGET = no - } - - hidden_effect = { - # Struggle catalysts - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - scope:recipient = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_grants_pardon_supporter_detractor - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:actor - } - } - } - } - scope:recipient = { - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_grants_pardon_supporter_detractor - character = scope:recipient - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_grants_pardon_supporter_detractor } - } - } - } - } - } - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0240 - } - } - - on_decline = { - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = ask_for_pardon_interaction_decline_toast - left_icon = scope:actor - - custom_tooltip = ask_for_pardon_interaction_accept_decline - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_loss - DESC = clan_unity_refused_pardon.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no - - ai_targets = { - ai_recipients = liege - } - ai_frequency = 12 - - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:actor = { - has_usable_hook = scope:recipient - } - } - - modifier = { - add = 100 - scope:hook = yes - } - } -} - -pardon_interaction = { - category = interaction_category_friendly - icon = scroll_scales - - desc = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { - culture = { - has_cultural_parameter = pardoning_gives_prestige - } - } - } - desc = pardon_interaction_has_jirga_desc - } - desc = pardon_interaction_desc - } - } - - is_shown = { - scope:actor = { - has_imprisonment_reason = scope:recipient - } - scope:recipient = { - target_is_liege_or_above = scope:actor - } - } - - auto_accept = yes - - on_accept = { - consume_all_criminal_reasons_effect = { - LIEGE = scope:actor - CRIMINAL = scope:recipient - } - - scope:actor = { - stress_impact = { - forgiving = medium_stress_loss - } - } - - scope:actor = { - if = { - limit = { - culture = { - has_cultural_parameter = pardoning_gives_prestige - } - } - add_prestige = minor_prestige_gain - } - - hidden_effect = { - # Struggle catalysts - if = { - limit = { - fp3_struggle_involves_one_supporter_and_one_detractor = { - FIRST = scope:actor - SECOND = scope:recipient - } - scope:recipient = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_grants_pardon_supporter_detractor - is_secondary_character_involvement_involved_trigger = { - CHAR = scope:actor - } - } - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_grants_pardon_supporter_detractor - character = scope:recipient - } - log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_grants_pardon_supporter_detractor } - } - } - } - } - - scope:recipient = { - if = { - limit = { - scope:actor = { - culture = { - has_cultural_parameter = pardoning_gives_loyalty - } - } - } - add_opinion = { - modifier = loyal_servant - target = scope:actor - } - scope:actor = { - if = { - limit = { - can_add_hook = { - target = scope:recipient - type = loyalty_hook - } - } - add_hook = { - type = loyalty_hook - target = scope:recipient - } - } - } - } - else = { - add_opinion = { - target = scope:actor - modifier = grateful_opinion - opinion = 15 - } - } - - send_interface_toast = { - type = event_toast_effect_neutral - title = pardon_interaction_toast_title - desc = pardon_interaction_toast - right_icon = scope:actor - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_forgiveness.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_potential = { - OR = { - ai_vengefulness <= 0 - culture = { - has_cultural_parameter = pardoning_gives_loyalty - } - } - } - ai_targets = { - ai_recipients = vassals - } - ai_targets = { - ai_recipients = courtiers - chance = 0.25 - } - ai_frequency = 36 - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - is_primary_heir_of = scope:actor - } - } - } - - modifier = { - add = 25 - scope:actor = { - scope:actor.ai_vengefulness <= 0 - culture = { - has_cultural_parameter = pardoning_gives_loyalty - } - } - } - - modifier = { - add = { - value = ai_vengefulness - multiply = -1 - } - scope:actor.ai_vengefulness <= -25 - } - } -} - -vassal_claim_liege_title_interaction = { - category = interaction_category_vassal - interface_priority = 269 # after Start Claimant Faction - desc = vassal_claim_liege_title_interaction_desc - target_type = title - target_filter = recipient_domain_titles - ignores_pending_interaction_block = yes - icon = vassal_claim_liege_title_interaction - - cost = { - prestige = { - value = { - add = monumental_prestige_value - if = { - limit = { - scope:actor.prestige_level > scope:recipient.prestige_level - } - subtract = { - value = major_prestige_value - multiply = { - value = scope:actor.prestige_level - subtract = scope:recipient.prestige_level - } - desc = higher_prestige_level_than_liege - } - } - else_if = { - limit = { - scope:actor.prestige_level < scope:recipient.prestige_level - } - add = { - value = major_prestige_value - multiply = { - value = scope:recipient.prestige_level - subtract = scope:actor.prestige_level - } - desc = lower_prestige_level_than_liege - } - } - min = 0 - } - } - } - - is_shown = { - NOT = { scope:recipient = scope:actor } - - scope:actor = { - is_physically_able_adult = yes - } - - scope:recipient = scope:actor.liege - - scope:recipient = { - is_playable_character = yes - any_held_title = { - tier >= tier_duchy - NOR = { - has_title_law = noble_family_succession_law - has_title_law = landless_adventurer_succession_law - } - scope:actor = { - NOT = { - has_claim_on = prev - } - } - } - } - } - - is_highlighted = { - scope:actor.prestige >= vassal_claim_liege_title_interaction_highlight_value - } - - can_be_picked = { - trigger_if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = powerful_vassal_can_claim_liege_titles - } - } - } - scope:actor = { is_powerful_vassal_of = scope:recipient } - } - trigger_if = { - limit = { - scope:actor = { legitimacy_level = 5 } - } - scope:target = { - tier >= tier_duchy - custom_description = { - text = has_15_percent_of_a_dejure_title - any_in_de_jure_hierarchy = { - filter = { - tier = tier_county - } - continue = { - tier > tier_county - } - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - percent >= 0.15 - } - } - } - } - trigger_if = { - limit = { - scope:actor = { legitimacy_level = 4 } - } - scope:target = { - tier >= tier_duchy - custom_description = { - text = has_21_percent_of_a_dejure_title - any_in_de_jure_hierarchy = { - filter = { - tier = tier_county - } - continue = { - tier > tier_county - } - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - percent >= 0.21 - } - } - } - } - trigger_if = { - limit = { - scope:actor = { legitimacy_level = 3 } - } - scope:target = { - tier >= tier_duchy - custom_description = { - text = has_31_percent_of_a_dejure_title - any_in_de_jure_hierarchy = { - filter = { - tier = tier_county - } - continue = { - tier > tier_county - } - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - percent >= 0.31 - } - } - } - } - trigger_if = { - limit = { - scope:actor = { legitimacy_level = 2 } - } - scope:target = { - tier >= tier_duchy - custom_description = { - text = has_41_percent_of_a_dejure_title - any_in_de_jure_hierarchy = { - filter = { - tier = tier_county - } - continue = { - tier > tier_county - } - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - percent >= 0.41 - } - } - } - } - trigger_if = { - limit = { - scope:actor = { - OR = { - legitimacy_level = 1 - legitimacy_level = 0 - has_legitimacy = no #if you don't have legitimacy at all we fall back to the default - } - } - } - scope:target = { - tier >= tier_duchy - custom_description = { - text = has_51_percent_of_a_dejure_title - any_in_de_jure_hierarchy = { - filter = { - tier = tier_county - } - continue = { - tier > tier_county - } - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - percent >= 0.51 - } - } - } - } - - custom_description = { - NOT = { - scope:actor = { - has_claim_on = scope:target - } - } - text = "already_have_a_claim_on_this_title" - } - trigger_if = { - limit = { - scope:target = { - tier = tier_duchy - } - } - custom_description = { - text = not_family_or_adventurer_title - scope:target = { - NOR = { - has_title_law = noble_family_succession_law - has_title_law = landless_adventurer_succession_law - } - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - } - } - - is_valid_showing_failures_only = { - custom_description = { - scope:recipient = { - any_held_title = { - tier >= tier_county - NOT = { any_claimant = { this = scope:actor } } - } - } - - object = scope:recipient - text = "already_have_claims_on_all_titles" - } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - NOT = { - scope:actor = { - is_allied_to = scope:recipient - } - } - } - - on_auto_accept = { - scope:target = { - random_in_de_jure_hierarchy = { - limit = { - tier = tier_county - OR = { - holder = scope:actor - holder = { - target_is_liege_or_above = scope:actor - } - } - } - title_province = { - save_scope_as = county_in_title - } - } - } - scope:recipient = { - trigger_event = vassal_interaction.0040 - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = buy_claim_interaction.message - left_icon = scope:actor - right_icon = scope:recipient - vassal_claim_liege_title_interaction_effect = yes - } - claim_title_achievement_effect = yes - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_title_claim.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - - ai_targets = { - ai_recipients = liege - } - ai_frequency = 24 - - ai_potential = { - domain_size > 1 - NOR = { - has_trait = content - has_trait = craven - } - } - - ai_will_do = { - base = 25 - - ai_value_modifier = { - who = scope:actor - ai_greed = 1 - ai_boldness = 0.5 - ai_honor = -0.5 - } - - modifier = { - add = scope:actor.ai_zeal - scope:actor = { - ai_zeal > 0 - } - NOT = { - scope:actor.faith = scope:recipient.faith - } - } - - modifier = { - add = 25 - scope:actor = { - is_powerful_vassal_of = scope:recipient - } - } - - modifier = { - add = 50 - scope:actor = { - opinion = { - target = scope:recipient - value <= 0 - } - } - } - - modifier = { - add = 25 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - modifier = { - add = -15 - scope:recipient = { - has_relation_lover = scope:actor - } - } - - # Agenda impact - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp2 - } - has_character_flag = agenda_towards_escalation - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp2 - } - } - } - add = -100 - } - } - } - - modifier = { - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = persian_struggle - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp3 - } - has_trait = fp3_struggle_detractor - } - } - add = 200 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_gain_claim_on_title_fp3 - } - } - } - add = -100 - } - } - } - - modifier = { - factor = 0.25 - scope:actor = { - ai_greed < 100 - opinion = { - target = scope:recipient - value >= 50 - } - } - } - - modifier = { - factor = 0 - scope:actor = { - ai_greed < 100 - opinion = { - target = scope:recipient - value >= 75 - } - } - } - - modifier = { - add = -25 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 1 - } - } - } - - modifier = { - factor = 0 - scope:actor = { - has_dread_level_towards = { - target = scope:recipient - level = 2 - } - } - } - - modifier = { - factor = 0 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_best_friend = scope:actor - has_relation_soulmate = scope:actor - } - } - } - } -} - -give_vassal_directive_interaction = { - category = interaction_category_vassal - icon = icon_scheme_challenge_status - interface_priority = 60 - desc = give_vassal_directive_interaction_desc - - auto_accept = yes - - is_shown = { - scope:recipient = { - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_administrative } - } - is_vassal_or_below_of = scope:actor - } - trigger_else = { - is_vassal_of = scope:actor - } - is_landed = yes - NOT = { government_has_flag = government_is_herder } - highest_held_title_tier >= tier_county - is_ai = yes - } - } - - is_valid = { - vassal_follows_directive_trigger = { VASSAL = scope:recipient LIEGE = scope:actor } - } - - is_valid_showing_failures_only = { - vassal_follows_directive_valid_trigger = { VASSAL = scope:recipient LIEGE = scope:actor } - scope:recipient = { is_physically_able = yes } - } - - send_option = { - flag = improve_development - is_shown = { - scope:recipient = { - government_has_flag = government_is_administrative - } - } - is_valid = { - scope:recipient = { - highest_held_title_tier >= tier_duchy - } - } - } - - send_option = { - flag = train_commanders - is_shown = { - scope:recipient = { - government_has_flag = government_is_administrative - } - } - is_valid = { - } - } - - send_option = { - flag = build_maa - is_shown = { - scope:recipient = { - government_has_flag = government_is_administrative - } - } - is_valid = { - } - } - - send_option = { - flag = convert_faith - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - scope:recipient = { - custom_tooltip = { - text = subrealm_has_county_of_other_faith - any_sub_realm_county = { - NOT = { faith = scope:recipient.faith } - } - } - } - } - } - - send_option = { - flag = convert_culture - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - scope:recipient = { - custom_tooltip = { - text = subrealm_has_county_of_other_culture - any_sub_realm_county = { - NOT = { culture = scope:recipient.culture } - } - } - } - } - } - - send_option = { - flag = improve_cultural_acceptance - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - scope:recipient = { - highest_held_title_tier >= tier_duchy - custom_tooltip = { - text = subrealm_has_county_of_other_culture - any_sub_realm_county = { - NOT = { culture = scope:recipient.culture } - } - } - } - } - } - - send_option = { - flag = building_focus_fortification - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - } - } - - send_option = { - flag = building_focus_military - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - } - } - - send_option = { - flag = building_focus_economy - is_shown = { - scope:recipient = { - NOT = { government_has_flag = government_is_nomadic } - } - } - is_valid = { - } - } - - send_option = { - flag = manage_fertility - is_shown = { - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - } - } - send_option = { - flag = explore_cultures - is_shown = { - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - scope:recipient = { - custom_tooltip = { - text = subrealm_has_county_of_other_culture - any_sub_realm_county = { - NOT = { culture = scope:recipient.culture } - } - } - } - } - } - send_option = { - flag = raid_innovation_intent - is_shown = { - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - custom_tooltip = { - text = has_any_directive - scope:recipient = { - NOT = { - has_character_flag = vassal_directive_raid_innovation_intent - } - } - } - } - } - send_option = { - flag = raid_herd_intent - is_shown = { - scope:recipient = { - government_has_flag = government_is_nomadic - } - } - is_valid = { - } - } - - send_option = { - flag = remove_directive - is_shown = { - } - is_valid = { - custom_tooltip = { - text = has_any_directive - scope:recipient = { - OR = { - has_character_flag = vassal_directive_improve_development - has_character_flag = vassal_directive_train_commanders - has_character_flag = vassal_directive_build_maa - has_character_flag = vassal_directive_convert_faith - has_character_flag = vassal_directive_convert_culture - has_character_flag = vassal_directive_improve_cultural_acceptance - has_character_flag = vassal_directive_building_focus_fortification - has_character_flag = vassal_directive_building_focus_military - has_character_flag = vassal_directive_building_focus_economy - has_character_flag = vassal_directive_manage_fertility - has_character_flag = vassal_directive_explore_cultures - has_character_flag = vassal_directive_raid_innovation_intent - has_character_flag = vassal_directive_raid_herd_intent - } - } - } - } - } - - on_accept = { - scope:recipient = { - if = { - limit = { - OR = { - has_character_flag = vassal_directive_improve_development - has_character_flag = vassal_directive_train_commanders - has_character_flag = vassal_directive_build_maa - has_character_flag = vassal_directive_convert_faith - has_character_flag = vassal_directive_convert_culture - has_character_flag = vassal_directive_improve_cultural_acceptance - has_character_flag = vassal_directive_building_focus_fortification - has_character_flag = vassal_directive_building_focus_military - has_character_flag = vassal_directive_building_focus_economy - has_character_flag = vassal_directive_manage_fertility - has_character_flag = vassal_directive_explore_cultures - has_character_flag = vassal_directive_raid_innovation_intent - has_character_flag = vassal_directive_raid_herd_intent - } - } - custom_tooltip = { - text = vassal_directive_remove_directive - remove_vassal_directives = yes - } - } - switch = { - trigger = yes - - scope:improve_development ?= { - custom_tooltip = { - text = vassal_directive_improve_development - remove_vassal_directives = yes - add_character_flag = vassal_directive_improve_development - } - } - - scope:train_commanders ?= { - custom_tooltip = { - text = vassal_directive_train_commanders - remove_vassal_directives = yes - add_character_flag = vassal_directive_train_commanders - } - } - - scope:build_maa ?= { - custom_tooltip = { - text = vassal_directive_build_maa - remove_vassal_directives = yes - add_character_flag = vassal_directive_build_maa - } - } - - scope:convert_faith ?= { - custom_tooltip = { - text = vassal_directive_convert_faith - remove_vassal_directives = yes - add_character_flag = vassal_directive_convert_faith - } - } - - scope:convert_culture ?= { - custom_tooltip = { - text = vassal_directive_convert_culture - remove_vassal_directives = yes - add_character_flag = vassal_directive_convert_culture - } - } - - scope:improve_cultural_acceptance ?= { - custom_tooltip = { - text = vassal_directive_improve_cultural_acceptance - remove_vassal_directives = yes - add_character_flag = vassal_directive_improve_cultural_acceptance - } - } - - scope:building_focus_fortification ?= { - custom_tooltip = { - text = vassal_directive_building_focus_fortification - remove_vassal_directives = yes - add_character_flag = vassal_directive_building_focus_fortification - } - } - - scope:building_focus_military ?= { - custom_tooltip = { - text = vassal_directive_building_focus_military - remove_vassal_directives = yes - add_character_flag = vassal_directive_building_focus_military - } - } - - scope:building_focus_economy ?= { - custom_tooltip = { - text = vassal_directive_building_focus_economy - remove_vassal_directives = yes - add_character_flag = vassal_directive_building_focus_economy - } - } - - scope:manage_fertility ?= { - custom_tooltip = { - text = vassal_directive_manage_fertility - remove_vassal_directives = yes - add_character_flag = vassal_directive_manage_fertility - } - } - scope:explore_cultures ?= { - custom_tooltip = { - text = vassal_directive_explore_cultures - remove_vassal_directives = yes - add_character_flag = vassal_directive_explore_cultures - } - } - scope:raid_innovation_intent ?= { - custom_tooltip = { - text = vassal_directive_raid_innovation_intent - remove_vassal_directives = yes - add_character_flag = vassal_directive_raid_innovation_intent - } - } - scope:raid_herd_intent ?= { - custom_tooltip = { - text = vassal_directive_raid_herd_intent - remove_vassal_directives = yes - add_character_flag = vassal_directive_raid_herd_intent - } - } - - scope:remove_directive ?= { - custom_tooltip = { - text = vassal_directive_remove_directive - remove_vassal_directives = yes - } - } - } - } - } - - ai_potential = { - government_has_flag = government_is_administrative - highest_held_title_tier >= tier_kingdom - } - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 1 - ai_will_do = { - base = 0 - - modifier = { - add = 100 - scope:improve_development ?= yes - scope:recipient = { - NOR = { - has_character_flag = vassal_directive_building_focus_economy - has_character_flag = vassal_directive_improve_development - } - OR = { - vassal_contract_has_flag = admin_theme_civilian - vassal_contract_has_flag = admin_theme_balanced - } - } - } - - modifier = { - add = 100 - scope:building_focus_economy ?= yes - scope:recipient = { - NOR = { - has_character_flag = vassal_directive_building_focus_economy - has_character_flag = vassal_directive_improve_development - } - OR = { - vassal_contract_has_flag = admin_theme_civilian - vassal_contract_has_flag = admin_theme_balanced - } - } - } - - modifier = { - add = 100 - scope:building_focus_fortification ?= yes - scope:recipient = { - NOR = { - has_character_flag = vassal_directive_building_focus_fortification - has_character_flag = vassal_directive_build_maa - } - vassal_contract_has_flag = admin_theme_frontier - } - } - - modifier = { - add = 100 - scope:build_maa ?= yes - scope:recipient = { - NOR = { - has_character_flag = vassal_directive_building_focus_fortification - has_character_flag = vassal_directive_building_focus_military - has_character_flag = vassal_directive_build_maa - } - OR = { - vassal_contract_has_flag = admin_theme_military - vassal_contract_has_flag = admin_theme_frontier - } - } - } - - modifier = { - add = 100 - scope:building_focus_military ?= yes - scope:recipient = { - NOR = { - has_character_flag = vassal_directive_building_focus_military - has_character_flag = vassal_directive_build_maa - } - OR = { - vassal_contract_has_flag = admin_theme_military - vassal_contract_has_flag = admin_theme_naval - } - } - } - } -} - - - -request_court_position = { - category = interaction_category_vassal - interface_priority = 120 - icon = seneschal_court_position - - desc = request_court_position_desc - - special_interaction = request_court_position - interface = court_task_interaction - target_type = court_position_type - - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor.liege ?= scope:recipient - } - - on_accept = { - scope:recipient = { - appoint_court_position = { - recipient = scope:actor - court_position = scope:target - } - } - scope:actor = { - if = { - limit = { always = scope:claim_hook } - use_hook = scope:recipient - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:claim_hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = claim_hook - localization = GENERIC_SPEND_A_HOOK - } - - send_options_exclusive = no - - ai_accept = { - base = -75 - - modifier = { - scope:claim_hook ?= yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - opinion_modifier = { # More likely if Recipient likes Actor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - } - - force_notification = yes -} - -grant_court_position = { - category = interaction_category_vassal - interface_priority = 120 - icon = seneschal_court_position - - desc = grant_court_position_desc - - special_interaction = grant_court_position - interface = court_task_interaction - target_type = court_position_type - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:recipient.liege ?= scope:actor - } - - is_valid_showing_failures_only = { - scope:recipient = { - NOT = { is_imprisoned_by = scope:actor } - } - } - - on_accept = { - scope:actor = { - appoint_court_position = { - recipient = scope:recipient - court_position = scope:target - } - } - } - - auto_accept = yes -} diff --git a/N3OW/common/character_interactions/00_witch_interactions.txt b/N3OW/common/character_interactions/00_witch_interactions.txt deleted file mode 100644 index a3a2fc3f..00000000 --- a/N3OW/common/character_interactions/00_witch_interactions.txt +++ /dev/null @@ -1,311 +0,0 @@ - -convert_to_witchcraft_interaction = { - icon = icon_scheme_convert_to_witchcraft - category = interaction_category_friendly - - interface_priority = 90 - scheme = convert_to_witchcraft - - send_name = START_SCHEME - - desc = convert_to_witchcraft_interaction_desc - - is_shown = { - scope:actor = { - can_start_scheme = { - type = convert_to_witchcraft - target_character = scope:recipient - } - } - NOT = { scope:actor = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - can_start_scheme = { - type = convert_to_witchcraft - target_character = scope:recipient - } - } - custom_description = { - text = has_a_witch_secret_known_by_character - subject = scope:recipient - object = scope:actor - scope:recipient = { #If they are a secret witch I must not know about it - trigger_if = { - limit = { - any_secret = { - secret_type = secret_witch - } - } - any_secret = { - secret_type = secret_witch - NOT = { any_secret_knower = { this = scope:actor } } - } - } - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = convert_to_witchcraft_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = convert_to_witchcraft - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - } - } - - auto_accept = yes - - #AI will do - - ai_potential = { - is_witch_trigger = yes - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = family - max = 5 - } - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - ai_recipients = liege - ai_recipients = vassals - chance = 0.2 - } - - ai_frequency = 72 - - - ai_will_do = { - base = -45 - - # Do I like recipient & are they trustworthy - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = 0.5 - } - compatibility_modifier = { - who = scope:actor - compatibility_target = scope:recipient - multiplier = 0.2 - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - ai_value_modifier = { - who = scope:recipient - ai_honor = 0.2 - ai_compassion = 0.1 - ai_rationality = 0.2 - ai_greed = 0.2 - ai_sociability = 0.1 - } - ai_value_modifier = { - trigger = { trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = scope:recipient.faith TRAIT = witch GENDER_CHARACTER = scope:actor } } - ai_zeal = -0.5 - max = 20 - } - - # Are they important (to me) - modifier = { - add = { - value = scope:recipient.highest_held_title_tier - subtract = scope:actor.highest_held_title_tier - multiply = 10 - } - } - modifier = { - OR = { - is_close_family_of = scope:recipient - is_consort_of = scope:recipient - has_relation_lover = scope:recipient - has_relation_friend = scope:recipient - } - add = 20 - } - modifier = { - OR = { - has_relation_best_friend = scope:recipient - has_relation_soulmate = scope:recipient - } - add = 30 - } - modifier = { - exists = house - exists = scope:recipient.house - house = scope:recipient.house - add = 10 - } - - # Do I want to spread the word - ai_value_modifier = { - ai_sociability = 0.2 - ai_compassion = 0.1 - ai_boldness = 0.4 - min = -20 - } - } -} - -reveal_as_witch_interaction = { - category = interaction_category_friendly - icon = icon_scheme_convert_to_witchcraft - - interface_priority = 100 - - desc = reveal_as_witch_interaction_desc - notification_text = witch.2900.desc - - is_shown = { - scope:actor = { - is_adult = yes - any_secret = { - secret_type = secret_witch - NOT = { is_known_by = scope:recipient } - } - knows_about_character_being_witch_trigger = { CHARACTER = scope:recipient } - } - scope:actor.faith = scope:recipient.faith - scope:recipient = { - is_adult = yes - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - } - } - - on_accept = { - scope:actor = { - #Secret reveals. - random_secret = { - limit = { - secret_type = secret_witch - NOT = { is_known_by = scope:recipient } - } - save_scope_as = witch_secret - reveal_to = scope:recipient - } - #Send a reply. - trigger_event = witch.2901 - #Opinion effects. - reverse_add_opinion = { - target = scope:recipient - modifier = trust_opinion - opinion = 20 - } - hidden_effect = { - if = { - limit = { - can_set_relation_potential_friend_trigger = { CHARACTER = scope:recipient } - } - set_relation_potential_friend = scope:recipient - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_witch_reveal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes - force_notification = yes - - #AI will do - - ai_potential = { - always = yes - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_targets = { - ai_recipients = liege - ai_recipients = known_secrets - } - ai_targets = { - ai_recipients = vassals - ai_recipients = peer_vassals - chance = 0.2 - } - ai_frequency = 144 - - - ai_will_do = { - base = -45 - - # Do I like recipient & are they trustworthy - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = 0.5 - } - compatibility_modifier = { - who = scope:actor - compatibility_target = scope:recipient - multiplier = 0.2 - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - ai_value_modifier = { - who = scope:recipient - ai_honor = 0.2 - ai_compassion = 0.1 - } - - # Are they important - modifier = { - add = { - value = scope:recipient.highest_held_title_tier - subtract = scope:actor.highest_held_title_tier - multiply = 10 - max = 30 - } - } - - #Do I want to tell anyone - ai_value_modifier = { - ai_sociability = 0.2 - ai_compassion = 0.1 - min = -20 - } - - modifier = { - has_trait = paranoid - add = -40 - } - } -} diff --git a/N3OW/common/character_interactions/01_fp1_interactions.txt b/N3OW/common/character_interactions/01_fp1_interactions.txt deleted file mode 100644 index 4ee25e68..00000000 --- a/N3OW/common/character_interactions/01_fp1_interactions.txt +++ /dev/null @@ -1,1045 +0,0 @@ -# Character Interactions from FP1 - -################## -# Designate someone as your chief sacrifice at a blot. -# by Ewan Cowhig Croft -################## -designate_gruesome_festivals_sacrifice_interaction = { - icon = icon_scheme_abduct - interface_priority = 30 - category = interaction_category_religion - desc = designate_gruesome_festivals_sacrifice_interaction_desc - - is_shown = { - scope:actor = { has_character_flag = gruesome_festivals_can_pick_human_sacrifice } - scope:recipient = { - is_imprisoned_by = scope:actor - NOT = { has_character_modifier = gruesome_festivals_designated_sacrifice_fp1_modifier } - } - } - - is_valid_showing_failures_only = { - } - - on_accept = { - scope:actor = { - hidden_effect = { - every_prisoner = { - limit = { has_character_modifier = gruesome_festivals_designated_sacrifice_fp1_modifier } - save_scope_value_as = { - name = removal_type - value = flag:override - } - designate_gruesome_festivals_sacrifice_modifier_removed_effect = { DESIGNATOR = scope:actor } - } - } - } - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = designate_gruesome_festivals_sacrifice_interaction.recipient.notification.t - left_icon = scope:actor - designate_gruesome_festivals_sacrifice_interaction_effect = yes - custom_tooltip = designate_gruesome_festivals_sacrifice_interaction.recipient.notification.tt - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_human_sacrifice.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} - -################## -# Give someone reprieve from being HumSac'd. -# by Ewan Cowhig Croft -################## -remove_designated_gruesome_festivals_sacrifice_interaction = { - icon = icon_scheme_abduct - interface_priority = 30 - category = interaction_category_religion - desc = remove_designated_gruesome_festivals_sacrifice_interaction_desc - - is_shown = { - scope:actor = { has_character_flag = gruesome_festivals_can_pick_human_sacrifice } - scope:recipient = { has_character_modifier = gruesome_festivals_designated_sacrifice_fp1_modifier } - } - - is_valid_showing_failures_only = { - } - - on_accept = { - scope:recipient = { - save_scope_value_as = { - name = removal_type - value = flag:manual - } - designate_gruesome_festivals_sacrifice_modifier_removed_effect ={ DESIGNATOR = scope:actor } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_human_sacrifice_removal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = yes -} - -################## -# Challenge a cur to combat for their crimes! -# by Ewan Cowhig Croft -################## -challenge_to_trial_by_combat_interaction = { - icon = icon_combat - interface_priority = 30 - common_interaction = yes - category = interaction_category_hostile - popup_on_receive = yes - pause_on_receive = yes - desc = challenge_to_trial_by_combat_interaction_desc - highlighted_reason = challenge_to_trial_by_combat_interaction_HIGHLIGHTED - - greeting = negative - notification_text = REQUEST_TRIAL_BY_COMBAT_TEXT - - is_shown = { - # Early out on whether you have the DLC or not. - has_fp1_dlc_trigger = yes - # First, evaluate culture to trim down our potentials list. - can_have_trial_by_combat_trigger = yes - # And obviously never against yourself. - NOT = { scope:actor = scope:recipient } - # Then, look to see if scope:actor has good cause. - scope:actor = { - # Check there are no lieges involved. - NOR = { - # Must not be in a position to imprison scope:recipient standardly. - target_is_liege_or_above = scope:recipient - # Can't be used against anyone who has authority over you. - scope:recipient = { target_is_liege_or_above = scope:actor } - } - # Scope:recipient cannot be a landless character in scope:actor's sub-realm. - scope:recipient = { - is_landed_or_landless_administrative = yes - NAND = { - exists = court_owner - court_owner = { - OR = { - this = scope:actor - any_liege_or_above = { this = scope:actor } - } - } - } - } - } - } - - is_highlighted = { - trial_by_combat_is_valid_trigger = yes - } - - - is_valid_showing_failures_only = { - trial_by_combat_is_valid_trigger = yes - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - # Will scope:recipient need to choose a champion? - if = { - limit = { - scope:recipient = { - OR = { - can_start_single_combat_eligibility_checks_trigger = no - NOT = { - can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:recipient } - } - } - } - } - scope:recipient = { trigger_event = fp1_tbc.0101 } - # Inform both characters that scope:recipient will have a chance to choose a champion. - custom_tooltip = fp1_tbc_recipient_will_designate_champion - } - # Else we skip straight to scope:actor's setup event. - else = { - # Stopping only briefly to clarify that scope:recipient will be fighting the bout themselves. - scope:recipient = { save_scope_as = champion } - scope:actor = { trigger_event = fp1_tbc.0001 } - } - # Inform of the consequences. - ## Death - one of you will die. - if = { - limit = { always = scope:tbc_death } - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = fp1_tbc_winner_actor - fp1_tbc_death_effect = { - TBC_VICTOR = scope:actor - TBC_LOSER = scope:recipient - } - scope:actor = { - add_kinslayer_trait_or_nothing_effect = { VICTIM = scope:recipient } - } - } - 50 = { - show_chance = no - desc = fp1_tbc_winner_recipient - fp1_tbc_death_effect = { - TBC_VICTOR = scope:recipient - TBC_LOSER = scope:actor - } - scope:recipient = { - add_kinslayer_trait_or_nothing_effect = { VICTIM = scope:actor } - } - } - } - } - } - ## Gold - scope:recipient will have to pay gold, or scope:actor will take stress. - if = { - limit = { always = scope:tbc_gold } - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = fp1_tbc_winner_actor - fp1_tbc_gold_effect = { - TBC_VICTOR = scope:actor - TBC_LOSER = scope:recipient - } - } - 50 = { - show_chance = no - desc = fp1_tbc_winner_recipient - fp1_tbc_actor_defeated_effect = { - TBC_LOSER = scope:actor - TBC_VICTOR = scope:recipient - } - } - } - } - } - ## Hook - scope:recipient will concede a hook, or scope:actor will take stress. - if = { - limit = { always = scope:tbc_weak_hook } - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = fp1_tbc_winner_actor - fp1_tbc_hook_effect = { - TBC_VICTOR = scope:actor - TBC_LOSER = scope:recipient - } - } - 50 = { - show_chance = no - desc = fp1_tbc_winner_recipient - fp1_tbc_actor_defeated_effect = { - TBC_LOSER = scope:actor - TBC_VICTOR = scope:recipient - } - } - } - } - } - ## Humiliation - scope:recipient will gain an immense amount of stress, or scope:actor will take some stress. - if = { - limit = { always = scope:tbc_humiliation } - show_as_tooltip = { - random_list = { - 50 = { - show_chance = no - desc = fp1_tbc_winner_actor - fp1_tbc_humiliation_effect = { - TBC_LOSER = scope:recipient - TBC_VICTOR = scope:actor - } - } - 50 = { - show_chance = no - desc = fp1_tbc_winner_recipient - fp1_tbc_actor_defeated_effect = { - TBC_LOSER = scope:actor - TBC_VICTOR = scope:recipient - } - } - } - } - } - # Clear up hostile actions flag. - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_trial_by_combat.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:recipient loses some prestige. - scope:recipient = { add_prestige = medium_prestige_loss } - # Scope:actor decline processing. - scope:actor = { - # Inform them of the declination. - trigger_event = fp1_tbc.0031 - # Cooldown is removed. - hidden_effect = { remove_interaction_cooldown = challenge_to_trial_by_combat_interaction } - # Clear up hostile actions flag. - if = { - limit = { - has_character_flag = flag_hostile_actions_disabled_delay - } - remove_character_flag = flag_hostile_actions_disabled_delay - } - } - } - - # Demand it to the death. - send_option = { - # Only tribals fight to the death. - is_shown = { - scope:actor = { government_has_flag = government_is_tribal } - # And there's no real sense doing it if you can't fight your opponent directly. - scope:recipient = { - NOR = { - can_start_single_combat_eligibility_checks_trigger = no - NOT = { - can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:recipient } - } - } - } - } - flag = tbc_death - localization = "TBC_DEATH" - } - # Demand gold. - send_option = { - # Always available. - is_shown = { always = yes } - flag = tbc_gold - localization = "TBC_GOLD" - } - # Demand a hook. - send_option = { - # Must not have a better hook. - is_shown = { - NOT = { - scope:actor = { has_strong_hook = scope:recipient } - } - } - flag = tbc_weak_hook - localization = "TBC_WEAK_HOOK" - } - # Demand humiliation. - send_option = { - #Should not be used on children - is_shown = { - scope:recipient = { is_adult = yes } - } - flag = tbc_humiliation - localization = "TBC_HUMILIATION" - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - # Fightan abilities of both sides. - modifier = { - add = { - value = scope:actor.prowess - multiply = -0.5 - } - desc = TBC_PROWESS_ACTOR - } - modifier = { - add = { - value = scope:recipient.prowess - multiply = 0.5 - } - desc = TBC_PROWESS_RECIPIENT - } - # Who doesn't like punching a bastard? - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = -1 - desc = AI_OPINION_REASON - } - # Weight up for personality values. - ai_value_modifier = { - who = scope:recipient - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = 0.5 - } - } - ai_honor = { - if = { - limit = { - scope:recipient = { - NOT = { ai_honor = 0 } - } - } - value = 0.5 - } - } - } - # Specific settlement preferences. - ## Death: disliked by people who feel that disputes can always be settled more amicably. - ### Craven hates. - modifier = { - add = -10 - has_trait = craven - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_CRAVEN - } - ### Forgiving hates. - modifier = { - add = -10 - has_trait = forgiving - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_FORGIVING - } - ### Compassionate dislikes. - modifier = { - add = -10 - has_trait = compassionate - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_COMPASSIONATE - } - ### Brave loves. - modifier = { - add = 20 - has_trait = brave - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_BRAVE - } - ### Vengeful loves. - modifier = { - add = 20 - has_trait = vengeful - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_VENGEFUL - } - ### Callous likes. - modifier = { - add = 10 - has_trait = callous - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_CALLOUS - } - ### Sadistic loves. - modifier = { - add = 20 - has_trait = sadistic - scope:tbc_death = yes - desc = TBC_OPINION_DEATH_TRAIT_SADISTIC - } - ## Gold: disliked by people who think wealth is sacrosanct. - ### Greedy dislikes. - modifier = { - add = -10 - has_trait = greedy - scope:tbc_gold = yes - desc = TBC_OPINION_GOLD_TRAIT_GREEDY - } - ### Generous likes. - modifier = { - add = 10 - has_trait = generous - scope:tbc_gold = yes - desc = TBC_OPINION_GOLD_TRAIT_GENEROUS - } - ## Weak Hook: disliked by people who don't like nebulous favours or being indebted to their lessers. - ### Arrogant dislikes. - modifier = { - add = -10 - has_trait = arrogant - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_ARROGANT - } - ### Paranoid dislikes. - modifier = { - add = -10 - has_trait = paranoid - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_PARANOID - } - ### Arbitray dislikes. - modifier = { - add = -10 - has_trait = arbitrary - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_ARBITRARY - } - ### Humble likes. - modifier = { - add = 10 - has_trait = humble - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_HUMBLE - } - ### Trusting likes. - modifier = { - add = 10 - has_trait = trusting - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_TRUSTING - } - ### Just likes. - modifier = { - add = 10 - has_trait = just - scope:tbc_weak_hook = yes - desc = TBC_OPINION_WEAK_HOOK_TRAIT_JUST - } - ## Humiliation: *hated* by people obsessed with public image or weightier consequences. - ### Arrogant hates. - modifier = { - add = -20 - has_trait = arrogant - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_ARROGANT - } - ### Vengeful hates. - modifier = { - add = -20 - has_trait = vengeful - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_VENGEFUL - } - ### Stubborn hates. - modifier = { - add = -20 - has_trait = stubborn - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_STUBBORN - } - ### Humble likes. - modifier = { - add = 10 - has_trait = humble - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_HUMBLE - } - ### Forgiving likes. - modifier = { - add = 10 - has_trait = forgiving - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_FORGIVING - } - ### Fickle likes. - modifier = { - add = 10 - has_trait = fickle - scope:tbc_humiliation = yes - desc = TBC_OPINION_HUMILIATION_TRAIT_FICKLE - } - # Apply tier differences. - ## King -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - add = 15 - } - ## Duke -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - add = 10 - } - ## Count -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - add = 5 - } - ## King <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - add = -10 - } - ## Duke <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - add = -20 - } - ## Count <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value <= -4 - } - } - add = -30 - } - # Rivalry modifier. - modifier = { - desc = offer_vassalization_interaction_aibehavior_rival_tt - trigger = { - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - } - add = 50 - } - # Nemesis modifier. - modifier = { - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - trigger = { - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - add = 100 - } - } - - # AI - - ai_potential = { - basic_can_have_trial_by_combat_trigger = yes - NOT = { - has_trait = craven - } - is_imprisoned = no - can_start_single_combat_trigger = yes - } - - ai_target_quick_trigger = { - adult = yes - } - ai_targets = { - ai_recipients = scripted_relations - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - chance = 0.25 - } - - ai_frequency = 36 - - ai_will_do = { - base = -50 - - # Factor for opinion. - modifier = { - add = 100 - scope:actor = { - opinion = { - target = scope:recipient - value <= very_high_negative_opinion - } - } - } - modifier = { - add = 50 - scope:actor = { - opinion = { - target = scope:recipient - value <= medium_negative_opinion - } - } - } - modifier = { - add = -50 - scope:actor = { - opinion = { - target = scope:recipient - value >= medium_positive_opinion - } - } - } - modifier = { - add = -100 - scope:actor = { - opinion = { - target = scope:recipient - value >= very_high_positive_opinion - } - } - } - # Don't challenge kinslayer-counting family, unless they're a rival or nemesis. - modifier = { - scope:actor = { - murdering_character_is_kinslaying_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - } - scope:recipient = { - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - add = -1000 - } - # Don't challenge your spouse, unless they're your rival or nemesis. - modifier = { - scope:recipient = { - is_spouse_of = scope:actor - NOR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - add = -1000 - } - # Don't challenge people hopelessly out of your league unless you're really, really not seeing things clearly. - modifier = { - scope:actor = { - prowess_diff = { - target = scope:recipient - value <= -15 - } - ai_rationality >= high_negative_ai_value - } - add = -1000 - } - } -} - -################## -# Designate a Shieldmaiden -# by Alexander Oltner -################## -designate_shieldmaiden_interaction = { - icon = designate_shieldmaiden_interaction - category = interaction_category_friendly - common_interaction = yes - - send_name = SEND_PROPOSAL - - interface_priority = 120 - - ai_targets = { - ai_recipients = courtiers - } - ai_frequency = 180 - - is_shown = { - scope:actor = { - has_fp1_dlc_trigger = yes - is_physically_able_adult = yes - #Has access to the appropriate cultural parameter. - culture = { has_cultural_parameter = has_access_to_shieldmaidens } - trigger_if = { # Determined by Cultural Pillars - limit = { has_dlc_feature = diverge_culture } - culture = { - NOT = { has_cultural_parameter = martial_custom_equal_combatant } - } - } - trigger_else = { - NOT = { - faith = { has_doctrine = doctrine_gender_equal } - } - } - } - scope:recipient = { - NOT = { has_trait = incapable } - is_courtier_of = scope:actor - is_close_family_of = scope:actor - NOT = { has_trait = shieldmaiden } - trigger_if = { # Determined by Cultural Pillars - limit = { has_dlc_feature = diverge_culture } - OR = { - AND = { - is_female = yes - culture = { has_cultural_parameter = martial_custom_male_only_combatant } - } - AND = { - is_male = yes - culture = { has_cultural_parameter = martial_custom_female_only_combatant } - } - } - } - trigger_else = { - OR = { # Does not have the Royal Court and thus combatant is governed by faith - AND = { - is_female = yes - faith = { has_doctrine_parameter = combatant_must_be_male_if_no_roco } - } - AND = { - is_male = yes - faith = { has_doctrine_parameter = combatant_must_be_female_if_no_roco } - } - } - } - - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - prowess >= decent_skill_rating - is_adult = yes - is_imprisoned = no - } - } - - desc = designate_shieldmaiden_interaction_desc - - on_accept = { - scope:actor = { - stress_impact = { - arrogant = medium_stress_impact_gain - paranoid = minor_stress_impact_gain - } - } - scope:recipient = { - add_trait = shieldmaiden - - add_opinion = { - target = scope:actor - modifier = fp1_accepted_my_sword_opinion - } - } - if = { - limit = { always = scope:hook } - scope:actor = { use_hook = scope:recipient } - } - hidden_effect = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = designate_shieldmaiden_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - show_as_tooltip = { - scope:recipient = { - add_trait_force_tooltip = shieldmaiden - } - stress_impact = { - arrogant = medium_stress_impact_gain - paranoid = minor_stress_impact_gain - } - } - } - } - scope:recipient = { - if = { - limit = { has_character_flag = fp1_dreams_of_shieldpersondom } - remove_character_flag = fp1_dreams_of_shieldpersondom - } - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - AND = { - always = scope:hook - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - cost = { - prestige = scope:actor.minor_prestige_value - } - - ai_potential = { - #Has access to the appropriate cultural parameter. - culture = { has_cultural_parameter = has_access_to_shieldmaidens } - prestige > major_prestige_value - has_fp1_dlc_trigger = yes - is_physically_able_adult = yes - } - - auto_accept = no - - ai_accept = { - base = 0 - - modifier = { - trigger = { - always = scope:hook - } - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { - trigger = { - has_education_martial_trigger = yes - } - add = 20 - desc = INTERACTION_MARTIAL_EDUCATION - } - - # Weight up for personality values. - ai_value_modifier = { - who = scope:recipient - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = 0.5 - } - } - ai_compassion = { - if = { - limit = { - scope:recipient = { - NOT = { ai_compassion = 0 } - } - } - value = -0.5 - } - } - } - - modifier = { - add = -1000 - has_trait = craven - desc = INTERACTION_CRAVEN - } - - modifier = { - add = -50 - has_trait = content - desc = INTERACTION_CONTENT - } - - modifier = { - add = -50 - has_trait = humble - desc = INTERACTION_HUMBLE - } - - modifier = { - add = -50 - has_trait = lazy - desc = INTERACTION_LAZY - } - - modifier = { - add = 100 - has_trait = brave - desc = INTERACTION_BRAVE - } - - modifier = { - add = 25 - has_trait = ambitious - desc = INTERACTION_AMBITIOUS - } - } - - ai_will_do = { - base = 100 - } -} diff --git a/N3OW/common/character_interactions/02_ep1_interactions.txt b/N3OW/common/character_interactions/02_ep1_interactions.txt deleted file mode 100644 index 7fdf79ca..00000000 --- a/N3OW/common/character_interactions/02_ep1_interactions.txt +++ /dev/null @@ -1,468 +0,0 @@ -# Character Interactions for EP1 - -################## -# Fund someone's inspiration -# by Linnéa Thimrén -################## -fund_inspiration_interaction = { - icon = inspiration - interface_priority = 30 - common_interaction = yes - category = interaction_category_vassal - desc = fund_inspiration_interaction_desc - - is_shown = { - scope:recipient = { - is_ruler = no - exists = inspiration - inspiration = { - NOT = { - exists = inspiration_sponsor - } - } - } - scope:actor = { - any_courtier_or_guest = { - this = scope:recipient - } - } - } - - is_highlighted = { - always = yes - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_physically_able = yes - is_ruler = no - trigger_if = { - limit = { - NOT = { is_courtier_of = scope:actor } - } - can_recruit_character_to_court_trigger = { - RECRUITER = scope:actor - RECRUITEE = scope:recipient - } - } - } - scope:actor = { - can_sponsor_inspiration = scope:recipient.inspiration - gold >= scope:recipient.inspiration.base_inspiration_gold_cost - } - } - - on_accept = { - fund_inspiration_effect = yes - - if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = weapon_inspiration } } - custom_description_no_bullet = { text = weapon_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = armor_inspiration } } - custom_description_no_bullet = { text = armor_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = book_inspiration } } - custom_description_no_bullet = { text = book_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = weaver_inspiration } } - custom_description_no_bullet = { text = weaver_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = adventure_inspiration } } - custom_description_no_bullet = { text = adventure_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = artisan_inspiration } } - custom_description_no_bullet = { text = artisan_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = smith_inspiration } } - custom_description_no_bullet = { text = smith_inspiration_cost_tt } - } - else_if = { - limit = { scope:recipient.inspiration = { has_inspiration_type = alchemy_inspiration}} - custom_description_no_bullet = { text = alchemy_inspiration_cost_tt } - } - - # Add a flag on AI to have an extra cooldown of 3 years - if = { - limit = { - scope:actor = { - is_ai = yes - NOT = { - gold >= 1000 - } - OR = { - short_term_gold < ai_inspiration_desired_gold_value - ai_greed >= 50 - } - } - } - scope:actor = { - add_character_flag = { - flag = recently_fund_inspiration - years = 3 - } - } - - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_gain - DESC = clan_unity_inspo.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = { - custom_description = { - text = auto_accept_interaction_ai - object = scope:recipient - scope:recipient = { - is_ai = yes - } - } - } - - ai_frequency = 10 - - ai_targets = { - ai_recipients = guests - ai_recipients = courtiers - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_potential = { - is_at_war = no - OR = { - has_royal_court = yes - government_has_flag = government_is_landless_adventurer - } - gold > ai_inspiration_desired_gold_value - NOT = { has_character_flag = recently_fund_inspiration } - ai_has_conqueror_personality = no - ai_should_focus_on_building_in_their_capital = no - } - - ai_will_do = { - base = 100 - - modifier = { # Not as likely to fund inspirations if they already have some going (max three for very prestigious courts) - add = { - if = { - limit = { - highest_held_title_tier >= tier_empire - any_sponsored_inspiration = { - count >= 3 - } - } - add = -50 - } - else_if = { - limit = { - highest_held_title_tier >= tier_kingdom - any_sponsored_inspiration = { - count >= 2 - } - } - add = -50 - } - } - } - - # Do not pointlessly fund inspirations you do not need - modifier = { # Weapons - factor = 0 - scope:recipient.inspiration = { - has_inspiration_type = weapon_inspiration - } - OR = { - any_character_artifact = { # Has a fantastic item already - artifact_slot_type = primary_armament - rarity = illustrious - } - AND = { # Have a lot of artifacts already, and the inspired person isn't even very good - scope:recipient = { - weapon_inspiration_average_skill_value < 15 - } - any_character_artifact = { - count >= 2 - artifact_slot_type = primary_armament - } - } - } - } - modifier = { # Armor - factor = 0 - scope:recipient.inspiration = { - has_inspiration_type = armor_inspiration - } - OR = { - any_character_artifact = { # Has a fantastic item already - artifact_slot_type = armor - rarity = illustrious - } - AND = { # Have a lot of artifacts already, and the inspired person isn't even very good - scope:recipient = { - armor_inspiration_average_skill_value < 15 - } - any_character_artifact = { - count >= 2 - artifact_slot_type = armor - } - } - } - } - modifier = { # Warlike AI's only sponsor if they've been at peace for a long time - factor = 0 - ai_has_warlike_personality = yes - days_of_continuous_peace < 1825 # 5 years - } - modifier = { # Cautious AI's only sponsor if they feel safe enough - factor = 0 - ai_has_cautious_personality = yes - war_chest_gold < cautious_ai_minimum_war_chest_gold - } - } -} - -################## -# Indebt Guest -# by Ewan Cowhig Croft -################## - -indebt_guest_interaction = { - icon = icon_hostile - interface_priority = 120 - common_interaction = yes - ai_max_reply_days = 0 - cooldown = { years = 5 } - - category = interaction_category_hostile - ai_maybe = yes - - desc = indebt_guest_interaction_desc - - greeting = negative - pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED - pre_answer_no_key = ANSWER_CANT_SUCCEED - pre_answer_yes_key = ANSWER_WILL_SUCCEED - pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE - - ai_potential = { - # Repeat some is_shown triggers for performance gains. - indebt_guest_interaction_basic_checks_trigger = { ACTOR = this } - } - - is_shown = { - NOT = { scope:actor = scope:recipient } - # Repeat some ai_potential triggers for performance gains. - indebt_guest_interaction_basic_checks_trigger = { ACTOR = scope:actor } - # Scope:recipient must be a guest. - scope:recipient = { is_pool_guest_of = scope:actor } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:actor = { is_imprisoned = no } - scope:actor = { is_commanding_army = no } - # Scope:actor can't have a hook of any kind on scope:recipient already. - NOT = { - scope:actor = { has_hook = scope:recipient } - } - # Scope:actor must be able to afford the cost of the decision going wrong. - scope:actor.court_grandeur_current >= indebt_guest_interaction_lost_test_grandeur_cost_value - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - } - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - } - - on_accept = { - scope:actor = { - # On accept, you gain a hook & lose some opinion. - ## Which we only show as a tooltip for now, since it's applied in the event. - show_as_tooltip = { indebt_guest_interaction_accepted_effect = yes } - # Pop the event. - trigger_event = ep1_character_interaction.0001 - # Reminder that you'll have a chance to direct where they go. - custom_tooltip = indebt_guest_interaction.tt.direct_indebted_guest - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_indebt_guest.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Send a toast. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = indebt_guest_interaction.tt.failure - left_icon = scope:recipient - # On decline, scope:recipient leaves your court... - scope:recipient = { select_and_move_to_pool_effect = yes } - # ... and you lose a bit of extra grandeur for your audacity. - change_current_court_grandeur = indebt_guest_interaction_lost_test_grandeur_cost_value - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_indebt_guest_failure.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = no - - ai_accept = { - base = 50 - - # Standard intrigue duel. - modifier = { - add = { - value = scope:actor.intrigue - multiply = 2 - } - desc = INDEBT_GUEST_INTRIGUE_ACTOR - } - modifier = { - add = { - value = scope:recipient.intrigue - multiply = -1 - } - desc = INDEBT_GUEST_INTRIGUE_RECIPIENT - } - # Weight it a bit more in your favour for every point of excess CGV you have. - modifier = { - add = scope:actor.current_cgv_above_expected_exact_value - desc = INDEBT_GUEST_CURRENT_CGV_ABOVE_EXPECTED - scope:actor.current_cgv_above_expected_exact_value >= 1 - } - # Some traits may also affect the chances for scope:actor... - modifier = { - add = 10 - scope:actor = { has_trait = schemer } - } - modifier = { - add = 10 - scope:actor = { has_trait = education_intrigue } - } - modifier = { - add = 5 - scope:actor = { has_trait = deceitful } - } - modifier = { - add = 5 - scope:actor = { has_trait = vengeful } - } - modifier = { - add = -10 - scope:actor = { has_trait = honest } - } - modifier = { - add = -5 - scope:actor = { has_trait = forgiving } - } - # ... or else for scope:recipient. - modifier = { - add = -10 - scope:recipient = { has_trait = schemer } - } - modifier = { - add = -5 - scope:recipient = { has_trait = education_intrigue } - } - modifier = { - add = -5 - scope:recipient = { has_trait = deceitful } - } - modifier = { - add = 10 - scope:recipient = { has_trait = honest } - } - } - - # AI - ai_targets = { - ai_recipients = guests - chance = 0.5 - } - ai_frequency = 10 - - ai_will_do = { - base = -100 - - # This is a silly way for the AI to spend its CGV, so we keep 'em off it most of the time. - # Unless they've got a scheme on the go at their nemesis' court... - modifier = { - add = 100 - scope:actor = { - any_relation = { - type = nemesis - count >= 1 - } - any_scheme = { - count >= 1 - scheme_target_character = { - any_relation = { - type = nemesis - count >= 1 - this = scope:actor - } - } - } - } - } - # ... *and* they're likely to win due to having higher intrigue, but without scope:recipient being too terrible. - modifier = { - add = 25 - indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value - scope:recipient = { intrigue >= high_skill_rating } - } - modifier = { - add = 25 - indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value - scope:recipient = { intrigue >= very_high_skill_rating } - } - modifier = { - add = 50 - indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value - scope:recipient = { intrigue >= extremely_high_skill_rating } - } - } -} diff --git a/N3OW/common/character_interactions/03_fp2_interactions.txt b/N3OW/common/character_interactions/03_fp2_interactions.txt deleted file mode 100644 index 0a174520..00000000 --- a/N3OW/common/character_interactions/03_fp2_interactions.txt +++ /dev/null @@ -1,5416 +0,0 @@ -# Character Interactions for FP2 - -################################################## -# Share secrets -# by Maxence Voleau -################################################## -share_known_secrets_interaction = { - icon = secret - category = interaction_category_friendly - common_interaction = yes - - send_name = SEND_PROPOSAL - - interface_priority = 120 - - ai_targets = { - ai_recipients = dynasty - } - - ai_frequency = 180 - - is_shown = { - scope:actor = { - # DLC checking - has_fp2_dlc_trigger = yes - # Standard check - # Has access to the appropriate legacy perk. - dynasty = { has_dynasty_perk = fp2_coterie_legacy_4 } - - # they are from the same house - house = scope:recipient.house - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = share_known_secrets_interaction.tt.no_secrets_to_share - # We try to keep the criteria vague to obfuscate things. - scope:actor = { any_known_secret = { count > 0 } } # Must have a secret to share - OR = { - scope:actor = { - # At least one secret is unknown from recipient - any_known_secret = { - NOT = { is_known_by = scope:recipient } - } - } - scope:recipient = { - # At least one secret is unknown from actor - any_known_secret = { - NOT = { is_known_by = scope:actor } - } - } - } - } - } - - desc = share_known_secrets_interaction_desc - - on_accept = { - scope:actor = { - if = { - limit = { - scope:recipient = { - any_known_secret = { - count >= 7 - NOT = { is_known_by = scope:actor } - } - } - } - add_prestige = major_prestige_loss - - custom_description = { - text = many_secrets_exchanged - } - } - else_if = { - limit = { - scope:recipient = { - any_known_secret = { - count >= 3 - NOT = { is_known_by = scope:actor } - } - } - } - add_prestige = medium_prestige_loss - custom_description = { - text = several_secrets_exchanged - } - } - else = { - add_prestige = minor_prestige_loss - custom_description = { - text = few_secrets_exchanged - } - } - - # Stress impact - stress_impact = { - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - } - - scope:recipient = { - if = { - limit = { - scope:actor = { - any_known_secret = { - count >= 7 - NOT = { is_known_by = scope:recipient } - OR = { - NOR = { - secret_owner = scope:recipient - AND = { - exists = secret_target - secret_target = scope:recipient - } - } - scope:recipient = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - } - } - } - add_prestige = major_prestige_loss - - custom_description = { - text = many_secrets_exchanged - } - } - else_if = { - limit = { - scope:actor = { - any_known_secret = { - count >= 3 - NOT = { is_known_by = scope:recipient } - OR = { - NOR = { - secret_owner = scope:actor - AND = { - exists = secret_target - secret_target = scope:actor - } - } - scope:actor = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - } - } - } - add_prestige = medium_prestige_loss - - custom_description = { - text = several_secrets_exchanged - } - } - else = { - add_prestige = minor_prestige_loss - - custom_description = { - text = few_secrets_exchanged - } - } - - # Stress impact - stress_impact = { - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - compassionate = minor_stress_impact_gain - } - } - - hidden_effect = { - scope:recipient = { save_scope_as = END_TARGET } # This should make the loc work 2-ways, as notifs do not update themselves - scope:actor = { - if = { # Recipient has no secrets to share - limit = { - scope:recipient = { - any_known_secret = { - NOT = { is_known_by = scope:actor } - OR = { - NOR = { - secret_owner = scope:recipient - AND = { - exists = secret_target - secret_target = scope:recipient - } - } - scope:recipient = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - count = 0 - } - } - } - send_interface_message = { - type = event_intrigue_bad_with_text - title = share_known_secrets_interaction_outcome_notif_title - desc = share_known_secrets_interaction_recipient_had_no_secrets - left_icon = scope:recipient - } - } - else = { # They had secrets to share - send_interface_message = { - type = event_intrigue_good_with_text - title = share_known_secrets_interaction_outcome_notif_title - desc = share_known_secrets_interaction_desc_intro - left_icon = scope:recipient - - scope:recipient = { - every_known_secret = { - limit = { - NOT = { is_known_by = scope:actor } - OR = { - NOR = { - secret_owner = scope:recipient - AND = { - exists = secret_target - secret_target = scope:recipient - } - } - scope:recipient = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - } - reveal_to = scope:actor - } - } - } - } - } - - scope:actor = { save_scope_as = END_TARGET } - scope:recipient = { - if = { # actor has no secrets to share - limit = { - scope:actor = { - any_known_secret = { - NOT = { is_known_by = scope:recipient } - OR = { - NOR = { - secret_owner = scope:actor - AND = { - exists = secret_target - secret_target = scope:actor - } - } - scope:actor = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - count = 0 - } - } - } - send_interface_message = { - type = event_intrigue_bad_with_text - title = share_known_secrets_interaction_outcome_notif_title - desc = share_known_secrets_interaction_recipient_had_no_secrets - left_icon = scope:actor - } - } - else = { # They had secrets to share - send_interface_message = { - type = event_intrigue_good_with_text - title = share_known_secrets_interaction_outcome_notif_title - desc = share_known_secrets_interaction_desc_intro - left_icon = scope:actor - - scope:actor = { - every_known_secret = { - limit = { - NOT = { is_known_by = scope:recipient } - OR = { - NOR = { - secret_owner = scope:actor - AND = { - exists = secret_target - secret_target = scope:actor - } - } - scope:actor = { - OR = { - has_trait = dull - has_trait = intellect_bad - has_trait = contrite - } - } - } - } - reveal_to = scope:recipient - } - hidden_effect = { add_prestige = major_prestige_loss } - } - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_secret_sharing.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - AND = { - always = scope:hook - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - send_option = { - is_valid = { - scope:actor = { has_strong_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_strong_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_potential = { - #Has access to the appropriate cultural parameter. - AND = { - exists = dynasty - dynasty = { has_dynasty_perk = fp2_coterie_legacy_4 } - } - prestige > major_prestige_value - } - - auto_accept = no - - ai_accept = { - # AI should accept by default - base = 10 - - modifier = { - trigger = { - always = scope:hook - } - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - - modifier = { - trigger = { - has_education_intrigue_trigger = yes - } - add = 20 - desc = INTERACTION_INTRIGUE_EDUCATION - } - - modifier = { - add = -100 - has_trait = honest - desc = INTERACTION_HONEST - } - - modifier = { - add = -50 - has_trait = just - desc = INTERACTION_JUST - } - - modifier = { - add = -50 - has_trait = paranoid - desc = INTERACTION_PARANOID - } - - modifier = { - add = 100 - has_trait = fickle - desc = INTERACTION_FICKLE - } - - modifier = { - add = 100 - has_trait = deceitful - desc = INTERACTION_DECEITFUL - } - - modifier = { - add = 25 - has_trait = ambitious - desc = INTERACTION_AMBITIOUS - } - - } - - ai_will_do = { - base = 100 - } -} - -################################################## -# Propose Best Friendship -# by Ewan Cowhig Croft -################################################## - -# Elevate a friendship to become a *best* friendship. -propose_best_friendship_interaction = { - interface_priority = 30 - icon = icon_personal - category = interaction_category_friendly - common_interaction = yes - desc = propose_best_friendship_interaction_desc - - greeting = positive - notification_text = PROPOSE_BEST_FRIENDSHIP_NOTIFICATION - popup_on_receive = yes - ai_maybe = yes - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - is_shown = { - # Scope:actor needs to have a suitable CulTrad. - scope:actor = { - culture = { has_cultural_parameter = may_propose_best_friendship } - } - # Scope:actor needs to have scope:recipient as a friend. - scope:actor = { has_relation_friend = scope:recipient } - } - - is_valid_showing_failures_only = { - # Both characters must be available adults. - scope:actor = { is_available_adult = yes } - scope:recipient = { is_available_adult = yes } - # We can't do most of the standard checks for can_set_relation_best_friend_trigger, but we do the relevant ones individually. - custom_tooltip = { - text = propose_best_friendship_interaction.tt.already_best_friends - scope:actor = { - NOT = { has_relation_best_friend = scope:recipient } - } - } - trigger_if = { - limit = { - NOT = { - scope:actor = { has_relation_best_friend = scope:recipient } - } - } - custom_tooltip = { - text = propose_best_friendship_interaction.tt.actor_has_best_friend - scope:actor = { num_of_relation_best_friend = 0 } - } - } - trigger_if = { - limit = { - NOT = { - scope:recipient = { has_relation_best_friend = scope:actor } - } - } - custom_tooltip = { - text = propose_best_friendship_interaction.tt.recipient_has_best_friend - scope:recipient = { num_of_relation_best_friend = 0 } - } - } - } - - on_accept = { - # Notifications with most effects. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = propose_best_friendship_interaction.accept.actor.tt - left_icon = scope:recipient - # Become best friends. - show_as_tooltip = { set_relation_best_friend = scope:recipient } - # Gain some strong opinion bonuses as a result. - reverse_add_opinion = { - target = scope:recipient - modifier = friendliness_opinion - opinion = 50 - } - # The hookening. - ## Due to some weird order-of-operations stuff, we enclose this in an if statement. - if = { - limit = { - NOT = { - has_hook_of_type = { - target = scope:recipient - type = ritual_best_friend_hook - } - } - can_add_hook = { - target = scope:recipient - type = ritual_best_friend_hook - } - } - add_hook = { - type = ritual_best_friend_hook - target = scope:recipient - } - } - } - } - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = propose_best_friendship_interaction.accept.recipient.tt - left_icon = scope:actor - # Become best friends. - show_as_tooltip = { set_relation_best_friend = scope:actor } - # Gain some strong opinion bonuses as a result. - reverse_add_opinion = { - target = scope:actor - modifier = friendliness_opinion - opinion = 50 - } - # The hookening part #2. - ## Due to some weird order-of-operations stuff, we enclose this in an if statement. - if = { - limit = { - NOT = { - has_hook_of_type = { - target = scope:actor - type = ritual_best_friend_hook - } - } - can_add_hook = { - target = scope:actor - type = ritual_best_friend_hook - } - } - add_hook = { - type = ritual_best_friend_hook - target = scope:actor - } - } - } - } - # Then we apply the actual friendship. - hidden_effect = { - scope:actor = { - if = { - limit = { - NOT = { has_relation_best_friend = scope:recipient } - } - set_relation_best_friend = { reason = best_friend_sworn copy_reason = friend target = scope:recipient } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_oath_of_true_friendship.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor gains some stress over the whole ordeal. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = propose_best_friendship_interaction.decline.actor.tt - left_icon = scope:recipient - add_stress = medium_stress_gain - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = propose_best_friendship_interaction.decline.recipient.tt - left_icon = scope:actor - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = hurt_opinion - opinion = -50 - } - } - } - } - # And set up a little hidden drama for later... - hidden_effect = { - scope:recipient = { - if = { - limit = { - # We don't use the standard check for this, since they'll already be friends by definition, so the trigger would always return as false. - # Instead, we just check to make sure they're not *already* potential rivals; this can happen regardless, so really we're just setting them up for drama if the friendship ever falters. - NOT = { has_relation_potential_rival = scope:actor } - } - set_relation_potential_rival = scope:actor - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_declined_true_friendship.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - fp2_ritual_best_friendship_interactions_ai_accept_modifier = yes - - # People without the appropriate CulTrad don't quite *get* it. - modifier = { - add = -75 - NOT = { - culture = { has_cultural_parameter = may_propose_best_friendship } - } - desc = PROPOSE_BEST_FRIEND_OPINION_LACKING_CULTURAL_PARAMETER - } - } - ## Performance-enhancement - ai_potential = { is_imprisoned = no } - ai_target_quick_trigger = { adult = yes } - ai_targets = { ai_recipients = scripted_relations } - ## Frequency - ai_frequency = 36 - ai_will_do = { - base = -50 - - fp2_ritual_best_friendship_interactions_ai_chance_modifier = yes - } -} - -################################################## -# Re-Affirmed Best Friendship -# by Ewan Cowhig Croft -################################################## - -# You've already got a best friend, but you feel you should have hooks on each other. -reaffirm_best_friendship_interaction = { - interface_priority = 30 - icon = icon_personal - category = interaction_category_friendly - common_interaction = yes - desc = reaffirm_best_friendship_interaction_desc - - greeting = positive - notification_text = REAFFIRM_BEST_FRIENDSHIP_NOTIFICATION - popup_on_receive = yes - ai_maybe = yes - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - is_shown = { - # Scope:actor needs to have a suitable CulTrad. - scope:actor = { - culture = { has_cultural_parameter = may_propose_best_friendship } - } - # Scope:actor needs to have scope:recipient for their best friend. - scope:actor = { has_relation_best_friend = scope:recipient } - # Either friend lacks a strong hook on the other. - NOR = { - scope:actor = { has_strong_hook = scope:recipient } - scope:recipient = { has_strong_hook = scope:actor } - } - } - - is_valid_showing_failures_only = { - # Both characters must be available adults. - scope:actor = { is_available_adult = yes } - scope:recipient = { is_available_adult = yes } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = reaffirm_best_friendship_interaction.accept.actor.tt - left_icon = scope:recipient - # Pretty happy about the reaffirmation. - reverse_add_opinion = { - target = scope:recipient - modifier = friendliness_opinion - opinion = 25 - } - # The hookening. - if = { - limit = { - NOT = { has_strong_hook = scope:recipient } - } - add_hook = { - type = ritual_best_friend_hook - target = scope:recipient - } - } - } - } - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = reaffirm_best_friendship_interaction.accept.recipient.tt - left_icon = scope:actor - # Pretty happy about the reaffirmation. - reverse_add_opinion = { - target = scope:actor - modifier = friendliness_opinion - opinion = 25 - } - # The hookening part #2. - if = { - limit = { - NOT = { has_strong_hook = scope:actor } - } - add_hook = { - type = ritual_best_friend_hook - target = scope:actor - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_friendship_is_magic.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor gains some stress over the whole ordeal. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = reaffirm_best_friendship_interaction.decline.actor.tt - left_icon = scope:recipient - # Actual effects handled in scope:recipient's toast. - show_as_tooltip = { remove_relation_best_friend = scope:recipient } - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = reaffirm_best_friendship_interaction.decline.recipient.tt - left_icon = scope:actor - remove_relation_best_friend = scope:actor - } - } - # And set up a little hidden drama for later... - hidden_effect = { - scope:recipient = { - if = { - limit = { - # We don't use the standard check for this, since they'll already be friends by definition, so the trigger would always return as false. - # Instead, we just check to make sure they're not *already* potential rivals; this can happen regardless, so really we're just setting them up for drama if the friendship ever falters. - NOT = { has_relation_potential_rival = scope:actor } - } - set_relation_potential_rival = scope:actor - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_friendship_is_not_magic.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - fp2_ritual_best_friendship_interactions_ai_accept_modifier = yes - - # People with the appropriate CulTrad understand that this is essentially required of them. - modifier = { - add = 50 - culture = { has_cultural_parameter = may_propose_best_friendship } - desc = REAFFIRM_BEST_FRIEND_OPINION_HAS_CULTURAL_PARAMETER - } - } - ## Performance-enhancement - ai_potential = { is_imprisoned = no } - ai_target_quick_trigger = { adult = yes } - ai_targets = { ai_recipients = scripted_relations } - ## Frequency - ai_frequency = 36 - ai_will_do = { - base = -50 - - fp2_ritual_best_friendship_interactions_ai_chance_modifier = yes - } -} - -################################################## -# Synergise Friendship -# by Ewan Cowhig Croft -################################################## - -# Work together with your best friend to gain bonuses! -synergise_friendship_interaction = { - interface_priority = 30 - icon = icon_personal - category = interaction_category_friendly - common_interaction = yes - desc = synergise_friendship_interaction_desc - - greeting = positive - notification_text = SYNERGISE_FRIENDSHIP_NOTIFICATION - popup_on_receive = yes - ai_maybe = yes - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - is_shown = { - # Scope:actor needs to have a suitable CulTrad. - scope:actor = { - culture = { has_cultural_parameter = may_select_friendship_synergy_bonus } - } - # Scope:actor needs to have scope:recipient for their best friend. - scope:actor = { has_relation_best_friend = scope:recipient } - } - - is_valid_showing_failures_only = { - # Both characters must be available adults. - scope:actor = { is_available_adult = yes } - scope:recipient = { is_available_adult = yes } - } - - on_accept = { - # First, we send out some notifications. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = synergise_friendship_interaction.accept.actor.tt - left_icon = scope:recipient - # Pretty happy about the reaffirmation. - reverse_add_opinion = { - target = scope:recipient - modifier = friendliness_opinion - opinion = 10 - } - # Show the bonuses. - ## Hidden effect so that the modifiers don't show twice in the UI. - hidden_effect = { - show_as_tooltip = { synergise_friendship_interaction_actual_effect = yes } - } - } - } - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = synergise_friendship_interaction.accept.recipient.tt - left_icon = scope:actor - # Pretty happy about the reaffirmation. - reverse_add_opinion = { - target = scope:actor - modifier = friendliness_opinion - opinion = 10 - } - # Show the bonuses. - ## Hidden effect so that the modifiers don't show twice in the UI. - hidden_effect = { - show_as_tooltip = { synergise_friendship_interaction_actual_effect = yes } - } - } - } - # Then remove any existing synergy modifiers they've got. - scope:actor = { remove_every_best_friend_synergy_bonus_modifier_effect = yes } - scope:recipient = { remove_every_best_friend_synergy_bonus_modifier_effect = yes } - # Finally, calc the actual modifiers received. - synergise_friendship_interaction_actual_effect = yes - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_synergized_friendship.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor gains some stress over the whole ordeal. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = synergise_friendship_interaction.decline.actor.tt - left_icon = scope:recipient - add_stress = minor_stress_gain - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = synergise_friendship_interaction.decline.recipient.tt - left_icon = scope:actor - reverse_add_opinion = { - target = scope:actor - modifier = hurt_opinion - opinion = -20 - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_synergized_friendship_declined.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Synergy Types - ## Scope:actor's education - send_option = { - flag = synergy_bonus_actor - localization = "SYNERGY_BONUS_ACTOR" - } - ## Scope:recipient's education - send_option = { - flag = synergy_bonus_recipient - is_valid = { - custom_description = { - text = synergise_friendship_interaction_cannot_share_education - NOT = { - characters_have_same_education_group_trigger = { - CHARACTER_1 = scope:actor - CHARACTER_2 = scope:recipient - } - } - } - } - localization = "SYNERGY_BONUS_RECIPIENT" - } - ## Scope:a mix of both educations - send_option = { - flag = synergy_bonus_mixed - localization = "SYNERGY_BONUS_MIXED" - } - - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - fp2_ritual_best_friendship_interactions_ai_accept_modifier = yes - } - ## Performance-enhancement - ai_potential = { is_imprisoned = no } - ai_target_quick_trigger = { adult = yes } - ai_targets = { ai_recipients = scripted_relations } - ## Frequency - ai_frequency = 36 - ai_will_do = { - base = -50 - - fp2_ritual_best_friendship_interactions_ai_chance_modifier = yes - } -} - -################################################## -# Challenge to Chess -# by Ewan Cowhig Croft -################################################## - -# Play someone at a game of chess, perhaps with a small wager. -challenge_to_2p_chess_interaction = { - interface_priority = 30 - icon = icon_gaming - category = interaction_category_friendly - desc = challenge_to_2p_chess_interaction_desc - common_interaction = no - - greeting = positive - notification_text = CHALLENGE_TO_2P_CHESS_INTERACTION_NOTIFICATION - ai_maybe = yes - - cooldown = { years = 1 } - cooldown_against_recipient = { years = 10 } - - is_shown = { - scope:actor = { - # Actor needs to either have a CulTrad or be a fan of board games - OR = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - has_perk = befriend_perk - has_character_modifier = fp3_chess_playing_monkey_modifier #addition from FP3 - } - # Plus be able to start & continue such a game generally. - bg_can_start_board_game_trigger = yes - # ... no, I'm sorry, you can't play yourself at board games. - NOT = { this = scope:recipient } - } - } - - is_valid_showing_failures_only = { - # Both characters must be available (adults or old-enough children) - scope:actor = { - is_available = yes - can_start_board_game_eligibility_checks_trigger = yes - } - scope:recipient = { - is_available = yes - can_start_board_game_eligibility_checks_trigger = yes - } - # Neither of you can be currently engaged in a board game. - scope:recipient = { - custom_description = { - text = fp2_bg_recipient_banned_from_board_games - bg_can_start_board_game_is_scope_banned_checks_trigger = no - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - on_send = { - # We want to set this up in advance to stop scope:actor from giving away a county for opinion that they've already wagered. - if = { - limit = { always = scope:chess_land } - challenge_to_2p_chess_interaction_lock_in_actor_stake_land_effect = yes - } - # Plus lock in the game type. - challenge_to_2p_chess_interaction_lock_in_game_type_effect = { GAME_TYPE_SETTER = scope:actor } - } - - on_accept = { - # Save gold & land stakes. - if = { - limit = { always = scope:chess_gold } - save_scope_value_as = { - name = bg_stake_gold - value = challenge_to_chess_gold_change_value - } - } - if = { - limit = { always = scope:chess_land } - # We check scope:actor's county in the on_send block to stop them sneakily giving the county away after they've staked it. - show_as_tooltip = { challenge_to_2p_chess_interaction_lock_in_actor_stake_land_effect = yes } - scope:recipient = { - save_temporary_scope_as = ordering_char_temp - ordered_held_title = { - limit = { - bg_stake_land_valid_neighbouring_county_to_trade_trigger = { NEIGHBOUR = scope:actor } - } - order_by = bg_stake_land_evaluate_appropriate_county_ordering_value - save_scope_as = bg_stake_land_recipient - set_variable = wagered_county - } - } - } - # Proceed with general set-up & preamble. - scope:actor = { - # Log scope:actor as having taken the interaction for the purposes of invalidation - add_character_flag = taken_challenge_to_chess_interaction - # Fire the actual first event for scope:actor. - ## Sort some placeholder scopes so the UI doesn't freak out. - show_as_tooltip = { - challenge_to_2p_chess_interaction_lock_in_game_type_effect = { GAME_TYPE_SETTER = scope:actor } - } - ## Pachisi - if = { - limit = { scope:bg_interaction_game_type = flag:pachisi } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = pachisi - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - ## Hnefatafl - if = { - limit = { scope:bg_interaction_game_type = flag:hnefatafl } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = hnefatafl - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - ## Tabula - if = { - limit = { scope:bg_interaction_game_type = flag:tabula } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = tabula - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - ## Go - if = { - limit = { scope:bg_interaction_game_type = flag:go } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = go - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - ## Fidchell - if = { - limit = { scope:bg_interaction_game_type = flag:fidchell } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = fidchell - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - ## Chess - if = { - limit = { scope:bg_interaction_game_type = flag:chess } - configure_start_board_game_effect = { - BG_INITIATOR = scope:actor - BG_ATTACKER = scope:actor - BG_DEFENDER = scope:recipient - SYSTEM = chess - LOCALE = random_nice_day - OUTPUT_EVENT = perk_interaction.0121 - INVALIDATION_EVENT = board_games.0021 - } - } - } - # Notify that the game will start immediately. - custom_tooltip = challenge_to_2p_chess_interaction.accept.game_commences.tt - # Stakes. - ## Friendlies bet opinion & stress. - if = { - limit = { always = scope:chess_friendly } - show_as_tooltip = { - random_list = { - # You win. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.actor - fp2_bg_stake_friendly_effect = { - VICTOR = scope:actor - LOSER = scope:recipient - } - } - # You lose. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.recipient - fp2_bg_stake_friendly_effect = { - VICTOR = scope:recipient - LOSER = scope:actor - } - } - } - } - } - ## Prestige bets capital. - if = { - limit = { always = scope:chess_prestige } - show_as_tooltip = { - random_list = { - # You win. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.actor - fp2_bg_stake_fame_effect = { - VICTOR = scope:actor - LOSER = scope:recipient - } - } - # You lose. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.recipient - fp2_bg_stake_fame_effect = { - VICTOR = scope:recipient - LOSER = scope:actor - } - } - } - } - } - ## Gold bets capital. - if = { - limit = { always = scope:chess_gold } - show_as_tooltip = { - random_list = { - # You win. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.actor - fp2_bg_stake_fortune_effect = { - VICTOR = scope:actor - LOSER = scope:recipient - } - } - # You lose. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.recipient - fp2_bg_stake_fortune_effect = { - VICTOR = scope:recipient - LOSER = scope:actor - } - } - } - } - } - ## Land bets a neighbouring title. - if = { - limit = { always = scope:chess_land } - show_as_tooltip = { - random_list = { - # You win. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.actor - fp2_bg_stake_titles_effect = { VICTOR = scope:actor } - } - # You lose. - 50 = { - show_chance = no - desc = fp2_bg_interaction.winner.recipient - fp2_bg_stake_titles_effect = { VICTOR = scope:recipient } - } - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_shatranj.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor is a little put out. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = challenge_to_2p_chess_interaction.decline.actor.tt - left_icon = scope:recipient - add_stress = minor_stress_gain - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = challenge_to_2p_chess_interaction.decline.recipient.tt - left_icon = scope:actor - reverse_add_opinion = { - target = scope:actor - modifier = unfriendly_opinion - opinion = -20 - } - } - } - - # Failsafe: Ensure that all set variables are removed - hidden_effect = { - if = { - limit = { exists = scope:bg_stake_land_recipient } - scope:bg_stake_land_recipient = { remove_variable = wagered_county } - } - if = { - limit = { exists = scope:bg_stake_land_actor } - scope:bg_stake_land_actor = { remove_variable = wagered_county } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = miniscule_unity_loss - DESC = clan_unity_shatranj_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Wagers - ## A friendly match - send_option = { - flag = chess_friendly - localization = "CHESS_FRIENDLY" - } - ## Bet prestige - send_option = { - flag = chess_prestige - localization = "CHESS_PRESTIGE" - is_valid = { # Children should not be able to gamble with fame, but gold and land are fine - scope:actor = { is_available_adult = yes } - scope:recipient = { is_available_adult = yes } - } - } - ## Bet gold - send_option = { - is_valid = { - custom_tooltip = { - scope:actor = { gold > minor_gold_value } - text = bet_gold_actor_not_enough_gold - } - custom_tooltip = { - scope:recipient = { gold > minor_gold_value } - text = bet_gold_recipient_not_enough_gold - } - } - flag = chess_gold - localization = "CHESS_GOLD" - } - ## Bet land - send_option = { - # Only actual gaming nut cultures will bet something as serious as land. - is_shown = { - scope:actor = { - culture = { has_cultural_parameter = may_wager_land_on_board_games } - } - scope:recipient = { - culture = { has_cultural_parameter = may_wager_land_on_board_games } - } - } - # But you need to have bordering land for it to work. - is_valid = { - custom_tooltip = { - text = challenge_to_2p_chess_interaction.need_bordering_non_capital_domains.tt - scope:actor = { - any_held_title = { - bg_stake_land_valid_neighbouring_county_to_trade_trigger = { NEIGHBOUR = scope:recipient } - } - } - scope:recipient = { - any_held_title = { - bg_stake_land_valid_neighbouring_county_to_trade_trigger = { NEIGHBOUR = scope:actor } - } - } - } - } - flag = chess_land - localization = "CHESS_LAND" - } - - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - # Weight up for personality values. - ## Shy characters may not generally be sociable, but they're usually down for board games. - ai_value_modifier = { - who = scope:recipient - trigger = { has_trait = shy } - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = 1 - } - } - ai_sociability = { - if = { - limit = { - scope:recipient = { - NOT = { ai_honor = 0 } - } - } - value = -0.5 - } - } - } - ## Otherwise, calc as normal. - ai_value_modifier = { - who = scope:recipient - trigger = { - NOT = { has_trait = shy } - } - ai_boldness = { - if = { - limit = { - scope:recipient = { - NOT = { ai_boldness = 0 } - } - } - value = 1 - } - } - ai_sociability = { - if = { - limit = { - scope:recipient = { - NOT = { ai_honor = 0 } - } - } - value = 0.5 - } - } - } - # Weight up for opinion. - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - # Weight up for estimated skill. - modifier = { - add = { - add = scope:recipient.martial - add = scope:recipient.intrigue - add = scope:recipient.learning - # - } - desc = BG_OPINION_OWN_SKILL_ASSESSMENT - } - # Specific wager preferences. - ## Friendlies: for folks who want a calm game with nothing more at stake than peace of mind. - modifier = { - add = 20 - always = scope:chess_friendly - # Exempt characters with traits that dislike low stakes. - scope:recipient = { - NOR = { - has_trait = callous - has_trait = greedy - has_trait = arrogant - } - } - desc = BG_OPINION_STAKES_ARE_LOW - } - ### Gregarious loves. - modifier = { - add = 40 - scope:recipient = { has_trait = gregarious } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_GREGARIOUS - } - ### Humble loves. - modifier = { - add = 40 - scope:recipient = { has_trait = humble } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_HUMBLE - } - ### Shy likes. - modifier = { - add = 20 - scope:recipient = { has_trait = shy } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_SHY - } - ### Compassionate likes. - modifier = { - add = 20 - scope:recipient = { has_trait = compassionate } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_COMPASSIONATE - } - ### Callous dislikes. - modifier = { - add = -20 - scope:recipient = { has_trait = callous } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_CALLOUS - } - ### Greedy hates. - modifier = { - add = -40 - scope:recipient = { has_trait = greedy } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_GREEDY - } - ### Arrogant hates. - modifier = { - add = -40 - scope:recipient = { has_trait = arrogant } - always = scope:chess_friendly - desc = BG_OPINION_FRIENDLY_TRAIT_ARROGANT - } - ## Prestige: want a little more drama in your life without breaking the bank? Gamble your reputation! - ### Brave loves. - modifier = { - add = 40 - scope:recipient = { has_trait = brave } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_BRAVE - } - ### Arrogant loves. - modifier = { - add = 40 - scope:recipient = { has_trait = arrogant } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_ARROGANT - } - ### Gregarious likes. - modifier = { - add = 20 - scope:recipient = { has_trait = gregarious } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_GREGARIOUS - } - ### Ambitious likes. - modifier = { - add = 20 - scope:recipient = { has_trait = ambitious } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_AMBITIOUS - } - ### Content dislikes. - modifier = { - add = -20 - scope:recipient = { has_trait = content } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_CONTENT - } - ### Shy dislikes. - modifier = { - add = -20 - scope:recipient = { has_trait = shy } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_SHY - } - ### Humble hates. - modifier = { - add = -40 - scope:recipient = { has_trait = humble } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_HUMBLE - } - ### Craven hates. - modifier = { - add = -40 - scope:recipient = { has_trait = craven } - always = scope:chess_prestige - desc = BG_OPINION_PRESTIGE_TRAIT_CRAVEN - } - ## Gold: what is life without risk? Play it bold or don't play at all! - ### Profligate adores. - modifier = { - add = 60 - scope:recipient = { has_trait = profligate } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_PROFLIGATE - } - ### Greedy loves. - modifier = { - add = 40 - scope:recipient = { has_trait = greedy } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_GREEDY - } - ### Ambitious likes. - modifier = { - add = 20 - scope:recipient = { has_trait = ambitious } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_AMBITIOUS - } - ### Generous likes - I mean, from their perspective, what does the money matter? - modifier = { - add = 20 - scope:recipient = { has_trait = generous } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_GENEROUS - } - ### Lazy likes. - modifier = { - add = 20 - scope:recipient = { has_trait = lazy } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_LAZY - } - ### Diligent hates. - modifier = { - add = -40 - scope:recipient = { has_trait = diligent } - always = scope:chess_gold - desc = BG_OPINION_GOLD_TRAIT_DILIGENT - } - ## Land: you need to stop buying new board games, Jesse. You're way too into them. - ### Profligate adores. - modifier = { - add = 60 - scope:recipient = { has_trait = profligate } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_PROFLIGATE - } - ### Arbitrary loves. - modifier = { - add = 40 - scope:recipient = { has_trait = arbitrary } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_ARBITRARY - } - ### Ambitious likes. - modifier = { - add = 20 - scope:recipient = { has_trait = ambitious } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_AMBITIOUS - } - ### Brave likes. - modifier = { - add = 20 - scope:recipient = { has_trait = brave } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_BRAVE - } - ### Craven dislikes. - modifier = { - add = -20 - scope:recipient = { has_trait = craven } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_CRAVEN - } - ### Content dislikes. - modifier = { - add = -20 - scope:recipient = { has_trait = content } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_CONTENT - } - ### Just loathes - this is *categorically* not how the feudal system, or really any form of loyalty, is supposed to work. - modifier = { - add = -60 - scope:recipient = { has_trait = just } - always = scope:chess_land - desc = BG_OPINION_LAND_TRAIT_JUST - } - ### Greedy deliberately left off; they don't want to risk their own stuff but they *do* want to nab everyone else's. - # Relationships - ## Mildly positive relationships like to play against each other. - modifier = { - add = 20 - scope:recipient = { - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - } - desc = BG_OPINION_RELATIONSHIP_GOOD_MILD - } - ## Positive relationships like to play against each other. - modifier = { - add = 40 - scope:recipient = { - has_any_only_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - } - desc = BG_OPINION_RELATIONSHIP_GOOD_MODERATE - } - ## Really positive relationships love to play against each other. - modifier = { - add = 60 - scope:recipient = { - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - } - desc = BG_OPINION_RELATIONSHIP_GOOD_MAJOR - } - ## Negative relationships dislike playing each other... - ### ... either mildly... - modifier = { - add = -20 - scope:recipient = { - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - NOT = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - } - desc = BG_OPINION_RELATIONSHIP_BAD_MILD - } - ### ... moderately... - modifier = { - add = -40 - scope:recipient = { - has_any_only_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - NOT = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - } - desc = BG_OPINION_RELATIONSHIP_BAD_MODERATE - } - ### ... or majorly... - modifier = { - add = -60 - scope:recipient = { - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - NOT = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - } - desc = BG_OPINION_RELATIONSHIP_BAD_MAJOR - } - ## ... unless they take their board games far too seriously, in which case, they're always down... - ### ... either mildly... - modifier = { - add = 20 - scope:recipient = { - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - desc = BG_OPINION_RELATIONSHIP_BAD_SRSGMR_MILD - } - ### ... moderately... - modifier = { - add = 40 - scope:recipient = { - has_any_only_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - desc = BG_OPINION_RELATIONSHIP_BAD_SRSGMR_MODERATE - } - ### ... or majorly. - modifier = { - add = 60 - scope:recipient = { - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - desc = BG_OPINION_RELATIONSHIP_BAD_SRSGMR_MAJOR - } - # Apply tier differences. - ## King -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value >= 4 - } - } - add = 15 - } - ## Duke -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 3 - } - } - add = 10 - } - ## Count -> Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = 2 - } - } - add = 5 - } - ## King <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -2 - } - } - add = -10 - } - ## Duke <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value = -3 - } - } - add = -20 - } - ## Count <- Baron. - modifier = { - desc = AI_REFUSAL_RANK_DIFFERENCE - scope:actor = { - tier_difference = { - target = scope:recipient - value <= -4 - } - } - add = -30 - } - } - ## Performance-enhancement - ai_potential = { - OR = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - has_perk = befriend_perk - } - is_imprisoned = no - } - ai_target_quick_trigger = { adult = yes } # AI will only challenge adults - ai_targets = { - ai_recipients = scripted_relations - max = 5 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - ## Frequency - ai_frequency = 100 - ai_will_do = { - base = -50 - - # Everyone likes to play boardgames with people they like - opinion_modifier = { - opinion_target = scope:recipient - trigger = { - NOT = { culture = { has_cultural_parameter = may_challenge_to_board_games } } - } - } - - # Boardgame nerds like to challenge people they dislike... - opinion_modifier = { - opinion_target = scope:recipient - trigger = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - opinion = { - target = scope:recipient - value < 0 - } - } - - multiplier = -1 - } - - # ...but they ALSO like to play with people they like - opinion_modifier = { - opinion_target = scope:recipient - trigger = { - culture = { has_cultural_parameter = may_challenge_to_board_games } - opinion = { - target = scope:recipient - value > 0 - } - } - } - - # If you are my rival and my culture likes to play board games, I'll see you as a good opponent. - modifier = { - add = 50 - scope:actor = { - has_relation_rival = scope:recipient - culture = { has_cultural_parameter = may_challenge_to_board_games } - } - } - - # Aaaaand boredom. - modifier = { - add = 10 - scope:actor.days_of_continuous_peace >= 365 - } - modifier = { - add = 10 - scope:actor.days_of_continuous_peace >= 730 - } - modifier = { - add = 10 - scope:actor.days_of_continuous_peace >= 1095 - } - modifier = { - add = 10 - scope:actor.days_of_continuous_peace >= 1460 - } - modifier = { - add = 10 - scope:actor.days_of_continuous_peace >= 1825 - } - # Plus if scope:actor isn't at all interesting to scope:recipient, then tell them to just sit quietly. - modifier = { - factor = 0 - scope:recipient = { - NOR = { - is_of_major_or_minor_interest_trigger = { CHARACTER = scope:actor } - highest_held_title_tier >= tier_duchy - sub_realm_size >= 4 - } - } - } - } -} - -################################################## -# Purchase Truce -# by Ewan Cowhig Croft -################################################## - -# Wars are expensive, so why not purchase a little peace preemptively? -purchase_truce_interaction = { - interface_priority = 30 - category = interaction_category_diplomacy - common_interaction = yes - desc = purchase_truce_interaction_desc - icon = icon_retreat - - greeting = positive - notification_text = PURCHASE_TRUCE_NOTIFICATION - popup_on_receive = yes - ai_maybe = yes - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 10 } - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - is_landless_adventurer = no - - # If scope:recipient is a nomad and the actor is not, this is always available; otherwise, - # scope:actor needs to either be involved in certain struggle types or else have a specific perk. - OR = { - AND = { - scope:recipient = { government_has_flag = government_is_nomadic } - NOT = { government_has_flag = government_is_nomadic } - } - fp2_purchase_truce_interaction_soft_requirements_trigger = yes - } - - # if you are not independent you should not be able to purchase truce with other fellow vassals only - trigger_if = { - limit = { is_independent_ruler = no } - top_liege = scope:recipient.top_liege - } - } - # Scope:recipient must be landed, and neither over or under scope:actor. - scope:recipient = { - is_playable_character = yes - NOR = { - any_liege_or_above = { this = scope:actor } - any_vassal_or_below = { this = scope:actor } - } - } - } - - is_valid_showing_failures_only = { - # Scope:actor must be an available (adult or child). - scope:actor = { - gold >= pt_sum_small_value - is_available = yes - } - # Scope:recipient must be at least available. - scope:recipient = { is_available = yes } - # Make sure that scope:actor is going into this with a clean, no-recent/active/forbidden hostilities mindset. - scope:actor = { - NOR = { - # Involved characters can't be on opposite sides in an active war. - is_at_war_with = scope:recipient - # Allied characters aren't allowed to do this because it _should_ be redundant. Unless you're planning something. Which you shouldn't announce like that. - is_allied_to = scope:recipient - # And we should just disallow anyone who already has a truce with you, even though I guess you might technically want to replace it. - any_truce_holder = { this = scope:recipient } - } - } - #limit range for landless adventurers - trigger_if = { - limit = { - scope:actor = { - is_landless_adventurer = yes - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - } - - on_accept = { - # Notifications with most effects. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = purchase_truce_interaction.accept.actor.tt - left_icon = scope:recipient - show_as_tooltip = { - purchase_truce_interaction_work_out_truce_days_effect = { TARGET = scope:recipient } - } - } - show_as_tooltip = { purchase_truce_interaction_work_out_purchase_cost_effect = yes } - # Outside of the notification, since we'll send a separate one anyway, we want to point out the catalyst activation (if relevant). - show_as_tooltip = { purchase_truce_interaction_activate_catalyst_effect = yes } - } - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = purchase_truce_interaction.accept.recipient.tt - left_icon = scope:actor - show_as_tooltip = { - purchase_truce_interaction_work_out_truce_days_effect = { TARGET = scope:actor } - } - } - } - # Then we apply the actual truce. - hidden_effect = { - scope:actor = { - purchase_truce_interaction_work_out_truce_days_effect = { TARGET = scope:recipient } - purchase_truce_interaction_activate_catalyst_effect = yes - # Variable used for checking if we should apply the "Recently Waged War" ai behavior in ai_acceptance modifiers, specifically in the Offer Vassalization interaction - if = { - limit = { always = scope:pt_sum_small } - add_to_bought_truce_list = { - TARGET = scope:recipient - DAYS = purchase_truce_interaction_truce_days_small_value - } - } - else_if = { - limit = { always = scope:pt_sum_large } - add_to_bought_truce_list = { - TARGET = scope:recipient - DAYS = purchase_truce_interaction_truce_days_large_value - } - } - else = { - add_to_bought_truce_list = { - TARGET = scope:recipient - DAYS = purchase_truce_interaction_truce_days_medium_value - } - } - } - purchase_truce_interaction_work_out_purchase_cost_effect = yes - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_gain - DESC = clan_unity_purchased_truce.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor gains some stress over the whole ordeal. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = purchase_truce_interaction.decline.actor.tt - left_icon = scope:recipient - add_stress = minor_stress_gain - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = purchase_truce_interaction.decline.recipient.tt - left_icon = scope:actor - reverse_add_opinion = { - target = scope:actor - modifier = warmonger_opinion - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_loss - DESC = clan_unity_purchased_truce_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Send Options - ## Small Sum - send_option = { - is_shown = { always = yes } - is_valid = { - scope:actor = { gold >= pt_sum_small_value } - } - flag = pt_sum_small - localization = "PT_SUM_SMALL" - } - ## Medium Sum - send_option = { - is_shown = { - # We use the most expensive of scope:actor or scope:recipient's income, so we check both. - scope:actor = { - can_make_expensive_purchase_trigger = { PRICE = scope:actor.purchase_truce_interaction_medium_sum } - can_make_expensive_purchase_trigger = { PRICE = scope:recipient.purchase_truce_interaction_medium_sum } - } - } - is_valid = { - scope:actor = { gold >= pt_sum_medium_value } - } - flag = pt_sum_medium - starts_enabled = { always = yes } - localization = "PT_SUM_MEDIUM" - } - ## Large Sum - send_option = { - is_shown = { - # We use the most expensive of scope:actor or scope:recipient's income, so we check both. - scope:actor = { - can_make_expensive_purchase_trigger = { PRICE = scope:actor.purchase_truce_interaction_major_sum } - can_make_expensive_purchase_trigger = { PRICE = scope:recipient.purchase_truce_interaction_major_sum } - } - } - is_valid = { - scope:actor = { gold >= pt_sum_large_value } - } - flag = pt_sum_large - localization = "PT_SUM_LARGE" - } - - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions. - base = 0 - - # Struggle - modifier = { - trigger_if = { - limit = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - } - } - trigger_else = { - always = no - } - add = { - value = 0 - if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_sign_truce_outside_war - } - has_character_flag = agenda_towards_escalation - } - } - add = -50 - } - else_if = { - limit = { - scope:recipient = { - any_character_struggle = { - phase_has_catalyst = catalyst_sign_truce_outside_war - } - } - } - add = 100 - } - } - desc = AI_STRUGGLE_INTENT - } - - # Factor up or down based on the sum offered. - ## Small. - modifier = { - add = -10 - always = scope:pt_sum_small - desc = PT_AMOUNT_OF_GOLD_OFFERED - } - ## Medium. - modifier = { - add = 25 - always = scope:pt_sum_medium - desc = PT_AMOUNT_OF_GOLD_OFFERED - } - ## Large. - modifier = { - add = 75 - always = scope:pt_sum_large - desc = PT_AMOUNT_OF_GOLD_OFFERED - } - ## Plus a bit of base-line acceptance if the AI's coffers are currently pretty anaemic. - modifier = { - add = 30 - gold <= scope:recipient.yearly_character_income - desc = PT_COULD_USE_SOME_POCKET_MONEY - } - # AI take opinion into account, but reduced so they'll at least occasionally accept from folks they dislike. - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - # Greedy AI like gold. - modifier = { - add = { - value = ai_greed - multiply = 2 - } - ai_greed >= 1 - desc = AI_VALUE_MODIFIER_GREED - } - # Boldness always plays a factor. - modifier = { - add = { - value = ai_boldness - multiply = -0.5 - } - NOT = { ai_boldness = 0 } - desc = AI_VALUE_MODIFIER_BOLDNESS - } - # Ambitious AI like freedom. - modifier = { - add = -50 - has_trait = ambitious - desc = PT_AI_LIKES_FREEDOM_TO_WAR_REASON - } - # AI who are in debt will take whatever windfalls they can. - modifier = { - add = { - value = debt_level - # Our first rank is 0, so we add one to always get a positive number. - add = 1 - multiply = 10 - } - debt_level >= 0 - desc = PT_AI_IS_IN_DEBT - } - # Pacifist AI are happy to avoid war. - modifier = { - add = 25 - faith = { has_doctrine_parameter = pacifist_opinion_active } - desc = PT_AI_IS_PACIFIST_FAITH - } - modifier = { - add = 25 - culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith } - desc = PT_AI_IS_PACIFIST_CULTURE - } - # War likeliness. - ## This is primarily intended to mitigate conquest, invasion, and religious CBs, so we don't account for them. - ## Scope:recipient has some claim to scope:actor's lands. - modifier = { - add = -20 - any_claim = { - count = 1 - exists = holder - holder = scope:actor - } - desc = PT_AI_PERSONALLY_CLAIMS_YOUR_LAND - } - ## Scope:recipient has decent claim to scope:actor's lands. - modifier = { - add = -40 - OR = { - any_claim = { - count >= 2 - exists = holder - holder = scope:actor - } - any_claim = { - count = 1 - exists = holder - holder = scope:actor - save_temporary_scope_as = claim_temp - scope:recipient = { has_strong_claim_on = scope:claim_temp } - } - } - desc = PT_AI_PERSONALLY_CLAIMS_YOUR_LAND - } - ## Scope:recipient has strong claim to scope:actor's lands. - modifier = { - add = -60 - any_claim = { - count >= 2 - exists = holder - holder = scope:actor - save_temporary_scope_as = claim_temp - scope:recipient = { has_strong_claim_on = scope:claim_temp } - } - desc = PT_AI_PERSONALLY_CLAIMS_YOUR_LAND - } - ## Scope:recipient can de jure grab your land. - ### Dukes don't take much. - modifier = { - add = -30 - highest_held_title_tier = tier_duchy - purchase_truce_interaction_recipient_can_de_jure_war_actor_trigger = yes - scope:actor = { - any_sub_realm_county = { - count >= 3 - any_this_title_or_de_jure_above = { holder = scope:actor } - } - } - desc = PT_AI_DE_JURE_CLAIMS_YOUR_LAND - } - ### Kings need a lot more. - modifier = { - add = -30 - highest_held_title_tier = tier_kingdom - purchase_truce_interaction_recipient_can_de_jure_war_actor_trigger = yes - scope:actor = { - any_sub_realm_county = { - count >= 10 - any_this_title_or_de_jure_above = { holder = scope:actor } - } - } - desc = PT_AI_DE_JURE_CLAIMS_YOUR_LAND - } - ### Emperors take quite a bit to get fussed. - modifier = { - add = -30 - highest_held_title_tier = tier_empire - purchase_truce_interaction_recipient_can_de_jure_war_actor_trigger = yes - scope:actor = { - any_sub_realm_county = { - count >= 20 - any_this_title_or_de_jure_above = { holder = scope:actor } - } - } - desc = PT_AI_DE_JURE_CLAIMS_YOUR_LAND - } - # Relative power. - ## Scope:actor has far fewer levies than scope:recipient. - modifier = { - add = -30 - scope:actor.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_weaker_value - desc = PT_AI_RECIPIENT_IS_MUCH_STRONGER - } - ## Scope:actor has fewer levies than scope:recipient. - modifier = { - add = -10 - scope:actor.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_weaker_value - scope:actor.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - desc = PT_AI_RECIPIENT_IS_SOMEWHAT_STRONGER - } - ## Scope:actor has roughly equal levies with scope:recipient. - modifier = { - add = 10 - scope:actor.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - scope:actor.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value - desc = PT_AI_RECIPIENT_IS_ROUGHLY_EQUAL - } - ## Scope:actor has more levies than scope:recipient. - modifier = { - add = 25 - scope:actor.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_somewhat_stronger_value - scope:actor.max_military_strength <= scope:recipient.purchase_truce_interaction_recipient_far_stronger_value - desc = PT_AI_RECIPIENT_IS_SOMEWHAT_WEAKER - } - ## Scope:actor has far more levies than scope:recipient. - modifier = { - add = 50 - scope:actor.max_military_strength > scope:recipient.purchase_truce_interaction_recipient_far_stronger_value - desc = PT_AI_RECIPIENT_IS_MUCH_WEAKER - } - } - ## Performance-enhancement - ai_potential = { - is_playable_character = yes - is_at_war = no - is_imprisoned = no - # Matches the regular minimum triggers. - OR = { - any_character_struggle = { involvement = involved } - has_perk = defensive_measures_perk - } - # Might actually be wurf evaluating the costs. - can_make_expensive_purchase_trigger = { PRICE = purchase_truce_interaction_small_sum } - } - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - ## Frequency - ai_frequency = 60 - ai_will_do = { - base = 0 - - # Some personalities & traits just don't want to fight. - ## Cravens (who aren't also ambitious). - modifier = { - add = 25 - has_trait = craven - NOT = { has_trait = ambitious } - } - ## Those with chronically low boldness (who aren't also ambitious). - modifier = { - add = 25 - ai_boldness <= very_high_negative_ai_value - NOT = { has_trait = ambitious } - } - ## Pacifists. - modifier = { - add = 25 - faith = { has_doctrine_parameter = pacifist_opinion_active } - } - modifier = { - add = 25 - culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith } - } - ## Wrathful or ambitious characters don't like to bother. - modifier = { - add = -25 - has_trait = ambitious - } - modifier = { - add = -25 - has_trait = wrathful - } - ## Arbitrary characters don't get truces to begin with. - modifier = { - add = -50 - has_trait = arbitrary - } - ## We deliberately avoid warlike faiths *not* doing it; there's plenty of examples of such bought truces amongst these faiths, so we let them keep at it if they match other criteria. - # Various gradients of having money to burn. - ## You've got a goodly amount stashed away. - modifier = { - add = 50 - can_make_expensive_purchase_trigger = { PRICE = purchase_truce_interaction_medium_sum } - } - ## You're somewhat loaded. - modifier = { - add = 50 - can_make_expensive_purchase_trigger = { PRICE = purchase_truce_interaction_major_sum } - } - ## You're absolutely loaded. - modifier = { - add = 50 - can_make_expensive_purchase_trigger = { PRICE = purchase_truce_interaction_massive_sum } - } - # Force checks. - ## Try to buy truces from somewhat stronger realms... - modifier = { - add = 50 - scope:recipient.max_military_strength >= scope:actor.purchase_truce_interaction_recipient_somewhat_stronger_value - } - ## ... and much stronger realms. - modifier = { - add = 50 - scope:recipient.max_military_strength >= scope:actor.purchase_truce_interaction_recipient_far_stronger_value - } - - # Struggle - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_sign_truce_outside_war - } - has_character_flag = agenda_towards_escalation - } - } - add = -50 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_sign_truce_outside_war - } - } - } - add = 100 - } - } - } - # Finally, calculate factors. - ## Only buy truces from weaker/roughly-equal realms if you're craven have been at war forever. - modifier = { - factor = 0 - max_military_strength <= scope:actor.purchase_truce_interaction_recipient_somewhat_weaker_value - NOR = { - has_trait = craven - days_of_continuous_war <= 3650 - } - } - ## Never buy a truce from someone who actually can't declare war on you. - modifier = { - factor = 0 - scope:recipient = { - NOT = { has_any_cb_on = scope:actor } - } - } - ## Don't buy truces from people who are likely going to be dead soon, or if you yourself will die soon, since they'll be wasted. - modifier = { - factor = 0 - OR = { - health <= poor_health - scope:recipient = { health <= poor_health } - } - } - } -} - -################################################## -# Incite Revolts -# by Maxence Voleau -################################################## Updated for FP3 - -incite_revolts_interaction = { - interface_priority = 30 - category = interaction_category_hostile - common_interaction = yes - desc = incite_revolts_interaction_desc - icon = faction - - greeting = positive - - auto_accept = yes - - cost = { - gold = { - add = { - value = 0 - # Gold spent will provide 10x levies, e.g. 25 provides 250 - not automated yet - if = { - limit = { scope:small_investment_in_revolt = yes } - add = 25 - } - if = { - limit = { scope:medium_investment_in_revolt = yes } - add = 75 - } - if = { - limit = { scope:high_investment_in_revolt = yes } - add = 200 - } - } - } - } - - is_shown = { - NOT = { scope:recipient = scope:actor } - OR = { - scope:actor = { - is_landless_adventurer = yes - OR = { - any_claim = { - holder = scope:recipient - } - has_relation_rival = scope:recipient - } - } - AND = { - has_dlc_feature = the_fate_of_iberia - # Only available during Opportunity, Hostility and Tension phases - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_incite_revolts_interaction - # Can only target involved - is_secondary_character_involvement_involved_trigger = { CHAR = scope:recipient } - } - } - } - AND = { - has_fp3_dlc_trigger = yes - scope:actor = { - has_trait = fp3_struggle_detractor - any_character_struggle = { - involvement = involved - is_struggle_type = persian_struggle - } - } - scope:recipient = { - any_character_struggle = { - is_struggle_type = persian_struggle - involvement = involved - } - } - } - } - } - - is_valid_showing_failures_only = { - - custom_description = { - text = at_least_one_county_with_neutral_negative_opinion - scope:recipient = { - any_sub_realm_county = { - count > 0 - holder = scope:recipient - county_opinion < 0 - NOR = { - has_county_modifier = small_investment_in_revolt_modifier - has_county_modifier = medium_investment_in_revolt_modifier - has_county_modifier = high_investment_in_revolt_modifier - } - } - } - } - } - - can_send = { - custom_tooltip = { - text = must_select_an_investment - OR = { - scope:actor = { is_ai = yes } # Temporary until we get a code fix - scope:small_investment_in_revolt = yes - scope:medium_investment_in_revolt = yes - scope:high_investment_in_revolt = yes - } - } - } - - send_options_exclusive = yes - - # Small investment - send_option = { - flag = small_investment_in_revolt - localization = small_investment - } - - # Medium investment - send_option = { - flag = medium_investment_in_revolt - localization = medium_investment - starts_enabled = { always = yes } - } - - # High investment - send_option = { - flag = high_investment_in_revolt - localization = high_investment - } - - on_accept = { - # Select the random county - hidden_effect = { - scope:recipient = { - random_sub_realm_county = { - limit = { - NOR = { - has_county_modifier = small_investment_in_revolt_modifier - has_county_modifier = medium_investment_in_revolt_modifier - has_county_modifier = high_investment_in_revolt_modifier - } - county_opinion < 0 - holder = scope:recipient - } - weight = { - base = 1 - # More likely to finance county of your own Faith or Culture - modifier = { - add = 2 - OR = { - faith = scope:actor.faith - culture = scope:actor.culture - } - } - # More likely to finance county prone to trigger populist factions - modifier = { - add = 5 - NAND = { - faith = scope:recipient.faith - culture = scope:recipient.culture - } - } - # More likely to finance county bordering your Realm - modifier = { - add = 5 - any_neighboring_county = { - holder = scope:actor - } - } - } - save_scope_as = chosen_county - } - } - } - - scope:actor = { - stress_impact = { - just = medium_stress_impact_gain - honest = medium_stress_impact_gain - trusting = medium_stress_impact_gain - greedy = minor_stress_impact_gain - } - if = { - limit = { - scope:actor = { - OR = { - has_relation_rival = scope:recipient - has_relation_nemesis = scope:recipient - } - } - } - stress_impact = { - vengeful = medium_stress_impact_loss - } - } - if = { - limit = { - scope:actor = { - is_vassal_of = scope:recipient - } - } - stress_impact = { - ambitious = medium_stress_impact_loss - } - } - } - - # FP3 Polish (Hugo) - scope:actor = { - duel = { - skill = intrigue - value = scope:recipient.intrigue - - 10 = { # Failure - desc = incite_revolts_interaction_notif_failure - compare_modifier = { - value = scope:duel_value - multiplier = -1.5 - } - show_as_tooltip = { - if = { - limit = { scope:small_investment_in_revolt = yes } - custom_tooltip = apply_small_investment_in_revolt_on_random_county - } - else_if = { - limit = { scope:medium_investment_in_revolt = yes } - custom_tooltip = apply_medium_investment_in_revolt_on_random_county - } - else_if = { - limit = { scope:high_investment_in_revolt = yes } - custom_tooltip = apply_high_investment_in_revolt_on_random_county - } - reverse_add_opinion = { - target = scope:recipient - modifier = angry_opinion - opinion = -50 - } - } - - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_bad - title = incite_revolts_interaction_result.tt - left_icon = scope:chosen_county - right_icon = scope:recipient - - scope:chosen_county = { - if = { - limit = { scope:small_investment_in_revolt = yes } - add_county_modifier = { - modifier = small_investment_in_revolt_modifier - years = 10 - } - } - else_if = { - limit = { scope:medium_investment_in_revolt = yes } - add_county_modifier = { - modifier = medium_investment_in_revolt_modifier - years = 10 - } - } - else_if = { - limit = { scope:high_investment_in_revolt = yes } - add_county_modifier = { - modifier = high_investment_in_revolt_modifier - years = 10 - } - } - } - reverse_add_opinion = { - target = scope:recipient - modifier = angry_opinion - opinion = -50 - } - hidden_effect = { - scope:recipient = { - progress_towards_rival_effect = { - CHARACTER = scope:actor - REASON = fp2_progress_towards_rival_funded_revolt_against_me - OPINION = 0 - } - } - } - } - } - } - 10 = { # Success - desc = incite_revolts_interaction_notif_success - compare_modifier = { - value = scope:duel_value - multiplier = 1.5 - } - - show_as_tooltip = { - if = { - limit = { scope:small_investment_in_revolt = yes } - custom_tooltip = apply_small_investment_in_revolt_on_random_county - } - else_if = { - limit = { scope:medium_investment_in_revolt = yes } - custom_tooltip = apply_medium_investment_in_revolt_on_random_county - } - else_if = { - limit = { scope:high_investment_in_revolt = yes } - custom_tooltip = apply_high_investment_in_revolt_on_random_county - } - } - - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = incite_revolts_interaction_result.tt - left_icon = scope:chosen_county - - scope:chosen_county = { - if = { - limit = { scope:small_investment_in_revolt = yes } - add_county_modifier = { - modifier = small_investment_in_revolt_modifier - years = 10 - } - } - else_if = { - limit = { scope:medium_investment_in_revolt = yes } - add_county_modifier = { - modifier = medium_investment_in_revolt_modifier - years = 10 - } - } - else_if = { - limit = { scope:high_investment_in_revolt = yes } - add_county_modifier = { - modifier = high_investment_in_revolt_modifier - years = 10 - } - } - } - } - } - } - } - } - - # for landless adventurers, add the county to a variable list to unlock a unique cb - scope:actor = { - if = { - limit = { - government_has_flag = government_is_landless_adventurer - } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_medium_gain - } - add_to_variable_list = { - name = war_supported_counties_list - target = scope:chosen_county - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_forment_revolt.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_frequency = 60 - - ai_potential = { - OR = { - any_character_struggle = { - has_struggle_phase_parameter = unlocks_incite_revolts_interaction - involvement = involved - OR = { - is_struggle_phase = struggle_iberia_phase_opportunity - is_struggle_phase = struggle_iberia_phase_hostility - } - } - any_character_struggle = { - is_struggle_type = persian_struggle - involvement = involved - } - } - short_term_gold >= medium_gold_value - } - - ai_targets = { - # For the AI, we limit it to neighboring_rulers - ai_recipients = neighboring_rulers - } - - ai_will_do = { - base = -50 # Let's limit it to specific character to avoid pure chaos - - ############### - ## BASE - ############### - - # ai values - modifier = { - ai_vengefulness > 0 - add = ai_vengefulness - } - modifier = { - add = { - value = ai_compassion - multiply = -1 - } - } - - modifier = { - add = { - value = ai_honor - multiply = -1 - } - } - - # intrigue skill points - modifier = { - add = { - value = intrigue - multiply = 3 - } - } - - # diff faith - modifier = { - add = 25 - NOT = { faith = scope:recipient.faith } - } - - # diff culture - modifier = { - add = 25 - - NOT = { - culture = { - OR = { - this = scope:recipient.culture - cultural_acceptance = { target = scope:recipient.culture value >= 90 } - } - } - } - } - - ############### - ## TRAITS - ############### - - # schemer - modifier = { - add = 25 - has_trait = schemer - } - - # intrigue education - modifier = { - add = 25 - OR = { - has_trait = education_intrigue_1 - has_trait = education_intrigue_2 - has_trait = education_intrigue_3 - has_trait = education_intrigue_4 - } - } - - ################ - ## RELATIONSHIP - ################ - - # more likely to do it against rival or nemesis - modifier = { - add = 50 - scope:recipient = { - OR = { - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - } - } - } - - # boost against liege for Ambitious - modifier = { - add = 50 - scope:actor = { - has_trait = ambitious - is_vassal_of = scope:recipient - } - } - - # never target your friends - modifier = { - add = -1000 - scope:recipient = { - OR = { - has_relation_friend = scope:actor - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - has_relation_best_friend = scope:actor - } - } - } - } -} - -################################################## -# Contract Assistance -# by Joe Parkin -################################################## - -contract_assistance_interaction = { - category = interaction_category_diplomacy - interface_priority = 15 - common_interaction = yes - interface = interfere_in_war - special_interaction = interfere_in_war_interaction - popup_on_receive = yes - pause_on_receive = yes - - ai_maybe = yes - desc = contract_assistance_interaction_desc - icon = icon_gold - - greeting = positive - notification_text = contract_assistance_interaction_notification - - cooldown_against_recipient = { years = 5 } - - is_shown = { - # Actor is Involved in Struggle - scope:actor = { - NOT = { government_has_flag = government_is_herder } - OR = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_contract_assistance_interaction - } - culture = { has_cultural_parameter = unlocks_contract_assistance } - is_landless_adventurer = yes - } - } - # Recipient is Involved in Struggle, at war, and not at war with Actor - scope:recipient = { - trigger_if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_contract_assistance_interaction - } - } - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_contract_assistance_interaction - } - } - is_at_war = yes - NOR = { - this = scope:actor - is_at_war_with = scope:actor - } - } - } - - has_valid_target = { - exists = scope:target - } - - has_valid_target_showing_failures_only = { - scope:target = { is_war_leader = scope:recipient } - } - - is_valid_showing_failures_only = { - scope:recipient = { - # Cannot demand gold from allies - NOT = { is_allied_to = scope:actor } - # Cannot rejoin a war you decided to leave - trigger_if = { - limit = { - any_character_war = { - has_variable_list = left_voluntarily - } - } - custom_tooltip = { - text = laamp_war_change_sides_interaction.left_voluntarily - is_target_in_variable_list = { - name = left_voluntarily - target = scope:actor - } - } - } - } - - # Recipient is not in (any) war against your liege(s) - trigger_if = { - limit = { exists = scope:actor.liege } - custom_description = { - text = join_war_interaction_recipient_warring_with_my_liege - subject = scope:recipient - scope:actor = { - NOT = { any_liege_or_above = { is_at_war_with = scope:recipient } } - } - } - } - - # Cannot join wars with raised armies - scope:actor = { - has_raised_armies = no - - trigger_if = { - limit = { - is_landless_adventurer = yes - } - custom_tooltip = { - text = reinforce_soldiers_any_regiment_tt - maa_regiments_count >= 1 - } - } - } - - # Can only contract one war at a time - custom_tooltip = { - text = contract_assistance_war_already_contracted_tt - scope:actor = { NOT = { has_variable = owed_contract_assistance_war } } - } - - # Adventurers can't join wars in places they're exiled from. - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:recipient.capital_province - LAAMP = scope:actor - } - } - } - - # Sensible restrictions to keep CulTrads from making this OP. - scope:recipient = { - custom_tooltip = { - text = contract_assistance_tier_too_high_tt - OR = { - highest_held_title_tier = tier_county - highest_held_title_tier >= scope:actor.highest_held_title_tier - sub_realm_size >= scope:actor.sub_realm_size - } - } - } - scope:actor = { - NOT = { highest_held_title_tier >= tier_empire } - } - } - - can_be_picked = { - # Recipient is war leader in chosen war - scope:target = { - is_war_leader = scope:recipient - # Cannot contract against allies - trigger_if = { - limit = { - any_war_attacker = { this = scope:recipient } - } - NOT = { - any_war_defender = { is_allied_to = scope:actor } - } - } - trigger_else = { - NOT = { - any_war_attacker = { is_allied_to = scope:actor } - } - } - # not already in target war - custom_description = { - text = join_war_interaction_already_in_target_war - NOR = { - any_war_attacker = { this = scope:actor } - any_war_defender = { this = scope:actor } - } - } - } - # Liege checks - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:recipient JOINER = scope:actor } - } - - is_highlighted = { - scope:actor = { - has_realm_law = camp_purpose_mercenaries - } - } - on_accept = { - # Add Actor to Recipient's war - scope:target = { - hidden_effect = { set_called_to = scope:actor } - if = { - limit = { is_attacker = scope:recipient } - add_attacker = scope:actor - } - else = { add_defender = scope:actor } - } - # Actor effects - scope:actor = { - save_scope_as = contract_assistance_helper - set_variable = { - name = owed_contract_assistance_war - value = scope:target - } - set_variable = { - name = owed_contract_assistance_contribution - value = offer_assistance_interaction_war_contribution_value - } - set_variable = { - name = owed_contract_assistance_gold - value = scope:recipient.offer_assistance_interaction_gold_value - } - stress_impact = { - craven = medium_stress_impact_gain - shy = minor_stress_impact_gain - } - - # Struggle Catalyst - if = { - limit = { - # Verify if vassal used to be independent - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_join_war_as_assisant - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_join_war_as_assisant - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_join_war_as_assisant - character = scope:actor - } - } - } - } - # Recipient effects - scope:recipient = { - stress_impact = { - greedy = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } - custom_tooltip = contract_assistance_interaction_condition_tt - show_as_tooltip = { - pay_short_term_gold = { - target = scope:actor - gold = offer_assistance_interaction_gold_value - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_contract_assistance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Refusal notification - scope:actor = { trigger_event = char_interaction.0236 } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_gain - DESC = clan_unity_contract_assistance_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_accept = { - base = 0 # Reluctant to spend money without good reason - # Recipient already winning war - modifier = { - add = -50 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_winning_trigger = yes } - } - trigger_else = { - any_character_war = { - count = all # So predicted negative modifiers are treated seperately - fp2_struggle_contract_assistance_war_winning_trigger = yes - } - } - desc = OA_AI_WINNING_WAR_REASON - } - # Recipient losing war - modifier = { - add = 50 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_losing_trigger = yes } - } - trigger_else = { - any_character_war = { fp2_struggle_contract_assistance_war_losing_trigger = yes } - } - desc = OA_AI_LOSING_WAR_REASON - } - # Recipient already significantly outnumbers enemy - modifier = { - add = -50 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_outnumbering_trigger = yes } - } - trigger_else = { - any_character_war = { - count = all # So predicted negative modifiers are treated seperately - fp2_struggle_contract_assistance_war_outnumbering_trigger = yes - } - } - desc = OA_AI_OUTNUMBER_ENEMY_REASON - } - # Recipient is outnumbered - modifier = { - add = 50 - trigger_if = { - limit = { exists = scope:target } - scope:target = { - fp2_struggle_contract_assistance_war_outnumbered_minor_trigger = yes - NOT = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - } - trigger_else = { - any_character_war = { - fp2_struggle_contract_assistance_war_outnumbered_minor_trigger = yes - NOT = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - } - desc = OA_AI_OUTNUMBERED_MINOR_REASON - } - # Recipient is very outnumbered - modifier = { - add = 125 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - trigger_else = { - any_character_war = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - desc = OA_AI_OUTNUMBERED_REASON - } - # Recipient has low cash - modifier = { - add = { - value = -50 - if = { - limit = { - gold < 0 - } - add = -100 - } - if = { - limit = { - debt_level >= 2 - } - add = -200 - } - if = { # Very generous or vengeful characters *will* make poor decisions - limit = { - OR = { - ai_greed <= -50 - ai_vengefulness >= 50 - } - } - multiply = 0.5 - } - } - gold < offer_assistance_interaction_gold_value - desc = OA_AI_CANNOT_AFFORD_REASON - } - # Recipient has a lot of cash - modifier = { - add = { - value = 25 - if = { - limit = { - gold >= { - value = offer_assistance_interaction_gold_value - multiply = 2 - } - } - add = 50 - } - if = { - limit = { - gold >= { - value = offer_assistance_interaction_gold_value - multiply = 3 - } - } - add = 50 - } - } - gold >= offer_assistance_interaction_gold_value - desc = OA_AI_EXTRA_GOLD_REASON - } - # Actor's troops would be little help - modifier = { - add = -50 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_insufficient_trigger = yes } - } - trigger_else = { - any_character_war = { - count = all # So predicted negative modifiers are treated seperately - fp2_struggle_contract_assistance_war_insufficient_trigger = yes - } - } - desc = OA_AI_FEW_TROOPS_REASON - } - # Recipient is fighting a defensive war - modifier = { - add = 25 - trigger_if = { - limit = { exists = scope:target } - scope:target.casus_belli.primary_defender = scope:recipient - } - trigger_else = { - scope:recipient = { - any_character_war = { primary_defender = scope:recipient } - } - } - desc = OA_AI_DEFENSIVE_WAR_REASON - } - # Recipient is not interested in help for certain wars - modifier = { - add = -300 - exists = scope:target - scope:target = { - OR = { - using_cb = peasant_war - using_cb = fp2_border_raid - } - } - desc = OA_AI_UNINTERESTED_WAR_REASON - } - modifier = { - add = { - value = scope:actor.martial - multiply = 2 - } - scope:actor = { martial >= 12 } - desc = OA_AI_MARTIAL_REASON - } - modifier = { - add = -50 - scope:actor = { has_character_flag = fp2_contract_assistance_failure } - desc = OA_AI_FAILURE_REASON - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - desc = AI_OPINION_REASON - } - - modifier = { - add = { - value = ai_greed - multiply = -0.2 - } - ai_greed <= 0.5 - desc = AI_VALUE_MODIFIER_GREED - } - - modifier = { - add = { - value = ai_boldness - multiply = -0.2 - } - NOT = { ai_boldness = 0 } - desc = AI_VALUE_MODIFIER_BOLDNESS - } - - modifier = { - add = 50 - desc = camp_purpose_mercenaries_reason - scope:actor = { - has_realm_law = camp_purpose_mercenaries - } - } - # Allegiances - # fp2_contracting_ally_modifier = { - # WARMONGER = scope:recipient - # WARJOINER = scope:actor - # } - } - - ai_potential = { - is_imprisoned = no - is_at_war = no - ai_boldness >= -25 - current_military_strength >= 500 - } - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = neighboring_rulers - } - - ai_set_target = { - scope:recipient = { - ordered_character_war = { #We offer our services for the war where the character is losing the most - limit = { - is_war_leader = prev - NOR = { - any_war_attacker = { this = scope:actor } - any_war_defender = { this = scope:actor } - } - save_temporary_scope_as = target - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:recipient JOINER = scope:actor } - } - order_by = { - value = 0 - add = { - if = { - limit = { any_war_attacker = { this = scope:recipient } } - subtract = attacker_war_score - } - else = { - subtract = defender_war_score - } - } - } - save_scope_as = target - } - } - } - - ai_targets = { - ai_recipients = peer_vassals - } - ai_frequency = 24 # We need a quite high frequency as wars do not last forever - - ai_will_do = { - base = 0 - - modifier = { # Increase chance if recipient is losing a war - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_losing_trigger = yes } - } - add = 25 - } - - modifier = { # Increase chance with amount of gold of recipient over interaction cost - factor = offer_assistance_interaction_gold_modifier_value - } - - modifier = { # Increase chance if likes recipient more than enemy - scope:actor = { - save_temporary_opinion_value_as = { - name = contract_assistance_actor_opinion - target = scope:recipient - } - } - trigger_if = { - limit = { exists = scope:target } - scope:target = { - any_war_participant = { - is_leader_in_war = scope:target - NOT = { this = scope:recipient } - reverse_opinion = { - target = scope:actor - value < scope:contract_assistance_actor_opinion - } - } - } - } - add = 25 - } - - modifier = { # Increase chance for family - scope:recipient = { - OR = { - dynasty = scope:actor.dynasty - is_consort_of = scope:actor - } - } - add = 25 - } - - modifier = { # Decrease chance if army is small - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_insufficient_trigger = yes } - } - add = -50 - } - - modifier = { # Increase chance for rivalry - trigger_if = { - limit = { exists = scope:target } - scope:target = { - any_war_participant = { - is_leader_in_war = scope:target - NOT = { this = scope:recipient } - has_relation_rival = scope:actor - } - } - } - add = 25 - } - - # Higher chance to target a human player - modifier = { - scope:recipient = { is_ai = no } - factor = 2 - } - } -} - -################################################## -# Request Contract Assistance -# by Maxence Voleau -################################################## - -request_contract_assistance_interaction = { - category = interaction_category_diplomacy - interface_priority = 15 - common_interaction = yes - interface = call_ally - special_interaction = call_ally_interaction - popup_on_receive = yes - pause_on_receive = yes - - ai_maybe = yes - desc = request_contract_assistance_interaction_desc - icon = icon_gold - - greeting = positive - notification_text = request_contract_assistance_interaction_notification - - cooldown_against_recipient = { years = 5 } - - is_shown = { - # Actor is Involved in Struggle - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_contract_assistance_interaction - } - is_at_war = yes - NOR = { - this = scope:recipient - is_at_war_with = scope:recipient - } - } - # Recipient is Involved in Struggle, at war, and not at war with Actor - scope:recipient = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_contract_assistance_interaction - } - } - } - - has_valid_target = { - exists = scope:target - } - - has_valid_target_showing_failures_only = { - scope:target = { - is_war_leader = scope:actor - - # Cannot contract against allies - trigger_if = { - limit = { - any_war_attacker = { this = scope:recipient } - } - NOT = { - any_war_defender = { is_allied_to = scope:actor } - } - } - trigger_else = { - NOT = { - any_war_attacker = { is_allied_to = scope:actor } - } - } - } - - # Adventurers can't join wars in places they're exiled from. - trigger_if = { - limit = { - scope:actor = { is_independent_ruler = no } - } - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:actor.capital_province - LAAMP = scope:recipient - } - } - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - # Cannot demand gold from allies - NOT = { is_allied_to = scope:actor } - } - # Actor is not in (any) war against Recipient's liege(s) - trigger_if = { - limit = { exists = scope:recipient.liege } - custom_description = { - text = join_war_interaction_recipient_warring_with_my_liege - subject = scope:actor - scope:recipient = { - NOT = { - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - - # Cannot join wars with raised armies - scope:recipient = { has_raised_armies = no } - - # Can only contract one war at a time - custom_tooltip = { - text = contract_assistance_war_already_contracted_tt - scope:recipient = { - NOT = { has_variable = owed_contract_assistance_war } - } - } - } - - can_be_picked = { - # Recipient is war leader in chosen war - scope:target = { - is_war_leader = scope:actor - # not already in target war - custom_description = { - text = join_war_interaction_already_in_target_war - NOR = { - any_war_attacker = { this = scope:recipient } - any_war_defender = { this = scope:recipient } - } - } - } - # Liege checks - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:actor JOINER = scope:recipient } - } - - on_accept = { - # Add Actor to Recipient's war - scope:target = { - hidden_effect = { set_called_to = scope:recipient } - if = { - limit = { is_attacker = scope:actor } - add_attacker = scope:recipient - } - else = { add_defender = scope:recipient } - } - # Actor effects - scope:recipient = { - save_scope_as = contract_assistance_helper - set_variable = { - name = owed_contract_assistance_war - value = scope:target - } - set_variable = { - name = owed_contract_assistance_contribution - value = offer_assistance_interaction_war_contribution_value - } - set_variable = { - name = owed_contract_assistance_gold - value = offer_assistance_interaction_gold_value - } - stress_impact = { - craven = medium_stress_impact_gain - shy = minor_stress_impact_gain - } - - - # Struggle Catalyst - if = { - limit = { - # Verify if vassal used to be independent - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_join_war_as_assisant - CHAR = scope:recipient - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_join_war_as_assisant - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_join_war_as_assisant - character = scope:recipient - } - } - } - } - # Recipient effects - scope:actor = { - stress_impact = { - greedy = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } - custom_tooltip = request_contract_assistance_interaction_condition_tt - show_as_tooltip = { - pay_short_term_gold = { - target = scope:recipient - gold = offer_assistance_interaction_gold_value - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_request_assistance.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Refusal notification - scope:actor = { trigger_event = char_interaction.0236 } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_gain - DESC = clan_unity_request_assistance_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_accept = { - base = 0 # Reluctant to spend money without good reason - - # Recipient has low cash - modifier = { - add = { - value = 25 - if = { - limit = { - gold < 0 - } - add = { - value = 25 - multiply = debt_level - } - } - if = { # Very generous or vengeful characters *will* make poor decisions - limit = { - OR = { - ai_greed <= -50 - ai_vengefulness >= 50 - } - } - multiply = 0.5 - } - } - desc = AI_VALUE_MODIFIER_GREED - } - # Recipient has a lot of cash - modifier = { - add = { - value = -25 - if = { - limit = { - gold >= { - value = offer_assistance_interaction_gold_value - multiply = 2 - } - } - add = -50 - } - if = { - limit = { - gold >= { - value = offer_assistance_interaction_gold_value - multiply = 3 - } - } - add = -50 - } - } - gold >= offer_assistance_interaction_gold_value - desc = OA_AI_EXTRA_GOLD_REASON - } - # Recipient is not interested in help for certain wars - modifier = { - add = -500 - exists = scope:target - scope:target = { - OR = { - using_cb = peasant_war - using_cb = fp2_border_raid - } - } - desc = OA_AI_UNINTERESTED_WAR_REASON - } - modifier = { - add = { - value = scope:actor.martial - multiply = 2 - } - scope:actor = { martial >= 12 } - desc = OA_AI_MARTIAL_REASON - } - modifier = { - add = -50 - scope:recipient = { has_character_flag = fp2_contract_assistance_failure } - desc = OA_AI_FAILURE_REASON - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - desc = AI_OPINION_REASON - } - - modifier = { - add = { - value = ai_greed - multiply = 0.2 - } - ai_greed <= 0.5 - desc = AI_VALUE_MODIFIER_GREED - } - - modifier = { - add = { - value = ai_boldness - multiply = 0.2 - } - NOT = { ai_boldness = 0 } - desc = AI_VALUE_MODIFIER_BOLDNESS - } - - # Allegiances - fp2_contracting_ally_modifier = { - WARMONGER = scope:actor - WARJOINER = scope:recipient - } - } - - ai_potential = { - # the AI cannot use it for now so let's block it - is_imprisoned = no - is_at_war = no - gold >= ai_war_chest_desired_gold_value - } - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = neighboring_rulers - } - - ai_set_target = { - scope:actor = { - ordered_character_war = { #We offer our services for the war where the character is losing the most - limit = { - is_war_leader = prev - NOR = { - any_war_attacker = { this = scope:recipient } - any_war_defender = { this = scope:recipient } - } - save_temporary_scope_as = target - can_join_war_liege_vassal_check_trigger = { WARRIOR = scope:actor JOINER = scope:recipient } - } - order_by = { - value = 0 - add = { - if = { - limit = { any_war_attacker = { this = scope:actor } } - subtract = attacker_war_score - } - else = { - subtract = defender_war_score - } - } - } - save_scope_as = target - } - } - } - - ai_targets = { - ai_recipients = peer_vassals - } - ai_frequency = 36 - - ai_will_do = { - base = 0 - - modifier = { # AI is losing the war - trigger_if = { - limit = { exists = scope:target } - scope:target = { - trigger_if = { - limit = { - scope:actor = { is_attacker_in_war = prev } - } - defender_war_score >= offer_assistance_interaction_already_losing_value - } - trigger_else = { attacker_war_score >= offer_assistance_interaction_already_losing_value } - } - } - add = 15 - } - - modifier = { # Increase chance for asking family - scope:recipient = { - OR = { - dynasty = scope:actor.dynasty - is_consort_of = scope:actor - } - } - factor = 2 - } - - modifier = { # Decrease chance if army is small - trigger_if = { - limit = { exists = scope:target } - scope:target = { - trigger_if = { - limit = { - scope:recipient = { is_attacker_in_war = prev } - } - scope:actor.max_military_strength < war_defender_total_strength_tenth_value - } - trigger_else = { scope:actor.max_military_strength < war_attacker_total_strength_tenth_value } - } - } - add = -50 - } - - modifier = { # Increase chance for rivalry - trigger_if = { - limit = { exists = scope:target } - scope:target = { - any_war_participant = { - is_leader_in_war = scope:target - NOT = { this = scope:actor } - has_relation_rival = scope:recipient - } - } - } - add = 25 - } - - modifier = { # AI is extremely rich - short_term_gold >= ai_war_chest_desired_gold_value - add = 50 - } - } -} - -################################################## -# Enforce Truce -# by Joe Parkin -################################################## - -enforce_truce_interaction = { - category = interaction_category_diplomacy - interface_priority = 30 - common_interaction = yes - interface = interfere_in_war - special_interaction = interfere_in_war_interaction - popup_on_receive = yes - desc = enforce_truce_interaction_desc - icon = icon_retreat - - greeting = positive - notification_text = enforce_truce_interaction_notification - - cooldown = { years = 5 } - - is_shown = { - OR = { - # During the Struggle - AND = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_enforce_truces_interaction - - } - primary_title.tier >= tier_duchy - } - scope:recipient = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_enforce_truces_interaction - - } - tier_difference = { - target = scope:actor - value <= 0 - } - } - } - # Comrpomise ending - AND = { - scope:actor = { - primary_title.tier >= tier_duchy - exists = house - house = { - has_house_modifier = fp2_struggle_compromise_house_reward_modifier - } - } - scope:recipient = { # Primary title in Iberia - exists = house - house = { - has_house_modifier = fp2_struggle_compromise_house_reward_modifier - } - tier_difference = { - target = scope:actor - value <= 0 - } - } - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_at_war = yes - trigger_if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_enforce_truces_interaction - is_secondary_character_involvement_involved_trigger = { CHAR = scope:recipient } - } - } - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_enforce_truces_interaction - } - } - trigger_else = { - exists = house - house = { - has_house_modifier = fp2_struggle_compromise_house_reward_modifier - } - } - - custom_tooltip = { - text = fp2_enforce_truce_liege_or_independent_tt - OR = { - is_independent_ruler = yes - top_liege = scope:actor.top_liege - any_character_war = { - primary_attacker = { - NOR = { - this = scope:recipient - this = scope:actor - } - OR = { - is_independent_ruler = yes - top_liege = scope:actor.top_liege - } - } - } - any_character_war = { - primary_defender = { - NOR = { - this = scope:recipient - this = scope:actor - } - OR = { - is_independent_ruler = yes - top_liege = scope:actor.top_liege - } - } - } - } - } - } - } - - can_be_picked = { - # Recipient is war leader in chosen war - exists = scope:target - scope:target = { - is_war_leader = scope:recipient - is_civil_war = no - NOT = { using_cb = fp2_border_raid } - trigger_if = { - limit = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - } - trigger_if = { - limit = { primary_attacker = scope:recipient } - primary_defender = { fp2_struggle_enforce_truce_war_leader_trigger = yes } - } - trigger_else = { - primary_attacker = { fp2_struggle_enforce_truce_war_leader_trigger = yes } - } - } - trigger_else = { - scope:recipient = { - capital_county.title_province = { geographical_region = world_europe_west_iberia } - } - } - - } - } - - on_accept = { - # End war and apply opinion/stress - if = { - limit = { exists = scope:target } - scope:target = { - primary_attacker = { save_scope_as = truce_1 } - primary_defender = { save_scope_as = truce_2 } - } - show_as_tooltip = { - scope:truce_1 = { add_prestige = minor_prestige_loss } - scope:truce_2 = { add_prestige = minor_prestige_loss } - } - scope:actor = { - fp2_enforce_truce_opinion_effect = yes - # Best format for interaction interface - show_as_tooltip = { - scope:truce_1 = { - add_truce_one_way = { - character = scope:truce_2 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - } - scope:truce_2 = { - add_truce_one_way = { - character = scope:truce_1 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - } - } - custom_tooltip = fp2_enforce_truce_peacemaker_tt - hidden_effect = { - add_truce_one_way = { - character = scope:target.primary_attacker - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - add_truce_one_way = { - character = scope:target.primary_defender - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - # Best format for toast - send_interface_message = { - type = event_truce_neutral - title = enforce_truce_interaction_actor_toast - left_icon = scope:truce_1 - right_icon = scope:truce_2 - show_as_tooltip = { fp2_enforce_truce_opinion_effect = yes } - custom_tooltip = fp2_enforce_truce_other_tt - custom_tooltip = fp2_enforce_truce_peacemaker_tt - } - } - } - hidden_effect = { - scope:truce_1 = { - send_interface_message = { - type = event_truce_neutral - title = enforce_truce_interaction_toast - left_icon = scope:actor - right_icon = scope:truce_2 - add_prestige = minor_prestige_loss - show_as_tooltip = { - scope:target = { end_war = white_peace } - add_truce_both_ways = { - character = scope:truce_2 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - scope:actor = { - add_truce_one_way = { - character = scope:truce_1 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - } - } - stress_impact = { - wrathful = minor_stress_impact_gain - brave = minor_stress_impact_gain - ambitious = minor_stress_impact_gain - } - } - } - scope:truce_2 = { - send_interface_message = { - type = event_truce_neutral - title = enforce_truce_interaction_toast - left_icon = scope:actor - right_icon = scope:truce_1 - add_prestige = minor_prestige_loss - show_as_tooltip = { - scope:target = { end_war = white_peace } - add_truce_both_ways = { - character = scope:truce_1 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - scope:actor = { - add_truce_one_way = { - character = scope:truce_2 - years = fp2_enforce_truce_duration_value - name = TRUCE_ENFORCE_TRUCE - } - } - } - stress_impact = { - wrathful = minor_stress_impact_gain - brave = minor_stress_impact_gain - ambitious = minor_stress_impact_gain - } - } - } - } - scope:target = { end_war = white_peace } - if = { - limit = { - scope:actor = { - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_truce_was_enforced - CHAR = scope:target - } - } - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_truce_was_enforced - character = scope:actor - } - } - - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_enforce_truce.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Refusal notification - scope:actor = { trigger_event = char_interaction.0236 } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = medium_unity_loss - DESC = clan_unity_enforce_truce_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_accept = { - base = -50 # Reluctant to end war without reason - # Recipient only just begun - modifier = { - add = -25 - trigger_if = { - limit = { exists = scope:target } - scope:target.war_days < 180 - } - trigger_else = { always = no } - desc = ET_AI_WAR_NEW_REASON - } - # Recipient drags on - modifier = { - add = 25 - trigger_if = { - limit = { exists = scope:target } - scope:target.war_days > 1095 - } - trigger_else = { always = no } - desc = ET_AI_WAR_OLD_REASON - } - # Recipient is defender - modifier = { - add = 25 - trigger_if = { - limit = { exists = scope:target } - scope:recipient = scope:target.primary_defender - } - trigger_else = { always = no } - desc = OA_AI_DEFENSIVE_WAR_REASON - } - # Recipient drags on - modifier = { - add = 25 - scope:recipient = { is_allied_to = scope:actor } - desc = ET_AI_ALLY_REASON - } - # Recipient is vassal - modifier = { - add = 25 - scope:recipient = { target_is_liege_or_above = scope:actor } - desc = ET_AI_LIEGE_REASON - } - # Recipient is losing - modifier = { - add = 25 - trigger_if = { - limit = { exists = scope:target } - trigger_if = { - limit = { scope:recipient = scope:target.primary_defender } - scope:target = { attacker_war_score >= fp2_enforce_truce_war_score_value } - } - trigger_else = { - scope:target = { defender_war_score >= fp2_enforce_truce_war_score_value } - } - } - trigger_else = { always = no } - desc = OA_AI_LOSING_WAR_REASON - } - # Recipient is very outnumbered - modifier = { - add = 25 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - trigger_else = { - any_character_war = { fp2_struggle_contract_assistance_war_outnumbered_trigger = yes } - } - desc = OA_AI_OUTNUMBERED_REASON - } - # Recipient is very outnumbered - modifier = { - add = -25 - trigger_if = { - limit = { exists = scope:target } - scope:target = { fp2_struggle_contract_assistance_war_outnumbering_trigger = yes } - } - trigger_else = { - any_character_war = { fp2_struggle_contract_assistance_war_outnumbering_trigger = yes } - } - desc = OA_AI_OUTNUMBER_ENEMY_REASON - } - # Actor cannot enforce truce - modifier = { - add = -50 - trigger_if = { - limit = { exists = scope:target } - OR = { - scope:target.war_attacker_total_strength_halved_value > scope:actor.max_military_strength - scope:target.war_defender_total_strength_halved_value > scope:actor.max_military_strength - } - } - trigger_else = { always = no } - desc = ET_AI_SMALL_ARMY_REASON - } - # Recipient holy war - modifier = { - add = -25 - trigger_if = { - limit = { exists = scope:target } - scope:recipient = { - NOT = { has_trait = cynical } - } - scope:target = { - OR = { - using_cb = minor_religious_war - using_cb = religious_war - using_cb = major_religious_war - } - } - } - trigger_else = { always = no } - desc = ET_AI_HOLY_WAR_REASON - } - # Actor is religious head - modifier = { - add = 25 - scope:recipient.faith.religious_head = scope:actor - desc = ET_AI_HOF_REASON - } - # Dynasty head - modifier = { - add = 50 - scope:recipient.dynasty.dynast = scope:actor - desc = ET_AI_DYNAST_REASON - } - # House head - modifier = { - add = 25 - NOT = { scope:recipient.dynasty.dynast = scope:actor } - scope:recipient.house.house_head = scope:actor - desc = ET_AI_HOUSE_HEAD_REASON - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - # Honor factor - ai_value_modifier = { - ai_boldness = -0.5 - max = 0 - } - } - - ai_potential = { - is_imprisoned = no - } - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 15 - } - ai_frequency = 36 -} - -################################################## -# Bargain Fealty -# by Joe Parkin -################################################## - -bargain_fealty_interaction = { - category = interaction_category_diplomacy - desc = bargain_fealty_interaction_desc - interface_priority = 60 - interface = call_ally - special_interaction = call_ally_interaction - popup_on_receive = yes - pause_on_receive = yes - - icon = icon_vassal - greeting = positive - notification_text = bargain_fealty_interaction_notification - - cooldown_against_recipient = { years = 5 } - - is_shown = { - # Actor is Involved in Struggle - scope:actor = { - any_character_struggle = { - involvement = involved - struggle_can_access_unlocks_bargain_fealty_interaction_trigger = yes - } - is_independent_ruler = yes - is_at_war = yes - any_character_war = { - is_war_leader = prev - primary_defender = prev - } - trigger_if = { - limit = { - scope:recipient = { - is_landless_ruler = no - } - } - tier_difference = { - target = scope:recipient - value <= -1 - } - } - trigger_else = { - tier_difference = { - target = scope:recipient - value <= -2 - } - } - } - # Recipient is not at war with Actor - scope:recipient = { - any_neighboring_and_across_water_top_liege_realm_owner = { this = scope:actor } - primary_title = { is_mercenary_company = no } - NOR = { - this = scope:actor - is_at_war_with = scope:actor - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = unlocks_bargain_fealty_interaction - } - } - } - - can_be_picked = { - # Actor is war leader in chosen war - exists = scope:target - scope:target = { - is_war_leader = scope:actor - primary_defender = scope:actor - custom_tooltip = { - text = bargain_fealty_border_raid_tt - NOT = { using_cb = fp2_border_raid } - } - custom_tooltip = { - text = bargain_fealty_struggle_clash_tt - NOT = { using_cb = county_struggle_cb } - } - } - # Actor is not involved in a war involving Recipient - joiner_not_already_in_another_war_with_any_target_war_participants_trigger = { - WARRIOR = scope:actor - JOINER = scope:recipient - } - } - - on_accept = { - if = { - limit = { exists = scope:target } - # Add Recipient to Actor's war - scope:target = { - hidden_effect = { set_called_to = scope:recipient } - if = { - limit = { is_attacker = scope:actor } - add_attacker = scope:recipient - } - else = { add_defender = scope:recipient } - } - create_title_and_vassal_change = { - type = swear_fealty - save_scope_as = change - } - scope:actor = { - change_liege = { - liege = scope:recipient - change = scope:change - } - resolve_title_and_vassal_change = scope:change - } - # Actor effects - scope:actor = { - stress_impact = { - arrogant = medium_stress_impact_gain - craven = medium_stress_impact_gain - } - } - # Recipient effects - scope:recipient = { - stress_impact = { - greedy = medium_stress_impact_gain - craven = medium_stress_impact_gain - } - } - } - else = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = war_ended_before_response - left_icon = scope:recipient - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_bargained_fealty.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Refusal notification - scope:actor = { trigger_event = char_interaction.0236 } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_loss - DESC = clan_unity_bargain_fealty_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - ai_accept = { - base = 25 - # Recipient would be very outnumbered - modifier = { - add = -75 - exists = scope:target - scope:target = { fp2_bargain_fealty_war_outnumbered_trigger = yes } - desc = BF_AI_OUTNUMBERED_REASON - } - # Actor is same culture as recipient - modifier = { - add = -10 - NOT = { scope:actor.culture = scope:recipient.culture } - desc = BF_AI_DIFFERENT_CULTURE_REASON - } - # Actor is same faith as recipient - modifier = { - add = -15 - NOT = { scope:actor.faith = scope:recipient.faith } - desc = BF_AI_DIFFERENT_FAITH_REASON - } - # Actor is de jure vassal of recipient - modifier = { - add = 25 - scope:actor = { - any_held_title = { target_is_de_jure_liege_or_above = scope:recipient.primary_title } - } - desc = BF_AI_DE_JURE_REASON - } - # Actor is de jure vassal of recipient - modifier = { - add = 25 - scope:actor.dynasty = scope:recipient.dynasty - desc = BF_AI_SAME_DYNASTY_REASON - } - # Too big to be vassal - modifier = { - add = -50 - scope:actor.realm_size >= fp2_bargain_fealty_half_realm_size_value - desc = BF_AI_TOO_LARGE_REASON - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - - ai_value_modifier = { - ai_boldness = 1 - max = 0 - } - - ai_value_modifier = { - ai_greed = 1 - max = 0 - } - - modifier = { - add = { - value = ai_greed - multiply = 2 - } - ai_greed >= 1 - desc = AI_VALUE_MODIFIER_GREED - } - - modifier = { - add = { - value = ai_boldness - multiply = 2 - } - NOT = { ai_boldness = 0 } - desc = AI_VALUE_MODIFIER_BOLDNESS - } - } - ai_will_do = { - base = 5 - modifier = { - add = 20 - any_character_war = { - is_war_leader = prev - primary_defender = prev - NOR = { - using_cb = fp2_border_raid - using_cb = county_struggle_cb - } - casus_belli = { - any_target_title = { holder = scope:actor } - } - } - } - modifier = { - factor = 2 - any_character_war = { - is_war_leader = prev - primary_defender = prev - NOR = { - using_cb = fp2_border_raid - using_cb = county_struggle_cb - } - war_defender_total_strength_value < war_attacker_total_strength_halved_value - } - } - } - ai_potential = { is_imprisoned = no } - ai_target_quick_trigger = { adult = yes } - ai_targets = { ai_recipients = neighboring_rulers } - ai_frequency = 36 -} - -################################################## -# Invite Foreign Ruler to Feast / Hunt -# by Maxence Voleau -################################################## - -invite_foreign_ruler_to = { - interface_priority = 30 - category = interaction_category_diplomacy - common_interaction = yes - desc = invite_foreign_ruler_to_desc - icon = activity_feast - greeting = positive - notification_text = INVITE_FOREIGN_RULER_TO_NOTIFICATION - popup_on_receive = yes - ai_maybe = yes - - cooldown = { years = 1 } - cooldown_against_recipient = { years = 5 } - - is_shown = { - # Interaction deprecated by new activity planning system - always = no - - NOT = { scope:actor = scope:recipient } - # Scope:actor needs to either be involved in certain struggle types or else have a specific perk. - scope:actor = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - # Scope:recipient must be landed, and neither over or under scope:actor. - scope:recipient = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - is_playable_character = yes - NOR = { - any_liege_or_above = { this = scope:actor } - any_vassal_or_below = { this = scope:actor } - } - } - } - - is_valid_showing_failures_only = { - # Scope:actor must be an available adult. - scope:actor = { is_available_adult = yes } - # Scope:recipient must be at least available. - scope:recipient = { is_available_adult = yes } - # Make sure that scope:actor is going into this with a clean, no-recent/active/forbidden hostilities mindset. - scope:actor = { - NOT = { - is_at_war_with = scope:recipient - # Involved characters can't be on opposite sides in an active war. - } - } - - # Verify that you can start one of the decision - # interaction deprecated by new activity planning system - # custom_description = { - # text = no_activity_available - # scope:actor = { - # OR = { - # can_execute_decision = start_hunt_decision - # can_execute_decision = host_feast_decision - # } - # } - # } - } - - on_accept = { - # Notifications with most effects. - if = { - limit = { scope:invite_to_hunt = yes } - scope:actor = { - set_variable = { - name = special_guest - value = scope:recipient - } - show_as_tooltip = { - remove_short_term_gold = hunt_activity_base_cost - } - send_interface_toast = { - type = event_toast_effect_good - title = invited_to_hunt.accept.actor.tt - left_icon = scope:recipient - progress_towards_friend_effect = { - REASON = friend_invited_to_hunt - CHARACTER = scope:recipient - OPINION = 0 - } - custom_tooltip = invite_foreign_ruler_to.hunt.tooltip - # interaction deprecated by new activity planning system - #execute_decision = start_hunt_decision - } - } - scope:recipient = { - send_interface_toast = { - title = invited_to_hunt.accept.recipient.tt - left_icon = scope:actor - } - } - } - else_if = { - limit = { scope:invite_to_feast = yes } - scope:actor = { - set_variable = { - name = special_guest - value = scope:recipient - } - show_as_tooltip = { - remove_short_term_gold = feast_activity_cost - } - send_interface_toast = { - type = event_toast_effect_good - title = invited_to_feast.accept.actor.tt - left_icon = scope:recipient - progress_towards_friend_effect = { - REASON = friend_invited_to_feast - CHARACTER = scope:recipient - OPINION = 0 - } - custom_tooltip = invite_foreign_ruler_to.feast.tooltip - # interaction deprecated by new activity planning system - #execute_decision = host_feast_decision - } - } - scope:recipient = { - send_interface_toast = { - title = invited_to_feast.accept.recipient.tt - left_icon = scope:actor - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_feast_invite.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - on_decline = { - # Scope:actor gains some stress over the whole ordeal. - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = invite_foreign_ruler_to.decline.actor.tt - left_icon = scope:recipient - add_prestige = medium_prestige_loss - } - } - # Scope:actor loses opinion of scope:recipient. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = invite_foreign_ruler_to.decline.recipient.tt - left_icon = scope:actor - reverse_add_opinion = { - target = scope:actor - modifier = refusal_opinion - opinion = -50 - } - } - } - - # If we're a clan this interaction affects unity - add_clan_unity_interaction_effect = { - CHARACTER = scope:recipient - TARGET = scope:actor - VALUE = minor_unity_loss - DESC = clan_unity_feast_invite_decline.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Send Options - ## Invite to Hunt - send_option = { - is_valid = { - scope:actor = { - # TODO_CD_EP2: commented to prevent errors - # interaction deprecated by new activity planning system? - #can_execute_decision = start_hunt_decision - } - # as an AI, don't invite human players to Hunt as we are lacking interesting content - trigger_if = { - limit = { scope:actor = { is_ai = yes } } - scope:recipient = { is_ai = yes } - } - } - flag = invite_to_hunt - starts_enabled = { always = yes } - localization = "INVITE_TO_HUNT" - } - ## Invite to Feast - send_option = { - is_valid = { - scope:actor = { - # interaction deprecated by new activity planning system - #can_execute_decision = host_feast_decision - } - } - flag = invite_to_feast - starts_enabled = { always = yes } - localization = "INVITE_TO_FEAST" - } - # AI - ## Standard Acceptance stuff - ai_accept = { - # Try to make it 0 for most interactions. - base = 0 - - # more likely if lower rank than actor - modifier = { - add = 20 - scope:actor.primary_title.tier > primary_title.tier - desc = RANK_DIFFERENCE_REASON - } - - # less likely if that's the opposite - modifier = { - add = -20 - scope:actor.primary_title.tier < primary_title.tier - desc = RANK_DIFFERENCE_REASON - } - - # AI take opinion into account - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - - # sociability plays a lot as well - ai_value_modifier = { - ai_sociability = 1 - } - - # is rival or nemesis - modifier = { - add = -50 - has_relation_rival = scope:actor - desc = WE_ARE_RIVALS - } - - modifier = { - add = -100 - has_relation_nemesis = scope:actor - desc = WE_ARE_NEMESES - } - - - # is friend - modifier = { - add = 25 - has_relation_friend = scope:actor - desc = WE_ARE_FRIENDS - } - - - # is best friend - modifier = { - add = 50 - has_relation_best_friend = scope:actor - desc = WE_ARE_BEST_FRIENDS - } - - modifier = { - add = 100 - OR = { - has_relation_lover = scope:actor - has_relation_soulmate = scope:actor - } - desc = WE_ARE_LOVERS - } - - # hunters love to hunt - modifier = { - add = 25 - scope:invite_to_hunt = yes - has_trait = lifestyle_hunter - desc = AI_RELEVANT_TRAITS - } - - # reveler loves feasts - modifier = { - add = 25 - scope:invite_to_feast = yes - has_trait = lifestyle_reveler - desc = AI_RELEVANT_TRAITS - } - - # Struggle agenda - modifier = { - desc = AI_STRUGGLE_INTENT - scope:invite_to_feast = yes - scope:recipient = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast - } - } - NAND = { - scope:actor.faith = scope:recipient.faith - scope:actor.culture = scope:recipient.culture - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_deescalation - } - } - add = 100 - } - else_if = { - limit = { - scope:actor = { - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - } - } - } - ## Performance-enhancement - ai_potential = { - is_playable_character = yes - is_available_at_peace_ai_adult = yes - is_imprisoned = no - # Matches the regular minimum triggers. - OR = { - any_character_struggle = { involvement = involved } - } - short_term_gold > standard_activity_cost - } - - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - max = 10 - } - ## Frequency - ai_frequency = 60 - ai_will_do = { - base = 0 - - # sociability plays a lot as well - ai_value_modifier = { - ai_sociability = 1 - } - - # hunters love to hunt - modifier = { - add = 25 - scope:invite_to_hunt = yes - has_trait = lifestyle_hunter - } - - # small boost if no firends - modifier = { - add = 25 - num_of_relation_friend = 0 - } - # reveler loves feasts - modifier = { - add = 25 - scope:invite_to_feast = yes - has_trait = lifestyle_reveler - } - - # From Hunt decision - ai_value_modifier = { - ai_energy = 1 - ai_greed = -0.5 - ai_compassion = -0.5 - } - - modifier = { - add = 10 - scope:invite_to_hunt = yes - has_trait_rank = { - trait = education_martial - rank > 0 - } - } - modifier = { - add = 10 - scope:invite_to_hunt = yes - has_trait_rank = { - trait = education_martial - rank > 2 - } - } - - modifier = { - scope:invite_to_hunt = yes - add = 35 - stress > low_stress - } - - # Struggle agenda - modifier = { - scope:recipient = { - any_character_struggle = { - involvement = involved - } - } - scope:actor = { - any_character_struggle = { - involvement = involved - } - } - NAND = { - scope:actor.faith = scope:recipient.faith - scope:actor.culture = scope:recipient.culture - } - add = { - value = 0 - if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast - - } - has_character_flag = agenda_towards_escalation - } - } - add = -100 - } - else_if = { - limit = { - scope:actor = { - any_character_struggle = { - phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast - } - } - } - add = 100 - } - } - } - } -} diff --git a/N3OW/common/character_interactions/04_ep2_interactions.txt b/N3OW/common/character_interactions/04_ep2_interactions.txt deleted file mode 100644 index 251ca82f..00000000 --- a/N3OW/common/character_interactions/04_ep2_interactions.txt +++ /dev/null @@ -1,110 +0,0 @@ -find_suitable_accolade_successor_interaction = { - - desc = find_suitable_accolade_successor_interaction_desc - icon = icon_combat - - cooldown = { days = 730 } - - hidden = yes # we use this via the accolade view only - - is_shown = { - has_dlc_feature = accolades - } - - is_valid_showing_failures_only = { - scope:recipient = { - accolade ?= { - NOT = { exists = accolade_successor } - has_potential_accolade_successors = no - NOT = { - primary_type = { - this = accolade_type:house_knight_attribute - } - } - } - } - scope:actor = { - highest_held_title_tier >= tier_county - } - scope:actor = { - NOT = { government_has_flag = government_is_theocracy } - } - } - - on_accept = { - custom_tooltip = find_suitable_accolade_successor_interaction.tt - scope:actor = { - save_scope_as = accolade_owner - } - scope:recipient = { - save_scope_as = knight_in_need - } - scope:recipient.accolade = { - save_scope_as = accolade_in_need - } - scope:actor = { - if = { - limit = { - is_ai = yes - } - trigger_event = { - id = accolade.0006 - } - } - else = { - trigger_event = { - id = accolade.0006 - days = { 60 180 } - } - } - } - } - - auto_accept = yes - - cost = { - prestige = { - value = 75 - if = { - limit = { - scope:actor = { - highest_held_title_tier >= tier_empire - } - } - add = 100 - } - else_if = { - limit = { - scope:actor = { - highest_held_title_tier = tier_kingdom - } - } - add = 50 - } - else_if = { - limit = { - scope:actor = { - highest_held_title_tier = tier_duchy - } - } - add = 25 - } - } - } - - ai_targets = { - ai_recipients = courtiers - ai_recipients = vassals - } - - ai_frequency = 36 - - ai_will_do = { - base = 100 - } - - ai_potential = { - highest_held_title_tier >= tier_county - has_dlc_feature = accolades - } -} diff --git a/N3OW/common/character_interactions/05_bp2_interactions.txt b/N3OW/common/character_interactions/05_bp2_interactions.txt deleted file mode 100644 index 925392bb..00000000 --- a/N3OW/common/character_interactions/05_bp2_interactions.txt +++ /dev/null @@ -1,4936 +0,0 @@ -#Interactions relating to hostages - -### Offer hostage - unilateral -# actor = offerer -# recipient = receiver -# secondary_actor = hostage -offer_hostage_interaction = { - category = interaction_category_diplomacy - common_interaction = no - interface_priority = 11 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - icon = icon_hostage - - populate_actor_list = { - scope:actor = { - every_close_family_member = { - limit = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - add_to_list = characters - } - } - } - - desc = offer_hostage_interaction_desc - - prompt = OFFER_HOSTAGE_SELECT_HOSTAGE_TO_TRANSFER - - notification_text = OFFER_HOSTAGE_PROPOSAL - - cooldown_against_recipient = { years = 3 } - - is_shown = { - # Cannot exchange hostages with self - NOT = { scope:recipient = scope:actor } - # Cannot exchange hostages with a herder - NOT = { scope:recipient = { government_has_flag = government_is_herder } } - # Only significant rulers use hostages - scope:actor.highest_held_title_tier > tier_barony - scope:recipient.highest_held_title_tier > tier_barony - # Laamps can't do anything with hostages but return/recall them. - NOR = { - scope:actor = { is_landless_adventurer = yes } - scope:recipient = { is_landless_adventurer = yes } - } - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - NOR = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - # Allies don't need hostages - scope:recipient = { is_allied_to = scope:actor } - # Only family oriented governments use hostages - scope:actor = { - government_has_flag = government_is_theocracy - } - scope:recipient = { - government_has_flag = government_is_theocracy - } - # 1 hostage per home court - custom_tooltip = { - text = "already_has_your_hostage_tt" - scope:recipient = { - any_warden_hostage = { home_court ?= scope:actor } - } - } - custom_description = { - text = hostage_already_travelling_tt - subject = scope:actor - object = scope:recipient - scope:actor = { - any_close_family_member = { - exists = var:hostage_travelling_to_warden - var:hostage_travelling_to_warden = scope:recipient - } - } - } - } - scope:actor = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - scope:recipient = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - # Stop AI spamming hostage offers - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - exists = scope:secondary_actor - } - NOT = { - scope:secondary_actor = { has_character_flag = ai_should_not_offer_hostage } - } - } - # Tooltip for players in case of no valid hostages to offer - trigger_else = { - scope:actor = { - custom_description = { - text = "basic_valid_hostage_to_offer" - object = scope:recipient - any_close_family_member = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - } - } - } - # Hostages still valid - trigger_if = { - limit = { - exists = scope:secondary_actor - exists = scope:actor - } - scope:secondary_actor = { - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - } - } - - can_be_picked = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - # Under offer - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - } - - can_send = { - scope:actor = { # AI only offer to more powerful neighbors - trigger_if = { - limit = { is_ai = yes } - bp2_valid_to_offer_hostage_ai_trigger = yes - # AI should not offer close family of players without their consent - NOR = { - scope:secondary_actor = { - any_close_family_member = { - is_ai = no - OR = { - is_parent_of = scope:secondary_actor - is_grandparent_of = scope:secondary_actor - } - NOT = { this = scope:actor } - } - } - # A hostage died on their watch - var:hostage_died ?= scope:recipient - } - } - } - scope:recipient = { - trigger_if = { - limit = { is_ai = no } - NOT = { - scope:secondary_actor = { has_character_flag = ai_should_not_offer_hostage } - } - } - } - # Adult hostages must be loyal enough to go along with it - scope:secondary_actor = { - trigger_if = { - limit = { is_adult = yes } - OR = { - AND = { - custom_tooltip = { - text = hostage_opinion_too_low_tt - opinion = { - target = scope:actor - value >= -25 - } - } - NOT = { has_trait = disloyal } - } - has_trait = loyal - } - } - # Under offer - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - } - } - - cost = {} - - on_send = { - scope:secondary_actor = { - add_character_flag = { - flag = under_offer_as_hostage_flag - months = 1 - } - } - if = { - limit = { - scope:recipient = { is_ai = no } - } - hidden_effect = { - scope:secondary_actor = { - add_character_flag = { - flag = ai_should_not_offer_hostage - years = 3 - } - } - } - } - } - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = hostage_sender } - scope:secondary_actor = { save_scope_as = hostage } - scope:recipient = { save_scope_as = hostage_taker } - custom_description_no_bullet = { text = hostage_pacts_on_arrival_tt } - custom_description_no_bullet = { text = hostage_execution_warning_tt } - custom_description_no_bullet = { text = hostage_attack_warning_tt } - hostage_depart_effect = { - HOSTAGE = scope:hostage - WARDEN = scope:hostage_taker - HOME_COURT = scope:hostage_sender - } - scope:actor = { trigger_event = char_interaction.0330 } - # If we're of the same clan this interaction affects unity - if = { - limit = { - scope:actor = { government_has_flag = government_is_clan } - scope:actor.house = scope:recipient.house - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_hostage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0300 - } - scope:secondary_actor = { remove_character_flag = under_offer_as_hostage_flag } - } - - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - # AI - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - ######### PERSONALITY - - bp2_hostage_offer_personality_modifier = yes - - ######### OPINION - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - - ######### RELATIONS - - bp2_hostage_relation_modifier = yes - - ######### DREAD - - bp2_hostage_dread_modifier = yes - - ######### HOSTAGE IMPORTANCE - - # Hostages - modifier = { - exists = scope:secondary_actor - add = interaction_actor_hostage_value - desc = HOSTAGE_VALUE_ACTOR_REASON - } - - ######### RELATIVE POWER - - bp2_hostage_tier_neighbor_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - - ######### CULTURAL DIFFERENCES - - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - - ######### CULTURAL TRADITIONS - - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - desc = HOSTAGE_EQUITABLE_TRADITION_REASON - } - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - desc = HOSTAGE_ESTEEMED_HOSPITALITY_TRADITION_REASON - } - modifier = { - scope:recipient = { - is_vassal_of = scope:actor - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_LOYAL_SUBJECTS_TRADITION_REASON - } - - ######### OTHER - - modifier = { # Already have a truce - scope:recipient ?= { has_truce = scope:actor } - desc = HOSTAGE_RECIPIENT_EXISTING_TRUCE_REASON - add = -20 - } - modifier = { # Already fighting a war - scope:recipient ?= { is_at_war = yes } - desc = HOSTAGE_AT_WAR_REASON - add = 15 - } - modifier = { # Already have their hostage - scope:actor = { - any_warden_hostage = { home_court ?= scope:recipient } - } - desc = HOSTAGE_ALREADY_DEMANDED_REASON - add = 50 - } - modifier = { - add = -50 - scope:actor = { has_character_modifier = attacked_warden } - desc = attacked_warden - } - modifier = { # Conqueror - scope:recipient ?= { - ai_has_conqueror_personality = yes - } - desc = NO_FRIVOLOUS_ACTIVITIES_REASON - add = -1000 - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = vassals - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 120 - - ai_potential = { - highest_held_title_tier >= tier_county - ai_has_conqueror_personality = no - } - - ai_will_do = { - base = 0 - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:actor - opinion_target = scope:secondary_actor - multiplier = -0.1 - desc = AI_OPINION_REASON - } - bp2_hostage_tier_neighbor_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - modifier = { # Attacked a hostage's home court - add = -50 - scope:recipient = { has_character_modifier = attacked_home_court } - desc = attacked_home_court - } - modifier = { # Hostage died on their watch - exists = scope:actor.var:hostage_died - scope:recipient = { - NOR = { - var:let_my_hostage_die ?= scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_REASON - add = -25 - } - modifier = { # MY Hostage died on their watch - scope:recipient = { - var:let_my_hostage_die ?= scope:actor - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_HOME_COURT_REASON - add = -100 - } - modifier = { # Killed my hostage!!! - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - desc = HOSTAGE_KILLED_REASON - add = -200 - } - modifier = { # Not neighboring - NOR = { - scope:recipient = { - character_is_land_realm_neighbor = scope:actor - top_liege = scope:actor.top_liege - } - } - add = -50 - } - modifier = { - scope:recipient = { has_character_flag = halved_hostage_prestige_income } - desc = HOSTAGE_RETAINED_ADULTHOOD_REASON - add = -25 - } - # Cultural traditions - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - } - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - } - modifier = { - scope:actor = { - is_vassal_of = scope:recipient - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_CULTURAL_TRADITION_REASON - } - } -} - -### Demand hostage - unilateral -# actor = receiver -# recipient = offerer -# secondary_recipient = hostage -demand_hostage_interaction = { - category = interaction_category_diplomacy - common_interaction = no - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - icon = icon_hostage - interface_priority = 13 - - desc = demand_hostage_interaction_desc - - prompt = DEMAND_HOSTAGE_SELECT_HOSTAGE_TO_OFFER - - notification_text = DEMAND_HOSTAGE_PROPOSAL - - populate_recipient_list = { - scope:recipient = { - every_close_family_member = { - limit = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - add_to_list = characters - } - } - } - - cooldown_against_recipient = { years = 3 } - - is_shown = { - # Cannot exchange hostages with self - NOT = { scope:recipient = scope:actor } - # Cannot exchange hostages with a herder - NOT = { scope:recipient = { government_has_flag = government_is_herder } } - # Only significant rulers use hostages - scope:actor.highest_held_title_tier > tier_barony - OR = { - scope:recipient.highest_held_title_tier > tier_barony - scope:recipient.liege ?= { - highest_held_title_tier > tier_barony - any_close_family_member = { - this = scope:recipient - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient.liege } - } - } - } - # Laamps can't do anything with hostages but return/recall them. - NOR = { - scope:actor = { is_landless_adventurer = yes } - scope:recipient = { is_landless_adventurer = yes } - } - } - - redirect = { - if = { - limit = { - scope:recipient ?= { - is_playable_character = no - is_landless_ruler = no - } - } - scope:recipient ?= { save_scope_as = secondary_recipient } - scope:secondary_recipient.liege ?= { save_scope_as = recipient } - } - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - # Must be approachable - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } - scope:actor = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - scope:recipient = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - NOR = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - # Allies don't need hostages - scope:recipient = { is_allied_to = scope:actor } - # Only family oriented governments use hostages - scope:actor = { - government_has_flag = government_is_theocracy - } - scope:recipient = { - government_has_flag = government_is_theocracy - } - # 1 hostage per court - custom_tooltip = { - text = "already_have_their_hostage_tt" - scope:actor = { - any_warden_hostage = { home_court ?= scope:recipient } - } - } - custom_description = { - text = "hostage_already_travelling_tt" - subject = scope:actor - object = scope:recipient - scope:actor = { - any_close_family_member = { - exists = var:hostage_travelling_to_warden - var:hostage_travelling_to_warden = scope:recipient - } - } - } - } - # Stop AI spamming hostage offers - trigger_if = { - limit = { - scope:recipient = { is_ai = yes } - exists = scope:secondary_recipient - } - NOT = { - scope:secondary_recipient = { has_character_flag = ai_should_not_demand_hostage } - } - } - # Tooltip for players in case of no valid hostages to demand - # Make sure this exactly matches "can_be_picked" section below - trigger_else = { - scope:recipient = { - custom_description = { - text = "basic_valid_hostage_to_demand" - subject = scope:actor - object = scope:recipient - any_close_family_member = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - } - } - } - # Hostages still valid - trigger_if = { - limit = { - exists = scope:secondary_recipient - exists = scope:recipient - } - scope:secondary_recipient = { - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - } - } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - trigger_if = { # AI only demand from less powerful neighbors - limit = { is_ai = yes } - bp2_valid_to_demand_hostage_ai_trigger = yes - NOR = { - scope:secondary_recipient ?= { has_character_flag = ai_should_not_demand_hostage } - # AI should not demand close family of players without their consent - scope:secondary_recipient = { - any_close_family_member = { - is_ai = no - OR = { - is_parent_of = scope:secondary_recipient - is_grandparent_of = scope:secondary_recipient - } - NOT = { this = scope:recipient } - } - } - # A hostage died on their watch - var:hostage_died ?= scope:recipient - } - } - } - # Adult hostages must be loyal enough to go along with it - scope:secondary_recipient = { - trigger_if = { - limit = { is_adult = yes } - OR = { - AND = { - custom_tooltip = { - text = hostage_opinion_too_low_tt - opinion = { - target = scope:recipient - value >= -25 - } - NOT = { has_trait = disloyal } - } - } - has_trait = loyal - } - } - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - } - } - - can_be_picked = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - } - - cost = {} - - on_send = { - scope:secondary_recipient = { - add_character_flag = { - flag = under_offer_as_hostage_flag - months = 1 - } - } - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - if = { - limit = { - scope:recipient = { is_ai = no } - } - scope:secondary_recipient = { - add_character_flag = { - flag = ai_should_not_demand_hostage - years = 3 - } - } - } - } - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = hostage_taker } - scope:recipient = { save_scope_as = hostage_sender } - scope:secondary_recipient = { save_scope_as = hostage } - custom_description_no_bullet = { text = hostage_pacts_on_arrival_tt } - custom_description_no_bullet = { text = hostage_execution_warning_tt } - custom_description_no_bullet = { text = hostage_attack_warning_tt } - hostage_depart_effect = { - HOSTAGE = scope:hostage - WARDEN = scope:hostage_taker - HOME_COURT = scope:hostage_sender - } - show_as_tooltip = { - if = { - limit = { - scope:recipient = { is_vassal_of = scope:actor } - } - scope:recipient = { - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = liege_demanded_hostage_opinion - target = scope:actor - } - } - } - scope:actor = { - # Tyranny for demanding from vassals - add_tyranny = minor_tyranny_gain - } - } - } - scope:actor = { trigger_event = char_interaction.0331 } - # If we're of the same clan this interaction affects unity - if = { - limit = { - scope:actor = { government_has_flag = government_is_clan } - scope:actor.house = scope:recipient.house - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_hostage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - on_decline = { - show_as_tooltip = { - if = { # Effects for refusing demand from liege - limit = { - scope:recipient = { is_vassal_of = scope:actor } - } - scope:recipient = { - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = liege_demanded_hostage_opinion - target = scope:actor - } - } - } - scope:actor = { - # Tyranny for demanding from vassals - add_tyranny = minor_tyranny_gain - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = vassal_refused_hostage_demand_opinion - target = scope:recipient - } - } - } - } - } - scope:actor = { - trigger_event = char_interaction.0301 - } - scope:secondary_recipient = { remove_character_flag = under_offer_as_hostage_flag } - } - - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - # AI - ai_accept = { - base = 0 - - ######### PERSONALITY - - bp2_hostage_demand_personality_modifier = yes - - ######### OPINION - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = -0.1 - desc = AI_OPINION_REASON - } - - ######### RELATIONS - - bp2_hostage_relation_modifier = yes - - ######### DREAD - - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - ######### HOSTAGE IMPORTANCE - - modifier = { - exists = scope:secondary_recipient - add = interaction_recipient_hostage_value - desc = HOSTAGE_VALUE_RECIPIENT_REASON - } - - ######### RELATIVE POWER - - bp2_hostage_tier_neighbor_modifier = { # Realm relative position - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { # Desire for land/war - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - modifier = { - desc = HOSTAGE_IMMINENT_THREAT_REASON - scope:actor = { has_any_cb_on = scope:recipient } - scope:actor.current_strength_with_allies_fifty_percent_value > scope:recipient.current_strength_with_allies_value - add = 25 - } - - ######### CULTURAL DIFFERENCES - - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - - ######### CULTURAL TRADITIONS - - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - desc = HOSTAGE_EQUITABLE_TRADITION_REASON - } - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - desc = HOSTAGE_ESTEEMED_HOSPITALITY_TRADITION_REASON - } - modifier = { - scope:recipient = { - is_vassal_of = scope:actor - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_LOYAL_SUBJECTS_TRADITION_REASON - } - - ######### OTHER - - modifier = { # Hostage died on their watch - exists = scope:actor.var:hostage_died - scope:recipient = { - NOR = { - var:let_my_hostage_die ?= scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_REASON - add = -25 - } - modifier = { # MY Hostage died on their watch - scope:recipient = { - var:let_my_hostage_die ?= scope:actor - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_HOME_COURT_REASON - add = -100 - } - modifier = { # Killed my hostage!!! - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - desc = HOSTAGE_KILLED_REASON - add = -200 - } - modifier = { # Already have a truce - scope:actor ?= { has_truce = scope:recipient } - desc = HOSTAGE_ACTOR_EXISTING_TRUCE_REASON - add = -20 - } - modifier = { # Already fighting a war - scope:recipient ?= { is_at_war = yes } - desc = HOSTAGE_AT_WAR_REASON - add = 15 - } - modifier = { # Already have your hostage - scope:recipient = { - any_warden_hostage = { home_court ?= scope:actor } - } - desc = HOSTAGE_ALREADY_OFFERED_REASON - add = 50 - } - modifier = { # Attacked a hostage's home court - add = -50 - scope:actor = { has_character_modifier = attacked_home_court } - desc = attacked_home_court - } - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:secondary_recipient ?= { is_adult = no } - scope:actor = { has_character_flag = halved_hostage_prestige_income } - desc = HOSTAGE_RETAINED_ADULTHOOD_REASON - add = -25 - } - modifier = { # Conqueror - scope:recipient ?= { - ai_has_conqueror_personality = yes - } - desc = NO_FRIVOLOUS_ACTIVITIES_REASON - add = -1000 - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = vassals - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 120 - - ai_potential = { - highest_held_title_tier >= tier_county - ai_has_conqueror_personality = no - } - - ai_will_do = { - base = 0 - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - bp2_hostage_tier_neighbor_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - modifier = { - add = -50 - scope:recipient = { has_character_modifier = attacked_warden } - desc = attacked_warden - } - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - modifier = { # Not neighboring - NOR = { - scope:recipient = { - character_is_land_realm_neighbor = scope:actor - top_liege = scope:actor.top_liege - } - } - add = -50 - } - # Cultural traditions - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - } - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - } - modifier = { - scope:actor = { - is_vassal_of = scope:recipient - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_CULTURAL_TRADITION_REASON - } - } -} - -### Exchange hostages - bilateral -# actor = receiver -# recipient = offerer -# secondary_actor = hostage -# secondary_recipient = hostage -exchange_hostage_interaction = { - category = interaction_category_diplomacy - common_interaction = no - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - icon = icon_hostage - interface_priority = 12 - - desc = exchange_hostage_interaction_desc - - prompt = EXCHANGE_HOSTAGE_SELECT_HOSTAGE_TO_OFFER - - notification_text = EXCHANGE_HOSTAGE_PROPOSAL - - populate_actor_list = { - scope:actor = { - every_close_family_member = { - limit = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - add_to_list = characters - } - } - } - - populate_recipient_list = { - scope:recipient = { - every_close_family_member = { - limit = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - add_to_list = characters - } - } - } - - cost = {} - - cooldown_against_recipient = { years = 3 } - - is_shown = { - # Cannot exchange hostages with self - NOT = { scope:recipient = scope:actor } - # Cannot exchange hostages with a herder - NOT = { scope:recipient = { government_has_flag = government_is_herder } } - # Only significant rulers use hostages - scope:actor.highest_held_title_tier > tier_barony - OR = { - scope:recipient.highest_held_title_tier > tier_barony - scope:recipient.liege ?= { - highest_held_title_tier > tier_barony - any_close_family_member = { - this = scope:recipient - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient.liege } - } - } - } - # Laamps can't do anything with hostages but return/recall them. - NOR = { - scope:actor = { is_landless_adventurer = yes } - scope:recipient = { is_landless_adventurer = yes } - } - } - - redirect = { - if = { - limit = { - scope:recipient ?= { - is_playable_character = no - is_landless_ruler = no - } - } - scope:recipient ?= { save_scope_as = secondary_recipient } - scope:secondary_recipient.liege ?= { save_scope_as = recipient } - } - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_actor } - scope:secondary_actor = { is_busy_in_events_localised = yes } - } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - NOR = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - # Allies don't need hostages - scope:recipient = { is_allied_to = scope:actor } - # Only family oriented governments use hostages - scope:actor = { - government_has_flag = government_is_theocracy - } - scope:recipient = { - government_has_flag = government_is_theocracy - } - # 1 hostage per court - custom_tooltip = { - text = "already_has_your_hostage_tt" - scope:recipient = { - any_warden_hostage = { home_court ?= scope:actor } - } - } - custom_tooltip = { - text = "already_have_their_hostage_tt" - scope:actor = { - any_warden_hostage = { home_court ?= scope:recipient } - } - } - custom_description = { - text = "hostage_already_travelling_tt" - subject = scope:recipient - object = scope:actor - scope:actor = { - any_close_family_member = { - exists = var:hostage_travelling_to_warden - var:hostage_travelling_to_warden = scope:recipient - } - } - } - custom_description = { - text = "hostage_already_travelling_tt" - subject = scope:actor - object = scope:recipient - scope:recipient = { - any_close_family_member = { - exists = var:hostage_travelling_to_warden - var:hostage_travelling_to_warden = scope:actor - } - } - } - } - scope:actor = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - scope:recipient = { - OR = { - is_landless_ruler = no - is_landless_administrative = yes - } - } - # Stop AI spamming hostage offers - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - exists = scope:secondary_actor - } - NOT = { - scope:secondary_actor = { has_character_flag = ai_should_not_demand_hostage } - } - } - # Tooltip for players in case of no valid hostages to demand - # Make sure this exactly matches "can_be_picked" section below - trigger_else = { - scope:recipient = { - custom_description = { - text = "basic_valid_hostage_to_demand" - subject = scope:actor - object = scope:recipient - any_close_family_member = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - } - } - } - # Stop AI spamming hostage offers - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - exists = scope:secondary_actor - } - NOT = { - scope:secondary_actor = { has_character_flag = ai_should_not_offer_hostage } - } - } - # Tooltip for players in case of no valid hostages to offer - trigger_else = { - scope:actor = { - custom_description = { - text = "basic_valid_hostage_to_offer" - object = scope:recipient - subject = scope:actor - any_close_family_member = { - # Unlanded, at sender's court, child/sibling/nibling/grandchild - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - } - } - } - # Hostages still valid - trigger_if = { - limit = { - exists = scope:secondary_recipient - exists = scope:recipient - } - scope:secondary_recipient = { - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:recipient } - } - } - trigger_if = { - limit = { - exists = scope:secondary_actor - exists = scope:actor - } - scope:secondary_actor = { - bp2_valid_to_offer_as_hostage_trigger = { SENDER = scope:actor } - } - } - } - - on_send = { - scope:secondary_actor = { - add_character_flag = { - flag = under_offer_as_hostage_flag - months = 1 - } - } - scope:secondary_recipient = { - add_character_flag = { - flag = under_offer_as_hostage_flag - months = 1 - } - } - } - - can_send = { - scope:actor = { - trigger_if = { - limit = { is_ai = yes } - bp2_valid_to_exchange_hostage_ai_trigger = yes - # AI should not demand close family of players without their consent - NOR = { - scope:secondary_actor = { - any_close_family_member = { - is_ai = no - OR = { - is_parent_of = scope:secondary_actor - is_grandparent_of = scope:secondary_actor - } - NOT = { this = scope:actor } - } - } - scope:secondary_recipient = { - any_close_family_member = { - is_ai = no - OR = { - is_parent_of = scope:secondary_recipient - is_grandparent_of = scope:secondary_recipient - } - NOT = { this = scope:recipient } - } - } - # A hostage died on their watch - var:hostage_died ?= scope:recipient - } - } - } - scope:secondary_actor = { - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - # Adult hostages must be loyal enough to go along with it - trigger_if = { - limit = { is_adult = yes } - OR = { - AND = { - custom_tooltip = { - text = hostage_opinion_too_low_tt - opinion = { - target = scope:actor - value >= -25 - } - NOT = { has_trait = disloyal } - } - } - has_trait = loyal - } - } - } - scope:secondary_recipient = { - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - # Adult hostages must be loyal enough to go along with it - trigger_if = { - limit = { is_adult = yes } - OR = { - AND = { - custom_tooltip = { - text = hostage_opinion_too_low_tt - opinion = { - target = scope:recipient - value >= -25 - } - NOT = { has_trait = disloyal } - } - } - has_trait = loyal - } - } - } - } - - # whether a character can be picked for the interaction, interface only (e.g. picking the first character in the marriage interaction) - # in character scope, actor and recipient event targets can be used, but not the secondary characters (because none exist yet) - can_be_picked = { - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { has_character_flag = under_offer_as_hostage_flag } - } - # Already offered - custom_tooltip = { - text = hostage_already_offered_awaiting_response_tt - NOT = { exists = var:hostage_travelling_to_warden } - } - } - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = hostage_sender_1 } - scope:secondary_actor = { save_scope_as = hostage_1 } - scope:recipient = { save_scope_as = hostage_sender_2 } - scope:secondary_recipient = { save_scope_as = hostage_2 } - custom_description_no_bullet = { text = hostage_pacts_on_arrival_tt } - custom_description_no_bullet = { text = hostage_execution_warning_tt } - custom_description_no_bullet = { text = hostage_attack_warning_tt } - hostage_depart_effect = { - HOSTAGE = scope:hostage_1 - WARDEN = scope:hostage_sender_2 - HOME_COURT = scope:hostage_sender_1 - } - hostage_depart_effect = { - HOSTAGE = scope:hostage_2 - WARDEN = scope:hostage_sender_1 - HOME_COURT = scope:hostage_sender_2 - } - scope:actor = { trigger_event = char_interaction.0332 } - # If we're of the same clan this interaction affects unity - if = { - limit = { - scope:actor = { government_has_flag = government_is_clan } - scope:actor.house = scope:recipient.house - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_hostage.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0311 - } - scope:secondary_actor = { remove_character_flag = under_offer_as_hostage_flag } - scope:secondary_recipient = { remove_character_flag = under_offer_as_hostage_flag } - } - - # AI - ai_accept = { - base = -25 - - ######## PERSONALITY - - bp2_hostage_exchange_personality_modifier = yes - - ######### OPINION - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = -0.1 - desc = AI_OPINION_REASON - } - - ######### RELATIONS - - bp2_hostage_relation_modifier = yes - - - ######### DREAD - - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - ######### HOSTAGE IMPORTANCE - - - modifier = { - exists = scope:secondary_actor - NOT = { exists = scope:secondary_recipient } - add = interaction_actor_hostage_value - desc = HOSTAGE_VALUE_ACTOR_REASON - } - modifier = { - NOT = { exists = scope:secondary_actor } - exists = scope:secondary_recipient - add = interaction_recipient_hostage_value # already negative - desc = HOSTAGE_VALUE_RECIPIENT_REASON - } - - ######### RELATIVE POWER - - bp2_hostage_tier_neighbor_modifier = { # Realm relative position - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { # Desire for land/war - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - modifier = { - desc = HOSTAGE_IMMINENT_THREAT_REASON - scope:actor = { has_any_cb_on = scope:recipient } - scope:actor.current_strength_with_allies_fifty_percent_value > scope:recipient.current_strength_with_allies_value - add = 25 - } - - ######### CULTURAL DIFFERENCES - - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - - ######### CULTURAL TRADITIONS - - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - desc = HOSTAGE_EQUITABLE_TRADITION_REASON - } - modifier = { - scope:recipient.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - desc = HOSTAGE_ESTEEMED_HOSPITALITY_TRADITION_REASON - } - modifier = { - scope:recipient = { - is_vassal_of = scope:actor - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_LOYAL_SUBJECTS_TRADITION_REASON - } - - ######### OTHER - - modifier = { # Hostage died on their watch - exists = scope:actor.var:hostage_died - scope:recipient = { - NOR = { - var:let_my_hostage_die ?= scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_REASON - add = -25 - } - modifier = { # MY Hostage died on their watch - scope:recipient = { - var:let_my_hostage_die ?= scope:actor - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_HOME_COURT_REASON - add = -100 - } - modifier = { # Killed my hostage!!! - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - desc = HOSTAGE_KILLED_REASON - add = -200 - } - modifier = { # Already have a truce - scope:actor ?= { has_truce = scope:recipient } - desc = HOSTAGE_ACTOR_EXISTING_TRUCE_REASON - add = -20 - } - modifier = { # Already fighting a war - scope:recipient ?= { is_at_war = yes } - desc = HOSTAGE_AT_WAR_REASON - add = 15 - } - modifier = { # Already have your hostage - scope:recipient = { - any_warden_hostage = { home_court ?= scope:actor } - } - desc = HOSTAGE_ALREADY_OFFERED_REASON - add = 50 - } - modifier = { - add = -50 - scope:actor = { has_character_modifier = attacked_warden } - desc = attacked_warden - } - modifier = { # Attacked a hostage's home court - add = -50 - scope:actor = { has_character_modifier = attacked_home_court } - desc = attacked_home_court - } - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:secondary_recipient ?= { is_adult = no } - scope:actor = { has_character_flag = halved_hostage_prestige_income } - desc = HOSTAGE_RETAINED_ADULTHOOD_REASON - add = -25 - } - modifier = { # Conqueror - scope:recipient ?= { - ai_has_conqueror_personality = yes - } - desc = NO_FRIVOLOUS_ACTIVITIES_REASON - add = -1000 - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = vassals - max = 10 - } - - ai_targets = { - ai_recipients = liege - } - - ai_target_quick_trigger = { - adult = yes - } - - ai_frequency = 140 - - ai_potential = { - is_adult = yes - highest_held_title_tier >= tier_county - ai_has_conqueror_personality = no - } - - ai_will_do = { - base = 0 - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:actor - opinion_target = scope:secondary_actor - multiplier = -0.1 - desc = AI_OPINION_REASON - } - bp2_hostage_tier_neighbor_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_vassals_lieges_modifier = { # Political situation - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - modifier = { # Attacked a hostage's warden - add = -50 - scope:recipient = { has_character_modifier = attacked_warden } - desc = attacked_warden - } - modifier = { # Attacked a hostage's home court - add = -50 - scope:recipient = { has_character_modifier = attacked_home_court } - desc = attacked_home_court - } - modifier = { # Hostage died on their watch - exists = scope:actor.var:hostage_died - scope:recipient = { - NOR = { - var:let_my_hostage_die ?= scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_REASON - add = -25 - } - modifier = { # MY Hostage died on their watch - scope:recipient = { - var:let_my_hostage_die ?= scope:actor - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_HOME_COURT_REASON - add = -100 - } - modifier = { # Killed my hostage!!! - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - desc = HOSTAGE_KILLED_REASON - add = -200 - } - modifier = { # Not neighboring - NOR = { - scope:recipient = { - character_is_land_realm_neighbor = scope:actor - top_liege = scope:actor.top_liege - } - } - add = -50 - } - modifier = { - scope:recipient = { has_character_flag = halved_hostage_prestige_income } - desc = HOSTAGE_RETAINED_ADULTHOOD_REASON - add = -25 - } - # Cultural traditions - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - } - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - } - modifier = { - scope:actor = { - is_vassal_of = scope:recipient - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_CULTURAL_TRADITION_REASON - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_options_exclusive = no - greeting = positive -} - -### Return hostage - unilateral -# actor = warden -# recipient = home_court -# secondary_actor = hostage -return_hostage_interaction = { - category = interaction_category_diplomacy - common_interaction = no - popup_on_receive = yes - pause_on_receive = yes - icon = icon_hostage - - desc = return_hostage_interaction_desc - - populate_recipient_list = { - scope:actor = { - every_warden_hostage = { - limit = { home_court ?= scope:recipient } - add_to_list = characters - } - } - } - - cost = {} - - is_shown = { - # Cannot return hostages to self - NOT = { scope:recipient = scope:actor } - # Must have a hostage - OR = { - scope:actor = { - any_warden_hostage = { home_court ?= scope:recipient } - } - scope:recipient.warden ?= scope:actor - } - } - - redirect = { - if = { - limit = { - scope:recipient.warden ?= scope:actor - } - scope:recipient = { save_scope_as = secondary_recipient } - scope:recipient.home_court = { save_scope_as = recipient } - } - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_actor } - scope:secondary_actor = { is_busy_in_events_localised = yes } - } - NOR = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - # Only family oriented governments use hostages - scope:actor = { - OR = { - government_has_flag = government_is_theocracy - government_has_flag = government_is_landless_adventurer - } - } - scope:recipient = { - OR = { - government_has_flag = government_is_theocracy - government_has_flag = government_is_landless_adventurer - } - } - } - } - - # whether a character can be picked for the interaction, interface only (e.g. picking the first character in the marriage interaction) - # in character scope, actor and recipient event targets can be used, but not the secondary characters (because none exist yet) - can_be_picked = {} - - can_send = { - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - } - - on_send = {} - - auto_accept = yes - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = warden } - scope:recipient = { save_scope_as = home_court } - scope:secondary_recipient = { save_scope_as = hostage } - # Send toast informing sender of acceptance - scope:home_court = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = return_hostage_interaction_notification - left_icon = scope:hostage - right_icon = scope:warden - show_as_tooltip = { - bp2_return_hostage_effect = { HOSTAGE = scope:hostage } - } - } - } - } - scope:warden = { - send_interface_toast = { - type = event_toast_effect_neutral - title = return_hostage_interaction_notification - left_icon = scope:hostage - right_icon = scope:home_court - show_as_tooltip = { - bp2_return_hostage_effect = { HOSTAGE = scope:hostage } - } - } - if = { - limit = { has_character_flag = flag_hostile_actions_disabled_delay } - remove_character_flag = flag_hostile_actions_disabled_delay - } - } - # Notify home court with letter event - scope:home_court = { - trigger_event = { id = char_interaction.0320 } - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = peer_vassals - ai_recipients = vassals - ai_recipients = liege - ai_recipients = family # Redirects - } - - ai_frequency = 36 - - ai_will_do = { - base = 0 - modifier = { - NOR = { - # Alliances - is_allied_to = scope:recipient - is_spouse_of = scope:recipient - # Protected by liege - AND = { - OR = { - is_independent_ruler = no - scope:recipient = { is_independent_ruler = no } - } - NOT = { top_liege = scope:recipient.top_liege } - } - # Adult hostage been here awhile and we are not in immiment danger - AND = { - any_warden_hostage = { - age >= 20 - hostage_duration = { years >= 5 } - } - NAND = { - scope:recipient = { - has_any_cb_on = scope:actor - scope:recipient.current_strength_with_allies_fifty_percent_value > scope:actor.current_strength_with_allies_value - } - } - } - } - factor = 0 - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - modifier = { - add = 25 - scope:actor = { - has_any_cb_on = scope:recipient - scope:actor.current_strength_with_allies_fifty_percent_value > scope:recipient.current_strength_with_allies_value - } - } - modifier = { - scope:recipient = { - OR = { - is_allied_to = scope:actor - is_spouse_of = scope:recipient - } - } - add = 50 - } - modifier = { - scope:recipient = { - has_any_cb_on = scope:actor - scope:recipient.current_strength_with_allies_fifty_percent_value > scope:actor.current_strength_with_allies_value - } - add = -50 - } - bp2_hostage_return_personality_modifier = { - WARDEN = scope:actor - HOME_COURT = scope:recipient - } - # Cultural traditions - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - } - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - } - modifier = { - scope:actor = { - is_vassal_of = scope:recipient - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_CULTURAL_TRADITION_REASON - } - #DO NOT SEND BACK FRANKOKRATIA CLAIMANT - modifier = { - scope:hostage = { - has_character_flag = byz_claimant_flag - } - exists = global_var:byz_claimant_champion - factor = 0 - } - } - - send_options_exclusive = no - - show_effects_in_notification = no - greeting = positive - - notification_text = { - } -} - -### Recall hostage - bilateral -# actor = home_court -# recipient = warden -# secondary_recipient = hostage -recall_hostage_interaction = { - category = interaction_category_diplomacy - common_interaction = no - popup_on_receive = yes - pause_on_receive = yes - icon = icon_hostage - - desc = recall_hostage_interaction_desc - - populate_recipient_list = { - scope:actor = { - every_home_court_hostage = { - limit = { warden ?= scope:recipient } - add_to_list = characters - } - } - } - - cost = {} - - is_shown = { - # AI don't use this interaction at all - scope:actor = { is_ai = no } - # Cannot recall hostages from self - NOT = { scope:recipient = scope:actor } - # Must have a hostage - OR = { - scope:actor = { - any_home_court_hostage = { warden ?= scope:recipient } - } - scope:recipient.home_court ?= scope:actor - } - } - - redirect = { - if = { - limit = { - scope:recipient.home_court ?= scope:actor - } - scope:recipient = { save_scope_as = secondary_recipient } - scope:recipient.warden = { save_scope_as = recipient } - } - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - NOR = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - # Only family oriented governments use hostages - scope:actor = { government_has_flag = government_is_theocracy } - scope:recipient = { government_has_flag = government_is_theocracy } - } - } - - # whether a character can be picked for the interaction, interface only (e.g. picking the first character in the marriage interaction) - # in character scope, actor and recipient event targets can be used, but not the secondary characters (because none exist yet) - can_be_picked = {} - - can_send = { - NOT = { - scope:actor = { is_at_war_with = scope:recipient } - } - } - - on_send = {} - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = home_court } - scope:recipient = { save_scope_as = warden } - scope:secondary_recipient = { save_scope_as = hostage } - # Send toast informing sender of acceptance - scope:warden = { - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = recall_hostage_interaction_notification - left_icon = scope:hostage - right_icon = scope:home_court - show_as_tooltip = { - bp2_return_hostage_effect = { HOSTAGE = scope:hostage } - } - } - } - } - scope:home_court = { - send_interface_toast = { - type = event_toast_effect_good - title = recall_hostage_interaction_notification - left_icon = scope:hostage - right_icon = scope:warden - show_as_tooltip = { - bp2_return_hostage_effect = { HOSTAGE = scope:hostage } - } - } - if = { - limit = { has_character_flag = flag_hostile_actions_disabled_delay } - remove_character_flag = flag_hostile_actions_disabled_delay - } - } - # Notify home court with letter event - scope:home_court = { trigger_event = char_interaction.0340 } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0341 - } - } - - ai_accept = { - base = 0 - - ######### PERSONALITY - - bp2_hostage_return_personality_modifier = { - HOME_COURT = scope:actor - WARDEN = scope:recipient - } - - ######### OPINION - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = -0.1 - desc = AI_OPINION_REASON - } - - ######### RELATIONS - - bp2_hostage_relation_modifier = yes - - ######### DREAD - - modifier = { - add = intimidated_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { - add = cowed_halved_reason_value - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - - ######### HOSTAGE IMPORTANCE - - modifier = { - exists = scope:secondary_recipient - add = interaction_recipient_hostage_value - desc = HOSTAGE_VALUE_RECIPIENT_REASON - } - - ######### HOSTAGE TIME - - modifier = { # Hostage is grown up - add = 25 - scope:secondary_recipient = { is_adult = yes } - desc = HOSTAGE_ADULT_REASON - } - modifier = { # Time as a hostage - add = -25 - scope:secondary_recipient = { - hostage_duration = { years < 1 } - } - desc = HOSTAGE_MINIMUM_STAY_REASON - } - modifier = { # Time as a hostage - add = { - value = 10 - scope:secondary_recipient = { - if = { - limit = { - hostage_duration = { years >= 3 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 4 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 5 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 6 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 7 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 8 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 9 } - } - add = 10 - } - if = { - limit = { - hostage_duration = { years >= 10 } - } - add = 10 - } - } - } - scope:secondary_recipient = { - hostage_duration = { years >= 2 } - } - desc = HOSTAGE_DURATION_REASON - } - - ######### RELATIVE POWER - - bp2_hostage_recall_tier_neighbor_modifier = { # Realm relative position - RECALLER = scope:actor - WARDEN = scope:recipient - } - bp2_hostage_claims_casus_bellis_modifier = { # Desire for land/war - SENDER = scope:actor - RECEIVER = scope:recipient - } - bp2_hostage_recall_vassals_lieges_modifier = { # Political situation - RECALLER = scope:actor - WARDEN = scope:recipient - } - bp2_hostage_relative_strength_modifier = { # Relative military strength - SENDER = scope:recipient - RECEIVER = scope:actor - } - modifier = { - desc = HOSTAGE_IMMINENT_THREAT_REASON - scope:actor = { has_any_cb_on = scope:recipient } - scope:actor.current_strength_with_allies_fifty_percent_value > scope:recipient.current_strength_with_allies_value - add = -25 - } - - ######### CULTURAL DIFFERENCES - - bp2_hostage_culture_faith_modifier = { - SENDER = scope:actor - RECEIVER = scope:recipient - } - - ######### CULTURAL TRADITIONS - - modifier = { - scope:recipient = { - culture = { has_cultural_tradition = tradition_equitable } - NOT = { - any_home_court_hostage = { warden = scope:actor } - } - } - scope:secondary_recipient = { - hostage_duration = { years >= 2 } - } - add = 25 - desc = HOSTAGE_EQUITABLE_TRADITION_REASON - } - modifier = { - scope:recipient = { - culture = { has_cultural_tradition = tradition_esteemed_hospitality } - NOT = { - any_home_court_hostage = { warden = scope:actor } - } - } - scope:secondary_recipient = { - hostage_duration = { years >= 2 } - } - add = 25 - desc = HOSTAGE_ESTEEMED_HOSPITALITY_TRADITION_REASON - } - modifier = { - scope:recipient = { - is_vassal_of = scope:actor - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - scope:secondary_recipient = { - hostage_duration = { years >= 2 } - } - add = 25 - desc = HOSTAGE_LOYAL_SUBJECTS_TRADITION_REASON - } - - ######### OTHER - - modifier = { # Hostage died on their watch - exists = scope:actor.var:hostage_died - scope:recipient = { - NOR = { - var:let_my_hostage_die ?= scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_REASON - add = -25 - } - modifier = { # MY Hostage died on their watch - scope:recipient = { - var:let_my_hostage_die ?= scope:actor - NOT = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - } - desc = HOSTAGE_PREVIOUSLY_DIED_HOME_COURT_REASON - add = -100 - } - modifier = { # Killed my hostage!!! - scope:recipient = { - has_opinion_modifier = { - target = scope:actor - modifier = killed_hostage_opinion - } - } - desc = HOSTAGE_KILLED_REASON - add = -200 - } - modifier = { # Already have a truce - scope:actor ?= { has_truce = scope:recipient } - desc = HOSTAGE_ACTOR_EXISTING_TRUCE_REASON - add = 20 - } - modifier = { # Already fighting a war - scope:recipient ?= { is_at_war = yes } - desc = HOSTAGE_AT_WAR_REASON - add = -25 - } - modifier = { # Attacked a hostage's home court - add = -50 - scope:actor = { has_character_modifier = attacked_home_court } - desc = attacked_home_court - } - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { # Has my hostage - add = -50 - scope:recipient = { - any_home_court_hostage = { warden = scope:actor } - } - desc = HOSTAGE_HAS_MINE_REASON - } - #DO NOT SEND BACK FRANKOKRATIA CLAIMANT - modifier = { - desc = crusading_claim_cb_reason - scope:hostage = { - has_character_flag = byz_claimant_flag - } - exists = global_var:byz_claimant_champion - add = -5000 - } - } - - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - show_effects_in_notification = yes - greeting = positive - - notification_text = RECALL_HOSTAGE_PROPOSAL -} - -### Trait interaction for guardians -# actor = guardian -# recipient = ward/hostage -# This has to be update every time a new trait is added to the game, otherwise you won't be able to pass it down -influence_child_personality_interaction = { - category = interaction_category_friendly - common_interaction = yes - interface_priority = 60 - icon = child - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED - pre_answer_no_key = ANSWER_CANT_SUCCEED - pre_answer_yes_key = ANSWER_WILL_SUCCEED - pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE - - desc = influence_child_personality_interaction_desc - - is_shown = { #any ai ward/hostage - has_bp2_dlc_trigger = yes - scope:recipient = { - is_ai = yes - is_adult = no - OR = { - scope:actor = { has_relation_ward = scope:recipient } - is_hostage_of = scope:actor - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { #be old enough to talk and have some room for new personlaity traits - age >= 4 - custom_description = { - text = influence_child_personality_interaction_trait_limit - number_of_personality_traits < 4 - } - is_busy_in_events_localised = yes - #checking all trait individually through the set scope in order to catch if all of your traits are either the same or opposite - custom_description = { - text = influence_child_personality_interaction_all_same_traits - switch = { - trigger = yes - scope:lustful = { - scope:recipient = { NOT = { has_trait = lustful } } - } - scope:chaste = { - scope:recipient = { NOT = { has_trait = chaste } } - } - scope:gluttonous = { - scope:recipient = { NOT = { has_trait = gluttonous } } - } - scope:temperate = { - scope:recipient = { NOT = { has_trait = temperate } } - } - scope:greedy = { - scope:recipient = { NOT = { has_trait = greedy } } - } - scope:generous = { - scope:recipient = { NOT = { has_trait = generous } } - } - scope:lazy = { - scope:recipient = { NOT = { has_trait = lazy } } - } - scope:diligent = { - scope:recipient = { NOT = { has_trait = diligent } } - } - scope:wrathful = { - scope:recipient = { NOT = { has_trait = wrathful } } - } - scope:calm = { - scope:recipient = { NOT = { has_trait = calm } } - } - scope:patient = { - scope:recipient = { NOT = { has_trait = patient } } - } - scope:impatient = { - scope:recipient = { NOT = { has_trait = impatient } } - } - scope:arrogant = { - scope:recipient = { NOT = { has_trait = arrogant } } - } - scope:humble = { - scope:recipient = { NOT = { has_trait = humble } } - } - scope:deceitful = { - scope:recipient = { NOT = { has_trait = deceitful } } - } - scope:honest = { - scope:recipient = { NOT = { has_trait = honest } } - } - scope:craven = { - scope:recipient = { NOT = { has_trait = craven } } - } - scope:brave = { - scope:recipient = { NOT = { has_trait = brave } } - } - scope:shy = { - scope:recipient = { NOT = { has_trait = shy } } - } - scope:gregarious = { - scope:recipient = { NOT = { has_trait = gregarious } } - } - scope:ambitious = { - scope:recipient = { NOT = { has_trait = ambitious } } - } - scope:content = { - scope:recipient = { NOT = { has_trait = content } } - } - scope:arbitrary = { - scope:recipient = { NOT = { has_trait = arbitrary } } - } - scope:just = { - scope:recipient = { NOT = { has_trait = just } } - } - scope:cynical = { - scope:recipient = { NOT = { has_trait = cynical } } - } - scope:zealous = { - scope:recipient = { NOT = { has_trait = zealous } } - } - scope:paranoid = { - scope:recipient = { NOT = { has_trait = paranoid } } - } - scope:trusting = { - scope:recipient = { NOT = { has_trait = trusting } } - } - scope:compassionate = { - scope:recipient = { NOT = { has_trait = compassionate } } - } - scope:callous = { - scope:recipient = { NOT = { has_trait = callous } } - } - scope:sadistic = { - scope:recipient = { NOT = { has_trait = sadistic } } - } - scope:stubborn = { - scope:recipient = { NOT = { has_trait = stubborn } } - } - scope:fickle = { - scope:recipient = { NOT = { has_trait = fickle } } - } - scope:eccentric = { - scope:recipient = { NOT = { has_trait = eccentric } } - } - scope:vengeful = { - scope:recipient = { NOT = { has_trait = vengeful } } - } - scope:forgiving = { - scope:recipient = { NOT = { has_trait = forgiving } } - } - } - } - } - scope:actor = { - is_adult = yes - is_busy_in_events_localised = yes - number_of_personality_traits >= 1 #just in case you have to have at least some personality - } - } - - cooldown_against_recipient = { years = 3 } - - can_send = { - } - #each option is shown if the actor has the corresponding trait and valid if recipient don't have it yet or don't have an opposite trait - send_option = { - is_shown = { - scope:actor = { has_trait = lustful } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = lustful - trait:lustful = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - has_sexuality = none - has_sexuality = asexual - } - } - } - flag = lustful - localization = trait_lustful - } - send_option = { - is_shown = { - scope:actor = { has_trait = chaste } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = chaste - trait:chaste = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - has_sexuality = none - has_sexuality = asexual - } - } - } - flag = chaste - localization = trait_chaste - } - send_option = { - is_shown = { - scope:actor = { has_trait = gluttonous } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = gluttonous - trait:gluttonous = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = gluttonous - localization = trait_gluttonous - } - send_option = { - is_shown = { - scope:actor = { has_trait = temperate } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = temperate - trait:temperate = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = temperate - localization = trait_temperate - } - send_option = { - is_shown = { - scope:actor = { has_trait = greedy } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = greedy - trait:greedy = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = greedy - localization = trait_greedy - } - send_option = { - is_shown = { - scope:actor = { has_trait = generous } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = generous - trait:generous = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = generous - localization = trait_generous - } - send_option = { - is_shown = { - scope:actor = { has_trait = lazy } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = lazy - trait:lazy = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = lazy - localization = trait_lazy - } - send_option = { - is_shown = { - scope:actor = { has_trait = diligent } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = diligent - trait:diligent = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = diligent - localization = trait_diligent - } - send_option = { - is_shown = { - scope:actor = { has_trait = wrathful } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = wrathful - trait:wrathful = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = wrathful - localization = trait_wrathful - } - send_option = { - is_shown = { - scope:actor = { has_trait = calm } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = calm - trait:calm = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = calm - localization = trait_calm - } - send_option = { - is_shown = { - scope:actor = { has_trait = patient } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = patient - trait:patient = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = patient - localization = trait_patient - } - send_option = { - is_shown = { - scope:actor = { has_trait = impatient } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = impatient - trait:impatient = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = impatient - localization = trait_impatient - } - send_option = { - is_shown = { - scope:actor = { has_trait = arrogant } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = arrogant - trait:arrogant = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = arrogant - localization = trait_arrogant - } - send_option = { - is_shown = { - scope:actor = { has_trait = humble } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = humble - trait:humble = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = humble - localization = trait_humble - } - send_option = { - is_shown = { - scope:actor = { has_trait = deceitful } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = deceitful - trait:deceitful = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = deceitful - localization = trait_deceitful - } - send_option = { - is_shown = { - scope:actor = { has_trait = honest } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = honest - trait:honest = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = honest - localization = trait_honest - } - send_option = { - is_shown = { - scope:actor = { has_trait = craven } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = craven - trait:craven = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = craven - localization = trait_craven - } - send_option = { - is_shown = { - scope:actor = { has_trait = brave } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = brave - trait:brave = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = brave - localization = trait_brave - } - send_option = { - is_shown = { - scope:actor = { has_trait = shy } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = shy - trait:shy = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = shy - localization = trait_shy - } - send_option = { - is_shown = { - scope:actor = { has_trait = gregarious } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = gregarious - trait:gregarious = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = gregarious - localization = trait_gregarious - } - send_option = { - is_shown = { - scope:actor = { has_trait = ambitious } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = ambitious - trait:ambitious = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = ambitious - localization = trait_ambitious - } - send_option = { - is_shown = { - scope:actor = { has_trait = content } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = content - trait:content = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = content - localization = trait_content - } - send_option = { - is_shown = { - scope:actor = { has_trait = arbitrary } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = arbitrary - trait:arbitrary = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = arbitrary - localization = trait_arbitrary - } - send_option = { - is_shown = { - scope:actor = { has_trait = just } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = just - trait:just = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = just - localization = trait_just - } - send_option = { - is_shown = { - scope:actor = { has_trait = cynical } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = cynical - trait:cynical = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = cynical - localization = trait_cynical - } - send_option = { - is_shown = { - scope:actor = { has_trait = zealous } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = zealous - trait:zealous = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = zealous - localization = trait_zealous - } - send_option = { - is_shown = { - scope:actor = { has_trait = paranoid } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = paranoid - trait:paranoid = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = paranoid - localization = trait_paranoid - } - send_option = { - is_shown = { - scope:actor = { has_trait = trusting } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = trusting - trait:trusting = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = trusting - localization = trait_trusting - } - send_option = { - is_shown = { - scope:actor = { has_trait = compassionate } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = compassionate - trait:compassionate = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = compassionate - localization = trait_compassionate - } - send_option = { - is_shown = { - scope:actor = { has_trait = callous } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = callous - trait:callous = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = callous - localization = trait_callous - } - send_option = { - is_shown = { - scope:actor = { has_trait = sadistic } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = sadistic - trait:sadistic = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = sadistic - localization = trait_sadistic - } - send_option = { - is_shown = { - scope:actor = { has_trait = stubborn } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = stubborn - trait:stubborn = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = stubborn - localization = trait_stubborn - } - send_option = { - is_shown = { - scope:actor = { has_trait = fickle } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = fickle - trait:fickle = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = fickle - localization = trait_fickle - } - send_option = { - is_shown = { - scope:actor = { has_trait = eccentric } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = eccentric - trait:eccentric = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = eccentric - localization = trait_eccentric - } - send_option = { - is_shown = { - scope:actor = { has_trait = vengeful } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = vengeful - trait:vengeful = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = vengeful - localization = trait_vengeful - } - send_option = { - is_shown = { - scope:actor = { has_trait = forgiving } - } - is_valid = { - scope:recipient = { - NOR = { - has_trait = forgiving - trait:forgiving = { - any_opposite_trait = { - scope:recipient = { has_trait = prev } - } - } - } - } - } - flag = forgiving - localization = trait_forgiving - } - - send_options_exclusive = yes - - on_send = { - switch = {#save which trait was chosen as scope:target_trait - trigger = yes - scope:lustful = { - trait:lustful = { save_scope_as = target_trait } - } - scope:chaste = { - trait:chaste = { save_scope_as = target_trait } - } - scope:gluttonous = { - trait:gluttonous = { save_scope_as = target_trait } - } - scope:temperate = { - trait:temperate = { save_scope_as = target_trait } - } - scope:greedy = { - trait:greedy = { save_scope_as = target_trait } - } - scope:generous = { - trait:generous = { save_scope_as = target_trait } - } - scope:lazy = { - trait:lazy = { save_scope_as = target_trait } - } - scope:diligent = { - trait:diligent = { save_scope_as = target_trait } - } - scope:wrathful = { - trait:wrathful = { save_scope_as = target_trait } - } - scope:calm = { - trait:calm = { save_scope_as = target_trait } - } - scope:patient = { - trait:patient = { save_scope_as = target_trait } - } - scope:impatient = { - trait:impatient = { save_scope_as = target_trait } - } - scope:arrogant = { - trait:arrogant = { save_scope_as = target_trait } - } - scope:humble = { - trait:humble = { save_scope_as = target_trait } - } - scope:deceitful = { - trait:deceitful = { save_scope_as = target_trait } - } - scope:honest = { - trait:honest = { save_scope_as = target_trait } - } - scope:craven = { - trait:craven = { save_scope_as = target_trait } - } - scope:brave = { - trait:brave = { save_scope_as = target_trait } - } - scope:shy = { - trait:shy = { save_scope_as = target_trait } - } - scope:gregarious = { - trait:gregarious = { save_scope_as = target_trait } - } - scope:ambitious = { - trait:ambitious = { save_scope_as = target_trait } - } - scope:content = { - trait:content = { save_scope_as = target_trait } - } - scope:arbitrary = { - trait:arbitrary = { save_scope_as = target_trait } - } - scope:just = { - trait:just = { save_scope_as = target_trait } - } - scope:cynical = { - trait:cynical = { save_scope_as = target_trait } - } - scope:zealous = { - trait:zealous = { save_scope_as = target_trait } - } - scope:paranoid = { - trait:paranoid = { save_scope_as = target_trait } - } - scope:trusting = { - trait:trusting = { save_scope_as = target_trait } - } - scope:compassionate = { - trait:compassionate = { save_scope_as = target_trait } - } - scope:callous = { - trait:callous = { save_scope_as = target_trait } - } - scope:sadistic = { - trait:sadistic = { save_scope_as = target_trait } - } - scope:stubborn = { - trait:stubborn = { save_scope_as = target_trait } - } - scope:fickle = { - trait:fickle = { save_scope_as = target_trait } - } - scope:eccentric = { - trait:eccentric = { save_scope_as = target_trait } - } - scope:vengeful = { - trait:vengeful = { save_scope_as = target_trait } - } - scope:forgiving = { - trait:forgiving = { save_scope_as = target_trait } - } - fallback = { - scope:actor = { - random_character_trait = { - limit = { has_trait_category = personality } - save_scope_as = target_trait - } - } - } - } - } - - on_accept = { - scope:actor = { - # Trait you're trying to make your ward gained is saved as scope:target_trait - trigger_event = bp2_character_interaction.1001 - show_as_tooltip = { - add_prestige = minor_prestige_loss - add_stress = minor_stress_gain - add_opinion = { - target = scope:recipient - modifier = pleased_opinion - opinion = 20 - } - } - } - scope:recipient = { - show_as_tooltip = { - switch = {#save which trait was chosen as scope:target_trait - trigger = yes - scope:lustful = { - trait:lustful = { save_scope_as = target_trait } - } - scope:chaste = { - trait:chaste = { save_scope_as = target_trait } - } - scope:gluttonous = { - trait:gluttonous = { save_scope_as = target_trait } - } - scope:temperate = { - trait:temperate = { save_scope_as = target_trait } - } - scope:greedy = { - trait:greedy = { save_scope_as = target_trait } - } - scope:generous = { - trait:generous = { save_scope_as = target_trait } - } - scope:lazy = { - trait:lazy = { save_scope_as = target_trait } - } - scope:diligent = { - trait:diligent = { save_scope_as = target_trait } - } - scope:wrathful = { - trait:wrathful = { save_scope_as = target_trait } - } - scope:calm = { - trait:calm = { save_scope_as = target_trait } - } - scope:patient = { - trait:patient = { save_scope_as = target_trait } - } - scope:impatient = { - trait:impatient = { save_scope_as = target_trait } - } - scope:arrogant = { - trait:arrogant = { save_scope_as = target_trait } - } - scope:humble = { - trait:humble = { save_scope_as = target_trait } - } - scope:deceitful = { - trait:deceitful = { save_scope_as = target_trait } - } - scope:honest = { - trait:honest = { save_scope_as = target_trait } - } - scope:craven = { - trait:craven = { save_scope_as = target_trait } - } - scope:brave = { - trait:brave = { save_scope_as = target_trait } - } - scope:shy = { - trait:shy = { save_scope_as = target_trait } - } - scope:gregarious = { - trait:gregarious = { save_scope_as = target_trait } - } - scope:ambitious = { - trait:ambitious = { save_scope_as = target_trait } - } - scope:content = { - trait:content = { save_scope_as = target_trait } - } - scope:arbitrary = { - trait:arbitrary = { save_scope_as = target_trait } - } - scope:just = { - trait:just = { save_scope_as = target_trait } - } - scope:cynical = { - trait:cynical = { save_scope_as = target_trait } - } - scope:zealous = { - trait:zealous = { save_scope_as = target_trait } - } - scope:paranoid = { - trait:paranoid = { save_scope_as = target_trait } - } - scope:trusting = { - trait:trusting = { save_scope_as = target_trait } - } - scope:compassionate = { - trait:compassionate = { save_scope_as = target_trait } - } - scope:callous = { - trait:callous = { save_scope_as = target_trait } - } - scope:sadistic = { - trait:sadistic = { save_scope_as = target_trait } - } - scope:stubborn = { - trait:stubborn = { save_scope_as = target_trait } - } - scope:fickle = { - trait:fickle = { save_scope_as = target_trait } - } - scope:eccentric = { - trait:eccentric = { save_scope_as = target_trait } - } - scope:vengeful = { - trait:vengeful = { save_scope_as = target_trait } - } - scope:forgiving = { - trait:forgiving = { save_scope_as = target_trait } - } - } - if = { - limit = { exists = scope:target_trait } - add_trait = scope:target_trait - } - add_opinion = { - target = scope:actor - modifier = admiration_opinion - opinion = 20 - } - } - } - } - - on_decline = { - scope:actor = { - # Trait you're trying to make your ward gained is saved as scope:target_trait - trigger_event = bp2_character_interaction.1002 - show_as_tooltip = { - add_prestige = minor_prestige_loss - add_stress = medium_stress_gain - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -20 - } - } - } - scope:recipient = { - show_as_tooltip = { - add_opinion = { - target = scope:actor - modifier = confused_opinion - opinion = -20 - } - } - } - } - - auto_accept = no - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - - modifier = { # Perk boost - desc = influence_children_groomed_to_rule_perk_tt - trigger = { - scope:actor = { has_perk = groomed_to_rule_perk } - } - add = groomed_to_rule_value - } - - modifier = { #more likely if you already have something in common - add = { - value = 5 - if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:recipient - value = 2 - } - } - multiply = 2 - } - else_if = { - limit = { - number_of_personality_traits_in_common = { - target = scope:recipient - value = 3 - } - } - multiply = 3 - } - } - number_of_personality_traits_in_common = { - target = scope:recipient - value >= 1 - } - desc = we_are_alike_tt - } - - modifier = { #less likely if you already have opposite traits - add = { - value = -5 - if = { - limit = { - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value = 2 - } - } - } - multiply = 2 - } - else_if = { - limit = { - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value = 3 - } - } - } - multiply = 3 - } - } - scope:recipient = { - number_of_opposing_personality_traits = { - target = scope:actor - value >= 1 - } - } - desc = we_are_NOT_alike_tt - } - - modifier = { #adding your knowledge - add = { - value = scope:actor.learning - multiply = 0.5 - } - desc = HAS_LEARNING_SKILL_REASON - } - - modifier = { #adding your oratory skills - add = { - value = scope:actor.diplomacy - multiply = 0.5 - } - desc = HAS_DIPLOMACY_SKILL_REASON - } - - modifier = { #more likely with a Wet Nurse employed - exists = scope:actor.court_position:wet_nurse_court_position - add = 10 - desc = HAS_WET_NURSE_REASON - } - - modifier = { #more likely if chosen trait is a virtue in recipients faith - add = 10 - switch = { - trigger = yes - scope:sadistic = { - scope:recipient.faith = { - trait_is_virtue = trait:sadistic - } - } - scope:lustful = { - scope:recipient.faith = { - trait_is_virtue = trait:lustful - } - } - scope:chaste = { - scope:recipient.faith = { - trait_is_virtue = trait:chaste - } - } - scope:gluttonous = { - scope:recipient.faith = { - trait_is_virtue = trait:gluttonous - } - } - scope:temperate = { - scope:recipient.faith = { - trait_is_virtue = trait:temperate - } - } - scope:greedy = { - scope:recipient.faith = { - trait_is_virtue = trait:greedy - } - } - scope:generous = { - scope:recipient.faith = { - trait_is_virtue = trait:generous - } - } - scope:lazy = { - scope:recipient.faith = { - trait_is_virtue = trait:lazy - } - } - scope:diligent = { - scope:recipient.faith = { - trait_is_virtue = trait:diligent - } - } - scope:wrathful = { - scope:recipient.faith = { - trait_is_virtue = trait:wrathful - } - } - scope:calm = { - scope:recipient.faith = { - trait_is_virtue = trait:calm - } - } - scope:patient = { - scope:recipient.faith = { - trait_is_virtue = trait:patient - } - } - scope:impatient = { - scope:recipient.faith = { - trait_is_virtue = trait:impatient - } - } - scope:arrogant = { - scope:recipient.faith = { - trait_is_virtue = trait:arrogant - } - } - scope:humble = { - scope:recipient.faith = { - trait_is_virtue = trait:humble - } - } - scope:deceitful = { - scope:recipient.faith = { - trait_is_virtue = trait:deceitful - } - } - scope:honest = { - scope:recipient.faith = { - trait_is_virtue = trait:honest - } - } - scope:craven = { - scope:recipient.faith = { - trait_is_virtue = trait:craven - } - } - scope:brave = { - scope:recipient.faith = { - trait_is_virtue = trait:brave - } - } - scope:shy = { - scope:recipient.faith = { - trait_is_virtue = trait:shy - } - } - scope:gregarious = { - scope:recipient.faith = { - trait_is_virtue = trait:gregarious - } - } - scope:ambitious = { - scope:recipient.faith = { - trait_is_virtue = trait:ambitious - } - } - scope:content = { - scope:recipient.faith = { - trait_is_virtue = trait:content - } - } - scope:arbitrary = { - scope:recipient.faith = { - trait_is_virtue = trait:arbitrary - } - } - scope:just = { - scope:recipient.faith = { - trait_is_virtue = trait:just - } - } - scope:cynical = { - scope:recipient.faith = { - trait_is_virtue = trait:cynical - } - } - scope:zealous = { - scope:recipient.faith = { - trait_is_virtue = trait:zealous - } - } - scope:paranoid = { - scope:recipient.faith = { - trait_is_virtue = trait:paranoid - } - } - scope:trusting = { - scope:recipient.faith = { - trait_is_virtue = trait:trusting - } - } - scope:compassionate = { - scope:recipient.faith = { - trait_is_virtue = trait:compassionate - } - } - scope:callous = { - scope:recipient.faith = { - trait_is_virtue = trait:callous - } - } - scope:stubborn = { - scope:recipient.faith = { - trait_is_virtue = trait:stubborn - } - } - scope:fickle = { - scope:recipient.faith = { - trait_is_virtue = trait:fickle - } - } - scope:eccentric = { - scope:recipient.faith = { - trait_is_virtue = trait:eccentric - } - } - scope:vengeful = { - scope:recipient.faith = { - trait_is_virtue = trait:vengeful - } - } - scope:forgiving = { - scope:recipient.faith = { - trait_is_virtue = trait:forgiving - } - } - } - desc = selected_virtuous_trait_tt - } - - modifier = { #more likely if chosen trait is compatible with recipients childhood personality - add = 15 - switch = { - trigger = yes - scope:sadistic = { - scope:recipient = { - OR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:lustful = { - scope:recipient = { - OR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:chaste = { - scope:recipient = { - has_trait = pensive - } - } - scope:gluttonous = { - scope:recipient = { - OR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:temperate = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:greedy = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:generous = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = curious - } - } - } - scope:lazy = { - scope:recipient = { - has_trait = rowdy - } - } - scope:diligent = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = curious - } - } - } - scope:wrathful = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:calm = { - scope:recipient = { - has_trait = pensive - } - } - scope:patient = { - scope:recipient = { - has_trait = pensive - } - } - scope:impatient = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:arrogant = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:humble = { - scope:recipient = { - has_trait = pensive - } - } - scope:deceitful = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = charming - } - } - } - scope:honest = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = rowdy - } - } - } - scope:craven = { - scope:recipient = { - has_trait = pensive - } - } - scope:brave = { - scope:recipient = { - OR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:shy = { - scope:recipient = { - has_trait = pensive - } - } - scope:gregarious = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = curious - } - } - } - scope:ambitious = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = curious - } - } - } - scope:content = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:arbitrary = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:just = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:cynical = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = pensive - } - } - } - scope:zealous = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = curious - } - } - } - scope:paranoid = { - scope:recipient = { - OR = { - has_trait = pensive - has_trait = rowdy - } - } - } - scope:trusting = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = curious - } - } - } - scope:compassionate = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = pensive - } - } - } - scope:callous = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:stubborn = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = curious - } - } - } - scope:fickle = { - scope:recipient = { - OR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:eccentric = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = charming - has_trait = curious - } - } - } - scope:vengeful = { - scope:recipient = { - OR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:forgiving = { - scope:recipient = { - OR = { - has_trait = charming - has_trait = curious - } - } - } - } - desc = has_compatible_personality_tt - } - - modifier = { #less likely if chosen trait is incompatible with recipients childhood personality - add = -15 - switch = { - trigger = yes - scope:sadistic = { - scope:recipient = { - NOR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:lustful = { - scope:recipient = { - NOR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:chaste = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:gluttonous = { - scope:recipient = { - NOR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:temperate = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:greedy = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:generous = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = curious - } - } - } - scope:lazy = { - scope:recipient = { - NOT = { has_trait = rowdy } - } - } - scope:diligent = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = curious - } - } - } - scope:wrathful = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:calm = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:patient = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:impatient = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:arrogant = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:humble = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:deceitful = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = charming - } - } - } - scope:honest = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = rowdy - } - } - } - scope:craven = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:brave = { - scope:recipient = { - NOR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:shy = { - scope:recipient = { - NOT = { has_trait = pensive } - } - } - scope:gregarious = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = curious - } - } - } - scope:ambitious = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = curious - } - } - } - scope:content = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:arbitrary = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:just = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = charming - } - } - } - scope:cynical = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = pensive - } - } - } - scope:zealous = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = curious - } - } - } - scope:paranoid = { - scope:recipient = { - NOR = { - has_trait = pensive - has_trait = rowdy - } - } - } - scope:trusting = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = curious - } - } - } - scope:compassionate = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = pensive - } - } - } - scope:callous = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:stubborn = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = curious - } - } - } - scope:fickle = { - scope:recipient = { - NOR = { - has_trait = curious - has_trait = rowdy - } - } - } - scope:eccentric = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = charming - has_trait = curious - } - } - } - scope:vengeful = { - scope:recipient = { - NOR = { - has_trait = bossy - has_trait = rowdy - } - } - } - scope:forgiving = { - scope:recipient = { - NOR = { - has_trait = charming - has_trait = curious - } - } - } - } - desc = has_incompatible_personality_tt - } - - modifier = { #less likely if chosen trait is a sin in recipients faith - add = -10 - switch = { - trigger = yes - scope:sadistic = { - scope:recipient.faith = { - trait_is_sin = trait:sadistic - } - } - scope:lustful = { - scope:recipient.faith = { - trait_is_sin = trait:lustful - } - } - scope:chaste = { - scope:recipient.faith = { - trait_is_sin = trait:chaste - } - } - scope:gluttonous = { - scope:recipient.faith = { - trait_is_sin = trait:gluttonous - } - } - scope:temperate = { - scope:recipient.faith = { - trait_is_sin = trait:temperate - } - } - scope:greedy = { - scope:recipient.faith = { - trait_is_sin = trait:greedy - } - } - scope:generous = { - scope:recipient.faith = { - trait_is_sin = trait:generous - } - } - scope:lazy = { - scope:recipient.faith = { - trait_is_sin = trait:lazy - } - } - scope:diligent = { - scope:recipient.faith = { - trait_is_sin = trait:diligent - } - } - scope:wrathful = { - scope:recipient.faith = { - trait_is_sin = trait:wrathful - } - } - scope:calm = { - scope:recipient.faith = { - trait_is_sin = trait:calm - } - } - scope:patient = { - scope:recipient.faith = { - trait_is_sin = trait:patient - } - } - scope:impatient = { - scope:recipient.faith = { - trait_is_sin = trait:impatient - } - } - scope:arrogant = { - scope:recipient.faith = { - trait_is_sin = trait:arrogant - } - } - scope:humble = { - scope:recipient.faith = { - trait_is_sin = trait:humble - } - } - scope:deceitful = { - scope:recipient.faith = { - trait_is_sin = trait:deceitful - } - } - scope:honest = { - scope:recipient.faith = { - trait_is_sin = trait:honest - } - } - scope:craven = { - scope:recipient.faith = { - trait_is_sin = trait:craven - } - } - scope:brave = { - scope:recipient.faith = { - trait_is_sin = trait:brave - } - } - scope:shy = { - scope:recipient.faith = { - trait_is_sin = trait:shy - } - } - scope:gregarious = { - scope:recipient.faith = { - trait_is_sin = trait:gregarious - } - } - scope:ambitious = { - scope:recipient.faith = { - trait_is_sin = trait:ambitious - } - } - scope:content = { - scope:recipient.faith = { - trait_is_sin = trait:content - } - } - scope:arbitrary = { - scope:recipient.faith = { - trait_is_sin = trait:arbitrary - } - } - scope:just = { - scope:recipient.faith = { - trait_is_sin = trait:just - } - } - scope:cynical = { - scope:recipient.faith = { - trait_is_sin = trait:cynical - } - } - scope:zealous = { - scope:recipient.faith = { - trait_is_sin = trait:zealous - } - } - scope:paranoid = { - scope:recipient.faith = { - trait_is_sin = trait:paranoid - } - } - scope:trusting = { - scope:recipient.faith = { - trait_is_sin = trait:trusting - } - } - scope:compassionate = { - scope:recipient.faith = { - trait_is_sin = trait:compassionate - } - } - scope:callous = { - scope:recipient.faith = { - trait_is_sin = trait:callous - } - } - scope:stubborn = { - scope:recipient.faith = { - trait_is_sin = trait:stubborn - } - } - scope:fickle = { - scope:recipient.faith = { - trait_is_sin = trait:fickle - } - } - scope:eccentric = { - scope:recipient.faith = { - trait_is_sin = trait:eccentric - } - } - scope:vengeful = { - scope:recipient.faith = { - trait_is_sin = trait:vengeful - } - } - scope:forgiving = { - scope:recipient.faith = { - trait_is_sin = trait:forgiving - } - } - } - desc = selected_sinful_trait_tt - } - - modifier = { #more likely if actor is afraid of you - add = intimidated_halved_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = INTIMIDATED_REASON - } - modifier = { #more likely if actor is afraid of you - add = cowed_halved_reason_value - scope:recipient = { - target_is_liege_or_above = scope:actor - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = COWED_REASON - } - modifier = { #less likely if actor already has 3 personality traits - add = -50 - scope:recipient = { - number_of_personality_traits = 3 - } - desc = has_three_traits_already - } - } - - # AI - ai_potential = { - any_relation = { - type = ward - count >= 1 - } - } - ai_frequency = 12 - ai_targets = { - ai_recipients = courtiers - } - ai_will_do = { - base = -100 - modifier = { # If the recipient is a player, do not bother sending - factor = 0 - scope:recipient = { - is_ai = no - } - } - modifier = { #we don't want characters running around with 4 traits - add = -100 - scope:recipient = { - number_of_personality_traits = 3 - } - } - modifier = { - add = 50 - ai_honor > 0 - } - modifier = { - add = 50 - ai_compassion > 0 - } - modifier = { - add = 50 - ai_sociability > 0 - } - modifier = { - add = 50 - ai_boldness > 0 - } - modifier = { - add = 50 - scope:paranoid = yes - } - } -} - diff --git a/N3OW/common/character_interactions/06_ep3_interactions.txt b/N3OW/common/character_interactions/06_ep3_interactions.txt deleted file mode 100644 index 32741de4..00000000 --- a/N3OW/common/character_interactions/06_ep3_interactions.txt +++ /dev/null @@ -1,12526 +0,0 @@ -# PLAYER ONLY - AI uses the two separate interactions below this ( Promote/Harm Candidacy) -influence_candidacy_interaction = { - icon = support_candidacy - category = interaction_category_succession - common_interaction = yes - interface_priority = 100 - desc = influence_candidacy_interaction_desc - - target_type = title - target_filter = recipient_de_jure_titles - - custom_character_sort = { governor_efficiency candidate_score } - - populate_recipient_list = { - scope:actor = { - house ?= { - every_house_member = { - limit = { - is_independent_ruler = no - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - any_valid_title_to_grant_trigger = { - CANDIDATE = this - TOP_LIEGE = scope:actor.top_liege - } - } - add_to_list = characters - } - } - if = { - limit = { primary_title.tier >= tier_kingdom } - every_courtier_or_guest = { - limit = { - is_independent_ruler = no - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - any_valid_title_to_grant_trigger = { - CANDIDATE = this - TOP_LIEGE = scope:actor.top_liege - } - } - add_to_list = characters - } - } - } - } - - can_be_picked_title = { - trigger_if = { - limit = { exists = scope:secondary_recipient } - is_appointment_valid_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - TOP_LIEGE = scope:recipient - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - exists = holder - is_noble_family_title = no - holder = { - top_liege = scope:recipient - OR = { - has_realm_law = acclamation_succession_law - has_realm_law = appointment_succession_law - } - } - } - } - - is_shown = { - scope:actor = { - is_ai = no - government_has_flag = government_is_administrative - } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { - is_independent_ruler = no - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - } - - is_valid_showing_failures_only = { - } - - can_send = { - trigger_if = { - limit = { - OR = { - scope:as_much_as_needed_influence_option = yes - scope:major_influence_option = yes - scope:medium_influence_option = yes - } - } - scope:actor = { - custom_tooltip = { - text = support_candidacy_cap_reached_tt - succession_appointment_score_invested = { - title = scope:target - candidate = scope:secondary_recipient - value < scope:actor.appointment_investment_cap - } - } - } - - # Check if the target is available or if they have decided to not compete for the throne - trigger_if = { - limit = { - exists = scope:target - scope:target.tier = scope:recipient.highest_held_title_tier - } - scope:secondary_recipient = { - custom_tooltip = { - text = admin_renounce_throne_desc - NOR = { - has_character_modifier = ep3_admin_renounce_throne_personal - house ?= { has_house_modifier = ep3_admin_renounce_throne_house } - } - } - } - } - } - } - - redirect = { - scope:recipient = { - if = { - limit = { - NOT = { this = scope:actor.top_liege } - } - save_scope_as = secondary_recipient - scope:actor.top_liege = { - save_scope_as = recipient - } - } - } - } - - auto_accept = yes - - send_option = { - flag = as_much_as_needed_influence_option - localization = "as_much_as_needed_influence_option_desc" - is_valid = { - trigger_if = { - limit = { - exists = scope:target - exists = scope:secondary_recipient - } - custom_tooltip = { - text = already_first_in_line_influence_option_desc - NOT = { scope:target.current_heir = scope:secondary_recipient } - } - } - } - } - send_option = { - flag = major_influence_option - localization = "major_influence_option_desc" - } - send_option = { - flag = medium_influence_option - localization = "medium_influence_option_desc" - starts_enabled = { always = yes } - } - send_option = { - flag = medium_influence_loss_option - localization = "medium_influence_loss_option_desc" - } - send_option = { - flag = major_influence_loss_option - localization = "major_influence_loss_option_desc" - } - - cost = { - influence = { - # Base cost - switch = { - trigger = yes - scope:as_much_as_needed_influence_option = { - add = { - if = { - limit = { exists = scope:secondary_recipient } - value = { - add = { - value = "scope:target.current_heir.appointment_candidate_score(scope:target)" - multiply = 1.1 - } - subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)" - multiply = 5 - min = 20 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir - } - } - else = { value = 20 } # Show the default cost if there is no candidate selected yet - desc = BASE - } - } - scope:major_influence_option = { - add = { - value = appointment_major_influence_cost - desc = BASE - } - } - scope:medium_influence_option = { - add = { - value = appointment_medium_influence_cost - desc = BASE - } - } - scope:medium_influence_loss_option = { - add = { - value = appointment_medium_influence_cost - desc = BASE - } - } - scope:major_influence_loss_option = { - add = { - value = appointment_major_influence_cost - desc = BASE - } - } - } - - save_temporary_value_as = calculated_base_cost - - # Gender modifiers - if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = male_preference_law } - is_female = yes - } - } - if = { - limit = { - OR = { - scope:medium_influence_loss_option = yes - scope:major_influence_loss_option = yes - } - } - add = { - value = scope:calculated_base_cost - multiply = -0.5 - desc = male_preference_law - } - } - else = { - add = { # Double the (base) cost - value = scope:calculated_base_cost - desc = male_preference_law - } - } - } - else_if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = female_preference_law } - is_female = no - } - } - if = { - limit = { - OR = { - scope:medium_influence_loss_option = yes - scope:major_influence_loss_option = yes - } - } - add = { - value = scope:calculated_base_cost - multiply = -0.5 - desc = female_preference_law - } - } - else = { - add = { # Double the (base) cost - value = scope:calculated_base_cost - desc = female_preference_law - } - } - } - - - # Local bonuses - if = { - limit = { - scope:actor = { - domicile ?= { - domicile_location.county = { - scope:target ?= { is_de_jure_liege_or_above_target = prev } - } - } - } - scope:target ?= { tier < tier_empire } - } - add = { - value = scope:calculated_base_cost - multiply = { - value = -0.25 - if = { - limit = { # Increase the bonus if you have the "office" estate upgrade - scope:actor = { - domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction } - } - } - add = estate_local_theme_cost_reduction_value - } - } - desc = estate_location_in_area - } - } - - # Bureaucracy Legacy Perk Discount - if = { - limit = { - scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 } - } - add = { - value = scope:calculated_base_cost - multiply = -0.1 - desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]" - } - } - - # A dominant family gets to spend less influence - if = { - limit = { - scope:actor.house ?= { is_dominant_family = yes } - } - add = { - value = scope:calculated_base_cost - multiply = -0.5 - desc = "[dominant_family|E]" - } - } - } - } - - localization_values = { - AS_MUCH_AS_NEEDED_INFLUENCE_OPTION = scope:actor.appointment_score_max_tt_value - MAJOR_INFLUENCE_OPTION = scope:actor.appointment_score_major_tt_value - MEDIUM_INFLUENCE_OPTION = scope:actor.appointment_score_medium_tt_value - MEDIUM_INFLUENCE_LOSS_OPTION = scope:actor.appointment_score_medium_loss_tt_value - MAJOR_INFLUENCE_LOSS_OPTION = scope:actor.appointment_score_major_loss_tt_value - } - - on_accept = { - switch = { - trigger = yes - scope:as_much_as_needed_influence_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = 0 - if = { - limit = { exists = scope:target } - add = { - value = "scope:target.current_heir.appointment_candidate_score(scope:target)" - multiply = 1.1 - } - subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)" - } - min = 4 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - if = { - limit = { - scope:support_candidate_score >= 100 - } - save_scope_value_as = { - name = opinion_change_value - value = 25 - } - } - else_if = { - limit = { - scope:support_candidate_score >= 80 - } - save_scope_value_as = { - name = opinion_change_value - value = 20 - } - } - else_if = { - limit = { - scope:support_candidate_score >= 60 - } - save_scope_value_as = { - name = opinion_change_value - value = 15 - } - } - else_if = { - limit = { - scope:support_candidate_score >= 40 - } - save_scope_value_as = { - name = opinion_change_value - value = 10 - } - } - else_if = { - limit = { - scope:support_candidate_score >= 20 - } - save_scope_value_as = { - name = opinion_change_value - value = 5 - } - } - else_if = { - limit = { - scope:support_candidate_score >= 10 - } - save_scope_value_as = { - name = opinion_change_value - value = 3 - } - } - else = { - save_scope_value_as = { - name = opinion_change_value - value = 1 - } - } - } - scope:major_influence_option = { - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_major_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = 10 - } - } - scope:medium_influence_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_medium_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = 5 - } - } - scope:medium_influence_loss_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_medium_loss_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = -10 - } - } - scope:major_influence_loss_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_major_loss_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = -20 - } - } - } - - # Update the score for the corresponding title - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:support_candidate_score - } - if = { - limit = { appointment_interactions_recipient_is_suitable_co_emperor_trigger = yes } - diarch_promoted_as_administrative_candidate_get_best_tooltip_effect = yes - } - } - - if = { - limit = { - OR = { - scope:as_much_as_needed_influence_option = yes - scope:major_influence_option = yes - scope:medium_influence_option = yes - } - } - # Notify the supported character (unless they are the actor) - scope:secondary_recipient ?= { - if = { - limit = { - NOT = { this = scope:actor } - } - hidden_effect = { - send_interface_message = { - type = msg_candidacy_improved - title = supported_candidacy_toast - left_icon = scope:actor - right_icon = scope:target - show_as_tooltip = { - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:support_candidate_score - } - } - } - } - } - } - if = { - limit = { - NOT = { house ?= scope:actor.house } - } - add_opinion = { - modifier = supported_candidacy_opinion - target = scope:actor - opinion = scope:opinion_change_value - } - custom_tooltip = support_candidacy_success_reward_tt - } - } - } - else = { - # Notify the harmed character (unless they are the actor) - scope:secondary_recipient ?= { - if = { - limit = { this != scope:actor } - hidden_effect = { - send_interface_message = { - type = msg_candidacy_harmed - title = harmed_candidacy_toast - left_icon = scope:actor - right_icon = scope:target - show_as_tooltip = { - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:support_candidate_score - } - } - } - } - } - add_opinion = { - modifier = harmed_candidacy_opinion - target = scope:actor - opinion = scope:opinion_change_value - } - } - } - } - } -} - -# AI ONLY - Interaction is referenced in code, please don't rename it used by AI from code -support_candidacy_interaction = { - icon = support_candidacy - common_interaction = yes - hidden = yes - - desc = support_candidacy_interaction_desc - - target_type = title - target_filter = recipient_de_jure_titles - - can_be_picked_title = { - is_appointment_valid_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - TOP_LIEGE = scope:recipient - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - exists = holder - is_noble_family_title = no - holder = { - top_liege = scope:recipient - has_realm_law_flag = appointment_type_succession - } - } - } - - is_shown = { - scope:actor = { - is_ai = yes - government_has_flag = government_is_administrative - } - scope:secondary_recipient = { - is_independent_ruler = no - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:secondary_recipient ?= { - # This is broken out from any_valid_title_to_grant_trigger because of performance reasons - # When realms get really large, the AI needs a fixed pool of characters to promote - # Otherwise performance tanks significantly in the form of 'stutters'or smaller freezes - trigger_if = { # First, if the realm is enormous, restrict the candidate pool to the most immediate of family members - limit = { - scope:actor.top_liege.realm_size >= 250 - NOR = { - this = scope:actor - scope:actor.primary_heir ?= this - scope:actor.house.house_head ?= this - is_close_family_of = scope:actor - } - } - static_group_filter = { - group = ai_filter - match = { - value = 1 - subtract = { - add = scope:actor.top_liege.realm_size - multiply = 0.001 - multiply = 3 - min = 0.1 - max = 0.9 - } - } - } - } - trigger_else_if = { # Otherwise, go for close + extended family - limit = { - scope:actor.top_liege.realm_size >= 150 - NOR = { - this = scope:actor - scope:actor.primary_heir ?= this - scope:actor.house.house_head ?= this - is_close_or_extended_family_of = scope:actor - } - } - static_group_filter = { - group = ai_filter - match = { - value = 1 - subtract = { - add = scope:actor.top_liege.realm_size - multiply = 0.001 - multiply = 3 - min = 0.1 - max = 0.9 - } - } - } - } - trigger_else = { - always = yes - } - trigger_if = { # If the realm is large enough, the AI starts ignoring counties in their support - limit = { - scope:actor.top_liege.realm_size >= 150 - } - save_temporary_scope_as = candidate_temp - custom_tooltip = { - text = support_candidacy_can_appoint_for_title_tt - scope:recipient.primary_title = { - any_in_de_jure_hierarchy = { - continue = { - tier > tier_duchy - tier <= tier_county - } - - save_temporary_scope_as = title_temp - scope:candidate_temp = { can_appoint_for_title = scope:title_temp } - } - } - } - } - trigger_else = { - save_temporary_scope_as = candidate_temp - custom_tooltip = { - text = support_candidacy_can_appoint_for_title_tt - scope:recipient.primary_title = { - any_in_de_jure_hierarchy = { - continue = { - tier > tier_duchy - } - - save_temporary_scope_as = title_temp - scope:candidate_temp = { can_appoint_for_title = scope:title_temp } - } - } - } - } - } - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - } - } - - can_send = { - is_appointment_valid_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - TOP_LIEGE = scope:recipient - } - } - - redirect = { - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:actor.top_liege = { - save_scope_as = recipient - } - } - - auto_accept = yes - - send_option = { - flag = as_much_as_needed_influence_option - localization = as_much_as_needed_influence_option_desc - } - send_option = { - flag = major_influence_option - localization = major_influence_option_desc - } - send_option = { - flag = medium_influence_option - localization = medium_influence_option_desc - starts_enabled = { always = yes } - } - - cost = { - influence = { - # Base cost - switch = { - trigger = yes - scope:as_much_as_needed_influence_option = { - add = { - value = { - add = { - value = "scope:target.current_heir.appointment_candidate_score(scope:target)" - multiply = 1.1 - } - subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)" - multiply = 5 - min = 20 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir - } - desc = BASE - } - } - scope:major_influence_option = { - add = { - value = appointment_major_influence_cost - desc = BASE - } - } - scope:medium_influence_option = { - add = { - value = appointment_medium_influence_cost - desc = BASE - } - } - } - - save_temporary_value_as = calculated_base_cost - - # Gender modifiers - if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = male_preference_law } - is_female = yes - } - } - add = { # Double the (base) cost - value = scope:calculated_base_cost - desc = male_preference_law - } - } - else_if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = female_preference_law } - is_female = no - } - } - add = { # Double the (base) cost - value = scope:calculated_base_cost - desc = female_preference_law - } - } - - - # Local bonuses - if = { - limit = { - scope:actor = { - domicile ?= { - domicile_location.county = { - scope:target ?= { is_de_jure_liege_or_above_target = prev } - } - } - } - scope:target ?= { tier < tier_empire } - } - add = { - value = scope:calculated_base_cost - multiply = { - value = -0.25 - if = { - limit = { # Increase the bonus if you have the "office" estate upgrade - scope:actor = { - domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction } - } - } - add = estate_local_theme_cost_reduction_value - } - } - desc = estate_location_in_area - } - } - - # Bureaucracy Legacy Perk Discount - if = { - limit = { - scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 } - } - add = { - value = scope:calculated_base_cost - multiply = -0.1 - desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]" - } - } - } - } - - on_accept = { - switch = { - trigger = yes - scope:as_much_as_needed_influence_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = 0 - if = { - limit = { exists = scope:target } - add = { - value = "scope:target.current_heir.appointment_candidate_score(scope:target)" - multiply = 1.1 - } - subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)" - } - min = 4 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = 20 - } - } - scope:major_influence_option = { - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_major_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = 10 - } - } - scope:medium_influence_option = { - # Save the score value - save_scope_value_as = { - name = support_candidate_score - value = { - value = appointment_score_medium_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = 5 - } - } - } - - # Update the score for the corresponding title - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:support_candidate_score - } - if = { - limit = { appointment_interactions_recipient_is_suitable_co_emperor_trigger = yes } - diarch_promoted_as_administrative_candidate_get_best_tooltip_effect = yes - } - } - - - # Notify the supported character (unless they are the actor) - scope:secondary_recipient = { - if = { - limit = { - NOT = { this = scope:actor } - } - hidden_effect = { - send_interface_message = { - type = msg_candidacy_improved - title = supported_candidacy_toast - left_icon = scope:actor - right_icon = scope:target - show_as_tooltip = { - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:support_candidate_score - } - } - } - } - } - } - } - if = { - limit = { - scope:secondary_recipient = { - NOT = { - house ?= scope:actor.house - } - } - } - scope:secondary_recipient = { - add_opinion = { - modifier = supported_candidacy_opinion - target = scope:actor - opinion = scope:opinion_change_value - } - } - } - - scope:secondary_recipient = { - custom_tooltip = support_candidacy_success_reward_tt - } - } - - # AI - # Interaction is used by AI in code, don't change the frequency - ai_frequency = 0 - - ai_will_do = { - base = 5 - - # No one promoting... ripe for the taking - modifier = { - scope:target = { - holder = { - has_realm_law_flag = appointment_type_succession - } - NOT = { - any_title_heir = { - "appointment_candidate_accumulated_score(scope:target)" > 0 - } - } - NOT = { - current_heir = { - exists = house - exists = scope:actor.house - house = scope:actor.house - } - } - } - add = 150 - } - - # Spending more influence in one go is better - modifier = { - scope:major_influence_option = yes - factor = 1.1 - } - - # Promote characters we like - modifier = { - scope:actor = { - opinion = { - target = scope:secondary_recipient - value >= medium_positive_opinion - } - } - factor = 1.5 - } - modifier = { - scope:secondary_recipient = { - is_close_family_of = scope:actor - } - factor = 3 - } - modifier = { - scope:secondary_recipient = { - is_extended_family_of = scope:actor - } - factor = 1.5 - } - modifier = { - scope:actor = { - has_relation_friend = scope:secondary_recipient - } - factor = 2 - } - modifier = { - scope:actor = { - has_relation_best_friend = scope:secondary_recipient - } - factor = 10 - } - - # For the imperial title, we want to promote ourselves - modifier = { - scope:target.tier >= tier_empire - scope:actor = scope:secondary_recipient - factor = 5 - } - - # Prefer unlanded relatives - modifier = { - scope:target.tier < tier_empire - scope:secondary_recipient = { - is_ruler = no - } - factor = 2 - } - - # Prefer titles that are somewhat close to the capital - modifier = { - exists = scope:recipient.capital_province # Make sure the top liege has a capital - scope:target = { - title_capital_county = { - squared_distance = { - target = scope:recipient.capital_province - value <= 130000 - } - } - } - factor = 1.1 - } - - # Try to avoid promoting the same candidate for multiple titles if they are winning a title already - modifier = { - scope:secondary_recipient = { - any_heir_title = { - is_noble_family_title = no - holder = { - government_has_flag = government_is_administrative - } - } - } - factor = 0 - } - - # Promote only one house member for each title - modifier = { - scope:target = { - holder = { - has_realm_law_flag = appointment_type_succession - } - any_title_heir = { - exists = house - exists = scope:actor.house - house = scope:actor.house - "appointment_candidate_accumulated_score(scope:target)" > 0 - } - } - scope:secondary_recipient = { - exists = house - exists = scope:actor.house - house = scope:actor.house - "appointment_candidate_accumulated_score(scope:target)" <= 0 - } - factor = 0 - } - - # Don't promote rivals - modifier = { - scope:actor = { - has_relation_rival = scope:secondary_recipient - } - factor = 0 - } - - # Don't promote a candidate if your house is first in line - modifier = { - scope:target = { - any_title_heir = { - exists = house - exists = scope:actor.house - house = scope:actor.house - scope:target = { - place_in_line_of_succession = { - target = prev - value = 1 - } - } - } - } - factor = 0 - } - - # Don't promote your candidate if they are first in line - modifier = { - scope:target = { - any_title_heir = { - this = scope:secondary_recipient - scope:target = { - place_in_line_of_succession = { - target = prev - value = 1 - } - } - } - } - factor = 0 - } - - # Don't promote lowborn or characters of a different house - modifier = { - NOT = { exists = scope:secondary_recipient.house } - factor = 0 - } - modifier = { - exists = scope:secondary_recipient.house - exists = scope:actor.house - NOT = { scope:actor.house = scope:secondary_recipient.house } - factor = 0 - } - - modifier = { # For now - scope:actor.top_liege = { has_realm_law = male_preference_law } - scope:secondary_recipient = { is_female = yes } - factor = 0 - } - modifier = { # For now - scope:actor.top_liege = { has_realm_law = female_preference_law } - scope:secondary_recipient = { is_male = yes } - factor = 0 - } - - # Don't outcompete someone you like - modifier = { - scope:target = { - any_title_heir = { - scope:target = { - place_in_line_of_succession = { - target = prev - value <= 3 - } - } - scope:actor = { has_any_good_relationship_with_character_trigger = { CHARACTER = prev } } - } - } - factor = 0 - } - - # Don't support someone who has renounced their aspirations for the throne - modifier = { - scope:secondary_recipient = { - OR = { - has_character_modifier = ep3_admin_renounce_throne_personal - house ?= { has_house_modifier = ep3_admin_renounce_throne_house } - } - } - scope:target.tier = scope:recipient.highest_held_title_tier - factor = 0 - } - } -} - -# AI ONLY - Smear campaign against a character to reduce score -harm_candidacy_interaction = { - icon = harm_candidacy - common_interaction = yes - hidden = yes - - desc = harm_candidacy_interaction_desc - - target_type = title - target_filter = secondary_recipient_de_jure_titles - - can_be_picked_title = { - is_candidate_for_title_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - exists = holder - holder = { - top_liege = scope:recipient - has_realm_law_flag = appointment_type_succession - } - } - } - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - } - scope:secondary_recipient = { - is_independent_ruler = no - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - any_valid_title_to_grant_trigger = { - CANDIDATE = scope:secondary_recipient - TOP_LIEGE = scope:recipient - } - } - - can_send = { - is_candidate_for_title_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - } - } - - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - scope:actor.top_liege = { save_scope_as = recipient } - } - - auto_accept = yes - - send_option = { - flag = minor_influence_option - localization = minor_influence_option_desc - starts_enabled = { always = yes } - } - send_option = { - flag = medium_influence_option - localization = medium_influence_option_desc - } - send_option = { - flag = major_influence_option - localization = major_influence_option_desc - } - - cost = { - influence = { - # Base cost - switch = { - trigger = yes - scope:minor_influence_option = { - add = { - value = appointment_minor_influence_cost - desc = BASE - } - } - scope:medium_influence_option = { - add = { - value = appointment_medium_influence_cost - desc = BASE - } - } - scope:major_influence_option = { - add = { - value = appointment_major_influence_cost - desc = BASE - } - } - } - - save_temporary_value_as = calculated_base_cost - - # Gender modifiers - if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = male_preference_law } - is_female = yes - } - } - add = { - value = scope:calculated_base_cost - multiply = -0.5 - desc = male_preference_law - } - } - else_if = { - limit = { - scope:secondary_recipient ?= { - top_liege = { has_realm_law = female_preference_law } - is_female = no - } - } - add = { - value = scope:calculated_base_cost - multiply = -0.5 - desc = female_preference_law - } - } - - - # Local bonuses - if = { - limit = { - scope:actor = { - domicile ?= { - domicile_location.county = { - scope:target ?= { is_de_jure_liege_or_above_target = prev } - } - } - } - scope:target ?= { tier < tier_empire } - } - add = { - value = scope:calculated_base_cost - multiply = { - value = -0.25 - if = { - limit = { # Increase the bonus if you have the "office" estate upgrade - scope:actor = { - domicile ?= { has_domicile_parameter = estate_local_theme_cost_reduction } - } - } - add = estate_local_theme_cost_reduction_value - } - } - desc = estate_location_in_area - } - } - - # Bureaucracy Legacy Perk Discount - if = { - limit = { - scope:actor.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_2 } - } - add = { - value = scope:calculated_base_cost - multiply = -0.1 - desc = "[GetDynastyPerk('ep3_administrative_legacy_2').GetName]" - } - } - } - } - - on_accept = { - switch = { - trigger = yes - scope:minor_influence_option = { - # Save the score value - save_scope_value_as = { - name = harm_candidate_score - value = { - value = appointment_score_minor_loss_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = -5 - } - } - scope:medium_influence_option = { - # Save the score value - save_scope_value_as = { - name = harm_candidate_score - value = { - value = appointment_score_medium_loss_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = -15 - } - } - scope:major_influence_option = { - save_scope_value_as = { - name = harm_candidate_score - value = { - value = appointment_score_major_loss_value - multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value - } - } - save_scope_value_as = { - name = opinion_change_value - value = -30 - } - } - } - - # Update the score for the corresponding title - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:harm_candidate_score - } - } - - # Handle opinion change and chance for a rivalry - if = { - limit = { - scope:secondary_recipient = { this != scope:actor } - } - scope:secondary_recipient = { - add_opinion = { - modifier = harmed_candidacy_opinion - target = scope:actor - opinion = scope:opinion_change_value - } - hidden_effect = { - send_interface_message = { - type = msg_candidacy_harmed - title = harmed_candidacy_toast - left_icon = scope:actor - right_icon = scope:target - show_as_tooltip = { - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:actor - value = scope:harm_candidate_score - } - } - } - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = harm_candidate_rival_progress_toast - left_icon = scope:secondary_recipient - scope:secondary_recipient = { - progress_towards_rival_effect = { - REASON = rival_harmed_candidacy - CHARACTER = scope:actor - OPINION = 0 - } - } - } - } - } - } - - ai_targets = { - ai_recipients = scripted_relations - max = 10 - } - - ai_frequency = 24 - - ai_potential = { - influence > major_influence_value - government_has_flag = government_is_administrative - ai_honor <= 25 - } - - ai_will_do = { - base = 0 - modifier = { - scope:actor = { - has_relation_rival = scope:secondary_recipient - } - add = 100 - } - modifier = { - scope:actor = { - has_relation_nemesis = scope:secondary_recipient - } - add = 150 - } - modifier = { - scope:actor = { - opinion = { - target = scope:secondary_recipient - value < medium_positive_opinion - } - } - add = 20 - } - modifier = { - scope:secondary_recipient = { - is_close_family_of = scope:actor - } - add = -50 - } - modifier = { - scope:secondary_recipient = { - is_extended_family_of = scope:actor - } - add = -25 - } - modifier = { - scope:actor = { - OR = { - has_trait = ambitious - has_trait = callous - has_trait = fickle - } - } - add = 40 - } - modifier = { - scope:actor = { - has_usable_hook = scope:secondary_recipient - } - add = -10 - } - modifier = { - scope:actor = { - OR = { - has_relation_friend = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - } - } - factor = 0 - } - } -} - -# Request support from another character -request_appointment_support = { - category = interaction_category_succession - common_interaction = no - interface_priority = 175 - filter_tags = { admin_house_head } - - custom_character_sort = { governor_efficiency candidate_score } - - desc = request_appointment_support_desc - - target_type = title - target_filter = actor_top_liege_de_jure_titles - - populate_recipient_list = { - scope:actor = { - every_succession_appointment_invested_candidate = { - limit = { - this != scope:recipient - is_alive = yes - government_has_flag = government_is_administrative - # Check that they are still valid to be appointed - any_valid_title_to_grant_trigger = { - CANDIDATE = this - TOP_LIEGE = scope:actor.top_liege - } - } - add_to_list = characters - } - # We limit how many recipients to check for the AI for performance, player gets the unabridged list - if = { - limit = { - is_ai = no - } - house = { - every_house_member = { - limit = { - this != scope:recipient - government_has_flag = government_is_administrative - any_valid_title_to_grant_trigger = { - CANDIDATE = this - TOP_LIEGE = scope:actor.top_liege - } - } - add_to_list = characters - } - } - } - } - } - - can_be_picked_title = { - trigger_if = { - limit = { exists = scope:secondary_recipient } - is_appointment_valid_trigger = { - TITLE = scope:target - CANDIDATE = scope:secondary_recipient - TOP_LIEGE = scope:actor.top_liege - } - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - scope:secondary_recipient = { has_succession_appointment_investors = scope:target } - } - scope:target = { - any_succession_appointment_investors = { - candidate = scope:secondary_recipient - this = scope:actor - } - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - exists = holder - holder = { - top_liege = scope:actor.top_liege - has_realm_law_flag = appointment_type_succession - } - } - scope:actor = { - trigger_if = { - limit = { is_ai = yes } - any_succession_appointment_invested_title = { - this = scope:target - } - } - } - } - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - this != scope:actor - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - house = { - any_house_member = { - government_has_flag = government_is_administrative - any_valid_title_to_grant_trigger = { - CANDIDATE = this - TOP_LIEGE = scope:actor.top_liege - } - count >= 1 - } - } - is_in_civil_war = no - } - scope:recipient = { - influence >= appointment_minor_influence_cost - is_in_civil_war = no - } - } - - can_send = { - trigger_if = { - limit = { scope:hook = no } - scope:actor = { - gold >= medium_gold_value - } - } - custom_tooltip = { - text = appointment_cannot_support_themself - NOT = { scope:recipient = scope:secondary_recipient } - } - } - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_accept = { - scope:actor = { - if = { - limit = { - scope:hook = yes - has_hook = scope:recipient - } - use_hook = scope:recipient - } - } - if = { - limit = { - scope:hook = no - } - scope:actor = { - pay_short_term_gold = { - target = scope:recipient - gold = medium_gold_value - } - } - } - if = { - limit = { # Players gets to accept/decline a specific suggestion - scope:recipient = { is_ai = no } - } - scope:recipient ={ - change_influence = { - value = appointment_medium_influence_cost - multiply = -1 - } - } - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:recipient - value = appointment_score_medium_value - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = thankful_opinion - opinion = 30 - } - trigger_event = ep3_interactions_events.0201 - } - } - else = { # The AI randomizes the amount of support - scope:recipient = { custom_tooltip = request_appointment_support_tt } - hidden_effect = { - random_list = { - 60 = { - scope:actor = { - save_scope_value_as = { - name = request_support_score - value = appointment_score_minor_value - } - send_interface_message = { - type = msg_candidacy_improved - title = supported_candidacy_toast - left_icon = scope:secondary_recipient - right_icon = scope:target - custom_tooltip = request_appointment_support_toast_tt - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:recipient - value = scope:request_support_score - } - } - } - } - scope:recipient = { - change_influence = { - value = appointment_minor_influence_cost - multiply = -1 - } - } - } - 30 = { - scope:actor = { - save_scope_value_as = { - name = request_support_score - value = appointment_score_medium_value - } - send_interface_message = { - type = msg_candidacy_improved - title = supported_candidacy_toast - left_icon = scope:secondary_recipient - right_icon = scope:target - custom_tooltip = request_appointment_support_toast_tt - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:recipient - value = scope:request_support_score - } - } - } - } - scope:recipient = { - change_influence = { - value = appointment_medium_influence_cost - multiply = -1 - } - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.2 - min = 0 - } - modifier = { - factor = 1.5 - scope:recipient = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } } - } - modifier = { - factor = 2 - scope:recipient = { has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } } - } - modifier = { - factor = 0 - scope:recipient = { influence < appointment_medium_influence_cost } - } - } - 10 = { - scope:actor = { - save_scope_value_as = { - name = request_support_score - value = appointment_score_major_value - } - send_interface_message = { - type = msg_candidacy_improved - title = supported_candidacy_toast - left_icon = scope:secondary_recipient - right_icon = scope:target - custom_tooltip = request_appointment_support_toast_tt - scope:target = { - change_appointment_investment = { - target = scope:secondary_recipient - investor = scope:recipient - value = scope:request_support_score - } - } - } - } - scope:recipient = { - change_influence = { - value = appointment_major_influence_cost - multiply = -1 - } - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.3 - min = 0 - } - modifier = { - factor = 1.5 - scope:recipient = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } } - } - modifier = { - factor = 2 - scope:recipient = { has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } } - } - modifier = { - factor = 0 - scope:recipient = { influence < appointment_major_influence_cost } - } - } - } - } - scope:actor = { trigger_event = ep3_interactions_events.0201 } - } - } - - on_decline = { - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -10 - } - trigger_event = ep3_interactions_events.0202 - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:recipient = { is_ai = yes } - } - } - - ai_accept = { - base = -40 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_SIMPLE_OPINION_REASON - } - - # Admin - modifier = { - influence >= { - value = monumental_influence_value - multiply = 3 - } - add = 20 - desc = plenty_of_influence_reason - } - modifier = { - influence >= massive_influence_value - influence < { - value = monumental_influence_value - multiply = 3 - } - add = 10 - desc = has_influence_reason - } - modifier = { - influence < major_influence_value - add = -100 - desc = not_enough_influence_reason - } - modifier = { # Don't support actor if recipient holds the title (they should want to secure it for their own family first) - exists = scope:target - scope:target.holder = scope:recipient - exists = scope:recipient.house - exists = scope:secondary_recipient - NOT = { scope:secondary_recipient.house ?= scope:recipient.house } - add = -25 - desc = requesting_my_title_reason - } - modifier = { # Don't support actor if there is a close family member within the top 3 candidates - scope:target ?= { - any_title_heir = { - scope:target ?= { - place_in_line_of_succession = { - target = prev - value <= 3 - } - } - is_close_family_of = scope:recipient - } - } - exists = scope:secondary_recipient - NOT = { # Unless secondary_recipient is, in fact, one of these - scope:secondary_recipient = { - scope:target ?= { - place_in_line_of_succession = { - target = prev - value <= 3 - } - } - is_close_family_of = scope:recipient - } - } - add = -100 - desc = close_family_in_line_of_succession - } - modifier = { # More reluctant to lend support towards titles held by top liege - exists = scope:target - scope:target.holder = { - is_independent_ruler = yes - NOT = { this = scope:actor } # Assuming the top liege isn't the one doing the requesting - } - add = -25 - desc = targeting_top_liege_title - } - modifier = { # If you are from a powerful family, and they are not, they are more likely to accept - scope:actor.house ?= { - is_powerful_family = yes - } - scope:recipient.house ?= { - is_powerful_family = no - is_dominant_family = no - } - add = 15 - desc = your_house_is_powerful_reason - } - modifier = { # If you are from a dominant family, and they are not, they are more likely to accept - scope:actor.house ?= { - is_dominant_family = yes - } - scope:recipient.house ?= { - is_dominant_family = no - } - add = 25 - desc = your_house_is_dominant_reason - } - modifier = { # If they are from a powerful family, and you are not, they are more likely to refuse - scope:recipient.house ?= { - is_powerful_family = yes - } - scope:actor.house ?= { - is_powerful_family = no - is_dominant_family = no - } - add = -15 - desc = their_house_is_powerful_reason - } - modifier = { # If they are from a dominant family, and you are not, they are more likely to refuse - scope:recipient.house ?= { - is_dominant_family = yes - } - scope:actor.house ?= { - is_dominant_family = no - } - add = -25 - desc = their_house_is_dominant_reason - } - modifier = { # Difference in influence level - NOT = { scope:actor.influence_level = scope:recipient.influence_level } - add = { - add = { - add = 10 - multiply = scope:actor.influence_level - } - subtract = { - add = 10 - multiply = scope:recipient.influence_level - } - } - desc = difference_in_influence_level_reason - } - - # Relations to actor - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = -100 - desc = AI_YOUR_RIVAL - } - modifier = { - scope:actor = { - has_relation_nemesis = scope:recipient - } - add = -150 - desc = offer_vassalization_interaction_aibehavior_nemesis_tt # Reused loc - } - modifier = { - scope:recipient = { - is_close_family_of = scope:actor - } - add = 50 - desc = CLOSE_FAMILY_REASON - } - modifier = { - scope:recipient = { - is_extended_family_of = scope:actor - } - add = 25 - desc = EXTENDED_FAMILY_REASON - } - modifier = { - exists = scope:actor.house - scope:recipient = { - NOR = { - is_close_family_of = scope:actor - is_extended_family_of = scope:actor - } - exists = house - house = scope:actor.house - } - add = 5 - desc = YOU_ARE_MY_HOUSE_MEMBER - } - modifier = { - scope:actor = { - has_relation_friend = scope:recipient - NOT = { has_relation_best_friend = scope:recipient } - } - add = 15 - desc = WE_ARE_FRIENDS - } - modifier = { - scope:actor = { - has_relation_best_friend = scope:recipient - } - add = 30 - desc = WE_ARE_BEST_FRIENDS - } - - # Relations to secondary_recipient (the character you want them to support) - modifier = { - scope:recipient = { - has_relation_rival = scope:secondary_recipient - NOT = { has_relation_nemesis = scope:secondary_recipient } - } - add = -50 - desc = RIVAL_TO_ME_REASON - } - modifier = { - scope:recipient = { - has_relation_nemesis = scope:secondary_recipient - } - add = -100 - desc = NEMESIS_TO_ME_REASON - } - - # Relations to current title holder - modifier = { - exists = scope:target - scope:recipient = { - has_relation_rival = scope:target.holder - NOT = { has_relation_nemesis = scope:target.holder } - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = 25 - desc = AI_THEIR_RIVAL - } - modifier = { - exists = scope:target - scope:recipient = { - has_relation_nemesis = scope:target.holder - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = 50 - desc = AI_THEIR_RIVAL - } - modifier = { - exists = scope:target - scope:recipient = { - has_relation_friend = scope:target.holder - NOT = { has_relation_best_friend = scope:target.holder } - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = -50 - desc = AI_THEIR_FRIEND - } - modifier = { - exists = scope:target - scope:recipient = { - has_relation_best_friend = scope:target.holder - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = -100 - desc = AI_THEIR_FRIEND - } - modifier = { - exists = scope:target - scope:recipient = { - has_relation_lover = scope:target.holder - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = -30 - desc = AI_THEIR_LOVER - } - modifier = { - exists = scope:target - scope:recipient = { - OR = { - is_close_family_of = scope:target.holder - is_extended_family_of = scope:target.holder - } - opinion = { target = scope:target.holder value > -25 } - liege = scope:target.holder - liege != scope:actor # Don't worry about liege relation when the liege is the one requesting support - } - add = -20 - desc = AI_THEIR_RELATIVE - } - - # Traits - modifier = { - scope:recipient = { # Ambitious characters doesn't want to spend their influence on anyone not from their house - has_trait = ambitious - exists = house - } - scope:secondary_recipient ?= { - exists = house - NOT = { house = scope:recipient.house } - } - add = -50 - desc = INTERACTION_AMBITIOUS - } - modifier = { - scope:recipient = { - has_trait = callous - } - add = -20 - desc = INTERACTION_CALLOUS - } - modifier = { - scope:recipient = { - has_trait = fickle - } - add = -30 - desc = INTERACTION_FICKLE - } - modifier = { - scope:recipient = { - has_trait = paranoid - } - add = -25 - desc = INTERACTION_PARANOID - } - modifier = { - scope:recipient = { - has_trait = trusting - } - add = 10 - desc = INTERACTION_TRUSTING - } - modifier = { - scope:recipient = { - has_trait = arbitrary - } - add = -15 - desc = INTERACTION_ARBITRARY - } - modifier = { # Cravens dare not help you - scope:recipient = { - has_trait = craven - } - scope:actor.house ?= { - is_dominant_family = no - } - add = -20 - desc = INTERACTION_CRAVEN - } - modifier = { # Cravens dare not refuse a dominant family - scope:recipient = { - has_trait = craven - } - scope:actor.house ?= { - is_dominant_family = yes - } - add = 20 - desc = INTERACTION_CRAVEN - } - } - - ai_potential = { - government_has_flag = government_is_administrative - house ?= { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - } - - ai_frequency = 48 - - ai_targets = { - ai_recipients = peer_vassals - max = 8 - } - - ai_targets = { - ai_recipients = hooked_characters - max = 2 - } -} - -# Demand that a vassal switches to admin -# Note: Do not rename or delete this interaction as its directly referred to in code -demand_admin_interaction = { - category = interaction_category_vassal - icon = demand_admin_interaction - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - ai_accept_negotiation = yes - popup_on_receive = yes - common_interaction = no - - #according to telemetry, practically never used - interface_priority = 0 - - ai_targets = { - ai_recipients = vassals - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 12 - - desc = demand_admin_interaction_desc - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - target_is_liege_or_above = scope:actor - is_ai = yes - is_ruler = yes - NOT = { government_has_flag = government_is_administrative } - } - trigger_if = { - limit = { - scope:actor = { - is_ai = yes - } - } - scope:recipient = { - highest_held_title_tier >= tier_county - } - } - } - - cooldown_against_recipient = { years = 10 } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:recipient = { is_at_war = no } - scope:actor = { is_at_war = no } - custom_tooltip = { - text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } - } - custom_tooltip = { - text = demand_admin_tribal - NOT = { - scope:recipient = { government_has_flag = government_is_tribal } - } - } - custom_tooltip = { - text = head_of_faith_unable_to_change_government_desc - NOT = { - scope:recipient = { faith.religious_head ?= this } - } - } - } - - # Offer hereditary boost - send_option = { - is_valid = { - custom_tooltip = { - text = demand_admin_hereditary_tt - scope:recipient.house ?= { - any_house_member = { count > 1 } - } - } - custom_tooltip = { - text = demand_admin_hereditary_exists_tt - NOT = { exists = scope:recipient.primary_title.var:petition_house_rights } - } - } - flag = hereditary - localization = demand_admin_hereditary - } - #Spend influence - send_option = { - flag = influence - is_valid = { - scope:actor.influence >= massive_influence_value - } - localization = SPEND_INFLUENCE - } - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - on_send = { - scope:recipient = { - primary_title = { save_scope_as = demanded_administration } - trigger_event = { - id = ep3_interactions_events.0005 - days = 5 - } - } - } - - on_accept = { - show_as_tooltip = { - change_to_administrative_interaction_effect = yes - } - } - - on_decline = { - scope:recipient = { custom_tooltip = demand_admin_interaction_vassal_refuses } - } - - ai_potential = { - government_has_flag = government_is_administrative - is_adult = yes - } - - ai_will_do = { - base = 100 - modifier = { - factor = 0 - scope:recipient = { highest_held_title_tier >= tier_county } - gold >= 300 - } - modifier = { - factor = 0 - scope:recipient = { highest_held_title_tier >= tier_duchy } - gold >= 600 - } - modifier = { - factor = 0 - scope:recipient = { highest_held_title_tier >= tier_kingdom } - gold >= 2000 - } - } - - ai_accept = { - base = 0 - demand_admin_acceptance_modifier = yes - } -} - -#Contest the appointment of another character to a title you have a claim on -contest_appointment_interaction = { - category = interaction_category_vassal - filter_tags = { admin_governor } - common_interaction = yes - highlighted_reason = HIGHLIGHTED_CAN_CONTEST_APPOINTMENT - notification_text = contest_appointment_interaction_desc_tt - intermediary_notification_text = contest_appointment_interaction_liege_desc - intermediary_breakdown_yes = ANSWER_TRILATERAL_CONTEST_LIEGE_YES - intermediary_breakdown_no = ANSWER_TRILATERAL_CONTEST_LIEGE_NO - intermediary_breakdown_maybe = ANSWER_TRILATERAL_INTERMEDIARY_LIEGE_MAYBE - intermediary_answer_accept_key = REPLY_ANSWER_ACCEPT - intermediary_answer_reject_key = REPLY_ANSWER_REJECT - pre_answer_yes_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_YES - pre_answer_no_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_NO - pre_answer_maybe_breakdown_key = ANSWER_TRILATERAL_RECIPIENT_MAYBE - #icon = TODO_CD_EP3: TIT-55514 - - redirect = { - scope:actor.top_liege = { save_scope_as = intermediary } - } - - desc = contest_appointment_interaction_desc - - target_type = title - target_filter = recipient_domain_titles - ai_maybe = yes - ai_intermediary_maybe = yes - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - prompt = CONTEST_TITLE_SELECT_TITLE - - is_shown = { - # The obvious. - NOR = { - scope:actor = scope:recipient - scope:actor = scope:intermediary - scope:recipient = scope:intermediary - } - # Admin Govt - #You don't have another appointment - scope:actor = { is_landless_administrative = yes } - scope:recipient = { government_has_flag = government_is_administrative } - scope:intermediary ?= { government_has_flag = government_is_administrative } - # Make sure scope:recipient is suitable. - scope:recipient = { - # We only target vassals of the liege - top_liege = scope:actor.top_liege - # who have a contestable title - highest_held_title_tier > tier_county - any_held_title = { - tier >= tier_duchy - scope:actor = { - has_claim_on = prev - } - title_revocation_standard_can_pick_title_trigger = yes - } - } - } - - is_valid_showing_failures_only = { - trigger_if = { # Stop AI sending this too often - limit = { - scope:actor = { is_ai = yes } - } - NOT = { - scope:intermediary ?= { has_character_flag = contest_appointment_liege_cooldown } - } - } - trigger_if = { - limit = { - scope:recipient = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } - } - custom_description = { - text = liege_vassal_contract_forbids_revocation - object = scope:recipient - scope:recipient = { - NOT = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } - } - } - } - scope:intermediary = { - influence >= medium_influence_value - } - } - - cooldown_against_recipient = { years = 10 } - - can_send = { - scope:actor = { - custom_description = { - text = "character_interactions_hostile_actions_disabled_delay" - NOT = { has_character_flag = flag_hostile_actions_disabled_delay } - } - } - trigger_if = { - limit = { - exists = scope:target - } - is_appointment_valid_trigger = { - TITLE = scope:target - CANDIDATE = scope:actor - TOP_LIEGE = scope:intermediary - } - } - } - - is_highlighted = { - scope:recipient = { - any_held_title = { - scope:actor = { - has_claim_on = prev - } - title_revocation_standard_can_pick_title_trigger = yes - } - } - } - - can_be_picked_title = { - scope:target = { - title_revocation_standard_can_pick_title_trigger = yes - # Plus, must have scope:actor as a claimant. - custom_description = { - text = "you_must_have_a_claim_on_the_title" - tier >= tier_duchy - scope:actor = { has_claim_on = scope:target } - } - } - } - - cost = { - influence = { - value = major_influence_value - if = { - limit = { scope:influence_bribe = yes } - add = 100 - } - } - } - - # Hooks can be used to force this through. - send_options_exclusive = no - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:intermediary } - } - flag = hook_liege - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { - OR = { - has_usable_hook = scope:intermediary - has_usable_hook = scope:recipient - } - } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_send = { - scope:actor = { - add_character_flag = { - flag = flag_hostile_actions_disabled_delay - days = 10 - } - } - scope:intermediary ?= { # Stop AI sending this too often - add_character_flag = { - flag = contest_appointment_liege_cooldown - years = 1 - } - } - } - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - # Spend influence to convince your liege - send_option = { - flag = influence_bribe - localization = influence_value_bribe_desc - is_valid = { - scope:actor = { influence >= major_influence_value } - } - } - - on_auto_accept = { - scope:recipient = { trigger_event = ep3_interactions_events.0010 } - scope:actor = { - # Tell them that the revocation went through fine. - trigger_event = ep3_interactions_events.0011 - } - scope:actor = { - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - create_title_and_vassal_change = { - type = revoked - save_scope_as = change - add_claim_on_loss = yes - } - scope:target = { - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - - on_accept = { - scope:recipient = { trigger_event = ep3_interactions_events.0010 } - scope:actor = { - # Tell them that the revocation went through fine. - trigger_event = ep3_interactions_events.0011 - } - scope:intermediary = { - change_influence = medium_influence_loss - if = { - limit = { - scope:influence_bribe = yes - } - change_influence = major_influence_gain - } - } - scope:actor = { - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - scope:recipient = { - every_held_title = { - limit = { - is_noble_family_title = no - tier >= tier_county - any_this_title_or_de_jure_above = { - this = scope:target - } - } - add_to_list = transfer_titles - } - } - create_title_and_vassal_change = { - type = revoked - save_scope_as = change - add_claim_on_loss = yes - } - every_in_list = { - list = transfer_titles - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:change - } - } - resolve_title_and_vassal_change = scope:change - } - - on_intermediary_decline = { - scope:actor = { - # Inform scope:actor that their liege has vetoed them. - trigger_event = ep3_interactions_events.0012 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - # Inform scope:recipient that scope:intermediary has their back. - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = liege_blocked_contest_title - left_icon = scope:actor - right_icon = scope:intermediary - custom_tooltip = liege_blocked_contest_title.inform_recipient - } - } - scope:intermediary = { - if = { - limit = { - scope:influence_bribe = yes - } - change_influence = major_influence_gain - } - } - # Flick out some opinions. - diarch_revoke_title_interaction_intermediary_fail_opinions_effect = yes - } - - on_decline = { - scope:intermediary = { - # Tell them that the revocation was refused - trigger_event = ep3_interactions_events.0013 - # And give a crime reason - if = { - limit = { is_ai = no } - custom_tooltip = ADD_OPINION_EFFECT_I_HAVE_IMPRISONMENT_REASON_UNUSABLE - hidden_effect = { - add_opinion = { - target = scope:recipient - modifier = treasonous_revoke_refusal - } - } - } - ## AI use the standard opinion flow. - else = { - add_opinion = { - target = scope:recipient - modifier = treasonous_revoke_refusal - } - } - } - scope:actor = { - # Notify - trigger_event = ep3_interactions_events.0014 - # Scope:actor can be hostile again. - clear_hostile_actions_lock_flag_effect = yes - } - ## Scope:recipient is annoyed with scope:actor and the other way around. - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = revoked_title - } - } - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = treasonous_revoke_refusal - } - } - } - - auto_accept = { - scope:recipient = { - calc_true_if = { - amount >= 2 - custom_description = { - text = "prisoner_revocation" - is_imprisoned_by = scope:actor - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - OR = { - # Strong hooks generally. - scope:actor = { has_strong_hook = scope:recipient } - # Weak hooks in inter-AI interactions count as strong hooks. - AND = { - scope:actor = { is_ai = yes } - scope:recipient = { is_ai = yes } - } - } - } - custom_description = { - text = "foreign_prison_revocation" - subject = scope:actor - object = scope:recipient - scope:recipient = { - is_imprisoned = yes - NOT = { is_imprisoned_by = scope:actor } - } - } - } - } - } - - ai_intermediary_accept = { - base = 0 - modifier = { - add = -50 - desc = BASE_RELUCTANCE - } - # Hook - modifier = { - add = 40 - desc = SCHEME_WEAK_HOOK_USED - scope:hook_liege = yes - } - # Bribe - modifier = { - desc = INFLUENCE_REASON - scope:influence_bribe = yes - add = { - value = 20 - multiply = scope:actor.influence_level - min = 5 - } - } - # Opinion Factor - opinion_modifier = { - who = scope:intermediary - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - opinion_modifier = { - who = scope:intermediary - opinion_target = scope:recipient - multiplier = -1 - desc = AI_OPINION_REASON - } - # You would be a better public official (or not)! - modifier = { - desc = AI_STEWARDSHIP_REASON - add = { - value = scope:actor.stewardship - subtract = scope:recipient.stewardship - multiply = 2 - } - } - # How good is the respective character's Governor Efficiency? - modifier = { - scope:actor = { is_ai = no } - desc = AI_GOVERNOR_EFFICIENCY - add = { - value = 0 - add = { - value = scope:actor.governor_efficiency - subtract = 1 - multiply = 100 - } - } - } - modifier = { - scope:actor = { is_ai = no } - desc = RECIPIENT_GOVERNOR_EFFICIENCY - add = { - value = 0 - add = { - value = scope:recipient.governor_efficiency - subtract = 1 - multiply = -100 - } - } - } - # Dread - ## Intimidation - modifier = { - add = { - value = 0 - subtract = intimidated_halved_reason_value - } - desc = YOU_INTIMIDATED_REASON - scope:actor = { - has_dread_level_towards = { - target = scope:intermediary - level = 1 - } - } - } - ## Cowing - modifier = { - add = { - value = 0 - subtract = cowed_halved_reason_value - } - desc = YOU_COWED_REASON - scope:actor = { - has_dread_level_towards = { - target = scope:intermediary - level = 2 - } - } - } - # Legalistic tradition - modifier = { - add = legalistic_vassal_punishment_acceptance - desc = tradition_legalistic_name - scope:actor = { - has_revoke_title_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - } - } - - ai_accept = { - # Try to make it 0 for most interactions - base = 0 - - # Weak Hook - modifier = { - add = 40 - desc = SCHEME_WEAK_HOOK_USED - scope:hook = yes - } - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - # Refusal is Treason - ## It's always treason, but worth pointing it out. - modifier = { - add = 20 - desc = AI_REFUSAL_IS_TREASON - } - # I am a King! - modifier = { - add = -20 - desc = offer_vassalization_interaction_aibehavior_amkingtier_tt - scope:recipient = { highest_held_title_tier = tier_kingdom } - } - # Dread - ## Intimidation - modifier = { - add = intimidated_halved_reason_value - desc = INTIMIDATED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - } - ## Cowing - modifier = { - add = cowed_halved_reason_value - desc = COWED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - } - ## Intimidation - modifier = { - add = intimidated_halved_reason_value - desc = INTIMIDATED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:intermediary - level = 1 - } - } - } - ## Cowing - modifier = { - add = cowed_halved_reason_value - desc = COWED_REASON - scope:recipient = { - has_dread_level_towards = { - target = scope:intermediary - level = 2 - } - } - } - # Difference in influence level - modifier = { - scope:actor.influence_level != scope:recipient.influence_level - add = { - value = scope:actor.influence_level - subtract = scope:recipient.influence_level - multiply = 20 - } - desc = difference_in_influence_level_reason - } - # Legalistic tradition - modifier = { - add = legalistic_vassal_punishment_acceptance - desc = tradition_legalistic_name - scope:actor = { - has_revoke_title_reason = scope:recipient - culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } - } - } - # Factor for personality. - ai_value_modifier = { - who = scope:recipient - # Greed is always a factor. - ai_greed = { - if = { - limit = { - scope:recipient = { - NOT = { ai_greed = 0 } - } - } - value = -0.75 - } - } - # If AI is honourable and the law compels them to obey the liege, AI will be more likely to obey. - ai_honor = { - if = { - limit = { - scope:recipient = { ai_honor > 0 } - } - value = 0.5 - } - } - } - } - - # AI - ai_targets = { - ai_recipients = peer_vassals - max = 10 - } - - ai_frequency = 12 - - ai_potential = { - is_landless_administrative = yes - liege = { has_realm_law_flag = title_revocation_allowed } - } - - ai_will_do = { - base = 100 - ai_value_modifier = { - ai_greed = 0.5 - ai_boldness = 1 - } - ## Opinion. - opinion_modifier = { - opinion_target = scope:recipient - multiplier = 0.25 - } - ## Traits. - ### +++ Ambitious. - modifier = { - add = 100 - has_trait = ambitious - } - ### +++ Greedy. - modifier = { - add = 50 - has_trait = greedy - } - ### +++ Vengeful (under certain criteria). - modifier = { - add = 100 - has_trait = vengeful - has_opinion_modifier = { - modifier = revoked_title - target = scope:recipient - } - } - ### --- Content. - modifier = { - add = -50 - has_trait = content - } - # hooked AI. - modifier = { - add = 50 - is_landed = no - has_hook = scope:recipient - scope:recipient = { is_ai = yes } - } - ### + Do pick on people we hate. - modifier = { - factor = 1.5 - should_prioritise_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### - Try not to pick on allies of our liege. - modifier = { - factor = 0.25 - should_avoid_hostile_action_against_due_to_liege_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't pick on our friends or allies. - modifier = { - factor = 0 - should_avoid_hostile_action_against_due_to_personal_relations_trigger = { - ACTOR = scope:actor - RECIPIENT = scope:recipient - } - } - ### x0 Don't go into influence debt! - modifier = { - factor = 0 - influence <= 0 - } - } -} - -# Request a council position from your liege in exchange for influence -request_council_interaction = { - category = interaction_category_vassal - interface_priority = 119 #listed right after force_onto_council - icon = council - - desc = request_council_interaction_desc - - filter_tags = { admin_liege } - - special_interaction = request_council_position - interface = council_task_interaction - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - send_name = "SEND_REQUEST_COUNCIL" - - greeting = positive - notification_text = REQUEST_COUNCIL_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - on_decline_summary = request_council_decline_summary - - ai_targets = { - ai_recipients = liege - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 36 - - cooldown_against_recipient = { years = 25 } - - cost = { - influence = admin_council_cost_value - } - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { - liege ?= scope:recipient - } - #Admin only - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { government_has_flag = government_is_administrative } - trigger_if = { - limit = { - exists = scope:target.councillor - } - scope:target = { can_fire_position = yes } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - NOT = { - is_at_war_with = scope:recipient - } - NOT = { - is_councillor = yes - } - NAND = { - has_council_position = councillor_court_chaplain - faith = { - OR = { - has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment - has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment - } - } - } - } - } - - has_valid_target_showing_failures_only = { - trigger_if = { - limit = { - exists = scope:target.councillor - } - scope:target.councillor = { - NOT = { - is_blocked_from_being_fired_from_council_trigger = { - COURT_OWNER = scope:recipient - } - } - } - } - } - - on_accept = { - scope:target = { - save_scope_as = council_task - } - scope:actor = { - block_firing_councillor_effect = { COURT_OWNER = scope:recipient } - custom_tooltip = force_onto_council.recipient.tt.duration - #And notify exactly which councillor type they've become. - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = force_onto_council.actor.tt - left_icon = scope:recipient - custom_tooltip = force_onto_council.actor.tt.duration - show_as_tooltip = { - change_influence = admin_council_loss_value - } - } - } - stress_impact = { content = minor_stress_impact_gain } - } - scope:recipient = { - assign_council_task = { - target = scope:actor - council_task = scope:council_task - } - change_influence = massive_influence_gain - custom_tooltip = force_onto_council.desc.tt - #And notify exactly which councillor type they've become. - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_neutral - title = force_onto_council.recipient.tt - left_icon = scope:actor - custom_tooltip = force_onto_council.recipient.tt.duration - show_as_tooltip = { change_influence = massive_influence_gain } - } - } - } - } - - on_decline = { - scope:actor = { - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -25 - } - trigger_event = ep3_interactions_events.0020 - } - scope:recipient = { - if = { # If the liege is a player, put on a longer global cooldown to reduce potential spam - limit = { is_ai = no } - add_character_flag = { - flag = refused_council_request - years = 15 - } - } - } - } - - ai_set_target = { - scope:actor = { - random_list = { - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_chancellor - can_be_chancellor_trigger = { COURT_OWNER = scope:recipient } - } - modifier = { - factor = diplomacy - } - modifier = { - trigger = { highest_skill = diplomacy } - factor = 10 - } - scope:recipient.council_task:councillor_chancellor = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_steward - can_be_steward_trigger = { COURT_OWNER = scope:recipient } - } - modifier = { - factor = stewardship - } - modifier = { - trigger = { highest_skill = stewardship } - factor = 10 - } - scope:recipient.council_task:councillor_steward = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_marshal - can_be_marshal_trigger = { COURT_OWNER = scope:recipient } - } - modifier = { - factor = martial - } - modifier = { - trigger = { highest_skill = martial } - factor = 10 - } - scope:recipient.council_task:councillor_marshal = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_spymaster - can_be_spymaster_trigger = { COURT_OWNER = scope:recipient } - } - modifier = { - factor = intrigue - } - modifier = { - trigger = { highest_skill = intrigue } - factor = 10 - } - scope:recipient.council_task:councillor_spymaster = { - save_scope_as = target - } - } - 10 = { - trigger = { - exists = scope:recipient.council_task:councillor_court_chaplain - can_be_court_chaplain_trigger = { COURT_OWNER = scope:recipient } - } - modifier = { - factor = learning - } - modifier = { - trigger = { highest_skill = learning } - factor = 10 - } - scope:recipient.council_task:councillor_court_chaplain = { - save_scope_as = target - } - } - } - } - } - - ai_potential = { - is_independent_ruler = no - is_councillor = no - liege ?= { - NOT = { has_character_flag = refused_council_request } - is_at_war = no - } - } - - ai_will_do = { - base = 0 - - # Increase chance if greed and/or boldness is high enough - modifier = { - add = 20 - ai_greed >= medium_positive_ai_value - ai_boldness >= medium_positive_ai_value - } - modifier = { - factor = 1.5 - ai_greed >= very_high_positive_ai_value - } - modifier = { - factor = 1.5 - ai_boldness >= very_high_positive_ai_value - } - - # Don't do it towards a good relation, unless very greedy - modifier = { - factor = 0 - scope:actor = { - ai_greed <= very_high_positive_ai_value - OR = { - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - has_relation_best_friend = scope:recipient - has_relation_soulmate = scope:recipient - } - } - } - - # No need if they are a councillor already - modifier = { - factor = 0 - is_councillor = yes - } - } - - ai_accept = { - base = 0 - modifier = { - add = -50 - desc = BASE_RELUCTANCE - } - opinion_modifier = { # Opinion of you - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.8 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion of the current councillor - who = scope:recipient - opinion_target = scope:target.councillor - multiplier = -0.8 - desc = AI_OPINION_REASON - } - ai_value_modifier = { - ai_energy = 0.25 #It's a change - ai_greed = 0.4 #Free influence is free influence - ai_honor = -0.4 #Some might see it as a bribe - } - #Relations - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = -50 - desc = AI_YOUR_RIVAL - } - modifier = { - scope:actor = { - has_relation_friend = scope:recipient - } - add = 25 - desc = AI_YOUR_FRIEND - } - #You are better at the job - modifier = { - scope:target = council_task:councillor_chancellor - scope:actor.diplomacy > scope:target.councillor.diplomacy - desc = AI_BETTER_AT_THE_JOB - add = { - value = scope:actor.diplomacy - subtract = scope:target.councillor.diplomacy - multiply = 10 - } - } - modifier = { - scope:target = council_task:councillor_marshal - scope:actor.martial > scope:target.councillor.martial - desc = AI_BETTER_AT_THE_JOB - add = { - value = scope:actor.martial - subtract = scope:target.councillor.martial - multiply = 10 - } - } - modifier = { - scope:target = council_task:councillor_steward - scope:actor.stewardship > scope:target.councillor.stewardship - desc = AI_BETTER_AT_THE_JOB - add = { - value = scope:actor.stewardship - subtract = scope:target.councillor.stewardship - multiply = 10 - } - } - modifier = { - scope:target = council_task:councillor_spymaster - scope:actor.intrigue > scope:target.councillor.intrigue - desc = AI_BETTER_AT_THE_JOB - add = { - value = scope:actor.intrigue - subtract = scope:target.councillor.intrigue - multiply = 10 - } - } - modifier = { - scope:target = council_task:councillor_court_chaplain - scope:actor.learning > scope:target.councillor.learning - desc = AI_BETTER_AT_THE_JOB - add = { - value = scope:actor.learning - subtract = scope:target.councillor.learning - multiply = 10 - } - } - #You are significantly WORSE at the job (we start reducing AI acceptance when it is more than 10 below current councillor's skill) - modifier = { - scope:target = council_task:councillor_chancellor - scope:actor.diplomacy < { value = scope:target.councillor.diplomacy subtract = 10 } - desc = AI_WORSE_AT_THE_JOB - add = { - value = scope:actor.diplomacy - subtract = scope:target.councillor.diplomacy - add = 10 - multiply = 2 - } - } - modifier = { - scope:target = council_task:councillor_marshal - scope:actor.martial < { value = scope:target.councillor.martial subtract = 10 } - desc = AI_WORSE_AT_THE_JOB - add = { - value = scope:actor.martial - subtract = scope:target.councillor.martial - add = 10 - multiply = 2 - } - } - modifier = { - scope:target = council_task:councillor_steward - scope:actor.stewardship < { value = scope:target.councillor.stewardship subtract = 10 } - desc = AI_WORSE_AT_THE_JOB - add = { - value = scope:actor.stewardship - subtract = scope:target.councillor.stewardship - add = 10 - multiply = 2 - } - } - modifier = { - scope:target = council_task:councillor_spymaster - scope:actor.intrigue < scope:target.councillor.intrigue - desc = AI_WORSE_AT_THE_JOB - add = { - value = scope:actor.intrigue - subtract = scope:target.councillor.intrigue - add = 10 - multiply = 2 - } - } - modifier = { - scope:target = council_task:councillor_court_chaplain - scope:actor.learning < scope:target.councillor.learning - desc = AI_WORSE_AT_THE_JOB - add = { - value = scope:actor.learning - subtract = scope:target.councillor.learning - add = 10 - multiply = 2 - } - } - #You are more powerful - modifier = { - scope:actor = { is_powerful_vassal = yes } - scope:target.councillor = { is_powerful_vassal = no } - desc = AI_POWERFUL_VASSAL - add = 75 - } - modifier = { - scope:actor.house ?= { is_powerful_family = yes } - scope:target.councillor.house ?= { is_powerful_family = no } - desc = AI_POWERFUL_FAMILY - add = 100 - } - #You are more influential - modifier = { - NOT = { scope:actor.influence_level = scope:target.councillor.influence_level } - add = { - value = scope:actor.influence_level - subtract = scope:target.councillor.influence_level - multiply = 10 - } - desc = AI_DIFFERENCE_INFLUENCE - } - } -} - -# Transfer a single county (not belonging to a theme) to an already existing governor -transfer_county_interaction = { - icon = icon_transfer_county - category = interaction_category_vassal - filter_tags = { admin_governor } - common_interaction = no - interface_priority = 4 - - desc = transfer_county_interaction_desc - - target_type = title - target_filter = actor_domain_titles - interface_priority = 60 - - # actor character giving the title - # recipient character receiving the title - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { - target_is_liege_or_above = scope:actor - highest_held_title_tier >= tier_duchy - government_has_flag = government_is_administrative - } - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = yes - highest_held_title_tier >= tier_empire - } - } - - is_valid_showing_failures_only = { - scope:actor = { is_at_war = no } - scope:recipient = { - is_adult = yes - is_at_war = no - bp2_valid_for_standard_interactions_trigger = yes - is_busy_in_events_localised = yes - } - custom_tooltip = { - text = have_no_valid_county_to_assign_trigger - scope:actor = { - any_held_title = { - count >= 1 - tier = tier_county - NOT = { - this = scope:actor.primary_title.title_capital_county - } - duchy ?= { - NOT = { this = scope:actor.primary_title.title_capital_county.duchy } - } - } - } - } - } - - can_be_picked_title = { - scope:target = { - is_leased_out = no - tier = tier_county - custom_tooltip = { - NOT = { this = scope:actor.primary_title.title_capital_county } - text = not_can_be_picked_capital - } - custom_tooltip = { - duchy ?= { - NOT = { this = scope:actor.primary_title.title_capital_county.duchy } - } - text = not_can_be_picked_capital_duchy - } - } - - custom_description = { - text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch - subject = scope:actor.diarch - NAND = { - # Only applies if we have an active diarchy. - scope:actor = { has_active_diarchy = yes } - # Now, prevent us from giving away our diarch's land to invalidate them... - scope:target = { - any_dejure_vassal_title_holder = { this = scope:actor.diarch } - # ... _unless_ we're giving it _to_ the diarch. - NOT = { scope:recipient = scope:actor.diarch } - # Plus we only care if the title is below our tier. - tier < scope:actor.highest_held_title_tier - } - } - } - - custom_description = { - text = grant_titles_interaction_title_being_wagered - NOT = { - scope:target = { has_variable = wagered_county } - } - } - } - - auto_accept = yes - - on_auto_accept = { - scope:recipient = { - trigger_event = char_interaction.0111 - } - } - - on_accept = { - hidden_effect = { - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = received_title_county - } - } - scope:target = { add_to_temporary_list = titles_to_grant } - } - #Promised a vassal this title they had a claim on (vassal.2901) - if = { - limit = { - scope:actor = { - exists = var:was_promised_title - var:was_promised_title = scope:recipient - } - } - if = { - limit = { - scope:recipient = { - exists = var:promised_title - } - scope:landed_title = scope:recipient.var:promised_title - } - scope:actor = { - trigger_event = { - id = vassal.2910 - days = { 7 14 } - } - } - } - } - - # The accumulated discontent reduction of the recipient - scope:recipient = { - if = { - limit = { - is_a_faction_member = yes - } - add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc - custom_tooltip = grant_title_modifier_stack_discontent - } - } - - custom_tooltip = grant_title_modifier_stack_counties - - # Jealousy check - if = { - limit = { - any_in_list = { - list = titles_to_grant - any_claimant = { grant_title_rivalry_trigger = yes } - } - } - hidden_effect = { - random = { - chance = 25 - ordered_in_list = { - list = titles_to_grant - limit = { - any_claimant = { grant_title_rivalry_trigger = yes } - } - order_by = tier - save_scope_as = claim_title - ordered_claimant = { - limit = { grant_title_rivalry_trigger = yes } - order_by = primary_title.tier - save_scope_as = claim_vassal - if = { - limit = { - scope:recipient = { is_lowborn = yes } - } - scope:recipient = { save_scope_as = lowborn_scope } - } - else_if = { - limit = { - scope:recipient = { has_claim_on = scope:claim_title } - } - scope:recipient = { save_scope_as = claimant_scope } - } - scope:actor = { - trigger_event = { - id = bp1_yearly.8070 - days = 5 - } - } - } - } - } - } - } - - scope:actor = { - # Maintenance for runestones - if = { - limit = { - # Use expanded version if we have FP1. - has_fp1_dlc_trigger = yes - fp1_remove_stele_new_holder_trigger = { - TITLE = scope:target - PREVIOUS_HOLDER = scope:actor - NEW_HOLDER = scope:recipient - } - } - # Actually removed in fp1_other_decisions.0113 - custom_tooltip = runestone_grant_title_warning - } - else_if = { - limit = { - scope:target = { - exists = var:ancestor_to_bury - has_county_modifier = county_raised_runestone_modifier - } - NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty - } - # Actually removed in religious_decision.0312 - custom_tooltip = runestone_grant_title_warning - } - - if = { - limit = { - exists = scope:actor.dynasty - scope:actor.dynasty = { - has_dynasty_perk = ep1_culture_legacy_3 - } - scope:recipient = { - is_playable_character = no - NOT = { - culture = scope:actor.culture - } - any_in_list = { - list = target_titles - OR = { - tier = tier_county - tier = tier_barony - } - culture = scope:recipient.culture - } - } - } - scope:actor = { - if = { - limit = { - can_add_hook = { - target = scope:recipient - type = favor_hook - } - } - add_hook = { - type = favor_hook - target = scope:recipient - } - } - } - } - - #Feedback for actor - hidden_effect = { - scope:target = { - save_scope_as = loc_title - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = transfer_county_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - custom_tooltip = grant_titles_interaction_notification_effect_2 - if = { - limit = { - exists = dynasty - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige - } - } - dynasty = { - add_dynasty_prestige = minor_dynasty_prestige_gain - } - } - } - } - } - } - - hidden_effect = { - # Struggle Catalyst - if = { - limit = { - scope:actor = { - is_diff_faith_or_culture_trigger = { - CHAR = scope:recipient - STATUS = involved - } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - } - } - scope:actor = { - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { - CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal - CHAR = scope:recipient - } - } - activate_struggle_catalyst = { - catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal - character = scope:actor - } - } - } - } - } - # The actual transfer - create_title_and_vassal_change = { - type = granted - save_scope_as = title_change_vassal - } - every_in_list = { - list = titles_to_grant - change_title_holder = { - holder = scope:recipient - change = scope:title_change_vassal - take_baronies = no - } - } - resolve_title_and_vassal_change = scope:title_change_vassal - } - # AI - ai_targets = { - ai_recipients = vassals - } - ai_frequency = 24 - ai_will_do = { - base = 100 - - modifier = { - scope:recipient.house ?= scope:actor.house - add = 10 - } - modifier = { - scope:recipient = { - is_close_family_of = scope:actor - } - add = 10 - } - modifier = { - scope:target = { - any_neighboring_county = { - holder = { - this = scope:recipient - } - } - } - add = 200 - } - } -} - -# Demand that a family member be made a eunuch -castrate_child_interaction = { - category = interaction_category_friendly - icon = eunuch - common_interaction = yes - interface_priority = 60 - ai_maybe = yes - ai_min_reply_days = 1 - ai_max_reply_days = 1 - can_send_despite_rejection = yes - ai_accept_negotiation = yes - popup_on_receive = yes - - pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED - pre_answer_no_key = ANSWER_CANT_SUCCEED - pre_answer_yes_key = ANSWER_WILL_SUCCEED - pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE - - ai_targets = { - ai_recipients = family - max = 5 - } - ai_frequency = 36 - - desc = castrate_child_interaction_desc - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - culture = { - has_cultural_parameter = family_castration - } - NAND = { - is_ai = yes - any_close_family_member = { - is_ai = no - } - } - } - scope:recipient = { - is_ai = yes - is_female = no - is_adult = no - is_close_family_of = scope:actor - is_eunuch_trigger = no - } - } - - cooldown_against_recipient = { years = 1 } - - is_valid_showing_failures_only = { - scope:actor = { - employs_court_position = court_physician_court_position - } - scope:recipient = { - custom_tooltip = { - text = COURTIER_OR_GUEST - OR = { - is_courtier_of = scope:actor - is_pool_guest_of = scope:actor - is_foreign_court_guest_of = scope:actor - } - } - is_ruler = no - is_available = yes - is_betrothed = no - NOT = { is_primary_heir_of = scope:actor } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - exists = scope:hook - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - is_highlighted = { - #This interaction should only be suggested on potential rivals for the imperial throne, bastards, and for landless house heads - - OR = { - #bastards - AND = { - scope:actor = { - any_close_family_member = { - is_male = yes - house ?= scope:actor.house - is_eunuch_trigger = no - NOR = { - has_trait = celibate - has_trait = devoted - has_trait = order_member - has_trait = bastard - } - OR = { - #Is an old adult with a kid - AND = { - age >= 40 - any_child = { - is_male = yes - } - } - #Is a young adult or child - age < 40 - } - } - } - scope:recipient = { - has_trait = bastard - } - } - #You are poor and uninfluential OR Emperor - AND = { - scope:actor = { - ep3_castration_interest_trigger = yes - ep3_castration_male_family_trigger = yes - } - #Target is a good one - scope:recipient = { - NOT = { is_heir_of = scope:actor } - ep3_ideal_castration_candidate_trigger = yes - OR = { - #target is 3rd child or lower - any_sibling = { - count >= 2 - AND = { - is_male = yes - age > scope:recipient.age - } - } - #target is sibling - NOT = { is_child_of = scope:actor } - } - } - } - } - } - - on_accept = { - scope:recipient = { - if = { - limit = { - age < 12 - } - add_character_flag = accepted_castration_child - } - else = { - add_character_flag = accepted_castration_youth - } - } - show_as_tooltip = { - scope:actor = { change_influence = minor_influence_gain } - #Effects on child target - if = { - limit = { - scope:recipient = { - age < 12 - } - } - scope:recipient = { - ep3_child_castration_effect = yes - add_stress = medium_stress_gain - custom_tooltip = castration_better_before_maturity - } - #Notification that it is better than doing it after 12 years of age - } - #effects on teenaged target - else = { - scope:recipient = { - ep3_youth_castration_effect = yes - add_stress = major_stress_gain - } - } - } - #Immediate interaction effects - if = { - limit = { - exists = scope:hook - scope:hook = yes - scope:actor = { has_usable_hook = scope:recipient } - } - scope:actor = { - use_hook = scope:recipient - } - } - scope:actor = { - if = { - limit = { - scope:recipient = { - age > 6 - } - } - stress_impact = { - compassionate = medium_stress_impact_gain - content = minor_stress_impact_gain - generous = medium_stress_impact_gain - } - } - trigger_event = ep3_interactions_events.0030 - } - } - - on_decline = { - show_as_tooltip = { - #For child targets - if = { - limit = { - scope:recipient = { - age < 12 - } - } - scope:actor = { change_influence = minor_influence_gain } - scope:recipient = { - ep3_child_castration_effect = yes - add_opinion = { - modifier = castration_opinion - target = scope:actor - opinion = -50 - } - add_stress = major_stress_gain - custom_tooltip = castration_better_before_maturity - } - } - #For teenaged victims - else = { - scope:actor = { - remove_courtier_or_guest = scope:recipient - if = { - limit = { - has_hook = scope:recipient - } - remove_hook = { target = scope:recipient } - } - scope:recipient = { - set_relation_rival = { - target = scope:actor - reason = rival_attempted_castration - } - add_stress = medium_stress_gain - - } - } - } - } - if = { - limit = { - scope:hook = yes - scope:actor = { has_usable_hook = scope:recipient } - } - scope:actor = { - use_hook = scope:recipient - } - } - scope:actor = { - if = { - limit = { - scope:recipient = { - age > 6 - } - } - stress_impact = { - compassionate = medium_stress_impact_gain - content = minor_stress_impact_gain - generous = medium_stress_impact_gain - } - } - } - if = { - limit = { - scope:recipient = { - age < 12 - } - } - scope:recipient = { - add_character_flag = resents_castration - } - scope:actor = { - trigger_event = ep3_interactions_events.0030 - } - } - else = { - scope:actor = { - trigger_event = ep3_interactions_events.0031 - } - } - } - - ai_potential = { - is_adult = yes - } - - # Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_will_do = { - base = 0 - modifier = { - scope:actor = { - has_trait = compassionate - } - add = -50 - } - modifier = { - scope:actor = { - has_trait = generous - } - add = -25 - } - modifier = { - scope:actor = { - has_trait = content - } - add = -25 - } - modifier = { - scope:recipient = { - has_trait = bastard - } - add = 100 - } - modifier = { - scope:actor = { - ep3_castration_interest_trigger = yes - } - scope:recipient = { - #target is 4 child or lower - AND = { - ep3_ideal_castration_candidate_trigger = yes - NOT = { is_heir_of = scope:actor } - #Not oldest child - any_sibling = { - count >= 3 - is_male = yes - age > scope:recipient.age - } - } - } - - add = 20 - } - modifier = { - scope:actor = { - ep3_castration_interest_trigger = yes - } - scope:recipient = { - #target is sibling - AND = { - ep3_ideal_castration_candidate_trigger = yes - NOT = { is_heir_of = scope:actor } - #Not oldest child - NOT = { is_child_of = scope:actor } - } - } - add = 20 - } - modifier = { - scope:actor = { - has_trait = paranoid - } - factor = 2 - } - modifier = { - scope:actor = { - has_trait = sadistic - } - factor = 2 - } - modifier = { - scope:actor = { - opinion = { - target = scope:recipient - value <= -50 - } - } - factor = 1.5 - } - modifier = { - scope:recipient = { - age > 6 - } - factor = 0.5 - } - modifier = { - scope:recipient = { - age >= 12 - } - factor = 0.5 - } - modifier = { - scope:actor = { - age <= 4 - } - factor = 2 - } - modifier = { - OR = { - scope:actor = { - ep3_castration_male_family_trigger = no - } - scope:recipient = { - is_primary_heir_of = scope:actor - } - scope:recipient = { - AND = { - is_child_of = scope:actor - any_sibling = { - count = 0 - is_male = yes - age >= scope:recipient.age - house ?= scope:recipient.house - } - } - } - } - factor = 0 - } - } - - ai_accept = { - base = 0 - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ai_value_modifier = { - ai_rationality = 0.25 #It's just the way things are - ai_energy = -0.25 #I have big dreams! - ai_boldness = -0.25 #I don't want to be reduced - ai_honor = 0.12 #It is wrong to defy you - ai_sociability = 0.12 #I see the advantages - } - # Weak Hook - modifier = { - trigger = { - always = scope:hook - } - add = 50 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:recipient = { - age <= 2 - } - desc = SCHEME_AGE_2_OR_LESS - add = 50 - } - modifier = { - scope:recipient = { - age <= 6 - } - desc = SCHEME_AGE_6_OR_LESS - add = 20 - } - modifier = { - scope:recipient = { - age >= 10 - } - desc = SCHEME_AGE_10_OR_MORE - add = -20 - } - modifier = { - scope:recipient = { - age >= 14 - } - desc = SCHEME_AGE_14_OR_MORE - add = -40 - } - # They are afraid of you - modifier = { - scope:recipient = { - age >= 12 - has_dread_level_towards = { - target = scope:actor - level = 1 - } - } - desc = SCHEME_TOO_SCARED_TO_RUN - add = 30 - } - modifier = { - scope:recipient = { - age >= 12 - has_dread_level_towards = { - target = scope:actor - level = 2 - } - } - desc = SCHEME_TOO_TERRIFIED_TO_RUN - add = 60 - } - modifier = { - scope:actor = { - highest_held_title_tier >= tier_empire - } - desc = SCHEME_EMPIRE_TIER - add = 30 - } - #You are too good a governor for them to slip away - modifier = { - scope:recipient = { - age >= 12 - } - scope:actor = { - is_governor = yes - governor_efficiency >= 1.25 - } - desc = SCHEME_GOVERNOR_EFFICIENCY_DISSUADES_FLEEING - add = 20 - } - } -} - -### Offer eunuch -# actor = offerer -# recipient = receiver -# secondary_actor = eunuch -offer_eunuch_interaction = { - category = interaction_category_friendly - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - pause_on_receive = yes - icon = eunuch - interface_priority = 29 #after Gift Artifact - - populate_recipient_list= { - scope:actor = { - every_courtier = { - limit = { - is_eunuch_trigger = yes - } - add_to_list = characters - } - } - } - - desc = offer_eunuch_interaction_desc - - prompt = OFFER_EUNUCH_SELECT_EUNUCH_TO_TRANSFER - - notification_text = OFFER_EUNUCH_PROPOSAL - - cooldown_against_recipient = { years = 1 } - - is_shown = { - # Only admin gov care about this - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { government_has_flag = government_is_administrative } - # Only if you actually have any eunuchs in your court - scope:actor = { - any_courtier = { - is_eunuch_trigger = yes - } - } - # Cannot exchange eunuchs with self - NOT = { scope:recipient = scope:actor } - # Only significant rulers - scope:actor.highest_held_title_tier > tier_barony - # Target has to be a ruler and have a court - scope:recipient = { is_ruler = yes } - # Target has to be a direct vassal of the Emperor - scope:recipient.top_liege = scope:recipient.liege - } - - is_valid_showing_failures_only = { - # Must be available - scope:recipient = { is_busy_in_events_localised = yes } - trigger_if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient = { is_busy_in_events_localised = yes } - } - NOT = { - # Must be at peace - scope:recipient = { is_at_war_with = scope:actor } - } - # Stop AI spamming eunuch offers - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - exists = scope:secondary_recipient - } - NOT = { - scope:secondary_recipient = { has_character_flag = ai_should_not_offer_eunuch } - } - } - } - - can_be_picked = { - # We don't want baby eunuchs, we want eunuchs who can actually do something - is_adult = yes - } - - can_send = { - scope:recipient = { - trigger_if = { - limit = { is_ai = no } - NOT = { - scope:secondary_recipient = { has_character_flag = ai_should_not_offer_eunuch } - } - } - } - } - - is_highlighted = { # We highlight this interaction so it's easier to notice, since we don't show it in the main list - scope:actor = { - any_courtier = { - is_eunuch_trigger = yes - } - } - } - - cost = {} - - on_send = { - scope:secondary_recipient = { - add_character_flag = { - flag = under_offer_as_eunuch_flag - months = 1 - } - court_position_generator_effect = { - VAR = target - EMPLOYER = scope:recipient - } - } - if = { - limit = { - scope:recipient = { is_ai = no } - } - hidden_effect = { - scope:secondary_recipient = { - add_character_flag = { - flag = ai_should_not_offer_eunuch - years = 3 - } - } - } - } - } - - on_accept = { - # Save scopes for clarity - scope:actor = { save_scope_as = eunuch_sender } - scope:secondary_recipient = { save_scope_as = eunuch } - scope:recipient = { save_scope_as = eunuch_taker } - scope:actor = { trigger_event = char_interaction.0350 } - show_as_tooltip = { - ep3_give_eunuch_effect = { - EUNUCH = scope:secondary_recipient - TAKER = scope:recipient - GIVER = scope:actor - } - custom_tooltip = eunuch_will_be_given_a_position_tt - } - } - - on_decline = { - scope:actor = { - trigger_event = char_interaction.0351 - } - scope:secondary_recipient = { remove_character_flag = under_offer_as_eunuch_flag } - } - - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - # AI - ai_accept = { - base = -50 - ######### OPINION OF LIEGE - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ######### OPINION OF EUNUCH - opinion_modifier = { - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ######## EUNUCH AGE - modifier = { - add = { - value = 50 - subtract = scope:secondary_recipient.age - } - desc = AI_REASON_EUNUCH_AGE - } - ######## EUNUCH SKILLS - modifier = { - add = { - add = scope:secondary_recipient.diplomacy - add = scope:secondary_recipient.intrigue - add = scope:secondary_recipient.stewardship - add = scope:secondary_recipient.martial - add = scope:secondary_recipient.learning - } - desc = AI_REASON_EUNUCH_SKILLS - } - ######## EUNUCH SKILLS - modifier = { - scope:secondary_recipient = { - has_trait = beardless_eunuch - } - add = 25 - desc = AI_REASON_BEARDLESS_EUNUCH - } - } - - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 36 - - ai_potential = { highest_held_title_tier >= tier_county } - - ai_will_do = { - base = 0 - modifier = { - add = scope:actor.ai_boldness - add = { - subtract = scope:actor.ai_compassion - } - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:actor - opinion_target = scope:secondary_recipient - multiplier = -0.5 - desc = AI_OPINION_REASON - } - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - # Cultural traditions - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_equitable } - add = 25 - } - modifier = { - scope:actor.culture = { has_cultural_tradition = tradition_esteemed_hospitality } - add = 25 - } - modifier = { - scope:actor = { - culture = { has_cultural_tradition = tradition_loyal_soldiers } - } - add = 25 - desc = HOSTAGE_CULTURAL_TRADITION_REASON - } - } -} - -# Add artifact to Cabinet of Curiosities -cabinet_of_curiosities_interaction = { - category = interaction_category_friendly - common_interaction = yes - interface_priority = 60 - desc = cabinet_of_curiosities_interaction_desc - icon = artisan_inspiration - - target_type = artifact - target_filter = actor_artifacts - - can_be_picked_artifact = { - scope:actor = { - any_artifact = { - this = scope:target - } - #block the artifact from the laamp escort contract - NOT = { - any_scheme = { - var:escorted_artifact ?= scope:target - } - } - } - } - - is_shown = { - scope:recipient = scope:actor - scope:actor = { - domicile ?= { - has_domicile_building_or_higher = cabinet_of_curiosities_01 - } - } - } - - is_valid_showing_failures_only = { - # needs to have an artifact to give away - scope:actor = { - has_any_artifact = yes - is_imprisoned = no - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = cabinet_of_curiosities_interaction_notification - left_icon = scope:actor - right_icon = scope:target - - custom_tooltip = artifact_added_to_domicile_tt - - # Determine Bonus - if = { - limit = { - scope:target = { is_unique = yes } - } - house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter_unique - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter_unique - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter_unique - value = 1 - } - } - } - } - scope:target = { - if = { - limit = { rarity = common } - scope:actor.house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter_common - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter_common - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter_common - value = 1 - } - } - } - } - else_if = { - limit = { rarity = masterwork } - scope:actor.house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter_masterwork - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter_masterwork - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter_masterwork - value = 1 - } - } - } - } - else_if = { - limit = { rarity = famed } - scope:actor.house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter_famed - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter_famed - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter_famed - value = 1 - } - } - } - } - else_if = { - limit = { rarity = illustrious } - scope:actor.house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter_illustrious - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter_illustrious - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter_illustrious - value = 1 - } - } - } - } - } - } - - custom_tooltip = add_artifact_to_domicile_warning - hidden_effect = { - destroy_artifact = scope:target - house = { - if = { - limit = { - has_variable = ep3_legacy_domicile_artifact_counter - } - change_variable = { - name = ep3_legacy_domicile_artifact_counter - add = 1 - } - } - else = { - set_variable = { - name = ep3_legacy_domicile_artifact_counter - value = 1 - } - } - } - } - } - } - - auto_accept = yes - - # AI - ai_targets = { - ai_recipients = self - } - - ai_frequency = 84 - - ai_potential = { - has_any_unequipped_artifact = yes - any_character_artifact = { - count >= 5 - is_equipped = no - } - } - - ai_will_do = { - base = 30 - } -} - -# Send an acknowledgment and reward for a governor's good performance -acknowledge_governor_interaction = { - category = interaction_category_vassal - filter_tags = { admin_governor } - - icon = icon_acknowledge_governor - common_interaction = no - interface_priority = 21 #right before mentor in governance - popup_on_receive = yes - - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_frequency = 36 - - desc = acknowledge_governor_interaction_desc - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:recipient = { - target_is_liege_or_above = scope:actor - highest_held_title_tier >= tier_duchy - government_has_flag = government_is_administrative - } - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = yes - highest_held_title_tier >= tier_empire - } - } - - cooldown_against_recipient = { years = 10 } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - NOT = { - is_at_war_with = scope:recipient - } - } - scope:recipient = { - has_trait = governor - has_trait_xp = { - trait = governor - value >= 80 - } - } - } - - auto_accept = yes - - cost = { - influence = major_influence_value - } - - on_accept = { - scope:actor = { save_scope_as = emperor } - scope:recipient = { - trigger_event = { - id = ep3_interactions_events.0040 - days = 1 - } - } - custom_tooltip = acknowledge_governor_interaction_tt - show_as_tooltip = { - scope:actor = { - add_hook = { - target = scope:recipient - type = loyalty_hook - years = 5 - } - } - if = { - limit = { - scope:recipient = { is_ai = yes } - } - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = feeling_appreciated_opinion - opinion = 30 - } - } - } - } - } - - ai_potential = { - government_has_flag = government_is_administrative - highest_held_title_tier >= tier_empire - } - - ai_will_do = { - base = 10 - modifier = { - scope:recipient.house ?= scope:actor.house - add = 10 - } - modifier = { - scope:recipient = { - is_close_family_of = scope:actor - } - add = 20 - } - modifier = { - scope:recipient = { - is_extended_family_of = scope:actor - } - add = 10 - } - modifier = { - scope:actor = { - has_relation_friend = scope:recipient - } - add = 10 - } - modifier = { - scope:actor = { - has_relation_best_friend = scope:recipient - } - add = 20 - } - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = -30 - } - opinion_modifier = { # Opinion Factor - who = scope:actor - opinion_target = scope:recipient - multiplier = 0.5 - } - modifier = { - scope:recipient = { - has_trait_xp = { - trait = governor - value >= 90 - } - } - factor = 1.5 - } - modifier = { - scope:recipient = { - has_trait_xp = { - trait = governor - value >= 100 - } - } - factor = 2 - } - modifier = { - scope:actor = { - has_strong_hook = scope:recipient - } - factor = 0.1 - } - } -} - -# Affect Governor's performance -boost_efficiency_interaction = { - category = interaction_category_vassal - filter_tags = { admin_governor } - icon = icon_boost_efficiency - interface_priority = 19 - popup_on_receive = yes - - ai_targets = { - ai_recipients = peer_vassals - max = 15 - } - ai_targets = { - ai_recipients = vassals - max = 15 - } - ai_frequency = 36 - - desc = boost_efficiency_interaction_desc - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - government_has_flag = government_is_administrative - NOT = { this = scope:actor } - is_governor = yes - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - NOT = { is_at_war_with = scope:recipient } - } - custom_tooltip = { - text = boost_efficiency_interaction_too_high_tt - scope:recipient.governor_efficiency_presented <= boost_efficiency_maximum_value - } - custom_tooltip = { - text = efficiency_interaction_cooldown_tt - scope:recipient = { - NOR = { - is_target_in_variable_list = { - name = efficiency_boosters - target = scope:actor - } - is_target_in_variable_list = { - name = efficiency_damagers - target = scope:actor - } - } - } - } - } - - can_send = { - custom_tooltip = { - text = boost_efficiency_interaction_too_high_tt - scope:recipient.governor_efficiency_presented <= boost_efficiency_maximum_value - } - custom_tooltip = { - text = efficiency_interaction_cooldown_tt - scope:recipient = { - NOR = { - is_target_in_variable_list = { - name = efficiency_boosters - target = scope:actor - } - is_target_in_variable_list = { - name = efficiency_damagers - target = scope:actor - } - } - } - } - } - - cost = { - influence = { - value = minor_influence_value - if = { - limit = { scope:influence_boost = yes } - add = scope:recipient.medium_influence_value - } - } - gold = { - value = 0 - if = { - limit = { scope:gold_boost = yes } - add = scope:recipient.medium_gold_value - } - } - } - - send_option = { - is_valid = { scope:actor.influence >= scope:recipient.medium_influence_gain } - localization = influence_boost_desc - flag = influence_boost - } - send_option = { - is_valid = { scope:actor.gold >= scope:recipient.medium_gold_value } - localization = gold_boost_desc - flag = gold_boost - } - send_option = { - localization = diplomacy_boost_desc - flag = diplomacy_boost - } - send_option = { - localization = stewardship_boost_desc - flag = stewardship_boost - } - send_option = { - localization = intrigue_boost_desc - flag = intrigue_boost - } - send_options_exclusive = yes - - on_send = { - scope:recipient = { - add_to_variable_list = { - name = efficiency_boosters - target = scope:actor - years = 2 - } - } - } - - auto_accept = yes - - on_accept = { - switch = { - trigger = yes - scope:diplomacy_boost = { - boost_governor_efficiency_duel_effect = { SKILL = diplomacy } - } - scope:stewardship_boost = { - boost_governor_efficiency_duel_effect = { SKILL = stewardship } - } - scope:intrigue_boost = { - boost_governor_efficiency_duel_effect = { SKILL = intrigue } - } - fallback = { boost_governor_efficiency_success_effect = yes } # Non-duel options always succeed - } - } - - ai_potential = { - government_has_flag = government_is_administrative - top_liege = { - any_vassal = { - is_governor = yes - NOT = { this = root } - } - } - } - - ai_will_do = { - base = -10 - modifier = { # Boost house members - scope:recipient.house ?= scope:actor.house - add = 10 - } - modifier = { # Boost family - scope:recipient = { is_close_family_of = scope:actor } - add = 10 - } - modifier = { # Boost friends - scope:actor = { has_relation_friend = scope:recipient } - add = 10 - } - modifier = { # Avoid boosting rivals - scope:actor = { has_relation_rival = scope:recipient } - add = -25 - } - modifier = { # Avoid making potential house gains harder - scope:recipient = { - any_held_title = { - tier >= tier_duchy - current_heir.house = scope:actor.house - scope:actor.house != scope:recipient.house - } - } - add = -10 - } - modifier = { # AI copy players they like - scope:recipient = { - any_in_list = { - variable = efficiency_boosters - is_ai = no - NOT = { has_relation_rival = scope:actor } - OR = { - has_relation_friend = scope:actor - AND = { - exists = house - scope:actor.house ?= house - } - is_close_family_of = scope:actor - } - } - } - add = 15 - } - opinion_modifier = { # Opinion Factor - boost for characters they like - who = scope:actor - opinion_target = scope:recipient - multiplier = 0.25 - } - } -} - -# Affect Governor's performance -damage_efficiency_interaction = { - category = interaction_category_vassal - filter_tags = { admin_governor } - - icon = icon_damage_efficiency - interface_priority = 18 #right after bolster governance - popup_on_receive = yes - - ai_targets = { - ai_recipients = peer_vassals - max = 15 - } - ai_targets = { - ai_recipients = vassals - max = 15 - } - ai_frequency = 36 - - desc = damage_efficiency_interaction_desc - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - is_governor = yes - NOT = { this = scope:actor } - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - NOT = { is_at_war_with = scope:recipient } - } - custom_tooltip = { - text = damage_efficiency_interaction_too_low_tt - scope:recipient.governor_efficiency_presented >= damage_efficiency_minimum_value - } - custom_tooltip = { - text = efficiency_interaction_cooldown_tt - scope:recipient = { - NOR = { - is_target_in_variable_list = { - name = efficiency_boosters - target = scope:actor - } - is_target_in_variable_list = { - name = efficiency_damagers - target = scope:actor - } - } - } - } - } - - can_send = { - custom_tooltip = { - text = damage_efficiency_interaction_too_low_tt - scope:recipient.governor_efficiency_presented >= damage_efficiency_minimum_value - } - custom_tooltip = { - text = efficiency_interaction_cooldown_tt - scope:recipient = { - NOR = { - is_target_in_variable_list = { - name = efficiency_boosters - target = scope:actor - } - is_target_in_variable_list = { - name = efficiency_damagers - target = scope:actor - } - } - } - } - } - - cost = { - influence = { - value = minor_influence_gain - if = { - limit = { scope:influence_damage = yes } - add = scope:recipient.medium_influence_gain - } - } - gold = { - value = 0 - if = { - limit = { scope:gold_damage = yes } - add = scope:recipient.medium_gold_value - } - } - } - - send_option = { - is_valid = { scope:actor.influence >= scope:recipient.medium_influence_gain } - localization = influence_damage_desc - flag = influence_damage - } - send_option = { - is_valid = { scope:actor.gold >= scope:recipient.medium_gold_value } - localization = gold_damage_desc - flag = gold_damage - } - send_option = { - localization = diplomacy_damage_desc - flag = diplomacy_damage - } - send_option = { - localization = stewardship_damage_desc - flag = stewardship_damage - } - send_option = { - localization = intrigue_damage_desc - flag = intrigue_damage - } - send_options_exclusive = yes - - on_send = { - scope:recipient = { - add_to_variable_list = { - name = efficiency_damagers - target = scope:actor - years = 2 - } - } - } - - auto_accept = yes - - on_accept = { - switch = { - trigger = yes - scope:diplomacy_damage = { - damage_governor_efficiency_duel_effect = { SKILL = diplomacy } - } - scope:stewardship_damage = { - damage_governor_efficiency_duel_effect = { SKILL = stewardship } - } - scope:intrigue_damage = { - damage_governor_efficiency_duel_effect = { SKILL = intrigue } - } - fallback = { damage_governor_efficiency_success_effect = yes } # Non-duel options always succeed - } - } - - ai_potential = { - government_has_flag = government_is_administrative - top_liege = { - any_vassal = { - is_governor = yes - NOT = { this = root } - } - } - } - - ai_will_do = { - base = -10 - modifier = { # Don't damage house members - scope:recipient.house ?= scope:actor.house - add = -10 - } - modifier = { # Don't damage close family - scope:recipient = { is_close_family_of = scope:actor } - add = -10 - } - modifier = { # Don't damage friends - scope:actor = { has_relation_friend = scope:recipient } - add = -10 - } - modifier = { # Damage rivals - scope:actor = { has_relation_rival = scope:recipient } - add = 15 - } - modifier = { # Damage when house stands to gain - scope:recipient = { - any_held_title = { - tier >= tier_duchy - current_heir.house = scope:actor.house - scope:actor.house != scope:recipient.house - } - } - add = 10 - } - modifier = { # AI copy players they like - scope:recipient = { - any_in_list = { - variable = efficiency_damagers - is_ai = no - NOT = { has_relation_rival = scope:actor } - OR = { - has_relation_friend = scope:actor - AND = { - exists = house - scope:actor.house ?= house - } - is_close_family_of = scope:actor - } - } - } - add = 15 - } - opinion_modifier = { # Opinion Factor - boost for characters they dislike - who = scope:actor - opinion_target = scope:recipient - multiplier = -0.25 - } - } -} - -# Emperor fires Governor - AKA Depose Governor/depose_governor -governor_removal_interaction = { - category = interaction_category_succession - filter_tags = { admin_governor } - icon = icon_governor_removal - common_interaction = no - desc = governor_removal_interaction_desc - greeting = negative - notification_text = GOVERNOR_REMOVAL_NOTIFICATION_TEXT - popup_on_receive = yes - pause_on_receive = yes - cooldown_against_recipient = { years = 5 } - - auto_accept = yes - - is_shown = { - scope:actor = { - is_independent_ruler = yes - government_has_flag = government_is_administrative - } - scope:recipient = { - NOT = { this = scope:actor } - is_governor = yes - is_vassal_of = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - any_vassal = { - is_governor = yes - NOT = { this = scope:actor } - } - } - } - - is_highlighted = { - scope:recipient ?= { - any_held_title = { - current_heir ?= { - OR = { - scope:actor ?= this - is_close_family_of = scope:actor - } - } - } - } - } - - highlighted_reason = HIGHLIGHTED_GOVERNOR_REMOVAL_HEIR - - can_send = { - scope:recipient != scope:actor - custom_tooltip = { - text = demand_governor_removal_dominant_family_tt - scope:recipient.house ?= { is_dominant_family = no } - } - } - - cost = { - influence = { - value = 0 - if = { - limit = { exists = scope:recipient } - scope:recipient ?= { - if = { - limit = { - any_held_title = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - every_held_title = { - limit = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - add = { - value = scope:recipient.massive_influence_value - multiply = 3 - } - } - desc = GOVERNOR_RESIGNATION_KINGDOM_COST - } - } - else_if = { - limit = { - any_held_title = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - every_held_title = { - limit = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - add = scope:recipient.massive_influence_value - } - desc = GOVERNOR_RESIGNATION_DUCHY_COST - } - } - if = { - limit = { house ?= { is_powerful_family = yes } } - add = { - value = scope:recipient.massive_influence_value - desc = GOVERNOR_RESIGNATION_POWERFUL_COST - } - } - else_if = { - limit = { house ?= { is_dominant_family = yes } } - add = { - value = scope:recipient.monumental_influence_value - desc = GOVERNOR_RESIGNATION_DOMINANT_COST - } - } - if = { - limit = { - scope:actor = { is_ai = no } # This cost is only for players due to performance reasons - } - if = { - limit = { - scope:recipient.governor_efficiency != 1 - } - add = { - value = -100 - add = { - value = scope:recipient.governor_efficiency - multiply = 100 - } - desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - } - if = { - limit = { - influence_level != 1 - } - add = { - value = { - value = influence_level - subtract = 1 - } - multiply = 50 - desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST - } - } - } - scope:actor = { - if = { - limit = { has_revoke_title_reason = scope:recipient } - multiply = { - value = 0.5 - desc = temporal_condemnation_got_revoke_reason # Reused loc - } - } - } - } - } - } - - on_accept = { - scope:recipient = { - if = { - limit = { - exists = house - house = { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - can_set_relation_rival_trigger = { CHARACTER = scope:actor } - } - progress_towards_rival_effect = { - REASON = rival_deposed_governor - CHARACTER = scope:actor - OPINION = 0 - } - } - add_opinion = { - target = scope:actor - modifier = demanded_my_resignation_opinion - } - custom_tooltip = demanded_my_resignation_house_tt - hidden_effect = { - house ?= { - if = { - limit = { - NOT = { this = scope:actor.house } - } - every_house_member = { - custom = custom.every_house_member_secondary_recipient - limit = { - is_ai = yes - NOT = { this = scope:recipient } - } - if = { - limit = { - house = { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - } - add_opinion = { - target = scope:actor - modifier = demanded_my_house_members_resignation_opinion - opinion = -20 - } - } - else = { - add_opinion = { - target = scope:actor - modifier = demanded_my_house_members_resignation_opinion - opinion = -15 - } - } - } - } - } - } - if = { - limit = { - any_held_title = { - is_noble_family_title = no - exists = current_heir - current_heir = { - NOR = { - this = scope:actor - AND = { - exists = scope:recipient.house - house ?= scope:recipient.house - } - has_relation_friend = scope:recipient - has_relation_best_friend = scope:recipient - is_allied_to = scope:recipient - has_relation_soulmate = scope:recipient - is_spouse_of = scope:recipient - is_close_family_of = scope:recipient - } - opinion = { - target = scope:recipient - value <= 40 - } - } - } - } - every_held_title = { - limit = { - is_noble_family_title = no - exists = current_heir - current_heir = { - NOR = { - this = scope:actor - AND = { - exists = scope:recipient.house - house ?= scope:recipient.house - } - has_relation_friend = scope:recipient - has_relation_best_friend = scope:recipient - is_allied_to = scope:recipient - has_relation_soulmate = scope:recipient - is_spouse_of = scope:recipient - is_close_family_of = scope:recipient - } - opinion = { - target = scope:recipient - value <= 40 - } - } - } - current_heir = { - add_to_list = deposed_title_heirs - } - } - every_in_list = { - list = deposed_title_heirs - add_opinion = { - target = scope:actor - modifier = deposed_predecessor_opinion - } - } - } - trigger_event = ep3_interactions_events.0630 - show_as_tooltip = { - governor_resignation_title_transfer_effect = yes - } - } - } - - on_decline = { - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = demanded_my_resignation_opinion - } - } - scope:actor = { - send_interface_toast = { - title = demand_governor_resignation_declined_toast - type = event_toast_effect_bad - left_icon = scope:recipient - revocation_tyranny_effect = { VASSAL = scope:recipient } - title_revocation_stress_effect = { VASSAL = scope:recipient } - } - } - war_for_revoke_effect = { - LIEGE = scope:actor - REBEL = scope:recipient - } - scope:actor = { - if = { - limit = { has_realm_law_flag = vassal_refusal_is_treason } - add_opinion = { - target = scope:recipient - modifier = treasonous_revoke_refusal - } - } - } - } - - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - # AI - ai_targets = { - ai_recipients = vassals - } - - ai_frequency = 6 - ai_potential = { - influence > massive_influence_value - is_at_war = no # Don't spend influence when at war in case troops are needed - } - - ai_will_do = { - base = -10 - modifier = { - scope:actor.house = scope:recipient.house - add = -50 - } - modifier = { - scope:actor = { has_relation_rival = scope:recipient } - add = 30 - } - modifier = { # Get rid of bad governors, but there is no point if the heir is worse - scope:recipient = { - governor_efficiency <= 0.7 - governor_efficiency < scope:recipient.primary_heir.governor_efficiency - } - add = 10 - } - modifier = { - scope:recipient = { - is_a_faction_member = yes - } - add = 20 - } - modifier = { - scope:recipient = { - governor_efficiency >= 1.25 - } - add = -10 - } - modifier = { - scope:recipient = { - has_trait = loyal - } - add = -10 - } - modifier = { - scope:recipient = { - has_trait = disloyal - } - add = 5 - } - modifier = { - scope:recipient = { - is_allied_to = scope:actor - } - add = -100 - } - modifier = { - scope:recipient = { - any_held_title = { - current_heir ?= { - house = scope:actor.house - NOT = { this = scope:actor } - } - } - } - add = 10 - } - opinion_modifier = { # Opinion Factor - who = scope:actor - opinion_target = scope:recipient - multiplier = -0.25 - } - } -} - -# Demand Emperor fires Governor - AKA Compel Resignation/compel_resignation -force_governor_removal_interaction = { - category = interaction_category_succession - filter_tags = { admin_governor } - icon = icon_force_governor_removal - desc = force_governor_removal_interaction_desc - interface_priority = 134 # right after Force Retirement - common_interaction = no - - greeting = positive - notification_text = DEMAND_GOVERNOR_REMOVAL_NOTIFICATION_TEXT - can_send_despite_rejection = yes - popup_on_receive = yes - pause_on_receive = yes - - cooldown = { years = 5 } - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - scope:actor = { - is_independent_ruler = no - exists = top_liege - top_liege = { government_has_flag = government_is_administrative } - } - scope:secondary_recipient ?= { is_governor = yes } - OR = { - scope:secondary_recipient ?= { is_vassal_of = scope:recipient } - scope:secondary_recipient ?= scope:recipient - } - scope:secondary_recipient != scope:actor - scope:secondary_recipient != scope:recipient - } - - is_valid_showing_failures_only = { - scope:actor = { - NOR = { - is_at_war_with = scope:recipient - is_at_war_with = scope:secondary_recipient - } - top_liege = { - any_vassal = { - is_governor = yes - NOT = { this = scope:actor } - } - } - } - scope:secondary_recipient = { - NOT = { is_at_war_with = scope:recipient } - } - } - - is_highlighted = { - scope:secondary_recipient ?= { - any_held_title = { - current_heir ?= { - OR = { - scope:actor ?= this - house ?= scope:actor.house - } - } - } - } - } - - highlighted_reason = HIGHLIGHTED_DEMAND_GOVERNOR_REMOVAL_HEIR - - can_send = { - scope:secondary_recipient != scope:actor - custom_tooltip = { - text = demand_governor_removal_dominant_family_tt - scope:secondary_recipient.house ?= { is_dominant_family = no } - } - scope:actor = { - NAND = { - is_ai = yes - scope:recipient = { has_character_flag = force_governor_resignation_ai_cooldown } - } - } - } - - can_be_picked = { - house ?= { is_dominant_family = no } - any_held_title = { - is_landless_type_title = no - is_noble_family_title = no - } - exists = house - is_governor = yes - NOR = { - this = scope:actor - this = scope:recipient - } - } - - redirect = { - if = { - limit = { scope:recipient != scope:actor.top_liege } - scope:recipient = { save_scope_as = secondary_recipient } - } - scope:actor.top_liege ?= { - save_scope_as = recipient - } - } - - populate_recipient_list = { - scope:actor.top_liege = { - every_vassal = { - limit = { - exists = house - is_governor = yes - NOR = { - this = scope:actor - this = scope:recipient - } - } - add_to_list = characters - } - } - } - - cost = { - influence = { - value = 0 - if = { - limit = { exists = scope:secondary_recipient } - scope:secondary_recipient ?= { - if = { - limit = { - any_held_title = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - value = 0 - every_held_title = { - limit = { - tier = tier_duchy - is_landless_type_title = no - is_noble_family_title = no - } - add = scope:secondary_recipient.massive_influence_value - } - desc = DEMAND_GOVERNOR_RESIGNATION_DUCHY_COST - } - } - if = { - limit = { - any_held_title = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - } - add = { - value = 0 - every_held_title = { - limit = { - tier = tier_kingdom - is_landless_type_title = no - is_noble_family_title = no - } - add = { - value = scope:secondary_recipient.massive_influence_value - multiply = 2 - } - } - desc = DEMAND_GOVERNOR_RESIGNATION_KINGDOM_COST - } - } - if = { - limit = { house ?= { is_powerful_family = yes } } - add = { - value = scope:secondary_recipient.massive_influence_value - desc = DEMAND_GOVERNOR_RESIGNATION_POWERFUL_COST - } - } - else_if = { - limit = { house ?= { is_dominant_family = yes } } - add = { - value = scope:secondary_recipient.monumental_influence_value - desc = DEMAND_GOVERNOR_RESIGNATION_DOMINANT_COST - } - } - else_if = { - limit = { scope:secondary_recipient.governor_efficiency > 1 } - add = { - value = -100 - add = { - value = scope:secondary_recipient.governor_efficiency - multiply = 100 - } - desc = DEMAND_GOVERNOR_RESIGNATION_EFFICIENCY_COST - } - } - if = { - limit = { - influence_level != 1 - } - add = { - value = { - value = influence_level - subtract = 1 - } - multiply = 50 - desc = DEMAND_GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST - } - } - } - } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = force_governor_resignation_accepted_toast - left_icon = scope:secondary_recipient - right_icon = scope:recipient - if = { - limit = { scope:criminal_secret_recipient = yes} - scope:actor = { - random_known_secret = { - limit = { - secret_owner = scope:recipient - is_criminal_for = scope:recipient - can_be_exposed_by = scope:actor - } - disable_exposure_by = scope:actor - } - } - } - if = { - limit = { scope:criminal_secret_secondary_recipient = yes } - scope:actor = { - random_known_secret = { - limit = { - secret_owner = scope:secondary_recipient - is_criminal_for = scope:secondary_recipient - can_be_exposed_by = scope:actor - NOT = { is_known_by = scope:recipient } - } - reveal_to = scope:recipient - disable_exposure_by = scope:actor - } - } - } - scope:secondary_recipient ?= { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = forced_my_resignation_opinion - } - } - progress_towards_rival_effect = { - REASON = rival_forced_my_resignation_reason - CHARACTER = scope:actor - OPINION = default_rival_opinion - } - house ?= { - if = { - limit = { - this != scope:actor.house - } - every_house_member = { - custom = custom.every_house_member_secondary_recipient - limit = { - is_ai = yes - this != scope:secondary_recipient - } - add_opinion = { - target = scope:actor - modifier = forced_my_house_members_resignation_opinion - } - } - } - } - governor_resignation_title_transfer_effect = yes - } - } - if = { - limit = { scope:influence = yes } - change_influence = massive_influence_loss - } - } - } - - on_decline = { - scope:secondary_recipient ?= { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = attempted_force_my_resignation_opinion - } - add_opinion = { - target = scope:recipient - modifier = blocked_my_resignation_opinion - } - } - custom_tooltip = demanded_my_resignation_blocked_house_tt - hidden_effect = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = force_governor_resignation_vetoed_toast - left_icon = scope:secondary_recipient - right_icon = scope:recipient - scope:secondary_recipient = { - send_interface_toast = { - type = event_toast_effect_good - title = force_governor_resignation_vetoed_toast - left_icon = scope:actor - right_icon = scope:recipient - scope:recipient = { change_influence = medium_influence_loss } - house ?= { - every_house_member = { - custom = custom.every_house_member_secondary_recipient - limit = { - is_ai = yes - NOR = { - this = scope:secondary_recipient - this = scope:actor - this = scope:recipient - } - } - if = { - limit = { - NOT = { scope:actor.house ?= scope:secondary_recipient.house } - } - add_opinion = { - target = scope:actor - modifier = attempted_force_my_house_members_resignation_opinion - } - } - if = { - limit = { - NOT = { scope:recipient.house ?= scope:secondary_recipient.house } - } - add_opinion = { - target = scope:recipient - modifier = blocked_my_house_members_resignation_opinion - } - } - } - } - } - } - } - } - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = force_governor_resignation_declined_toast - left_icon = scope:secondary_recipient - right_icon = scope:recipient - scope:recipient = { - title_revocation_stress_effect = { VASSAL = scope:secondary_recipient } - - if = { - limit = { has_realm_law_flag = vassal_refusal_is_treason } - add_opinion = { - target = scope:secondary_recipient - modifier = treasonous_revoke_refusal - } - } - if = { - limit = { scope:criminal_secret_recipient = yes} - scope:actor = { - random_known_secret = { - limit = { - secret_owner = scope:recipient - is_criminal_for = scope:recipient - can_be_exposed_by = scope:actor - } - expose_secret = scope:actor - } - } - } - } - } - } - } - - on_send = { - scope:actor.top_liege = { - add_character_flag = { - flag = force_governor_resignation_ai_cooldown - months = 6 - } - } - } - - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_option = { - flag = influence - is_valid = { - scope:actor.influence >= massive_influence_value - } - localization = SPEND_INFLUENCE - } - send_option = { - flag = criminal_secret_recipient - is_shown = { - scope:recipient = { - any_secret = { - is_criminal_for = scope:recipient - is_known_by = scope:actor - can_be_exposed_by = scope:actor - } - } - } - localization = LEVERAGE_CRIMINAL_SECRET_RECIPIENT - } - send_option = { - flag = criminal_secret_secondary_recipient - is_shown = { - scope:secondary_recipient = { - any_secret = { - is_criminal_for = scope:secondary_recipient - is_known_by = scope:actor - can_be_exposed_by = scope:actor - NOT = { is_known_by = scope:recipient } - } - } - } - localization = LEVERAGE_CRIMINAL_SECRET_SECONDARY_RECIPIENT - } - - send_options_exclusive = no - - can_be_blocked = { - custom_description = { #Hook from Recipient can counteract, but only if Actor is not forcing the action via Strong Hook. - text = "spending_hook" - subject = scope:recipient - object = scope:actor - scope:recipient = { has_hook = scope:actor } - NAND = { - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - } - - on_blocked_effect = { - scope:recipient = { - remove_hook = { target = scope:actor } - } - } - - # AI - ai_targets = { - ai_recipients = peer_vassals - max = 10 - } - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 60 - ai_potential = { - influence > massive_influence_value - is_independent_ruler = no - government_has_flag = government_is_administrative - } - ai_accept = { - base = -50 - # SEND OPTIONS - modifier = { - scope:hook = yes - add = 30 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - desc = INFLUENCE_REASON - scope:influence = yes - add = { - value = 20 - multiply = scope:actor.influence_level - min = 5 - } - } - modifier = { - desc = RECIPIENT_SECRET - scope:criminal_secret_recipient = yes - add = 50 - } - modifier = { - desc = SECONDARY_RECIPIENT_SECRET - scope:criminal_secret_secondary_recipient = yes - add = 50 - } - - modifier = { - add = { - value = -100 - add = { - value = scope:secondary_recipient.governor_efficiency - multiply = 100 - } - multiply = -1 - round = yes - } - desc = SECONDARY_RECIPIENT_GOVERNOR_EFFICIENCY - } - modifier = { - scope:secondary_recipient.dynasty = scope:recipient.dynasty - scope:secondary_recipient.house != scope:recipient.house - NOT = { - scope:secondary_recipient = { is_close_family_of = scope:recipient } - } - add = -30 - desc = THEY_ARE_MY_HOUSE_MEMBER - } - modifier = { - scope:secondary_recipient.house = scope:recipient.house - NOT = { - scope:secondary_recipient = { is_close_family_of = scope:recipient } - } - add = -50 - desc = THEY_ARE_MY_HOUSE_MEMBER - } - modifier = { - scope:secondary_recipient = { is_close_family_of = scope:recipient } - add = -70 - desc = THEY_ARE_MY_CLOSE_FAMILY - } - modifier = { - scope:secondary_recipient = { is_councillor = yes } - add = -15 - desc = THEY_ARE_MY_COUNCILLOR - } - modifier = { - scope:recipient = { is_spouse_of = scope:secondary_recipient } - add = -25 - desc = THEY_ARE_MY_SPOUSE - } - modifier = { - scope:recipient = { has_relation_friend = scope:secondary_recipient } - add = -30 - desc = THEY_ARE_MY_FRIEND - } - modifier = { - scope:recipient = { has_relation_rival = scope:secondary_recipient } - add = 25 - desc = THEY_ARE_MY_RIVAL - } - modifier = { - scope:secondary_recipient.house = { - is_powerful_family = yes - NOR = { - this = scope:actor.house - this = scope:intermediary.house - } - } - add = -20 - desc = TARGET_FAMILY_IS_POWERFUL - } - modifier = { - scope:actor.house = { - is_powerful_family = yes - NOR = { - this = scope:actor.house - this = scope:intermediary.house - } - } - add = 20 - desc = YOUR_FAMILY_IS_POWERFUL - } - modifier = { - scope:actor.house = { - is_dominant_family = yes - NOT = { this = scope:recipient.house } - } - add = 30 - desc = YOUR_FAMILY_IS_DOMINANT - } - modifier = { - scope:secondary_recipient.house = { - is_dominant_family = yes - this != scope:recipient.house - } - add = -30 - desc = TARGET_FAMILY_IS_DOMINANT - } - modifier = { - scope:secondary_recipient = { - house != scope:recipient.house - any_held_title = { - current_heir ?= { - is_close_family_of = scope:recipient - NOT = { this = scope:recipient } - } - } - } - add = 30 - desc = THEIR_HOUSE_MEMBER_STANDS_TO_INHERIT - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = -0.5 - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - } - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - ai_will_do = { - base = -10 - modifier = { - scope:actor.house = scope:recipient.house - add = -50 - } - modifier = { - scope:actor = { has_relation_rival = scope:secondary_recipient } - add = 10 - } - modifier = { - scope:secondary_recipient = { - any_held_title = { current_heir.house ?= scope:actor.house } - } - add = 10 - } - modifier = { - scope:actor = { - OR = { - has_relation_friend = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - is_spouse_of = scope:secondary_recipient - is_close_family_of = scope:secondary_recipient - } - } - add = -50 - } - } -} - -# Force Step Down -force_step_down_interaction = { - icon = icon_force_to_step_down - common_interaction = no - interface_priority = 135 - category = interaction_category_succession - - filter_tags = { admin_governor } - - - cooldown_against_recipient = { years = 5 } - - target_type = title - target_filter = recipient_domain_titles - can_be_picked_title = { - scope:target = { - tier = tier_duchy - is_noble_family_title = no - } - } - has_valid_target_showing_failures_only = { - scope:target = { - tier = tier_duchy - is_noble_family_title = no - } - } - - ai_target_quick_trigger = { adult = yes } - ai_targets = { - ai_recipients = vassals - ai_recipients = peer_vassals - max = 10 - } - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - - greeting = negative - notification_text = FORCE_STEP_DOWN_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_frequency = 180 - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = no - this != scope:recipient - } - scope:recipient = { - government_has_flag = government_is_administrative - is_governor = yes - } - } - - is_highlighted = { - scope:recipient ?= { - any_held_title = { - current_heir ?= { - OR = { - scope:actor ?= this - house ?= scope:actor.house - } - } - } - } - } - - highlighted_reason = HIGHLIGHTED_FORCE_STEP_DOWN_HEIR - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - is_imprisoned = no - is_in_civil_war = no - } - scope:recipient = { - is_in_civil_war = no - } - } - - desc = scheme_interaction_tt_force_step_down_approved - - send_options_exclusive = no - send_option = { - flag = hook - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { has_hook = scope:actor } - } - } - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - send_option = { - flag = influence - is_valid = { - scope:actor.influence >= massive_influence_value - } - localization = SPEND_INFLUENCE - } - send_option = { - flag = gold - is_valid = { - scope:actor.gold >= scope:actor.massive_gold_value - } - localization = GENERIC_SPEND_GOLD - } - send_option = { - flag = criminal_secret_recipient - is_shown = { - scope:recipient = { - any_secret = { - is_criminal_for = scope:recipient - is_known_by = scope:actor - can_be_exposed_by = scope:actor - } - } - } - localization = LEVERAGE_CRIMINAL_SECRET_RECIPIENT - } - - on_accept = { - scope:actor = { - # Save the number of held governorships - scope:recipient = { - save_scope_value_as = { - name = recipient_number_of_governorships - value = { - value = 0 - every_held_title = { - limit = { - tier >= tier_duchy - is_noble_family_title = no - } - add = 1 - } - } - } - } - - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - if = { - limit = { scope:influence = yes } - change_influence = { - value = massive_influence_loss - multiply = 2 - multiply = scope:recipient_number_of_governorships - } - } - if = { - limit = { scope:gold = yes } - pay_short_term_gold = { - target = scope:recipient - gold = { - value = massive_gold_value - multiply = scope:recipient_number_of_governorships - } - } - } - if = { - limit = { scope:criminal_secret_recipient = yes} - scope:actor = { - random_known_secret = { - limit = { - secret_owner = scope:recipient - is_criminal_for = scope:recipient - can_be_exposed_by = scope:actor - } - disable_exposure_by = scope:actor - } - } - } - send_interface_toast = { - type = event_toast_effect_good - title = force_governor_resignation_accepted_toast - left_icon = scope:target - right_icon = scope:recipient - scope:recipient = { - custom_tooltip = loses_target_title_tt - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = forced_my_resignation_opinion - } - } - if = { - limit = { can_set_relation_rival_trigger = { CHARACTER = scope:actor } } - set_relation_rival = { - target = scope:actor - reason = rival_forced_my_resignation_reason - } - } - house ?= { - if = { - limit = { - this != scope:actor.house - } - every_house_member = { - custom = custom.every_house_member_recipient - limit = { - is_ai = yes - this != scope:secondary_recipient - } - add_opinion = { - target = scope:actor - modifier = forced_my_house_members_resignation_opinion - } - } - } - } - - force_step_down_landed_titles = yes - } - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = force_governor_resignation_declined_toast - left_icon = scope:target - right_icon = scope:recipient - - change_influence = major_influence_loss - add_prestige = medium_prestige_loss - scope:recipient = { - add_opinion = { - target = scope:actor - modifier = attempted_force_step_down_opinion - } - if = { - limit = { can_set_relation_rival_trigger = { CHARACTER = scope:actor } } - set_relation_rival = { - target = scope:actor - reason = rival_attempted_to_force_my_resignation_reason - } - } - } - if = { - limit = { scope:criminal_secret_recipient = yes} - scope:actor = { - random_known_secret = { - limit = { - secret_owner = scope:recipient - is_criminal_for = scope:recipient - can_be_exposed_by = scope:actor - } - expose_secret = scope:actor - } - } - } - } - } - } - - auto_accept = { - trigger_if = { - limit = { - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook ?= yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - trigger_else = { always = no } - } - - ai_accept = { - base = 0 - - # SEND OPTIONS - modifier = { - scope:hook = yes - add = 30 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - desc = INFLUENCE_REASON - scope:influence = yes - add = { - value = 20 - multiply = scope:actor.influence_level - min = 5 - } - } - modifier = { - desc = GOLD_REASON - scope:gold = yes - add = 30 - } - modifier = { - desc = RECIPIENT_SECRET - scope:criminal_secret_recipient = yes - add = 50 - } - - # TRAITS - modifier = { - scope:recipient = { has_trait = craven } - add = 10 - desc = INTERACTION_CRAVEN - } - modifier = { - scope:recipient = { has_trait = trusting } - add = 5 - desc = INTERACTION_TRUSTING - } - modifier = { - scope:recipient = { has_trait = generous } - add = 5 - desc = INTERACTION_GENEROUS - } - modifier = { - scope:recipient = { has_trait = lazy } - add = 10 - desc = INTERACTION_LAZY - } - modifier = { - scope:recipient = { has_trait = paranoid } - add = -20 - desc = INTERACTION_PARANOID - } - modifier = { - scope:recipient = { has_trait = patient } - add = -5 - desc = INTERACTION_PATIENT - } - modifier = { - scope:recipient = { has_trait = brave } - add = -10 - desc = INTERACTION_BRAVE - } - modifier = { - scope:recipient = { has_trait = greedy } - add = -10 - desc = INTERACTION_GREEDY - } - modifier = { - scope:recipient = { has_trait = ambitious } - add = -20 - desc = INTERACTION_AMBITIOUS - } - - # INTRIGUE COMPARISON - modifier = { - add = { - value = scope:actor.intrigue - multiply = 2 - } - desc = INTERACTION_ACTOR_INTRIGUE - } - modifier = { - add = { - value = scope:recipient.intrigue - multiply = -2 - } - desc = INTERACTION_RECIPIENT_INTRIGUE - } - } - - ai_potential = { - NOT = { - any_scheme = { - is_scheme_category = political - } - } - government_has_flag = government_is_administrative - is_independent_ruler = no - highest_held_title_tier >= tier_duchy - } - - ai_will_do = { - base = -200 - - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = -1 - } - - modifier = { # AI should really only use this if they have a house member in line for the title - house = { - any_house_member = { - scope:recipient.primary_title = { - place_in_line_of_succession = { - target = prev - value <= 3 - } - } - } - } - add = 100 - } - - #Personality - modifier = { - has_trait = vengeful - add = 10 - } - - modifier = { - has_trait = deceitful - add = 10 - } - - modifier = { - has_trait = honest - add = -10 - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = -500 - } - modifier = { - house = scope:recipient.house - add = -500 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = 75 - } - - # Relationships - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -100 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - factor = 0 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Request a governorship from your liege -request_governorship_interaction = { - category = interaction_category_vassal - icon = icon_request_governorship - desc = request_governorship_interaction_desc - common_interaction = yes - - filter_tags = { admin_liege } - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - - greeting = positive - notification_text = REQUEST_GOVERNORSHIP_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_targets = { ai_recipients = liege } - ai_target_quick_trigger = { adult = yes } - ai_frequency = 36 - - cooldown_against_recipient = { years = 10 } - - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - } - - cost = { - influence = { - add = { - add = { - value = scope:actor.monumental_influence_value - multiply = 2 - } - desc = BASE - } - # Province Size - add = { - value = 0 - if = { - limit = { exists = scope:target } - scope:target = { - every_de_jure_county = { add = 10 } - } - } - multiply = 2 - desc = province_size_desc - } - # Being a Powerful or Dominant Family reduces the cost significantly - scope:actor.house = { - if = { - limit = { is_dominant_family = yes } - multiply = { - value = 0.25 - desc = is_dominant_family_desc - } - } - else_if = { - limit = { is_powerful_family = yes } - multiply = { - value = 0.5 - desc = is_powerful_family_desc - } - } - } - # Only asking for candidate score - scope:target = { - if = { - limit = { - exists = holder - NOT = { holder = scope:recipient } - } - multiply = { - value = 0.5 - desc = candidacy_request_desc - } - } - } - } - } - - is_shown = { - scope:recipient != scope:actor - scope:recipient = scope:actor.top_liege - scope:actor = { - government_has_flag = government_is_administrative - is_governor = no - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - is_landed = no - NOT = { is_at_war_with = scope:recipient } - } - } - - target_type = title - target_filter = secondary_recipient_de_jure_titles - - can_be_picked_title = { - scope:target = { - custom_tooltip = { - text = request_governorship_interaction_tier_tt - OR = { - tier = tier_duchy - tier = tier_kingdom - } - } - trigger_if = { - limit = { is_title_created = no } - custom_tooltip = { - text = request_governorship_interaction_created_tt - any_de_jure_county = { holder = scope:recipient } - } - } - trigger_else = { - custom_tooltip = { - text = request_governorship_interaction_holder_tt - holder.top_liege = scope:actor.top_liege - } - } - custom_tooltip = { - text = request_governorship_interaction_liege_duchy_tt - NOT = { - any_de_jure_county = { this = scope:recipient.capital_county } - } - } - trigger_if = { - limit = { scope:target.holder ?= scope:recipient } - custom_tooltip = { - text = request_governorship_interaction_county_tt - any_de_jure_county = { holder = scope:recipient } - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target.tier = tier_duchy - trigger_if = { - limit = { exists = scope:target.holder } - scope:target.holder ?= { government_has_flag = government_is_administrative } - } - } - - can_send = { - scope:actor = { - is_landed = no - } - } - - on_send = { - save_scope_value_as = { - name = influence_cost - value = { - add = { - add = { - value = scope:actor.monumental_influence_value - multiply = 2 - } - desc = BASE - } - # Province Size - add = { - value = 0 - if = { - limit = { exists = scope:target } - scope:target = { - every_de_jure_county = { add = 10 } - } - } - multiply = 2 - desc = province_size_desc - } - # Being a Powerful or Dominant Family reduces the cost significantly - scope:actor.house = { - if = { - limit = { is_dominant_family = yes } - multiply = { - value = 0.25 - desc = is_dominant_family_desc - } - } - else_if = { - limit = { is_powerful_family = yes } - multiply = { - value = 0.5 - desc = is_powerful_family_desc - } - } - } - # Only asking for candidate score - scope:target = { - if = { - limit = { - exists = holder - NOT = { holder = scope:recipient } - } - multiply = { - value = 0.5 - desc = candidacy_request_desc - } - } - } - } - } - } - - on_accept = { - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = request_governorship_interaction_toast_liege - left_icon = scope:actor - right_icon = scope:target - change_influence = massive_influence_gain - scope:actor = { - # Grant title if held by Liege or uncreated but de jure land is held - if = { - limit = { - scope:target = { - OR = { - is_title_created = no - holder ?= scope:recipient - } - } - } - send_interface_toast = { - type = event_toast_effect_good - title = request_governorship_interaction_toast_granted - left_icon = scope:target - right_icon = scope:recipient - # Create Title if necessary - hidden_effect = { - scope:target ?= { - if = { - limit = { is_title_created = no } - create_title_and_vassal_change = { - type = created - save_scope_as = creation_change - } - change_title_holder = { - holder = scope:recipient - change = scope:creation_change - } - resolve_title_and_vassal_change = scope:creation_change - } - } - } - # Move Titles - create_title_and_vassal_change = { - type = appointment - save_scope_as = grant_change - } - scope:target = { - # Transfer counties - hidden_effect = { - every_de_jure_county = { - limit = { holder = scope:recipient } - change_title_holder = { - holder = scope:actor - change = scope:grant_change - } - } - } - # Transfer governorship - change_title_holder_include_vassals = { - holder = scope:actor - change = scope:grant_change - } - } - resolve_title_and_vassal_change = scope:grant_change - } - } - # Grant Appointment score if already has a Governor - else = { - send_interface_toast = { - type = event_toast_effect_good - title = request_governorship_interaction_toast_candidacy - left_icon = scope:target - right_icon = scope:recipient - scope:target ?= { - change_appointment_investment = { - target = scope:actor - investor = scope:recipient - value = appointment_major_influence_cost - } - } - } - scope:target = { - ordered_title_heir = { - limit = { - NOR = { - house ?= scope:actor.house - house ?= scope:recipient.house - } - } - order_by = "appointment_candidate_score(scope:target)" - check_range_bounds = no - max = 3 - if = { - limit = { - is_house_head = no - exists = house.house_head - NOR = { - house.house_head = scope:actor - house.house_head = scope:recipient - } - } - house.house_head = { - if = { - limit = { - NOT = { is_in_list = governorship_house_head_opinion } - } - add_to_list = governorship_house_head_opinion - } - } - } - else = { add_to_list = governorship_direct_opinion } - } - } - every_in_list = { - list = governorship_house_head_opinion - add_opinion = { - target = scope:actor - modifier = requested_house_heired_governorship - } - } - every_in_list = { - list = governorship_direct_opinion - add_opinion = { - target = scope:actor - modifier = requested_heired_governorship - } - } - } - } - } - } - } - - on_decline = { - scope:actor = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -15 - } - } - trigger_event = ep3_interactions_events.0021 - } - } - - ai_potential = { - is_governor = no - } - - ai_will_do = { - base = 0 - # Increase chance if greed and/or boldness is high enough - modifier = { - add = 20 - ai_greed >= medium_positive_ai_value - ai_boldness >= medium_positive_ai_value - } - modifier = { - add = 15 - ai_greed >= high_positive_ai_value - } - modifier = { - add = 15 - ai_boldness >= high_positive_ai_value - } - } - - ai_accept = { - base = -15 - opinion_modifier = { # Opinion of you - who = scope:recipient - opinion_target = scope:actor - desc = AI_LIEGE_OPINION_REASON - } - modifier = { - exists = scope:target.current_heir - NOR = { - scope:target.current_heir = scope:recipient - scope:target.current_heir = scope:actor - trigger_if = { - limit = { exists = scope:target.current_heir.house.house_head } - scope:target.current_heir != scope:target.current_heir.house.house_head - } - } - add = { - value = "scope:recipient.opinion(scope:target.current_heir)" - divide = 2 - round = yes - } - desc = AI_LIEGE_OPINION_HEIR_REASON - } - modifier = { - exists = scope:target.current_heir - scope:target.current_heir.house.house_head ?= scope:target.current_heir - NOR = { - scope:target.current_heir = scope:recipient - scope:target.current_heir = scope:actor - } - add = { - value = "scope:recipient.opinion(scope:target.current_heir)" - divide = 2 - round = yes - } - desc = AI_LIEGE_OPINION_HEIR_REASON - } - modifier = { - exists = scope:target.current_heir.house.house_head - NOR = { - scope:target.current_heir.house.house_head = scope:target.current_heir - scope:target.current_heir.house.house_head = scope:recipient - scope:target.current_heir.house.house_head = scope:actor - } - add = { - value = "scope:recipient.opinion(scope:target.current_heir.house.house_head)" - round = yes - } - desc = AI_LIEGE_OPINION_HEIR_HOUSE_HEAD_REASON - } - ai_value_modifier = { - ai_energy = 0.1 #It's a change - ai_greed = 0.2 #Free influence is free influence - ai_honor = -0.2 #Some might see it as a bribe - } - # Your Efficiency - modifier = { - add = { - value = { - value = scope:actor.governor_efficiency - multiply = 25 - } - round = yes - } - desc = AI_GOVERNOR_EFFICIENCY - } - # Heir Governor Efficiency - modifier = { - exists = scope:target.current_heir - NOR = { - scope:target.current_heir = scope:recipient - scope:target.current_heir = scope:actor - } - add = { - value = { - value = scope:target.current_heir.governor_efficiency - multiply = -50 - } - round = yes - } - desc = AI_GOVERNOR_EFFICIENCY_HEIR - } - # Your family is dominant - modifier = { - scope:actor.house = { is_dominant_family = yes } - desc = AI_DOMINANT_FAMILY - add = 50 - } - # Your family is powerful - modifier = { - scope:actor.house = { is_powerful_family = yes } - desc = AI_POWERFUL_FAMILY - add = 25 - } - # Heir family is dominant - modifier = { - scope:target.current_heir.house ?= { is_dominant_family = yes } - desc = AI_HEIR_DOMINANT_FAMILY - add = -50 - } - # Heir family is powerful - modifier = { - scope:target.current_heir.house ?= { is_powerful_family = yes } - desc = AI_HEIR_POWERFUL_FAMILY - add = -25 - } - # House of Emperor - modifier = { - scope:actor.house != scope:recipient.house - scope:target.current_heir.house ?= scope:recipient.house - desc = AI_HEIR_IS_MY_HOUSE - add = -50 - } - # You are more influential than heir - modifier = { - exists = scope:target.current_heir - scope:actor.influence_level != scope:target.current_heir.influence_level - add = { - value = scope:actor.influence_level - subtract = scope:target.current_heir.influence_level - multiply = 2 - } - desc = AI_DIFFERENCE_INFLUENCE - } - # Size of Province - modifier = { - exists = scope:target - add = { - value = 0 - scope:target = { - every_de_jure_county = { add = -1 } - } - multiply = 2 - } - desc = AI_THEME_SIZE - } - # Kingdoms are harder to request - modifier = { - scope:target ?= { tier = tier_kingdom } - add = -50 - desc = AI_THEME_IS_KINGDOM - } - # Province is close to the capital duchy - modifier = { - add = -10 - scope:target.tier <= tier_duchy - trigger_if = { - limit = { scope:target.tier = tier_duchy } - scope:target = { save_temporary_scope_as = duchy } - } - trigger_else = { - scope:target.duchy = { save_temporary_scope_as = duchy } - } - scope:duchy = { - OR = { - this = scope:recipient.capital_county.duchy - any_title_to_title_neighboring_and_across_water_duchy = { this = scope:recipient.capital_county.duchy } - } - } - desc = AI_THEME_CLOSE_TO_CAPITAL - } - # Province is far from the capital - modifier = { - add = 10 - trigger_if = { - limit = { scope:target.tier = tier_kingdom } - scope:target = { save_temporary_scope_as = kingdom } - } - trigger_else = { - scope:target.kingdom = { save_temporary_scope_as = kingdom } - } - scope:kingdom = { - NOR = { - this = scope:recipient.capital_county.kingdom - any_title_to_title_neighboring_and_across_water_kingdom = { this = scope:recipient.capital_county.kingdom } - } - } - desc = AI_THEME_FAR_FROM_CAPITAL - } - } -} - -# Adopt character to Noble Family -noble_family_adoption_interaction = { - icon = icon_dynasty - category = interaction_category_friendly - interface_priority = 25 - - desc = noble_family_adoption_interaction_desc - use_diplomatic_range = yes - - ai_min_reply_days = 4 - ai_max_reply_days = 9 - ai_maybe = yes - - cooldown_against_recipient = { years = 5 } - - is_shown = { - NOT = { scope:actor = scope:recipient } - scope:actor = { - culture = { has_cultural_parameter = allows_noble_family_adoption } - house.house_head ?= { - any_held_title = { is_noble_family_title = yes } - } - } - scope:recipient = { - # Don't get imprisoned and so on - is_available = yes - NOR = { - # They don't already belong to your house - house ?= scope:actor.house - # Don't adopt your own grandkids - any_ancestor = { this = scope:actor } - } - } - scope:actor = { - is_house_head = yes - } - } - - is_valid = {} - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - } - can_recruit_character_to_court_trigger = { - RECRUITER = scope:actor - RECRUITEE = scope:recipient - } - scope:recipient = { - age >= 10 - trigger_if = { - limit = { exists = house.house_head } - custom_tooltip = { - text = adopt_interaction_noble_family_is_not_house_head_tt - NOT = { scope:recipient.house.house_head = scope:recipient } - } - } - is_ruler = no - } - - } - - send_option = { - is_valid = { scope:actor.gold >= scope:actor.minor_gold_value } - flag = gold - localization = GENERIC_SPEND_GOLD - } - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { has_hook = scope:actor } - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_accept = { - show_as_tooltip = { - noble_family_adoption_effect = { - ADOPTEE = scope:recipient - ADOPTER = scope:actor - } - } - hidden_effect = { - scope:actor = { trigger_event = ep3_interactions_events.0400 } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = noble_family_adoption_effect_toast - left_icon = scope:recipient - right_icon = scope:actor.house - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = noble_family_adoption_effect_toast - left_icon = scope:recipient - right_icon = scope:actor.house - if = { - limit = { scope:actor = { is_ai = yes } } - reverse_add_opinion = { - modifier = angry_opinion - opinion = -20 - target = scope:actor - } - } - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = respect_opinion - opinion = -10 - target = scope:actor - } - } - } - } - } - } - } - - cost = { - prestige = { - value = { - add = medium_prestige_value - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - # Replace with Influence for Admin noble families - house.house_head ?= { - any_held_title = { is_noble_family_title = yes } - } - } - } - } - multiply = 0 - } - } - } - piety = { - value = { - add = medium_piety_value - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - # No piety cost for adopting a righteous-faith child - if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value < faith_astray_level - } - } - } - multiply = 0 - } - else_if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value > faith_astray_level - } - } - } - add = minor_piety_value - } - else_if = { - limit = { - scope:actor.faith = { - faith_hostility_level = { - target = scope:recipient.faith - value > faith_hostile_level - } - } - } - add = medium_piety_value - } - } - } - influence = { - value = { - value = 0 - # Influence cost for Admin noble families - if = { - limit = { - scope:actor.house.house_head ?= { - any_held_title = { is_noble_family_title = yes } - } - } - add = massive_influence_gain - } - if = { - limit = { - scope:actor = { - OR = { - culture = { has_cultural_parameter = free_adoption } - has_game_rule = adoption_always_allowed - } - } - } - multiply = 0 - } - } - } - } - - ai_potential = { - is_house_head = yes - house ?= { - any_house_member = { - count <= 5 - is_alive = yes - } - } - } - - ai_targets = { - ai_recipients = courtiers - ai_recipients = guests - # Friends, wards, etc. - ai_recipients = scripted_relations - max = 20 - } - - ai_accept = { - base = 0 - modifier = { - exists = house - any_parent = { - is_alive = yes - house = scope:recipient.house - } - add = -15 - desc = MY_PARENT_HOUSE - } - modifier = { - exists = house.house_head - is_close_family_of = house.house_head - add = -15 - desc = CLOSE_FAMILY_OF_HOUSE_HEAD - } - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:gold = yes - add = 25 - desc = SCHEME_WITH_GIFT_SIGNIFICANT - } - modifier = { # I have a house - add = -15 - desc = I_ALREADY_HAVE_A_HOUSE - exists = house.house_head - } - modifier = { # My house is powerful - add = -10 - desc = MY_HOUSE_IS_POWERFUL - house ?= { is_powerful_family = yes } - } - modifier = { # My house is dominant - add = -25 - desc = MY_HOUSE_IS_DOMINANT - house ?= { is_dominant_family = yes } - } - modifier = { - scope:actor.house = { is_powerful_family = yes } - add = 10 - desc = YOUR_FAMILY_IS_POWERFUL - } - modifier = { - scope:actor.house = { is_dominant_family = yes } - add = 25 - desc = YOUR_FAMILY_IS_DOMINANT - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - modifier = { # I hate my house head - add = 15 - desc = I_HATE_MY_HOUSE_HEAD - exists = house.house_head - is_house_head = no - opinion = { - value <= medium_negative_opinion - target = house.house_head - } - } - modifier = { # I like my house head - add = -15 - desc = I_LIKE_MY_HOUSE_HEAD - exists = house.house_head - is_house_head = no - opinion = { - value >= medium_positive_opinion - target = house.house_head - } - } - modifier = { # You're my friend :) - add = 10 - desc = youre_my_friend_tt - has_relation_friend = scope:actor - } - modifier = { # You're my guardian - add = 10 - desc = youre_my_guardian_tt - has_relation_guardian = scope:actor - } - modifier = { # I have no house - add = 10 - desc = I_WANT_A_HOUSE - NOT = { exists = house } - } - modifier = { # I am a noble! - add = -15 - desc = i_am_noble_tt - has_no_particular_noble_roots_trigger = no - } - modifier = { # Yo, you're offering me a place in a landed house? Sick. - add = 10 - desc = ambition_tt - has_trait = ambitious - has_no_particular_noble_roots_trigger = yes - } - modifier = { - scope:actor = { - exists = house - } - scope:recipient = { - exists = house - } - exists = scope:actor.house.house_head.top_liege - house.house_head.top_liege ?= scope:actor.house.house_head.top_liege - add = { - value = scope:actor.house.house_power_score - subtract = scope:recipient.house.house_power_score - } - desc = RELATIVE_FAMILY_RATING - } - modifier = { - exists = scope:actor.house - exists = house - scope:recipient.dynasty.dynasty_prestige_level != scope:actor.dynasty.dynasty_prestige_level - add = { - value = scope:actor.dynasty.dynasty_prestige_level - subtract = scope:recipient.dynasty.dynasty_prestige_level - multiply = 10 - } - desc = RELATIVE_FAMILY_RENOWN - } - modifier = { - exists = house - house = { - any_house_member = { - count < 5 - is_alive = yes - } - } - scope:actor.house ?= { - any_house_member = { - count >= 5 - is_alive = yes - } - } - add = 10 - desc = MY_HOUSE_IS_SMALL - } - modifier = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_astray_level - } - } - add = { - value = "faith.faith_hostility_level(scope:actor.faith)" - multiply = -10 - } - desc = FAITH_HOSTILITY_LEVEL - } - modifier = { - exists = scope:actor.top_liege.primary_title.state_faith - faith = { - faith_hostility_level = { - target = scope:actor.top_liege.primary_title.state_faith - value >= faith_astray_level - } - } - add = { - value = "faith.faith_hostility_level(scope:actor.top_liege.primary_title.state_faith)" - multiply = -5 - } - desc = FAITH_HOSTILITY_LEVEL_STATE_FAITH - } - modifier = { - culture != scope:actor.culture - "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" < 50 - add = { - value = 50 - subtract = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" - multiply = -0.25 - round = yes - } - desc = CULTURAL_ACCEPTANCE - } - modifier = { - culture != scope:actor.culture - "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" >= 50 - add = { - value = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" - subtract = 50 - multiply = 0.25 - round = yes - } - desc = CULTURAL_ACCEPTANCE - } - modifier = { - NOT = { - culture = { has_cultural_parameter = allows_noble_family_adoption } - } - add = -10 - desc = NOBLE_FAMILY_ADOPTION_NOT_CULTURAL - } - modifier = { - exists = house - age >= 31 - add = { - value = age - subtract = 30 - multiply = -1 - } - desc = THEIR_AGE_REASON - } - } - - ai_frequency = 120 - - ai_will_do = { - base = 50 - modifier = { # My house needs more members - add = 100 - scope:actor.house = { - any_house_member = { - count < 3 - save_temporary_scope_as = house_member_temp - NOT = { - scope:actor.top_liege.faith = { has_dominant_ruling_gender = scope:house_member_temp } - } - } - } - } - opinion_modifier = { # Opinion - opinion_target = scope:recipient - multiplier = 0.5 - } - modifier = { # My rival - add = -25 - scope:actor = { has_relation_rival = scope:recipient } - } - modifier = { # My friend - add = 25 - scope:actor = { has_relation_friend = scope:recipient } - } - modifier = { # My ward - add = 25 - scope:actor = { has_relation_guardian = scope:recipient } - } - modifier = { # I care about bloodlines and dynasties and whatnot - add = -25 - scope:actor = { - OR = { - has_trait = arrogant - has_trait = callous - } - } - } - modifier = { # I will not adopt filthy filthy heretics - factor = 0 - ai_zeal >= medium_positive_ai_value - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_astray_level - } - } - } - } -} - -# Request title troops from an allied fellow vassal -# -# Referenced in code -request_ally_title_troops_interaction = { - desc = request_ally_title_troops_interaction_desc - hidden = yes - - ai_maybe = yes - ai_min_reply_days = 1 - ai_max_reply_days = 3 - popup_on_receive = yes - - greeting = positive - notification_text = REQUEST_TITLE_TROOPS_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_targets = { ai_recipients = peer_vassals } - ai_target_quick_trigger = { adult = yes } - ai_frequency = 36 - - cooldown_against_recipient = { years = 1 } - - target_type = title - target_filter = recipient_domain_titles - - redirect = { - } - - cost = { - influence = { - value = 0 - if = { - limit = { exists = scope:target } - add = scope:target.admin_title_troop_command_cost_value - } - } - } - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = no - is_governor = yes - } - scope:recipient = { - government_has_flag = government_is_administrative - NOT = { - this = scope:actor - this = scope:actor.top_liege - } - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = admin_troops_have_no_troops_desc - scope:recipient = { - any_maa_regiment = { - is_title_maa_regiment = yes - regiment_owning_title = { holder = scope:recipient } - } - } - } - custom_tooltip = { - text = admin_troops_can_request_from_governor_desc - scope:actor = { - OR = { - is_allied_to = scope:recipient - has_hook = scope:recipient - is_liege_or_above_of = scope:recipient - AND = { - culture ?= { has_cultural_parameter = frontier_themes_borrow_neighbor_troops } - vassal_contract_has_flag = admin_theme_frontier - any_character_to_title_neighboring_duchy = { - holder ?= { - this = scope:recipient - NOT = { vassal_contract_has_flag = admin_theme_frontier } - } - } - } - AND = { - has_perk = friendly_counsel_perk - has_relation_friend = scope:recipient - } - AND = { - has_perk = mortal_adoration_perk - has_relation_lover = scope:recipient - } - } - } - } - - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - is_noble_family_title = no - } - } - - can_send = { - custom_tooltip = { - text = admin_troops_target_title_has_maa_desc - scope:target = { - any_owned_title_maa_regiment = { exists = this } - } - } - trigger_if = { - limit = { - scope:target = { - any_owned_title_maa_regiment = { exists = this } - } - } - custom_tooltip = { - text = admin_troops_target_title_controls_maa_desc #admin_troops_target_title_has_maa_desc - scope:target = { - any_owned_title_maa_regiment = { regiment_controlling_title = scope:target } - } - } - } - } - - on_send = { - } - - on_accept = { - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_neutral - title = request_governorship_interaction_toast_liege - left_icon = scope:actor - right_icon = scope:target - scope:target = { - transfer_owned_maa_control = scope:actor.primary_title - - # Set up a timer to allow the owner to take back the troops when duration runs out - set_variable = { - name = title_troops_lent_out - years = admin_troops_reclaim_cost_cooldown_value - } - } - } - } - scope:actor = { - hidden_effect = { - send_interface_message = { - type = msg_admin_provincial_army_request_accepted - title = msg_admin_provincial_army_request_accepted.title - left_icon = scope:recipient - right_icon = scope:target - show_as_tooltip = { - scope:target = { - transfer_owned_maa_control = scope:actor.primary_title - } - } - } - } - } - } - - on_decline = { - scope:actor = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -15 - } - } - hidden_effect = { - send_interface_message = { - type = msg_admin_provincial_army_request_denied - title = msg_admin_provincial_army_request_denied.title - desc = msg_admin_provincial_army_request_denied.desc - left_icon = scope:recipient - right_icon = scope:target - } - } - } - } - - ai_potential = { - is_governor = yes - } - - ai_will_do = { - base = 0 # AI uses this interaction from code - } - - ai_accept = { - base = 100 - - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - desc = AI_SIMPLE_OPINION_REASON - } - modifier = { # Target is less likely to accept if at war - scope:recipient = { - is_at_war = yes - } - scope:target = { - holder = scope:recipient - } - add = -200 - desc = TARGET_IS_AT_WAR_REASON - } - } -} - -request_emperor_title_troops_interaction = { - interface_priority = 60 - common_interaction = yes - desc = request_emperor_title_troops_interaction_desc - hidden = yes - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - popup_on_receive = yes - - greeting = positive - notification_text = REQUEST_TITLE_TROOPS_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_targets = { ai_recipients = liege } - ai_target_quick_trigger = { adult = yes } - ai_frequency = 24 - - cooldown_against_recipient = { years = 1 } - - target_type = title - target_filter = recipient_de_jure_titles - - redirect = { - scope:actor.top_liege = { save_scope_as = recipient } - } - - cost = { - influence = { - value = 0 - if = { - limit = { exists = scope:target } - add = scope:target.admin_title_troop_command_cost_value - } - } - } - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = no - is_governor = yes - } - scope:recipient = { - government_has_flag = government_is_administrative - this = scope:actor.liege - } - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = admin_troops_not_available_desc - scope:recipient = { - OR = { - any_vassal = { - any_maa_regiment = { - is_title_maa_regiment = yes - } - any_held_title = { - any_owned_title_maa_regiment = { regiment_owning_title = prev } - } - } - any_maa_regiment = { - is_title_maa_regiment = yes - regiment_owning_title = { holder = scope:recipient } - } - } - } - } - - scope:actor = { - is_at_war_with_liege = no - } - - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - NOT = { - scope:recipient = { has_variable = admin_request_troop_cooldown } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier >= tier_duchy - is_noble_family_title = no - exists = holder - holder.top_liege = scope:recipient - NOT = { holder = scope:actor } - any_title_maa_regiment = { - exists = this - } - } - scope:recipient = { - primary_title ?= { - NOT = { this = scope:target } - } - } - } - - can_send = { - custom_tooltip = { - text = admin_troops_target_title_controls_maa_desc - scope:target = { - any_owned_title_maa_regiment = { regiment_controlling_title = scope:target } - } - } - } - - on_send = { - } - - # Hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { has_hook = scope:actor } - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - # Dominant Family - send_option = { - is_shown = { - scope:actor = { - house ?= { is_dominant_family = yes } - } - } - flag = dominant_family - localization = OPTION_DOMINANT_FAMILY - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - send_options_exclusive = no - - on_accept = { - if = { - limit = { - scope:hook = yes - scope:actor = { has_usable_hook = scope:recipient } - } - scope:actor = { - use_hook = scope:recipient - } - } - if = { - limit = { scope:dominant_family = yes } - scope:actor = { - change_influence = medium_influence_loss - } - } - scope:actor = { - if = { - limit = { - is_ai = yes - } - add_opinion = { - target = scope:recipient - modifier = grateful_opinion - opinion = 10 - } - } - hidden_effect = { - send_interface_message = { - type = msg_admin_provincial_army_request_accepted - title = msg_admin_provincial_army_request_accepted.title - left_icon = scope:recipient - right_icon = scope:target - show_as_tooltip = { - scope:target = { - transfer_owned_maa_control = scope:actor.primary_title - } - } - } - } - } - scope:recipient = { - if = { - limit = { - is_ai = yes - } - custom_tooltip = request_emperor_title_troops_approve_desc - } - - # Set up AI cooldown to prevent spam - if = { - limit = { - NOT = { has_variable = admin_request_troop_cooldown } - } - set_variable = { - name = admin_request_troop_cooldown - years = 2 - } - } - } - scope:target = { - transfer_owned_maa_control = scope:actor.primary_title - - # Set up a timer to allow the owner to take back the troops when duration runs out - set_variable = { - name = title_troops_lent_out - years = admin_troops_reclaim_cost_cooldown_value - } - } - } - - on_decline = { - scope:actor = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -20 - } - } - hidden_effect = { - send_interface_message = { - type = msg_admin_provincial_army_request_denied - title = msg_admin_provincial_army_request_denied.title - desc = msg_admin_provincial_army_request_denied.desc - left_icon = scope:recipient - right_icon = scope:target - } - } - } - scope:recipient = { - if = { - limit = { - is_ai = yes - } - custom_tooltip = request_emperor_title_troops_deny_desc - } - if = { - limit = { scope:dominant_family = yes } - change_influence = medium_influence_loss - } - - # Set up AI cooldown to prevent spam - if = { - limit = { - NOT = { has_variable = admin_request_troop_cooldown } - } - set_variable = { # If declined, we make the cooldown a bit longer to prevent the AI from asking again too soon - name = admin_request_troop_cooldown - years = 5 - } - } - else = { # Just in case - If we have a cooldown already, refresh it - remove_variable = admin_request_troop_cooldown - set_variable = { - name = admin_request_troop_cooldown - years = 5 - } - } - } - } - - ai_potential = { - is_governor = yes # Only governors may ask for troops - NOT = { # Don't ask for more troops if you have borrowed some already - any_maa_regiment = { - is_title_maa_regiment = yes - regiment_owning_title = { holder = root } - } - } - } - - ai_will_do = { - base = 0 - - # Some governors are more likely to ask than others - modifier = { - add = 50 - scope:actor = { - vassal_contract_has_flag = admin_theme_frontier - } - } - modifier = { - add = 25 - scope:actor = { - vassal_contract_has_flag = admin_theme_naval - } - } - ai_value_modifier = { - who = scope:actor - ai_greed = 0.25 - ai_boldness = 0.5 - } - modifier = { - add = 20 - is_at_war = yes - } - - # Don't ask for the liege's troops if you can help it - modifier = { - add = -10 - scope:target ?= { - holder = scope:recipient - } - } - modifier = { - add = -30 - scope:recipient = { primary_title = scope:target } - } - - # Don't bother the liege if they are at war - modifier = { - add = -100 - scope:recipient = { is_at_war = yes } - } - - # Consider which title we would like to request troops from - modifier = { # Don't ask for troops owned by your own house if we can help it - add = -20 - scope:target = { holder.house ?= root.house } - } - modifier = { # Larger armies are more enticing, so ask for troops from a military theme - add = 10 - scope:target.holder = { vassal_contract_has_flag = admin_theme_military } - } - modifier = { # Smaller armies are not as exciting, so don't ask for troops from a civilian theme - add = -5 - scope:target.holder = { vassal_contract_has_flag = admin_theme_civilian } - } - modifier = { # Don't request troops that may join your wars - add = 10 - scope:target.holder = { - NOT = { is_allied_to = root } - } - } - - # Some governors never asks for troops - modifier = { - factor = 0 - scope:actor = { - OR = { - vassal_contract_has_flag = admin_theme_balanced - vassal_contract_has_flag = admin_theme_civilian - } - } - } - } - - ai_accept = { - base = -20 - - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - desc = AI_SIMPLE_OPINION_REASON - } - modifier = { - add = -20 - scope:recipient = { - has_trait = paranoid - } - desc = INTERACTION_PARANOID - } - modifier = { - add = 10 - scope:recipient = { - has_trait = trusting - } - desc = INTERACTION_TRUSTING - } - modifier = { - scope:hook = yes - add = 50 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:dominant_family = yes - add = 100 - desc = your_house_is_dominant_reason - } - modifier = { - scope:actor = { - is_at_war = no - } - add = -20 - desc = IS_NOT_AT_WAR_REASON - } - modifier = { - scope:actor = { - vassal_contract_has_flag = admin_theme_military - } - add = 20 - desc = IS_A_MILITARY_THEME - } - modifier = { - scope:actor = { - vassal_contract_has_flag = admin_theme_frontier - } - add = 30 - desc = IS_A_FRONTIER_THEME - } - modifier = { - scope:actor = { - vassal_contract_has_flag = admin_theme_naval - } - add = 25 - desc = IS_A_NAVAL_THEME - } - modifier = { - scope:recipient = { - is_at_war = no - } - scope:target = { - holder = scope:recipient - } - add = -50 - desc = TARGETS_OWN_TROOPS_REASON - } - modifier = { # Asking for the liege's troops when he is at war - scope:recipient = { - is_at_war = yes - } - scope:target = { - holder = scope:recipient - } - add = -200 - desc = TARGET_IS_AT_WAR_REASON - } - modifier = { # Asking for a governor's troops when they are at war - scope:target = { - holder = { is_at_war = yes } - NOT = { holder = scope:recipient } - } - add = -50 - desc = TARGET_IS_AT_WAR_REASON - } - modifier = { - scope:actor = { - any_held_title = { - any_controlled_title_maa_regiment = { - regiment_owning_title = { - NOT = { holder = scope:actor } - } - } - } - } - add = { - value = 0 - scope:actor = { - every_held_title = { - every_controlled_title_maa_regiment = { - limit = { - regiment_owning_title = { - NOT = { holder = scope:actor } - } - } - add = { - value = maa_size - multiply = -10 - } - } - } - } - } - desc = CONTROLS_EXTRA_TROOPS_REASON - } - } -} - -request_title_troops_back_interaction = { - desc = request_title_troops_back_interaction_desc - - hidden = yes - popup_on_receive = yes - - greeting = positive - notification_text = REQUEST_TITLE_TROOPS_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_targets = { ai_recipients = liege } - ai_target_quick_trigger = { adult = yes } - ai_frequency = 24 - - cooldown_against_recipient = { years = 1 } - - target_type = title - target_filter = actor_de_jure_titles - - redirect = { - } - - cost = { - influence = { - value = { - add = { - value = define:NAdministrative|BASE_REASSIGN_COST - } - desc = BASE - } - if = { - limit = { - exists = scope:target - scope:target = { - NOT = { has_variable = title_troops_lent_out } - any_owned_title_maa_regiment = { - regiment_controlling_title = { - NOT = { holder = scope:actor.top_liege } - } - } - } - } - subtract = { - value = { - value = define:NAdministrative|BASE_REASSIGN_COST - multiply = 0.8 - } - desc = admin_troops_borrowed_years_desc - } - } - } - } - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = no - is_ai = no # The AI should not request their troops back ahead of time - } - scope:recipient = { - government_has_flag = government_is_administrative - this = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_tooltip = { - text = admin_troops_already_at_home_desc - any_held_title = { - any_owned_title_maa_regiment = { - regiment_controlling_title = { - NOT = { holder = scope:actor } - } - } - } - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - any_owned_title_maa_regiment = { - regiment_controlling_title = { - NOT = { this = scope:target } - } - } - } - } - - can_send = { - custom_tooltip = { - text = admin_troops_controlled_by_liege_desc - scope:target = { - any_owned_title_maa_regiment = { - regiment_controlling_title = { - NOT = { holder = scope:actor.top_liege } - } - } - } - } - } - - on_send = { - } - - auto_accept = yes - - on_accept = { - scope:target = { - custom_tooltip = { - text = admin_troops_transfer_troops_back_desc - every_owned_title_maa_regiment = { - limit = { - regiment_controlling_title = { - NOT = { this = scope:target } - } - } - transfer_title_maa = regiment_owning_title - } - } - - # Clear cost timer if present - if = { - limit = { - has_variable = title_troops_lent_out - } - remove_variable = title_troops_lent_out - } - } - } - - on_decline = { - } - - ai_potential = { - always = no - } - - ai_will_do = { - base = 0 - } - - ai_accept = { - base = 100 - } -} - -# Request Raid Estate Remit -request_raid_remit_interaction = { - icon = icon_request_raid_remit - category = interaction_category_hostile - filter_tags = { admin_liege } - interface_priority = 90 - - desc = request_raid_remit_interaction_desc - use_diplomatic_range = yes - - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - cooldown_against_recipient = { years = 5 } - - is_shown = { - scope:actor = { - is_independent_ruler = no - government_has_flag = government_is_administrative - } - scope:secondary_recipient ?= { - NOT = { house = scope:recipient.house } - top_liege = scope:actor.top_liege - NOT = { house = scope:actor.house } - government_has_flag = government_is_administrative - any_held_title = { is_noble_family_title = yes } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - custom_tooltip = { - text = raid_estate_noble_family_tt - any_held_title = { is_noble_family_title = yes } - house.house_head ?= this - } - custom_tooltip = { - text = raid_estate_already_remit_tt - NOT = { exists = var:raid_estate_permission } - } - } - scope:recipient.house.house_head ?= { - custom_tooltip = { - text = raid_estate_noble_family_target_tt - any_held_title = { is_noble_family_title = yes } - } - custom_tooltip = { - text = raid_estate_estate_tt - domicile ?= { is_domicile_type = estate } - } - } - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - } - } - - populate_recipient_list = { - scope:actor.top_liege = { - every_noble_family = { - limit = { - NOR = { - holder = scope:actor - holder = scope:actor.top_liege - } - } - holder = { add_to_list = characters } - } - } - } - - redirect = { - scope:recipient.house.house_head ?= { save_scope_as = secondary_recipient } - scope:actor.top_liege = { save_scope_as = recipient } - } - - send_option = { - is_valid = { scope:actor.gold >= scope:actor.minor_gold_value } - flag = gold - localization = GENERIC_SPEND_GOLD - } - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { has_hook = scope:actor } - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_accept = { - if = { - limit = { scope:gold = yes } - scope:actor = { - pay_short_term_gold = { - target = scope:recipient - gold = scope:actor.minor_gold_value - } - } - } - scope:recipient = { custom_tooltip = request_raid_remit_interaction_effect_tt } - custom_tooltip = request_raid_remit_interaction_duration_tt - hidden_effect = { - scope:actor = { trigger_event = ep3_interactions_events.0421 } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = request_raid_remit_effect_toast - left_icon = scope:recipient - right_icon = scope:actor - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = request_raid_remit_effect_toast - left_icon = scope:recipient - right_icon = scope:actor - if = { - limit = { scope:actor = { is_ai = yes } } - reverse_add_opinion = { - modifier = angry_opinion - opinion = -20 - target = scope:actor - } - } - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = respect_opinion - opinion = -10 - target = scope:actor - } - } - } - } - } - } - } - - cost = { - influence = { - add = scope:actor.massive_influence_value - # Being a Powerful or Dominant Family reduces the cost significantly - scope:actor.house = { - if = { - limit = { is_dominant_family = yes } - add = { - value = massive_influence_value - multiply = -0.75 - desc = is_dominant_family_desc - } - } - else_if = { - limit = { is_powerful_family = yes } - add = { - value = massive_influence_value - multiply = -0.5 - desc = is_powerful_family_desc - } - } - } - } - } - - ai_potential = { - is_house_head = yes - house ?= { - any_house_member = { - count <= 5 - is_alive = yes - } - } - } - - ai_targets = { - ai_recipients = peer_vassals - ai_recipients = scripted_relations - max = 10 - } - - ai_accept = { - base = -30 - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:gold = yes - add = 25 - desc = SCHEME_WITH_GIFT_SIGNIFICANT - } - modifier = { # Target house is powerful - add = -10 - desc = MY_HOUSE_IS_POWERFUL - scope:secondary_recipient.house ?= { is_powerful_family = yes } - } - modifier = { # Target house is dominant - add = -25 - desc = MY_HOUSE_IS_DOMINANT - scope:secondary_recipient.house ?= { is_dominant_family = yes } - } - modifier = { - scope:actor.house = { is_powerful_family = yes } - add = 10 - desc = YOUR_FAMILY_IS_POWERFUL - } - modifier = { - scope:actor.house = { is_dominant_family = yes } - add = 25 - desc = YOUR_FAMILY_IS_DOMINANT - } - modifier = { - scope:recipient.primary_spouse ?= { house ?= scope:secondary_recipient.house } - add = -10 - desc = MY_SPOUSES_HOUSE - } - modifier = { - any_child = { house = scope:secondary_recipient.house } - add = -10 - desc = MY_CHILDS_HOUSE - } - modifier = { - is_close_family_of = scope:secondary_recipient - add = -10 - desc = TARGET_IS_MY_CLOSE_FAMILY - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - opinion_modifier = { - opinion_target = scope:secondary_recipient - multiplier = -0.5 - } - modifier = { - has_relation_rival = scope:secondary_recipient - add = 10 - desc = THEY_ARE_MY_RIVAL - } - modifier = { - add = -10 - desc = THEY_ARE_MY_FRIEND - scope:secondary_recipient = { has_relation_friend = scope:recipient } - } - modifier = { # You're my friend :) - add = 10 - desc = youre_my_friend_tt - has_relation_friend = scope:actor - } - modifier = { # You're my rival >:( - add = -10 - desc = ai_opinion.reason.relation.rival - has_relation_rival = scope:actor - } - modifier = { # You're my guardian - add = 10 - desc = youre_my_guardian_tt - has_relation_guardian = scope:actor - } - ai_value_modifier = { - ai_boldness = -0.2 - ai_honor = -0.2 - } - } - - ai_frequency = 120 - - ai_will_do = { - base = -25 - opinion_modifier = { # Opinion - opinion_target = scope:recipient - multiplier = -0.5 - } - modifier = { # My rival - add = 25 - scope:actor = { has_relation_rival = scope:recipient } - } - modifier = { # My friend - add = -25 - scope:actor = { has_relation_friend = scope:recipient } - } - modifier = { - existing_feud_against_target_trigger = { TARGET = scope:recipient } - add = 15 - } - } -} - -# Request to become co-emperor -request_co_emperor_interaction = { - category = interaction_category_vassal - icon = icon_declare_me_co_emperor - - desc = request_co_emperor_interaction_desc - notification_text = DECLARE_ME_CO_EMPEROR_PROPOSAL - - interface_priority = 5 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - # AI - ai_targets = { ai_recipients = liege } - ai_frequency = 60 - ai_target_quick_trigger = { adult = yes } - - cooldown_against_recipient = { years = 10 } - - redirect = { - scope:recipient = { save_scope_as = secondary_recipient } - } - - cost = { - influence = { - add = { - add = { - value = scope:actor.monumental_influence_value - multiply = 2 - } - desc = BASE - } - # Being a Powerful or Dominant Family reduces the cost significantly - scope:actor.house = { - if = { - limit = { is_dominant_family = yes } - multiply = { - value = 0.25 - desc = is_dominant_family_desc - } - } - else_if = { - limit = { is_powerful_family = yes } - multiply = { - value = 0.5 - desc = is_powerful_family_desc - } - } - } - if = { - limit = { scope:influence = yes } - add = { - add = scope:actor.request_co_emperor_interaction_influence_cost_value - desc = SPEND_INFLUENCE - } - } - } - - gold = { - if = { - limit = { scope:gold = yes } - add = { - add = scope:recipient.request_co_emperor_interaction_gold_cost_value - desc = SCHEME_AGENT_GOLD - } - } - } - } - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - is_independent_ruler = no - } - scope:recipient = { - this = scope:actor.top_liege - may_appoint_co_emperors_trigger = yes - } - } - - is_valid_showing_failures_only = { - scope:actor = { - valid_co_emperor_candidate_trigger = { LIEGE = scope:recipient } - NOT = { is_at_war_with = scope:recipient } - } - scope:recipient = { - is_at_war = no - has_active_diarchy = no - trigger_if = { - limit = { exists = designated_diarch } - time_after_diarch_designated = { years >= 10 } - } - } - } - - send_options_exclusive = no - #Spend influence - send_option = { - flag = influence - is_valid = { scope:actor.influence >= request_co_emperor_interaction_influence_cost_value } - localization = SPEND_INFLUENCE - } - #Promise gold. - send_option = { - flag = gold - is_valid = { scope:actor.gold >= scope:recipient.request_co_emperor_interaction_gold_cost_value } - localization = SCHEME_AGENT_GOLD - } - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = declare_me_co_emperor_interaction.tt.success - left_icon = scope:recipient - scope:recipient = { - custom_tooltip = { - text = declare_me_co_emperor_interaction.tt.effect - try_start_diarchy = co_emperorship - set_diarch = scope:actor - } - if = { - limit = { - scope:actor = { - is_child_of = scope:recipient - } - } - - designated_heir ?= { - if = { - limit = { this != scope:actor } - custom_tooltip = appoint_co_emperor_interaction.tt.overwrite_designated_heir - # Nab them for use further on. - save_scope_as = old_heir - } - } - hidden_effect = { set_designated_heir = scope:actor } - } - } - } - if = { - limit = { - scope:hook = yes - has_usable_hook = scope:recipient - } - # Use the hook up. - use_hook = scope:recipient - reverse_add_opinion = { - target = scope:recipient - modifier = suspicion_opinion - opinion = -20 - } - } - if = { - limit = { scope:gold = yes } - show_as_tooltip = { - pay_short_term_gold = { - target = scope:recipient - gold = scope:recipient.request_co_emperor_interaction_gold_cost_value - } - } - hidden_effect = { - scope:recipient = { add_gold = request_co_emperor_interaction_gold_cost_value } - } - } - } - if = { - limit = { scope:influence = yes } - scope:recipient = { change_influence = scope:actor.request_co_emperor_interaction_influence_cost_value } - } - # And remember who appointed them on scope:recipient. - scope:actor = { - set_variable = { - name = co_emp_appointer - value = scope:recipient - } - } - - # Your designated heir is _very_ pissed. - if = { - limit = { - exists = scope:old_heir - } - diarch_overwrites_old_designated_heir_apply_opinions_effect = { - LIEGE = scope:recipient - CO_RULER = scope:actor - } - } - } - - on_decline = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_bad - title = declare_me_co_emperor_interaction.tt.failure - left_icon = scope:recipient - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = insult_opinion - opinion = -40 - } - } - change_strife_opinion = medium_strife_gain - } - } - } - - ai_potential = { - NOR = { - has_trait = humble - has_trait = content - } - } - - ai_will_do = { - # Most AI think this is audacious. - base = 0 - - # Weight for personality. - ## Both modifier. - ai_value_modifier = { - # Bold, energetic characters fancy the gig. - ai_boldness = 0.5 - ai_energy = 0.5 - } - ## And traits! - ### These are balanced differently to the other interactions, so it's deliberate that they're not using the @values here. - ### +++ Ambitious. - modifier = { - add = 15 - has_trait = ambitious - } - ### ++ Arrogant. - modifier = { - add = 10 - has_trait = arrogant - } - ### + Diligent. - modifier = { - add = 5 - has_trait = diligent - } - ### + Loyal. - modifier = { - add = 5 - has_trait = loyal - } - ### - Humble. - modifier = { - add = -5 - has_trait = humble - } - ### --- Content. - modifier = { - add = -15 - has_trait = content - } - ### --- Lazy. - modifier = { - add = -15 - has_trait = lazy - } - # Weight by proximity to the ruler: close family, spouses, etc. - modifier = { - add = 25 - OR = { - any_close_or_extended_family_member = { this = scope:recipient } - any_spouse = { this = scope:recipient } - } - } - # Councillors have ambitions. - modifier = { - add = 25 - is_councillor = yes - } - # Weight for opinion of current regent. - modifier = { - add = { - scope:recipient = { - # Designated diarchs. - if = { - limit = { - designated_diarch ?= { - save_temporary_scope_as = diarch_successor_temp - scope:actor = { - save_temporary_opinion_value_as = { - name = actor_opinion_temp - target = scope:diarch_successor_temp - } - } - } - } - add = scope:actor_opinion_temp - # Invert to get the true total. - multiply = -1 - } - # Expected diarchs. - else_if = { - limit = { - diarchy_successor ?= { - save_temporary_scope_as = diarch_successor_temp - scope:actor = { - save_temporary_opinion_value_as = { - name = actor_opinion_temp - target = scope:diarch_successor_temp - } - } - } - } - add = scope:actor_opinion_temp - # Invert to get the true total. - multiply = -1 - } - } - } - always = yes - } - # The AI will only use a Hook if they couldn't otherwise do this - modifier = { - scope:hook = yes - add = -1 - } - # Dominant family have ambitions. - modifier = { - add = 25 - is_house_head = yes - house ?= { is_dominant_family = yes } - } - # Pretenders. - modifier = { - add = 25 - NOT = { is_close_family_of = scope:recipient } - has_claim_on = scope:recipient.primary_title - } - # Designated Heir - modifier = { - add = 25 - scope:recipient.designated_heir ?= this - } - # Flag management. - ## Hook used - modifier = { - add = 1 - scope:hook = yes - } - ## Influence traded. - modifier = { - add = 3 - scope:influence = yes - } - ## Gold traded. - modifier = { - add = 2 - scope:gold = yes - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - scope:recipient = { is_ai = yes } - } - } - - ai_accept = { - # Try to make it 0 for most interactions - base = -150 - # Opinion of scope:actor. - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - # Personality. - ai_value_modifier = { - # Meek characters are more likely to accept this. - ai_boldness = -0.5 - # Characters with low energy just want to avoid all this planning. - ai_energy = -0.25 - } - # Familial closeness. - ## Close family get a decent boost. - modifier = { - add = 30 - desc = declare_me_regent_interaction.tt.actor_is.close_family - is_close_family_of = scope:actor - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { is_close_family_of = scope:recipient } - } - } - ## Extended family get a minor boost. - modifier = { - add = 20 - desc = declare_me_regent_interaction.tt.actor_is.extended_family - is_extended_family_of = scope:actor - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { is_extended_family_of = scope:recipient } - } - } - ## House members get a slight boost. - modifier = { - add = 10 - desc = declare_me_regent_interaction.tt.actor_is.house_member - house = scope:actor.house - NOT = { is_close_or_extended_family_of = scope:actor } - # Make sure this isn't cancelled out by the incumbent sharing the relation. - diarchy_successor = { - NOT = { - house = scope:recipient.house - } - } - } - ## Dominant family - modifier = { - scope:actor.house = { - is_dominant_family = yes - NOT = { this = scope:recipient.house } - } - add = 10 - desc = YOUR_FAMILY_IS_DOMINANT - } - ## Powerful family - modifier = { - scope:actor.house = { - is_powerful_family = yes - is_dominant_family = no - NOT = { this = scope:recipient.house } - } - add = 5 - desc = YOUR_FAMILY_IS_POWERFUL - } - ## Powerful family - modifier = { - scope:recipient.designated_heir ?= scope:actor - add = 25 - desc = YOU_ARE_MY_DESIGNATED_HEIR - } - # Relationships. - ## Positive. - modifier = { - add = 25 - desc = declare_me_regent_interaction.tt.actor_is.positive_relationship - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - # We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish. - } - ## Negative. - modifier = { - add = -25 - desc = declare_me_regent_interaction.tt.actor_is.negative_relationship - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:actor } - # We don't factor for this in the designated/expected diarch 'cause the matrix of overlap'd be hellish. - } - # Succession score is a direct factor. - modifier = { - add = { - value = "scope:actor.appointment_candidate_score(scope:recipient.primary_title)" - divide = 4 - min = 0 - max = 100 - } - desc = declare_me_regent_interaction.tt.actor_is.succession_score - } - # Send options. - ## Hook used - modifier = { - add = 50 - desc = SCHEME_WEAK_HOOK_USED - scope:hook = yes - } - ## Influence traded. - modifier = { - add = 50 - desc = INFLUENCE_REASON - scope:influence = yes - } - ## Gold traded. - modifier = { - add = 50 - desc = GOLD_REASON - scope:gold = yes - } - } -} - -# Request a character to fight a war on your behalf - AKA Summon to War/summon_to_war -frontier_influence_war_interaction = { - category = interaction_category_diplomacy - interface_priority = 80 - icon = icon_coax_to_war - desc = frontier_influence_war_interaction_desc - - filter_tags = { admin_governor } - - is_highlighted = { - scope:recipient = { - is_at_war = no - is_adult = yes - custom_tooltip = { - text = admin_theme_type_trigger - OR = { - vassal_contract_has_flag = admin_theme_frontier - vassal_contract_has_flag = admin_theme_naval - } - } - } - } - - target_type = title - target_filter = secondary_recipient_de_jure_titles - can_be_picked_title = { - scope:target = { - is_title_created = yes - tier = tier_duchy - } - } - - populate_recipient_list = { - scope:recipient = { - if = { - limit = { vassal_contract_has_flag = admin_theme_frontier } - every_character_to_title_neighboring_duchy = { - limit = { - holder ?= { top_liege != scope:actor.top_liege } - } - holder ?= { add_to_list = characters } - } - } - else_if = { - limit = { vassal_contract_has_flag = admin_theme_naval } - every_character_to_title_neighboring_and_across_water_duchy = { - limit = { - holder ?= { top_liege != scope:actor.top_liege } - } - holder ?= { add_to_list = characters } - } - } - } - } - - redirect = { - scope:recipient = { - if = { - limit = { vassal_contract_has_flag = admin_theme_frontier } - random_character_to_title_neighboring_duchy = { - limit = { - exists = holder - holder = { top_liege != scope:actor.top_liege } - } - holder = { save_scope_as = secondary_recipient } - } - } - else_if = { - limit = { vassal_contract_has_flag = admin_theme_naval } - random_character_to_title_neighboring_and_across_water_duchy = { - limit = { - exists = holder - holder = { top_liege != scope:actor.top_liege } - } - holder = { save_scope_as = secondary_recipient } - } - } - } - } - - has_valid_target = { - scope:target = { - is_title_created = yes - tier = tier_duchy - holder.top_liege != scope:actor - } - } - - ai_min_reply_days = 3 - ai_max_reply_days = 9 - popup_on_receive = yes - ai_maybe = yes - can_send_despite_rejection = yes - - greeting = positive - notification_text = REQUEST_DUCHY_INFLUENCE_WAR_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - cooldown_against_recipient = { years = 10 } - - is_shown = { - scope:actor = { - is_independent_ruler = yes - government_has_flag = government_is_administrative - NOT = { government_has_flag = government_is_landless_adventurer } - } - scope:recipient = { - government_has_flag = government_is_administrative - NOT = { government_has_flag = government_is_landless_adventurer } - custom_tooltip = { - text = admin_theme_type_trigger - OR = { - vassal_contract_has_flag = admin_theme_frontier - vassal_contract_has_flag = admin_theme_naval - } - } - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor != scope:recipient - scope:recipient = { - is_at_war = no - is_adult = yes - custom_tooltip = { - text = admin_theme_type_trigger - OR = { - vassal_contract_has_flag = admin_theme_frontier - vassal_contract_has_flag = admin_theme_naval - } - } - - custom_tooltip = { - text = admin_vassal_war_no_target_desc - trigger_if = { - limit = { vassal_contract_has_flag = admin_theme_frontier } - any_character_to_title_neighboring_duchy = { - exists = holder - holder = { top_liege != scope:actor.top_liege } - } - } - trigger_if= { - limit = { vassal_contract_has_flag = admin_theme_naval } - any_character_to_title_neighboring_and_across_water_duchy = { - exists = holder - holder = { top_liege != scope:actor.top_liege } - } - } - } - } - } - - send_options_exclusive = no - send_option = { - flag = title_maa - localization = send_option_title_troops - is_valid = { - scope:actor = { - is_at_war = no - custom_tooltip = { - text = all_title_maa_must_not_be_raised_tt - primary_title = { - NOT = { - any_controlled_title_maa_regiment = { - is_raised = yes - } - } - } - } - } - } - } - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - on_accept = { - if = { - limit = { scope:title_maa = yes } - scope:actor.primary_title = { - transfer_owned_maa_control = scope:recipient.primary_title - } - } - scope:recipient = { - start_war = { - cb = influence_war_cb - target = scope:secondary_recipient - claimant = scope:recipient.top_liege - target_title = scope:target - } - custom_tooltip = frontier_influence_war_interaction_target_title_tt - } - scope:actor = { - trigger_event = ep3_interactions_events.0210 - } - } - - on_decline = { - scope:recipient = { - change_influence = major_influence_loss - } - scope:actor = { - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = refused_summons_to_war_opinion - target = scope:recipient - } - } - trigger_event = ep3_interactions_events.0211 - } - } - - cost = { - prestige = { - # BASE COSTS - add = { - value = massive_prestige_value - desc = BASE - } - # DOMINANT FAMILY DISCOUNTS - if = { - limit = { scope:actor.house ?= { is_dominant_family = yes } } - multiply = { - value = 0.75 - desc = DOMINANT_FAMILY_DISCOUNT - } - } - # DOMICILE BUILDING DISCOUNTS - } - } - - ai_potential = { - government_has_flag = government_is_administrative - is_independent_ruler = yes - } - - ai_targets = { - ai_recipients = vassals - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - ai_accept = { - base = 0 - modifier = { # My house is powerful - add = -10 - desc = MY_HOUSE_IS_POWERFUL - house ?= { is_powerful_family = yes } - } - modifier = { # My house is dominant - add = -25 - desc = MY_HOUSE_IS_DOMINANT - house ?= { is_dominant_family = yes } - } - modifier = { - scope:actor.house = { is_powerful_family = yes } - add = 10 - desc = YOUR_FAMILY_IS_POWERFUL - } - modifier = { - scope:actor.house = { is_dominant_family = yes } - add = 25 - desc = YOUR_FAMILY_IS_DOMINANT - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - modifier = { # You're my friend :) - add = 10 - desc = youre_my_friend_tt - has_relation_friend = scope:actor - } - modifier = { # You're my guardian - add = 10 - desc = youre_my_guardian_tt - has_relation_guardian = scope:actor - } - modifier = { - scope:actor = { - exists = house - } - scope:recipient = { - exists = house - } - exists = scope:actor.house.house_head.top_liege - house.house_head.top_liege ?= scope:actor.house.house_head.top_liege - add = { - value = scope:actor.house.house_power_score - subtract = scope:recipient.house.house_power_score - } - desc = RELATIVE_FAMILY_RATING - } - modifier = { - exists = scope:actor.house - exists = house - scope:recipient.dynasty.dynasty_prestige_level != scope:actor.dynasty.dynasty_prestige_level - add = { - value = scope:actor.dynasty.dynasty_prestige_level - subtract = scope:recipient.dynasty.dynasty_prestige_level - multiply = 10 - } - desc = RELATIVE_FAMILY_RENOWN - } - modifier = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= faith_astray_level - } - } - add = { - value = "faith.faith_hostility_level(scope:actor.faith)" - multiply = -10 - } - desc = FAITH_HOSTILITY_LEVEL - } - modifier = { - exists = scope:actor.top_liege.primary_title.state_faith - faith = { - faith_hostility_level = { - target = scope:actor.top_liege.primary_title.state_faith - value >= faith_astray_level - } - } - add = { - value = "faith.faith_hostility_level(scope:actor.top_liege.primary_title.state_faith)" - multiply = -5 - } - desc = FAITH_HOSTILITY_LEVEL_STATE_FAITH - } - modifier = { - culture != scope:actor.culture - "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" < 50 - add = { - value = 50 - subtract = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" - multiply = -0.25 - round = yes - } - desc = CULTURAL_ACCEPTANCE - } - modifier = { - culture != scope:actor.culture - "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" >= 50 - add = { - value = "scope:recipient.culture.cultural_acceptance(scope:actor.culture)" - subtract = 50 - multiply = 0.25 - round = yes - } - desc = CULTURAL_ACCEPTANCE - } - modifier = { - add = scope:recipient.current_military_strength - desc = RECIPIENT_MILITARY_STRENGTH - } - modifier = { - add = scope:actor.current_military_strength - scope:title_maa = yes - desc = PROMISED_TITLE_MAA - } - modifier = { - add = { - value = scope:secondary_recipient.top_liege.current_military_strength - multiply = -1 - } - desc = SECONDARY_RECIPIENT_MILITARY_STRENGTH - } - modifier = { # Must not be at war already - is_at_war = yes - add = -1000 - desc = ALREADY_AT_WAR - } - } - - ai_frequency = 120 - - ai_will_do = { - base = 50 - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - modifier = { # My house needs more members - add = 100 - scope:actor.house = { - any_house_member = { - count < 3 - save_temporary_scope_as = house_member_temp - NOT = { - scope:actor.top_liege.faith = { has_dominant_ruling_gender = scope:house_member_temp } - } - } - } - } - opinion_modifier = { # Opinion - opinion_target = scope:recipient - multiplier = 0.5 - } - modifier = { # My rival - add = -25 - scope:actor = { has_relation_rival = scope:recipient } - } - modifier = { # My friend - add = 25 - scope:actor = { has_relation_friend = scope:recipient } - } - modifier = { # My ward - add = 25 - scope:actor = { has_relation_guardian = scope:recipient } - } - modifier = { # I care about bloodlines and dynasties and whatnot - add = -25 - scope:actor = { - OR = { - has_trait = arrogant - has_trait = callous - } - } - } - modifier = { # I will not adopt filthy filthy heretics - factor = 0 - ai_zeal >= medium_positive_ai_value - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_astray_level - } - } - } - modifier = { # I'll not make them start a war they'll surely lose - factor = 0 - scope:recipient.current_military_strength < { - value = scope:secondary_recipient.current_military_strength - multiply = 0.75 - } - } - } -} - -#House Head requests to landed family member - AKA Request as House Head -house_head_request_interaction = { - icon = house_head_request_interaction - category = interaction_category_friendly - common_interaction = no - desc = house_head_request_interaction_desc - interface_priority = 10 - - ai_maybe = yes - ai_min_reply_days = 4 - ai_max_reply_days = 9 - can_send_despite_rejection = yes - popup_on_receive = yes - - greeting = positive - notification_text = HOUSE_HEAD_REQUEST_PROPOSAL - - pre_answer_yes_key = ACCEPT - pre_answer_no_key = DECLINE - - ai_targets = { - ai_recipients = family - ai_recipients = peer_vassals - ai_recipients = vassals - ai_recipients = liege - } - ai_target_quick_trigger = { adult = yes } - ai_frequency = 36 - - cooldown_against_recipient = { years = 10 } - cooldown = { years = 2 } - - redirect = { - } - - cost = { # If the cost changes, remember to update the on_send to give correct refund in the event - } - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { - government_has_flag = government_is_administrative - this = house.house_head - } - scope:recipient = { - government_has_flag = government_is_administrative - house = scope:actor.house - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { is_at_war_with = scope:recipient } - } - scope:recipient = { - is_landed = yes - is_adult = yes - } - } - - send_options_exclusive = yes - send_option = { - flag = gold - localization = HH_ASK_FOR_GOLD - } - send_option = { - flag = hostile_schemes - localization = ASK_FOR_HOSTILE_SCHEMES_HELP - } - send_option = { - flag = personal_schemes - localization = ASK_FOR_PERSONAL_SCHEMES_HELP - } - send_option = { - flag = political_schemes - localization = ASK_FOR_POLITICAL_SCHEMES_HELP - } - send_option = { - is_valid = { - custom_tooltip = { - text = hh_recipient_has_valid_artifact - scope:recipient = { - any_character_artifact = { - save_temporary_scope_as = target_artifact - OR = { - scope:actor.house = { has_house_artifact_claim = scope:target_artifact } - scope:actor = { has_personal_artifact_claim = scope:target_artifact } - } - } - } - } - } - is_shown = { - scope:actor.domicile ?= { has_domicile_building_or_higher = cabinet_of_curiosities_01 } - - } - flag = artifact - localization = ASK_FOR_ARTIFACT - } - send_option = { - is_valid = { - custom_tooltip = { - text = hh_recipient_has_valid_knight - scope:recipient = { - number_of_knights > 0 - any_knight = { - is_acclaimed = no - is_landed = no - } - } - } - } - is_shown = { - OR = { - scope:actor.domicile ?= { has_domicile_building_or_higher = guardhouse_01 } - scope:actor.domicile ?= { has_domicile_building_or_higher = barracks_01 } - } - } - flag = knight - localization = ASK_FOR_KNIGHT - } - send_option = { - is_valid = { - trigger_if = { - limit = { - scope:actor = { - NOT = { - any_maa_regiment = { is_personal_maa_regiment = yes } - } - } - } - custom_tooltip = { - text = hh_has_personal_maa - scope:actor = { - any_maa_regiment = { is_personal_maa_regiment = yes } - } - } - } - trigger_else = { - custom_tooltip = { - text = hh_has_personal_maa_size - scope:actor = { - any_maa_regiment = { - is_personal_maa_regiment = yes - can_upgrade_maa = yes - } - } - } - } - custom_tooltip = { - text = hh_recipient_has_personal_maa - scope:recipient = { - any_maa_regiment = { - is_personal_maa_regiment = yes - } - } - } - } - is_shown = { - OR = { - scope:actor.domicile ?= { has_domicile_building_or_higher = guardhouse_03 } - scope:actor.domicile ?= { has_domicile_building_or_higher = barracks_01 } - scope:actor.domicile ?= { has_domicile_building_or_higher = watchtower_04 } - } - } - flag = maa - localization = ASK_FOR_MAA - } - send_option = { - is_shown = { - OR = { - scope:actor.domicile ?= { has_domicile_building_or_higher = storage_01 } - scope:actor.domicile ?= { has_domicile_building_or_higher = storage_warehouse_03 } - } - } - flag = building - localization = ASK_FOR_BUILDING - } - send_option = { - is_valid = { - custom_tooltip = { - text = hh_recipient_has_valid_courtier - scope:recipient = { - any_courtier_or_guest = { - ep3_interesting_courtier_to_ask_trigger = yes - } - } - } - } - flag = courtier - localization = ASK_FOR_COURTIER - } - - on_send = { - } - - on_accept = { - if = { - limit = { - scope:gold = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - scope:recipient = { - pay_short_term_gold = { - target = scope:actor - gold = medium_gold_value - } - } - } - } - } - else_if = { - limit = { - scope:hostile_schemes = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - custom_tooltip = { - text = hostile_schemes_help_request_tt - scope:actor = { - add_to_variable_list = { - name = supporting_hostile_schemes - target = scope:recipient - years = 10 - } - } - } - scope:recipient = { - add_character_modifier = { - modifier = hostile_schemes_distracted_modifier - years = 5 - } - } - } - } - } - else_if = { - limit = { - scope:personal_schemes = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - custom_tooltip = { - text = personal_schemes_help_request_tt - scope:actor = { - add_to_variable_list = { - name = supporting_personal_schemes - target = scope:recipient - years = 10 - } - } - } - scope:recipient = { - add_character_modifier = { - modifier = personal_schemes_distracted_modifier - years = 5 - } - } - } - } - } - else_if = { - limit = { - scope:political_schemes = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - custom_tooltip = { - text = political_schemes_help_request_tt - scope:actor = { - add_to_variable_list = { - name = supporting_political_schemes - target = scope:recipient - years = 10 - } - } - } - scope:recipient = { - add_character_modifier = { - modifier = political_schemes_distracted_modifier - years = 5 - } - } - } - } - } - else_if = { - limit = { - scope:artifact = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - right_icon = scope:target_artifact - - scope:recipient = { - random_character_artifact = { - limit = { - save_temporary_scope_as = target_artifact - OR = { - scope:actor.house = { has_house_artifact_claim = scope:target_artifact } - scope:actor = { has_personal_artifact_claim = scope:target_artifact } - } - } - save_scope_as = target_artifact - set_owner = scope:actor - } - } - } - } - } - else_if = { - limit = { - scope:knight = yes - } - scope:recipient = { - ordered_knight = { - limit = { - is_acclaimed = no - is_landed = no - } - order_by = prowess - save_scope_as = knight - } - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - right_icon = scope:knight - - scope:actor = { add_courtier = scope:knight } - } - } - } - else_if = { - limit = { - scope:maa = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - scope:recipient = { - ordered_maa_regiment = { - limit = { - is_personal_maa_regiment = yes - } - save_scope_as = maa_regiment_decrease - } - scope:maa_regiment_decrease = { - change_maa_regiment_size = -1 - } - } - scope:actor = { - ordered_maa_regiment = { - limit = { - is_personal_maa_regiment = yes - can_upgrade_maa = yes - } - save_scope_as = maa_regiment_increase - } - scope:maa_regiment_increase = { - change_maa_regiment_size = { - size = 1 - reinforce = yes - } - } - } - } - } - } - else_if = { - limit = { - scope:building = yes - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - - scope:actor = { - add_to_variable_list = { - name = supporting_building - target = scope:recipient - years = 10 - } - add_character_modifier = { - modifier = estate_supporting_buildings_modifier - years = 10 - } - } - scope:recipient = { - add_prestige = medium_prestige_loss - } - } - } - } - else_if = { - limit = { - scope:courtier = yes - } - scope:recipient = { - random_courtier_or_guest = { - limit = { - ep3_interesting_courtier_to_ask_trigger = yes - } - save_scope_as = courtier - } - } - scope:actor = { - send_interface_message = { - type = event_toast_effect_good - title = house_head_request_accepted - left_icon = scope:recipient - right_icon = scope:courtier - - add_courtier = scope:courtier - } - } - } - } - - on_decline = { - scope:actor = { - send_interface_message = { - type = event_toast_effect_bad - title = house_head_request_denied - left_icon = scope:recipient - - scope:recipient = { - change_influence = major_influence_loss - } - } - } - - scope:actor = { - if = { - limit = { - is_ai = yes - } - add_opinion = { - target = scope:recipient - modifier = disrespect_opinion - opinion = -30 - } - } - } - } - - ai_potential = { - is_house_head = yes - } - - ai_will_do = { - base = 50 - } - - ai_accept = { - base = 100 - modifier = { - add = 25 - desc = CLOSE_FAMILY_REASON - scope:recipient = { - is_close_family_of = scope:actor - } - } - - modifier = { - add = 25 - desc = WE_ARE_FRIENDS - scope:recipient = { - has_relation_friend = scope:actor - } - } - - modifier = { - add = 50 - desc = WE_ARE_BEST_FRIENDS - scope:recipient = { - has_relation_best_friend = scope:actor - } - } - - modifier = { - add = 10 - desc = WE_ARE_LOVERS - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { - add = -100 - desc = WE_ARE_RIVALS - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { - add = -500 - desc = WE_ARE_NEMESES - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - modifier = { - # can't afford to be difficult - scope:recipient = { - influence <= major_influence_value - } - add = 30 - desc = INFLUENCE_USED - } - # Don't bankrupt the AI - modifier = { - scope:gold = yes - scope:recipient.gold <= medium_gold_value - add = -75 - desc = GOLD_NEGATIVE_REASON - } - # Personality - modifier = { - scope:recipient = { - has_trait = loyal - } - desc = INTERACTION_LOYAL - add = 20 - } - modifier = { - scope:recipient = { - has_trait = disloyal - } - desc = INTERACTION_DISLOYAL - add = -20 - } - } -} - -# Request Clergy Support / request_clergy_support -ep3_hof_ask_for_influence_interaction = { - icon = icon_influence_01 - category = interaction_category_religion - - desc = ep3_hof_ask_for_influence_interaction_desc - - ai_targets = { - ai_recipients = head_of_faith - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 24 - - cooldown_against_recipient = { years = 10 } - - is_shown = { - NOT = { - scope:recipient = scope:actor - } - scope:actor.faith = { - religious_head = scope:recipient - has_doctrine = doctrine_spiritual_head - } - scope:actor = { - is_playable_character = yes - government_has_flag = government_is_administrative - is_lowborn = no - } - } - - is_valid_showing_failures_only = { - scope:actor = { - piety >= massive_piety_value - custom_description = { - text = "hof_ask_for_gold_excommunicated" - NOT = { has_trait = excommunicated } - } - NOT = { is_at_war_with = scope:recipient } - custom_description = { - text = "hof_interaction_unreformed_faith" - NOT = { - faith = { has_doctrine_parameter = unreformed } - } - } - custom_description = { - text = "hof_interaction_state_faith" - top_liege = { - government_allows = state_faith - exists = primary_title.state_faith - } - faith = { - this = scope:actor.top_liege.primary_title.state_faith - } - } - custom_description = { - text = "hof_interaction_has_house_modifier" - exists = house - house = { - NOT = { - has_house_modifier = ep3_requested_faith_support_modifier - } - } - } - custom_description = { - text = "hof_interaction_is_house_head" - exists = house - house = { - house_head = scope:actor - } - } - } - scope:recipient = { is_busy_in_events_localised = yes } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - - send_option = { - is_shown = { - NOT = { scope:actor = scope:recipient } - } - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = GENERIC_SPEND_A_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - ai_min_reply_days = 1 - ai_max_reply_days = 5 - - on_accept = { - ep3_hof_ask_for_influence_interaction_effect = yes - - scope:actor = { - trigger_event = ep3_interactions_events.0620 - } - } - - on_decline = { - scope:actor = { - trigger_event = ep3_interactions_events.0621 - } - } - - ai_potential = { - is_playable_character = yes - piety >= massive_piety_value - NOT = { has_trait = excommunicated } - highest_held_title_tier > tier_barony - exists = faith.religious_head - exists = house - } - - ai_accept = { - base = -50 - - opinion_modifier = { - opinion_target = scope:actor - who = scope:recipient - multiplier = 0.5 - } - - #Doesn't like the emperor... if you're not the emperor - modifier = { - add = 5 - scope:actor.top_liege = { - NOR = { - this = scope:actor - this = scope:recipient - } - reverse_opinion = { - target = scope:recipient - value < 0 - } - reverse_opinion = { - target = scope:recipient - value > -40 - } - } - desc = HOF_OPINION_OF_EMPEROR - } - modifier = { - add = 10 - scope:actor.top_liege = { - NOR = { - this = scope:actor - this = scope:recipient - } - reverse_opinion = { - target = scope:recipient - value <= -40 - } - reverse_opinion = { - target = scope:recipient - value > -80 - } - } - desc = HOF_OPINION_OF_EMPEROR - } - modifier = { - add = 20 - scope:actor.top_liege = { - NOR = { - this = scope:actor - this = scope:recipient - } - reverse_opinion = { - target = scope:recipient - value <= -80 - } - } - desc = HOF_OPINION_OF_EMPEROR - } - #Likes emperor... and you're not emperor - modifier = { - add = -5 - scope:actor.top_liege = { - NOR = { - this = scope:actor - this = scope:recipient - } - reverse_opinion = { - target = scope:recipient - value >= 40 - } - reverse_opinion = { - target = scope:recipient - value < 80 - } - } - desc = HOF_OPINION_OF_EMPEROR - } - modifier = { - add = -10 - scope:actor.top_liege = { - NOR = { - this = scope:actor - this = scope:recipient - } - reverse_opinion = { - target = scope:recipient - value >= 80 - } - } - desc = HOF_OPINION_OF_EMPEROR - } - - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - trigger = { - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - } - - modifier = { # Attacking a co-religionist - add = -50 - desc = I_AM_ATTACKING_A_CORELIGIONIST - scope:actor = { - is_at_war = yes - any_character_war = { - primary_attacker = scope:actor - primary_defender.faith = scope:actor.faith - primary_defender = { - NOT = { - has_trait = excommunicated - } - } - } - } - } - - modifier = { # Offensive holy war/excommunication war - add = 30 - desc = I_AM_WAGING_AN_OFFENSIVE_HOLY_OR_EXCOMMUNICATION_WAR - scope:actor = { - is_at_war = yes - any_character_war = { - is_attacker = scope:actor - OR = { - using_non_ghw_holy_war_cb_trigger = yes - using_cb = excommunication_war - } - } - } - } - - modifier = { # Defensive Holy War - add = 50 - desc = I_AM_DEFENDING_AGAINST_A_HOLY_WAR - scope:actor = { - is_at_war = yes - any_character_war = { - is_defender = scope:actor - using_non_ghw_holy_war_cb_trigger = yes - } - } - } - - modifier = { # HoF wants the influence for themselves! - add = -10 - desc = THEY_ARE_GREEDY - scope:recipient = { - ai_greed >= high_positive_greed - } - } - - modifier = { # I am influential already - add = -10 - desc = I_AM_INFLUENTIAL - scope:actor = { - influence_level >= 4 - NOT = { - influence_level >= 6 - } - } - } - - modifier = { # I am very influential already - add = -20 - desc = I_AM_INFLUENTIAL - scope:actor = { - influence_level >= 6 - } - } - - modifier = { # I am Adulterer/Fornicator - add = -25 - desc = I_AM_ADULTERER - scope:actor = { - OR = { - AND = { - has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } - } - } - } - } - - modifier = { # I am a Murderer - add = -50 - desc = I_AM_MURDERER - scope:actor = { - has_trait = murderer - } - } - - modifier = { # I am Incestous - add = -50 - desc = I_AM_INCESTOUS - scope:actor = { - NOT = { scope:recipient = { faith = { has_doctrine = doctrine_consanguinity_unrestricted } } } - has_trait = incestuous - } - } - - modifier = { # I am a Kinslayer - add = -50 - desc = I_AM_A_KINSLAYER - scope:actor = { - OR = { - AND = { - has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } - } - AND = { - has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } - } - } - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_SAVIOR - add = 15 - scope:actor = { - has_trait = savior - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_DIVINE_BLOOD - add = 5 - scope:actor = { - has_trait = divine_blood - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_PARAGON - add = 15 - scope:actor = { - has_trait = paragon - } - } - modifier = { - desc = RELIGIOUS_HEAD_INTERACTION_CONSECRATED_BLOOD - add = 5 - scope:actor = { - has_trait = consecrated_blood - } - } - - modifier = { # You are of the same dynasty as the Head of Faith - add = 5 - desc = YOU_ARE_MY_DYNASTY_MEMBER - scope:recipient = { - is_lowborn = no - dynasty = scope:actor.dynasty - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.dynasty = scope:secondary_recipient.dynasty - } - } - } - - modifier = { # You are of the same house as the Head of Faith - add = 10 - desc = YOU_ARE_MY_HOUSE_MEMBER - scope:recipient = { - is_lowborn = no - house = scope:actor.house - NOR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - is_child_of = scope:actor - scope:recipient.house = scope:secondary_recipient.house - } - } - } - - modifier = { # Related to the Head of Faith - add = 10 - desc = YOU_ARE_MY_RELATIVE - scope:recipient = { - OR = { - is_close_or_extended_family_of = scope:actor - is_cousin_of = scope:actor - } - NOT = { is_child_of = scope:actor } - } - } - - modifier = { # Parent of the Head of Faith - add = 25 - desc = YOU_ARE_MY_PARENT - scope:recipient = { - is_child_of = scope:actor - } - } - - modifier = { # Friend of the Head of Faith - add = 25 - desc = WE_ARE_FRIENDS - scope:recipient = { - has_relation_friend = scope:actor - } - } - - modifier = { # Best Friend of the Head of Faith - add = 50 - desc = WE_ARE_BEST_FRIENDS - scope:recipient = { - has_relation_best_friend = scope:actor - } - } - - modifier = { # Lover of the Head of Faith - add = 10 - desc = WE_ARE_LOVERS - scope:recipient = { - has_relation_lover = scope:actor - } - } - - modifier = { # Rival of the Head of Faith - add = -100 - desc = WE_ARE_RIVALS - scope:recipient = { - has_relation_rival = scope:actor - } - } - - modifier = { # Nemesis of the Head of Faith - add = -500 - desc = WE_ARE_NEMESES - scope:recipient = { - has_relation_nemesis = scope:actor - } - } - - modifier = { - add = { - add = 10 - multiply = scope:actor.num_virtuous_traits - } - scope:actor.num_virtuous_traits > 0 - desc = I_AM_VIRTUOUS - } - - modifier = { - add = { - add = 5 - multiply = scope:actor.piety_level - } - scope:actor.piety_level > 1 - desc = I_AM_PIOUS - } - - modifier = { - add = { - add = -10 - multiply = scope:actor.num_sinful_traits - } - scope:actor.num_sinful_traits > 0 - desc = I_AM_SINFUL - } - } - - ai_will_do = { - base = 0 - - modifier = { # The AI will only use a Hook if they couldn't otherwise do this - scope:hook = yes - add = -1 - } - - modifier = { # I am low on influence - add = 300 - scope:actor = { - influence <= minor_influence_value - } - } - - modifier = { # Piety to burn, and no reason to keep it. - add = 100 - scope:actor = { - piety > massive_piety_value - NOR = { - has_character_modifier = vow_of_poverty_modifier - has_trait = content - has_trait = humble - } - } - } - modifier = { # Or when greedy - add = { - value = scope:actor.ai_greed - multiply = 0.5 - } - scope:actor = { - ai_greed > 0 - } - } - modifier = { # Or when energy - add = { - value = scope:actor.ai_energy - multiply = 0.5 - } - scope:actor = { - ai_energy > 0 - } - } - - modifier = { # I am an up and comer who really needs help - add = 100 - scope:actor = { - influence_level <= 1 - } - } - - modifier = { - add = 100 - scope:actor = { - ai_has_warlike_personality = yes - } - } - - modifier = { - add = 50 - scope:actor = { - ai_has_cautious_personality = no - } - } - } -} - -# Ask non-participating governor to join ongoing Faction War -ep3_join_faction_war_interaction = { - icon = join_faction_war_interaction - category = interaction_category_diplomacy - common_interaction = yes - - desc = ep3_join_faction_war_interaction_desc - - cooldown_against_recipient = { years = 10 } - - greeting = positive - notification_text = JOIN_FACTION_WAR_NOTIFICATION_TEXT - - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - scope:actor = { - has_ep3_dlc_trigger = yes - is_at_war = yes - NOR = { - this = scope:recipient - is_at_war_with = scope:recipient - } - government_has_flag = government_is_administrative - } - scope:recipient = { - government_has_flag = government_is_administrative - scope:actor.liege ?= liege - } - scope:actor.joined_faction ?= { - faction_is_at_war = yes - faction_war ?= { is_attacker = scope:actor } - faction_target != scope:recipient - } - } - - redirect = { - # Save secondary_recipient for UI and ai chance - scope:actor.joined_faction.faction_target ?= { save_scope_as = secondary_recipient } - } - - cost = { influence = 150 } - - is_valid_showing_failures_only = { - scope:recipient = { - is_imprisoned = no - NOT = { is_at_war_with = liege } - } - scope:actor.joined_faction ?= { - faction_war = { - custom_tooltip = { - text = ep3_join_faction_war_interaction_ally_tt - NOT = { - primary_defender = { is_allied_to = scope:recipient } - } - } - } - } - } - - # Offer gold - send_option = { - is_valid = { scope:actor.gold > scope:actor.medium_gold_value } - flag = gold - localization = GENERIC_SPEND_GOLD - } - # Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - can_send = { - scope:actor = { is_ai = no } # player only - custom_tooltip = { - text = ep3_join_faction_war_interaction_ongoing_tt - scope:actor.joined_faction ?= { - faction_is_at_war = yes - faction_war ?= { is_attacker = scope:actor } - } - } - custom_tooltip = { - text = ep3_join_faction_war_interaction_faction_tt - scope:recipient = { - trigger_if = { - limit = { exists = joined_faction } - NOR = { - joined_faction.faction_leader = this - joined_faction.special_character ?= this - } - } - } - } - scope:recipient = { - custom_tooltip = { - text = ep3_join_faction_war_interaction_offer_tt - NOT = { has_character_flag = under_offer_join_faction_war_flag } - } - } - } - - on_send = { - scope:recipient = { - add_character_flag = { - flag = under_offer_join_faction_war_flag - months = 1 - } - } - } - - on_accept = { - scope:actor = { trigger_event = ep3_interactions_events.0800 } - show_as_tooltip = { ep3_join_faction_war_effect = yes } - scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag } - } - - on_decline = { - scope:actor = { trigger_event = ep3_interactions_events.0801 } - scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = -25 - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:gold = yes - add = { - value = 10 - add = { - value = scope:recipient.ai_greed - multiply = 0.25 - min = 0 - } - } - desc = SCHEME_WITH_GIFT_SIGNIFICANT - } - modifier = { # Target is less likely to accept if at war - scope:recipient = { is_at_war = yes } - add = -200 - desc = RECIPIENT_IS_AT_WAR_REASON - } - common_faction_modifiers = { - FACTION_TARGET = scope:secondary_recipient - OPINION_MULTIPLIER = -1.5 - MAX_OPINION = 150 - POWER = 0 - THRESHOLD = 80 - } - admin_faction_modifiers = { - FACTION_TARGET = scope:secondary_recipient - FACTION_TYPE = claimant_faction - } - modifier = { - exists = scope:actor.joined_faction.special_character - add = "scope:recipient.opinion(scope:actor.joined_faction.special_character)" - desc = CLAIMANT_OPINION_REASON - } - modifier = { # Refuse call against Heir - add = -1000 - scope:recipient.player_heir ?= scope:secondary_recipient - desc = WONT_FIGHT_HEIR_REASON - } - modifier = { # Refuse call against Spouse - add = -1000 - is_spouse_of = scope:secondary_recipient - desc = WONT_FIGHT_SPOUSE_REASON - } - modifier = { # Reluctant to join against Friends - add = -50 - has_relation_friend = scope:secondary_recipient - desc = WONT_FIGHT_FRIEND - } - modifier = { # Reluctant to join against Best Friends - add = -100 - has_relation_best_friend = scope:secondary_recipient - desc = WONT_FIGHT_BEST_FRIEND - } - modifier = { # Reluctant to join against Lovers - add = -100 - has_relation_lover = scope:secondary_recipient - desc = WONT_FIGHT_LOVER - } - modifier = { # Reluctant to join against Soulmate - add = -200 - has_relation_soulmate = scope:secondary_recipient - desc = WONT_FIGHT_SOULMATE - } - modifier = { # Refuse call for hostages' safety - any_home_court_hostage = { - warden = { - OR = { - is_at_war_with = scope:actor - any_ally = { is_at_war_with = scope:actor } - } - } - } - add = { - value = 0 - every_home_court_hostage = { - limit = { - warden = { - OR = { - is_at_war_with = scope:actor - any_ally = { is_at_war_with = scope:actor } - } - } - } - subtract = call_to_arms_hostage_value - } - multiply = 0.25 - } - desc = HOSTAGE_ENEMY_CALL_TO_ARMS_REASON - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1.0 - desc = AI_OPINION_REASON - } - } - - ai_will_do = { base = 0 } -} - -# Ask governor to switch sides in ongoing Faction War -ep3_switch_faction_war_sides_interaction = { - icon = switch_faction_war_sides_interaction - category = interaction_category_diplomacy - common_interaction = yes - - desc = { - triggered_desc = { - trigger = { - NOT = { scope:recipient = scope:secondary_recipient } - } - desc = ep3_switch_faction_war_sides_interaction_desc - } - } - - cooldown_against_recipient = { years = 10 } - - greeting = positive - notification_text = SWITCH_FACTION_WAR_SIDES_NOTIFICATION_TEXT - - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - scope:actor = { - has_ep3_dlc_trigger = yes - is_at_war_with = scope:recipient - government_has_flag = government_is_administrative - NOT = { this = scope:recipient } - } - scope:recipient = { - government_has_flag = government_is_administrative - OR = { - is_vassal_of = scope:actor - scope:actor.liege ?= liege - } - } - scope:actor = { - any_character_war = { - # Recipient involved in war - is_participant = scope:recipient - # Is a Faction war - save_temporary_scope_as = faction_war_temp - primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp - # Actor and recipient on opposing sides - trigger_if = { - limit = { is_defender = scope:recipient } - is_attacker = scope:actor - } - trigger_else = { is_defender = scope:actor } - } - } - } - - redirect = { - scope:actor = { - # Actor is involved in a faction war with recipient on the other side - random_character_war = { - limit = { ep3_switch_faction_war_sides_war_trigger = yes } - # Save secondary_recipient for UI and ai chance - if = { - limit = { is_defender = scope:actor } - primary_attacker = { save_scope_as = secondary_recipient } - } - else = { - primary_defender = { save_scope_as = secondary_recipient } - } - } - } - } - - cost = { influence = 300 } - - is_valid_showing_failures_only = { - scope:recipient = { - is_imprisoned = no - is_at_war = yes - } - custom_tooltip = { - text = ep3_switch_faction_war_sides_interaction_primary_or_ally_or_claimant_tt - scope:actor = { - any_character_war = { ep3_switch_faction_war_sides_war_trigger = yes } - } - } - } - - # Offer gold - send_option = { - is_valid = { scope:actor.gold > scope:actor.medium_gold_value } - flag = gold - localization = GENERIC_SPEND_GOLD - } - # Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - NOT = { - scope:recipient = { is_imprisoned_by = scope:actor } - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - can_send = { - scope:actor = { is_ai = no } # player only - custom_tooltip = { - text = ep3_switch_faction_war_sides_interaction_tt - scope:actor = { - any_character_war = { ep3_switch_faction_war_sides_war_trigger = yes } - } - } - scope:recipient = { - custom_tooltip = { - text = ep3_switch_faction_war_sides_interaction_offer_tt - NOT = { has_character_flag = under_offer_switch_faction_war_sides_flag } - } - } - custom_tooltip = { - text = ep3_switch_faction_war_sides_cooldown_tt - NOT = { exists = scope:recipient.var:switched_faction_war_sides } - } - } - - on_send = { - scope:recipient = { - add_character_flag = { - flag = under_offer_switch_faction_war_sides_flag - months = 1 - } - } - } - - on_accept = { - scope:actor = { trigger_event = ep3_interactions_events.0810 } - show_as_tooltip = { ep3_switch_faction_war_sides_effect = yes } - scope:recipient = { - set_variable = { - name = switched_faction_war_sides - value = scope:secondary_recipient - years = 10 - } - remove_character_flag = under_offer_join_faction_war_flag - } - } - - on_decline = { - scope:actor = { trigger_event = ep3_interactions_events.0811 } - scope:recipient = { remove_character_flag = under_offer_join_faction_war_flag } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - ai_accept = { - base = -50 - modifier = { - scope:hook = yes - add = 40 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:gold = yes - add = { - value = 10 - add = { - value = scope:recipient.ai_greed - multiply = 0.25 - min = 0 - } - } - desc = SCHEME_WITH_GIFT_SIGNIFICANT - } - modifier = { - add = { - value = 0 - scope:actor = { - every_character_war = { - limit = { - # Recipient involved in war - is_participant = scope:recipient - # Is a Faction war - save_temporary_scope_as = faction_war_temp - primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp - # Actor and recipient on opposing sides - trigger_if = { - limit = { is_defender = scope:recipient } - is_attacker = scope:actor - # Recipient must not be an ally of the opposing war leader - NOT = { - primary_defender = { is_allied_to = scope:recipient } - } - } - trigger_else = { - is_defender = scope:actor - # Recipient must not be an ally of the opposing war leader - NOT = { - primary_attacker = { is_allied_to = scope:recipient } - } - } - # Recipient must not be a war leader - NOT = { is_war_leader = scope:recipient } - } - if = { - limit = { is_defender = scope:actor } - add = { - value = ep3_invite_to_faction_war_strength_compare_defender_value - divide = ep3_invite_to_faction_war_strength_compare_attacker_value - if = { - limit = { ep3_invite_to_faction_war_strength_compare_defender_value > ep3_invite_to_faction_war_strength_compare_attacker_value } - multiply = 10 - } - else = { multiply = -200 } - max = 50 - min = -50 - } - } - else = { - add = { - value = ep3_invite_to_faction_war_strength_compare_attacker_value - divide = ep3_invite_to_faction_war_strength_compare_defender_value - if = { - limit = { ep3_invite_to_faction_war_strength_compare_attacker_value > ep3_invite_to_faction_war_strength_compare_defender_value } - multiply = 10 - } - else = { multiply = -200 } - max = 50 - min = -50 - } - } - } - } - } - desc = WAR_STRENGTH_BALANCE_REASON - } - modifier = { - add = { - value = 0 - scope:actor = { - every_character_war = { - limit = { - # Recipient involved in war - is_participant = scope:recipient - # Is a Faction war - save_temporary_scope_as = faction_war_temp - primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp - # Actor and recipient on opposing sides - trigger_if = { - limit = { is_defender = scope:recipient } - is_attacker = scope:actor - # Recipient must not be an ally of the opposing war leader - NOT = { - primary_defender = { is_allied_to = scope:recipient } - } - } - trigger_else = { - is_defender = scope:actor - # Recipient must not be an ally of the opposing war leader - NOT = { - primary_attacker = { is_allied_to = scope:recipient } - } - } - # Recipient must not be a war leader - NOT = { is_war_leader = scope:recipient } - } - if = { - limit = { is_defender = scope:actor } - add = { - value = 0 - if = { - limit = { defender_war_score > attacker_war_score } - add = defender_war_score - divide = 2 - } - else = { - add = attacker_war_score - multiply = -0.5 - } - max = 50 - min = -50 - } - } - else = { - add = { - value = 0 - if = { - limit = { attacker_war_score > defender_war_score } - add = attacker_war_score - divide = 2 - } - else = { - add = defender_war_score - multiply = -0.5 - } - max = 50 - min = -50 - } - } - } - } - } - desc = WAR_SCORE_REASON - } - opinion_modifier = { - opinion_target = scope:actor - multiplier = 0.5 - } - opinion_modifier = { - trigger = { - exists = scope:secondary_recipient - } - opinion_target = scope:secondary_recipient - multiplier = -0.5 - } - modifier = { # Refuse call against Heir - add = -1000 - exists = scope:secondary_recipient - scope:recipient.player_heir ?= scope:secondary_recipient - desc = WONT_FIGHT_HEIR_REASON - } - modifier = { # Refuse call against Spouse - add = -1000 - exists = scope:secondary_recipient - is_spouse_of = scope:secondary_recipient - desc = WONT_FIGHT_SPOUSE_REASON - } - modifier = { # Reluctant to join against Friends - add = -50 - exists = scope:secondary_recipient - has_relation_friend = scope:secondary_recipient - desc = WONT_FIGHT_FRIEND - } - modifier = { # Reluctant to join against Best Friends - add = -100 - exists = scope:secondary_recipient - has_relation_best_friend = scope:secondary_recipient - desc = WONT_FIGHT_BEST_FRIEND - } - modifier = { # Reluctant to join against Lovers - add = -100 - exists = scope:secondary_recipient - has_relation_lover = scope:secondary_recipient - desc = WONT_FIGHT_LOVER - } - modifier = { # Reluctant to join against Soulmate - add = -200 - exists = scope:secondary_recipient - has_relation_soulmate = scope:secondary_recipient - desc = WONT_FIGHT_SOULMATE - } - } - - ai_will_do = { base = 0 } -} - -# Request Permission to Wage War -ep3_governor_request_war_permission_interaction = { - icon = invasion - category = interaction_category_vassal - filter_tags = { admin_liege } - - #basically never used according to telemetry - interface_priority = 0 - - desc = ep3_governor_request_war_permission_interaction_desc - - cooldown_against_recipient = { years = 10 } - - greeting = positive - notification_text = request_war_permission_notification_text - - ai_targets = { - ai_recipients = liege - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 60 - ai_min_reply_days = 2 - ai_max_reply_days = 5 - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - liege = scope:recipient - OR = { - vassal_contract_has_flag = admin_theme_frontier - vassal_contract_has_flag = admin_theme_naval - } - } - scope:recipient = { - government_has_flag = government_is_administrative - is_independent_ruler = yes - has_realm_law_flag = admin_vassal_wars_permission_only - } - } - - is_valid_showing_failures_only = { - scope:recipient = { is_busy_in_events_localised = yes } - scope:recipient = { NOT = { has_strong_hook = scope:actor } } - scope:actor = { - is_at_war = no - custom_tooltip = { - text = admin_has_war_permission_already_desc - NOT = { has_variable = admin_permission_to_declare_war } - } - top_liege = { - custom_tooltip = { - text = admin_all_vassal_wars_banned - NOT = { has_realm_law_flag = admin_vassal_wars_banned } - } - } - } - } - - #Spend influence - send_option = { - flag = influence - is_valid = { - scope:actor.influence >= { value = massive_influence_value multiply = 2 } - scope:actor = { is_ai = no } # The AI shouldn't spend influence for this - } - localization = SPEND_INFLUENCE - } - #Use hook - send_option = { - is_valid = { - scope:actor = { has_usable_hook = scope:recipient } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_options_exclusive = no - - on_accept = { - scope:actor = { - # Add permission - custom_tooltip = { - text = admin_gain_war_permission_desc - set_variable = admin_permission_to_declare_war - } - - # And send a toast as confirmation - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_good - title = admin_gained_war_permission_title - left_icon = scope:recipient - custom_tooltip = admin_gained_war_permission_desc - } - } - - # If options are used, spend the corresponding cost - if = { - limit = { scope:influence = yes } - change_influence = { - value = massive_influence_loss - multiply = 2 - } - scope:recipient = { # Liege gets the spent influence - change_influence = { - value = massive_influence_gain - multiply = 2 - } - } - } - if = { - limit = { - scope:hook = yes - has_hook = scope:recipient - } - use_hook = scope:recipient - } - } - } - - on_decline = { - scope:actor = { - # Add penalties - change_influence = minor_influence_loss - add_opinion = { - target = scope:recipient - modifier = disappointed_opinion - opinion = -20 - } - - # And send a toast to inform - hidden_effect = { - send_interface_toast = { - type = event_toast_effect_bad - title = admin_declined_war_permission_title - left_icon = scope:recipient - custom_tooltip = admin_declined_war_permission_desc - - show_as_tooltip = { change_influence = minor_influence_loss } - } - } - } - } - - ai_accept = { - base = -50 - - # Opinion Factor - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_SIMPLE_OPINION_REASON - } - - # Send options - modifier = { - scope:hook = yes - add = 100 - desc = SCHEME_WEAK_HOOK_USED - } - modifier = { - scope:influence = yes - add = { - value = 20 - multiply = scope:actor.influence_level - min = 5 - } - desc = INFLUENCE_REASON - } - - # Relations - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = -100 - desc = AI_YOUR_RIVAL - } - modifier = { - scope:recipient = { - is_close_family_of = scope:actor - } - add = 20 - desc = CLOSE_FAMILY_REASON - } - modifier = { - scope:recipient = { - is_extended_family_of = scope:actor - } - add = 10 - desc = EXTENDED_FAMILY_REASON - } - modifier = { - scope:actor = { - has_relation_friend = scope:recipient - } - add = 20 - desc = WE_ARE_FRIENDS - } - - # Family status - modifier = { # You are a powerful family - scope:actor.house ?= { - is_powerful_family = yes - } - add = 15 - desc = YOUR_FAMILY_IS_POWERFUL - } - modifier = { # You are a dominant family - scope:actor.house ?= { - is_dominant_family = yes - } - add = 30 - desc = YOUR_FAMILY_IS_DOMINANT - } - } - - ai_potential = { - government_has_flag = government_is_administrative - is_adult = yes - liege = { is_at_war = no } # Don't ask if your liege is at war - } - - ai_will_do = { - base = 10 - modifier = { - scope:actor = { - OR = { - has_trait = ambitious - has_trait = brave - has_trait = greedy - has_trait = wrathful - } - } - add = 20 - } - modifier = { - scope:actor = { - has_vassal_stance = glory_hound - } - add = 10 - } - modifier = { # Attempt to be opportunistic if you border weak realms - scope:actor = { - any_top_realm_border_county = { - any_neighboring_county = { - holder.top_liege = { - NOT = { this = scope:actor.top_liege } - current_military_strength < { value = scope:actor.current_military_strength multiply = 0.4 } - } - } - } - } - add = 25 - } - } -} - -# Order Mass Arrests -ep3_mass_arrests_interaction = { - icon = icon_scheme_abduct - category = interaction_category_hostile - filter_tags = { admin_house_head } - - interface_priority = 0 - - desc = ep3_mass_arrests_interaction_desc - - cooldown = { years = 5 } - cooldown_against_recipient = { years = 15 } - - ai_targets = { - ai_recipients = vassals - max = 10 - } - ai_target_quick_trigger = { - adult = yes - } - ai_frequency = 36 - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - is_independent_ruler = yes - government_has_flag = government_is_administrative - dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_5 } - } - scope:recipient = { - liege ?= scope:actor - any_held_title = { - is_noble_family_title = yes - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - NOT = { exists = involved_activity } - is_imprisoned = no - } - scope:recipient = { - house = { is_dominant_family = no } - NOT = { has_strong_hook = scope:actor } - custom_tooltip = { - text = estate_is_in_capital_desc - domicile ?= { - domicile_location = scope:actor.capital_province - } - } - } - } - - auto_accept = yes - - on_accept = { - scope:recipient.house = { - house_head = { - add_character_flag = { - flag = mass_arrests_house_power_malus - years = 10 - } - # For follow-up event - save_scope_as = imprisoned_house_head - } - custom_tooltip = house_loses_power_rating - every_house_member = { - custom = every_house_member_tt - change_influence = major_influence_loss - custom_tooltip = { - text = imprisoned_by_you - scope:actor = { - imprison = { - target = prev - type = house_arrest - } - } - } - add_opinion = { - modifier = imprisoned_me - years = 10 - target = scope:actor - } - } - } - scope:actor = { - add_tyranny = massive_tyranny_gain - add_legitimacy = medium_legitimacy_loss - - # Fire follow-up - trigger_event = { - id = ep3_decisions_event.3201 - } - } - } - - ai_potential = { - government_has_flag = government_is_administrative - is_adult = yes - } - - ai_will_do = { - base = 0 - modifier = { - scope:actor = { - has_relation_rival = scope:recipient - } - add = 20 - desc = AI_YOUR_RIVAL - } - } -} diff --git a/N3OW/common/character_interactions/06_ep3_laamp_interactions.txt b/N3OW/common/character_interactions/06_ep3_laamp_interactions.txt deleted file mode 100644 index 3ad10270..00000000 --- a/N3OW/common/character_interactions/06_ep3_laamp_interactions.txt +++ /dev/null @@ -1,7863 +0,0 @@ -################## -# Purchase Land -# by Joe Parkin -################## - -purchase_land_interaction = { - category = interaction_category_laamp - interface_priority = 30 - icon = purchase_land_interaction - - desc = purchase_land_interaction_desc - target_type = title - target_filter = recipient_de_jure_titles - - cooldown_against_recipient = { years = 10 } - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:recipient = { is_independent_ruler = no } - scope:target = { - trigger_if = { - limit = { tier = tier_duchy } - scope:recipient.highest_held_title_tier = tier_duchy - } - trigger_else = { scope:recipient.highest_held_title_tier = tier_county } - } - } - desc = PURCHASE_LAND_PROPOSAL_FELLOW_VASSAL - } - triggered_desc = { - trigger = { - scope:target = { - trigger_if = { - limit = { tier = tier_duchy } - scope:recipient.highest_held_title_tier >= tier_kingdom - } - trigger_else = { scope:recipient.highest_held_title_tier >= tier_duchy } - } - } - desc = PURCHASE_LAND_PROPOSAL_LIEGE - } - desc = PURCHASE_LAND_PROPOSAL - } - } - - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - send_options_exclusive = no - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - government_has_flag = government_is_landless_adventurer - } - scope:recipient = { - is_landed = yes - # Need to own the land/cannot directly buy a governorship (procure estate first) - NOR = { - government_has_flag = government_is_administrative - government_has_flag = government_is_nomadic - } - } - NOT = { scope:recipient = scope:actor } - } - - has_valid_target = { - custom_tooltip = { #prevent unwanted trigger tooltip - text = blank_line - scope:target = { - is_title_created = yes - holder = { - is_ai = yes - this = scope:recipient - } - OR = { #flatten the selection - tier = tier_duchy - tier = tier_county - } - NOR = { - this = scope:recipient.capital_county - this = scope:recipient.capital_county.duchy - } - } - } - } - - send_option = { - flag = offer_gold - localization = purchase_land_interaction_offer_gold - current_description = purchase_land_interaction_offer_gold_desc - } - - send_option = { - flag = hook - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - localization = GENERIC_SPEND_A_HOOK - } - - send_option = { - flag = offer_hook - is_valid = { - NOT = { - scope:recipient = { - has_usable_hook = scope:actor - } - } - } - localization = purchase_land_interaction_offer_hook - current_description = purchase_land_interaction_offer_hook_desc - } - - send_option = { - flag = vassal_obligation - is_shown = { - scope:recipient = { - government_has_flag = government_is_feudal - } - } - localization = purchase_land_interaction_offer_obligations - current_description = purchase_land_interaction_offer_obligations_desc - } - - can_be_picked_title = { - custom_tooltip = { - text = purchase_land_tier_tt - scope:target = { - tier >= tier_county - tier <= tier_duchy - } - } - custom_tooltip = { - text = purchase_land_capital_tt - NOT = { scope:target = scope:recipient.capital_county } - } - custom_tooltip = { - text = purchase_land_primary_tt - NOT = { scope:target = scope:recipient.primary_title } - } - custom_tooltip = { - text = purchase_land_duchy_tt - scope:target = { - trigger_if = { - limit = { tier = tier_duchy } - scope:actor = { - prestige_level >= 3 - } - } - } - } - trigger_if = { - limit = { exists = scope:target.holder } - scope:target.holder = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:actor = { is_independent_ruler = yes } - scope:actor = { - prestige_level >= 2 - } - scope:actor = { - NOT = { - has_trait = gallowsbait - } - } - scope:actor = { - NOT = { - has_trait = gallivanter - } - } - scope:recipient = { is_at_war = no } - trigger_if = { # Can't purchase Baronies - limit = { - scope:target ?= { tier = tier_barony } - } - custom_description = { - text = purchase_land_barony_tt - always = no - } - } - trigger_if = { # Can't purchase Kingdoms or Empires - limit = { - scope:target ?= { tier >= tier_kingdom } - } - custom_description = { - text = purchase_land_kingdom_tt - always = no - } - } - trigger_if = { # Can't purchase HoF titles - limit = { - scope:target ?= { is_head_of_faith = yes } - } - custom_description = { - text = purchase_land_religious_tt - always = no - } - } - trigger_if = { # Can't purchase nf titles - limit = { - scope:target ?= { is_noble_family_title = yes } - } - custom_description = { - text = purchase_land_noble_family_tt - always = no - } - } - trigger_if = { # Can't purchase laamp titles - limit = { - scope:target ?= { has_variable = adventurer_creation_reason } - } - custom_description = { - text = purchase_land_landless_adventurer_tt - always = no - } - } - trigger_if = { - limit = { - scope:recipient = { - any_held_county = { count < 2 } - } - } - custom_description = { - text = purchase_land_minimum_county_tt - object = scope:recipient - always = no - } - } - scope:recipient = { - is_busy_in_events_localised = yes - NOT = { has_strong_hook = scope:actor } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - # Adventurers can't join wars in places they're exiled from. - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:recipient.capital_province - LAAMP = scope:actor - } - } - } - } - - cost = { - gold = { - if = { - limit = { scope:target.tier = tier_county } - add = purchase_land_county_cost_value - } - else = { - add = purchase_land_duchy_cost_value - scope:target = { - every_de_jure_county = { - limit = { ep3_purchase_land_valid_county_trigger = yes } - add = purchase_land_county_cost_value - } - } - } - if = { - limit = { scope:offer_gold = yes } - multiply = 2 - } - } - } - - on_accept = { - scope:actor = { save_scope_as = adventurer } - scope:target = { - add_to_list = purchased_titles - if = { - limit = { tier = tier_duchy } - every_de_jure_county = { - limit = { ep3_purchase_land_valid_county_trigger = yes } - add_to_list = purchased_titles - } - } - } - ordered_in_list = { - list = purchased_titles - save_scope_as = new_primary_title - } - save_scope_value_as = { - name = purchase_land_cost - value = { - every_in_list = { - list = purchased_titles - if = { - limit = { tier = tier_county } - add = purchase_land_county_cost_value - } - else_if = { - limit = { tier = tier_duchy } - add = purchase_land_duchy_cost_value - } - } - if = { - limit = { - scope:actor = { has_variable = ep3_grace_to_the_family_var } - } - multiply = 0.5 - } - if = { - limit = { - scope:offer_gold = yes - } - multiply = 2 - } - } - } - save_scope_value_as = { - name = purchase_land_legitimacy_cost - value = { - value = 0 - if = { - limit = { - NOT = { - scope:target.holder = scope:recipient - } - } - every_in_list = { - list = purchased_titles - if = { - limit = { tier = tier_county } - add = minor_legitimacy_loss - } - else = { add = medium_legitimacy_loss } - } - } - } - } - show_as_tooltip = { purchase_land_interaction_shortened_effect = yes } - if = { - limit = { always = scope:hook } - scope:actor = { use_hook = scope:recipient } - } - scope:actor = { trigger_event = ep3_laamps.0100 } - } - - on_decline = { - scope:actor = { - save_scope_as = adventurer - trigger_event = ep3_laamps.0102 - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = contacts - } - ai_frequency = 120 - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - modifier = { # Num of counties/duchy - add = { - value = 0 - scope:target = { - if = { - limit = { tier = tier_county } - add = -30 - } - else = { - add = -60 - every_de_jure_county = { - limit = { ep3_purchase_land_valid_county_trigger = yes } - add = -30 - } - } - } - } - desc = PURCHASE_LAND_NUM_TITLES_REASON - } - modifier = { # Too close to capital - add = -50 - desc = PURCHASE_LAND_DE_JURE_DUCHY_REASON - scope:target.duchy = scope:recipient.capital_county.duchy - } - modifier = { # Province value - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = scope:target.development_level - scope:target = { - every_county_province = { add = num_buildings } - } - } - else = { - scope:target = { - every_de_jure_county = { - limit = { ep3_purchase_land_valid_county_trigger = yes } - add = development_level - every_county_province = { add = num_buildings } - } - } - } - multiply = -2 - } - #add = 1 - desc = PURCHASE_LAND_VALUE_REASON - } - modifier = { # Land is foreign - add = 10 - desc = PURCHASE_LAND_FOREIGN_COUNTY_CULTURE_REASON - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = 10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_purchase_land_valid_county_trigger = yes - culture != scope:recipient.culture - } - add = 10 - } - } - } - max = 30 - } - desc = PURCHASE_LAND_FOREIGN_CULTURE_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.culture != scope:recipient.culture - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - culture != scope:recipient.culture - } - } - } - } - modifier = { # Different faith - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = 10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_purchase_land_valid_county_trigger = yes - faith != scope:recipient.faith - } - add = 10 - } - } - } - max = 30 - } - desc = PURCHASE_LAND_DIFFERENT_FAITH_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.faith != scope:recipient.faith - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - faith != scope:recipient.faith - } - } - } - } - modifier = { # My culture's lands - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -40 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_purchase_land_valid_county_trigger = yes - culture != scope:recipient.culture - } - add = -40 - } - } - } - if = { - limit = { scope:acceptance != 0 } - divide = scope:acceptance - } - multiply = 2 - min = -200 - } - desc = PURCHASE_LAND_MY_CULTURE_REASON - scope:actor.culture != scope:recipient.culture - trigger_if = { - limit = { - scope:target.tier = tier_county - } - scope:target.culture = scope:recipient.culture - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - culture = scope:recipient.culture - } - } - } - scope:recipient.culture = { - save_temporary_scope_value_as = { - name = acceptance - value = { - value = "cultural_acceptance(scope:actor.culture)" - divide = 25 - ceiling = yes - } - } - } - } - modifier = { # My faith's lands - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -40 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_purchase_land_valid_county_trigger = yes - faith != scope:recipient.faith - } - add = -40 - } - } - } - if = { - limit = { scope:hostility != 0 } - multiply = scope:hostility - } - multiply = 2 - min = -200 - } - desc = PURCHASE_LAND_MY_FAITH_REASON - scope:actor.faith != scope:recipient.faith - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.faith = scope:recipient.faith - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - faith = scope:recipient.faith - } - } - } - scope:recipient.faith = { - save_temporary_scope_value_as = { - name = hostility - value = "faith_hostility_level(scope:actor.faith)" - } - } - } - modifier = { # Too close - add = { - value = 0 - add = scope:distance - divide = scope:recipient.highest_held_title_tier - if = { - limit = { scope:distance <= squared_distance_medium } - multiply = -0.01 - } - else = { multiply = 0.0005 } - min = -25 - max = 50 - } - desc = PURCHASE_LAND_DISTANCE_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target = { save_temporary_scope_as = distance_target } - } - trigger_else = { - scope:target.title_capital_county = { save_temporary_scope_as = distance_target } - } - scope:recipient.capital_county = { - save_temporary_scope_value_as = { - name = distance - value = "squared_distance(scope:distance_target)" - } - } - } - opinion_modifier = { # Opinion Factor of title holder - trigger = { - NOT = { - scope:target.holder ?= scope:recipient - } - } - who = scope:recipient - opinion_target = scope:target.holder - multiplier = -1 - desc = AI_OPINION_REASON - } - modifier = { - add = { - value = scope:actor.prestige_level - multiply = 20 - } - scope:actor.prestige_level >= 4 - desc = PURCHASE_LAND_PRESTIGE_LEVEL_REASON - } - modifier = { - add = 40 - trigger = { - scope:actor.culture != scope:recipient.culture - OR = { - AND = { - scope:target.tier = tier_county - scope:target.culture = scope:recipient.culture - } - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - culture = scope:recipient.culture - } - } - } - } - scope:actor.primary_spouse ?= { - culture = scope:recipient.culture - dynasty ?= { - dynasty_prestige_level >= 2 - } - } - desc = PURCHASE_LAND_MARRIED_TO_CULTURE_NOBLE_REASON - } - modifier = { - add = 40 - trigger = { - scope:actor.faith != scope:recipient.faith - } - scope:actor.primary_spouse ?= { - faith = scope:recipient.faith - dynasty ?= { - dynasty_prestige_level >= 2 - } - } - desc = PURCHASE_LAND_MARRIED_TO_FAITH_NOBLE_REASON - } - modifier = { - add = 80 - scope:actor.primary_spouse ?= { - house ?= scope:recipient.house - } - desc = PURCHASE_LAND_MARRIED_TO_HOUSE_REASON - } - modifier = { - add = 20 - trigger = { - OR = { - AND = { - scope:target.tier = tier_county - scope:target.culture = scope:recipient.culture - } - scope:target = { - any_de_jure_county = { - ep3_purchase_land_valid_county_trigger = yes - culture = scope:recipient.culture - } - } - } - } - scope:actor = { - knows_language_of_culture = scope:recipient.culture - NOT = { - culture = scope:recipient.culture - } - } - desc = PURCHASE_LAND_SPEAKS_LANGUAGE_REASON - } - modifier = { - add = -40 - scope:actor = { - NOT = { - knows_language_of_culture = scope:recipient.culture - culture = scope:recipient.culture - } - } - desc = PURCHASE_LAND_DOES_NOT_SPEAK_LANGUAGE_REASON - } - modifier = { - add = { - value = 40 - multiply = scope:recipient.debt_level - } - trigger = { - scope:recipient = { - debt_level > 0 - } - } - desc = PURCHASE_LAND_IS_IN_DEBT_REASON - } - modifier = { - add = 60 - scope:actor = { - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - desc = PURCHASE_LAND_RELATIONSHIP_REASON - } - modifier = { - add = 80 - scope:offer_gold = yes - desc = PURCHASE_LAND_DOUBLE_GOLD_REASON - } - modifier = { - add = 160 - scope:hook = yes - desc = YOU_HAVE_HOOK_REASON - } - modifier = { - add = 60 - scope:offer_hook = yes - desc = PURCHASE_LAND_OFFER_HOOK_REASON - } - modifier = { - add = 80 - scope:vassal_obligation = yes - desc = PURCHASE_LAND_OBLIGATIONS_REASON - } - } - - ai_will_do = { - base = -25 - ai_value_modifier = { - ai_boldness = -0.5 - ai_energy = -0.5 - ai_greed = 0.5 - } - modifier = { - gold < 1000 - factor = 0 - } - modifier = { - gold > 2000 - add = 50 - } - } -} - -################## -# Request Invasion Sponsorship -# by Joe Parkin -################## - -request_laamp_invasion_sponsorship_interaction = { - common_interaction = no - category = interaction_category_laamp - interface_priority = 20 - cooldown_against_recipient = { years = 5 } - - greeting = positive - notification_text = REQUEST_LAAMP_INVASION_SPONSORSHIP_PROPOSAL - - answer_accept_key = REQUEST_LAAMP_INVASION_SPONSORSHIP_ACCEPT - answer_reject_key = REQUEST_LAAMP_INVASION_SPONSORSHIP_REJECT - - icon = request_invasion_sponsorship_interaction - desc = request_laamp_invasion_sponsorship_interaction_desc - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { government_has_flag = government_is_landless_adventurer } - scope:recipient = { is_landed = yes } - NOT = { scope:recipient = scope:actor } - NOT = { scope:actor = { has_realm_law = camp_purpose_legitimists } } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_independent_ruler = yes - custom_tooltip = { - text = request_laamp_invasion_sponsorship_existing_supporter_tt - NOT = { exists = var:adventurer_invasion_supporter } - } - } - scope:recipient = { - is_independent_ruler = yes - highest_held_title_tier >= tier_kingdom - custom_tooltip = { - text = request_laamp_invasion_sponsorship_existing_supportee_tt - NOT = { exists = var:adventurer_invasion_supportee } - } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - #You need to be at least Illustrious - scope:actor = { - prestige_level >= 3 - } - } - - populate_recipient_list = { - every_independent_ruler = { - limit = { - highest_held_title_tier >= tier_kingdom - is_landed = yes - in_diplomatic_range = scope:actor - in_diplomatic_range = scope:recipient - NOR = { - is_at_war_with = scope:actor - is_at_war_with = scope:recipient - is_allied_to = scope:actor - is_allied_to = scope:recipient - has_truce = scope:actor - has_truce = scope:recipient - this = scope:actor - this = scope:recipient - } - } - add_to_list = characters - } - } - - send_options_exclusive = no - - send_option = { - flag = request_soldiers - localization = request_laamp_invasion_sponsorship_option_request_soldiers - current_description = request_laamp_invasion_sponsorship_option_request_soldiers_desc - starts_enabled = { always = yes } - } - - send_option = { - flag = join_war - localization = request_laamp_invasion_sponsorship_option_join_war - current_description = request_laamp_invasion_sponsorship_option_join_war_desc - is_valid = { - scope:secondary_recipient ?= { - NOR = { - is_at_war_with = scope:recipient - is_allied_to = scope:recipient - has_truce = scope:recipient - } - } - } - } - - send_option = { - flag = offer_gold - localization = request_laamp_invasion_sponsorship_option_offer_gold - current_description = request_laamp_invasion_sponsorship_option_offer_gold_desc - is_shown = { exists = scope:recipient } - is_valid = { scope:actor.gold >= scope:recipient.request_laamp_invasion_sponsorship_gold_cost } - } - - send_option = { - flag = hook - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - localization = GENERIC_SPEND_A_HOOK - } - - cost = { - prestige = { - value = massive_prestige_value - if = { - limit = { scope:join_war = yes } - add = major_prestige_value - } - } - gold = { - if = { - limit = { scope:offer_gold = yes } - value = scope:recipient.request_laamp_invasion_sponsorship_gold_cost - } - } - } - - can_send = { - custom_tooltip = { - text = request_laamp_invasion_sponsorship_minimum_request_tt - OR = { - scope:join_war = yes - scope:request_soldiers = yes - } - } - } - - on_accept = { - scope:actor = { save_scope_as = adventurer } - scope:recipient ?= { - if = { - limit = { - scope:request_soldiers = yes - scope:join_war = yes - } - custom_tooltip = adventurer_invasion_supporter_tt - } - else_if = { - limit = { scope:request_soldiers = yes } - custom_tooltip = adventurer_invasion_supporter_soldiers_tt - } - else_if = { - limit = { scope:join_war = yes } - custom_tooltip = adventurer_invasion_supporter_join_tt - } - else = { custom_tooltip = request_laamp_invasion_sponsorship_minimum_request_tt } - hidden_effect = { - set_variable = { - name = adventurer_invasion_supportee - value = scope:actor - years = 5 - } - set_variable = { - name = adventurer_invasion_target - value = scope:secondary_recipient - years = 5 - } - if = { - limit = { scope:join_war = yes } - set_variable = { - name = adventurer_invasion_join_war - value = scope:actor - years = 5 - } - } - if = { - limit = { scope:request_soldiers = yes } - set_variable = { - name = adventurer_invasion_request_soldiers - value = scope:actor - years = 5 - } - } - } - } - scope:actor = { - if = { - limit = { scope:offer_gold = yes } - show_as_tooltip = { - pay_short_term_gold = { - gold = scope:recipient.request_laamp_invasion_sponsorship_gold_cost - target = scope:recipient - } - } - } - if = { - limit = { scope:hook = yes } - use_hook = scope:recipient - } - - custom_tooltip = { - text = adventurer_invasion_supporter_victory_tt - set_variable = { - name = adventurer_invasion_supporter - value = scope:recipient - years = 5 - } - set_variable = { - name = adventurer_invasion_target - value = scope:secondary_recipient - years = 5 - } - } - trigger_event = ep3_laamps.0200 - } - } - - on_decline = { - scope:actor = { trigger_event = ep3_laamps.0201 } - } - - use_diplomatic_range = yes - - ai_accept = { - base = -25 - - # Relationships: actor -> recipient / We avoid more relationship checks for balance reasons (and because important decisions tend to care little for relationships) - modifier = { # Rivalry modifier. - desc = offer_vassalization_interaction_aibehavior_rival_tt - scope:recipient = { - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - } - add = -10 - } - modifier = { # Nemesis modifier. - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - scope:recipient = { has_relation_nemesis = scope:actor } - add = -30 - } - modifier = { # Same Dynasty modifier. - desc = offer_vassalization_interaction_aibehavior_dynasty_tt - scope:recipient.dynasty = scope:actor.dynasty - add = 10 - } - - # Compare Opinion modifier - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - } - opinion_modifier = { - who = scope:recipient - opinion_target = scope:secondary_recipient - multiplier = -0.5 - } - - # Relative power (taken from PT interaction) - modifier = { # A lot less levies than scope:secondary_recipient - add = -50 - scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_far_weaker_value - scope:join_war = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_MUCH_WEAKER_REASON - } - modifier = { # Few less levies than scope:secondary_recipient - add = -25 - scope:recipient.max_military_strength > scope:secondary_recipient.purchase_truce_interaction_recipient_far_weaker_value - scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - scope:join_war = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_SOMEWHAT_WEAKER_REASON - } - modifier = { # Roughly equal levies with scope:secondary_recipient - add = -10 - scope:recipient.max_military_strength > scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_weaker_value - scope:recipient.max_military_strength <= scope:secondary_recipient.purchase_truce_interaction_recipient_somewhat_stronger_value - scope:join_war = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_ROUGHLY_EQUAL_REASON - } - - # AI who are in debt will take whatever windfalls they can. - modifier = { - add = { - value = scope:recipient.debt_level - add = 1 # Our first level is 0, so we add one to always get a positive number. - multiply = 10 - } - scope:offer_gold = yes - scope:recipient.debt_level > 0 - desc = PT_AI_IS_IN_DEBT - } - - # Pacifist AI don't like raiding - modifier = { - add = -25 - scope:recipient.faith = { has_doctrine_parameter = pacifist_opinion_active } - desc = PT_AI_IS_PACIFIST_FAITH - } - modifier = { - add = -25 - scope:recipient.culture = { has_cultural_parameter = reduced_cost_for_conversion_to_pacifist_faith } - desc = PT_AI_IS_PACIFIST_CULTURE - } - - # Small realm - modifier = { - add = -50 - scope:recipient.realm_size < minor_realm_size - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_SMALL_REALM_REASON - } - # Own war - modifier = { - add = -50 - scope:recipient = { is_at_war = yes } - scope:join_war = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_OWN_WAR_REASON - } - - modifier = { # Distance - add = { - value = 0 - add = scope:distance - if = { - limit = { scope:distance >= squared_distance_medium } - add = scope:distance - multiply = -0.00001 - } - min = -100 - } - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_DISTANCE_REASON - scope:recipient = { - NOT = { - any_neighboring_top_liege_realm_owner = { this = scope:secondary_recipient } - } - } - scope:recipient.capital_county = { - save_temporary_scope_value_as = { - name = distance - value = "squared_distance(scope:secondary_recipient.capital_county)" - } - } - } - - modifier = { - add = -30 - scope:recipient.faith = scope:secondary_recipient.faith - desc = I_AM_ATTACKING_A_CORELIGIONIST - } - modifier = { - add = -10 - NOT = { scope:actor.faith = scope:recipient.faith } - desc = DIFFERENT_FAITH - } - modifier = { - add = -200 - scope:recipient.primary_heir ?= scope:secondary_recipient - desc = WONT_FIGHT_HEIR_REASON - } - modifier = { - add = -200 - scope:recipient = { is_consort_of = scope:secondary_recipient } - desc = WONT_FIGHT_SPOUSE_REASON - } - modifier = { - add = -100 - scope:recipient = { - has_relation_friend = scope:secondary_recipient - NOT = { has_relation_best_friend = scope:secondary_recipient } - } - desc = WONT_FIGHT_FRIEND_REASON - } - modifier = { - add = -200 - scope:recipient = { has_relation_best_friend = scope:secondary_recipient } - desc = WONT_FIGHT_BEST_FRIEND_REASON - } - modifier = { - add = -100 - scope:recipient = { - has_relation_lover = scope:secondary_recipient - NOT = { has_relation_soulmate = scope:secondary_recipient } - } - desc = WONT_FIGHT_LOVER_REASON - } - modifier = { - add = -200 - scope:recipient = { has_relation_soulmate = scope:secondary_recipient } - desc = WONT_FIGHT_SOULMATE_REASON - } - modifier = { - add = -200 - scope:recipient = { is_allied_to = scope:secondary_recipient } - desc = WAR_WITH_ALLY_REASON - } - - modifier = { - add = 50 - scope:hook = yes - desc = YOU_HAVE_HOOK_REASON - } - - # Offered proportional gold - modifier = { - add = -25 - scope:request_soldiers = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_REQUEST_SOLDIERS_REASON - } - modifier = { - add = -50 - scope:join_war = yes - desc = REQUEST_LAAMP_INVASION_SPONSORSHIP_JOIN_WAR_REASON - } - modifier = { - add = 35 - scope:offer_gold = yes - desc = GOLD_REASON - } - - # AI value mod - ai_value_modifier = { - ai_greed = 0.5 - ai_boldness = 0.25 - min = 0 - max = 25 - } - } - can_send_despite_rejection = no -} - -################## -# Negotiate Settlement -# by Joe Parkin -################## - -negotiate_settlement_interaction = { - common_interaction = yes - category = interaction_category_diplomacy - icon = negotiate_settlement_interaction - - desc = negotiate_settlement_interaction_desc - target_type = title - target_filter = actor_domain_titles - - cooldown_against_recipient = { years = 5 } - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:actor = { is_independent_ruler = no } - scope:target = { - trigger_if = { - limit = { tier = tier_duchy } - scope:actor.highest_held_title_tier = tier_duchy - } - trigger_else = { scope:actor.highest_held_title_tier = tier_county } - } - } - desc = NEGOTIATE_SETTLEMENT_PROPOSAL_FELLOW_VASSAL - } - triggered_desc = { - trigger = { - scope:target = { - trigger_if = { - limit = { tier = tier_duchy } - scope:actor.highest_held_title_tier >= tier_kingdom - } - trigger_else = { scope:actor.highest_held_title_tier >= tier_duchy } - } - } - desc = NEGOTIATE_SETTLEMENT_PROPOSAL_LIEGE - } - desc = NEGOTIATE_SETTLEMENT_PROPOSAL - } - } - - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { is_landed = yes } - scope:recipient = { - government_has_flag = government_is_landless_adventurer - } - NOT = { scope:recipient = scope:actor } - } - - can_be_picked_title = { - custom_tooltip = { - text = purchase_land_tier_tt - scope:target = { - tier >= tier_county - tier <= tier_duchy - } - } - custom_tooltip = { - text = purchase_land_capital_tt - NOR = { - scope:target = scope:actor.capital_county - scope:target = scope:actor.capital_county.duchy - } - } - custom_tooltip = { - text = purchase_land_primary_tt - NOT = { scope:target = scope:actor.primary_title } - } - custom_tooltip = { - text = negotiate_settlement_title_cant_receive_reason_higher_tier_without_county - scope:target = { - tier = tier_duchy - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - } - } - } - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - scope:recipient = { is_ai = yes } - scope:target.tier < tier_duchy - } - scope:recipient = { - OR = { - current_military_strength < 1000 # You can do better - global_variable_list_size = { - name = laamps_tally - value >= too_many_laamps_value - } - } - OR = { - AND = { - has_character_modifier = ep3_lust_for_land_modifier - ai_greed >= 25 - ai_boldness >= 25 - ai_rationality <= -25 - } - AND = { - has_trait = greedy - ai_rationality <= -50 - } - global_variable_list_size = { - name = laamps_tally - value >= too_many_laamps_value - } - } - } - } - } - - has_valid_target_showing_failures_only = { - trigger_if = { # Can't purchase HoF titles - limit = { - scope:target ?= { is_head_of_faith = yes } - } - custom_description = { - text = negotiate_settlement_religious_tt - always = no - } - } - trigger_if = { # Can't purchase nf titles - limit = { - scope:target ?= { is_noble_family_title = yes } - } - custom_description = { - text = negotiate_settlement_noble_family_tt - always = no - } - } - trigger_if = { # Can't purchase laamp titles - limit = { - scope:target ?= { has_variable = adventurer_creation_reason } - } - custom_description = { - text = negotiate_settlement_landless_adventurer_tt - always = no - } - } - trigger_if = { - limit = { - scope:actor = { government_has_flag = government_is_administrative } - } - scope:target.tier = tier_duchy - } - trigger_else = { - scope:target = { - tier >= tier_county - tier <= tier_duchy - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - custom_tooltip = { - text = negotiate_settlement_target_tt - OR = { - any_character_war = { - is_attacker = scope:recipient - primary_defender = scope:actor - save_temporary_scope_as = war_temp - } - AND = { - exists = scope:recipient.capital_province - scope:recipient.capital_province.county.holder.top_liege = scope:actor.top_liege - } - } - } - } - # Can only settle if not at risk of losing land, outside of war of adventurer - custom_tooltip = { - text = negotiate_settlement_defensive_wars_tt - scope:actor = { - NOT = { - any_character_war = { - any_war_defender = { this = scope:actor } - NOT = { - any_war_attacker = { this = scope:recipient } - } - } - } - } - } - NOT = { - scope:actor = { has_relation_nemesis = scope:recipient } - } - trigger_if = { # Can't purchase Baronies - limit = { - scope:target ?= { tier = tier_barony } - } - custom_description = { - text = negotiate_settlement_barony_tt - always = no - } - } - trigger_if = { # Can't purchase Kingdoms or Empires - limit = { - scope:target ?= { tier >= tier_kingdom } - } - custom_description = { - text = negotiate_settlement_kingdom_tt - always = no - } - } - trigger_if = { - limit = { - scope:actor = { - any_held_county = { count < 2 } - } - } - custom_description = { - text = negotiate_settlement_minimum_county_tt - always = no - } - } - scope:recipient = { - is_busy_in_events_localised = yes - NOT = { has_strong_hook = scope:actor } - } - # Adventurers can't be negotiated back into places they're exiled from. - trigger_if = { - limit = { - scope:actor = { is_independent_ruler = no } - } - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:actor.capital_province - LAAMP = scope:recipient - } - } - } - } - # Story blockers. - ## Hereward cannot be exiled by active participants in the Harrying of the North. - disable_interaction_for_hereward_trigger = yes - ## Hasan cannot be exiled by anyone during his story. - disable_interaction_for_hasan_trigger = yes - } - - on_send = { - debug_log = "NEGOTIATE_SETTLEMENT" - debug_log_scopes = yes - } - - on_accept = { - scope:actor = { save_scope_as = adventurer } - scope:target = { - add_to_list = offered_titles - if = { - limit = { tier = tier_duchy } - every_de_jure_county = { - limit = { ep3_negotiate_settlement_valid_county_trigger = yes } - add_to_list = offered_titles - } - } - } - ordered_in_list = { - list = offered_titles - save_scope_as = new_primary_title - } - save_scope_value_as = { - name = negotiate_settlement_legitimacy_cost - value = { - value = 0 - every_in_list = { - list = offered_titles - if = { - limit = { tier = tier_county } - add = -25 - } - else = { add = -50 } - } - multiply = scope:actor.highest_held_title_tier - } - } - show_as_tooltip = { negotiate_settlement_interaction_effect = yes } - scope:actor = { trigger_event = ep3_laamps.0300 } - } - - on_decline = { - scope:actor = { - trigger_event = ep3_laamps.0302 - } - } - - ai_targets = { - ai_recipients = scripted_relations - ai_recipients = spouses - max = 5 - } - ai_targets = { - ai_recipients = top_realm_domicile_owners - ai_recipients = nearby_domicile_owners - max = 5 - } - ai_targets = { - ai_recipients = war_enemies - max = 10 - } - ai_frequency = 3 # Must be fairly common as it can happen during war - - ai_potential = { - OR = { - is_independent_ruler = yes - highest_held_title_tier >= tier_kingdom - } - OR = { - is_at_war = yes - has_trait = craven - has_trait = generous - } - NOT = { - government_has_flag = government_is_nomadic - } - } - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - ai_value_modifier = { - ai_boldness = -0.25 - ai_energy = -0.25 - ai_greed = 0.25 - } - modifier = { # Claims - add = { - value = 0 - if = { - limit = { - scope:recipient = { has_claim_on = scope:target } - } - add = 25 - } - if = { - limit = { scope:target.tier = tier_duchy } - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - save_temporary_scope_as = claim_temp - scope:recipient = { has_claim_on = scope:claim_temp } - } - add = 25 - } - } - } - } - desc = NEGOTIATE_SETTLEMENT_CLAIM_REASON - OR = { - scope:recipient = { has_claim_on = scope:target } - trigger_if = { - limit = { scope:target.tier = tier_duchy } - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - save_temporary_scope_as = county_temp - scope:recipient = { has_claim_on = scope:county_temp } - } - } - } - trigger_else = { always = no } - } - } - modifier = { - add = -300 - scope:recipient = { has_realm_law = camp_purpose_legitimists } - desc = NEGOTIATE_SETTLEMENT_LEGITIMIST_REASON - } - modifier = { # Tier lower than war claim - add = { - value = 0 - scope:recipient = { - every_character_war = { - limit = { - primary_attacker = scope:recipient - primary_defender = scope:actor - casus_belli = { - any_target_title = { tier > scope:target.tier } - } - } - casus_belli = { - every_target_title = { - limit = { tier > scope:target.tier } - add = -25 - } - } - } - } - } - desc = NEGOTIATE_SETTLEMENT_LOWER_THAN_WAR_TARGET_REASON - scope:recipient = { - any_character_war = { - primary_attacker = scope:recipient - primary_defender = scope:actor - casus_belli = { - any_target_title = { tier > scope:target.tier } - } - } - } - } - modifier = { # War Targets - add = { - value = 0 - scope:recipient = { - every_character_war = { - limit = { - primary_attacker = scope:recipient - casus_belli = { - any_target_title = { - OR = { - this = scope:target - de_jure_liege = scope:target - } - } - } - } - casus_belli = { - every_target_title = { - limit = { - OR = { - this = scope:target - de_jure_liege = scope:target - } - } - add = 25 - } - } - } - } - } - desc = NEGOTIATE_SETTLEMENT_WAR_TARGET_REASON - scope:recipient = { - any_character_war = { - primary_attacker = scope:recipient - casus_belli = { - any_target_title = { - OR = { - this = scope:target - de_jure_liege = scope:target - } - } - } - } - } - } - modifier = { # Num of counties/duchy - add = { - value = 0 - scope:target = { - if = { - limit = { tier = tier_county } - add = 25 - } - else = { - add = 50 - every_de_jure_county = { - limit = { ep3_negotiate_settlement_valid_county_trigger = yes } - add = 25 - } - } - } - } - desc = NEGOTIATE_SETTLEMENT_NUM_TITLES_REASON - } - modifier = { # Province value - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = scope:target.development_level - scope:target = { - every_county_province = { add = num_buildings } - } - } - else = { - scope:target = { - every_de_jure_county = { - limit = { ep3_negotiate_settlement_valid_county_trigger = yes } - add = development_level - every_county_province = { add = num_buildings } - } - } - } - } - #add = 1 - desc = NEGOTIATE_SETTLEMENT_VALUE_REASON - } - modifier = { # Land is foreign - add = -10 - desc = NEGOTIATE_SETTLEMENT_FOREIGN_COUNTY_CULTURE_REASON - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - culture != scope:recipient.culture - } - add = -10 - } - } - } - min = -30 - } - desc = NEGOTIATE_SETTLEMENT_FOREIGN_CULTURE_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.culture != scope:recipient.culture - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - culture != scope:recipient.culture - } - } - } - } - modifier = { # Different faith - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:recipient.faith - } - add = -10 - } - } - } - min = -30 - } - desc = NEGOTIATE_SETTLEMENT_DIFFERENT_FAITH_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.faith != scope:recipient.faith - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:recipient.faith - } - } - } - } - modifier = { # Losing/winning as attacker - add = { - value = 0 - scope:recipient = { - ordered_character_war = { - limit = { - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - } - order_by = war_days - if = { - limit = { - primary_attacker = scope:actor - primary_defender = scope:recipient - } - add = defender_war_score - } - else = { add = attacker_war_score } - } - } - divide = 4 - } - desc = NEGOTIATE_SETTLEMENT_LOSING_WAR_REASON - scope:recipient = { - any_character_war = { - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - trigger_if = { - limit = { - primary_attacker = scope:actor - primary_defender = scope:recipient - } - defender_war_score >= 25 - } - trigger_else = { attacker_war_score >= 25 } - } - } - } - modifier = { # Losing/winning as defender - add = { - value = 0 - scope:recipient = { - ordered_character_war = { - limit = { - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - } - order_by = war_days - if = { - limit = { - primary_attacker = scope:actor - primary_defender = scope:recipient - } - add = attacker_war_score - } - else = { add = defender_war_score } - } - } - divide = 4 - } - desc = NEGOTIATE_SETTLEMENT_LOSING_WAR_REASON - scope:recipient = { - any_character_war = { - OR = { - primary_attacker = scope:actor - primary_defender = scope:actor - } - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - trigger_if = { - limit = { - primary_attacker = scope:actor - primary_defender = scope:recipient - } - attacker_war_score >= 25 - } - trigger_else = { defender_war_score >= 25 } - } - } - } - modifier = { # Number of troops at peace, - add = { - add = current_military_strength - multiply = -0.02 - } - desc = laamp_has_soldiers_negotiate_settlement_tt - } - modifier = { - add = -50000 - scope:actor = { is_ai = yes } - NOT = { - scope:target.tier >= tier_duchy - } - scope:recipient = { - NOR = { - current_military_strength < 1000 # You can do better - global_variable_list_size = { - name = laamps_tally - value >= too_many_laamps_value - } - } - NOR = { - AND = { - has_character_modifier = ep3_lust_for_land_modifier - ai_greed >= 25 - ai_boldness >= 25 - ai_rationality <= -25 - } - AND = { - has_trait = greedy - ai_rationality <= -50 - } - global_variable_list_size = { - name = laamps_tally - value >= too_many_laamps_value - } - } - } - } - } - - ai_will_do = { - base = -25 - modifier = { - add = 25 - scope:actor.domain_size > scope:actor.domain_limit - } - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = 0.25 - } - ai_value_modifier = { - ai_boldness = -0.25 - ai_energy = -0.25 - ai_greed = -0.25 - } - modifier = { # Tier lower than war claim - add = { - value = 0 - scope:recipient = { - every_character_war = { - limit = { - primary_attacker = scope:recipient - primary_defender = scope:actor - casus_belli = { - any_target_title = { tier > scope:target.tier } - } - attacker_war_score >= 50 - } - add = 150 - } - } - } - desc = NEGOTIATE_SETTLEMENT_SAVE_TITLE_REASON - scope:recipient = { - any_character_war = { - primary_attacker = scope:recipient - primary_defender = scope:actor - casus_belli = { - any_target_title = { tier > scope:target.tier } - } - attacker_war_score >= 50 - } - } - } - modifier = { - scope:recipient = { - is_landless_adventurer = yes - has_realm_law = camp_purpose_legitimists - any_claim = { - OR = { - holder ?= { - OR = { - this = scope:actor - target_is_liege_or_above = scope:actor - } - } - target_is_de_jure_liege_or_above = scope:actor.primary_title - } - } - } - desc = NEGOTIATE_SETTLEMENT_DE_JURE_LEGITIMIST_REASON - add = -150 - } - modifier = { # Defending against a LAAMP - any_character_war = { - primary_defender = scope:actor - any_war_attacker = { - scope:recipient ?= this - is_landless_adventurer = yes - NOT = { has_realm_law = camp_purpose_legitimists } - # Attacking laamp's troops at least 10% of defender's total troops - current_military_strength > war_defender_total_strength_tenth_value - } - OR = { - attacker_war_score >= 25 - # Attackers outnumber defenders at least 2:1 - war_attacker_total_current_strength_halved_value >= war_defender_total_current_strength_value - } - } - desc = NEGOTIATE_SETTLEMENT_DEFENDING_REASON - add = { - value = 0 - every_character_war = { - limit = { - primary_defender = scope:actor - any_war_attacker = { - scope:recipient ?= this - is_landless_adventurer = yes - NOT = { has_realm_law = camp_purpose_legitimists } - # Attacking laamp's troops at least 10% of defender's total troops - current_military_strength > war_defender_total_strength_tenth_value - } - } - add = { - value = 25 - add = { - value = attacker_war_score - subtract = 25 - min = 0 - } - if = { - limit = { - exists = primary_attacker - scope:recipient ?= primary_attacker - } - multiply = 2 - } - # Difference in strength of attackers and defenders - multiply = war_attacker_total_current_strength_divided_by_defender_value - } - } - } - } - modifier = { # Attacking a LAAMP - any_character_war = { - primary_attacker = scope:actor - any_war_defender = { - scope:recipient ?= this - is_landless_adventurer = yes - # Defending laamp's troops at least 10% of attacker's total troops - current_military_strength > war_attacker_total_strength_tenth_value - } - OR = { - defender_war_score >= 25 - # Defenders outnumber attackers at least 2:1 - war_defender_total_current_strength_halved_value >= war_attacker_total_current_strength_value - } - } - desc = NEGOTIATE_SETTLEMENT_ATTACKING_REASON - add = { - value = 0 - every_character_war = { - limit = { - primary_attacker = scope:actor - any_war_defender = { - scope:recipient ?= this - is_landless_adventurer = yes - # Defending laamp's troops at least 10% of attacker's total troops - current_military_strength > war_attacker_total_strength_tenth_value - } - } - add = { - value = 25 - add = { - value = defender_war_score - subtract = 25 - min = 0 - } - # Difference in strength of defenders and attackers - multiply = war_defender_total_current_strength_divided_by_attacker_value - } - } - } - } - modifier = { # Potential war target of a LAAMP - scope:recipient ?= { - ep3_adventurer_might_attack_target_trigger = { TARGET = scope:actor } - trigger_if = { - limit = { - NOT = { is_at_war_with = scope:actor } - } - ep3_laamp_diplo_range_trigger = { - TARGET = scope:actor - LAAMP = scope:recipient - } - } - } - desc = NEGOTIATE_SETTLEMENT_POTENTIAL_WAR_TARGET_REASON - add = { - value = 25 - multiply = recipient_strength_divided_by_actors_value - # Scale of threat - scope:recipient = { - if = { - limit = { - can_declare_war = { - casus_belli = ep3_laamp_adventurer_duchy_invasion - defender = scope:actor - } - } - multiply = 1.25 - } - if = { - limit = { - can_declare_war = { - casus_belli = ep3_laamp_adventurer_kingdom_invasion - defender = scope:actor - } - } - multiply = 1.5 - } - if = { - limit = { - can_declare_war = { - casus_belli = ep3_laamp_adventurer_empire_invasion - defender = scope:actor - } - } - multiply = 2 - } - } - scope:actor = { - # Worried about ongoing wars - if = { - limit = { - any_character_war = { - primary_defender = scope:actor - # Only care if attackers are really a threat - war_attacker_total_current_strength_value > war_defender_total_current_strength_halved_value - } - } - multiply = 2 - } - # Already at war - if = { - limit = { is_at_war_with = scope:recipient } - multiply = 0.5 - } - } - } - } - modifier = { # Potential faction claimant - exists = scope:recipient - scope:actor = { - any_targeting_faction = { - special_character ?= scope:recipient - faction_power >= faction_power_threshold - } - } - desc = NEGOTIATE_SETTLEMENT_CLAIMANT_REASON - add = { - value = 0 - every_targeting_faction = { - limit = { - special_character ?= scope:recipient - faction_power >= faction_power_threshold - } - add = 25 - } - } - } - modifier = { # Give claims to laamps - scope:target ?= { - any_claimant = { scope:recipient ?= this } - } - desc = NEGOTIATE_SETTLEMENT_CLAIM_REASON - add = { - value = 25 - if = { - limit = { - scope:target.tier = tier_county - } - subtract = scope:target.development_level - } - if = { - limit = { - scope:target.tier > tier_county - } - subtract = scope:target.title_capital_county.development_level - } - } - } - # Essentially the inverse of Purchase Land - modifier = { # Land is foreign - add = 10 - desc = NEGOTIATE_SETTLEMENT_FOREIGN_COUNTY_CULTURE_REASON - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = 10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - culture != scope:recipient.culture - } - add = 10 - } - } - } - max = 30 - } - desc = NEGOTIATE_SETTLEMENT_FOREIGN_CULTURE_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.culture != scope:actor.culture - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - culture != scope:actor.culture - } - } - } - } - modifier = { # Different faith - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = 10 - } - else = { - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:actor.faith - } - add = 10 - } - } - } - max = 30 - } - desc = NEGOTIATE_SETTLEMENT_DIFFERENT_FAITH_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.faith != scope:actor.faith - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:actor.faith - } - } - } - } - modifier = { # My culture's lands - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -15 - } - else = { - add = -15 - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:actor.faith - } - add = -15 - } - } - } - if = { - limit = { scope:acceptance != 0 } - divide = scope:acceptance - } - min = -50 - } - desc = NEGOTIATE_SETTLEMENT_MY_CULTURE_REASON - scope:actor.culture != scope:recipient.culture - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.culture = scope:actor.culture - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - culture = scope:actor.culture - } - } - } - scope:actor.culture = { - save_temporary_scope_value_as = { - name = acceptance - value = { - value = "cultural_acceptance(scope:recipient.culture)" - divide = 25 - ceiling = yes - } - } - } - } - modifier = { # My faith's lands - add = { - value = 0 - if = { - limit = { scope:target.tier = tier_county } - add = -15 - } - else = { - add = -15 - scope:target = { - every_de_jure_county = { - limit = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith != scope:actor.faith - } - add = -15 - } - } - } - if = { - limit = { scope:hostility != 0 } - multiply = scope:hostility - } - min = -50 - } - desc = NEGOTIATE_SETTLEMENT_MY_FAITH_REASON - scope:actor.faith != scope:recipient.faith - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target.faith = scope:actor.faith - } - trigger_else = { - scope:target = { - any_de_jure_county = { - ep3_negotiate_settlement_valid_county_trigger = yes - faith = scope:actor.faith - } - } - } - scope:actor.faith = { - save_temporary_scope_value_as = { - name = hostility - value = "faith_hostility_level(scope:recipient.faith)" - } - } - } - modifier = { # Too close - add = { - value = 0 - add = scope:distance - divide = scope:actor.highest_held_title_tier - if = { - limit = { scope:distance <= squared_distance_medium } - multiply = -0.01 - } - else = { multiply = 0.0005 } - min = -25 - max = 50 - } - desc = NEGOTIATE_LAND_DISTANCE_REASON - trigger_if = { - limit = { scope:target.tier = tier_county } - scope:target = { save_temporary_scope_as = distance_target } - } - trigger_else = { - scope:target.title_capital_county = { save_temporary_scope_as = distance_target } - } - scope:actor.capital_county = { - save_temporary_scope_value_as = { - name = distance - value = "squared_distance(scope:distance_target)" - } - } - } - } -} - -################## -# Trade Oath -# by Joe Parkin -################## - -trade_oath_interaction = { - icon = hook_icon - category = interaction_category_laamp - interface_priority = 10 - - desc = trade_oath_interaction_desc - - is_shown = { - scope:actor = { - domicile ?= { has_domicile_parameter = camp_unlock_trade_oath_interaction } - NOT = { has_strong_hook = scope:recipient } - } - scope:recipient = { - is_courtier_of = scope:actor - NOR = { - has_hook = scope:actor - is_close_family_of = scope:actor - is_spouse_of = scope:actor - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - is_busy_in_events_localised = yes - } - scope:actor = { - is_at_war = no - is_imprisoned = no - } - scope:recipient.location = scope:actor.location - } - - cost = { prestige = 250 } - - on_accept = { - show_as_tooltip = { - scope:actor = { - add_hook = { - type = loyalty_hook - target = scope:recipient - } - } - scope:recipient = { - add_hook = { - type = follower_oath_hook - target = scope:actor - } - } - } - scope:actor = { trigger_event = ep3_laamps.1011 } - } - - ai_accept = { - base = -75 - - opinion_modifier = { opinion_target = scope:actor } - - # Traits. - ## Loyal - modifier = { - add = 30 - has_trait = loyal - } - ## Disloyal - modifier = { - add = -30 - has_trait = disloyal - } - ## Arbitrary - modifier = { - add = -20 - has_trait = arbitrary - } - ## Just - modifier = { - add = 20 - has_trait = just - } - ## Fickle - modifier = { - add = -10 - has_trait = fickle - } - ## Stubborn - modifier = { - add = 20 - has_trait = stubborn - } - ## Deceitful - modifier = { - add = -5 - has_trait = deceitful - } - ## Honest - modifier = { - add = 5 - has_trait = honest - } - } - ai_potential = { - has_realm_law = camp_purpose_legitimists - } - # Always do it if you get the chance. - ai_will_do = { base = 1000 } - - ai_targets = { ai_recipients = courtiers } - ai_frequency = 12 - auto_accept = yes -} - -################## -# Pawn Gear -# by Joe Parkin -################## - -pawn_gear_interaction = { - icon = artisan_inspiration - category = interaction_category_laamp - interface_priority = 10 - common_interaction = yes - desc = pawn_gear_interaction_desc - - target_type = artifact - target_filter = actor_artifacts - - is_shown = { - scope:actor = { - domicile ?= { has_domicile_parameter = camp_unlocks_pawn_gear_interaction } - this = scope:recipient - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_at_war = no - is_imprisoned = no - has_any_artifact = yes - trigger_if = { - limit = { is_ai = no } - custom_description = { - text = "any_unequipped_artifact_tt" - any_character_artifact = { is_equipped = no } - } - } - } - } - - can_be_picked_artifact = { - trigger_if = { - limit = { - scope:actor = { is_ai = no } - } - scope:target = { is_equipped = no } - } - scope:actor = { - any_character_artifact = { this = scope:target } - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_good - title = pawn_gear_interaction_notification - left_icon = scope:actor - add_short_term_gold = artifact_wealth_quality_average_value - destroy_artifact = scope:target - } - } - } - - auto_accept = yes -} - -################## -# Complete the Contract -# by Arkadiusz Majewski -# Needed for the action_can_complete_task_contract and to be able to end contracts if you cancelled the initial travel planner -################## - -complete_task_contract_interaction = { - category = interaction_category_laamp - interface_priority = 120 - common_interaction = yes - icon = icon_contract_escort - use_diplomatic_range = no - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - any_character_active_contract = { - OR = { - ep3_transport_contract_trigger = yes - has_task_contract_type = laamp_help_increase_control_contract - } - OR = { - task_contract_employer ?= scope:recipient - task_contract_destination.province_owner ?= scope:recipient - task_contract_target ?= scope:recipient - var:task_contract_object ?= scope:recipient - } - } - } - } - - is_valid_showing_failures_only = { - } - - is_highlighted = { - always = yes - } - - send_option = { - flag = without_domicile - } - - send_option = { - flag = with_domicile - } - - on_accept = { - scope:actor = { - random_character_active_contract = { - limit = { - OR = { - ep3_transport_contract_trigger = yes - has_task_contract_type = laamp_help_increase_control_contract - } - #check for any contract that has the recipient as any relevant character to it (employer, target, target destination owner, escortee) - OR = { - task_contract_employer ?= scope:recipient - task_contract_destination.province_owner ?= scope:recipient - task_contract_target ?= scope:recipient - var:task_contract_object ?= scope:recipient - } - } - save_scope_as = task_contract - } - #set all the scopes - if = { - limit = { - exists = scope:task_contract.var:task_contract_employer - } - scope:task_contract.var:task_contract_employer ?= { - save_scope_as = task_contract_employer - } - } - if = { - limit = { - scope:task_contract = { - has_task_contract_type = laamp_help_increase_control_contract - } - } - scope:task_contract.var:task_contract_councillor_liege ?= { - save_scope_as = task_contract_councillor_liege - } - } - if = { - limit = { - exists = scope:task_contract.var:task_contract_destination - } - scope:task_contract.var:task_contract_destination = { - save_scope_as = task_contract_destination - } - } - if = { - limit = { - exists = scope:task_contract.var:task_contract_target - } - scope:task_contract.var:task_contract_target ?= { - save_scope_as = task_contract_target - } - } - if = { - limit = { - exists = scope:task_contract.var:task_contract_object - } - scope:task_contract.var:task_contract_object = { - save_scope_as = task_contract_object - } - } - if = { - limit = { - exists = scope:task_contract.var:escorted_artifact - } - scope:task_contract.var:escorted_artifact = { - save_scope_as = escorted_artifact - } - } - if = { - limit = { - exists = scope:task_contract.var:escorted_gold - } - scope:task_contract.var:escorted_gold = { - save_scope_as = escorted_gold - } - } - if = { - limit = { - exists = scope:task_contract.var:escorted_story - } - scope:task_contract.var:escorted_story = { - save_scope_as = escorted_story - } - } - #show a nice tooltip with which contract, who you are taking and where are you going info - scope:task_contract = { - switch = { - trigger = has_task_contract_type - laamp_transport_vip = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_vip } - } - laamp_transport_ward = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_ward } - } - laamp_transport_explorer = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_explorer } - } - laamp_transport_artifact = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_artifact } - } - laamp_transport_gold = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_gold } - } - laamp_transport_animal = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_animal } - } - laamp_construction_contract = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_construction } - } - laamp_help_increase_control_contract = { - scope:actor = { custom_tooltip = ep3_contract_event.0001.tt_increase_control } - } - } - } - #trigger the travel planner - switch = { - trigger = yes - scope:with_domicile = { - start_travel_plan = { - destination = scope:task_contract_destination - travel_with_domicile = yes - on_arrival_destinations = all - } - custom_tooltip = ep3_contract_event.0001.with_domicile.tt - } - scope:without_domicile = { - start_travel_plan = { - destination = scope:task_contract_destination - on_arrival_destinations = all - } - } - } - } - } - - auto_accept = yes -} - -################## -# Make a Request -# by Arkadiusz Majewski -# As a LAAMP you can ask characters on your contact list for something -################## - -contact_list_request_interaction = { # make a request, make_a_request - category = interaction_category_laamp - interface_priority = 110 - icon = icon_scheme_befriend - desc = contact_list_request_interaction_desc - common_interaction = yes - - popup_on_receive = yes - pause_on_receive = yes - - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - cooldown_against_recipient = { months = 8 } - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { government_has_flag = government_is_landless_adventurer } - scope:actor != scope:recipient - } - is_valid_showing_failures_only = { - scope:recipient = { - is_adult = yes - is_imprisoned = no - NOR = { - is_at_war_with = scope:actor - has_relation_rival = scope:actor - has_relation_nemesis = scope:actor - has_opinion_modifier = { - target = scope:actor - modifier = released_from_prison - } - has_opinion_modifier = { - target = scope:actor - modifier = eviction_ignored_opinion - } - existing_feud_against_target_trigger = { TARGET = scope:actor } - } - } - scope:actor = { - NOT = { has_truce = scope:recipient } - } - scope:recipient = { - trigger_if = { - limit = { - NOR = { - is_contact_of = scope:actor - is_close_or_extended_family_of = scope:actor - is_consort_of = scope:actor - AND = { - OR = { - capital_province ?= scope:actor.domicile.domicile_location - any_held_title = { - tier = tier_county - any_county_province = { - this = scope:actor.domicile.domicile_location - } - } - } - scope:actor = { has_perk = embassies_perk } - } - } - } - is_contact_of = scope:actor - } - } - scope:recipient = { - custom_tooltip = { - text = RULER_DESIGNER_ACHIEVEMENTS_NOT_AVAILABLE - OR = { - is_landed = yes - gold > 20 - AND = { - is_landed_or_landless_administrative = yes - scope:actor.maa_regiments_count < scope:actor.maa_regiments_max_count - } - AND = { - #Recipient can marry the actor - can_marry_character_trigger = { CHARACTER = scope:actor } - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - } - } - } - } - is_highlighted = { - scope:actor = { - is_character_interaction_potentially_accepted = { - recipient = scope:recipient - interaction = contact_list_request_interaction - } - } - } - can_send = { - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - #request provisions - send_option = { - flag = request_provisions - is_valid = { - scope:recipient = { - is_landed = yes - } - } - } - #request gold - send_option = { - flag = request_gold - is_valid = { - custom_tooltip = { - scope:recipient.gold > 20 - text = contact_list_request_interaction.request_gold_recipient_not_enough_gold - } - } - } - #request men-at-arms regiment - send_option = { - flag = request_maa - is_valid = { - scope:recipient = { - is_landed_or_landless_administrative = yes - } - custom_tooltip = { - scope:actor.maa_regiments_count < scope:actor.maa_regiments_max_count - text = contact_list_request_interaction.request_maa_actor_too_many_regiments - } - } - } - #request a knight - send_option = { - flag = request_knights - is_shown = { - scope:recipient = { is_ai = yes } - } - is_valid = { - custom_tooltip = { - scope:recipient = { - any_knight = { - is_landed = no - count > 1 - } - } - text = contact_list_request_interaction.request_knights_recipient_not_enough_knights - } - } - } - #request to arrange a marriage - send_option = { - flag = request_marriage - is_valid = { - #There is an available marriage, copied from 00_marriage_interactions is_valid_showing_failures_only - custom_description = { - text = "basic_can_marry_check_recipient" - subject = scope:actor - object = scope:recipient - scope:recipient = { - OR = { - AND = { - #Recipient can marry the actor - can_marry_character_trigger = { CHARACTER = scope:actor } - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - can_marry_character_trigger = { CHARACTER = scope:actor } - } - } - AND = { - is_ruler = yes #(Following are only for rulers) - OR = { - any_child = { - matchmaker = scope:actor - OR = { - #Any of recipient's children can marry - AND = { - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - } - } - #Any of recipient's children are ready to marry their betrothed - AND = { - ready_to_marry_betrothed_trigger = yes - betrothed.matchmaker = scope:actor - } - } - } - any_courtier = { - OR = { - #Any of recipient's courtiers can marry - AND = { - can_marry_trigger = yes - #To account for a person marrying their concubines - trigger_if = { - limit = { - is_concubine = yes - } - is_concubine_of = scope:actor - } - } - #Any of recipient's courtiers are ready to marry their betrothed - AND = { - ready_to_marry_betrothed_trigger = yes - betrothed.matchmaker = scope:actor - } - } - } - } - } - } - } - } - } - } - #request new contract - send_option = { - flag = request_contract - is_shown = { - scope:recipient = { is_ai = yes } - } - is_valid = { - custom_tooltip = { - text = contact_list_request_interaction.create_contracts.already_has_contract - scope:actor = { - any_character_task_contract = { - count = all - task_contract_employer != scope:recipient - } - is_ai = no - } - } - custom_description = { - text = contact_list_request_interaction_create_contracts - object = scope:recipient - scope:actor = { - OR = { - can_create_task_contract = { - type_name = laamp_raid_contract - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_join_war_contract - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_steal_artifact_contract - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_construction_contract - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_treasure_hunting_contract - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_vip - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_artifact - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_gold - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_ward - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_explorer - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_transport_animal - employer = scope:recipient - } - can_create_task_contract = { - type_name = laamp_join_faction_contract - employer = scope:recipient - } - } - } - } - } - } - #request feast - send_option = { - flag = request_feast - is_shown = { - scope:actor = { - has_perk = inspiring_rule_perk - } - scope:recipient = { - is_landed_or_landless_administrative = yes - capital_province ?= { - squared_distance = { - target = scope:actor.capital_province - value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION - } - } - } - scope:recipient = { is_ai = yes } - } - is_valid = { - scope:recipient = { - highest_held_title_tier > tier_barony - is_at_war = no - is_available_adult = yes - } - scope:actor = { - custom_tooltip = { - text = ACTIVITY_SUMMARY_COOLDOWN_HEADER - NOT = { has_character_flag = laamp_recently_requested_feast } - } - } - } - } - #request tournament - send_option = { - flag = request_tournament - is_shown = { - has_ep2_dlc_trigger = yes - scope:actor = { - has_perk = stalwart_leader_perk - } - scope:recipient = { - is_landed = yes - ai_has_conqueror_personality = no - capital_province ?= { - squared_distance = { - target = scope:actor.capital_province - value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION - } - } - } - scope:recipient = { is_ai = yes } - } - is_valid = { - scope:recipient = { - highest_held_title_tier > tier_barony - is_at_war = no - is_available_adult = yes - } - scope:actor = { - custom_tooltip = { - text = contact_list_request_interaction.request_tournament_cooldown - NOT = { has_character_flag = laamp_recently_requested_tourney } - } - } - } - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - cost = { - prestige = { - add = 100 - # Upgrade for tier. - multiply = { - value = scope:recipient.highest_held_title_tier - # Discount barons. - add = -1 - } - # Upgrade for the more egregious requests. - ## Marriage. - if = { - limit = { scope:request_marriage = yes } - multiply = 1.5 - } - ## Activities. - ### Tournament. - if = { - limit = { scope:request_tournament = yes } - multiply = 2 - } - ### Feast. - if = { - limit = { scope:request_feast = yes } - multiply = 1.25 - } - min = 100 - } - } - - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:request_tournament ?= { - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion_special - target = scope:actor - opinion = -50 - } - custom_tooltip = contact_list_request_interaction.request_tournament - } - hidden_effect = { - scope:recipient = { - add_character_flag = { - flag = tournament_ai_override - } - ai_attempt_to_host_activity = activity_tournament - } - scope:actor = { - add_character_flag = { - flag = laamp_recently_requested_tourney - days = 3650 - } - } - } - } - scope:request_feast ?= { - scope:actor = { custom_tooltip = contact_list_request_interaction.request_feast_honor } - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -30 - } - custom_tooltip = contact_list_request_interaction.request_feast - } - hidden_effect = { - scope:recipient = { - add_character_flag = { - flag = feast_ai_override - } - ai_attempt_to_host_activity = activity_feast - } - scope:actor = { - add_character_flag = { - flag = laamp_recently_requested_feast - days = 1875 - } - } - } - } - scope:request_provisions ?= { - save_scope_value_as = { - name = provisions_to_add_value - value = { - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_empire } - add = monumental_provisions_gain - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_kingdom } - add = massive_provisions_gain - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_duchy } - add = major_provisions_gain - } - else_if = { - limit = { scope:recipient.highest_held_title_tier >= tier_county } - add = medium_provisions_gain - } - else = { add = minor_provisions_gain } - } - } - if = { - limit = { - scope:actor.domicile.max_provisions < { - value = { - value = scope:provisions_to_add_value - add = scope:actor.domicile.provisions - } - } - } - save_scope_value_as = { - name = gained_provisions_value - value = { - value = scope:actor.domicile.max_provisions - subtract = scope:actor.domicile.provisions - } - } - save_scope_value_as = { - name = provisions_overflow_value - value = { - value = scope:provisions_to_add_value - subtract = scope:gained_provisions_value - } - } - save_scope_value_as = { - name = provisions_transformed_to_gold_value - value = { - value = scope:provisions_overflow_value - multiply = 0.05 - } - } - } - else = { - save_scope_value_as = { - name = gained_provisions_value - value = scope:provisions_to_add_value - } - } - send_interface_toast = { - type = event_toast_effect_good - title = contact_list_request_interaction.request_provisions_tt - left_icon = scope:actor - right_icon = scope:recipient - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion_special - target = scope:actor - opinion = -20 - } - if = { - limit = { - exists = capital_county - } - hidden_effect = { - capital_county = { - add_county_modifier = { - modifier = ep3_gave_out_provisions - years = 3 - } - #save it for loc in custom tooltip - save_scope_as = capital_county - } - } - custom_tooltip = contact_list_request_interaction.capital_county_modifier - } - } - scope:actor = { - custom_tooltip = contact_list_request_interaction.gained_provisions_value - hidden_effect = { - domicile = { - change_provisions = scope:gained_provisions_value - } - } - if = { - limit = { - exists = scope:provisions_transformed_to_gold_value - } - custom_tooltip = { - text = overflowing_provisions_to_gold.tt - add_gold = scope:provisions_transformed_to_gold_value - } - } - } - } - } - scope:request_gold ?= { - save_scope_value_as = { - name = requested_gold_value - value = { - value = scope:recipient.gold - divide = 4 - multiply = { - value = scope:recipient.ai_greed - divide = -300 - add = 1 - } - if = { - limit = { - scope:recipient = { - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - } - } - multiply = 1.5 - } - else_if = { - limit = { - scope:recipient = { - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:actor } - } - } - multiply = 1.25 - } - max = { - scope:recipient.culture = { - if = { - limit = { - has_cultural_era_or_later = culture_era_late_medieval - } - value = 250 - } - else_if = { - limit = { - has_cultural_era_or_later = culture_era_high_medieval - } - value = 200 - } - else_if = { - limit = { - has_cultural_era_or_later = culture_era_early_medieval - } - value = 150 - } - else_if = { - limit = { - has_cultural_era_or_later = culture_era_tribal - } - value = 100 - } - else = { - value = 50 - } - } - } - floor = yes - min = 5 - } - } - send_interface_toast = { - type = event_toast_effect_good - title = contact_list_request_interaction.request_gold_tt - left_icon = scope:actor - right_icon = scope:recipient - scope:actor = { - show_as_tooltip = { - add_gold = scope:requested_gold_value - } - } - scope:recipient = { - pay_short_term_gold = { - target = scope:actor - gold = scope:requested_gold_value - } - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -40 - } - } - } - } - scope:request_maa ?= { - custom_tooltip = contact_list_request_interaction.request_maa - hidden_effect = { - ep3_pick_random_maa_regiment_effect = { - OWNER = scope:recipient - INCLUDE_BASIC_MAA = no - INCLUDE_SIEGE_MAA = no - } - send_interface_toast = { - type = event_toast_effect_good - title = contact_list_request_interaction.request_maa_tt - left_icon = scope:actor - right_icon = scope:recipient - ep3_create_random_maa_regiment_effect = { - OWNER = scope:actor - SIZE = 1 - } - } - } - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -40 - } - } - } - scope:request_knights ?= { - scope:actor = { - custom_tooltip = contact_list_request_interaction.request_knights - trigger_event = ep3_interactions_events.0101 - } - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -30 - } - } - } - scope:request_marriage ?= { - scope:actor = { - custom_tooltip = contact_list_request_interaction.request_marriage - custom_tooltip = contact_list_request_interaction.request_marriage.marriagable_women - custom_tooltip = contact_list_request_interaction.request_marriage.marriagable_men - custom_tooltip = contact_list_request_interaction.request_marriage.warning - if = { - limit = { is_ai = no } - open_interaction_window = { - interaction = arrange_marriage_interaction - actor = scope:actor - recipient = scope:recipient - } - } - add_to_variable_list = { - name = contact_list_marriage - target = scope:recipient - } - } - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -50 - } - } - } - scope:request_contract ?= { - scope:actor = { - custom_tooltip = contact_list_request_interaction.request_contract - hidden_effect = { - random_list = { - #laamp_raid_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_raid_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_mercenaries - } - create_task_contract = { - task_contract_type = laamp_raid_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_raid_contract - value = yes - } - } - #laamp_join_war_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_join_war_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_mercenaries - } - create_task_contract = { - task_contract_type = laamp_join_war_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_join_war_contract - value = yes - } - } - #laamp_steal_artifact_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_steal_artifact_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_brigands - } - create_task_contract = { - task_contract_type = laamp_steal_artifact_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_steal_artifact_contract - value = yes - } - } - #laamp_construction_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_construction_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_scholars - } - create_task_contract = { - task_contract_type = laamp_construction_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_construction_contract - value = yes - } - } - #laamp_treasure_hunting_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_treasure_hunting_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - OR = { - has_realm_law = camp_purpose_brigands - has_realm_law = camp_purpose_explorers - } - } - create_task_contract = { - task_contract_type = laamp_treasure_hunting_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_treasure_hunting_contract - value = yes - } - } - #laamp_transport_vip - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_vip - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_explorers - } - create_task_contract = { - task_contract_type = laamp_transport_vip - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_vip - value = yes - } - } - #laamp_transport_artifact - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_artifact - employer = scope:recipient - } - } - modifier = { - add = 10 - OR = { - has_realm_law = camp_purpose_brigands - has_realm_law = camp_purpose_explorers - } - } - create_task_contract = { - task_contract_type = laamp_transport_artifact - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_artifact - value = yes - } - } - #laamp_transport_gold - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_gold - employer = scope:recipient - } - } - modifier = { - add = 10 - OR = { - has_realm_law = camp_purpose_brigands - has_realm_law = camp_purpose_explorers - } - } - create_task_contract = { - task_contract_type = laamp_transport_gold - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_gold - value = yes - } - } - #laamp_transport_ward - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_ward - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_explorers - } - create_task_contract = { - task_contract_type = laamp_transport_ward - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_ward - value = yes - } - } - #laamp_transport_explorer - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_explorer - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_explorers - } - create_task_contract = { - task_contract_type = laamp_transport_explorer - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_explorer - value = yes - } - } - #laamp_transport_animal - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_transport_animal - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_explorers - } - create_task_contract = { - task_contract_type = laamp_transport_animal - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_transport_animal - value = yes - } - } - #laamp_join_faction_contract - 1 = { - trigger = { - can_create_task_contract = { - type_name = laamp_join_faction_contract - employer = scope:recipient - } - } - modifier = { - add = 10 - has_realm_law = camp_purpose_mercenaries - } - create_task_contract = { - task_contract_type = laamp_join_faction_contract - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - save_scope_as = new_contract - } - save_scope_value_as = { - name = create_laamp_join_faction_contract - value = yes - } - } - } - scope:new_contract = { - open_view_data = { - view = task_contract - player = scope:actor - } - } - } - } - scope:recipient = { - add_opinion = { - modifier = laamp_used_contact_opinion - target = scope:actor - opinion = -5 - } - show_as_tooltip = { - custom_description_no_bullet = { text = contact_list_request_interaction_possible_outcomes } - if = { - limit = { - scope:create_laamp_raid_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_raid_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_join_war_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_join_war_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_construction_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_construction_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_steal_artifact_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_steal_artifact_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_treasure_hunting_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_treasure_hunting_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_vip ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_vip - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_artifact ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_artifact - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_gold ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_gold - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_ward ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_ward - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_explorer ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_explorer - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_transport_animal ?= yes - } - create_task_contract = { - task_contract_type = laamp_transport_animal - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - if = { - limit = { - scope:create_laamp_join_faction_contract ?= yes - } - create_task_contract = { - task_contract_type = laamp_join_faction_contract - location = scope:recipient.location - task_contract_employer = scope:recipient - task_contract_tier = scope:recipient.task_contract_tier_value - } - } - } - } - } - } - if = { - limit = { - has_usable_hook = scope:recipient - scope:recipient = { is_ai = yes } - } - use_hook = scope:recipient - custom_tooltip = contact_list_request_interaction.tt.hook_auto_used - } - } - scope:recipient = { - add_prestige = { - value = scope:actor.prestige_level - multiply = 100 - } - } - } - - can_send_despite_rejection = no - ai_frequency = 3 - ai_targets = { ai_recipients = contacts } - ai_targets = { ai_recipients = hooked_characters } - auto_accept = { - scope:actor = { has_usable_hook = scope:recipient } - scope:recipient = { is_ai = yes } - } - ai_potential = { government_has_flag = government_is_landless_adventurer } - ai_accept = { - base = 0 - - modifier = { - add = -50 - scope:recipient = { - NOR = { - is_contact_of = scope:actor - is_close_or_extended_family_of = scope:actor - is_consort_of = scope:actor - } - } - desc = contact_list_request_interaction.no_contact - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - - modifier = { - add = -50 - scope:recipient = { - has_opinion_modifier = { - modifier = laamp_used_contact_opinion - target = scope:actor - } - } - desc = contact_list_request_interaction.repeated_request - } - - ai_value_modifier = { - ai_compassion = -0.5 - ai_greed = -0.5 - min = -50 - max = 50 - } - - modifier = { - add = 30 - desc = contact_list_request_interaction.request_gold.contract - scope:request_contract ?= yes - } - - modifier = { - add = -30 - desc = contact_list_request_interaction.request_gold.poor_recipient - scope:request_gold ?= yes - scope:recipient = { - gold < major_gold_value - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.request_gold.stewardship - OR = { - scope:request_provisions ?= yes - scope:request_gold ?= yes - } - scope:recipient = { - has_trait = education_stewardship - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.request_gold.martial - OR = { - scope:request_maa ?= yes - scope:request_knights ?= yes - } - scope:recipient = { - has_trait = education_martial - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.request.defensive_negotiations_perk - OR = { - scope:request_maa ?= yes - scope:request_knights ?= yes - } - scope:actor = { - has_perk = defensive_negotiations_perk - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.relevant_focus - scope:request_marriage ?= yes - scope:recipient = { - OR = { - has_focus = diplomacy_family_focus - has_focus = intrigue_temptation_focus - has_focus = martial_chivalry_focus - } - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.relevant_focus - OR = { - scope:request_maa ?= yes - scope:request_knights ?= yes - } - scope:recipient = { - OR = { - has_focus = martial_strategy_focus - has_focus = martial_chivalry_focus - has_focus = martial_authority_focus - } - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.request_knights.plenty - scope:request_knights ?= yes - scope:recipient = { - number_of_knights > 6 - } - } - - modifier = { - add = -25 - desc = contact_list_request_interaction.request_knights.little - scope:request_knights ?= yes - scope:recipient = { - number_of_knights <= 6 - } - } - - modifier = { - add = -25 - desc = contact_list_request_interaction.powerful - scope:request_maa ?= yes - scope:actor = { - max_military_strength >= 400 - max_military_strength < 800 - } - } - - modifier = { - add = -50 - desc = contact_list_request_interaction.very_powerful - scope:request_maa ?= yes - scope:actor.max_military_strength >= 800 - } - - modifier = { - add = -30 - desc = contact_list_request_interaction.stronger_than_me - scope:request_maa ?= yes - scope:actor.max_military_strength > scope:recipient.max_military_strength - } - - modifier = { - add = -25 - desc = contact_list_request_interaction.traveler - scope:request_provisions ?= yes - scope:recipient = { - has_trait = lifestyle_traveler - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.adventurer - scope:recipient = { - has_trait = adventurer - } - } - - modifier = { - add = 25 - desc = contact_list_request_interaction.adventurer_follower - scope:recipient = { - has_trait = adventurer_follower - } - } - - modifier = { - add = 20 - desc = contact_list_request_interaction.flexible_truces_perk - scope:actor = { - has_perk = flexible_truces_perk - } - } - - # Your level of prestige. - ## Impotent - modifier = { - add = -10 - desc = AI_OPINION_PRESTIGE_LEVEL_DISGRACED - scope:actor.prestige_level = 0 - } - ## Influential - ### Would be zero, so it wouldn't appear. - ## Persuasive - modifier = { - add = 5 - desc = AI_OPINION_PRESTIGE_LEVEL_DISTINGUISHED - scope:actor.prestige_level = 2 - scope:actor = { - NOT = { - has_perk = true_ruler_perk - } - } - } - ## Controlling - modifier = { - add = 10 - desc = AI_OPINION_PRESTIGE_LEVEL_ILLUSTRIOUS - scope:actor.prestige_level = 3 - scope:actor = { - NOT = { - has_perk = true_ruler_perk - } - } - } - ## Authoritative - modifier = { - add = 20 - desc = AI_OPINION_PRESTIGE_LEVEL_EXALTED - scope:actor.prestige_level = 4 - scope:actor = { - NOT = { - has_perk = true_ruler_perk - } - } - } - ## Imperious - modifier = { - add = 30 - desc = AI_OPINION_PRESTIGE_LEVEL_LEGENDARY - scope:actor.prestige_level = 5 - scope:actor = { - NOT = { - has_perk = true_ruler_perk - } - } - } - - ## Persuasive - modifier = { - add = 6 - desc = AI_OPINION_PRESTIGE_LEVEL_DISTINGUISHED - scope:actor.prestige_level = 2 - scope:actor = { has_perk = true_ruler_perk } - } - ## Controlling - modifier = { - add = 12 - desc = AI_OPINION_PRESTIGE_LEVEL_ILLUSTRIOUS - scope:actor.prestige_level = 3 - scope:actor = { has_perk = true_ruler_perk } - } - ## Authoritative - modifier = { - add = 24 - desc = AI_OPINION_PRESTIGE_LEVEL_EXALTED - scope:actor.prestige_level = 4 - scope:actor = { has_perk = true_ruler_perk } - } - ## Imperious - modifier = { - add = 36 - desc = AI_OPINION_PRESTIGE_LEVEL_LEGENDARY - scope:actor.prestige_level = 5 - scope:actor = { has_perk = true_ruler_perk } - } - } - - ai_will_do = { - base = 50 - - # Set up the AI so that they actually know how to use the send_options. - ## Troops, if they don't have gold. - modifier = { - add = 50 - scope:recipient.gold < 50 - scope:request_maa = yes - } - ## Gold is always good. - modifier = { - add = 50 - scope:recipient.gold >= 30 - scope:request_gold = yes - } - ## Feasts are especially attractive for some adventurers. - modifier = { - add = 50 - scope:request_feast = yes - OR = { - prestige <= 500 - has_trait = arrogant - has_trait = gluttonous - has_trait = gregarious - has_trait = drunkard - } - } - ## Provisions are fine, but nothing special for the AI. - modifier = { - add = 5 - scope:request_provisions = yes - scope:actor.domicile.provisions < scope:actor.domicile.max_provisions - } - ## Don't go crazy with tournaments - modifier = { - factor = 0 - scope:request_tournament = yes - } - modifier = { - factor = 0 - NOR = { - scope:request_provisions = yes - scope:request_gold = yes - scope:request_maa = yes - scope:request_knights = yes - scope:request_marriage = yes - scope:request_contract = yes - scope:request_feast = yes - scope:request_tournament = yes - } - } - } -} - -################## -# Seize Realm Scheme -# by Joe Parkin -################## - -seize_realm_interaction = { - icon = icon_scheme_seizure - category = interaction_category_laamp - interface_priority = 10 - - ignores_pending_interaction_block = yes - - scheme = seize_realm - - send_name = START_SCHEME - - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { government_has_flag = government_is_landless_adventurer } - scope:recipient = { - is_landed = yes - highest_held_title_tier >= tier_county - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = seize_realm - target_character = scope:recipient - } - } - NOT = { - scope:recipient = { has_strong_hook = scope:actor } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = seize_realm - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_seize_realm_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = seize_realm_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = seize_realm_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = seize_realm_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = seize_realm_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - stress_impact = { - compassionate = major_stress_impact_gain - honest = medium_stress_impact_gain - just = medium_stress_impact_gain - } - } - scope:actor = { - send_interface_toast = { - title = start_seize_realm_interaction_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = seize_realm - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_muscle - AGENT_2 = agent_muscle - AGENT_3 = agent_diplomat - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = seize_realm - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_footpad - AGENT_3 = agent_planner - # Success. - AGENT_4 = agent_muscle - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = seize_realm - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_decoy - AGENT_3 = agent_decoy - # Success. - AGENT_4 = agent_muscle - # Speed. - AGENT_5 = agent_infiltrator - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = seize_realm - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_muscle - AGENT_2 = agent_muscle - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_planner - # Secrecy. - AGENT_5 = agent_lookout - } - } - - show_as_tooltip = { - stress_impact = { - honest = medium_stress_impact_gain - just = medium_stress_impact_gain - } - } - } - } - custom_tooltip = seize_realm_warning - } - - auto_accept = yes -} - -################## -# Reinforce Soldiers -# by Joe Parkin -################## - -reinforce_soldiers_interaction = { - icon = owner_in_debt - category = interaction_category_laamp - interface_priority = 10 - common_interaction = yes - desc = reinforce_soldiers_interaction_desc - cooldown = { months = 6 } - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - government_allows = conditional_maa_refill - NOT = { government_has_flag = government_is_nomadic } - } - scope:recipient = scope:actor - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = reinforce_soldiers_any_regiment_tt - scope:actor.maa_regiments_count >= 1 - } - custom_tooltip = { - text = reinforce_soldiers_unfull_regiment_tt - scope:actor = { - any_maa_regiment = { maa_regiments_valid_for_cheap_reinforcement_trigger = yes } - } - } - custom_tooltip = { - text = SUPPLY_LOSS_AT_SEA - scope:actor = { any_laamp_portion_at_sea_trigger = no } - } - } - - send_options_exclusive = yes - - send_option = { - flag = skill - localization = reinforce_soldiers_option_skill - current_description = reinforce_soldiers_option_skill_desc - } - - send_option = { - flag = prestige - localization = reinforce_soldiers_option_prestige - current_description = reinforce_soldiers_option_prestige_desc - } - - send_option = { - flag = piety - localization = reinforce_soldiers_option_piety - current_description = reinforce_soldiers_option_piety_desc - is_valid = { - custom_tooltip = { - text = reinforce_soldiers_option_piety_tt - scope:actor.domicile.domicile_location.county ?= { - OR = { - holder ?= { government_has_flag = government_is_theocracy } - any_county_province = { - barony = { - is_under_holy_order_lease = yes - lessee.faith = scope:actor.faith - } - } - } - } - } - } - } - - send_option = { - flag = dread - localization = reinforce_soldiers_option_dread - current_description = reinforce_soldiers_option_dread_desc - is_valid = { - custom_tooltip = { - text = reinforce_soldiers_option_dread_tt - OR = { - scope:actor.dread >= reinforce_soldiers_dread_cost_value - scope:actor = { - has_character_modifier = ep3_friend_to_old_soldiers_modifier - } - } - } - } - } - - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:prestige = { - if = { - limit = { - is_ai = no - } - add_prestige = { - value = { - value = -75 - if = { - limit = { - scope:actor.domicile.domicile_location.county.holder ?= { government_has_flag = government_is_tribal } - } - add = 25 - } - multiply = reinforce_soldiers_reinforcable_regiments_value - } - } - } - reinforce_soldiers_regiment_effect = yes - } - scope:piety = { - add_piety = { - value = { - value = minor_piety_loss - multiply = reinforce_soldiers_reinforcable_regiments_value - } - } - reinforce_soldiers_regiment_effect = yes - } - scope:skill = { - duel = { - skills = { diplomacy prowess } - value = high_skill_rating - 10 = { - compare_modifier = { - value = scope:duel_value - multiplier = 3.5 - min = 2 - } - desc = reinforce_soldiers_skill_success - send_interface_toast = { - type = event_toast_effect_good - title = reinforce_soldiers_skill_success - reinforce_soldiers_regiment_effect = yes - } - } - 10 = { - compare_modifier = { - value = scope:duel_value - multiplier = -3.5 - min = 2 - } - desc = reinforce_soldiers_skill_failure - send_interface_toast = { - type = event_toast_effect_bad - title = reinforce_soldiers_skill_failure - if = { - limit = { - is_ai = no - } - add_prestige = -100 - } - } - } - } - } - scope:dread = { - random_list = { - 1 = { - modifier = { - add = { - value = scope:actor.dread - multiply = 2 - } - } - desc = reinforce_soldiers_skill_success - send_interface_toast = { - type = event_toast_effect_good - title = reinforce_soldiers_skill_success - reinforce_soldiers_regiment_effect = yes - } - } - 100 = { - min = 25 - modifier = { - add = { - value = 0 - subtract = scope:actor.dread - } - } - desc = reinforce_soldiers_skill_failure - send_interface_toast = { - type = event_toast_effect_bad - title = reinforce_soldiers_skill_failure - if = { - limit = { - is_ai = no - } - add_prestige = minor_prestige_loss - } - } - } - } - add_dread = { - value = reinforce_soldiers_dread_cost_value - multiply = -1 - } - } - } - } - } - - ai_frequency = 6 - ai_targets = { - ai_recipients = self - } - ai_potential = { - government_allows = conditional_maa_refill - any_maa_regiment = { maa_current_troops_count < maa_max_troops_count } - } - - ai_will_do = { - base = 100 - - modifier = { - scope:dread = yes - add = 5 - } - - modifier = { - scope:prestige = yes - add = 3 - } - - modifier = { - scope:piety = yes - add = 2 - } - - modifier = { - scope:skill = yes - add = 1 - } - } -} - -################## -# Hire LAAMP as mercenaries -# by Arkadiusz Majewski -# As a landed ruler hire a LAAMP to join your war -################## - -hire_laamp_mercenaries_interaction = { - category = interaction_category_diplomacy - icon = alliance - desc = hire_laamp_mercenaries_interaction_desc - - greeting = positive - notification_text = hire_laamp_mercenaries_interaction_notification - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - cooldown_against_recipient = { years = 3 } - can_send_despite_rejection = yes - ai_accept_negotiation = yes - send_options_exclusive = no - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor != scope:recipient - scope:actor = { - trigger_if = { # Avoid calling Adventurers without armies - limit = { - is_ai = yes - } - scope:recipient.current_military_strength >= 100 - } - } - scope:recipient = { - is_landless_adventurer = yes - } - } - is_valid_showing_failures_only = { - scope:recipient = { - is_busy_in_events_localised = yes - is_travelling = no - is_at_war = no - is_imprisoned = no - } - scope:actor = { - custom_tooltip = { - text = MERCENARY_COMPANY_COST_BANKRUPTCY - debt_level <= 1 - } - is_at_war = yes - custom_tooltip = { - text = I_MUST_BE_THE_WAR_LEADER - any_character_war = { - is_war_leader = scope:actor - } - } - NOT = { - is_at_war_with = scope:recipient - } - } - scope:actor = { - NOT = { - any_war_ally = { - count >= 3 - is_landless_adventurer = yes - } - } - } - scope:actor = { - OR = { - is_ai = no - any_character_war = { - count = all - OR = { - AND = { - primary_attacker = scope:actor - defender_war_score <= 95 - } - AND = { - primary_defender = scope:actor - attacker_war_score <= 95 - } - } - } - } - } - # Adventurers can't join wars in places they're exiled from. - trigger_if = { - limit = { - scope:actor = { is_independent_ruler = no } - } - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:actor.capital_province - LAAMP = scope:recipient - } - } - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - scope:actor = { has_strong_hook = scope:recipient } - } - } - - on_accept = { - scope:actor = { - every_character_war = { - add_to_list = actor_wars - } - } - every_in_list = { - list = actor_wars - limit = { - primary_defender = scope:actor - } - add_to_list = join_as_defender - remove_from_list = actor_wars - } - every_in_list = { - list = actor_wars - limit = { - primary_attacker = scope:actor - } - add_to_list = join_as_attacker - remove_from_list = actor_wars - } - - every_in_list = { - list = join_as_attacker - add_attacker = scope:recipient - } - every_in_list = { - list = join_as_defender - add_defender = scope:recipient - } - #list all wars that scope:recipient can't join - every_in_list = { - list = actor_wars - custom = hire_laamp_mercenaries_interaction.not_primary_side - # I swear it was the only way to make the tooltip look nice - every_in_list = { - list = actor_wars - save_temporary_scope_as = war - custom_tooltip = hire_laamp_mercenaries_interaction.war - } - } - scope:actor = { - pay_short_term_gold = { - target = scope:recipient - gold = ep3_hire_laamp_mercs_cost_value - } - add_to_variable_list = { - name = hired_mercenaries - target = scope:recipient - } - custom_tooltip = hire_laamp_mercenaries_interaction.contribution_pay - } - scope:recipient = { - add_character_flag = joined_as_mercenary - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_gain - DESC = clan_unity_alliance.desc - REVERSE_NON_HOUSE_TARGET = no - } - debug_log = "Landed ruler hired a LAAMP to join wars" - debug_log_scopes = yes - #for debug purposes: - #if = { - # limit = { NOT = { exists = global_var:hire_laamp_as_mercs_accepted } } - # set_global_variable = { - # name = hire_laamp_as_mercs_accepted - # value = 0 - # } - #} - #else = { - # change_global_variable = { - # name = hire_laamp_as_mercs_accepted - # add = 1 - # } - #} - } - - on_decline = { - scope:recipient = { - trigger_event = ep3_interactions_events.0111 - custom_tooltip = hire_laamp_mercenaries_interaction.negotiation_offer - } - #for debug purposes: - #if = { - # limit = { NOT = { exists = global_var:hire_laamp_as_mercs_rejected } } - # set_global_variable = { - # name = hire_laamp_as_mercs_rejected - # value = 0 - # } - #} - #else = { - # change_global_variable = { - # name = hire_laamp_as_mercs_rejected - # add = 1 - # } - #} - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_alliance_refusal.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - - # Use hook - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - ai_frequency = 12 - ai_targets = { - ai_recipients = nearby_domicile_owners - } - ai_potential = { - any_character_war = { - is_war_leader = prev - } - war_chest_gold >= quarter_ai_war_chest_gold_maximum - } - ai_accept = { - base = -20 - - modifier = { # merc laamp wants to join - add = 50 - scope:recipient = { - has_realm_law = camp_purpose_mercenaries - } - desc = camp_purpose_mercenaries_reason - } - - modifier = { # don't join many losing wars - save_temporary_scope_value_as = { - name = attacker_war - value = 2 - } - scope:actor = { - any_character_war = { - primary_attacker = scope:actor - attacker_war_score < 0 - save_temporary_scope_value_as = { - name = attacker_war - value = { - value = scope:attacker_war - multiply = attacker_war_score - } - } - } - } - add = scope:attacker_war - desc = attacker_losisng_too_much_reason - } - modifier = { # don't join many losing wars - add = scope:defender_war - save_temporary_scope_value_as = { - name = defender_war - value = 2 - } - scope:actor = { - any_character_war = { - primary_defender = scope:actor - defender_war_score < 0 - save_temporary_scope_value_as = { - name = defender_war - value = { - value = scope:defender_war - multiply = defender_war_score - } - } - } - } - desc = defender_losisng_too_much_reason - } - - modifier = { # Refuse call against Heir - add = -1000 - exists = scope:recipient.player_heir - scope:actor = { - any_character_war = { - OR = { - primary_defender = scope:recipient.player_heir - primary_attacker = scope:recipient.player_heir - } - } - } - desc = WONT_FIGHT_HEIR_REASON - } - - modifier = { # Refuse call against Spouse - add = -1000 - scope:actor = { - any_character_war = { - OR = { - primary_defender = { - is_spouse_of = scope:recipient - } - primary_attacker = { - is_spouse_of = scope:recipient - } - } - } - } - desc = WONT_FIGHT_SPOUSE_REASON - } - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - desc = AI_OPINION_REASON - } - - modifier = { # Tends to join if low on cash - add = 50 - scope:recipient = { - short_term_gold <= minor_gold_value - } - desc = NEEDS_CASH - } - - modifier = { # Tends to join defensive wars - add = 50 - scope:actor = { - any_character_war = { - primary_defender = scope:actor - } - } - desc = DEFENSIVE_WAR_REASON - } - - modifier = { # Same language - add = 5 - desc = speaks_same_language_interaction_reason - scope:actor = { - knows_language_of_culture = scope:recipient.culture - } - } - - compare_modifier = { # Likes fighting infidels - trigger = { - scope:recipient.faith = scope:actor.faith - scope:actor = { - any_character_war = { - trigger_if = { - limit = { - primary_defender = scope:actor - } - primary_attacker = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - trigger_else_if = { - limit = { - primary_attacker = scope:actor - } - primary_defender = { - faith = { - faith_hostility_level = { - target = scope:actor.faith - value >= religious_cb_enabled_hostility_level - } - } - } - } - trigger_else = { - always = no - } - } - } - } - target = scope:recipient - value = ai_zeal - desc = "ZEAL_AGAINST_INFIDELS" - min = 0 - multiplier = 0.5 - } - - modifier = { # Reluctant to attack another ally - add = -50 - scope:actor = { - any_character_war = { - NOT = { primary_defender = scope:actor } - primary_defender = { - is_allied_to = scope:recipient - } - } - } - desc = ATTACK_ON_ALLY_REASON - } - - modifier = { # Reluctant to defend against another ally - add = -25 - scope:actor = { - any_character_war = { - NOT = { primary_attacker = scope:actor } - primary_attacker = { - is_allied_to = scope:recipient - } - } - } - desc = WAR_WITH_ALLY_REASON - } - - modifier = { # Reluctant to join wars against religious brethren. - add = -50 - NOT = { scope:recipient.faith = scope:actor.faith } - scope:actor = { - any_character_war = { - OR = { - using_cb = minor_religious_war - using_cb = religious_war - using_cb = major_religious_war - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - OR = { - AND = { - NOT = { primary_attacker = scope:actor } - primary_attacker.faith = scope:recipient.faith - } - AND = { - NOT = { primary_defender = scope:actor } - primary_defender.faith = scope:recipient.faith - } - } - } - } - } - desc = WONT_ATTACK_RELIGIOUS_BRETHREN_REASON - } - - modifier = { # Reluctant to join against Friends - add = -50 - scope:actor = { - any_character_war = { - OR = { - AND = { - NOT = { primary_attacker = scope:actor } - primary_attacker = { - has_relation_friend = scope:recipient - } - } - AND = { - NOT = { primary_defender = scope:actor } - primary_defender = { - has_relation_friend = scope:recipient - } - } - } - } - } - } - - modifier = { # Reluctant to join against Best Friends - add = -100 - scope:actor = { - any_character_war = { - OR = { - AND = { - NOT = { primary_attacker = scope:actor } - primary_attacker = { - has_relation_best_friend = scope:recipient - } - } - AND = { - NOT = { primary_defender = scope:actor } - primary_defender = { - has_relation_best_friend = scope:recipient - } - } - } - } - } - } - modifier = { # Reluctant to join against Lovers - add = -100 - scope:actor = { - any_character_war = { - OR = { - AND = { - NOT = { primary_attacker = scope:actor } - primary_attacker = { - has_relation_lover = scope:recipient - } - } - AND = { - NOT = { primary_defender = scope:actor } - primary_defender = { - has_relation_lover = scope:recipient - } - } - } - } - } - } - modifier = { # Reluctant to join against Soul mate - add = -200 - scope:actor = { - any_character_war = { - OR = { - AND = { - NOT = { primary_attacker = scope:actor } - primary_attacker = { - has_relation_soulmate = scope:recipient - } - } - AND = { - NOT = { primary_defender = scope:actor } - primary_defender = { - has_relation_soulmate = scope:recipient - } - } - } - } - } - } - modifier = { # Refuse call for hostages' safety - any_home_court_hostage = { - warden = { - OR = { - is_at_war_with = scope:actor - any_ally = { is_at_war_with = scope:actor } - } - } - } - add = { - value = 0 - every_home_court_hostage = { - limit = { - warden = { - OR = { - is_at_war_with = scope:actor - any_ally = { is_at_war_with = scope:actor } - } - } - } - subtract = call_to_arms_hostage_value - } - multiply = 0.25 - } - desc = HOSTAGE_ENEMY_CALL_TO_ARMS_REASON - } - - fp3_struggle_resist_allied_wars_modifier = yes - } - - ai_will_do = { - base = 50 - - #don't do it if hired army wouldn't have an impact - modifier = { - scope:actor = { - any_character_war = { - count = all - OR = { - AND = { - primary_attacker = scope:actor - primary_defender.current_military_strength > { - value = scope:recipient.current_military_strength - add = scope:actor.current_military_strength - multiply = 1.5 - } - } - AND = { - primary_defender = scope:actor - primary_attacker.current_military_strength > { - value = scope:recipient.current_military_strength - add = scope:actor.current_military_strength - multiply = 1.5 - } - } - } - } - } - add = -100 - } - - #don't do it if you are stronger than the enemy - modifier = { - scope:actor = { - any_character_war = { - count = all - OR = { - AND = { - primary_attacker = scope:actor - primary_defender.current_military_strength < scope:actor.current_military_strength - } - AND = { - primary_defender = scope:actor - primary_attacker.current_military_strength < scope:actor.current_military_strength - } - } - } - } - add = -200 - } - - #more likely to ask if on contact list - modifier = { - scope:actor = { - is_contact_of = scope:recipient - } - add = 100 - } - - #merc laamp wants to join, so why not asking them more? - modifier = { - scope:recipient = { - has_realm_law = camp_purpose_mercenaries - } - add = 50 - } - - #more likely to ask if losing - modifier = { - scope:actor = { - any_character_war = { - OR = { - AND = { - primary_attacker = scope:actor - defender_war_score > 25 - } - AND = { - primary_defender = scope:actor - attacker_war_score > 25 - } - } - } - } - add = 20 - } - - #don't do it if they betrayed you already in any of your ongoing wars - modifier = { - scope:actor = { - any_character_war = { - OR = { - is_target_in_variable_list = { - name = already_switched_side - target = scope:recipient - } - is_target_in_variable_list = { - name = left_voluntarily - target = scope:recipient - } - } - } - } - add = -1000 - } - - #don't do it if you cannot afford it - modifier = { - scope:actor = { - war_chest_gold < ep3_hire_laamp_mercs_cost_value - } - add = -50 - } - modifier = { - scope:actor = { - gold < ep3_hire_laamp_mercs_cost_value - } - add = -1000 - } - } -} - -################## -# Refill MaA -################## - -refill_maa_interaction = { - icon = icon_soldier_survivor - category = interaction_category_laamp - interface_priority = 20 - common_interaction = yes - desc = refill_maa_interaction_desc - cooldown = { months = 6 } - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - government_allows = conditional_maa_refill - NOT = { government_has_flag = government_is_nomadic } - } - scope:recipient = scope:actor - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = reinforce_soldiers_any_regiment_tt - scope:actor.maa_regiments_count >= 1 - } - custom_tooltip = { - text = reinforce_soldiers_unfull_regiment_tt - scope:actor = { - any_maa_regiment = { maa_regiments_valid_to_refill_trigger = yes } - } - } - custom_tooltip = { - text = SUPPLY_LOSS_AT_SEA - scope:actor = { any_laamp_portion_at_sea_trigger = no } - } - custom_tooltip = { - text = PROCURE_ESTATE_AT_WAR_TT - scope:actor = { - NOT = { - any_army = { - location.county.holder = { - OR = { - is_at_war_with = scope:actor - any_liege_or_above = { is_at_war_with = scope:actor } - } - } - } - } - } - } - } - - send_options_exclusive = yes - - send_option = { - flag = provisions - localization = reinforce_soldiers_option_provisions - current_description = reinforce_soldiers_option_provisions_desc - is_valid = { - scope:actor.domicile.provisions >= 5 - } - } - - send_option = { - flag = gold - localization = reinforce_soldiers_option_gold - current_description = reinforce_soldiers_option_gold_desc - is_valid = { - scope:actor.gold >= 5 - custom_tooltip = { - text = reinforce_soldiers_option_gold_tt - NOT = { - scope:actor.domicile.domicile_location.county.holder ?= { government_has_flag = government_is_tribal } - } - } - } - } - - on_accept = { - scope:actor = { - switch = { - trigger = yes - scope:gold = { - if = { - limit = { gold > replenishable_troops_payed_gold_tt_value } - custom_tooltip = refill_maa_gold_full_tt - } - else = { custom_tooltip = refill_maa_gold_tt } - custom_tooltip = refill_maa_gold_cost_tt - refill_maa_with_gold_effect = yes - } - scope:provisions = { - if = { - limit = { domicile.provisions > replenishable_troops_payed_provisions_tt_value } - custom_tooltip = refill_maa_provisions_full_tt - } - else = { custom_tooltip = refill_maa_provisions_tt } - custom_tooltip = refill_maa_provision_cost_tt - refill_maa_with_provisions_effect = yes - } - } - if = { - limit = { - is_ai = yes - NOR = { - scope:gold = yes - scope:provisions = yes - } - } - refill_maa_with_provisions_effect = yes - } - } - } - - ai_frequency = 1 - ai_targets = { - ai_recipients = self - } - ai_potential = { - government_allows = conditional_maa_refill - any_maa_regiment = { maa_current_troops_count < maa_max_troops_count } - } - - ai_will_do = { - base = 100 - modifier = { - factor = 0 - scope:gold = yes - gold <= 500 - } - } -} - -################## -# Evict Adventurer -# by Joe Parkin -################## - -evict_adventurer_interaction = { - common_interaction = yes - category = interaction_category_diplomacy - cooldown_against_recipient = { years = 5 } - greeting = positive - icon = icon_evict_adventurer - desc = evict_adventurer_interaction_desc - - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 60 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { is_landed = yes } - NOT = { scope:recipient = scope:actor } - scope:recipient = { - government_has_flag = government_is_landless_adventurer - is_landed = no - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_at_war = no - NOR = { - is_spouse_of = scope:recipient - has_relation_friend = scope:recipient - has_relation_lover = scope:recipient - } - } - scope:recipient = { - # Adventurer must be in the subrealm - domicile.domicile_location.county.holder ?= { - OR = { - this = scope:actor - any_liege_or_above = { this ?= scope:actor } - } - } - } - # AI should not against hired adventurers - trigger_if = { - limit = { - scope:actor = { is_ai = yes } - } - scope:actor = { - opinion = { - target = scope:recipient - value < 25 - } - } - NOT = { - scope:recipient = { - any_character_active_contract = { task_contract_employer = scope:actor } - } - } - } - scope:recipient = { - is_busy_in_events_localised = yes - NOT = { has_strong_hook = scope:actor } - } - # Story blockers. - ## Hereward cannot be exiled by active participants in the Harrying of the North. - disable_interaction_for_hereward_trigger = yes - ## Hasan cannot be exiled by anyone during his story. - disable_interaction_for_hasan_trigger = yes - } - - on_send = { - scope:recipient = { - send_interface_toast = { - type = diplo_contract_scheme_invalidated_message - title = evict_adventurer_interaction.tt.contracts_invalidated.t - right_icon = scope:actor - custom_tooltip = { - text = evict_adventurer_interaction.tt.contracts_invalidated - every_character_task_contract = { - limit = { - task_contract_location.county.holder = { - OR = { - this = scope:actor - any_liege_or_above = { this = scope:actor } - } - } - } - invalidate_contract = yes - } - # We also need to invalidate your active contract, if you've got one, since you need to be travelling. - every_character_active_contract = { invalidate_contract = yes } - } - } - } - } - - on_accept = { - scope:actor = { save_scope_as = expeller } - scope:recipient = { - save_scope_as = adventurer - add_opinion = { - target = scope:actor - modifier = demanded_eviction_opinion - } - custom_tooltip = evict_adventurer_contracts_tt - } - scope:actor = { - custom_description_no_bullet = { - text = evict_adventurer_consequences_tt - object = scope:recipient - subject = scope:actor - } - custom_tooltip = evict_adventurer_casus_belli_tt - show_as_tooltip = { - add_opinion = { - target = scope:recipient - modifier = eviction_ignored_opinion - } - } - } - scope:recipient = { - set_variable = { - name = adventurer_expeller - value = scope:actor - months = 4 - } - trigger_event = { - id = ep3_interactions_events.0500 - days = 1 - } - trigger_event = { - id = ep3_interactions_events.0501 - months = 3 - } - } - } - - on_decline = { - scope:recipient = { - start_war = { - cb = ep3_laamp_apprehend_adventurer_cb - target = scope:actor - } - } - } - - auto_accept = yes - - ai_frequency = 6 - ai_targets = { - ai_recipients = sub_realm_domicile_owners - max = 10 - } - ai_potential = { - is_at_war = no - is_imprisoned = no - NOT = { has_trait = incapable } - } - ai_will_do = { - base = -25 - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = -0.5 - } - # Independent rulers or kings and over will happily exile claimants. - modifier = { - add = 250 - OR = { - is_independent_ruler = yes - highest_held_title_tier >= tier_kingdom - } - scope:recipient = { - any_claim = { - tier >= scope:actor.highest_held_title_tier - holder ?= scope:actor - } - } - } - modifier = { - add = 10 - has_opinion_modifier = { - modifier = failed_task_contract_opinion - target = scope:recipient - } - } - modifier = { - add = 30 - has_opinion_modifier = { - modifier = left_war_early - target = scope:recipient - } - } - modifier = { - add = 100 - has_opinion_modifier = { - modifier = switched_sides_in_war - target = scope:recipient - } - } - modifier = { - add = { - if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 100 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 100 - } - } - } - add = 200 - } - else_if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 80 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 80 - } - } - } - add = 150 - } - else_if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 60 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 60 - } - } - } - add = 100 - } - else_if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 40 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 40 - } - } - } - add = 75 - } - else_if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 20 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 20 - } - } - } - add = 50 - } - else_if = { - limit = { - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - value >= 0 - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - value >= 0 - } - } - } - add = 25 - } - } - OR = { - has_opinion_modifier = { - modifier = gallowsbait_scum_opinion - target = scope:recipient - } - has_opinion_modifier = { - modifier = succeeded_criminal_contract_against_me_opinion - target = scope:recipient - } - } - } - # Factors must got at the bottom. - ## Don't evict people we can't beat up. - modifier = { - factor = 0 - scope:actor.current_military_strength < scope:recipient.military_strength_75_percent_value - } - ## Don't evict anyone currently doing a job for us. - modifier = { - factor = 0 - scope:recipient = { - any_character_task_contract = { task_contract_employer = scope:actor } - } - } - ## We _only_ evict if we actually dislike someone. - first_valid = { - # People close to us are more willing to put up with our bullshit. - modifier = { - factor = 0 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - opinion = { - target = scope:recipient - value > -30 - } - } - modifier = { - factor = 0 - opinion = { - target = scope:recipient - value > 0 - } - } - } - } -} - -#Become landless admin from laamp -procure_estate_interaction = { - category = interaction_category_laamp - icon = powerful_family_shield - - desc = procure_estate_interaction_desc - - cooldown_against_recipient = { years = 10 } - - notification_text = { - first_valid = { - triggered_desc = { - trigger = { - scope:hook = yes - } - desc = PROCURE_ESTATE_HOOK - } - triggered_desc = { - trigger = { - scope:gold_option = yes - } - desc = PROCURE_ESTATE_GOLD - } - triggered_desc = { - trigger = { - scope:piety_option = yes - } - desc = PROCURE_ESTATE_PIETY - } - desc = PROCURE_ESTATE_PRESTIGE - } - desc = PROCURE_ESTATE_PROPOSAL_OUTRO - } - - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 100 - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { government_has_flag = government_is_landless_adventurer } - scope:recipient = { - is_landed = yes - government_has_flag = government_is_administrative - } - NOT = { scope:recipient = scope:actor } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_independent_ruler = yes - prestige_level >= 2 - # Only house heads can have Noble Family titles - custom_tooltip = { - text = NOT_IS_HOUSE_HEAD - house.house_head ?= { - OR = { - this = scope:actor - is_ruler = no - } - } - } - } - trigger_if = { # Only a Duke or higher can treat you right - limit = { - scope:recipient = { - highest_held_title_tier < tier_duchy - } - } - custom_description = { - text = procure_estate_low_rank_tt - always = no - } - } - trigger_if = { # Not going to give you a title if you're at war - limit = { - scope:actor = { - is_at_war_with = scope:recipient - } - } - custom_description = { - text = procure_estate_at_war_tt - always = no - } - } - scope:recipient = { - is_busy_in_events_localised = yes - NOT = { has_strong_hook = scope:actor } - } - #Has to be used instead of diplo range checks in laamp to landed interactions - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - scope:recipient = { is_contact_of = scope:actor } - - # Adventurers can't join wars in places they're exiled from. - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:recipient.capital_province - LAAMP = scope:actor - } - } - } - } - - auto_accept = { - custom_description = { - text = "spending_hook" - subject = scope:actor - object = scope:recipient - scope:hook = yes - } - } - should_use_extra_icon = { - scope:actor = { has_usable_hook = scope:recipient } - } - extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" - - send_option = { - is_valid = { - scope:actor = { - has_usable_hook = scope:recipient - } - } - flag = hook - localization = SCHEME_HOOK - } - send_option = { - flag = prestige_option - localization = laamp_to_ladmin_prestige_option_desc - } - send_option = { - flag = gold_option - localization = laamp_to_ladmin_gold_option_desc - } - send_option = { - flag = piety_option - localization = laamp_to_ladmin_piety_option_desc - } - - cost = { - gold = { - add = { - value = procure_estate_interaction_cost_base_gold - desc = BASE - } - if = { - limit = { scope:gold_option = yes } - add = { - value = procure_estate_interaction_cost_base_gold - desc = laamp_to_ladmin_gold_option_desc - } - } - } - prestige = { - if = { - limit = { - NOR = { - scope:gold_option = yes - scope:piety_option = yes - scope:hook = yes - } - } - # Base cost - add = { - value = procure_estate_interaction_cost_base_prestige - desc = BASE - } - # Gender modifiers - if = { - limit = { - scope:recipient ?= { - top_liege = { has_realm_law = male_preference_law } - } - scope:actor = { - is_female = yes - } - } - add = { # Increase the base cost - value = { - value = procure_estate_interaction_cost_base_prestige - multiply = 0.25 - } - desc = male_preference_law - } - } - if = { - limit = { - scope:recipient ?= { - top_liege = { has_realm_law = female_preference_law } - } - scope:actor = { - is_male = yes - } - } - add = { # Increase the base cost - value = { - value = procure_estate_interaction_cost_base_prestige - multiply = 0.25 - } - desc = female_preference_law - } - } - #Brigands need to pay more to be legitimized - if = { - limit = { - scope:actor = { - has_realm_law = camp_purpose_brigands - } - } - add = { # Increase the base cost - value = { - value = major_prestige_value - } - desc = camp_purpose_brigands - } - } - } - } - piety = { - if = { - limit = { - scope:piety_option = yes - } - - # Base cost - add = { - value = procure_estate_interaction_cost_base_piety - desc = BASE - } - - # Gender modifiers - if = { - limit = { - scope:recipient ?= { - top_liege = { has_realm_law = male_preference_law } - } - scope:actor = { - is_female = yes - } - } - add = { # Increase the base cost - value = { - value = procure_estate_interaction_cost_base_piety - multiply = 0.25 - } - desc = male_preference_law - } - } - if = { - limit = { - scope:recipient ?= { - top_liege = { has_realm_law = female_preference_law } - } - scope:actor = { - is_male = yes - } - } - add = { # Increase the base cost - value = { - value = procure_estate_interaction_cost_base_piety - multiply = 0.25 - } - desc = female_preference_law - } - } - #Brigands need to pay more to be legitimized - if = { - limit = { - scope:actor = { - has_realm_law = camp_purpose_brigands - } - } - add = { # Increase the base cost - value = { - value = procure_estate_interaction_cost_base_piety - } - desc = camp_purpose_brigands - } - } - } - } - } - - is_highlighted = { - always = yes - } - - on_accept = { - scope:actor = { - save_scope_as = adventurer - procure_estate_interaction_effect = yes - create_character_memory = { - type = procured_estate_memory - participants = { benefactor = scope:recipient } - } - if = { - limit = { - is_ai = no - } - add_achievement_global_variable_effect = { - VARIABLE = started_from_the_bottom_now_were_ere_procure - VALUE = yes - } - } - } - - scope:actor = { trigger_event = ep3_interactions_events.0610 } - } - - on_decline = { - scope:actor = { - save_scope_as = adventurer - trigger_event = ep3_interactions_events.0611 - } - } - - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = contacts - } - ai_frequency = 120 - - ai_accept = { - base = 0 # Try to make it 0 for most interactions - - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.5 - desc = AI_OPINION_REASON - } - #DIFFERENT FAITH FROM STATE FAITH (if recipient is state faith) - modifier = { - add = -20 - desc = PROCURE_ESTATE_STATE_FAITH_REASON - scope:actor.faith = { - NOT = { - this = scope:recipient.top_liege.primary_title.state_faith - } - } - scope:recipient.faith = { - this = scope:recipient.top_liege.primary_title.state_faith - } - NOT = { - scope:piety_option = yes - } - } - #Hey you're actually a local in my capital - modifier = { - add = 10 - desc = PROCURE_ESTATE_SAME_CULTURE_AS_CAPITAL_REASON - scope:recipient.capital_county.culture = { - this = scope:actor.culture - } - } - #Your dynasty is worthless - modifier = { - add = -10 - scope:actor.dynasty = { - dynasty_prestige_level < 2 - } - desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON - } - #Your dynasty is pretty great actually - modifier = { - add = 10 - scope:actor.dynasty = { - dynasty_prestige_level >= 4 - dynasty_prestige_level < 7 - } - desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON - } - #Your dynasty is pretty great actually - modifier = { - add = 20 - scope:actor.dynasty = { - dynasty_prestige_level >= 7 - dynasty_prestige_level < 10 - } - desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON - } - #Your dynasty is pretty great actually - modifier = { - add = 30 - scope:actor.dynasty = { dynasty_prestige_level >= 10 } - desc = PROCURE_ESTATE_DYNASTY_PRESTIGE_LEVEL_REASON - } - #We are not related - modifier = { - add = -15 - desc = PROCURE_ESTATE_SHARED_RELATIVES_REASON - NOR = { - scope:actor.house ?= { - any_house_member = { - is_close_or_extended_family_of = scope:recipient - } - } - scope:actor = { - any_close_or_extended_family_member = { - is_close_or_extended_family_of = scope:recipient - } - } - scope:recipient.house ?= { - any_house_member = { - is_close_or_extended_family_of = scope:actor - } - } - scope:recipient = { - any_spouse = { - is_close_or_extended_family_of = scope:actor - } - } - scope:actor = { - any_spouse = { - is_close_or_extended_family_of = scope:recipient - } - } - scope:actor.dynasty = { - this = scope:recipient.dynasty - } - } - } - #You are criminal scum - modifier = { - add = -50 - desc = PROCURE_ESTATE_BRIGANDS_REASON - scope:actor = { - has_realm_law = camp_purpose_brigands - } - } - #You are an upright legitimist - modifier = { - add = 25 - desc = PROCURE_ESTATE_LEGITIMISTS_REASON - scope:actor = { - has_realm_law = camp_purpose_legitimists - } - } - #You have a criminal background - modifier = { - add = -10 - desc = PROCURE_ESTATE_GALLOWSBAIT_REASON - scope:actor = { - has_trait = gallowsbait - } - } - #You have a criminal background - modifier = { - add = -5 - desc = PROCURE_ESTATE_GALLOWSBAIT_REASON - scope:actor = { - has_trait = gallowsbait - NOR = { - has_trait_xp = { - trait = gallowsbait - track = bandit - value < 40 - } - has_trait_xp = { - trait = gallowsbait - track = trickster - value < 40 - } - has_trait_xp = { - trait = gallowsbait - track = thief - value < 40 - } - has_trait_xp = { - trait = gallowsbait - track = poacher - value < 40 - } - has_trait_xp = { - trait = gallowsbait - track = marauder - value < 40 - } - } - } - } - modifier = { - add = -20 - desc = PROCURE_ESTATE_GALLOWSBAIT_REASON - scope:actor = { - has_trait = gallowsbait - OR = { - has_trait_xp = { - trait = gallowsbait - track = bandit - value >= 40 - } - has_trait_xp = { - trait = gallowsbait - track = trickster - value >= 40 - } - has_trait_xp = { - trait = gallowsbait - track = thief - value >= 40 - } - has_trait_xp = { - trait = gallowsbait - track = poacher - value >= 40 - } - has_trait_xp = { - trait = gallowsbait - track = marauder - value >= 40 - } - } - NOR = { - has_trait_xp = { - trait = gallowsbait - track = bandit - value < 80 - } - has_trait_xp = { - trait = gallowsbait - track = trickster - value < 80 - } - has_trait_xp = { - trait = gallowsbait - track = thief - value < 80 - } - has_trait_xp = { - trait = gallowsbait - track = poacher - value < 80 - } - has_trait_xp = { - trait = gallowsbait - track = marauder - value < 80 - } - } - } - } - modifier = { - add = -50 - desc = PROCURE_ESTATE_GALLOWSBAIT_REASON - scope:actor = { - has_trait = gallowsbait - OR = { - has_trait_xp = { - trait = gallowsbait - track = bandit - value >= 80 - } - has_trait_xp = { - trait = gallowsbait - track = trickster - value >= 80 - } - has_trait_xp = { - trait = gallowsbait - track = thief - value >= 80 - } - has_trait_xp = { - trait = gallowsbait - track = poacher - value >= 80 - } - has_trait_xp = { - trait = gallowsbait - track = marauder - value >= 80 - } - } - } - } - #You have an interesting claim within my realm - modifier = { - add = 5 - desc = PROCURE_ESTATE_CLAIMS_REASON - scope:actor = { - any_claim = { - save_temporary_scope_as = laamp_claim_temp - scope:recipient.top_liege.primary_title = { - is_de_jure_liege_or_above_target = scope:laamp_claim_temp - } - NOT = { - holder ?= scope:recipient - } - } - } - } - #You are a challenger for the empire and I want you indebted to me - modifier = { - add = 20 - desc = PROCURE_ESTATE_IMPERIAL_CLAIMS_REASON - scope:actor = { - any_claim = { - save_temporary_scope_as = laamp_claim_temp - this = scope:recipient.top_liege.primary_title - NOT = { - holder ?= scope:recipient - } - scope:recipient = { - NOR = { - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient.top_liege } - opinion = { - target = scope:recipient.top_liege - value >= -20 - } - is_allied_to = scope:recipient.top_liege - } - } - } - } - } - #You have a scary claim on one of my titles! - modifier = { - add = -50 - desc = PROCURE_ESTATE_RIVAL_CLAIMANT_REASON - scope:actor = { - any_claim = { - holder ?= scope:recipient - } - } - } - #Needs gold - modifier = { - add = 10 - scope:recipient = { - gold <= minor_gold_value - } - NOT = { - scope:gold_option = yes - } - desc = PROCURE_ESTATE_NEEDS_GOLD_REASON - } - #Needs gold and offering gold - modifier = { - add = 20 - scope:recipient = { - gold <= minor_gold_value - } - scope:gold_option = yes - desc = PROCURE_ESTATE_NEEDS_GOLD_REASON - } - #Needs piety - modifier = { - add = 20 - scope:recipient = { - piety_level <= 0 - } - scope:piety_option = yes - desc = PROCURE_ESTATE_NEEDS_PIETY_REASON - } - - #Needs prestige - modifier = { - add = 20 - scope:recipient = { - prestige_level <= 0 - } - scope:prestige_option = yes - desc = PROCURE_ESTATE_NEEDS_PRESTIGE_REASON - } - } - - ai_will_do = { - base = -25 - ai_value_modifier = { - ai_boldness = -0.5 - ai_energy = -0.5 - ai_greed = 0.5 - ai_rationality = 0.5 - } - modifier = { - gold < 100 - factor = 0 - } - modifier = { - gold > 100 - OR = { - prestige >= massive_prestige_value - piety >= massive_piety_value - gold >= massive_gold_value - } - add = 50 - } - modifier = { - has_hook = scope:recipient - add = 200 - } - } -} - -request_laamp_legitimist_support = { - interface_priority = 50 - common_interaction = yes - category = interaction_category_laamp - cooldown_against_recipient = { years = 5 } - - greeting = positive - - icon = request_invasion_sponsorship_interaction - desc = request_laamp_legitimist_support_interaction_desc - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - government_has_flag = government_is_landless_adventurer - has_realm_law = camp_purpose_legitimists - } - scope:recipient = { - is_landed = yes - is_ai = yes - primary_title.tier >= tier_kingdom - } - NOT = { scope:recipient = scope:actor } - } - - is_valid_showing_failures_only = { - NOR = { #so legitimist AI can get lucky. It looks ugly but formats the tooltip correctly - NOT = { - ep3_laamp_diplo_range_trigger = { - TARGET = scope:recipient - LAAMP = scope:actor - } - } - scope:actor = { - is_available_ai_adult = yes - } - } - - - custom_tooltip = { - text = request_laamp_legitimist_have_claim_on_target - scope:actor = { - NOT = { - any_claim = { - OR = { - holder = { - this = scope:recipient - } - holder.top_liege = { - this = scope:recipient - } - } - } - } - } - } - - custom_tooltip = { - text = request_laamp_legitimist_support_already_supporting - scope:recipient = { - NOT = { - has_character_flag = legitimist_supporter - } - } - } - scope:recipient = { - is_busy_in_events_localised = yes - is_at_war = no - is_available_ai_adult = yes - } - - # Adventurers can't join wars in places they're exiled from. - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:recipient.capital_province - LAAMP = scope:actor - } - } - } - } - - send_options_exclusive = no - - cost = { - prestige = { - value = massive_prestige_value - if = { - limit = { - scope:actor.dynasty = scope:recipient.dynasty - } - divide = 2 - } - if = { - limit = { #so legitimist AI can get lucky - scope:actor = { is_ai = yes } - } - divide = 6 - } - } - } - - on_accept = { - scope:actor = { - create_task_contract = { - task_contract_type = laamp_legitimist_support_contract - task_contract_tier = 3 - location = scope:recipient.capital_province - task_contract_employer = scope:recipient - save_temporary_scope_as = legitimist_contract - } - custom_tooltip = laamp_legitimist_support_contract_success - if = { - limit = { - is_ai = yes - } - accept_task_contract = scope:legitimist_contract - } - } - } - - on_decline = { - - } - - use_diplomatic_range = yes - - ai_accept = { - base = -60 - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = 1 - desc = AI_OPINION_REASON - } - modifier = { - add = 40 - scope:actor = { - any_claim = { - tier >= tier_kingdom - holder = { - save_temporary_scope_as = claim_holder - } - } - prestige_level > scope:claim_holder.prestige_level - } - desc = AI_REASON_LEGITIMIST_HIGHER_PRESTIGE - } - modifier = { - add = 60 - scope:actor = { - has_hook = scope:recipient - } - desc = YOU_HAVE_HOOK_REASON - } - modifier = { - add = 10 - scope:actor.dynasty = scope:recipient.dynasty - desc = BF_AI_SAME_DYNASTY_REASON - } - modifier = { - add = 20 - scope:actor.house = scope:recipient.house - desc = IS_SAME_HOUSE_REASON - } - modifier = { - add = 20 - scope:recipient = { has_trait = ambitious } - desc = RECIPIENT_IS_AMBITIOUS - } - modifier = { - add = 10 - scope:recipient = { has_trait = just } - desc = RECIPIENT_IS_JUST - } - modifier = { - add = 10 - scope:recipient = { has_trait = greedy } - desc = RECIPIENT_IS_GREEDY - } - modifier = { - add = 40 #so legitimist AI can get lucky - scope:actor = { is_ai = yes } - } - } - - can_send_despite_rejection = no - ai_frequency = 60 - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = liege - ai_recipients = contacts - } - ai_potential = { - is_at_war = no - NOT = { ai_has_economical_boom_personality = yes } - ai_greed <= 25 - } - ai_will_do = { - base = 100 #no downside to ai trying this - } -} - -#travel around the map to look for new contracts -relocate_camp_to_interaction = { - category = interaction_category_laamp - interface_priority = 100 - common_interaction = yes - use_diplomatic_range = no - ignores_pending_interaction_block = yes - icon = icon_contract_escort - desc = relocate_camp_to_interaction_desc - is_shown = { - NOT = { scope:recipient = scope:actor } - scope:actor = { - is_landless_adventurer = yes - } - scope:recipient = { exists = capital_province } #just to make sure proper scopes will be set up - } - - is_valid_showing_failures_only = { - custom_tooltip = { - text = relocate_camp_to_interaction.here - NOT = { scope:actor.domicile.domicile_location = scope:recipient.capital_province } - } - scope:actor = { - is_travelling = no - is_in_army = no - is_imprisoned = no - } - # Adventurers can't join wars in places they're exiled from. - custom_tooltip = { - text = the_wake_1 - NOT = { - is_laamp_exiled_from_province_trigger = { - PROVINCE = scope:recipient.capital_province - LAAMP = scope:actor - } - } - } - } - - on_accept = { - scope:recipient.capital_province = { - save_scope_as = relocation_destination - } - scope:actor = { - show_as_tooltip = { - domicile = { - move_domicile = scope:relocation_destination - } - } - start_travel_plan = { - destination = scope:relocation_destination - on_start_on_action = on_travel_relocation_start - on_arrival_on_action = on_travel_relocation_end - on_arrival_destinations = last - return_trip = no # One way - travel_with_domicile = yes - } - } - } - - auto_accept = yes -} - -# -task_contract_train_knight_interaction = { - category = interaction_category_laamp - interface_priority = 120 - common_interaction = yes - icon = icon_combat - - popup_on_receive = yes - pause_on_receive = yes - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { - any_character_active_contract = { - has_task_contract_type = laamp_help_train_commanders_contract - OR = { - task_contract_employer ?= scope:recipient - task_contract_target ?= scope:recipient - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - this = scope:recipient - } - } - } - } - } - - is_valid_showing_failures_only = { - } - - redirect = { - scope:actor = { - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_help_train_commanders_contract - OR = { - task_contract_employer ?= scope:recipient - task_contract_target ?= scope:recipient - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - this = scope:recipient - } - } - } - save_scope_as = task_contract - } - } - if = { - limit = { - scope:task_contract ?= { - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - this = scope:recipient - } - } - } - scope:recipient = { - save_scope_as = secondary_recipient - } - scope:secondary_recipient.liege = { - save_scope_as = recipient - } - } - if = { - limit = { - scope:task_contract.task_contract_employer ?= scope:recipient - scope:task_contract.task_contract_employer.liege ?= scope:task_contract.task_contract_target - } - - } - } - - populate_recipient_list = { - scope:actor = { - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_help_train_commanders_contract - OR = { - task_contract_employer ?= scope:recipient - task_contract_target ?= scope:recipient - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - this = scope:recipient - } - } - } - every_in_list = { - variable = knights_to_train - limit = { - is_alive = yes - is_knight = yes - } - add_to_list = characters - } - } - } - } - - is_highlighted = { - always = yes - } - - on_accept = { - scope:actor = { - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_help_train_commanders_contract - OR = { - task_contract_employer ?= scope:recipient - task_contract_target ?= scope:recipient - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - this = scope:recipient - } - } - } - save_scope_as = task_contract - } - } - scope:secondary_recipient = { - save_scope_as = knight - custom_tooltip = task_contract_train_knight_interaction.tt - } - scope:actor = { - trigger_event = ep3_contract_event.0091 - } - } - - auto_accept = yes - - ai_accept = { - base = 100 - } - - ai_frequency = 12 - ai_targets = { - ai_recipients = neighboring_rulers - ai_recipients = liege - ai_recipients = contacts - } - ai_potential = { - is_at_war = no - } - ai_will_do = { - base = 100 #no downside to ai trying this - } -} - -#landless adventurer are allowed to change allegiances mid-war -laamp_war_change_sides_interaction = { - category = interaction_category_laamp - icon = alliance - desc = laamp_war_change_sides_interaction_desc - common_interaction = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 120 - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - cooldown_against_recipient = { years = 3 } - send_options_exclusive = yes - - is_shown = { - scope:actor = { - is_at_war = yes - is_landless_adventurer = yes - } - scope:recipient = { - NOT = { this = scope:actor } - any_war_ally = { this = scope:actor } - any_character_war = { - #can't switch/leave wars you lead - NOT = { is_war_leader = scope:actor } - #can't switch/leave Great Holy Wars - NOR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - any_war_participant = { - this = scope:recipient - } - } - } - } - - is_valid_showing_failures_only = { - scope:recipient = { - trigger_if = { - limit = { - any_character_war = { - has_variable_list = already_switched_side - } - } - custom_tooltip = { - text = laamp_war_change_sides_interaction.already_switched_side - is_target_in_variable_list = { - name = already_switched_side - target = scope:actor - } - } - } - } - } - - populate_recipient_list = { - scope:recipient = { - every_character_war = { - limit = { - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - #can't switch/leave wars you lead - NOT = { is_war_leader = scope:actor } - #can't switch/leave Great Holy Wars - NOR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - any_war_participant = { - this = scope:recipient - } - } - if = { - limit = { primary_attacker = scope:recipient } - primary_defender = { add_to_list = characters } - } - else = { - primary_attacker = { add_to_list = characters } - } - } - } - } - - on_accept = { - scope:recipient = { - save_scope_as = betrayed_leader - } - scope:secondary_recipient = { - save_scope_as = new_leader - } - scope:actor = { - #ROOT is a 4th crusader and should not be one anymore - frankokratia_remove__war_leader_var_effect = yes - #ROOT is not a 4th crusader and should be one - if = { - limit = { - any_character_war = { - using_cb = crusading_claim_cb - any_war_participant = { - this = scope:recipient - } - any_war_participant = { - any_owned_story = { - story_type = frankokratia_story - NOT = { - any_in_list = { - variable = frankokratia_leaders - this = scope:actor - } - } - } - } - any_war_defender = { - this = scope:actor - } - } - } - random_character_war = { - limit = { - any_war_participant = { - any_owned_story = { - story_type = frankokratia_story - NOT = { - any_in_list = { - variable = frankokratia_leaders - this = scope:actor - } - } - } - } - any_war_defender = { - this = scope:actor - } - } - random_war_participant = { - limit = { - any_owned_story = { - story_type = frankokratia_story - NOT = { - any_in_list = { - variable = frankokratia_leaders - this = scope:actor - } - } - } - } - random_owned_story = { - limit = { - story_type = frankokratia_story - NOT = { - any_in_list = { - variable = frankokratia_leaders - this = scope:actor - } - } - } - add_to_variable_list = { - name = frankokratia_leaders - target = scope:actor - } - } - } - } - } - random_character_war = { - limit = { - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - OR = { - primary_attacker = scope:secondary_recipient - primary_defender = scope:secondary_recipient - } - } - save_scope_as = war - } - if = { - limit = { - scope:war = { - using_non_ghw_holy_war_cb_trigger = yes - } - scope:recipient.faith = scope:actor.faith - } - add_piety_level = -1 - } - every_character_active_contract = { - limit = { - var:task_contract_war = scope:war - } - complete_task_contract = failure_standard - } - # Clear Offer Assistance. - if = { - limit = { - has_variable = owed_contract_assistance_war - scope:recipient = { is_participant_in_war = scope:actor.var:owed_contract_assistance_war } - } - remove_variable = owed_contract_assistance_war - remove_variable = owed_contract_assistance_contribution - remove_variable = owed_contract_assistance_gold - } - } - scope:war = { - hidden_effect = { - remove_participant = scope:actor - } - if = { - limit = { - is_defender = scope:secondary_recipient - } - add_defender = scope:actor - } - else = { - add_attacker = scope:actor - } - } - scope:actor = { - every_character_war = { - limit = { - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - NOT = { this = scope:war } - } - remove_participant = scope:actor - } - } - scope:actor = { - # We deliberately charge you here to let you go into prestige debt; you shouldn't be blocked from switching sides due to a lack of prestige if you're willing to tank the loss. - add_prestige = { - value = -250 - multiply = { - value = scope:recipient.highest_held_title_tier - add = -1 - } - } - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_kingdom } - add_prestige_level = -1 - } - if = { - limit = { - NOT = { has_contact = scope:secondary_recipient } - } - add_contact = scope:secondary_recipient - } - # Break the alliance - if = { - limit = { is_allied_to = scope:recipient } - break_alliance = scope:recipient - } - # And don't forget stress! - stress_impact = { - base = major_stress_impact_gain - disloyal = medium_stress_impact_loss - ambitious = minor_stress_impact_loss - arrogant = minor_stress_impact_loss - callous = miniscule_stress_impact_loss - arbitrary = miniscule_stress_impact_loss - just = minor_stress_impact_gain - humble = medium_stress_impact_gain - content = medium_stress_impact_gain - loyal = major_stress_impact_gain - } - } - scope:recipient = { - if = { - limit = { - can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor } - } - set_relation_potential_rival = scope:actor - } - add_opinion = { - modifier = switched_sides_in_war - target = scope:actor - } - } - scope:secondary_recipient = { - add_opinion = { - modifier = switched_to_my_side - target = scope:actor - } - if = { - limit = { is_ai = yes } - pay_short_term_gold = { - target = scope:actor - gold = major_gold_value - } - } - } - scope:recipient = { - every_character_war = { - limit = { - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - #can't switch/leave wars you lead - NOT = { is_war_leader = scope:actor } - #can't switch/leave Great Holy Wars - NOR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - any_war_participant = { - this = scope:recipient - } - NOR = { - primary_attacker = scope:secondary_recipient - primary_defender = scope:secondary_recipient - } - } - if = { - limit = { primary_attacker = scope:recipient } - primary_defender = { - add_opinion = { - modifier = left_war_early - opinion = 40 - target = scope:actor - } - } - } - else = { - primary_attacker = { - add_opinion = { - modifier = left_war_early - opinion = 20 - target = scope:actor - } - } - } - } - } - scope:war = { - add_to_variable_list = { - name = already_switched_side - target = scope:actor - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = yes - } - - ai_targets = { - ai_recipients = war_allies - } - ai_frequency = 24 - - ai_will_do = { - base = -25 - #you have to be dishonorable and greedy to do this - ai_value_modifier = { - ai_honor = -0.1 - ai_greed = 0.1 - } - ##check if the recipient is the war leader and do it - #if they are infamous - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:recipient = { - prestige_level < 0 - } - add = 5 - } - #if they are impious - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:recipient = { - piety_level < 0 - } - add = 5 - } - #if they are a criminal - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - has_any_criminal_trait_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - add = 5 - } - #if they wronged you or your family - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:actor = { - has_any_major_revenge_opinion_against_character_trigger = { - CHARACTER = scope:recipient - } - } - add = 5 - } - #if they have good relation with the other side - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - primary_attacker = { - has_any_good_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - AND = { - primary_attacker = scope:recipient - primary_defender = { - has_any_good_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - } - } - add = 5 - } - #don't do it - # if the other side has bad relation with you - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - primary_attacker = { - has_any_bad_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - AND = { - primary_attacker = scope:recipient - primary_defender = { - has_any_bad_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - } - } - add = -1000 - } - # you are winning - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - defender_war_score >= 0 - } - AND = { - primary_attacker = scope:recipient - attacker_war_score >= 0 - } - } - } - add = -1000 - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = -0.1 - desc = AI_OPINION_REASON - } - } -} - -#landless adventurer are allowed to leave the war outright -laamp_leave_war_interaction = { - category = interaction_category_laamp - icon = alliance - desc = laamp_leave_war_interaction_desc - common_interaction = yes - popup_on_receive = yes - pause_on_receive = yes - - interface_priority = 120 - ai_min_reply_days = 0 - ai_max_reply_days = 0 - - cooldown_against_recipient = { years = 3 } - send_options_exclusive = yes - - is_shown = { - scope:actor = { - is_at_war = yes - is_landless_adventurer = yes - } - scope:recipient = { - NOT = { this = scope:actor } - any_war_ally = { this = scope:actor } - any_character_war = { - is_participant = scope:recipient - #can't leave wars you lead - NOT = { is_war_leader = scope:actor } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - any_character_war = { - is_participant = scope:recipient - #can't leave wars you lead - NOT = { is_war_leader = scope:actor } - #can't leave Great Holy Wars - NOR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - } - } - scope:recipient = { - trigger_if = { - limit = { - any_character_war = { - has_variable_list = already_switched_side - } - } - custom_tooltip = { - text = laamp_war_change_sides_interaction.already_switched_side - is_target_in_variable_list = { - name = already_switched_side - target = scope:actor - } - } - } - } - } - - on_accept = { - scope:recipient = { - save_scope_as = betrayed_leader - } - scope:secondary_recipient = { - save_scope_as = new_leader - } - scope:actor = { - #ROOT is a 4th crusader and should not be one anymore - frankokratia_remove__war_leader_var_effect = yes - every_character_war = { - limit = { - OR = { - primary_attacker = scope:recipient - primary_defender = scope:recipient - } - #can't switch/leave wars you lead - NOT = { is_war_leader = scope:actor } - #can't switch/leave Great Holy Wars - NOR = { - using_cb = undirected_great_holy_war - using_cb = directed_great_holy_war - } - any_war_participant = { - this = scope:recipient - } - } - remove_participant = scope:actor - if = { - limit = { primary_defender = scope:recipient } - primary_attacker = { - add_opinion = { - modifier = left_war_early - opinion = 30 - target = scope:actor - } - } - } - else = { - primary_defender = { - add_opinion = { - modifier = left_war_early - opinion = 30 - target = scope:actor - } - } - } - add_to_variable_list = { - name = left_voluntarily - target = scope:actor - } - } - if = { - limit = { - scope:war = { - using_non_ghw_holy_war_cb_trigger = yes - } - } - add_piety_level = -1 - } - save_scope_value_as = { - name = task_contract_reward - value = flag:failure_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - every_character_active_contract = { - limit = { var:task_contract_war = scope:war } - task_contract_employer = { save_scope_as = task_contract_employer } - invalidate_contract = yes - } - if = { - limit = { - NOT = { - exists = scope:task_contract_employer - } - } - scope:recipient = { - save_scope_as = task_contract_employer - } - } - trigger_event = ep3_contract_event.0013 - # We deliberately charge you here to let you go into prestige debt; you shouldn't be blocked from switching sides due to a lack of prestige if you're willing to tank the loss. - add_prestige = { - value = -200 - multiply = { - value = scope:recipient.highest_held_title_tier - add = -1 - } - } - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_kingdom } - add_prestige_level = -1 - } - # Break the alliance - if = { - limit = { is_allied_to = scope:recipient } - break_alliance = scope:recipient - } - # And don't forget stress! - stress_impact = { - base = major_stress_impact_gain - disloyal = medium_stress_impact_loss - ambitious = minor_stress_impact_loss - arrogant = minor_stress_impact_loss - callous = miniscule_stress_impact_loss - arbitrary = miniscule_stress_impact_loss - just = minor_stress_impact_gain - humble = medium_stress_impact_gain - content = medium_stress_impact_gain - loyal = major_stress_impact_gain - } - # Clear Offer Assistance. - if = { - limit = { - has_variable = owed_contract_assistance_war - scope:recipient = { is_participant_in_war = scope:actor.var:owed_contract_assistance_war } - } - remove_variable = owed_contract_assistance_war - remove_variable = owed_contract_assistance_contribution - remove_variable = owed_contract_assistance_gold - } - } - scope:recipient = { - if = { - limit = { - can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor } - } - set_relation_potential_rival = scope:actor - } - add_opinion = { - modifier = left_war_early - target = scope:actor - } - } - } - - auto_accept = yes - - ai_potential = { - is_at_war = yes - } - - ai_targets = { - ai_recipients = war_allies - } - - ai_frequency = 24 - - ai_will_do = { - base = -25 - #you have to be dishonorable and lazy to do this - ai_value_modifier = { - ai_honor = -0.1 - ai_energy = -0.1 - } - ##check if the recipient is the war leader and do it - #if they are infamous - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:recipient = { - prestige_level < 0 - } - add = 5 - } - #if they are impious - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:recipient = { - piety_level < 0 - } - add = 5 - } - #if they are a criminal - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - has_any_criminal_trait_in_faith_trigger = { - CHARACTER = scope:recipient - FAITH = scope:actor.faith - } - add = 5 - } - #if they wronged you or your family - modifier = { - any_character_war = { - is_war_leader = scope:recipient - } - scope:actor = { - has_any_major_revenge_opinion_against_character_trigger = { - CHARACTER = scope:recipient - } - } - add = 5 - } - #if they have good relation with the other side - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - primary_attacker = { - has_any_good_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - AND = { - primary_attacker = scope:recipient - primary_defender = { - has_any_good_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - } - } - add = 5 - } - #don't do it - # if the other side has bad relation with you - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - primary_attacker = { - has_any_bad_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - AND = { - primary_attacker = scope:recipient - primary_defender = { - has_any_bad_relationship_with_character_trigger = { - CHARACTER = scope:actor - } - } - } - } - } - add = -1000 - } - # you are winning - modifier = { - any_character_war = { - OR = { - AND = { - primary_defender = scope:recipient - defender_war_score >= 0 - } - AND = { - primary_attacker = scope:recipient - attacker_war_score >= 0 - } - } - } - add = -1000 - } - opinion_modifier = { # Opinion Factor - who = scope:recipient - opinion_target = scope:actor - multiplier = -0.1 - desc = AI_OPINION_REASON - } - } -} diff --git a/N3OW/common/character_interactions/06_ep3_scheme_interactions.txt b/N3OW/common/character_interactions/06_ep3_scheme_interactions.txt deleted file mode 100644 index 93eee26e..00000000 --- a/N3OW/common/character_interactions/06_ep3_scheme_interactions.txt +++ /dev/null @@ -1,3738 +0,0 @@ -### EP3 Scheme Interactions - -# Slander -start_slander_interaction = { - icon = icon_scheme_slander - interface_priority = 95 - common_interaction = yes - category = interaction_category_succession - filter_tags = { admin_house_head } - - send_name = START_SCHEME - - scheme = slander - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = peer_vassals - max = 10 - } - ai_frequency = 36 - - is_shown = { - scope:actor = { - is_adult = yes - is_imprisoned = no - government_has_flag = government_is_administrative - } - scope:recipient = { - NOT = { this = scope:actor } - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = slander - target_character = scope:recipient - } - } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - is_independent_ruler = no - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = slander - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_slander_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_slander_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_slander_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_slander_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_slander_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_slander_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = slander - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_sycophant - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - # Secrecy. - AGENT_5 = agent_courtesan - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = slander - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_political_socialite - AGENT_2 = agent_political_socialite - AGENT_3 = agent_bureaucrat - # Success. - AGENT_4 = agent_sycophant - # Secrecy. - AGENT_5 = agent_courtesan - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = slander - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_courtesan - AGENT_2 = agent_amanuensis - AGENT_3 = agent_eunuch - # Success. - AGENT_4 = agent_sycophant - # Speed. - AGENT_5 = agent_political_socialite - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = slander - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_sycophant - AGENT_2 = agent_intermediary - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_bureaucrat - # Secrecy. - AGENT_5 = agent_courtesan - } - } - } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - stress_impact = { - compassionate = minor_stress_impact_gain - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - } - } - scope:recipient = { custom_tooltip = slander_modifier_tt } - } - - ai_potential = { - OR = { - primary_title.tier >= tier_duchy - AND = { - this = house.house_head - is_landless_administrative = yes - } - } - NOT = { - any_scheme = { - is_scheme_category = hostile - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 5 - - #Competing candidate - modifier = { - scope:recipient = { is_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = 30 - } - modifier = { - scope:recipient = { is_winning_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = 50 - } - - # More likely against powerful or dominant families - modifier = { - scope:recipient.house ?= { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - add = 20 - } - - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - modifier = { - has_trait = deceitful - add = 15 - } - modifier = { - has_trait = honest - add = -15 - } - modifier = { - has_trait = compassionate - add = -15 - } - modifier = { - has_trait = content - add = -15 - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = -20 - } - modifier = { - house = scope:recipient.house - add = -50 - } - modifier = { - house.house_head = scope:recipient - add = -50 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = 50 - } - - # Relationships - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - factor = 0 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Promote -start_promote_interaction = { - icon = icon_scheme_promote - interface_priority = 230 - common_interaction = no - category = interaction_category_succession - - send_name = START_SCHEME - - scheme = promote - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = self - } - ai_targets = { - ai_recipients = spouses - } - ai_targets = { - ai_recipients = children - max = 10 - } - ai_targets = { - ai_recipients = family - max = 10 - } - ai_targets = { - ai_recipients = dynasty - max = 10 - } - ai_frequency = 60 - - is_shown = { - scope:actor = { - is_adult = yes - is_imprisoned = no - government_has_flag = government_is_administrative - } - scope:recipient = { - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = promote - target_character = scope:recipient - } - } - scope:recipient = { - is_adult = yes - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = promote - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_promote_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_promote_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_promote_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_promote_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_promote_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = promote - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_proponent - AGENT_4 = agent_sycophant - # Speed. - AGENT_5 = agent_political_socialite - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = promote - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_political_socialite - AGENT_2 = agent_political_socialite - AGENT_3 = agent_bureaucrat - AGENT_4 = agent_bureaucrat - # Success. - AGENT_5 = agent_proponent - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = promote - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_proponent - AGENT_2 = agent_intermediary - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_bureaucrat - } - } - } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - } - scope:recipient = { custom_tooltip = promote_scheme_success_tt } - } - - ai_potential = { - OR = { - primary_title.tier >= tier_duchy - AND = { - this = house.house_head - is_landless_administrative = yes - } - } - NOT = { - any_scheme = { - is_scheme_category = hostile - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - #Competing candidate - modifier = { - scope:recipient = { is_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = -50 - } - - modifier = { - scope:recipient = { is_winning_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = -75 - } - - #Personality - modifier = { - has_trait = gregarious - add = 15 - } - - modifier = { - has_trait = honest - add = -10 - } - - modifier = { - has_trait = shy - add = -10 - } - - modifier = { - has_trait = ambitious - add = 20 - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = 30 - } - - modifier = { - is_parent_of = scope:recipient - add = 50 - } - - modifier = { - house = scope:recipient.house - add = 50 - } - - modifier = { - house.house_head = scope:recipient - add = 50 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = -100 - } - - # Relationships - modifier = { - add = -25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Generate Claim - used in laamp_help_fabricate_claim_contract landless adventurer task contract -start_generate_claim_interaction = { - icon = icon_scheme_generate_claim - interface_priority = 50 - category = interaction_category_laamp - - target_type = title - target_filter = recipient_de_jure_titles - - can_be_picked_title = { - scope:target = { - custom_description = { - text = adventurer_not_famous_trigger_tt - value = scope:target.tier - OR = { - tier <= scope:actor.prestige_level - tier = tier_county - } - } - is_noble_family_title = no - is_landless_type_title = no - } - } - - send_name = START_SCHEME - - scheme = generate_claim - - is_shown = { - scope:actor = { - any_character_active_contract = { - has_task_contract_type = laamp_help_fabricate_claim_contract - var:task_contract_target = scope:recipient - } - } - NOT = { - scope:recipient = scope:actor - } - scope:recipient = { is_landed = yes } - } - - is_valid_showing_failures_only = { - } - - desc = { - triggered_desc = { - trigger = { - scope:recipient = { - any_held_title = { - scope:actor = { - NOT = { has_claim_on = prev } - } - is_noble_family_title = no - target_is_de_facto_liege_or_above = scope:actor.top_liege.primary_title - tier >= tier_duchy - save_temporary_scope_as = target - } - } - scope:actor = { - can_start_scheme = { - type = generate_claim - target_title = scope:target - } - } - } - desc = scheme_interaction_tt_generate_claim_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_generate_claim_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_generate_claim_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_generate_claim_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_generate_claim_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_generate_claim_notification - - left_icon = scope:actor - right_icon = scope:recipient - - if = { - limit = { - any_character_active_contract = { - has_task_contract_type = laamp_help_fabricate_claim_contract - var:task_contract_target ?= scope:recipient - } - } - random_character_active_contract = { - limit = { - has_task_contract_type = laamp_help_fabricate_claim_contract - var:task_contract_target ?= scope:recipient - } - save_scope_as = scheme_contract - } - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - TASK_CONTRACT = scope:scheme_contract - # Success. - AGENT_1 = agent_scribe - AGENT_2 = agent_scribe - AGENT_3 = agent_diplomat - # Speed. - AGENT_4 = agent_justiciar_speed - # Secrecy. - AGENT_5 = agent_decoy - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - TASK_CONTRACT = scope:scheme_contract - # Speed. - AGENT_1 = agent_justiciar_speed - AGENT_2 = agent_infiltrator - AGENT_3 = agent_socialite - # Success. - AGENT_4 = agent_scribe - # Secrecy. - AGENT_5 = agent_decoy - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - TASK_CONTRACT = scope:scheme_contract - # Secrecy. - AGENT_1 = agent_decoy - AGENT_2 = agent_decoy - AGENT_3 = agent_alibi - # Success. - AGENT_4 = agent_scribe - # Speed. - AGENT_5 = agent_justiciar_speed - } - } - # Balanced. - else = { - begin_contract_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - TASK_CONTRACT = scope:scheme_contract - # Success. - AGENT_1 = agent_scribe - AGENT_2 = agent_diplomat - # Speed. - AGENT_3 = agent_justiciar_speed - AGENT_4 = agent_socialite - # Secrecy. - AGENT_5 = agent_decoy - } - } - } - else = { - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_scribe - AGENT_2 = agent_scribe - AGENT_3 = agent_diplomat - # Speed. - AGENT_4 = agent_justiciar_speed - # Secrecy. - AGENT_5 = agent_decoy - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Speed. - AGENT_1 = agent_justiciar_speed - AGENT_2 = agent_infiltrator - AGENT_3 = agent_socialite - # Success. - AGENT_4 = agent_scribe - # Secrecy. - AGENT_5 = agent_decoy - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Secrecy. - AGENT_1 = agent_decoy - AGENT_2 = agent_decoy - AGENT_3 = agent_alibi - # Success. - AGENT_4 = agent_scribe - # Speed. - AGENT_5 = agent_justiciar_speed - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = generate_claim - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_scribe - AGENT_2 = agent_diplomat - # Speed. - AGENT_3 = agent_justiciar_speed - AGENT_4 = agent_socialite - # Secrecy. - AGENT_5 = agent_decoy - } - } - } - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 5 - - #Not a governor already - modifier = { - is_governor = no - add = 30 - } - - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - - modifier = { - has_trait = deceitful - add = 15 - } - - modifier = { - has_trait = honest - add = -10 - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = -10 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = 50 - } - - # Relationships - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - factor = 0 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Challenge Status -start_challenge_status_interaction = { - icon = icon_scheme_challenge_status - interface_priority = 80 - category = interaction_category_hostile - filter_tags = { admin_house_head } - common_interaction = yes - send_name = START_SCHEME - - scheme = challenge_status - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = peer_vassals - max = 5 - } - - ai_frequency = 120 - - is_shown = { - scope:actor = { - government_has_flag = government_is_administrative - } - scope:recipient != scope:actor - scope:recipient = { - government_has_flag = government_is_administrative - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - is_imprisoned = no - can_start_scheme = { - type = challenge_status - target_character = scope:recipient - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = challenge_status - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_challenge_status_approved - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_challenge_status_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_challenge_status_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_challenge_status_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_challenge_status_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = challenge_status - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_proponent - AGENT_2 = agent_intermediary - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_bureaucrat - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = challenge_status - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_proponent - AGENT_2 = agent_intermediary - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_bureaucrat - AGENT_5 = agent_bureaucrat - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = challenge_status - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_proponent - AGENT_2 = agent_intermediary - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_bureaucrat - # Secrecy. - AGENT_5 = agent_amanuensis - } - } - } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - custom_tooltip = challenge_status_success_actor_tt - } - scope:recipient = { - save_scope_as = target - custom_tooltip = challenge_status_success_recipient_tt - } - } - - ai_potential = { - NOT = { - any_scheme = { - is_scheme_category = political - } - } - government_has_flag = government_is_administrative - } - - auto_accept = yes - - ai_will_do = { - base = 5 - - #Personality - modifier = { - has_trait = vengeful - add = 15 - } - - modifier = { - has_trait = deceitful - add = 15 - } - - modifier = { - has_trait = honest - add = -10 - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = -50 - } - modifier = { - house = scope:recipient.house - add = -30 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = 50 - } - - # Relationships - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - factor = 0 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Expand Power Base -start_expand_power_base_interaction = { - icon = icon_scheme_expand_power_base - common_interaction = yes - interface_priority = 70 - category = interaction_category_succession - - send_name = START_SCHEME - - scheme = expand_power_base - ignores_pending_interaction_block = yes - - cooldown = { years = 10 } - - ai_frequency = 48 - ai_targets = { - ai_recipients = self - } - - is_shown = { - scope:actor = { - is_adult = yes - is_imprisoned = no - government_has_flag = government_is_administrative - this = scope:recipient - exists = house.house_head - house.house_head = { - any_held_title = { - is_noble_family_title = yes - } - } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = expand_power_base - target_character = scope:actor - } - } - } - - desc = scheme_interaction_tt_expand_power_base_approved - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_expand_power_base_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_expand_power_base_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_expand_power_base_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_expand_power_base_notification - - left_icon = scope:actor - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = expand_power_base - TARGET_TYPE = target_character - TARGET_SCOPE = scope:actor - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_proponent - AGENT_4 = agent_sycophant - # Speed. - AGENT_5 = agent_bureaucrat - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = expand_power_base - TARGET_TYPE = target_character - TARGET_SCOPE = scope:actor - # Speed. - AGENT_1 = agent_political_socialite - AGENT_2 = agent_political_socialite - AGENT_3 = agent_bureaucrat - AGENT_4 = agent_bureaucrat - # Success. - AGENT_5 = agent_intermediary - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = expand_power_base - TARGET_TYPE = target_character - TARGET_SCOPE = scope:actor - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_bureaucrat - } - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = stewardship } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - custom_tooltip = expand_power_base_effect_tt - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 - # The more I'm investing, the more I want my cap to increase - modifier = { - add = { - value = 0 - every_succession_appointment_invested_candidate = { - add = 5 - } - } - } - - #Not a governor - modifier = { - is_governor = no - add = 30 - } - - #Personality - modifier = { - has_trait = ambitious - add = 20 - } - } -} - -# Depose Scheme -start_depose_interaction = { - icon = icon_scheme_depose - interface_priority = 16 - category = interaction_category_vassal - - filter_tags = { admin_liege } - - send_name = START_SCHEME - - scheme = depose - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - max = 1 - } - ai_frequency = 60 - - is_shown = { - has_ep3_dlc_trigger = yes - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient = { - government_has_flag = government_is_administrative - primary_title.tier >= tier_empire # Target has to be the emperor - this != scope:actor - top_liege.primary_title = scope:actor.top_liege.primary_title # This hides the tooltip - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_adult = yes - is_imprisoned = no - custom_tooltip = { - text = house_head_powerful_dominant_family_trigger - house = { - # Must be a powerful or dominant family - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - # Must be the house head - house.house_head = scope:actor - } - # Must not be from the same House as the Emperor - NOT = { house = scope:actor.top_liege.house } - can_start_scheme = { - type = depose - target_character = scope:recipient - } - } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } - } - - desc = scheme_interaction_tt_depose_approved - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_depose_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_depose_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_depose_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_depose_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_depose_notification - - left_icon = scope:actor - right_icon = scope:recipient - - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = depose - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - # Secrecy. - AGENT_5 = agent_courtesan - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = depose - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_political_socialite - AGENT_2 = agent_political_socialite - AGENT_3 = agent_bureaucrat - # Success. - AGENT_4 = agent_proponent - # Secrecy. - AGENT_5 = agent_courtesan - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = depose - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_courtesan - AGENT_2 = agent_amanuensis - AGENT_3 = agent_eunuch_speed - # Success. - AGENT_4 = agent_proponent - # Speed. - AGENT_5 = agent_political_socialite - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = depose - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_bureaucrat - # Secrecy. - AGENT_5 = agent_courtesan - } - } - } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - stress_impact = { - compassionate = minor_stress_impact_gain - honest = minor_stress_impact_gain - just = minor_stress_impact_gain - loyal = major_stress_impact_gain - } - } - } - - ai_potential = { - OR = { - primary_title.tier >= tier_duchy - AND = { - this = house.house_head - is_landless_administrative = yes - } - } - NOT = { - any_scheme = { - is_scheme_category = hostile - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - # Dominant Family - modifier = { - house = { is_dominant_family = yes } - add = 50 - } - - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - modifier = { - has_trait = deceitful - add = 15 - } - modifier = { - has_trait = honest - add = -15 - } - modifier = { - has_trait = compassionate - add = -15 - } - modifier = { - has_trait = just - add = -10 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = 50 - } - - # Relationships - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - factor = 0 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - # House & Family - modifier = { # Family and house members never want to depose each other - OR = { - is_close_family_of = scope:recipient - AND = { - exists = house - NOT = { scope:recipient.house ?= house } - } - } - NOR = { # Unless they are... - has_trait = ambitious - has_trait = greedy - has_trait = deceitful - } - factor = 0 - } - - # Only depose if you dislike the target - modifier = { - opinion = { target = scope:recipient value > -30 } - factor = 0 - } - - # EP3 Dynasty Legacy Perk Malus - modifier = { - add = -70 - scope:target.dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_5 } - } - } -} - -# Foster Legitimacy -start_foster_legitimacy_interaction = { - icon = icon_scheme_foster_legitimacy - interface_priority = 10 - common_interaction = no - category = interaction_category_vassal - - filter_tags = { admin_liege } - - send_name = START_SCHEME - - scheme = foster_legitimacy_scheme - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 60 - - is_shown = { - scope:actor = { - is_adult = yes - is_imprisoned = no - government_has_flag = government_is_administrative - } - - NOT = { - scope:recipient = scope:actor - } - - scope:recipient = { - this = scope:actor.liege - is_adult = yes - government_has_flag = government_is_administrative - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = foster_legitimacy_scheme - target_character = scope:recipient - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = foster_legitimacy_scheme - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_foster_legitimacy_approved - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_foster_legitimacy_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = foster_legitimacy_scheme - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = diplomacy } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - custom_tooltip = foster_legitimacy_positive_outcome_actor_tt - custom_tooltip = foster_legitimacy_negative_outcome_tt - } - scope:recipient = { - custom_tooltip = foster_legitimacy_positive_outcome_recipient_tt - } - } - - ai_potential = { - is_governor = yes - trigger_if = { - limit = { exists = scope:recipient } - opinion = { - target = scope:recipient - value > 0 - } - } - # Only try to foster legitimacy if they don't meet your expectations - scope:recipient ?= { - NOT = { meets_legitimacy_expectation_of = scope:actor } - } - } - - auto_accept = yes - - ai_will_do = { - base = 0 # So the AI doesn't mess with your Legitimacy too often - - # Legitimacy Levels - modifier = { - scope:recipient.legitimacy_level >= 4 - add = -50 - } - - #Personality - modifier = { - has_lifestyle = diplomacy_lifestyle - add = 15 - } - - modifier = { - has_trait = loyal - add = 15 - } - - modifier = { - has_trait = disloyal - add = -25 - } - - modifier = { - has_trait = deceitful - add = -15 - } - - # House & Family, but you need to get along - modifier = { - is_close_family_of = scope:recipient - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - add = 25 - } - - modifier = { - house = scope:recipient.house - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - add = 15 - } - - # Relationships - modifier = { - add = -25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -100 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Damage Legitimacy -start_damage_legitimacy_interaction = { - icon = icon_scheme_damage_legitimacy - interface_priority = 9 # listed after start_foster_legitimacy_interaction - common_interaction = no - category = interaction_category_vassal - - filter_tags = { admin_liege } - - send_name = START_SCHEME - - scheme = damage_legitimacy_scheme - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = liege - } - - ai_frequency = 60 - - is_shown = { - scope:actor = { - is_adult = yes - is_imprisoned = no - government_has_flag = government_is_administrative - } - - NOT = { - scope:recipient = scope:actor - } - - scope:recipient = { - this = scope:actor.liege - is_adult = yes - government_has_flag = government_is_administrative - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = damage_legitimacy_scheme - target_character = scope:recipient - } - } - } - - desc = { - triggered_desc = { - trigger = { - scope:actor = { - can_start_scheme = { - type = damage_legitimacy_scheme - target_character = scope:recipient - } - } - } - desc = scheme_interaction_tt_damage_legitimacy_approved - } - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_damage_legitimacy_notification - - left_icon = scope:actor - right_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = damage_legitimacy_scheme - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = intrigue } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - custom_tooltip = damage_legitimacy_negative_outcome_tt - - stress_impact = { - loyal = major_stress_impact_gain - honest = medium_stress_impact_gain - } - } - scope:recipient = { - custom_tooltip = damage_legitimacy_positive_outcome_tt - } - } - - ai_potential = { - is_governor = yes - } - - auto_accept = yes - - ai_will_do = { - base = 0 # So the AI doesn't mess with your Legitimacy too often - - #Personality - modifier = { - has_lifestyle = intrigue_lifestyle - add = 15 - } - - modifier = { - has_trait = disloyal - add = 15 - } - - modifier = { - has_trait = deceitful - add = 15 - } - - modifier = { - has_trait = loyal - add = -25 - } - - modifier = { - has_trait = honest - add = -15 - } - - # Relationships - modifier = { - add = -25 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 75 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} - -# Dispute Border -start_dispute_border_interaction = { - icon = icon_dispute_border - interface_priority = 75 - category = interaction_category_vassal - send_name = START_SCHEME - scheme = dispute_border - ignores_pending_interaction_block = yes - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 60 - common_interaction = yes - - filter_tags = { admin_governor } - - cooldown_against_recipient = { years = 5 } - - target_type = title - target_filter = recipient_realm_titles - - can_be_picked_title = { - scope:target = { - ep3_boundary_dispute_county_trigger = { - OWNER = scope:actor - TARGET = scope:recipient - } - } - } - - is_shown = { - scope:actor = { is_governor = yes } - scope:recipient = { - this != scope:actor - is_alive = yes - top_liege = scope:actor.top_liege - is_governor_or_admin_count = yes - in_diplomatic_range = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_available_adult = yes - trigger_if = { - limit = { exists = scope:target } - can_start_scheme = { - type = dispute_border - target_title = scope:target - } - } - trigger_if = { - limit = { - scope:recipient = { - sub_realm_size > 1 - } - } - custom_tooltip = { - text = dispute_border_county_neighbour_tt - character_is_realm_neighbor = scope:recipient - } - } - trigger_else = { - custom_tooltip = { - text = dispute_border_county_neighbour_tt - scope:recipient.capital_county = { - holder = scope:recipient - any_neighboring_county = { - OR = { - holder = scope:actor - holder.liege ?= scope:actor - } - } - } - } - } - is_in_civil_war = no - custom_tooltip = { - text = admin_vassal_border_limit_desc - top_liege ?= { - NOT = { has_realm_law_flag = admin_vassal_border_limit } - } - } - trigger_if = { - limit = { - top_liege ?= { - NOT = { has_realm_law_flag = admin_vassal_border_limit } - has_realm_law_flag = admin_vassal_border_restricted - } - } - custom_tooltip = { - text = interaction_must_be_powerful_or_dominant_family_tt - house = { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - } - } - } - scope:recipient = { - is_in_civil_war = no - } - } - - desc = start_dispute_border_interaction_desc - - cost = { - influence = { - add = scope:actor.massive_influence_gain - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_dispute_border_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_dispute_border_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_dispute_border_notification - left_icon = scope:recipient - right_icon = scope:target - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = start_dispute_border_notification - left_icon = scope:actor - right_icon = scope:target - scope:actor = { - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = dispute_border - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_bureaucrat - } - } - # Speed. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = dispute_border - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_bureaucrat - AGENT_5 = agent_bureaucrat - } - } - } - } - } - } - random_scheme = { - limit = { - scheme_type = dispute_border - scheme_target_title = scope:target - } - set_variable = { - name = target_character - value = scope:recipient - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = diplomacy } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - if = { - limit = { - scope:recipient = { - highest_held_title_tier >= tier_duchy - } - } - custom_tooltip = boundary_dispute_outcome_tt - } - else = { - custom_tooltip = boundary_dispute_outcome_vassal_tt - } - - stress_impact = { - content = medium_stress_impact_gain - } - } - scope:recipient = { - if = { - limit = { - is_ai = yes - highest_held_title_tier >= tier_duchy - } - add_opinion = { - target = scope:actor - modifier = attempted_dispute_border_opinion - } - } - else_if = { - limit = { - is_ai = yes - } - add_opinion = { - target = scope:actor - modifier = attempted_dispute_border_opinion - opinion = -40 - } - } - } - } - - ai_potential = { - NOT = { - any_scheme = { is_scheme_category = political } - } - is_governor = yes - } - - auto_accept = yes - - ai_will_do = { - base = 0 - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - modifier = { - has_trait = content - add = -15 - } - # Land - modifier = { - scope:recipient = { - any_sub_realm_county = { - OR = { - duchy.holder = scope:actor - kingdom.holder = scope:actor - } - } - } - add = 50 - } - # Relationships - modifier = { - add = -25 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -50 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 15 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 25 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 50 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - # House - modifier = { - add = -50 - scope:recipient.house ?= scope:actor.house - } - } -} - -# Subsume Province -start_subsume_province_interaction = { - icon = icon_subsume_province - common_interaction = yes - interface_priority = 50 - category = interaction_category_vassal - send_name = START_SCHEME - scheme = subsume_province - ignores_pending_interaction_block = yes - ai_targets = { ai_recipients = peer_vassals } - ai_frequency = 60 - - filter_tags = { admin_governor } - - - cooldown = { years = 5 } - - target_type = title - target_filter = recipient_de_jure_titles - - can_be_picked_title = { - scope:actor = { - can_start_scheme = { - type = subsume_province - target_title = scope:target - } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier = tier_duchy - exists = holder - holder = scope:recipient - } - } - - desc = start_subsume_province_interaction_desc - - is_shown = { - scope:actor = { is_governor = yes } - scope:recipient = { - is_alive = yes - top_liege = scope:actor.top_liege - is_governor = yes - NOR = { - this = scope:actor - scope:actor.house = scope:recipient.house - } - in_diplomatic_range = scope:actor - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_available_adult = yes - trigger_if = { - limit = { exists = scope:target } - can_start_scheme = { - type = subsume_province - target_title = scope:target - } - } - trigger_if = { - limit = { - top_liege ?= { - NOT = { has_realm_law_flag = admin_vassal_border_limit } - } - } - custom_tooltip = { - text = interaction_must_be_powerful_or_dominant_family_tt - house = { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - } - } - is_in_civil_war = no - custom_tooltip = { - text = admin_vassal_border_limit_desc - top_liege ?= { - NOT = { has_realm_law_flag = admin_vassal_border_limit } - } - } - } - scope:recipient = { - custom_tooltip = { - text = subsume_province_neighboring_duchy_tt - any_sub_realm_county = { - any_neighboring_county = { - county_held_or_vassal_to_target_trigger = { TARGET = scope:actor } - } - } - } - custom_tooltip = { - text = subsume_province_recipient_scheming_against_you_tt - NOT = { - is_scheming_against = { - type = subsume_province - target = scope:actor - } - } - } - custom_tooltip = { - text = subsume_province_recipient_house_power_or_gov_efficiency_tt - OR = { - governor_efficiency_presented <= -25 - AND = { - trigger_if = { - limit = { house = { is_powerful_family = yes } } - scope:actor.house = { is_dominant_family = yes } - } - house = { is_dominant_family = no } - } - } - } - is_in_civil_war = no - NOT = { is_diarch_of_target = liege } - } - } - - cost = { - influence = { - add = { - value = scope:actor.massive_influence_gain - multiply = 4 - } - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_subsume_province_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_subsume_province_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_subsume_province_notification - left_icon = scope:recipient - right_icon = scope:target - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = start_subsume_province_notification - left_icon = scope:actor - right_icon = scope:target - scope:actor = { - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = subsume_province - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_proponent - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_political_socialite - } - } - # Speed. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = subsume_province - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_political_socialite - AGENT_5 = agent_political_socialite - } - } - } - } - } - } - random_scheme = { - limit = { - scheme_type = subsume_province - scheme_target_title = scope:target - } - set_variable = { - name = target_character - value = scope:recipient - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = diplomacy } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - custom_tooltip = subsume_province_scheme_success_outcome_tt - stress_impact = { - content = medium_stress_impact_gain - } - } - scope:recipient = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = attempted_subsume_province_opinion - } - } - } - } - - ai_potential = { - NOT = { - any_scheme = { is_scheme_category = political } - } - is_governor = yes - } - - auto_accept = yes - - ai_will_do = { - base = 0 - - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - modifier = { - has_trait = content - add = -15 - } - # Land - modifier = { - scope:recipient = { - any_sub_realm_county = { - OR = { - duchy.holder = scope:actor - kingdom.holder = scope:actor - } - } - } - } - # Relationships - modifier = { - add = -25 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -50 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 15 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 25 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 50 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - # House - modifier = { - add = -50 - scope:recipient.house ?= scope:actor.house - } - } -} - -# Found Despotate -start_found_despotate_interaction = { - icon = icon_found_despotate - interface_priority = 60 - common_interaction = yes - category = interaction_category_friendly - send_name = START_SCHEME - scheme = found_despotate - ignores_pending_interaction_block = yes - ai_frequency = 60 - ai_targets = { ai_recipients = self } - - target_type = title - target_filter = secondary_recipient_de_jure_titles - - can_be_picked_title = { - scope:target ?= { - custom_tooltip = { - text = found_despotate_existing_scheme_tt - NOT = { - scope:actor.top_liege = { - any_vassal = { - any_scheme = { - scheme_type = found_despotate - scheme_target_title = scope:target - } - } - } - } - } - trigger_if = { - limit = { tier = tier_kingdom } - custom_tooltip = { - text = found_despotate_hold_duchy_tt - any_direct_de_jure_vassal_title = { holder = scope:actor } - } - custom_tooltip = { - text = found_despotate_hold_county_tt - any_de_jure_county = { holder = scope:actor } - } - } - is_landless_type_title = no - NOT = { holder ?= scope:actor } - is_title_created = no - scope:recipient.top_liege = { completely_controls = scope:target } - } - } - - has_valid_target_showing_failures_only = { - scope:target = { - tier = tier_kingdom - } - } - - # We do this via redirects because recipient_de_jure_titles did not turn up for work today. - redirect = { - scope:actor = { - top_liege ?= { save_scope_as = secondary_recipient } - if = { - limit = { - exists = primary_title.kingdom - primary_title.tier = tier_duchy - } - primary_title.kingdom = { save_scope_as = target } - } - } - } - - cooldown = { years = 5 } - - is_shown = { - scope:actor = { is_governor = yes } - scope:recipient = scope:actor - } - - is_valid_showing_failures_only = { - #If kingdom primary title kingdom has more than one duchy, needs to have two duchies - trigger_if = { - limit = { - scope:actor = { - is_ruler = yes - primary_title.kingdom = { - any_in_de_jure_hierarchy = { - count >= 2 - tier = tier_duchy - is_landless_type_title = no - } - } - } - } - custom_tooltip = { - text = 2_or_more_governorships_tt - scope:actor = { - any_held_title = { - count >= 2 - tier = tier_duchy - is_landless_type_title = no - } - } - - } - } - scope:actor = { - is_adult = yes - is_imprisoned = no - highest_held_title_tier < tier_kingdom - custom_tooltip = { - text = interaction_must_be_powerful_or_dominant_family_tt - exists = house - house = { - OR = { - is_powerful_family = yes - is_dominant_family = yes - } - } - } - custom_tooltip = { - text = influence_level_3_tt - influence_level >= 3 - } - } - scope:secondary_recipient.primary_title ?= { - any_direct_de_jure_vassal_title = { - tier = tier_kingdom - is_landless_type_title = no - custom_tooltip = { - text = found_despotate_hold_duchy_tt - any_direct_de_jure_vassal_title = { holder = scope:actor } - } - NOT = { holder ?= scope:actor } - is_title_created = no - } - } - custom_tooltip = { - text = found_despotate_existing_scheme_tt - NOT = { - scope:actor.top_liege = { - any_vassal = { - any_scheme = { - scheme_type = found_despotate - scheme_target_title = scope:actor.primary_title.kingdom - } - } - } - } - } - custom_tooltip = { - text = found_despotate_percent_controlled_tt - scope:actor.primary_title.kingdom = { - any_de_jure_county = { - percent >= 0.25 - county_held_or_vassal_to_target_trigger = { TARGET = scope:actor } - } - } - } - trigger_if = { - limit = { - exists = scope:target - scope:actor.liege.diarch ?= { - any_held_title = { - any_this_title_or_de_jure_above = { this = scope:target } - } - } - } - scope:actor.liege.diarch = { - NOT = { is_diarch_of_target = liege } - } - } - } - - desc = start_found_despotate_interaction_desc - - cost = { - influence = { - add = scope:actor.massive_influence_value - } - } - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_found_despotate_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_found_despotate_interaction.tt.agent_focus_speed - } - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_found_despotate_notification - left_icon = scope:recipient - right_icon = scope:target - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = start_found_despotate_notification - left_icon = scope:actor - right_icon = scope:target - scope:actor = { - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = found_despotate - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - AGENT_3 = agent_sycophant - # Speed. - AGENT_4 = agent_political_socialite - AGENT_5 = agent_political_socialite - } - } - # Speed. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = found_despotate - TARGET_TYPE = target_title - TARGET_SCOPE = scope:target - # Success. - AGENT_1 = agent_intermediary - AGENT_2 = agent_proponent - # Speed. - AGENT_3 = agent_political_socialite - AGENT_4 = agent_political_socialite - AGENT_5 = agent_political_socialite - } - } - } - } - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = diplomacy } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - custom_tooltip = found_despotate_success_tt - - stress_impact = { - content = minor_stress_impact_gain - humble = minor_stress_impact_gain - } - } - } - - ai_potential = { - has_trait = ambitious - is_governor = yes - NOR = { - has_trait = content - any_scheme = { is_scheme_category = political } - } - } - - auto_accept = yes - - ai_will_do = { - base = 15 - } -} - -# Raid Estate -start_raid_estate_interaction = { - icon = icon_raid_estate - interface_priority = 90 - category = interaction_category_hostile - send_name = START_SCHEME - scheme = raid_estate - ignores_pending_interaction_block = yes - ai_frequency = 60 - - ai_targets = { ai_recipients = liege } - ai_targets = { - ai_recipients = peer_vassals - max = 20 - } - ai_targets = { - ai_recipients = vassals - max = 20 - } - - filter_tags = { admin_house_head } - - cooldown = { years = 5 } - - highlighted_reason = start_raid_estate_interaction_HIGHLIGHTED - - is_highlighted = { scope:actor.var:raid_estate_permission ?= scope:recipient.house } - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient.house.house_head ?= { - this = scope:recipient - exists = house - NOT = { house = scope:actor.house } - top_liege = scope:actor.top_liege - government_has_flag = government_is_administrative - any_held_title = { is_noble_family_title = yes } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - is_available_adult = yes - custom_tooltip = { - text = raid_estate_noble_family_tt - any_held_title = { is_noble_family_title = yes } - house.house_head ?= this - } - } - scope:recipient.house.house_head ?= { - custom_tooltip = { - text = raid_estate_noble_family_target_tt - any_held_title = { is_noble_family_title = yes } - } - custom_tooltip = { - text = raid_estate_estate_tt - domicile ?= { is_domicile_type = estate } - } - } - } - - desc = start_raid_estate_interaction_desc - - # Scheme Starter Packages - options_heading = schemes.t.agent_packages - send_options_exclusive = yes - ## Balanced agents. - send_option = { - flag = agent_focus_balance - current_description = start_raid_estate_interaction.tt.agent_focus_balance - } - ## Focused on Success Chance. - send_option = { - flag = agent_focus_success - current_description = start_raid_estate_interaction.tt.agent_focus_success - } - ## Focused on Speed. - send_option = { - flag = agent_focus_speed - current_description = start_raid_estate_interaction.tt.agent_focus_speed - } - ## Focused on Secrecy. - send_option = { - flag = agent_focus_secrecy - current_description = start_raid_estate_interaction.tt.agent_focus_secrecy - } - - on_accept = { - scope:recipient = { - custom_tooltip = raid_estate_kill_maim_imprison_house_members_tt - custom_tooltip = raid_estate_destroy_buildings_tt - custom_tooltip = raid_estate_house_modifier_tt - random_held_title = { - limit = { is_noble_family_title = yes } - save_scope_as = target_title - } - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_raid_estate_notification - left_icon = scope:recipient - right_icon = scope:target_title - # Success. - if = { - limit = { scope:agent_focus_success ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = raid_estate - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_scout - AGENT_2 = agent_scout - AGENT_3 = agent_muscle - # Speed. - AGENT_4 = agent_infiltrator - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Speed. - else_if = { - limit = { scope:agent_focus_speed ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = raid_estate - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Speed. - AGENT_1 = agent_infiltrator - AGENT_2 = agent_infiltrator - AGENT_3 = agent_footpad - # Success. - AGENT_4 = agent_scout - # Secrecy. - AGENT_5 = agent_lookout - } - } - # Secrecy. - else_if = { - limit = { scope:agent_focus_secrecy ?= yes } - begin_scheme_with_agents_effect = { - SCHEME_TYPE = raid_estate - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Secrecy. - AGENT_1 = agent_lookout - AGENT_2 = agent_lookout - AGENT_3 = agent_alibi - # Success. - AGENT_4 = agent_scout - # Speed. - AGENT_5 = agent_infiltrator - } - } - # Balanced. - else = { - begin_scheme_with_agents_effect = { - SCHEME_TYPE = raid_estate - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - # Success. - AGENT_1 = agent_scout - AGENT_2 = agent_muscle - # Speed. - AGENT_3 = agent_infiltrator - AGENT_4 = agent_footpad - # Secrecy. - AGENT_5 = agent_lookout - } - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = intrigue } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - - custom_tooltip = raid_estate_gain_coin_tt - if = { - limit = { - has_relation_rival = scope:recipient - } - custom_tooltip = raid_estate_nemesis_relation_tt - } - else = { - custom_tooltip = raid_estate_rival_relation_tt - } - - stress_impact = { - content = medium_stress_impact_gain - } - if = { - limit = { - has_relation_nemesis = scope:recipient - } - stress_impact = { base = major_stress_impact_loss } - } - else_if = { - limit = { - has_relation_rival = scope:recipient - } - stress_impact = { base = medium_stress_impact_loss } - } - } - } - - ai_potential = { - NOT = { - any_scheme = { is_hostile = yes } - } - any_held_title = { is_noble_family_title = yes } - } - - auto_accept = yes - - ai_will_do = { - base = -20 - #Personality - modifier = { - has_trait = vengeful - add = 15 - } - modifier = { - has_trait = forgiving - add = -15 - } - modifier = { - has_trait = brave - add = 15 - } - modifier = { - has_trait = craven - add = -15 - } - # Relationships - modifier = { - add = -25 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -50 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 15 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 25 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 50 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - scope:recipient.house = scope:actor.top_liege.house - add = -25 - } - opinion_modifier = { - who = scope:actor - opinion_target = scope:recipient - multiplier = -0.25 - } - } -} - -# Teach Governor - AKA Mentor in Governance/mentor_in_governance -start_teach_governor_interaction = { - icon = icon_teach_governor - interface_priority = 20 - category = interaction_category_vassal - filter_tags = { admin_governor } - send_name = START_SCHEME - scheme = teach_governor - ai_targets = { - ai_recipients = peer_vassals - max = 20 - } - ai_targets = { - ai_recipients = vassals - max = 10 - } - - ai_frequency = 60 - - notification_text = TEACH_GOVERNOR_NOTIFICATION - ai_min_reply_days = 4 - ai_max_reply_days = 9 - - cooldown_against_recipient = { years = 15 } - - is_shown = { - scope:actor = { government_has_flag = government_is_administrative } - scope:recipient != scope:actor - scope:recipient = { - is_alive = yes - top_liege = scope:actor.top_liege - in_diplomatic_range = scope:actor - } - - scope:actor = { - exists = domicile - domicile = { has_domicile_parameter = estate_unlock_teach_governor_interaction } - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = teach_governor - target_character = scope:recipient - } - custom_tooltip = { - text = teach_governor_maximum_xp_tt - scope:recipient = { has_trait_xp = { trait = governor value < 95 } } - } - custom_tooltip = { - text = teach_governor_minimum_xp_tt - scope:recipient = { - trigger_if = { - limit = { has_trait_xp = { trait = governor value >= 100 } } - scope:actor = { has_trait_xp = { trait = governor value >= 75 } } - } - trigger_else_if = { - limit = { has_trait_xp = { trait = governor value >= 75 } } - scope:actor = { has_trait_xp = { trait = governor value >= 50 } } - } - trigger_else_if = { - limit = { has_trait_xp = { trait = governor value >= 50 } } - scope:actor = { has_trait_xp = { trait = governor value >= 25 } } - } - trigger_else = { always = yes } - } - } - } - } - - desc = start_teach_governor_interaction_desc - - cost = { - influence = { add = scope:actor.minor_influence_gain } - } - - on_accept = { - scope:actor = { - custom_tooltip = teach_governor_actor_reward_tt - stress_impact = { - humble = minor_stress_impact_gain - lazy = medium_stress_impact_gain - } - trigger_event = scheme_critical_moments.8045 - } - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_teach_governor_notification - left_icon = scope:recipient - right_icon = scope:recipient.primary_title - scope:recipient = { - send_interface_toast = { - type = event_toast_effect_bad - title = start_teach_governor_notification - left_icon = scope:actor - right_icon = scope:actor.primary_title - scope:actor = { - begin_scheme_basic_effect = { - SCHEME_TYPE = teach_governor - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - } - } - } - } - # Scheme progress bonus from education - education_5_scheme_progress_effect = { SKILL = stewardship } - # Scheme bonuses from being the emperor/dominant family/powerful family - ep3_actor_scheme_modifier_effect = yes - } - scope:recipient = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:actor - modifier = mentoring_governor_opinion - } - } - custom_tooltip = teach_governor_recipient_reward_tt - } - } - - on_decline = { - scope:actor = { - if = { - limit = { is_ai = yes } - add_opinion = { - target = scope:recipient - modifier = insulted_opinion - opinion = -10 - } - } - else = { trigger_event = scheme_critical_moments.8046 } - } - } - - ai_potential = { - NOR = { - has_trait = lazy - scheme_generic_ai_blocker_trigger = yes - } - is_governor = yes - } - - ai_accept = { - base = 0 - opinion_modifier = { - who = scope:recipient - opinion_target = scope:actor - multiplier = 0.25 - } - # Experience - modifier = { - desc = RELATIVE_GOVERNOR_EFFICIENCY - add = { - value = ep3_actor_recipient_governor_trait_level_diff_value - subtract = 1 - multiply = 15 - } - } - modifier = { # If you are from a powerful family, and they are not, they are more likely to accept - scope:actor.house ?= { is_powerful_family = yes } - house ?= { - is_powerful_family = no - is_dominant_family = no - } - add = 15 - desc = your_house_is_powerful_reason - } - modifier = { # If you are from a dominant family, and they are not, they are more likely to accept - scope:actor.house ?= { is_dominant_family = yes } - house ?= { is_dominant_family = no } - add = 25 - desc = your_house_is_dominant_reason - } - modifier = { # If they are from a powerful family, and you are not, they are more likely to refuse - house ?= { is_powerful_family = yes } - scope:actor.house ?= { - is_powerful_family = no - is_dominant_family = no - } - add = -15 - desc = their_house_is_powerful_reason - } - modifier = { # If they are from a dominant family, and you are not, they are more likely to refuse - house ?= { is_dominant_family = yes } - scope:actor.house ?= { is_dominant_family = no } - add = -25 - desc = their_house_is_dominant_reason - } - modifier = { # Difference in influence level - influence_level != scope:actor.influence_level - add = { - add = { - add = 10 - multiply = scope:recipient.influence_level - } - subtract = { - add = 10 - multiply = scope:actor.influence_level - } - } - desc = difference_in_influence_level_reason - } - modifier = { - scope:actor = { - exists = house - } - scope:recipient = { - exists = house - } - exists = scope:actor.house.house_head.top_liege - house.house_head.top_liege ?= scope:actor.house.house_head.top_liege - add = { - value = scope:actor.house.house_power_score - subtract = scope:recipient.house.house_power_score - divide = 4 - floor = yes - } - desc = RELATIVE_FAMILY_RATING - } - # Relations - modifier = { # Friend - desc = offer_vassalization_interaction_aibehavior_friend_tt - has_relation_friend = scope:actor - NOT = { has_relation_best_friend = scope:actor } - add = 15 - } - modifier = { # Best Friend - desc = offer_vassalization_interaction_aibehavior_best_friend_tt - has_relation_best_friend = scope:actor - add = 30 - } - modifier = { # Rival - desc = offer_vassalization_interaction_aibehavior_rival_tt - has_relation_rival = scope:actor - NOT = { has_relation_nemesis = scope:actor } - add = -25 - } - modifier = { # Nemesis - desc = offer_vassalization_interaction_aibehavior_nemesis_tt - has_relation_nemesis = scope:actor - add = -50 - } - modifier = { - is_close_family_of = scope:actor - add = 50 - desc = CLOSE_FAMILY_REASON - } - modifier = { - is_extended_family_of = scope:actor - add = 25 - desc = EXTENDED_FAMILY_REASON - } - modifier = { - NOR = { - is_close_family_of = scope:actor - is_extended_family_of = scope:actor - } - house ?= scope:actor.house - add = 5 - desc = YOU_ARE_MY_HOUSE_MEMBER - } - #Age - modifier = { - desc = AGE_DIFFERENCE - add = { - value = scope:actor.age - add = { - value = scope:recipient.age - multiply = -1 - } - } - } - # Traits - modifier = { - has_trait = ambitious - add = 10 - desc = INTERACTION_AMBITIOUS - } - modifier = { - has_trait = diligent - add = 10 - desc = INTERACTION_DILIGENT - } - modifier = { - has_trait = humble - add = 10 - desc = INTERACTION_HUMBLE - } - modifier = { - has_trait = content - add = -10 - desc = INTERACTION_CONTENT - } - modifier = { - has_trait = lazy - add = -10 - desc = INTERACTION_LAZY - } - modifier = { - has_trait = arrogant - add = -10 - desc = INTERACTION_ARROGANT - } - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:actor.house - } - } - add = -50 - } - } - - ai_will_do = { - base = -25 - #Personality - modifier = { - has_trait = diligent - add = 15 - } - modifier = { - has_trait = generous - add = 15 - } - modifier = { - has_trait = lazy - add = -15 - } - modifier = { - has_trait = greedy - add = -15 - } - # Relationships - modifier = { - add = 25 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = 50 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -15 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -25 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - modifier = { - add = -50 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - # House - modifier = { - add = 5 - scope:recipient.house ?= scope:actor.house - } - # Family - modifier = { - add = 10 - scope:actor = { is_parent_of = scope:recipient } - } - modifier = { - add = 5 - scope:actor = { is_close_family_of = scope:recipient } - } - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = -50 - } - } -} - -# Ingratiate Family -start_ingratiate_family_interaction = { - icon = icon_ingratiate_family - interface_priority = 50 - category = interaction_category_friendly - filter_tags = { admin_house_head } - send_name = START_SCHEME - scheme = ingratiate_family - ignores_pending_interaction_block = yes - - ai_targets = { - ai_recipients = peer_vassals - max = 20 - } - ai_frequency = 36 - - is_shown = { - scope:actor = { - can_start_scheme = { - type = ingratiate_family - target_character = scope:recipient - } - } - scope:actor = { - is_adult = yes - is_imprisoned = no - is_incapable = no - any_held_title = { is_noble_family_title = yes } - house.house_head ?= this - } - scope:recipient = { - is_adult = yes - is_imprisoned = no - is_incapable = no - any_held_title = { is_noble_family_title = yes } - house.house_head ?= this - NOT = { house = scope:actor.house } - top_liege = scope:actor.top_liege - } - } - - is_valid_showing_failures_only = { - scope:actor = { - can_start_scheme = { - type = ingratiate_family - target_character = scope:recipient - } - } - } - - desc = start_ingratiate_family_interaction_desc - - on_accept = { - scope:actor = { - send_interface_toast = { - type = event_toast_effect_neutral - title = start_ingratiate_family_notification - left_icon = scope:recipient - - begin_scheme_basic_effect = { - SCHEME_TYPE = ingratiate_family - TARGET_TYPE = target_character - TARGET_SCOPE = scope:recipient - } - scope:recipient = { - if = { - limit = { is_ai = yes } - add_opinion = { - modifier = ingratiating_family_opinion - target = scope:actor - } - } - } - show_as_tooltip = { - stress_impact = { - arrogant = minor_stress_impact_gain - shy = minor_stress_impact_gain - } - } - } - - if = { # I am the emperor - limit = { scope:actor.highest_held_title_tier >= tier_empire } - custom_tooltip = { - text = admin_emperor_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_emperor_scheme_modifier } - } - } - } - else_if = { # I am a dominant family - limit = { - scope:actor.house ?= { is_dominant_family = yes } - } - custom_tooltip = { - text = admin_dominant_family_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_dominant_family_scheme_modifier } - } - } - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_empire } - custom_tooltip = { - text = admin_target_emperor_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_emperor_scheme_modifier } - } - } - } - } - else_if = { # I am a powerful family - limit = { - scope:actor.house ?= { is_powerful_family = yes } - } - custom_tooltip = { - text = admin_powerful_family_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_powerful_family_scheme_modifier } - } - } - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_empire } - custom_tooltip = { - text = admin_target_emperor_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_emperor_scheme_modifier } - } - } - } - else_if = { - limit = { scope:recipient.house ?= { is_dominant_family = yes } } - custom_tooltip = { - text = admin_target_dominant_family_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_dominant_family_scheme_modifier } - } - } - } - } - else = { # I am NOT a powerful or dominant family or the emperor - if = { - limit = { scope:recipient.highest_held_title_tier >= tier_empire } - custom_tooltip = { - text = admin_target_emperor_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_emperor_scheme_modifier } - } - } - } - else_if = { - limit = { scope:recipient.house ?= { is_dominant_family = yes } } - custom_tooltip = { - text = admin_target_dominant_family_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_dominant_family_scheme_modifier } - } - } - } - else_if = { - limit = { scope:recipient.house ?= { is_powerful_family = yes } } - custom_tooltip = { - text = admin_target_powerful_family_scheme_modifier_tt - random_scheme = { - limit = { - scheme_type = ingratiate_family - scheme_target_character = scope:recipient - } - add_scheme_modifier = { type = admin_target_powerful_family_scheme_modifier } - } - } - } - } - - custom_tooltip = ingratiate_family_success_actor_tt - stress_impact = { - arrogant = minor_stress_impact_gain - shy = minor_stress_impact_gain - } - } - scope:recipient = { - custom_tooltip = ingratiate_family_success_recipient_tt - } - } - - ai_potential = { - NOT = { - any_scheme = { - is_scheme_category = hostile - } - } - } - - auto_accept = yes - - ai_will_do = { - base = 5 - - #Competing candidate - modifier = { - scope:recipient = { is_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = -50 - } - - modifier = { - scope:recipient = { is_winning_competing_for_same_title_as = { CHARACTER = scope:actor } } - add = -75 - } - - #Personality - modifier = { - has_trait = ambitious - add = 15 - } - - modifier = { - has_trait = deceitful - add = 15 - } - - modifier = { - has_trait = honest - add = -15 - } - - # Culture - modifier = { - culture != scope:actor.culture - "culture.cultural_acceptance(scope:recipient.culture)" < 50 - add = { - value = 50 - subtract = "culture.cultural_acceptance(scope:recipient.culture)" - multiply = -0.25 - round = yes - } - desc = CULTURAL_ACCEPTANCE - } - - # Faith - modifier = { - faith = { - faith_hostility_level = { - target = scope:recipient.faith - value >= faith_astray_level - } - } - add = { - value = "faith.faith_hostility_level(scope:recipient.faith)" - multiply = -10 - } - desc = FAITH_HOSTILITY_LEVEL - } - - # House & Family - modifier = { - is_close_family_of = scope:recipient - add = -20 - } - - #Feuds - modifier = { - house.house_head ?= { - any_owned_story = { - story_type = story_cycle_house_feud - has_variable = house_feud_house - var:house_feud_house = scope:recipient.house - } - } - add = -50 - } - - # Relationships - modifier = { - add = -25 - has_any_mild_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = -50 - has_any_moderate_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - factor = 0 - has_any_worst_bad_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 25 - has_any_mild_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 50 - has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - - modifier = { - add = 100 - has_any_best_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } - } - } -} diff --git a/N3OW/common/character_interactions/06_ep3_test_interactions_.txt b/N3OW/common/character_interactions/06_ep3_test_interactions_.txt deleted file mode 100644 index 25c2c053..00000000 --- a/N3OW/common/character_interactions/06_ep3_test_interactions_.txt +++ /dev/null @@ -1,114 +0,0 @@ - -make_noble_family_interaction = { - - category = interaction_debug_admin - common_interaction = no - icon = powerful_family_shield - - is_shown = { - debug_only = yes - scope:recipient = { - liege = scope:actor - is_ruler = no - } - } - - auto_accept = yes - on_accept = { - scope:recipient = { create_noble_family_effect = yes } - } -} - -destroy_noble_family_interaction = { - - category = interaction_debug_admin - common_interaction = no - icon = icon_cross - - is_shown = { - debug_only = yes - scope:recipient = { - liege = scope:actor - any_held_title = { - is_noble_family_title = yes - } - } - } - - auto_accept = yes - - on_accept = { - scope:recipient = { - random_held_title = { - limit = { - is_noble_family_title = yes - } - save_scope_as = title_to_destroy - scope:recipient = { - destroy_title = scope:title_to_destroy - } - } - } - } -} - -invest_appointment_interaction = { - - category = interaction_debug_admin - common_interaction = yes - icon = byzantine_crown_positive - - target_type = title - target_filter = actor_domain_titles - - is_shown = { - debug_only = yes - scope:recipient = { - government_has_flag = government_is_administrative - liege = scope:actor - } - } - - auto_accept = yes - - on_accept = { - scope:target = { - change_appointment_investment = { - target = scope:recipient - value = 20 - } - } - } -} - -transfer_title_army_maa_interaction = { - category = interaction_debug_admin - target_type = title - target_filter = actor_domain_titles - icon = request_maa_interaction - - - auto_accept = yes - - is_shown = { - debug_only = yes - scope:recipient = { - government_has_flag = government_is_administrative - } - scope:actor = { - government_has_flag = government_is_administrative - } - scope:actor != scope:recipient - } - - on_accept = { - scope:actor = { - every_maa_regiment = { - limit = { - regiment_owning_title = scope:target - } - transfer_title_maa = scope:recipient.primary_title - } - } - } -} diff --git a/N3OW/common/domiciles/buildings/00_camp_buildings.txt b/N3OW/common/domiciles/buildings/00_camp_buildings.txt index 96b8ba2a..e066e7ee 100644 --- a/N3OW/common/domiciles/buildings/00_camp_buildings.txt +++ b/N3OW/common/domiciles/buildings/00_camp_buildings.txt @@ -27,10 +27,26 @@ camp_main_01 = { parameters = { camp_unlocks_second_officer = yes } - + # If you ever lose your main tent, for the love of god, get it back AQAP. ai_value = { value = 10000 } - + + ### ASIAN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_01_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + ### WESTERN asset = { trigger = { @@ -120,7 +136,7 @@ camp_main_02 = { parameters = { camp_unlocks_second_officer = yes } - + ai_value = { value = camp_main_main_path_value if = { @@ -130,7 +146,23 @@ camp_main_02 = { multiply = 10 } } - + + ### ASIAN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + ### WESTERN asset = { trigger = { @@ -221,7 +253,7 @@ camp_main_03 = { parameters = { camp_unlocks_second_officer = yes } - + ai_value = { value = camp_main_main_path_value if = { @@ -231,7 +263,23 @@ camp_main_03 = { multiply = 10 } } - + + ### ASIAN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + ### WESTERN asset = { trigger = { @@ -323,7 +371,7 @@ camp_main_04 = { parameters = { camp_unlocks_second_officer = yes } - + ai_value = { value = camp_main_main_path_value if = { @@ -333,6 +381,22 @@ camp_main_04 = { multiply = 10 } } + + ### ASIAN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_asian_level_03_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } ### WESTERN asset = { @@ -422,8 +486,23 @@ supply_tent_01 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" @@ -457,9 +536,24 @@ supply_tent_02 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -493,9 +587,24 @@ supply_tent_03 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -530,9 +639,24 @@ supply_tent_04 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -568,9 +692,24 @@ supply_tent_05 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -607,9 +746,24 @@ supply_tent_06 = { camp_unlocks_quartermaster_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = supply_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -638,7 +792,7 @@ supply_tent_sutler = { # Sutler monthly_stewardship_lifestyle_xp_gain_mult = 0.25 supply_capacity_mult = 0.5 } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -649,7 +803,22 @@ supply_tent_sutler = { # Sutler } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_sutler.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_sutler.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -678,7 +847,7 @@ supply_tent_mender = { # Mender archers_toughness_mult = 0.15 pikemen_toughness_mult = 0.15 } - + ai_value = { value = camp_building_ai_base_t2 if = { @@ -689,7 +858,22 @@ supply_tent_mender = { # Mender } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mender.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mender.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -725,7 +909,7 @@ supply_tent_smithy = { # Smithy parameters = { camp_unlocks_armorer_officer = yes } - + ai_value = { value = camp_building_ai_base_t4 if = { @@ -742,7 +926,22 @@ supply_tent_smithy = { # Smithy } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -773,7 +972,7 @@ supply_tent_arsenal = { # Arsenal parameters = { camp_unlocks_armorer_officer = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -784,7 +983,22 @@ supply_tent_arsenal = { # Arsenal } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -826,7 +1040,7 @@ supply_tent_reserve_provisions = { # Reserve Provisions parameters = { camp_unlocks_chief_forager_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -837,7 +1051,22 @@ supply_tent_reserve_provisions = { # Reserve Provisions } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -878,7 +1107,7 @@ supply_tent_reserve_water = { # Reserve Water parameters = { camp_unlocks_chief_forager_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -889,7 +1118,22 @@ supply_tent_reserve_water = { # Reserve Water } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -927,7 +1171,7 @@ supply_tent_climbing_gear = { # Climbing Gear mountains_min_combat_roll = 5 desert_mountains_min_combat_roll = 5 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -938,7 +1182,22 @@ supply_tent_climbing_gear = { # Climbing Gear } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_climbing.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_climbing.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -976,7 +1235,7 @@ supply_tent_subdued_gear = { # Subdued Gear camp_unlocks_master_thief_officer = yes camp_reduced_criminal_contract_xp_gain = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -987,7 +1246,22 @@ supply_tent_subdued_gear = { # Subdued Gear } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" @@ -1020,15 +1294,30 @@ barber_tent_01 = { parameters = { camp_infection_chance_buff_1 = yes } - + ai_value = { value = barber_tent_main_path_value } + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_mask.png" soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" - + } } barber_tent_02 = { @@ -1057,9 +1346,24 @@ barber_tent_02 = { parameters = { camp_infection_chance_buff_2 = yes } - + ai_value = { value = barber_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1094,9 +1398,24 @@ barber_tent_03 = { parameters = { camp_infection_chance_buff_3 = yes } - + ai_value = { value = barber_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1132,9 +1451,24 @@ barber_tent_04 = { parameters = { camp_infection_chance_buff_4 = yes } - + ai_value = { value = barber_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1171,9 +1505,24 @@ barber_tent_05 = { parameters = { camp_infection_chance_buff_5 = yes } - + ai_value = { value = barber_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1211,9 +1560,24 @@ barber_tent_06 = { parameters = { camp_infection_chance_buff_6 = yes } - + ai_value = { value = barber_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1245,7 +1609,7 @@ barber_tent_surgeons_tools = { # Surgeon's Tools parameters = { camp_improved_court_physician_aptitude = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -1256,7 +1620,22 @@ barber_tent_surgeons_tools = { # Surgeon's Tools } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_surgeons_tools.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_surgeons_tools.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1283,7 +1662,7 @@ barber_tent_dentists_tools = { # Dentist's Tools negate_health_penalty_add = 0.25 hard_casualty_modifier = -0.1 } - + ai_value = { value = camp_building_ai_base_t2 if = { @@ -1294,7 +1673,22 @@ barber_tent_dentists_tools = { # Dentist's Tools } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_dentist.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_dentist.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1327,7 +1721,7 @@ barber_tent_torturers_tools = { # Torturer's Tools parameters = { camp_unlocks_torture_interaction = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -1344,7 +1738,22 @@ barber_tent_torturers_tools = { # Torturer's Tools multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_torture.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_torture.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1379,7 +1788,7 @@ barber_tent_reference_corpus = { # Reference Corpus monthly_learning_lifestyle_xp_gain_mult = 0.25 learning_scheme_phase_duration = -10 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -1390,7 +1799,22 @@ barber_tent_reference_corpus = { # Reference Corpus } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1427,7 +1851,7 @@ barber_tent_morticians_tools = { # Mortician's Tools parameters = { camp_gold_from_victories_or_nearby_battles = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -1438,7 +1862,22 @@ barber_tent_morticians_tools = { # Mortician's Tools } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_morticians_tools.dds" + texture = "gfx/interface/window_domiciles/laamp_building_barber_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_barber_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_barber_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_morticians_tools.dds" texture = "gfx/interface/window_domiciles/laamp_building_barber.dds" @@ -1473,9 +1912,24 @@ baggage_train_01 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1511,9 +1965,24 @@ baggage_train_02 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1550,9 +2019,24 @@ baggage_train_03 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1590,9 +2074,24 @@ baggage_train_04 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1631,9 +2130,24 @@ baggage_train_05 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1673,9 +2187,24 @@ baggage_train_06 = { camp_unlocks_head_porter_officer = yes receives_more_escort_contracts = yes } - + ai_value = { value = baggage_train_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1717,7 +2246,7 @@ baggage_train_ample_steeds = { # Ample Steeds camp_unlocks_head_groom_officer = yes camp_cheaper_cavalry_reinforcement = yes } - + ai_value = { value = camp_building_ai_base_t2 if = { @@ -1728,7 +2257,22 @@ baggage_train_ample_steeds = { # Ample Steeds } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_ample_steeds.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_ample_steeds.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1761,7 +2305,7 @@ baggage_train_porters = { # Porters camp_recruit_porters_events = yes camp_improved_reinforcement_from_gold = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -1777,7 +2321,22 @@ baggage_train_porters = { # Porters } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_porters.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_porters.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1814,7 +2373,7 @@ baggage_train_trackers = { # Trackers camp_improved_tracker_contract_success = yes camp_improves_gather_provisions_hunting = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -1825,7 +2384,22 @@ baggage_train_trackers = { # Trackers } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_trackers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_trackers.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1865,9 +2439,24 @@ baggage_train_kennel = { # Kennel camp_unlocks_kennelperson_officer = yes camp_unlocks_adopt_a_kennel_dog_decision = yes } - + ai_value = { value = camp_building_ai_base_t1 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1904,7 +2493,7 @@ baggage_train_siege_engineers = { # Siege Engineers parameters = { camp_unlocks_chief_engineer_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -1915,7 +2504,22 @@ baggage_train_siege_engineers = { # Siege Engineers } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_siege_engineers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_siege_engineers.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -1947,11 +2551,11 @@ baggage_train_shrine = { # Shrine parameters = { camp_enable_conversion = yes } - + parameters = { camp_unlocks_camp_priest_officer = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -1968,7 +2572,22 @@ baggage_train_shrine = { # Shrine multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2005,7 +2624,7 @@ baggage_train_scribes = { # Scribes parameters = { camp_improved_learning_contract_rewards = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -2016,7 +2635,22 @@ baggage_train_scribes = { # Scribes } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2047,7 +2681,7 @@ baggage_train_bartering_grounds = { # Bartering Grounds camp_improved_stewardship_contract_rewards = yes camp_unlocks_pawn_gear_interaction = yes } - + ai_value = { value = camp_building_ai_base_t4 if = { @@ -2058,7 +2692,22 @@ baggage_train_bartering_grounds = { # Bartering Grounds } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2095,7 +2744,7 @@ baggage_train_proof_of_claims = { # Proof of Claims parameters = { camp_unlocks_witness_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -2106,7 +2755,22 @@ baggage_train_proof_of_claims = { # Proof of Claims } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proof_of_claims.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proof_of_claims.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2143,7 +2807,7 @@ baggage_train_ransom_cages = { # Ransom Cages camp_reduced_prisoner_escape_chance = yes camp_unlocks_abduct_scheme = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -2154,7 +2818,22 @@ baggage_train_ransom_cages = { # Ransom Cages } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_ransom_cages.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_ransom_cages.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2191,7 +2870,7 @@ baggage_train_negotiators = { # Negotiators parameters = { camp_improves_wipe_slate_decision = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -2202,7 +2881,22 @@ baggage_train_negotiators = { # Negotiators } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_negotiators.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_negotiators.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2237,7 +2931,7 @@ baggage_train_ascetics = { # Ascetics domicile_monthly_piety_add = 3 holy_order_hire_cost_mult = -0.5 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -2248,7 +2942,22 @@ baggage_train_ascetics = { # Ascetics } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2278,7 +2987,7 @@ baggage_train_pleasure_tents = { # Pleasure Tents monthly_intrigue_lifestyle_xp_gain_mult = 0.25 fertility = 0.2 } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -2289,7 +2998,22 @@ baggage_train_pleasure_tents = { # Pleasure Tents } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pleasure_tents.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_pleasure_tents.dds" texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" @@ -2323,9 +3047,24 @@ mess_tent_01 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2360,9 +3099,24 @@ mess_tent_02 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2398,9 +3152,24 @@ mess_tent_03 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2437,9 +3206,24 @@ mess_tent_04 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2477,9 +3261,24 @@ mess_tent_05 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2518,9 +3317,24 @@ mess_tent_06 = { camp_improves_gather_provisions_decision = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = mess_tent_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2553,7 +3367,7 @@ mess_tent_herbalists = { # Herbalists camp_unlocks_poisoner_scheme_agents = yes camp_improves_gather_provisions_foraging = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -2564,7 +3378,22 @@ mess_tent_herbalists = { # Herbalists } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_herbalists.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_herbalists.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2597,7 +3426,7 @@ mess_tent_brewers = { # Brewers camp_unlocks_chief_forager_officer = yes camp_unlocks_camp_party_food_option = yes } - + ai_value = { value = camp_building_ai_base_t2 if = { @@ -2608,7 +3437,22 @@ mess_tent_brewers = { # Brewers } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2636,7 +3480,7 @@ mess_tent_curers = { # Curers provisions_capacity_mult = 0.5 supply_capacity_mult = 0.25 } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -2647,7 +3491,22 @@ mess_tent_curers = { # Curers } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_curers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_curers.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2677,7 +3536,7 @@ mess_tent_bakers = { # Bakers light_cavalry_pursuit_mult = 0.4 archer_cavalry_pursuit_mult = 0.4 } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -2688,7 +3547,22 @@ mess_tent_bakers = { # Bakers } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bakers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bakers.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2721,7 +3595,7 @@ mess_tent_cooks = { # Cooks parameters = { camp_improved_camp_party_activity_gains = yes } - + ai_value = { value = camp_building_ai_base_t4 if = { @@ -2732,7 +3606,22 @@ mess_tent_cooks = { # Cooks } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_cooks.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_cooks.dds" texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" @@ -2765,9 +3654,24 @@ camp_fire_01 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2800,9 +3704,24 @@ camp_fire_02 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2836,9 +3755,24 @@ camp_fire_03 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2874,9 +3808,24 @@ camp_fire_04 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2912,9 +3861,24 @@ camp_fire_05 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2951,9 +3915,24 @@ camp_fire_06 = { camp_better_scout_for_talent = yes fireside_chat_intent_unlock = yes } - + ai_value = { value = camp_fire_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -2985,7 +3964,7 @@ camp_fire_trailing_musicians = { # Trailing Musicians camp_unlocks_master_bard_officer = yes camp_improved_musician_scheme_agent = yes } - + ai_value = { value = camp_building_ai_base_t4 if = { @@ -2996,7 +3975,22 @@ camp_fire_trailing_musicians = { # Trailing Musicians } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_trailing_musicians.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_trailing_musicians.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3028,7 +4022,7 @@ camp_fire_wandering_poets = { # Wandering Poets camp_more_likely_to_become_poet = yes camp_improved_poet_scheme_agent = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3039,7 +4033,22 @@ camp_fire_wandering_poets = { # Wandering Poets } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_wandering_poets.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_wandering_poets.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3070,7 +4079,7 @@ camp_fire_capering_fools = { # Capering Fools camp_improves_stooge_officer = yes camp_recruit_fool_events = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3081,7 +4090,22 @@ camp_fire_capering_fools = { # Capering Fools } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_capering_fools.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_capering_fools.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3110,7 +4134,7 @@ camp_fire_libations_for_the_lost = { # Libations for the Lost domicile_monthly_piety_add = 0.1 knight_effectiveness_per_learning = 0.01 } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -3121,7 +4145,22 @@ camp_fire_libations_for_the_lost = { # Libations for the Lost } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_libations_for_the_lost.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_libations_for_the_lost.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3159,7 +4198,7 @@ camp_fire_local_hangers_on = { # Local Hangers-On parameters = { camp_recruit_locals_events = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3170,7 +4209,22 @@ camp_fire_local_hangers_on = { # Local Hangers-On } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_local_hangers_on.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_local_hangers_on.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3208,7 +4262,7 @@ camp_fire_future_dreams = { # Future Dreams parameters = { camp_unlock_trade_oath_interaction = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3219,7 +4273,22 @@ camp_fire_future_dreams = { # Future Dreams } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_future_dreams.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_future_dreams.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3253,7 +4322,7 @@ camp_fire_nightly_debates = { # Nightly Debates monthly_prestige_gain_per_court_position_add = 0.15 learning_scheme_phase_duration = major_scheme_phase_duration_bonus_value } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3264,7 +4333,22 @@ camp_fire_nightly_debates = { # Nightly Debates } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_debates.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_debates.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3301,7 +4385,7 @@ camp_fire_juicy_rumors = { # Juicy Rumors parameters = { camp_improved_criminal_contract_rewards = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3312,7 +4396,22 @@ camp_fire_juicy_rumors = { # Juicy Rumors } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" @@ -3343,9 +4442,24 @@ proving_grounds_01 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3377,9 +4491,24 @@ proving_grounds_02 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3411,9 +4540,24 @@ proving_grounds_03 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3448,9 +4592,24 @@ proving_grounds_04 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3484,9 +4643,24 @@ proving_grounds_05 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3522,9 +4696,24 @@ proving_grounds_06 = { parameters = { camp_unlocks_master_of_arms_officer = yes } - + ai_value = { value = proving_grounds_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3556,7 +4745,7 @@ proving_grounds_horse_run = { # Horse Run parameters = { camp_unlocks_light_cavalry_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3575,7 +4764,22 @@ proving_grounds_horse_run = { # Horse Run multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3610,7 +4814,7 @@ proving_grounds_camel_run = { # Camel Run parameters = { camp_unlocks_camelry_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3629,7 +4833,22 @@ proving_grounds_camel_run = { # Camel Run multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3666,7 +4885,7 @@ proving_grounds_elephantry_reserve = { # Elephantry Reserve camp_unlocks_elephantry_captain_officer = yes camp_reinforce_elephant_regiments_anywhere = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3677,7 +4896,22 @@ proving_grounds_elephantry_reserve = { # Elephantry Reserve } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3708,7 +4942,7 @@ proving_grounds_nightly_barding_drills = { # Nightly Barding Drills parameters = { camp_unlocks_heavy_cavalry_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3727,7 +4961,22 @@ proving_grounds_nightly_barding_drills = { # Nightly Barding Drills multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_barding_drills.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_barding_drills.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3771,7 +5020,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle parameters = { camp_unlocks_horse_archer_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -3790,7 +5039,22 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3821,7 +5085,7 @@ proving_grounds_the_stump = { # The Stump parameters = { camp_unlocks_archer_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -3840,7 +5104,22 @@ proving_grounds_the_stump = { # The Stump multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3872,7 +5151,7 @@ proving_grounds_personal_bouts = { # Personal Bouts parameters = { camp_unlocks_heavy_infantry_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -3891,7 +5170,22 @@ proving_grounds_personal_bouts = { # Personal Bouts multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_personal_bouts.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_personal_bouts.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3923,7 +5217,7 @@ proving_grounds_training_circle = { # Training Circle parameters = { camp_unlocks_light_infantry_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3942,7 +5236,22 @@ proving_grounds_training_circle = { # Training Circle multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_training_circle.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_training_circle.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -3973,7 +5282,7 @@ proving_grounds_mock_battle_drills = { # Mock Battle Drills parameters = { camp_unlocks_pike_captain_officer = yes } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -3992,7 +5301,22 @@ proving_grounds_mock_battle_drills = { # Mock Battle Drills multiply = 0 } } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mock_battle_drill.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_mock_battle_drill.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -4031,7 +5355,7 @@ proving_grounds_lockwagon = { # Lockwagon camp_improved_mercenary_contract_rewards = yes camp_improved_entice_local_mercenaries = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4042,7 +5366,22 @@ proving_grounds_lockwagon = { # Lockwagon } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_lock_wagons.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_lock_wagons.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -4078,7 +5417,7 @@ proving_grounds_martial_study = { # Martial Study monthly_learning_lifestyle_xp_gain_add = 1 knight_effectiveness_per_learning = 0.01 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4089,7 +5428,22 @@ proving_grounds_martial_study = { # Martial Study } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_martial_study.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_martial_study.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -4123,7 +5477,7 @@ proving_grounds_the_stick_game = { # The Stick Game knight_effectiveness_per_intrigue = 0.01 owned_scheme_secrecy_add = 20 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4134,7 +5488,22 @@ proving_grounds_the_stick_game = { # The Stick Game } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stick_game.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_the_stick_game.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -4172,7 +5541,7 @@ proving_grounds_bodyguard_drills = { # Bodyguard Drills parameters = { camp_unlocks_handpicked_faithful_maa_type = yes } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4183,7 +5552,22 @@ proving_grounds_bodyguard_drills = { # Bodyguard Drills } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_bodyguard_drills.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_bodyguard_drills.dds" texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" @@ -4216,9 +5600,24 @@ camp_perimeter_01 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4252,9 +5651,24 @@ camp_perimeter_02 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4289,9 +5703,24 @@ camp_perimeter_03 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4327,9 +5756,24 @@ camp_perimeter_04 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4366,9 +5810,24 @@ camp_perimeter_05 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4406,9 +5865,24 @@ camp_perimeter_06 = { parameters = { camp_unlocks_forward_scouts = yes } - + ai_value = { value = camp_perimeter_main_path_value } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4436,7 +5910,7 @@ camp_perimeter_good_siting = { # Good Siting scheme_discovery_chance_mult = 0.1 enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -4447,7 +5921,22 @@ camp_perimeter_good_siting = { # Good Siting } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_good_siting.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_good_siting.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4474,7 +5963,7 @@ camp_perimeter_fixed_layout = { # Fixed Layout domicile_travel_speed = 0.25 men_at_arms_limit = 1 } - + ai_value = { value = camp_building_ai_base_t2 if = { @@ -4485,7 +5974,22 @@ camp_perimeter_fixed_layout = { # Fixed Layout } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_fixed_layout.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_fixed_layout.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4521,7 +6025,7 @@ camp_perimeter_extra_watch = { # Extra Watch archers_damage_mult = 0.1 archer_cavalry_damage_mult = 0.05 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4532,7 +6036,22 @@ camp_perimeter_extra_watch = { # Extra Watch } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_extra_watch.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_extra_watch.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" @@ -4567,7 +6086,7 @@ camp_perimeter_palisade = { # Palisade character_travel_safety_mult = 0.1 hard_casualty_modifier = -0.1 } - + ai_value = { value = camp_building_ai_base_t3 if = { @@ -4578,7 +6097,22 @@ camp_perimeter_palisade = { # Palisade } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_palisade.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_palisade_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_palisade_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_palisade.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter_palisade.dds" @@ -4612,7 +6146,7 @@ camp_perimeter_ditch = { # Ditch retreat_losses = -0.3 defender_advantage = 5 } - + ai_value = { value = camp_building_ai_base_t5 if = { @@ -4623,7 +6157,22 @@ camp_perimeter_ditch = { # Ditch } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_ditches.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_ditch_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_ditch_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_ditches.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter_ditch.dds" @@ -4649,7 +6198,7 @@ camp_perimeter_camp_hygiene = { # Camp Hygiene character_modifier = { epidemic_travel_danger = -15 } - + ai_value = { value = camp_building_ai_base_t1 if = { @@ -4660,7 +6209,22 @@ camp_perimeter_camp_hygiene = { # Camp Hygiene } multiply = 10 } - + + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_hygiene.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } + asset = { icon = "gfx/interface/icons/domicile_building/domicile_building_camp_hygiene.dds" texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" diff --git a/N3OW/common/domiciles/buildings/00_chinese_estate_buildings.txt b/N3OW/common/domiciles/buildings/00_chinese_estate_buildings.txt new file mode 100644 index 00000000..f8b9c7f1 --- /dev/null +++ b/N3OW/common/domiciles/buildings/00_chinese_estate_buildings.txt @@ -0,0 +1,21961 @@ +########################## +# CHINESE ESTATE BUILDINGS +########################## + +# BUILDING VALUES + +@east_asian_estate_main_construction_time = 730 + +@east_asian_estate_upgrade_construction_time_1 = 180 +@east_asian_estate_upgrade_construction_time_2 = 240 +@east_asian_estate_upgrade_construction_time_3 = 300 +@east_asian_estate_upgrade_construction_time_4 = 360 + +@east_asian_estate_building_construction_time_1 = 360 +@east_asian_estate_building_construction_time_2 = 420 +@east_asian_estate_building_construction_time_3 = 480 +@east_asian_estate_building_construction_time_4 = 540 +@east_asian_estate_building_construction_time_5 = 600 +@east_asian_estate_building_construction_time_6 = 660 + +@east_asian_manor_build_speed_1 = -0.01 +@east_asian_manor_build_speed_2 = -0.02 +@east_asian_manor_build_speed_3 = -0.03 +@east_asian_manor_build_gold_cost_1 = -0.01 +@east_asian_manor_build_gold_cost_2 = -0.02 +@east_asian_manor_build_gold_cost_3 = -0.03 +@east_asian_manor_travel_danger_1 = -2 +@east_asian_manor_travel_danger_2 = -3 +@east_asian_manor_travel_danger_3 = -5 +@east_asian_manor_governor_xp_gain_mult_1 = 0.025 +@east_asian_manor_governor_xp_gain_mult_2 = 0.05 +@east_asian_manor_governor_xp_gain_mult_3 = 0.1 +@east_asian_manor_trait_track_travel_xp_gain_mult_1 = 0.05 +@east_asian_manor_trait_track_travel_xp_gain_mult_2 = 0.1 +@east_asian_manor_trait_track_travel_xp_gain_mult_3 = 0.15 +@east_asian_manor_confucian_education_xp_gain_mult_1 = 0.05 +@east_asian_manor_confucian_education_xp_gain_mult_2 = 0.1 +@east_asian_manor_confucian_education_xp_gain_mult_3 = 0.15 +@east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 = 0.05 +@east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 = 0.1 +@east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 = 0.15 +@east_asian_manor_learn_language_scheme_phase_duration_add_1 = -5 +@east_asian_manor_learn_language_scheme_phase_duration_add_2 = -10 +@east_asian_manor_learn_language_scheme_phase_duration_add_3 = -15 +@east_asian_manor_study_confucian_classics_scheme_phase_duration_add_1 = -2 +@east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 = -3 +@east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 = -4 +@east_asian_manor_monthly_treasury_from_military_budget_mult_1 = 0.01 +@east_asian_manor_monthly_treasury_from_military_budget_mult_2 = 0.02 +@east_asian_manor_monthly_treasury_from_military_budget_mult_3 = 0.03 +@east_asian_manor_monthly_treasury_from_salary_budget_mult_1 = 0.01 +@east_asian_manor_monthly_treasury_from_salary_budget_mult_2 = 0.02 +@east_asian_manor_monthly_treasury_from_salary_budget_mult_3 = 0.03 +@east_asian_manor_monthly_merit_per_title_maa_value_1 = 0.0005 +@east_asian_manor_monthly_merit_per_title_maa_value_2 = 0.001 +@east_asian_manor_monthly_merit_per_title_maa_value_3 = 0.002 +@east_asian_manor_monthly_merit_per_liege_tax_1 = 0.002 +@east_asian_manor_monthly_merit_per_liege_tax_2 = 0.004 +@east_asian_manor_monthly_merit_per_liege_tax_3 = 0.006 +@east_asian_manor_monthly_merit_1 = 0.15 +@east_asian_manor_monthly_merit_2 = 0.25 +@east_asian_manor_monthly_merit_3 = 0.4 +@east_asian_manor_monthly_merit_mult_1 = 0.005 +@east_asian_manor_monthly_merit_mult_2 = 0.01 +@east_asian_manor_monthly_merit_mult_3 = 0.02 +@east_asian_manor_monthly_prestige_add_1 = 0.1 +@east_asian_manor_monthly_prestige_add_2 = 0.15 +@east_asian_manor_monthly_prestige_add_3 = 0.25 +@east_asian_manor_monthly_prestige_mult_1 = 0.025 +@east_asian_manor_monthly_dynasty_prestige_add_1 = 0.05 +@east_asian_manor_monthly_dynasty_prestige_add_2 = 0.1 +@east_asian_manor_monthly_influence_add_1 = 0.1 +@east_asian_manor_monthly_influence_add_2 = 0.25 +@east_asian_manor_monthly_influence_add_3 = 0.5 +@east_asian_manor_monthly_influence_mult_1 = 0.025 +@east_asian_manor_monthly_gold_add_0 = 0.1 +@east_asian_manor_monthly_gold_add_1 = 0.15 +@east_asian_manor_monthly_gold_add_2 = 0.25 +@east_asian_manor_monthly_gold_add_3 = 0.35 +@east_asian_manor_monthly_gold_mult_domain_1 = 0.01 +@east_asian_manor_monthly_gold_mult_1 = 0.01 +@east_asian_manor_monthly_gold_mult_2 = 0.03 +@east_asian_manor_monthly_gold_mult_3 = 0.05 +@east_asian_manor_monthly_piety_add_1 = 0.1 +@east_asian_manor_monthly_piety_add_2 = 0.25 +@east_asian_manor_monthly_piety_add_3 = 0.5 +@east_asian_manor_monthly_piety_mult_1 = 0.025 +@east_asian_manor_stress_loss_mult_1 = 0.025 +@east_asian_manor_stress_gain_mult_1 = -0.025 +@east_asian_manor_opinion_add_1 = 2 +@east_asian_manor_maa_recruitment_cost_mult_1 = -0.04 +@east_asian_manor_maa_maintenance_mult_1 = -0.025 +@east_asian_manor_maa_effectiveness_mult_1 = 0.025 +@east_asian_manor_control_growth_factor_1 = 0.05 +@east_asian_manor_advantage_add_1 = 1 +@east_asian_manor_mercenary_hire_cost_mult_1 = -0.025 +@east_asian_manor_supply_capacity_mult_1 = 0.025 +@east_asian_manor_knight_effectiveness_mult_1 = 0.01 +@east_asian_manor_lifestyle_xp_gain_mult = 0.05 +@east_asian_manor_owned_scheme_potential_add = 2 +@east_asian_manor_owned_scheme_success_chance_add = 2 +@east_asian_manor_owned_scheme_success_chance_max_add = 2 +@east_asian_manor_owned_scheme_success_growth_add = 2 +@east_asian_manor_owned_scheme_phase_duration_add = -5 +@east_asian_manor_enemy_scheme_success_chance_add = -2 +@east_asian_manor_enemy_scheme_success_chance_max_add = -2 +@east_asian_manor_enemy_scheme_success_growth_add = -2 +@east_asian_manor_enemy_scheme_phase_duration_add = -5 +@east_asian_manor_pursue_efficiency_1 = 0.025 +@east_asian_manor_movement_speed_1 = 0.025 +@east_asian_manor_influence_level_impact_mult_1 = 0.025 +@east_asian_manor_character_travel_speed_mult = 0.025 +@east_asian_manor_hostile_raid_time_1 = 0.1 +@east_asian_manor_development_growth_factor_1 = 0.015 +@east_asian_manor_development_growth_factor_2 = 0.025 +@east_asian_manor_development_growth_factor_3 = 0.035 +@east_asian_manor_development_growth_1 = 0.05 +@east_asian_manor_development_growth_2 = 0.1 +@east_asian_manor_development_growth_3 = 0.15 +@east_asian_manor_county_control_growth_add_1 = 0.1 +@east_asian_manor_prestige_gain_per_dread_mult_1 = 0.05 +@east_asian_manor_dread_decay_mult_1 = -0.025 +@east_asian_manor_dread_baseline_add_1 = 2 +@east_asian_manor_health_add_1 = 0.05 +@east_asian_manor_epidemic_resistance_1 = 2 +@east_asian_manor_dread_gain_mult_1 = 0.025 +@east_asian_manor_domicile_build_speed = -0.05 +@east_asian_manor_domicile_build_speed_minor = -0.03 +@east_asian_manor_domicile_build_gold_cost_minor = -0.03 +@east_asian_manor_domicile_build_gold_cost = -0.05 +@east_asian_manor_holding_build_gold_cost_minor = -0.03 +@east_asian_manor_holding_build_gold_cost = -0.05 +@east_asian_manor_faith_creation_piety_cost_mult = -0.05 +@east_asian_manor_character_travel_safety = 2 + +### NOTE: If updating, adding, or changing buildings, ensure the following effects are updated too: +### destroy_random_east_asian_estate_building_variable_effect +### destroy_random_east_asian_estate_building_effect +### add_random_external_east_asian_estate_building +### add_random_internal_east_asian_estate_building + +### Chinese Estate Main Building - The Villa +east_asian_estate_main_01 = { + slot_type = main + internal_slots = 3 + construction_time = @east_asian_estate_main_construction_time + allowed_domicile_types = { east_asian_estate } + + cost = { + gold = estate_external_building_high_cost_tier_2_value + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_influence_add = 1 + domicile_external_slots_capacity_add = 3 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_01.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } +} + +east_asian_estate_main_02 = { + slot_type = main + internal_slots = 6 + construction_time = @east_asian_estate_main_construction_time + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_main_01 + + can_construct = { + culture ?= { has_innovation = innovation_city_planning } + } + + cost = { + gold = estate_external_building_high_cost_tier_3_value + } + + parameters = { + estate_increase_house_member_investment_cap_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_influence_add = 0.5 + domicile_external_slots_capacity_add = 1 + } + + ai_value = { + value = 7 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_02.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } +} + +east_asian_estate_main_03 = { + slot_type = main + internal_slots = 9 + construction_time = @east_asian_estate_main_construction_time + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_main_02 + + can_construct = { + culture ?= { has_innovation = innovation_manorialism } + } + + cost = { + gold = estate_external_building_high_cost_tier_4_value + } + + parameters = { + estate_increase_house_member_investment_cap_2 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + domicile_monthly_gold_mult = 0.02 + domicile_monthly_influence_add = 0.5 + domicile_external_slots_capacity_add = 1 + } + + ai_value = { + value = 6 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_03.dds" + texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } +} + +east_asian_estate_main_04 = { + slot_type = main + internal_slots = 12 + construction_time = @east_asian_estate_main_construction_time + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_main_03 + + can_construct = { + culture ?= { has_innovation = innovation_development_03 } + } + + cost = { + gold = estate_external_building_high_cost_tier_5_value + } + + parameters = { + estate_increase_house_member_investment_cap_3 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + domicile_monthly_gold_mult = 0.03 + domicile_monthly_influence_add = 0.5 + domicile_external_slots_capacity_add = 1 + } + + ai_value = { + value = 5 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_04.dds" + texture = "gfx/interface/window_domiciles/estate_building_estate_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } +} + +east_asian_estate_main_05 = { + slot_type = main + internal_slots = 15 + construction_time = @east_asian_estate_main_construction_time + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_main_04 + + can_construct = { + culture ?= { has_innovation = innovation_cranes } + } + + cost = { + gold = estate_external_building_high_cost_tier_6_value + } + + parameters = { + estate_increase_house_member_investment_cap_4 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.75 + domicile_monthly_gold_mult = 0.05 + domicile_monthly_influence_add = 0.5 + } + + ai_value = { + value = 4 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_05.dds" + texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } +} + +#################### +##### VILLA UPGRADES + + +### Education +east_asian_estate_library_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + estate_increased_tutor_aptitude_1 = yes + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.01 + study_confucian_classics_scheme_phase_duration_add = -3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_library_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_library_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + estate_increased_tutor_aptitude_2 = yes + estate_reduced_tutor_cost_low = yes + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.01 + study_confucian_classics_scheme_phase_duration_add = -3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_library_education_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_library_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + estate_increased_tutor_aptitude_3 = yes + estate_reduced_tutor_cost = yes + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.01 + study_confucian_classics_scheme_phase_duration_add = -3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_library_education_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_library_education_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + estate_increased_tutor_aptitude_4 = yes + estate_reduced_tutor_cost_high = yes + estate_unlock_tier_5_education = yes + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.02 + study_confucian_classics_scheme_phase_duration_add = -3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Taxation office +east_asian_estate_taxation_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.15 + domain_tax_mult = 0.02 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_taxation_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_taxation_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.15 + domain_tax_mult = 0.02 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_taxation_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_taxation_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.15 + domain_tax_mult = 0.02 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_taxation_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_taxation_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.15 + domain_tax_mult = 0.02 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} + +### Yamen Office +east_asian_peasant_quarters_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct_potential = { + } + + can_construct = { + top_participant_group:dynastic_cycle ?= { + NOT = { participant_group_type = conservative_movement } + } + } + + cost = { + gold = estate_internal_building_high_cost_tier_2_value + } + + character_modifier = { + county_opinion_add = 5 + minority_opinion = 5 + } + + parameters = { + } + + ai_value = { + value = 1 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_astrologer_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_peasant_quarters_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_peasant_quarters_01 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + NOT = { participant_group_type = conservative_movement } + } + } + + cost = { + gold = estate_internal_building_high_cost_tier_2_value + influence = major_influence_value + } + + character_modifier = { + levy_reinforcement_rate = 0.1 + } + + parameters = { + can_use_incite_revolts = yes + } + + ai_value = { + value = 1 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_astrologer_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_peasant_quarters_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_peasant_quarters_02 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + NOT = { participant_group_type = conservative_movement } + } + } + + cost = { + gold = estate_internal_building_high_cost_tier_3_value + influence = major_influence_value + } + + character_modifier = { + trait_track_peasant_leader_xp_gain_mult = 1 + barons_and_minor_landholders_opinion = -5 + } + + parameters = { + can_use_incite_revolts = yes + can_join_peasant_factions = yes + } + + ai_value = { + value = 1 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_astrologer_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_peasant_quarters_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_peasant_quarters_03 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + NOT = { participant_group_type = conservative_movement } + } + } + + cost = { + gold = estate_internal_building_high_cost_tier_4_value + influence = massive_influence_value + } + + character_modifier = { + barons_and_minor_landholders_opinion = -5 + county_opinion_add = 5 + monthly_county_control_growth_factor = 0.1 + } + + parameters = { + can_use_incite_revolts = yes + can_join_peasant_factions = yes + } + + ai_value = { + value = 1 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_astrologer_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} + + +### Minister's Office +east_asian_estate_minister_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct_potential = { + top_liege = { + tgp_has_access_to_ministry_trigger = yes + } + } + + can_construct = { + custom_tooltip = { + text = you_are_not_a_minister_desc + tgp_is_any_minister = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + + parameters = { + celestial_minister_score_bonus_1 = yes + estate_minister_bureaucrat_aptitude_1 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + monthly_dynasty_prestige = 0.3 + domicile_monthly_prestige_mult = 0.1 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_minister_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_minister_office_01 + + can_construct = { + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + + parameters = { + celestial_minister_score_bonus_2 = yes + estate_minister_bureaucrat_aptitude_2 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + monthly_dynasty_prestige = 0.3 + domicile_monthly_prestige_mult = 0.1 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_minister_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_minister_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + + parameters = { + celestial_minister_score_bonus_3 = yes + estate_minister_bureaucrat_aptitude_3 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + monthly_dynasty_prestige = 0.3 + domicile_monthly_prestige_mult = 0.1 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_minister_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_minister_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + + parameters = { + celestial_minister_score_bonus_4 = yes + estate_minister_bureaucrat_aptitude_4 = yes + estate_minister_effect_increase = yes + } + + character_modifier = { + monthly_merit_mult = 0.04 + monthly_dynasty_prestige = 0.3 + domicile_monthly_prestige_mult = 0.1 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Pavilion (for movement leaders) +east_asian_estate_movement_study_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct_potential = { + any_character_situation = { situation_type = dynastic_cycle } + } + + can_construct = { + is_any_movement_leader = yes + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + + parameters = { + celestial_bonus_movement_power_1 = yes + celestial_invite_to_movement_acceptance_1 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_movement_study_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_movement_study_01 + + can_construct = { + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + + parameters = { + celestial_bonus_movement_power_2 = yes + celestial_invite_to_movement_acceptance_2 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_movement_study_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_movement_study_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + + parameters = { + celestial_bonus_movement_power_3 = yes + celestial_invite_to_movement_acceptance_3 = yes + estate_movement_leader_increase_disciple_limit_1 = yes + } + + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -3 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_movement_study_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_movement_study_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + + parameters = { + celestial_bonus_movement_power_4 = yes + celestial_invite_to_movement_acceptance_4 = yes + estate_movement_leader_increase_disciple_limit_2 = yes + } + + character_modifier = { + max_political_schemes_add = 1 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Archive +east_asian_estate_archive_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + dynasty ?= { + has_dynasty_perk = tgp_chinese_legacy_3 + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + + parameters = { + estate_examination_start_score_bonus_1 = yes + } + + character_modifier = { + artifact_decay_reduction_mult = -0.03 + monthly_treasury_from_salary_budget_mult = 0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_archive.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_archive_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_archive_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + + parameters = { + estate_examination_start_score_bonus_2 = yes + } + + character_modifier = { + artifact_decay_reduction_mult = -0.03 + monthly_treasury_from_salary_budget_mult = 0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_archive.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_archive_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_archive_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + + parameters = { + estate_examination_start_score_bonus_3 = yes + } + + character_modifier = { + artifact_decay_reduction_mult = -0.03 + monthly_treasury_from_salary_budget_mult = 0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_archive.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_archive_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_archive_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + + parameters = { + estate_examination_start_score_bonus_4 = yes + } + + character_modifier = { + artifact_decay_reduction_mult = -0.03 + monthly_treasury_from_salary_budget_mult = 0.05 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_archive.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cartography_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_march.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cartography_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cartography_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_march.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cartography_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cartography_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_march.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cartography_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cartography_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_march.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drafting_room_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + cheaper_move_estate_cost = yes + } + character_modifier = { + domicile_build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + domicile_build_speed = @east_asian_manor_domicile_build_speed_minor + } + province_modifier = { + build_gold_cost = @east_asian_manor_build_gold_cost_1 + build_speed = @east_asian_manor_build_speed_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drafting_room_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drafting_room_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + cheaper_move_estate_cost = yes + } + character_modifier = { + domicile_build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + domicile_build_speed = @east_asian_manor_domicile_build_speed_minor + } + province_modifier = { + build_gold_cost = @east_asian_manor_build_gold_cost_1 + build_speed = @east_asian_manor_build_speed_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drafting_room_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drafting_room_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + cheaper_move_estate_cost = yes + } + character_modifier = { + domicile_build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + domicile_build_speed = @east_asian_manor_domicile_build_speed_minor + } + province_modifier = { + build_gold_cost = @east_asian_manor_build_gold_cost_1 + build_speed = @east_asian_manor_build_speed_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drafting_room_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drafting_room_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + cheaper_move_estate_cost = yes + } + character_modifier = { + domicile_build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + domicile_build_speed = @east_asian_manor_domicile_build_speed_minor + } + province_modifier = { + build_gold_cost = @east_asian_manor_build_gold_cost_1 + build_speed = @east_asian_manor_build_speed_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_clerks_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.01 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/chariot_race_gambling.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_clerks_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_clerks_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.01 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/chariot_race_gambling.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_clerks_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_clerks_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.01 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/chariot_race_gambling.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_clerks_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_clerks_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.01 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/chariot_race_gambling.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_revenue_audit_desk_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_revenue_audit_desk_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_revenue_audit_desk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_revenue_audit_desk_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_revenue_audit_desk_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_revenue_audit_desk_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_revenue_audit_desk_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_block_printing_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_block_printing_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_block_printing_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_block_printing_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_block_printing_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_block_printing_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_block_printing_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_block_printing_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_block_printing_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_block_printing_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_block_printing_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_xuan_paper_stores_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_xuan_paper_stores_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_xuan_paper_stores_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_xuan_paper_stores_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_xuan_paper_stores_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_xuan_paper_stores_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_xuan_paper_stores_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_water_clock_room_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + celestial_movement_power_promote_scheme_phase_duration_add = -5 + mentoring_scheme_phase_duration_add = -10 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_water_clock_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_water_clock_room_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_water_clock_room_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + celestial_movement_power_promote_scheme_phase_duration_add = -5 + mentoring_scheme_phase_duration_add = -10 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_water_clock_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_water_clock_room_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_water_clock_room_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + celestial_movement_power_promote_scheme_phase_duration_add = -5 + mentoring_scheme_phase_duration_add = -10 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_water_clock_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_water_clock_room_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_water_clock_room_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + celestial_movement_power_promote_scheme_phase_duration_add = -5 + mentoring_scheme_phase_duration_add = -10 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_water_clock_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_examination_room_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_examination_room_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_examination_room_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_examination_room_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_examination_room_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_examination_room_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_examination_room_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +### Diplomacy Upgrade +east_asian_estate_living_quarters_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = 0.05 + personal_scheme_phase_duration_add = -10 + } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_living_quarters_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_living_quarters_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = 0.05 + dynasty_house_opinion = 5 + personal_scheme_phase_duration_add = -10 + owned_personal_scheme_success_chance_add = 5 + } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_living_quarters_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_living_quarters_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = 0.05 + personal_scheme_phase_duration_add = -10 + owned_personal_scheme_success_chance_add = 5 + } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_living_quarters_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_living_quarters_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = 0.05 + dynasty_house_opinion = 5 + personal_scheme_phase_duration_add = -10 + owned_personal_scheme_success_chance_add = 5 + } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Learning Upgrade +east_asian_estate_study_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + + parameters = { + estate_unlock_teach_governor_interaction = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = 0.05 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_study_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_study_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + + parameters = { + estate_unlock_teach_governor_interaction = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = 0.05 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_study_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_study_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + + parameters = { + estate_unlock_teach_governor_interaction = yes + estate_study_increase_disciple_limit_1 = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = 0.05 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_study_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_study_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + + parameters = { + estate_unlock_teach_governor_interaction = yes + estate_study_increase_disciple_limit_2 = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = 0.05 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} + +### Commander Upgrade +east_asian_estate_commander_study_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + parameters = { + celestial_military_score_bonus_1 = yes + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_commander_study_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_commander_study_01 + + can_construct = { + custom_tooltip = { + text = is_a_military_governor_duchy_or_above_desc + highest_held_title_tier >= tier_duchy + vassal_contract_has_flag = celestial_military_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + parameters = { + celestial_military_score_bonus_2 = yes + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = 0.05 + advantage = 2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_commander_study_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_commander_study_02 + + can_construct = { + custom_tooltip = { + text = is_a_military_governor_kingdom_or_above_desc + highest_held_title_tier >= tier_kingdom + vassal_contract_has_flag = celestial_military_appointment + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + parameters = { + celestial_military_score_bonus_3 = yes + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = 0.05 + advantage = 2 + hard_casualty_modifier = -0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_commander_study_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_commander_study_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + parameters = { + celestial_military_score_bonus_4 = yes + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = 0.05 + advantage = 2 + hard_casualty_modifier = -0.05 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Civilian Governor Upgrade +east_asian_estate_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct = { + custom_tooltip = { + text = is_a_civilian_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_civil_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + parameters = { + celestial_civilian_score_bonus_1 = yes + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_office_01 + + can_construct = { + custom_tooltip = { + text = is_a_civilian_governor_duchy_or_above_desc + highest_held_title_tier >= tier_duchy + vassal_contract_has_flag = celestial_civil_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + parameters = { + celestial_civilian_score_bonus_2 = yes + estate_governor_efficiency_bonus = yes + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_office_02 + + can_construct = { + custom_tooltip = { + text = is_a_civilian_governor_kingdom_or_above_desc + highest_held_title_tier >= tier_kingdom + vassal_contract_has_flag = celestial_civil_appointment + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + parameters = { + celestial_civilian_score_bonus_3 = yes + estate_governor_efficiency_bonus = yes + estate_governor_efficiency_bonus_for_house_members = yes + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + parameters = { + celestial_civilian_score_bonus_4 = yes + estate_governor_efficiency_bonus = yes + estate_governor_efficiency_bonus_for_house_members = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} + +### Intrigue Upgrade +east_asian_estate_servants_quarters_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = 0.05 + hostile_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_servants_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_servants_quarters_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_servants_quarters_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_servants_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_servants_quarters_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_servants_quarters_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = 0.05 + owned_hostile_scheme_success_chance_add = 5 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_servants_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_servants_quarters_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_servants_quarters_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + parameters = { + estate_unlock_hire_agents_decision = yes + estate_improve_political_scheme_countermeasure = yes + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = 0.05 + owned_hostile_scheme_success_chance_add = 5 + max_hostile_schemes_add = 1 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_servants_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Bath +east_asian_estate_bath_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_bath } + multiply = 0.75 + desc = raid_insight_bath + } + } + } + + character_modifier = { + negate_health_penalty_add = 0.05 + attraction_opinion = 3 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bath.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_bath_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bath_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_bath } + multiply = 0.75 + desc = raid_insight_bath + } + } + } + + character_modifier = { + negate_health_penalty_add = 0.05 + attraction_opinion = 3 + epidemic_resistance = 2 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bath.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_bath_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bath_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_bath } + multiply = 0.75 + desc = raid_insight_bath + } + } + } + + character_modifier = { + negate_health_penalty_add = 0.05 + attraction_opinion = 3 + epidemic_resistance = 3 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bath.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_bath_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bath_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_bath } + multiply = 0.75 + desc = raid_insight_bath + } + } + } + + character_modifier = { + negate_health_penalty_add = 0.05 + attraction_opinion = 3 + epidemic_resistance = 5 + } + + parameters = { + estate_increase_safe_treatment_success_2 = yes + } + + ai_value = { + value = 3 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bath.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Guest Room +east_asian_estate_guest_room_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_guest_room } + multiply = 0.75 + desc = raid_insight_guest_room + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.03 + courtier_and_guest_opinion = 2 + } + + ai_value = { + value = 8 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_esteemed_hospitality + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_guest_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_guest_room_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guest_room_01 + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_guest_room } + multiply = 0.75 + desc = raid_insight_guest_room + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.03 + courtier_and_guest_opinion = 2 + } + + parameters = { + increased_success_personal_schemes_1 = yes + } + + ai_value = { + value = 7 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_esteemed_hospitality + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_guest_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_guest_room_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guest_room_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_guest_room } + multiply = 0.75 + desc = raid_insight_guest_room + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.03 + courtier_and_guest_opinion = 2 + } + + parameters = { + increased_success_personal_schemes_2 = yes + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_esteemed_hospitality + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_guest_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_guest_room_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guest_room_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_guest_room } + multiply = 0.75 + desc = raid_insight_guest_room + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.03 + courtier_and_guest_opinion = 2 + } + + parameters = { + increased_success_personal_schemes_3 = yes + estate_increase_invite_to_court_acceptance = yes + } + + ai_value = { + value = 5 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_esteemed_hospitality + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_guest_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Wine Cellar +east_asian_estate_wine_cellar_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_wine_cellar } + multiply = 0.75 + } + } + } + + parameters = { + estate_unlock_feast_influence_option_1 = yes + } + + ai_value = { + value = 8 + if = { + limit = { + scope:owner.culture ?= { + OR = { + has_cultural_pillar = heritage_byzantine + has_cultural_tradition = tradition_culinary_art + } + } + } + add = 3 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_wine_cellar_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_wine_cellar_01 + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_wine_cellar } + multiply = 0.75 + } + } + } + + parameters = { + estate_unlock_feast_influence_option_2 = yes + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner.culture ?= { + OR = { + has_cultural_pillar = heritage_byzantine + has_cultural_tradition = tradition_culinary_art + } + } + } + add = 3 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_wine_cellar_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_wine_cellar_02 + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_wine_cellar } + multiply = 0.75 + } + } + } + + parameters = { + estate_unlock_feast_influence_option_3 = yes + } + + ai_value = { + value = 4 + if = { + limit = { + scope:owner.culture ?= { + OR = { + has_cultural_pillar = heritage_byzantine + has_cultural_tradition = tradition_culinary_art + } + } + } + add = 3 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Courtyard +east_asian_estate_courtyard_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_courtyard } + multiply = 0.75 + desc = raid_insight_courtyard + } + } + } + + parameters = { + estate_improved_feast_opinion = yes + } + + character_modifier = { + political_scheme_phase_duration_add = -3 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_courtyard_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courtyard_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_courtyard } + multiply = 0.75 + desc = raid_insight_courtyard + } + } + } + + parameters = { + estate_improved_feast_opinion = yes + estate_cheaper_feast_cost = yes + } + + character_modifier = { + political_scheme_phase_duration_add = -3 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_courtyard_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courtyard_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_courtyard } + multiply = 0.75 + desc = raid_insight_courtyard + } + } + } + + parameters = { + estate_improved_feast_opinion = yes + estate_cheaper_feast_cost = yes + } + + character_modifier = { + political_scheme_phase_duration_add = -3 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_courtyard_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courtyard_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_courtyard } + multiply = 0.75 + desc = raid_insight_courtyard + } + } + } + + parameters = { + estate_improved_feast_opinion = yes + estate_cheaper_feast_cost = yes + } + + character_modifier = { + political_scheme_phase_duration_add = -3 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Prison +east_asian_estate_prison_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_prison } + multiply = 0.75 + desc = raid_insight_prison + } + } + } + + character_modifier = { + dread_gain_mult = 0.05 + hostage_income_mult = 0.05 + } + + ai_value = { + value = 7 + if = { + limit = { + scope:owner = { + OR = { + has_trait = vengeful + has_trait = callous + has_trait = sadistic + } + } + } + add = 5 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_prison_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_prison_01 + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_prison } + multiply = 0.75 + desc = raid_insight_prison + } + } + } + + parameters = { + estate_torture_grants_influence = yes + } + + character_modifier = { + dread_gain_mult = 0.05 + hostage_income_mult = 0.05 + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner = { + OR = { + has_trait = vengeful + has_trait = callous + has_trait = sadistic + } + } + } + add = 5 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_prison_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_prison_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_prison } + multiply = 0.75 + desc = raid_insight_prison + } + } + } + + parameters = { + estate_torture_grants_influence = yes + } + + character_modifier = { + dread_gain_mult = 0.05 + hostage_income_mult = 0.05 + hostage_renown_mult = 0.05 + } + + ai_value = { + value = 5 + if = { + limit = { + scope:owner = { + OR = { + has_trait = vengeful + has_trait = callous + has_trait = sadistic + } + } + } + add = 5 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_prison_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_prison_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_prison } + multiply = 0.75 + desc = raid_insight_prison + } + } + } + + parameters = { + estate_torture_grants_influence = yes + } + + character_modifier = { + dread_gain_mult = 0.05 + hostage_income_mult = 0.05 + hostage_renown_mult = 0.05 + } + + ai_value = { + value = 4 + if = { + limit = { + scope:owner = { + OR = { + has_trait = vengeful + has_trait = callous + has_trait = sadistic + } + } + } + add = 5 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Reception Hall +east_asian_estate_reception_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct_potential = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = conservative_movement + } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_reception_hall } + multiply = 0.75 + desc = raid_insight_reception_hall + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.02 + } + + parameters = { + legitimacy_counter = yes + reception_hall_legitimacy_loss_01 = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reception_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_reception_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_reception_hall_01 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = conservative_movement + } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_reception_hall } + multiply = 0.75 + desc = raid_insight_reception_hall + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.04 + } + + parameters = { + legitimacy_counter = yes + reception_hall_legitimacy_loss_02 = yes + estate_increase_house_member_investment_cap_1 = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reception_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_reception_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_reception_hall_02 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = conservative_movement + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_reception_hall } + multiply = 0.75 + desc = raid_insight_reception_hall + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.06 + } + + parameters = { + legitimacy_counter = yes + reception_hall_legitimacy_loss_03 = yes + estate_increase_house_member_investment_cap_2 = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reception_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_reception_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_reception_hall_03 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = conservative_movement + } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_reception_hall } + multiply = 0.75 + desc = raid_insight_reception_hall + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.08 + } + + parameters = { + legitimacy_counter = yes + reception_hall_legitimacy_loss_04 = yes + estate_increase_house_member_investment_cap_3 = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reception_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_reception_hall_05 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_reception_hall_04 + + can_construct = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = conservative_movement + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_reception_hall } + multiply = 0.75 + desc = raid_insight_reception_hall + } + } + } + + character_modifier = { + domicile_monthly_influence_mult = 0.1 + } + + parameters = { + legitimacy_counter = yes + reception_hall_legitimacy_loss_05 = yes + estate_increase_house_member_investment_cap_4 = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reception_hall.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +### Cabinet of Curiosities +east_asian_estate_cabinet_of_curiosities_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_main_01 + + can_construct_potential = { + dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_4 } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_cabinet_of_curiosities } + multiply = 0.75 + desc = raid_insight_cabinet_of_curiosities + } + } + } + + character_modifier = { + learning_per_influence_level = 1 + domicile_monthly_influence_add = 0.1 + } + + parameters = { + can_receive_artifacts = yes + estate_improved_inspirations_1 = yes + house_head_can_ask_for_artifacts = yes + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_cabinet_of_curiosities.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_cabinet_of_curiosities_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cabinet_of_curiosities_01 + + can_construct = { + dynasty ?= { + custom_description = { + text = cabinet_of_curiosities_upgrade_trigger_2 + dynast.house ?= { cabinet_of_curiosities_artifact_score >= 15 } + } + } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_cabinet_of_curiosities } + multiply = 0.75 + desc = raid_insight_cabinet_of_curiosities + } + } + } + + character_modifier = { + stewardship_per_influence_level = 1 + monthly_dynasty_prestige = 0.5 + domicile_monthly_influence_add = 0.2 + monthly_court_grandeur_change_add = 0.2 + } + + parameters = { + can_receive_artifacts = yes + estate_improved_inspirations_2 = yes + estate_reduce_commission_artifact_cost = yes + estate_increase_antiquarian_aptitude = yes + house_head_can_ask_for_artifacts = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_cabinet_of_curiosities.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} +east_asian_estate_cabinet_of_curiosities_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cabinet_of_curiosities_02 + + can_construct = { + dynasty ?= { + custom_description = { + text = cabinet_of_curiosities_upgrade_trigger_3 + dynast.house ?= { cabinet_of_curiosities_artifact_score >= 35 } + } + } + } + + cost = { + gold = { + value = estate_internal_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_cabinet_of_curiosities } + multiply = 0.75 + desc = raid_insight_cabinet_of_curiosities + } + } + } + + character_modifier = { + learning_per_influence_level = 1 + stewardship_per_influence_level = 1 + monthly_dynasty_prestige = 0.5 + domicile_monthly_influence_add = 0.3 + monthly_court_grandeur_change_add = 0.3 + general_opinion = 10 + } + + parameters = { + can_receive_artifacts = yes + estate_improved_inspirations_2 = yes + estate_reduce_commission_artifact_cost = yes + estate_increase_antiquarian_aptitude = yes + house_head_can_ask_for_artifacts = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_cabinet_of_curiosities.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png" + } +} + +#################### +#### BUILDINGS ##### +#################### + +### Rice Fields +east_asian_estate_rice_field_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + can_construct_potential = { + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_1_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 10 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOT = { + has_domicile_building_or_higher = east_asian_estate_market_01 + } + } + add = 20 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +east_asian_estate_rice_field_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_rice_field_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_2_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +east_asian_estate_rice_field_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_rice_field_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +east_asian_estate_rice_field_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_rice_field_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +east_asian_estate_rice_field_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_rice_field_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +east_asian_estate_rice_field_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_rice_field_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} + +### Tea Plantation +east_asian_estate_tea_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + can_construct = { + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.01 + } + + ai_value = { + value = 10 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOT = { + has_domicile_building_or_higher = east_asian_estate_market_01 + } + } + add = 20 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +east_asian_estate_tea_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_tea_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_vineyard } + multiply = 0.75 + desc = raid_insight_vineyard + } + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.02 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +east_asian_estate_tea_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_tea_02 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_vineyard } + multiply = 0.75 + } + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.04 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +east_asian_estate_tea_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_tea_03 + internal_slots = 3 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.06 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +east_asian_estate_tea_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_tea_04 + internal_slots = 3 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.08 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +east_asian_estate_tea_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_tea_05 + internal_slots = 4 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + } + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.1 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} + +### Market +east_asian_estate_market_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 9 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOT = { + has_domicile_building_or_higher = east_asian_estate_rice_field_01 + } + } + add = 20 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_market_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_market_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_market_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_market_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating_2 = yes + estate_increase_merit_on_construction_1 = yes + estate_reduce_council_position_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_market_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_market_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating_2 = yes + estate_increase_merit_on_construction_2 = yes + estate_reduce_council_position_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_market_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_market_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating_3 = yes + estate_increase_merit_on_construction_3 = yes + estate_reduce_council_position_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.8 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_market_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_market_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_market } + multiply = 0.75 + desc = raid_insight_market + } + } + } + + parameters = { + estate_increase_powerful_family_rating_3 = yes + estate_increase_merit_on_construction_4 = yes + estate_reduce_council_position_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 1.6 + } + + province_modifier = { + tax_mult = 0.01 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} + +### Physician's Offices +east_asian_estate_health_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + } + + ai_value = { + value = 10 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOR = { + has_domicile_building_or_higher = east_asian_estate_rice_field_01 + has_domicile_building_or_higher = east_asian_estate_market_01 + } + } + add = 20 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} +east_asian_estate_health_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_health_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + estate_increase_physician_aptitude = yes + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} +east_asian_estate_health_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_health_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_1 = yes + estate_increase_physician_aptitude = yes + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} +east_asian_estate_health_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_health_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_2 = yes + estate_increase_physician_aptitude_2 = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} +east_asian_estate_health_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_health_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_2 = yes + estate_increase_physician_aptitude_2 = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} +east_asian_estate_health_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_health_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + epidemic_resistance = 3 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + estate_increase_safe_treatment_success_2 = yes + estate_increase_physician_aptitude_3 = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_herb_hall_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_herbal_hall" + } +} + +### Silk Production +east_asian_estate_silk_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + OR = { + house = { has_house_modifier = ep3_unlocked_silk } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + text = has_unlocked_estate_silk + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.05 + owned_political_scheme_success_chance_add = 3 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 15 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} +east_asian_estate_silk_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_silk_01 + internal_slots = 2 + + can_construct = { + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.05 + owned_political_scheme_success_chance_add = 3 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 13 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} +east_asian_estate_silk_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_silk_02 + internal_slots = 2 + + can_construct = { + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.05 + owned_political_scheme_success_chance_add = 3 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 11 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} +east_asian_estate_silk_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_silk_03 + internal_slots = 3 + + can_construct = { + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.1 + owned_political_scheme_success_chance_add = 3 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} +east_asian_estate_silk_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_silk_04 + internal_slots = 3 + + can_construct = { + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.1 + owned_political_scheme_success_chance_add = 4 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} +east_asian_estate_silk_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_silk_05 + internal_slots = 4 + + can_construct = { + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_silk } + multiply = 0.75 + desc = raid_insight_silk + } + } + } + + parameters = { + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + domicile_monthly_influence_add = 0.15 + owned_political_scheme_success_chance_add = 4 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_silk + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_silk_farm_chinese_mask.png" + } +} + +### Ancestral Shrine Building +east_asian_estate_ancestral_shrine_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + } + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_monthly_piety_add = 0.1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} +east_asian_estate_ancestral_shrine_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_ancestral_shrine_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + } + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_monthly_piety_add = 0.1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} +east_asian_estate_ancestral_shrine_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_ancestral_shrine_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + } + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_piety_add = 0.1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} +east_asian_estate_ancestral_shrine_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_ancestral_shrine_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + } + } + + parameters = { + estate_inherit_influence_small_bonus = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_piety_add = 0.1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} +east_asian_estate_ancestral_shrine_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_ancestral_shrine_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + } + } + + parameters = { + estate_inherit_influence_medium_bonus = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_piety_add = 0.2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} +east_asian_estate_ancestral_shrine_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_ancestral_shrine_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + } + } + + parameters = { + estate_inherit_influence_large_bonus = yes + estate_powerful_family_rating_per_dynasty_level = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_piety_add = 0.2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ancestral_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } +} + +### Temple +east_asian_estate_temple_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} +east_asian_estate_temple_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_temple_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} +east_asian_estate_temple_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_temple_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} +east_asian_estate_temple_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_temple_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + stress_loss_per_piety_level = 0.02 + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} +east_asian_estate_temple_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_temple_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + stress_loss_per_piety_level = 0.02 + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} +east_asian_estate_temple_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_temple_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + stress_loss_per_piety_level = 0.02 + domicile_monthly_piety_add = 0.2 + domicile_monthly_piety_mult = 0.02 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + + province_modifier = { + monthly_county_control_growth_factor = 0.03 + tax_per_piety_level = 0.15 + } + parameters = { + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_buddhist_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_temple_small" + } +} + +### Barracks +east_asian_estate_barracks_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.03 + skirmishers_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +east_asian_estate_barracks_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_barracks_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.03 + skirmishers_toughness_mult = 0.01 + heavy_infantry_damage_mult = 0.02 + heavy_infantry_toughness_mult = 0.01 + pikemen_damage_mult = 0.02 + pikemen_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +east_asian_estate_barracks_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_barracks_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.03 + skirmishers_toughness_mult = 0.01 + heavy_infantry_damage_mult = 0.02 + heavy_infantry_toughness_mult = 0.01 + pikemen_damage_mult = 0.02 + pikemen_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +east_asian_estate_barracks_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_barracks_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.03 + skirmishers_toughness_mult = 0.01 + heavy_infantry_damage_mult = 0.02 + heavy_infantry_toughness_mult = 0.01 + pikemen_damage_mult = 0.02 + pikemen_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +east_asian_estate_barracks_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_barracks_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.04 + skirmishers_toughness_mult = 0.03 + heavy_infantry_damage_mult = 0.02 + heavy_infantry_toughness_mult = 0.01 + pikemen_damage_mult = 0.02 + pikemen_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +east_asian_estate_barracks_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_barracks_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_barracks } + multiply = 0.75 + desc = raid_insight_barracks + } + } + } + + character_modifier = { + skirmishers_damage_mult = 0.04 + skirmishers_toughness_mult = 0.03 + heavy_infantry_damage_mult = 0.02 + heavy_infantry_toughness_mult = 0.01 + pikemen_damage_mult = 0.02 + pikemen_toughness_mult = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + monthly_war_merit_income_mult = 0.05 + #men_at_arms_maintenance = -0.02 + #men_at_arms_recruitment_cost = -0.02 + } + + parameters = { + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} + +### Watchtower +east_asian_estate_watchtower_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + hostile_raid_time = 0.1 + enemy_hostile_scheme_success_chance_add = -2 + character_travel_safety = 2 + } + + parameters = { + raids_less_likely_to_make_prisoners_1 = yes + house_head_can_ask_for_knight = yes + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} +east_asian_estate_watchtower_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_watchtower_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + archers_damage_mult = 0.02 + archers_toughness_mult = 0.01 + hostile_raid_time = 0.1 + enemy_hostile_scheme_success_chance_add = -2 + character_travel_safety = 2 + } + + parameters = { + raids_less_likely_to_make_prisoners_1 = yes + estate_increase_bodyguard_aptitude_1 = yes + house_head_can_ask_for_knight = yes + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} +east_asian_estate_watchtower_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_watchtower_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + parameters = { + raids_less_likely_to_make_prisoners_2 = yes + estate_unlock_bolster_security_decision = yes + estate_increase_bodyguard_aptitude_1 = yes + house_head_can_ask_for_knight = yes + house_head_can_ask_for_maa = yes + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + archers_damage_mult = 0.02 + archers_toughness_mult = 0.01 + hostile_raid_time = 0.1 + enemy_hostile_scheme_success_chance_add = -2 + character_travel_safety = 2 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} +east_asian_estate_watchtower_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_watchtower_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + parameters = { + raids_less_likely_to_make_prisoners_2 = yes + house_head_can_ask_for_maa = yes + estate_unlock_bolster_security_decision = yes + estate_increase_bodyguard_aptitude_2 = yes + house_head_can_ask_for_knight = yes + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + archers_damage_mult = 0.02 + archers_toughness_mult = 0.01 + hostile_raid_time = 0.2 + enemy_hostile_scheme_success_chance_add = -4 + character_travel_safety = 2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} +east_asian_estate_watchtower_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_watchtower_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + parameters = { + raids_less_likely_to_make_prisoners_3 = yes + house_head_can_ask_for_maa = yes + estate_unlock_bolster_security_decision = yes + estate_increase_bodyguard_aptitude_2 = yes + house_head_can_ask_for_knight = yes + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + archers_damage_mult = 0.02 + archers_toughness_mult = 0.01 + hostile_raid_time = 0.2 + enemy_hostile_scheme_success_chance_add = -4 + character_travel_safety = 2 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} +east_asian_estate_watchtower_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_watchtower_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + parameters = { + raids_less_likely_to_make_prisoners_3 = yes + estate_unlock_patrol_decision = yes + house_head_can_ask_for_maa = yes + estate_unlock_bolster_security_decision = yes + estate_increase_bodyguard_aptitude_2 = yes + house_head_can_ask_for_knight = yes + } + + character_modifier = { + monthly_county_control_growth_factor = 0.03 + defender_holding_advantage = 2 + archers_damage_mult = 0.02 + archers_toughness_mult = 0.01 + hostile_raid_time = 0.3 + enemy_hostile_scheme_success_chance_add = -4 + character_travel_safety = 2 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } +} + +### Garden +east_asian_estate_garden_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + stress_loss_mult = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_1 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 9 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_parameter = can_recruit_gardeners + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + stress_loss_mult = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_2 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 8 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + stress_loss_mult = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} + +# Leisure Garden sub-branch +east_asian_estate_garden_leisure_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + courtier_opinion = 5 + stress_loss_mult = 0.05 + fertility = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_leisure + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_leisure_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_leisure_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + courtier_opinion = 5 + stress_loss_mult = 0.1 + fertility = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_leisure + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 5 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_leisure_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_leisure_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + courtier_opinion = 5 + stress_loss_mult = 0.1 + fertility = 0.05 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_leisure + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 4 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} + +# Fruit Garden sub-branch +east_asian_estate_garden_fruit_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + development_growth = 0.1 + negate_health_penalty_add = 0.05 + } + + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_fruit + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_fruit_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_fruit_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + development_growth = 0.1 + negate_health_penalty_add = 0.1 + } + + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_fruit + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 5 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} +east_asian_estate_garden_fruit_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_garden_fruit_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + development_growth = 0.1 + negate_health_penalty_add = 0.15 + } + + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_garden_fruit + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 4 + if = { + limit = { + scope:owner = { + OR = { + culture ?= { + OR = { + has_cultural_tradition = tradition_gardening + has_cultural_tradition = tradition_fp3_irrigation_experts + has_cultural_tradition = tradition_sacred_groves + } + } + faith ?= { has_doctrine = tenet_sanctity_of_nature } + } + } + } + add = 10 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } +} + +### Stable +east_asian_estate_stable_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + } + + character_modifier = { + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 9 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +east_asian_estate_stable_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + } + + character_modifier = { + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 8 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +east_asian_estate_stable_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + } + + character_modifier = { + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 7 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} + +# Grand Stable sub-branch +east_asian_estate_stable_grand_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + } + + character_modifier = { + character_travel_speed_mult = 0.05 + domicile_monthly_prestige_add = 0.2 + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } +} +east_asian_estate_stable_grand_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_grand_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + estate_increase_master_of_horse_aptitude = yes + } + + character_modifier = { + character_travel_speed_mult = 0.1 + domicile_monthly_prestige_add = 0.2 + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } +} +east_asian_estate_stable_grand_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_grand_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + estate_increase_master_of_horse_aptitude = yes + } + + character_modifier = { + character_travel_speed_mult = 0.15 + domicile_monthly_prestige_add = 0.3 + movement_speed = 0.01 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } +} + +# Kennel sub-branch +east_asian_estate_stable_kennel_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + estate_unlock_adopt_puppy_decision = yes + kennels_more_successful_hunts_1 = yes + } + + character_modifier = { + stress_gain_mult = -0.1 + prowess = 1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 6 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } +} +east_asian_estate_stable_kennel_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_kennel_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + estate_unlock_adopt_puppy_decision = yes + estate_cheaper_hunt_cost = yes + kennels_more_successful_hunts_1 = yes + } + + character_modifier = { + stress_gain_mult = -0.1 + diplomacy = 1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 5 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } +} +east_asian_estate_stable_kennel_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_stable_kennel_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + } + } + + parameters = { + estate_unlock_mount_travel_option = yes + estate_unlock_adopt_puppy_decision = yes + estate_cheaper_hunt_cost = yes + estate_increase_master_of_hunt_aptitude = yes + kennels_more_successful_hunts_2 = yes + } + + character_modifier = { + stress_gain_mult = -0.2 + prowess = 1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + } + + ai_value = { + value = 4 + if = { + limit = { + scope:owner.culture ?= { + has_cultural_tradition = tradition_hunters + } + } + add = 2 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } +} + +### Workshop +east_asian_estate_workshop_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +east_asian_estate_workshop_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +# Carpenter sub-branch +east_asian_estate_workshop_carpenter_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + domicile_build_speed = -0.05 + } + + parameters = { + estate_improved_inspirations_1 = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } +} +east_asian_estate_workshop_carpenter_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_carpenter_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + parameters = { + estate_improved_inspirations_1 = yes + estate_reduce_commission_artifact_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } +} +east_asian_estate_workshop_carpenter_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_carpenter_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + parameters = { + estate_improved_inspirations_2 = yes + estate_reduce_commission_artifact_cost = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } +} +east_asian_estate_workshop_carpenter_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_carpenter_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + parameters = { + estate_improved_inspirations_2 = yes + estate_reduce_commission_artifact_cost = yes + estate_increase_antiquarian_aptitude = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } +} + +# Mason sub-branch +east_asian_estate_workshop_mason_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_speed = -0.05 + build_gold_cost = -0.05 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } +} +east_asian_estate_workshop_mason_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_mason_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_speed = -0.05 + build_gold_cost = -0.05 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } +} +east_asian_estate_workshop_mason_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_mason_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_speed = -0.05 + build_gold_cost = -0.05 + holding_build_gold_cost = -0.05 + holding_build_speed = -0.05 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } +} +east_asian_estate_workshop_mason_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_mason_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_speed = -0.05 + build_gold_cost = -0.05 + holding_build_gold_cost = -0.05 + holding_build_speed = -0.05 + domicile_build_speed = -0.05 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } +} + +# Textile sub-branch +east_asian_estate_workshop_textile_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + domicile_monthly_prestige_mult = 0.05 + } + + parameters = { + estate_improved_inspirations_1 = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } +} +east_asian_estate_workshop_textile_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_textile_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + domicile_monthly_prestige_mult = 0.05 + } + + parameters = { + estate_improved_inspirations_1 = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } +} +east_asian_estate_workshop_textile_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_textile_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + domicile_monthly_prestige_mult = 0.05 + } + + parameters = { + estate_improved_inspirations_2 = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } +} +east_asian_estate_workshop_textile_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_workshop_textile_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + domicile_monthly_prestige_mult = 0.05 + } + + parameters = { + estate_improved_inspirations_2 = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } +} + +### Storage +east_asian_estate_storage_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + supply_capacity_mult = 0.1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage" + } +} +east_asian_estate_storage_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + supply_capacity_mult = 0.1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage" + } +} + +# Warehouse sub-branch +east_asian_estate_storage_warehouse_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_gold_cost = -0.05 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } +} +east_asian_estate_storage_warehouse_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_warehouse_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_gold_cost = -0.1 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } +} +east_asian_estate_storage_warehouse_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_warehouse_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_gold_cost = -0.05 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } +} +east_asian_estate_storage_warehouse_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_warehouse_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + build_gold_cost = -0.05 + } + + parameters = { + house_head_can_ask_building_support = yes + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } +} + +# Granary sub-branch +east_asian_estate_storage_granary_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + character_modifier = { + development_growth_factor = 0.05 + epidemic_resistance = 2 + county_opinion_add = 10 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } +} +east_asian_estate_storage_granary_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_granary_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + parameters = { + estate_unlock_granary_decision = yes + } + + character_modifier = { + development_growth_factor = 0.1 + epidemic_resistance = 5 + county_opinion_add = 10 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } +} +east_asian_estate_storage_granary_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_granary_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + parameters = { + estate_unlock_granary_decision = yes + } + + character_modifier = { + development_growth_factor = 0.1 + epidemic_resistance = 5 + county_opinion_add = 10 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } +} +east_asian_estate_storage_granary_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_storage_granary_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_storage } + multiply = 0.75 + desc = raid_insight_storage + } + } + } + + parameters = { + estate_unlock_granary_decision = yes + } + + character_modifier = { + development_growth_factor = 0.1 + epidemic_resistance = 5 + county_opinion_add = 10 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + + province_modifier = { + supply_limit_mult = 0.05 + development_growth = @east_asian_manor_development_growth_1 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } +} + +### Grazing Lands +east_asian_estate_grazing_land_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 9 + if = { + limit = { + scope:owner = { + OR = { + can_recruit_archer_cavalry_trigger = yes + culture ?= { + OR = { + has_innovation = innovation_elephantry + has_innovation = innovation_war_camels + } + } + } + } + } + add = 4 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +east_asian_estate_grazing_land_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_01 + internal_slots = 2 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 8 + if = { + limit = { + scope:owner = { + OR = { + can_recruit_archer_cavalry_trigger = yes + culture ?= { + OR = { + has_innovation = innovation_elephantry + has_innovation = innovation_war_camels + } + } + } + } + } + add = 4 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +east_asian_estate_grazing_land_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_02 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + if = { + limit = { + scope:owner = { + OR = { + can_recruit_archer_cavalry_trigger = yes + culture ?= { + OR = { + has_innovation = innovation_elephantry + has_innovation = innovation_war_camels + } + } + } + } + } + add = 4 + } + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +east_asian_estate_grazing_land_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_03 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + heavy_cavalry_damage_mult = 0.04 + heavy_cavalry_toughness_mult = 0.02 + heavy_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +east_asian_estate_grazing_land_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_04 + internal_slots = 3 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + heavy_cavalry_damage_mult = 0.04 + heavy_cavalry_toughness_mult = 0.02 + heavy_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +east_asian_estate_grazing_land_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_05 + internal_slots = 4 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.02 + light_cavalry_toughness_mult = 0.01 + light_cavalry_maintenance_mult = -0.05 + heavy_cavalry_damage_mult = 0.04 + heavy_cavalry_toughness_mult = 0.02 + heavy_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + parameters = { + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_grazing_land + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} + +# Horse Archer sub-branch +east_asian_estate_horse_pasture_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_03 + internal_slots = 3 + + can_construct = { + can_recruit_archer_cavalry_trigger = yes + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + archer_cavalry_damage_mult = 0.04 + archer_cavalry_toughness_mult = 0.02 + archer_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_horse_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } +} +east_asian_estate_horse_pasture_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_horse_pasture_04 + internal_slots = 3 + + can_construct = { + can_recruit_archer_cavalry_trigger = yes + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + archer_cavalry_damage_mult = 0.04 + archer_cavalry_toughness_mult = 0.02 + archer_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_horse_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } +} +east_asian_estate_horse_pasture_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_horse_pasture_05 + internal_slots = 4 + + can_construct = { + can_recruit_archer_cavalry_trigger = yes + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + archer_cavalry_damage_mult = 0.04 + archer_cavalry_toughness_mult = 0.02 + archer_cavalry_maintenance_mult = -0.1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_horse_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } +} + +# Camel sub-branch +east_asian_estate_camel_pasture_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_03 + internal_slots = 3 + + can_construct = { + culture ?= { has_innovation = innovation_war_camels } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + camel_cavalry_damage_mult = 0.04 + camel_cavalry_toughness_mult = 0.02 + camel_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_camel_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } +} +east_asian_estate_camel_pasture_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_camel_pasture_04 + internal_slots = 3 + + can_construct = { + culture ?= { has_innovation = innovation_war_camels } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + camel_cavalry_damage_mult = 0.04 + camel_cavalry_toughness_mult = 0.02 + camel_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_camel_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } +} +east_asian_estate_camel_pasture_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_camel_pasture_05 + internal_slots = 4 + + can_construct = { + culture ?= { has_innovation = innovation_war_camels } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + camel_cavalry_damage_mult = 0.04 + camel_cavalry_toughness_mult = 0.02 + camel_cavalry_maintenance_mult = -0.1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + on_complete = { + if = { + limit = { + scope:owner = { + is_alive = yes + } + years_from_game_start >= 1 + } + scope:owner = { + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_camel_pasture + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } +} + +# Elephant sub-branch +east_asian_estate_elephant_pasture_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_grazing_land_03 + internal_slots = 3 + + can_construct = { + culture ?= { has_innovation = innovation_elephantry } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + elephant_cavalry_damage_mult = 0.06 + elephant_cavalry_toughness_mult = 0.03 + elephant_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + ai_value = { + value = 12 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } +} +east_asian_estate_elephant_pasture_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_elephant_pasture_04 + internal_slots = 3 + + can_construct = { + culture ?= { has_innovation = innovation_elephantry } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + elephant_cavalry_damage_mult = 0.06 + elephant_cavalry_toughness_mult = 0.03 + elephant_cavalry_maintenance_mult = -0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } +} +east_asian_estate_elephant_pasture_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_elephant_pasture_05 + internal_slots = 4 + + can_construct = { + culture ?= { has_innovation = innovation_elephantry } + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + elephant_cavalry_damage_mult = 0.06 + elephant_cavalry_toughness_mult = 0.03 + elephant_cavalry_maintenance_mult = -0.1 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } +} + +### Gate +east_asian_estate_gate_01 = { + construction_time = @east_asian_estate_building_construction_time_1 + allowed_domicile_types = { east_asian_estate } + internal_slots = 1 + + can_construct = { + dynasty ?= { has_dynasty_perk = tgp_chinese_legacy_5 } + } + + on_complete = { + if = { + limit = { + scope:owner = { has_title = title:h_china } + } + set_family_accomplishment_effect = { ACCOMPLISHMENT = family_accomplishment_dynasty } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_1 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.1 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_gate_02 = { + construction_time = @east_asian_estate_building_construction_time_2 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_gate_01 + internal_slots = 2 + + can_construct = { + trigger_if = { + limit = { + domicile ?= { has_variable = family_accomplishments } + } + domicile = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + var:family_accomplishments >= 1 + } + trigger_if = { + limit = { + var:family_accomplishments < 1 + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_dynasty } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_minister } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_grand_marshal } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_expansion } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_advancement } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_disciples } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + } + } + trigger_else = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_2 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_1 = yes + estate_gate_increase_disciple_limit_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.02 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_gate_03 = { + construction_time = @east_asian_estate_building_construction_time_3 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_gate_02 + internal_slots = 2 + + can_construct = { + trigger_if = { + limit = { + domicile ?= { has_variable = family_accomplishments } + } + domicile = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + var:family_accomplishments >= 2 + } + trigger_if = { + limit = { + var:family_accomplishments < 2 + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_dynasty } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_minister } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_grand_marshal } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_expansion } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_advancement } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_disciples } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_3 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_2 = yes + estate_gate_increase_disciple_limit_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.02 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_gate_04 = { + construction_time = @east_asian_estate_building_construction_time_4 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_gate_03 + internal_slots = 3 + + can_construct = { + trigger_if = { + limit = { + domicile ?= { has_variable = family_accomplishments } + } + domicile = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + var:family_accomplishments >= 3 + } + trigger_if = { + limit = { + var:family_accomplishments < 3 + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_dynasty } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_minister } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_grand_marshal } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_expansion } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_advancement } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_disciples } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_4 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_2 = yes + estate_gate_increase_disciple_limit_2 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.02 + monthly_piety_gain_per_court_position_mult = 0.01 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_gate_05 = { + construction_time = @east_asian_estate_building_construction_time_5 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_gate_04 + internal_slots = 3 + + can_construct = { + trigger_if = { + limit = { + domicile ?= { has_variable = family_accomplishments } + } + domicile = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + var:family_accomplishments >= 4 + } + trigger_if = { + limit = { + var:family_accomplishments < 4 + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_dynasty } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_minister } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_grand_marshal } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_expansion } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_advancement } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_disciples } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_5 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_3 = yes + estate_gate_increase_disciple_limit_2 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.02 + monthly_piety_gain_per_court_position_mult = 0.01 + } + + ai_value = { + value = 4 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} +east_asian_estate_gate_06 = { + construction_time = @east_asian_estate_building_construction_time_6 + allowed_domicile_types = { east_asian_estate } + previous_building = east_asian_estate_gate_05 + internal_slots = 4 + + can_construct = { + trigger_if = { + limit = { + domicile ?= { has_variable = family_accomplishments } + } + domicile = { + custom_tooltip = { + text = east_asian_estate_family_accomplishments_main_desc + var:family_accomplishments >= 5 + } + trigger_if = { + limit = { + var:family_accomplishments < 5 + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_dynasty } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_dynasty_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_minister } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_minister_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_grand_marshal } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_grand_marshal_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_expansion } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_expansion_desc + always = no + } + } + trigger_if = { + limit = { + exists = situation:dynastic_cycle + NOT = { has_variable = family_accomplishment_advancement } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_advancement_desc + always = no + } + } + trigger_if = { + limit = { + NOT = { has_variable = family_accomplishment_disciples } + } + custom_tooltip = { + text = east_asian_estate_family_accomplishments_disciples_desc + always = no + } + } + } + } + } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + } + } + + parameters = { + estate_merit_rank_increase_bonus_6 = yes + estate_movement_power_per_dynasty_prestige_level_bonus_3 = yes + estate_gate_increase_disciple_limit_3 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + domicile_monthly_gold_mult = 0.02 + monthly_piety_gain_per_court_position_mult = 0.01 + } + + ai_value = { + value = 3 + add = estate_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } +} + +# Internal Buildings + +east_asian_estate_waterways_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + farmlands_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + terraced_hills_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + terraced_hills_development_growth_factor = @east_asian_manor_development_growth_factor_1 + terraced_hills_tax_mult = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_assembly.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_waterways_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_waterways_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + farmlands_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + terraced_hills_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + terraced_hills_development_growth_factor = @east_asian_manor_development_growth_factor_1 + terraced_hills_tax_mult = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_assembly.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_waterways_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_waterways_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + farmlands_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + terraced_hills_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + terraced_hills_development_growth_factor = @east_asian_manor_development_growth_factor_1 + terraced_hills_tax_mult = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_assembly.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_waterways_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_waterways_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + farmlands_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + terraced_hills_construction_gold_cost = @east_asian_manor_build_gold_cost_2 + terraced_hills_development_growth_factor = @east_asian_manor_development_growth_factor_1 + terraced_hills_tax_mult = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_assembly.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surveyors_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + monthly_county_control_growth_factor = 0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surveyors_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surveyors_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + monthly_county_control_growth_factor = 0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surveyors_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surveyors_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + monthly_county_control_growth_factor = 0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surveyors_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surveyors_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + monthly_county_control_growth_factor = 0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_buffer_stock_granary_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 3 + supply_limit = 500 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_buffer_stock_granary_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_buffer_stock_granary_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 3 + supply_limit = 500 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_buffer_stock_granary_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_buffer_stock_granary_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 3 + supply_limit = 500 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_buffer_stock_granary_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_buffer_stock_granary_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 3 + supply_limit = 500 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rice_fish_duck_ponds_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_2 + county_opinion_add = 2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_rice_fish_duck_ponds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rice_fish_duck_ponds_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_fish_duck_ponds_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_2 + county_opinion_add = 2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_rice_fish_duck_ponds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rice_fish_duck_ponds_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_fish_duck_ponds_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_2 + county_opinion_add = 2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_rice_fish_duck_ponds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rice_fish_duck_ponds_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_fish_duck_ponds_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_2 + county_opinion_add = 2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_rice_fish_duck_ponds.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_militia_muster_green_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + vassal_contract_has_flag = celestial_military_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + pikemen_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_pikemen_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_pikemen_toughness_mult = 0.05 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_militia_muster_green_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_militia_muster_green_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + pikemen_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_pikemen_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_pikemen_toughness_mult = 0.05 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_militia_muster_green_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_militia_muster_green_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + pikemen_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_pikemen_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_pikemen_toughness_mult = 0.05 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_militia_muster_green_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_militia_muster_green_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + pikemen_maintenance_mult = -0.025 + men_at_arms_cap = 1 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_pikemen_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_pikemen_toughness_mult = 0.05 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ration_wine_stores_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + vassal_contract_has_flag = celestial_military_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + hostile_county_attrition = -0.05 + supply_capacity_mult = 0.05 + } + province_modifier = { + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ration_wine_stores_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ration_wine_stores_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + hostile_county_attrition = -0.05 + supply_capacity_mult = 0.05 + } + province_modifier = { + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ration_wine_stores_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ration_wine_stores_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + hostile_county_attrition = -0.05 + supply_capacity_mult = 0.05 + } + province_modifier = { + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ration_wine_stores_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ration_wine_stores_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + hostile_county_attrition = -0.05 + supply_capacity_mult = 0.05 + } + province_modifier = { + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_vintner_halls_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_vintner_halls_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_vintner_halls_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_vintner_halls_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_vintner_halls_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_vintner_halls_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_vintner_halls_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_wine_press_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rice_field_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_wine_press_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_wine_press_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_wine_press_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_wine_press_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_wine_press_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_wine_press_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cellar_cave_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cellar_cave_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cellar_cave_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cellar_cave_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cellar_cave_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_cellar_cave_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_cellar_cave_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_cellar_cave.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_jar_kiln_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + hills_development_growth_factor = 0.025 + hills_tax_mult = 0.03 + plains_development_growth_factor = 0.015 + plains_tax_mult = 0.03 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_jar_kiln_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_jar_kiln_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + hills_development_growth_factor = 0.025 + hills_tax_mult = 0.03 + plains_development_growth_factor = 0.015 + plains_tax_mult = 0.03 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_jar_kiln_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_jar_kiln_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + hills_development_growth_factor = 0.025 + hills_tax_mult = 0.03 + plains_development_growth_factor = 0.015 + plains_tax_mult = 0.03 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_jar_kiln_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_jar_kiln_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + hills_development_growth_factor = 0.025 + hills_tax_mult = 0.03 + plains_development_growth_factor = 0.015 + plains_tax_mult = 0.03 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weighing_house_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weighing_house_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weighing_house_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weighing_house_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weighing_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weighing_house_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weighing_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/debate_phase_debate.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_meeting_houses_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct_potential = { + any_character_situation = { situation_type = dynastic_cycle } + } + + can_construct = { + is_any_movement_leader = yes + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + celestial_bonus_movement_power_1 = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + celestial_movement_power_promote_scheme_phase_duration_add = -2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_meeting_houses_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_meeting_houses_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + celestial_bonus_movement_power_2 = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + celestial_movement_power_promote_scheme_phase_duration_add = -2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_meeting_houses_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_meeting_houses_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + celestial_bonus_movement_power_3 = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + celestial_movement_power_promote_scheme_phase_duration_add = -2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_meeting_houses_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_meeting_houses_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + celestial_bonus_movement_power_4 = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + celestial_movement_power_promote_scheme_phase_duration_add = -2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_night_watch_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_night_watch_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_night_watch_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_night_watch_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_night_watch_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_night_watch_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_night_watch_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + domicile_monthly_gold_mult = 0.02 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fire_brigade_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + county_opinion_add = 2 + development_decline_factor = -0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/coronation_type_anointment_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fire_brigade_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fire_brigade_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + county_opinion_add = 2 + development_decline_factor = -0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/coronation_type_anointment_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fire_brigade_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fire_brigade_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + county_opinion_add = 2 + development_decline_factor = -0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/coronation_type_anointment_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fire_brigade_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fire_brigade_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + county_opinion_add = 2 + development_decline_factor = -0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/coronation_type_anointment_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_courier_posthouse_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_market_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_courier_posthouse_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courier_posthouse_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_courier_posthouse_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courier_posthouse_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_courier_posthouse_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_courier_posthouse_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_dye_works_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_dye_works_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_dye_works_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_dye_works_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_dye_works_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_dye_works_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_dye_works_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_gold_add = 0.15 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_fermentation_room.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sericulture_school_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sericulture_school_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sericulture_school_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sericulture_school_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sericulture_school_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sericulture_school_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sericulture_school_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_inspection_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_inspection_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_inspection_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_inspection_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_inspection_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_inspection_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_inspection_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_mulberry_nursery_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.02 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + development_decline_factor = -0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_morus.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_mulberry_nursery_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_mulberry_nursery_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.02 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + development_decline_factor = -0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_morus.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_mulberry_nursery_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_mulberry_nursery_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.02 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + development_decline_factor = -0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_morus.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_mulberry_nursery_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_mulberry_nursery_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.02 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + development_decline_factor = -0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_morus.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_silk_storage_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_silk_storage_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_silk_storage_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_storage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_silk_storage_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_silk_storage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_roasting_house_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_roasting_house_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_roasting_house_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_roasting_house_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_roasting_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_roasting_house_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_roasting_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_grading_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_grading_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grading_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_grading_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grading_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_grading_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grading_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + governor_xp_gain_mult = @east_asian_manor_governor_xp_gain_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_horse_road_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_maintenance_mult = -0.025 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + } + province_modifier = { + stationed_light_cavalry_damage_mult = 0.05 + stationed_light_cavalry_toughness_mult = 0.05 + tax_mult = 0.02 + levy_size = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_horse_road_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_horse_road_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_maintenance_mult = -0.025 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + } + province_modifier = { + stationed_light_cavalry_damage_mult = 0.05 + stationed_light_cavalry_toughness_mult = 0.05 + tax_mult = 0.02 + levy_size = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_horse_road_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_horse_road_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_maintenance_mult = -0.025 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + } + province_modifier = { + stationed_light_cavalry_damage_mult = 0.05 + stationed_light_cavalry_toughness_mult = 0.05 + tax_mult = 0.02 + levy_size = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_horse_road_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_horse_road_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_maintenance_mult = -0.025 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + men_at_arms_cap = 1 + } + province_modifier = { + stationed_light_cavalry_damage_mult = 0.05 + stationed_light_cavalry_toughness_mult = 0.05 + tax_mult = 0.02 + levy_size = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_tax_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_01 + + can_construct = { + has_trait_xp = { + trait = governor + value >= 50 + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_tax_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_tax_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_tax_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_tax_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_tea_tax_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_tax_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_teahouse_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_tea_01 + + can_construct_potential = { + any_character_situation = { situation_type = dynastic_cycle } + } + + can_construct = { + is_any_movement_leader = yes + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + celestial_bonus_movement_power_1 = yes + } + character_modifier = { + elderly_health = 0.1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_teahouse_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_teahouse_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + celestial_bonus_movement_power_2 = yes + } + character_modifier = { + elderly_health = 0.1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_teahouse_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_teahouse_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + celestial_bonus_movement_power_3 = yes + } + character_modifier = { + elderly_health = 0.1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_teahouse_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_teahouse_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + celestial_bonus_movement_power_4 = yes + } + character_modifier = { + elderly_health = 0.1 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pharmacy_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_health_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + life_expectancy = 0.5 + } + province_modifier = { + epidemic_resistance = 3 + development_decline_factor = -0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pharmacy_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pharmacy_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + life_expectancy = 0.5 + } + province_modifier = { + epidemic_resistance = 3 + development_decline_factor = -0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pharmacy_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pharmacy_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + life_expectancy = 0.5 + } + province_modifier = { + epidemic_resistance = 3 + development_decline_factor = -0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pharmacy_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pharmacy_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + life_expectancy = 0.5 + } + province_modifier = { + epidemic_resistance = 3 + development_decline_factor = -0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_hot_baths_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_health_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + stress_loss_mult = 0.02 + owned_personal_scheme_success_chance_max_add = 2 + owned_personal_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_hot_baths.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_hot_baths_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_hot_baths_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + stress_loss_mult = 0.02 + owned_personal_scheme_success_chance_max_add = 2 + owned_personal_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_hot_baths.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_hot_baths_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_hot_baths_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + stress_loss_mult = 0.02 + owned_personal_scheme_success_chance_max_add = 2 + owned_personal_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_hot_baths.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_hot_baths_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_hot_baths_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + stress_loss_mult = 0.02 + owned_personal_scheme_success_chance_max_add = 2 + owned_personal_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_hot_baths.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_medical_library_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_health_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + negate_health_penalty_add = 0.05 + mentoring_scheme_phase_duration_add = -10 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_medical_library_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_medical_library_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + negate_health_penalty_add = 0.05 + mentoring_scheme_phase_duration_add = -10 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_medical_library_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_medical_library_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + negate_health_penalty_add = 0.05 + mentoring_scheme_phase_duration_add = -10 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_medical_library_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_medical_library_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + negate_health_penalty_add = 0.05 + mentoring_scheme_phase_duration_add = -10 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_wintner_halls.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surgeon_cart_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_health_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + hard_casualty_modifier = -0.05 + maa_screen_mult = 0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + province_modifier = { + stationed_maa_screen_mult = 0.1 + stationed_maa_toughness_mult = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surgeon_cart_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surgeon_cart_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + hard_casualty_modifier = -0.05 + maa_screen_mult = 0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + province_modifier = { + stationed_maa_screen_mult = 0.1 + stationed_maa_toughness_mult = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surgeon_cart_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surgeon_cart_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + hard_casualty_modifier = -0.05 + maa_screen_mult = 0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + province_modifier = { + stationed_maa_screen_mult = 0.1 + stationed_maa_toughness_mult = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_field_surgeon_cart_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_field_surgeon_cart_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + hard_casualty_modifier = -0.05 + maa_screen_mult = 0.05 + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_1 + } + province_modifier = { + stationed_maa_screen_mult = 0.1 + stationed_maa_toughness_mult = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_herb_drying_terrace_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_health_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit = @east_asian_manor_monthly_merit_1 + owned_hostile_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_herb_drying_terrace_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_herb_drying_terrace_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit = @east_asian_manor_monthly_merit_1 + owned_hostile_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_herb_drying_terrace_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_herb_drying_terrace_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit = @east_asian_manor_monthly_merit_1 + owned_hostile_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_herb_drying_terrace_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_herb_drying_terrace_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit = @east_asian_manor_monthly_merit_1 + owned_hostile_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bell_drum_tower_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.03 + domicile_monthly_piety_add = 0.15 + } + province_modifier = { + tax_mult = 0.03 + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bell_drum_tower_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bell_drum_tower_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.03 + domicile_monthly_piety_add = 0.15 + } + province_modifier = { + tax_mult = 0.03 + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bell_drum_tower_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bell_drum_tower_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.03 + domicile_monthly_piety_add = 0.15 + } + province_modifier = { + tax_mult = 0.03 + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bell_drum_tower_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bell_drum_tower_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_mult = 0.03 + domicile_monthly_piety_add = 0.15 + } + province_modifier = { + tax_mult = 0.03 + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_temple_land_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_01 + + can_construct = { + has_trait_xp = { + trait = confucian_education + value >= 50 + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + church_holding_build_gold_cost = -0.05 + church_holding_holding_build_gold_cost = -0.05 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_liuhe_pagoda.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_temple_land_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_land_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + church_holding_build_gold_cost = -0.05 + church_holding_holding_build_gold_cost = -0.05 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_liuhe_pagoda.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_temple_land_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_land_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + church_holding_build_gold_cost = -0.05 + church_holding_holding_build_gold_cost = -0.05 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_liuhe_pagoda.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_temple_land_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_land_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + church_holding_build_gold_cost = -0.05 + church_holding_holding_build_gold_cost = -0.05 + } + province_modifier = { + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_liuhe_pagoda.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lecture_pavilion_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + mentoring_scheme_phase_duration_add = -10 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lecture_pavilion_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lecture_pavilion_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + mentoring_scheme_phase_duration_add = -10 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lecture_pavilion_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lecture_pavilion_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + mentoring_scheme_phase_duration_add = -10 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lecture_pavilion_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lecture_pavilion_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_3 + mentoring_scheme_phase_duration_add = -10 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_guesthouse_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_01 + + can_construct_potential = { + any_character_situation = { situation_type = dynastic_cycle } + } + + can_construct = { + is_any_movement_leader = yes + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + celestial_bonus_movement_power_1 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_guesthouse_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guesthouse_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + celestial_bonus_movement_power_2 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_guesthouse_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guesthouse_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + celestial_bonus_movement_power_3 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_guesthouse_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_guesthouse_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + celestial_bonus_movement_power_4 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_intents/scout_talent_intent.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_chanting_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_temple_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + tax_per_piety_level = 0.05 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_chanting_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_chanting_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + tax_per_piety_level = 0.05 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_chanting_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_chanting_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + tax_per_piety_level = 0.05 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_chanting_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_chanting_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + tax_per_piety_level = 0.05 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_living_quarters.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_genealogy_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_shrine_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige = 0.05 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_genealogy_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_genealogy_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige = 0.02 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_genealogy_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_genealogy_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige = 0.02 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_genealogy_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_genealogy_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige = 0.02 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_influence_mult = 0.02 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_history_school_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_shrine_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + estate_increased_tutor_aptitude_1 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_history_school_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_history_school_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + estate_increased_tutor_aptitude_2 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_history_school_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_history_school_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + estate_increased_tutor_aptitude_3 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_history_school_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_history_school_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + estate_increased_tutor_aptitude_1 = yes + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ancestral_orchard_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_shrine_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ancestral_orchard_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_orchard_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ancestral_orchard_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_orchard_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ancestral_orchard_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_orchard_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rites_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_shrine_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_mult = 0.02 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rites_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rites_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_mult = 0.02 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rites_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rites_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_mult = 0.02 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rites_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rites_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_mult = 0.02 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_memorial_archway_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ancestral_shrine_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_dynasty_prestige_mult = 0.01 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_memorial_archway_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_memorial_archway_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_dynasty_prestige_mult = 0.01 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_memorial_archway_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_memorial_archway_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_dynasty_prestige_mult = 0.01 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_memorial_archway_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_memorial_archway_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_merit = @east_asian_manor_monthly_merit_1 + monthly_dynasty_prestige_mult = 0.01 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_gongsanseong_fortress.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_armorer_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_2 + men_at_arms_maintenance = -0.01 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_armorer_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_armorer_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_2 + men_at_arms_maintenance = -0.01 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_armorer_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_armorer_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_2 + men_at_arms_maintenance = -0.01 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_armorer_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_armorer_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_2 + men_at_arms_maintenance = -0.01 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterans_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + mercenary_hire_time_mult = 0.1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterans_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterans_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + mercenary_hire_time_mult = 0.1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterans_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterans_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + mercenary_hire_time_mult = 0.1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterans_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterans_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + mercenary_hire_cost_mult = @east_asian_manor_mercenary_hire_cost_mult_1 + mercenary_hire_time_mult = 0.1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_quartermaster_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_recruitment_cost = @east_asian_manor_maa_recruitment_cost_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + levy_size = 0.1 + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_quartermaster_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_quartermaster_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_recruitment_cost = @east_asian_manor_maa_recruitment_cost_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + levy_size = 0.1 + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_quartermaster_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_quartermaster_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_recruitment_cost = @east_asian_manor_maa_recruitment_cost_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + levy_size = 0.1 + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_quartermaster_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_quartermaster_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_recruitment_cost = @east_asian_manor_maa_recruitment_cost_mult_1 + monthly_merit = @east_asian_manor_monthly_merit_1 + } + province_modifier = { + levy_size = 0.1 + levy_reinforcement_rate = 0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sergeants_school_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sergeants_school_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sergeants_school_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sergeants_school_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sergeants_school_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_sergeants_school_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_sergeants_school_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_treasury_from_military_budget_mult = @east_asian_manor_monthly_treasury_from_military_budget_mult_2 + celestial_movement_power_promote_scheme_phase_duration_add = -5 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drill_yard_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_barracks_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_cap = 1 + maa_damage_mult = 0.03 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_maa_damage_mult = 0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drill_yard_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drill_yard_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + maa_damage_mult = 0.03 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_maa_damage_mult = 0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drill_yard_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drill_yard_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + maa_damage_mult = 0.03 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_maa_damage_mult = 0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drill_yard_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drill_yard_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_cap = 1 + maa_damage_mult = 0.03 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_maa_damage_mult = 0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_commander_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pass_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watchtower_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_county_control_growth_factor = 0.05 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pass_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pass_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_county_control_growth_factor = 0.05 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pass_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pass_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_county_control_growth_factor = 0.05 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pass_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pass_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_county_control_growth_factor = 0.05 + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + character_travel_safety = 2 + } + province_modifier = { + travel_danger = @east_asian_manor_travel_danger_2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_minister_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gunpowder_storage_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watchtower_01 + + can_construct = { + culture = { + has_innovation = innovation_fire_medicine + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + gunpowder_limit_1 + } + character_modifier = { + gunpowder_damage_mult = 0.04 + gunpowder_toughness_mult = 0.04 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_powder_magazine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gunpowder_storage_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gunpowder_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + gunpowder_limit_1 + } + character_modifier = { + gunpowder_damage_mult = 0.04 + gunpowder_toughness_mult = 0.04 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_powder_magazine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gunpowder_storage_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gunpowder_storage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + gunpowder_limit_2 + } + character_modifier = { + gunpowder_damage_mult = 0.04 + gunpowder_toughness_mult = 0.04 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_powder_magazine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gunpowder_storage_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gunpowder_storage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + gunpowder_limit_2 + } + character_modifier = { + gunpowder_damage_mult = 0.04 + gunpowder_toughness_mult = 0.04 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_building_powder_magazine.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_signal_fires_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watchtower_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + movement_speed = 0.03 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + county_opinion_add = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_signal_fires_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_signal_fires_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + movement_speed = 0.03 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + county_opinion_add = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_signal_fires_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_signal_fires_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + movement_speed = 0.03 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + county_opinion_add = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_signal_fires_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_signal_fires_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + movement_speed = 0.03 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + county_opinion_add = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_regular_patrols_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watchtower_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + character_travel_safety = 2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_regular_patrols_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_regular_patrols_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + character_travel_safety = 2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_regular_patrols_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_regular_patrols_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + character_travel_safety = 2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_regular_patrols_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_regular_patrols_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + character_travel_safety = 2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.02 + monthly_county_control_growth_add = 0.2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_crossbow_storage_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watchtower_01 + + can_construct = { + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + vassal_contract_has_flag = celestial_military_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + archers_maintenance_mult = -0.025 + } + province_modifier = { + stationed_archers_damage_mult = 0.05 + stationed_archers_toughness_mult = 0.05 + defender_holding_advantage = 2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_crossbow_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_crossbow_storage_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_crossbow_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + archers_maintenance_mult = -0.025 + } + province_modifier = { + stationed_archers_damage_mult = 0.05 + stationed_archers_toughness_mult = 0.05 + defender_holding_advantage = 2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_crossbow_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_crossbow_storage_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_crossbow_storage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + archers_maintenance_mult = -0.025 + } + province_modifier = { + stationed_archers_damage_mult = 0.05 + stationed_archers_toughness_mult = 0.05 + defender_holding_advantage = 2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_crossbow_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_crossbow_storage_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_crossbow_storage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + archers_maintenance_mult = -0.025 + men_at_arms_cap = 1 + } + province_modifier = { + stationed_archers_damage_mult = 0.05 + stationed_archers_toughness_mult = 0.05 + defender_holding_advantage = 2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_crossbow_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_aviary_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + owned_political_scheme_success_chance_add = 3 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_aviary_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_aviary_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + owned_political_scheme_success_chance_add = 3 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_aviary_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_aviary_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + owned_political_scheme_success_chance_add = 3 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_aviary_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_aviary_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + owned_political_scheme_success_chance_add = 3 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_four_gentlemen_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + domicile_monthly_piety_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_four_gentlemen.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_four_gentlemen_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_four_gentlemen_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + domicile_monthly_piety_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_four_gentlemen.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_four_gentlemen_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_four_gentlemen_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + domicile_monthly_piety_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_four_gentlemen.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_four_gentlemen_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_four_gentlemen_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + domicile_monthly_piety_add = 0.2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_four_gentlemen.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_scholars_rocks_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + monthly_lifestyle_xp_gain_mult = 0.01 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_scholars_rocks_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_scholars_rocks_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + monthly_lifestyle_xp_gain_mult = 0.01 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_scholars_rocks_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_scholars_rocks_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + monthly_lifestyle_xp_gain_mult = 0.01 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_scholars_rocks_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_scholars_rocks_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + monthly_lifestyle_xp_gain_mult = 0.01 + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lotus_pond_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + mentoring_scheme_phase_duration_add = -10 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_cathedral_buddhist.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lotus_pond_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lotus_pond_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + mentoring_scheme_phase_duration_add = -10 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_cathedral_buddhist.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lotus_pond_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lotus_pond_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + mentoring_scheme_phase_duration_add = -10 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_cathedral_buddhist.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lotus_pond_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lotus_pond_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + mentoring_scheme_phase_duration_add = -10 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_cathedral_buddhist.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fruit_trees_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_garden_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fruit_trees_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fruit_trees_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fruit_trees_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fruit_trees_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fruit_trees_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fruit_trees_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_foaling_pens_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_stable_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_cap = 1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_foaling_pens_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_foaling_pens_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_foaling_pens_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_foaling_pens_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_foaling_pens_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_foaling_pens_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + men_at_arms_cap = 1 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_riding_arena_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_stable_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + stationed_maa_damage_mult = 0.04 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_riding_arena_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_riding_arena_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + stationed_maa_damage_mult = 0.04 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_riding_arena_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_riding_arena_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + stationed_maa_damage_mult = 0.04 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_riding_arena_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_riding_arena_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_3 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + } + province_modifier = { + stationed_maa_damage_mult = 0.04 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_farriers_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_stable_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + maa_pursuit_mult = 0.05 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_farriers_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_farriers_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + maa_pursuit_mult = 0.05 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_farriers_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_farriers_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + maa_pursuit_mult = 0.05 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_farriers_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_farriers_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + maa_pursuit_mult = 0.05 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bloodline_records_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_stable_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + domicile_monthly_prestige_mult = 0.05 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_heavy_cavalry_damage_mult = 0.04 + stationed_heavy_cavalry_toughness_mult = 0.04 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bloodline_records_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bloodline_records_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + domicile_monthly_prestige_mult = 0.05 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_heavy_cavalry_damage_mult = 0.04 + stationed_heavy_cavalry_toughness_mult = 0.04 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bloodline_records_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bloodline_records_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + domicile_monthly_prestige_mult = 0.05 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_heavy_cavalry_damage_mult = 0.04 + stationed_heavy_cavalry_toughness_mult = 0.04 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_bloodline_records_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_bloodline_records_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + domicile_monthly_prestige_mult = 0.05 + domicile_monthly_influence_mult = 0.05 + } + province_modifier = { + stationed_heavy_cavalry_damage_mult = 0.04 + stationed_heavy_cavalry_toughness_mult = 0.04 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fodder_reserves_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_stable_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + heavy_cavalry_maintenance_mult = -0.025 + heavy_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + supply_limit = 500 + levy_size = 0.1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fodder_reserves_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fodder_reserves_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + heavy_cavalry_maintenance_mult = -0.025 + heavy_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + supply_limit = 500 + levy_size = 0.1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fodder_reserves_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fodder_reserves_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + heavy_cavalry_maintenance_mult = -0.025 + heavy_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + supply_limit = 500 + levy_size = 0.1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_fodder_reserves_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_fodder_reserves_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + heavy_cavalry_maintenance_mult = -0.025 + heavy_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + supply_limit = 500 + levy_size = 0.1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_paper_mill_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_workshop_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_3 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_paper_mill_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_paper_mill_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_3 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_paper_mill_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_paper_mill_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_3 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_paper_mill_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_paper_mill_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_3 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_paper_shelf.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ink_brush_makers_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_workshop_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ink_brush_makers_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ink_brush_makers_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ink_brush_makers_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ink_brush_makers_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ink_brush_makers_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ink_brush_makers_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_1 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_1 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_1 + study_confucian_classics_scheme_phase_duration_add = @east_asian_manor_study_confucian_classics_scheme_phase_duration_add_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ceramics_kiln_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_workshop_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ceramics_kiln_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ceramics_kiln_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ceramics_kiln_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ceramics_kiln_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ceramics_kiln_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ceramics_kiln_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + tax_mult = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/building_types/icon_structure_plain_of_jars.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lacquer_studio_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_workshop_01 + + can_construct = { + culture ?= { has_innovation = innovation_lacquered_armor } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lacquer_studio_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lacquer_studio_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lacquer_studio_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lacquer_studio_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_lacquer_studio_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_lacquer_studio_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + stationed_maa_toughness_mult = 0.05 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_leatherworks_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_workshop_01 + + can_construct = { + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + vassal_contract_has_flag = celestial_military_appointment + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + heavy_infantry_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_heavy_infantry_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_heavy_infantry_toughness_mult = 0.05 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_leatherworks_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_leatherworks_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + heavy_infantry_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_heavy_infantry_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_heavy_infantry_toughness_mult = 0.05 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_leatherworks_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_leatherworks_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + heavy_infantry_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_heavy_infantry_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_heavy_infantry_toughness_mult = 0.05 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_leatherworks_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_leatherworks_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + skirmishers_maintenance_mult = -0.025 + heavy_infantry_maintenance_mult = -0.025 + } + province_modifier = { + stationed_skirmishers_damage_mult = 0.05 + stationed_heavy_infantry_damage_mult = 0.05 + stationed_skirmishers_toughness_mult = 0.05 + stationed_heavy_infantry_toughness_mult = 0.05 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ever_normal_granaries_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 2 + supply_limit = 750 + county_opinion_add = 2 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ever_normal_granaries_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ever_normal_granaries_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 2 + supply_limit = 750 + county_opinion_add = 2 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ever_normal_granaries_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ever_normal_granaries_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 2 + supply_limit = 750 + county_opinion_add = 2 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ever_normal_granaries_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ever_normal_granaries_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_2 + } + province_modifier = { + epidemic_resistance = 2 + supply_limit = 750 + county_opinion_add = 2 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_millhouse_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + plains_development_growth_factor = @east_asian_manor_development_growth_factor_1 + plains_tax_mult = 0.02 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_millhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_millhouse_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_millhouse_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + plains_development_growth_factor = @east_asian_manor_development_growth_factor_1 + plains_tax_mult = 0.02 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_millhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_millhouse_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_millhouse_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + plains_development_growth_factor = @east_asian_manor_development_growth_factor_1 + plains_tax_mult = 0.02 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_millhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_millhouse_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_millhouse_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + farmlands_development_growth_factor = @east_asian_manor_development_growth_factor_1 + farmlands_tax_mult = 0.02 + plains_development_growth_factor = @east_asian_manor_development_growth_factor_1 + plains_tax_mult = 0.02 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_millhouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ledger_office_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ledger_office_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ledger_office_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ledger_office_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ledger_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_ledger_office_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_ledger_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_2 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_2 + } + province_modifier = { + build_gold_cost = @east_asian_manor_domicile_build_gold_cost_minor + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_preparation.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drying_loft_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drying_loft_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drying_loft_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drying_loft_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drying_loft_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_drying_loft_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_drying_loft_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_1 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_drying_lofts.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weights_measures_bench_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_storage_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + tax_mult = 0.01 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weights_measures_bench_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weights_measures_bench_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + tax_mult = 0.01 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weights_measures_bench_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weights_measures_bench_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + tax_mult = 0.01 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_weights_measures_bench_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_weights_measures_bench_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + development_growth = @east_asian_manor_development_growth_2 + tax_mult = 0.01 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_phases/imperial_examination_phase_examination.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_seasonal_shelters_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grazing_land_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_seasonal_shelters_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_seasonal_shelters_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_seasonal_shelters_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_seasonal_shelters_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_seasonal_shelters_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_seasonal_shelters_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit_per_liege_tax = @east_asian_manor_monthly_merit_per_liege_tax_1 + } + province_modifier = { + development_growth_factor = @east_asian_manor_development_growth_factor_1 + build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterinary_shed_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grazing_land_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + estate_unlock_adopt_puppy_decision = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + epidemic_resistance = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterinary_shed_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterinary_shed_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + estate_unlock_adopt_puppy_decision = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + epidemic_resistance = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterinary_shed_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterinary_shed_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + estate_unlock_adopt_puppy_decision = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + epidemic_resistance = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_veterinary_shed_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_veterinary_shed_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + estate_unlock_adopt_puppy_decision = yes + } + character_modifier = { + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + epidemic_resistance = 3 + travel_danger = @east_asian_manor_travel_danger_1 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_watering_ditches_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grazing_land_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.03 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_watering_ditches_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watering_ditches_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.03 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_watering_ditches_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watering_ditches_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.03 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_watering_ditches_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_watering_ditches_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_1 + domicile_monthly_gold_mult = @east_asian_manor_monthly_gold_mult_3 + } + province_modifier = { + tax_mult = 0.03 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_salt_lick_terraces_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grazing_land_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + custom_tooltip = { + text = is_a_military_governor_county_or_above_desc + highest_held_title_tier >= tier_county + vassal_contract_has_flag = celestial_military_appointment + } + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + stationed_maa_toughness_mult = 0.03 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_salt_lick_terraces.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_salt_lick_terraces_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_salt_lick_terraces_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + stationed_maa_toughness_mult = 0.03 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_salt_lick_terraces.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_salt_lick_terraces_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_salt_lick_terraces_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + stationed_maa_toughness_mult = 0.03 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_salt_lick_terraces.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_salt_lick_terraces_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_salt_lick_terraces_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + monthly_merit_per_title_maa_value = @east_asian_manor_monthly_merit_per_title_maa_value_1 + light_cavalry_recruitment_cost_mult = @east_asian_manor_maa_recruitment_cost_mult_1 + } + province_modifier = { + stationed_maa_toughness_mult = 0.03 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_salt_lick_terraces.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rotation_paddocks_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_grazing_land_01 + + can_construct = { + trigger_if = { + limit = { + this != top_liege + } + is_governor = yes + } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + hills_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + hills_development_growth_factor = @east_asian_manor_development_growth_factor_3 + hills_tax_mult = 0.04 + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rotation_paddocks_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rotation_paddocks_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + hills_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + hills_development_growth_factor = @east_asian_manor_development_growth_factor_3 + hills_tax_mult = 0.04 + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rotation_paddocks_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rotation_paddocks_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + hills_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + hills_development_growth_factor = @east_asian_manor_development_growth_factor_3 + hills_tax_mult = 0.04 + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_rotation_paddocks_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_rotation_paddocks_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + trait_track_travel_xp_gain_mult = @east_asian_manor_trait_track_travel_xp_gain_mult_2 + character_travel_speed_mult = @east_asian_manor_character_travel_speed_mult + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_1 + } + province_modifier = { + wetlands_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + wetlands_development_growth_factor = @east_asian_manor_development_growth_factor_3 + wetlands_tax_mult = 0.04 + hills_construction_gold_cost = @east_asian_manor_build_gold_cost_3 + hills_development_growth_factor = @east_asian_manor_development_growth_factor_3 + hills_tax_mult = 0.04 + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_disciples_hall_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + estate_hall_increase_disciple_limit_1 = yes + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_disciples_hall_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_disciples_hall_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + estate_hall_increase_disciple_limit_1 = yes + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_disciples_hall_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_disciples_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + estate_hall_increase_disciple_limit_2 = yes + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_disciples_hall_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_disciples_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + estate_hall_increase_disciple_limit_2 = yes + } + character_modifier = { + monthly_merit_mult = @east_asian_manor_monthly_merit_mult_3 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_movement_study.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_donation_box_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/imperial_examination_focus_stewardship_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_donation_box_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_donation_box_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/imperial_examination_focus_stewardship_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_donation_box_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_donation_box_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/imperial_examination_focus_stewardship_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_donation_box_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_donation_box_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_gold_add = @east_asian_manor_monthly_gold_add_2 + domicile_monthly_influence_add = @east_asian_manor_monthly_influence_add_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/imperial_examination_focus_stewardship_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gate_plaques_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gate_plaques_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_plaques_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gate_plaques_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_plaques_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_gate_plaques_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_plaques_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + domicile_build_gold_cost = @east_asian_manor_build_gold_cost_3 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_bell_drum_tower.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pavilion_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + owned_political_scheme_success_chance_add = 3 + owned_political_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pavilion_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pavilion_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + owned_political_scheme_success_chance_add = 3 + owned_political_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pavilion_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pavilion_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + owned_political_scheme_success_chance_add = 3 + owned_political_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_pavilion_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_pavilion_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + domicile_monthly_prestige_add = @east_asian_manor_monthly_prestige_add_2 + monthly_treasury_from_salary_budget_mult = @east_asian_manor_monthly_treasury_from_salary_budget_mult_2 + owned_political_scheme_success_chance_add = 3 + owned_political_scheme_success_chance_growth_add = 0.5 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/domicile_building/east_asian_estate_courtyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_performance_stage_01 = { + construction_time = @east_asian_estate_upgrade_construction_time_1 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_gate_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_1_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/festival_type_religious_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_performance_stage_02 = { + construction_time = @east_asian_estate_upgrade_construction_time_2 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_performance_stage_01 + + can_construct = { + + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_2_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/festival_type_religious_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_performance_stage_03 = { + construction_time = @east_asian_estate_upgrade_construction_time_3 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_performance_stage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_3_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/festival_type_religious_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} +east_asian_estate_performance_stage_04 = { + construction_time = @east_asian_estate_upgrade_construction_time_4 + allowed_domicile_types = { east_asian_estate } + slot_type = internal + previous_building = east_asian_estate_performance_stage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + + cost = { + gold = { + value = estate_internal_building_normal_cost_tier_4_value + } + } + parameters = { + } + character_modifier = { + monthly_merit = @east_asian_manor_monthly_merit_3 + trait_track_lifestyle_poet_xp_gain_mult = @east_asian_manor_trait_track_lifestyle_poet_xp_gain_mult_3 + confucian_education_xp_gain_mult = @east_asian_manor_confucian_education_xp_gain_mult_2 + } + province_modifier = { + } + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + asset = { + icon = "gfx/interface/icons/activity_types/festival_type_religious_icon.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + } +} diff --git a/N3OW/common/domiciles/buildings/00_estate_buildings.txt b/N3OW/common/domiciles/buildings/00_estate_buildings.txt index 1ee88e03..a97e521d 100644 --- a/N3OW/common/domiciles/buildings/00_estate_buildings.txt +++ b/N3OW/common/domiciles/buildings/00_estate_buildings.txt @@ -11,7 +11,7 @@ estate_main_01 = { slot_type = main internal_slots = 2 construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = estate_external_building_high_cost_tier_2_value @@ -30,7 +30,26 @@ estate_main_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_villa.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_villa.dds" @@ -42,7 +61,10 @@ estate_main_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_villa.dds" @@ -63,7 +85,7 @@ estate_main_02 = { slot_type = main internal_slots = 4 construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = estate_main_01 can_construct = { @@ -92,7 +114,26 @@ estate_main_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_manor.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_manor.dds" @@ -104,7 +145,10 @@ estate_main_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_manor.dds" @@ -125,7 +169,7 @@ estate_main_03 = { slot_type = main internal_slots = 6 construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = estate_main_02 can_construct = { @@ -155,7 +199,26 @@ estate_main_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mansion.dds" + texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mansion.dds" @@ -167,7 +230,10 @@ estate_main_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mansion.dds" @@ -188,7 +254,7 @@ estate_main_04 = { slot_type = main internal_slots = 8 construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = estate_main_03 can_construct = { @@ -218,7 +284,26 @@ estate_main_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_estate.dds" + texture = "gfx/interface/window_domiciles/estate_building_estate_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_estate.dds" @@ -230,7 +315,10 @@ estate_main_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_estate.dds" @@ -251,7 +339,7 @@ estate_main_05 = { slot_type = main internal_slots = 10 construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = estate_main_04 can_construct = { @@ -281,7 +369,26 @@ estate_main_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_estate.dds" + texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_estate.dds" @@ -293,7 +400,10 @@ estate_main_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_estate.dds" @@ -315,7 +425,7 @@ estate_main_05 = { ### Diplomacy Upgrade living_quarters_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -352,7 +462,7 @@ living_quarters_01 = { } living_quarters_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = living_quarters_01 @@ -391,7 +501,7 @@ living_quarters_02 = { } living_quarters_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = living_quarters_02 @@ -433,7 +543,7 @@ living_quarters_03 = { } living_quarters_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = living_quarters_03 @@ -478,7 +588,7 @@ living_quarters_04 = { ### Martial Upgrade trophy_room_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -510,7 +620,7 @@ trophy_room_01 = { } trophy_room_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = trophy_room_01 @@ -543,7 +653,7 @@ trophy_room_02 = { } trophy_room_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = trophy_room_02 @@ -584,7 +694,7 @@ trophy_room_03 = { } trophy_room_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = trophy_room_03 @@ -628,7 +738,7 @@ trophy_room_04 = { ### Stewardship Upgrade office_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -665,7 +775,7 @@ office_01 = { } office_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = office_01 @@ -703,7 +813,7 @@ office_02 = { } office_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = office_02 @@ -746,7 +856,7 @@ office_03 = { } office_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = office_03 @@ -792,7 +902,7 @@ office_04 = { ### Intrigue Upgrade servants_quarters_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -825,7 +935,7 @@ servants_quarters_01 = { } servants_quarters_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = servants_quarters_01 @@ -861,7 +971,7 @@ servants_quarters_02 = { } servants_quarters_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = servants_quarters_02 @@ -902,7 +1012,7 @@ servants_quarters_03 = { } servants_quarters_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = servants_quarters_03 @@ -923,6 +1033,7 @@ servants_quarters_04 = { parameters = { estate_unlock_hire_agents_decision = yes + estate_improve_political_scheme_countermeasure = yes } character_modifier = { @@ -946,7 +1057,7 @@ servants_quarters_04 = { ### Learning Upgrade library_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -978,7 +1089,7 @@ library_01 = { } library_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = library_01 @@ -1016,7 +1127,7 @@ library_02 = { # Observatory sub-branch library_observatory_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = library_02 @@ -1057,7 +1168,7 @@ library_observatory_03 = { } library_observatory_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = library_observatory_03 @@ -1100,7 +1211,7 @@ library_observatory_04 = { # Education sub-branch library_education_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = library_02 @@ -1141,7 +1252,7 @@ library_education_03 = { } library_education_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = library_education_03 @@ -1186,7 +1297,7 @@ library_education_04 = { ### Bath bath_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -1223,7 +1334,7 @@ bath_01 = { } bath_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = bath_01 @@ -1261,7 +1372,7 @@ bath_02 = { } bath_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = bath_02 @@ -1303,7 +1414,7 @@ bath_03 = { } bath_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = bath_03 @@ -1347,7 +1458,7 @@ bath_04 = { ### Guest Room guest_room_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -1388,7 +1499,7 @@ guest_room_01 = { } guest_room_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = guest_room_01 @@ -1432,7 +1543,7 @@ guest_room_02 = { } guest_room_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = guest_room_02 @@ -1481,7 +1592,7 @@ guest_room_03 = { } guest_room_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = guest_room_03 @@ -1529,7 +1640,7 @@ guest_room_04 = { } guest_room_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = guest_room_04 @@ -1578,7 +1689,7 @@ guest_room_05 = { } guest_room_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = guest_room_05 @@ -1628,7 +1739,7 @@ guest_room_06 = { ### Wine Cellar wine_cellar_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -1670,7 +1781,7 @@ wine_cellar_01 = { } wine_cellar_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = wine_cellar_01 @@ -1712,7 +1823,7 @@ wine_cellar_02 = { } wine_cellar_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = wine_cellar_02 @@ -1756,7 +1867,7 @@ wine_cellar_03 = { ### Courtyard courtyard_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -1792,7 +1903,7 @@ courtyard_01 = { } courtyard_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = courtyard_01 @@ -1829,7 +1940,7 @@ courtyard_02 = { } courtyard_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = courtyard_02 @@ -1870,7 +1981,7 @@ courtyard_03 = { } courtyard_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = courtyard_03 @@ -1913,7 +2024,7 @@ courtyard_04 = { ### Prison prison_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -1958,7 +2069,7 @@ prison_01 = { } prison_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = prison_01 @@ -2007,7 +2118,7 @@ prison_02 = { } prison_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = prison_02 @@ -2061,7 +2172,7 @@ prison_03 = { } prison_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = prison_03 @@ -2117,7 +2228,7 @@ prison_04 = { ### Reception Hall reception_hall_01 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -2159,7 +2270,7 @@ reception_hall_01 = { reception_hall_02 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = reception_hall_01 @@ -2202,7 +2313,7 @@ reception_hall_02 = { reception_hall_03 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = reception_hall_02 @@ -2246,7 +2357,7 @@ reception_hall_03 = { reception_hall_04 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = reception_hall_03 @@ -2290,7 +2401,7 @@ reception_hall_04 = { reception_hall_05 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = reception_hall_04 @@ -2335,7 +2446,7 @@ reception_hall_05 = { ### Cabinet of Curiosities cabinet_of_curiosities_01 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -2379,7 +2490,7 @@ cabinet_of_curiosities_01 = { cabinet_of_curiosities_02 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = cabinet_of_curiosities_01 @@ -2433,7 +2544,7 @@ cabinet_of_curiosities_02 = { cabinet_of_curiosities_03 = { construction_time = 1000 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = cabinet_of_curiosities_02 @@ -2490,7 +2601,7 @@ cabinet_of_curiosities_03 = { #Grand Solar grand_solar_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = estate_main_01 @@ -2531,7 +2642,7 @@ grand_solar_01 = { grand_solar_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = grand_solar_01 @@ -2572,7 +2683,7 @@ grand_solar_02 = { grand_solar_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = grand_solar_02 @@ -2615,7 +2726,7 @@ grand_solar_03 = { grand_solar_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } slot_type = internal previous_building = grand_solar_03 @@ -2663,10 +2774,17 @@ grand_solar_04 = { #################### #### BUILDINGS ##### #################### + ### Temple Building temple_small_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } + + can_construct = { + NOT = { + government_has_flag = government_is_celestial + } + } cost = { gold = { @@ -2694,7 +2812,25 @@ temple_small_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -2708,7 +2844,14 @@ temple_small_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2719,7 +2862,10 @@ temple_small_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -2733,7 +2879,10 @@ temple_small_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2761,7 +2910,7 @@ temple_small_01 = { } temple_small_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_small_01 cost = { @@ -2790,7 +2939,25 @@ temple_small_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -2804,7 +2971,14 @@ temple_small_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2815,7 +2989,10 @@ temple_small_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -2829,7 +3006,10 @@ temple_small_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2857,7 +3037,7 @@ temple_small_02 = { } temple_small_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_small_02 can_construct = { @@ -2890,7 +3070,25 @@ temple_small_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -2904,7 +3102,14 @@ temple_small_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2915,7 +3120,10 @@ temple_small_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -2929,7 +3137,10 @@ temple_small_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_shrine.dds" @@ -2959,7 +3170,7 @@ temple_small_03 = { # Crypt sub-branch temple_crypt_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_small_03 can_construct = { @@ -3007,7 +3218,25 @@ temple_crypt_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3021,7 +3250,14 @@ temple_crypt_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3032,7 +3268,10 @@ temple_crypt_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3046,7 +3285,10 @@ temple_crypt_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3074,7 +3316,7 @@ temple_crypt_04 = { } temple_crypt_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_crypt_04 can_construct = { @@ -3122,7 +3364,25 @@ temple_crypt_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3136,7 +3396,14 @@ temple_crypt_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3147,7 +3414,10 @@ temple_crypt_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3161,7 +3431,10 @@ temple_crypt_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3189,7 +3462,7 @@ temple_crypt_05 = { } temple_crypt_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_crypt_05 can_construct = { @@ -3238,7 +3511,25 @@ temple_crypt_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3252,7 +3543,14 @@ temple_crypt_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3263,7 +3561,10 @@ temple_crypt_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3277,7 +3578,10 @@ temple_crypt_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" @@ -3307,7 +3611,7 @@ temple_crypt_06 = { # Temple sub-branch temple_large_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_small_03 can_construct = { @@ -3343,7 +3647,25 @@ temple_large_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3357,7 +3679,14 @@ temple_large_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3368,7 +3697,10 @@ temple_large_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3382,7 +3714,10 @@ temple_large_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3410,7 +3745,7 @@ temple_large_04 = { } temple_large_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_large_04 can_construct = { @@ -3446,7 +3781,25 @@ temple_large_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3460,7 +3813,14 @@ temple_large_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3471,7 +3831,10 @@ temple_large_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3485,7 +3848,10 @@ temple_large_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3513,7 +3879,7 @@ temple_large_05 = { } temple_large_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_large_05 can_construct = { @@ -3551,7 +3917,25 @@ temple_large_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3565,7 +3949,14 @@ temple_large_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3576,7 +3967,10 @@ temple_large_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3590,7 +3984,10 @@ temple_large_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_church.dds" @@ -3620,7 +4017,7 @@ temple_large_06 = { # Monastery sub-branch temple_monastery_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_small_03 can_construct = { @@ -3659,7 +4056,25 @@ temple_monastery_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3673,7 +4088,14 @@ temple_monastery_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3684,7 +4106,10 @@ temple_monastery_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3698,7 +4123,10 @@ temple_monastery_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3726,7 +4154,7 @@ temple_monastery_04 = { } temple_monastery_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_monastery_04 can_construct = { @@ -3765,7 +4193,25 @@ temple_monastery_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3779,7 +4225,14 @@ temple_monastery_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3790,7 +4243,10 @@ temple_monastery_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3804,7 +4260,10 @@ temple_monastery_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3832,7 +4291,7 @@ temple_monastery_05 = { } temple_monastery_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = temple_monastery_05 can_construct = { @@ -3871,7 +4330,25 @@ temple_monastery_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_ancestral_shrine_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_ancestral_shrine_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } owner = { faith.religion = religion:islam_religion @@ -3885,7 +4362,14 @@ temple_monastery_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3896,7 +4380,10 @@ temple_monastery_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } owner = { faith.religion = religion:christianity_religion @@ -3910,7 +4397,10 @@ temple_monastery_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_monastery.dds" @@ -3940,7 +4430,7 @@ temple_monastery_06 = { ### Barracks barracks_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -3974,7 +4464,25 @@ barracks_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -3985,7 +4493,10 @@ barracks_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4002,7 +4513,7 @@ barracks_01 = { } barracks_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = barracks_01 cost = { @@ -4041,7 +4552,25 @@ barracks_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4052,7 +4581,10 @@ barracks_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4069,7 +4601,7 @@ barracks_02 = { } barracks_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = barracks_02 can_construct = { @@ -4112,7 +4644,25 @@ barracks_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4123,7 +4673,10 @@ barracks_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4140,7 +4693,7 @@ barracks_03 = { } barracks_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = barracks_03 can_construct = { @@ -4183,7 +4736,25 @@ barracks_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4194,7 +4765,10 @@ barracks_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4211,7 +4785,7 @@ barracks_04 = { } barracks_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = barracks_04 can_construct = { @@ -4254,7 +4828,25 @@ barracks_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4265,7 +4857,10 @@ barracks_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4282,7 +4877,7 @@ barracks_05 = { } barracks_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = barracks_05 can_construct = { @@ -4325,7 +4920,25 @@ barracks_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_barracks_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4336,7 +4949,10 @@ barracks_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" @@ -4355,7 +4971,7 @@ barracks_06 = { ### Watchtower watchtower_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -4387,7 +5003,25 @@ watchtower_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4398,7 +5032,10 @@ watchtower_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4415,7 +5052,7 @@ watchtower_01 = { } watchtower_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = watchtower_01 cost = { @@ -4450,7 +5087,25 @@ watchtower_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4461,7 +5116,10 @@ watchtower_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4478,7 +5136,7 @@ watchtower_02 = { } watchtower_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = watchtower_02 can_construct = { @@ -4517,7 +5175,25 @@ watchtower_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4528,7 +5204,10 @@ watchtower_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4545,7 +5224,7 @@ watchtower_03 = { } watchtower_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = watchtower_03 can_construct = { @@ -4585,7 +5264,25 @@ watchtower_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4596,7 +5293,10 @@ watchtower_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4613,7 +5313,7 @@ watchtower_04 = { } watchtower_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = watchtower_04 can_construct = { @@ -4653,7 +5353,25 @@ watchtower_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4664,7 +5382,10 @@ watchtower_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4681,7 +5402,7 @@ watchtower_05 = { } watchtower_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = watchtower_05 can_construct = { @@ -4722,7 +5443,25 @@ watchtower_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_watchtower_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_watchtower" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4733,7 +5472,10 @@ watchtower_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_watchtower.dds" @@ -4752,7 +5494,7 @@ watchtower_06 = { ### Guardhouse guardhouse_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -4784,7 +5526,25 @@ guardhouse_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4795,7 +5555,10 @@ guardhouse_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4812,7 +5575,7 @@ guardhouse_01 = { } guardhouse_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = guardhouse_01 cost = { @@ -4846,7 +5609,25 @@ guardhouse_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4857,7 +5638,10 @@ guardhouse_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4874,7 +5658,7 @@ guardhouse_02 = { } guardhouse_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = guardhouse_02 can_construct = { @@ -4914,7 +5698,25 @@ guardhouse_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4925,7 +5727,10 @@ guardhouse_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4942,7 +5747,7 @@ guardhouse_03 = { } guardhouse_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = guardhouse_03 can_construct = { @@ -4982,7 +5787,25 @@ guardhouse_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -4993,7 +5816,10 @@ guardhouse_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_guardhouse.dds" @@ -5012,7 +5838,7 @@ guardhouse_04 = { ### Garden garden_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -5066,7 +5892,7 @@ garden_01 = { OR = { culture ?= { OR = { - has_cultural_tradition = tradition_gardening + has_cultural_parameter = can_recruit_gardeners has_cultural_tradition = tradition_fp3_irrigation_experts has_cultural_tradition = tradition_sacred_groves } @@ -5083,7 +5909,25 @@ garden_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5094,7 +5938,10 @@ garden_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5111,7 +5958,7 @@ garden_01 = { } garden_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_01 cost = { @@ -5131,7 +5978,7 @@ garden_02 = { } parameters = { - increased_gardener_aptitude_1 = yes + increased_gardener_aptitude_2 = yes } on_complete = { @@ -5183,7 +6030,25 @@ garden_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5194,7 +6059,10 @@ garden_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5211,7 +6079,7 @@ garden_02 = { } garden_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_02 cost = { @@ -5231,7 +6099,7 @@ garden_03 = { } parameters = { - increased_gardener_aptitude_1 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5283,7 +6151,25 @@ garden_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5294,7 +6180,10 @@ garden_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" @@ -5313,7 +6202,7 @@ garden_03 = { # Leisure Garden sub-branch garden_leisure_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_03 can_construct = { @@ -5339,7 +6228,7 @@ garden_leisure_04 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5391,7 +6280,25 @@ garden_leisure_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5402,7 +6309,10 @@ garden_leisure_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5419,7 +6329,7 @@ garden_leisure_04 = { } garden_leisure_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_leisure_04 can_construct = { @@ -5445,7 +6355,7 @@ garden_leisure_05 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5497,7 +6407,25 @@ garden_leisure_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5508,7 +6436,10 @@ garden_leisure_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5525,7 +6456,7 @@ garden_leisure_05 = { } garden_leisure_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_leisure_05 can_construct = { @@ -5551,7 +6482,7 @@ garden_leisure_06 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5603,7 +6534,25 @@ garden_leisure_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5614,7 +6563,10 @@ garden_leisure_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_leisure_garden.dds" @@ -5633,7 +6585,7 @@ garden_leisure_06 = { # Fruit Garden sub-branch garden_fruit_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_03 can_construct = { @@ -5658,7 +6610,7 @@ garden_fruit_04 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5710,7 +6662,25 @@ garden_fruit_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5721,7 +6691,10 @@ garden_fruit_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5738,7 +6711,7 @@ garden_fruit_04 = { } garden_fruit_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_fruit_04 can_construct = { @@ -5763,7 +6736,7 @@ garden_fruit_05 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5815,7 +6788,25 @@ garden_fruit_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5826,7 +6817,10 @@ garden_fruit_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5843,7 +6837,7 @@ garden_fruit_05 = { } garden_fruit_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = garden_fruit_05 can_construct = { @@ -5868,7 +6862,7 @@ garden_fruit_06 = { } parameters = { - increased_gardener_aptitude_2 = yes + increased_gardener_aptitude_3 = yes } on_complete = { @@ -5914,13 +6908,30 @@ garden_fruit_06 = { } add = 10 } - add = estate_building_ai_modifier_value } asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_chinese" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5931,7 +6942,10 @@ garden_fruit_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" @@ -5950,7 +6964,7 @@ garden_fruit_06 = { ### Stable stable_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -5983,7 +6997,25 @@ stable_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -5994,7 +7026,10 @@ stable_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -6011,7 +7046,7 @@ stable_01 = { } stable_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_01 cost = { @@ -6049,7 +7084,25 @@ stable_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -6060,7 +7113,10 @@ stable_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -6077,7 +7133,7 @@ stable_02 = { } stable_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_02 cost = { @@ -6115,7 +7171,25 @@ stable_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -6126,7 +7200,10 @@ stable_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" @@ -6145,7 +7222,7 @@ stable_03 = { # Grand Stable sub-branch stable_grand_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_03 can_construct = { @@ -6181,7 +7258,25 @@ stable_grand_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6192,7 +7287,10 @@ stable_grand_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6209,7 +7307,7 @@ stable_grand_04 = { } stable_grand_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_grand_04 can_construct = { @@ -6246,7 +7344,25 @@ stable_grand_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6257,7 +7373,10 @@ stable_grand_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6274,7 +7393,7 @@ stable_grand_05 = { } stable_grand_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_grand_05 can_construct = { @@ -6311,7 +7430,25 @@ stable_grand_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_grand" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6322,7 +7459,10 @@ stable_grand_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grand_stable.dds" @@ -6341,7 +7481,7 @@ stable_grand_06 = { # Kennel sub-branch stable_kennel_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_03 can_construct = { @@ -6386,7 +7526,25 @@ stable_kennel_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6397,7 +7555,10 @@ stable_kennel_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6414,7 +7575,7 @@ stable_kennel_04 = { } stable_kennel_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_kennel_04 can_construct = { @@ -6460,7 +7621,25 @@ stable_kennel_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6471,7 +7650,10 @@ stable_kennel_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6488,7 +7670,7 @@ stable_kennel_05 = { } stable_kennel_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_kennel_05 can_construct = { @@ -6535,7 +7717,25 @@ stable_kennel_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_kennel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6546,7 +7746,10 @@ stable_kennel_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" @@ -6565,10 +7768,10 @@ stable_kennel_06 = { # Charioteer sub-branch (Byzantine unique upgrade) stable_chariot_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_03 - can_construct = { + can_construct_potential = { culture = { has_cultural_parameter = hosts_chariot_races } domicile ?= { has_domicile_building_or_higher = estate_main_03 } } @@ -6600,7 +7803,25 @@ stable_chariot_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_chariot" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6611,7 +7832,10 @@ stable_chariot_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6628,7 +7852,7 @@ stable_chariot_04 = { } stable_chariot_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_chariot_04 can_construct = { @@ -6664,7 +7888,25 @@ stable_chariot_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_chariot" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6675,7 +7917,10 @@ stable_chariot_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6692,7 +7937,7 @@ stable_chariot_05 = { } stable_chariot_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = stable_chariot_05 can_construct = { @@ -6728,7 +7973,25 @@ stable_chariot_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_china.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_china_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable_chariot" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6739,7 +8002,10 @@ stable_chariot_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_chariot_track.dds" @@ -6758,7 +8024,7 @@ stable_chariot_06 = { ### Workshop workshop_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -6784,7 +8050,25 @@ workshop_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" @@ -6795,7 +8079,10 @@ workshop_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" @@ -6812,7 +8099,7 @@ workshop_01 = { } workshop_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_01 cost = { @@ -6839,7 +8126,25 @@ workshop_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" @@ -6850,7 +8155,10 @@ workshop_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" @@ -6869,7 +8177,7 @@ workshop_02 = { # Carpenter sub-branch workshop_carpenter_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_02 can_construct = { @@ -6904,7 +8212,25 @@ workshop_carpenter_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -6915,7 +8241,10 @@ workshop_carpenter_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -6932,7 +8261,7 @@ workshop_carpenter_03 = { } workshop_carpenter_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_carpenter_03 can_construct = { @@ -6967,7 +8296,25 @@ workshop_carpenter_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -6978,7 +8325,10 @@ workshop_carpenter_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -6995,7 +8345,7 @@ workshop_carpenter_04 = { } workshop_carpenter_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_carpenter_04 can_construct = { @@ -7031,7 +8381,25 @@ workshop_carpenter_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -7042,7 +8410,10 @@ workshop_carpenter_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -7059,7 +8430,7 @@ workshop_carpenter_05 = { } workshop_carpenter_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_carpenter_05 can_construct = { @@ -7095,7 +8466,25 @@ workshop_carpenter_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_carpenter" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -7106,7 +8495,10 @@ workshop_carpenter_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" @@ -7125,7 +8517,7 @@ workshop_carpenter_06 = { # Mason sub-branch workshop_mason_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_02 can_construct = { @@ -7158,7 +8550,25 @@ workshop_mason_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7169,7 +8579,10 @@ workshop_mason_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7186,7 +8599,7 @@ workshop_mason_03 = { } workshop_mason_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_mason_03 can_construct = { @@ -7219,7 +8632,25 @@ workshop_mason_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7230,7 +8661,10 @@ workshop_mason_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7247,7 +8681,7 @@ workshop_mason_04 = { } workshop_mason_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_mason_04 can_construct = { @@ -7282,7 +8716,25 @@ workshop_mason_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7293,7 +8745,10 @@ workshop_mason_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7310,7 +8765,7 @@ workshop_mason_05 = { } workshop_mason_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_mason_05 can_construct = { @@ -7345,7 +8800,25 @@ workshop_mason_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_mason" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7356,7 +8829,10 @@ workshop_mason_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_mason.dds" @@ -7375,7 +8851,7 @@ workshop_mason_06 = { # Textile sub-branch workshop_textile_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_02 can_construct = { @@ -7410,7 +8886,25 @@ workshop_textile_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7421,7 +8915,10 @@ workshop_textile_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7438,7 +8935,7 @@ workshop_textile_03 = { } workshop_textile_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_textile_03 can_construct = { @@ -7473,7 +8970,25 @@ workshop_textile_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7484,7 +8999,10 @@ workshop_textile_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7501,7 +9019,7 @@ workshop_textile_04 = { } workshop_textile_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_textile_04 can_construct = { @@ -7536,7 +9054,25 @@ workshop_textile_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7547,7 +9083,10 @@ workshop_textile_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7564,7 +9103,7 @@ workshop_textile_05 = { } workshop_textile_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = workshop_textile_05 can_construct = { @@ -7599,7 +9138,25 @@ workshop_textile_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop_textile" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7610,7 +9167,10 @@ workshop_textile_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_textile.dds" @@ -7629,7 +9189,7 @@ workshop_textile_06 = { ### Storage storage_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -7664,7 +9224,25 @@ storage_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" @@ -7675,7 +9253,10 @@ storage_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" @@ -7692,7 +9273,7 @@ storage_01 = { } storage_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = storage_01 cost = { @@ -7728,7 +9309,25 @@ storage_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" @@ -7739,7 +9338,10 @@ storage_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_storage.dds" @@ -7758,7 +9360,7 @@ storage_02 = { # Warehouse sub-branch storage_warehouse_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = storage_02 can_construct = { @@ -7793,7 +9395,25 @@ storage_warehouse_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" @@ -7804,7 +9424,10 @@ storage_warehouse_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" @@ -7821,7 +9444,7 @@ storage_warehouse_03 = { } storage_warehouse_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = storage_warehouse_03 can_construct = { @@ -7856,7 +9479,25 @@ storage_warehouse_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_warehouse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" @@ -7867,7 +9508,10 @@ storage_warehouse_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_warehouse.dds" @@ -7886,7 +9530,7 @@ storage_warehouse_04 = { # Granary sub-branch storage_granary_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = storage_02 can_construct = { @@ -7924,7 +9568,25 @@ storage_granary_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" @@ -7935,7 +9597,10 @@ storage_granary_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" @@ -7952,7 +9617,7 @@ storage_granary_03 = { } storage_granary_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = storage_granary_03 can_construct = { @@ -7994,7 +9659,25 @@ storage_granary_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/window_domiciles/estate_building_storage_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_storage_chinese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_storage_granary" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" @@ -8005,7 +9688,10 @@ storage_granary_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" @@ -8024,7 +9710,7 @@ storage_granary_04 = { ### Market market_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -8063,7 +9749,25 @@ market_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8074,7 +9778,10 @@ market_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8091,7 +9798,7 @@ market_01 = { } market_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = market_01 cost = { @@ -8106,7 +9813,7 @@ market_02 = { } parameters = { - estate_increase_powerful_family_rating = yes + estate_increase_powerful_family_rating_2 = yes estate_increase_influence_on_building_construction_1 = yes } @@ -8122,7 +9829,25 @@ market_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8133,7 +9858,10 @@ market_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8150,7 +9878,7 @@ market_02 = { } market_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = market_02 can_construct = { @@ -8169,7 +9897,7 @@ market_03 = { } parameters = { - estate_increase_powerful_family_rating = yes + estate_increase_powerful_family_rating_3 = yes estate_increase_influence_on_building_construction_2 = yes estate_reduce_council_position_cost = yes } @@ -8186,7 +9914,25 @@ market_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8197,7 +9943,10 @@ market_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8214,7 +9963,7 @@ market_03 = { } market_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = market_03 can_construct = { @@ -8233,7 +9982,7 @@ market_04 = { } parameters = { - estate_increase_powerful_family_rating = yes + estate_increase_powerful_family_rating_4 = yes estate_increase_influence_on_building_construction_3 = yes estate_reduce_council_position_cost = yes } @@ -8250,7 +9999,25 @@ market_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8261,7 +10028,10 @@ market_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8278,7 +10048,7 @@ market_04 = { } market_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = market_04 can_construct = { @@ -8297,7 +10067,7 @@ market_05 = { } parameters = { - estate_increase_powerful_family_rating = yes + estate_increase_powerful_family_rating_5 = yes estate_increase_influence_on_building_construction_4 = yes estate_reduce_council_position_cost = yes } @@ -8314,7 +10084,25 @@ market_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8325,7 +10113,10 @@ market_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8342,7 +10133,7 @@ market_05 = { } market_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = market_05 can_construct = { @@ -8361,7 +10152,7 @@ market_06 = { } parameters = { - estate_increase_powerful_family_rating = yes + estate_increase_powerful_family_rating_6 = yes estate_increase_influence_on_building_construction_5 = yes estate_reduce_council_position_cost = yes } @@ -8378,7 +10169,25 @@ market_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_market_asian" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8389,7 +10198,10 @@ market_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_market.dds" @@ -8408,7 +10220,7 @@ market_06 = { ### Grazing Lands grazing_land_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -8424,7 +10236,7 @@ grazing_land_01 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8479,7 +10291,25 @@ grazing_land_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8490,7 +10320,10 @@ grazing_land_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8507,7 +10340,7 @@ grazing_land_01 = { } grazing_land_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_01 cost = { @@ -8524,7 +10357,7 @@ grazing_land_02 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8579,7 +10412,25 @@ grazing_land_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8590,7 +10441,10 @@ grazing_land_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8607,7 +10461,7 @@ grazing_land_02 = { } grazing_land_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_02 cost = { @@ -8624,7 +10478,7 @@ grazing_land_03 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8679,7 +10533,25 @@ grazing_land_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8690,7 +10562,10 @@ grazing_land_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" @@ -8707,7 +10582,7 @@ grazing_land_03 = { } grazing_land_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_03 can_construct = { @@ -8728,10 +10603,10 @@ grazing_land_04 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 heavy_cavalry_damage_mult = 0.04 heavy_cavalry_toughness_mult = 0.02 - heavy_cavalry_maintenance_mult = 0.05 + heavy_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8770,7 +10645,25 @@ grazing_land_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8781,7 +10674,10 @@ grazing_land_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8798,7 +10694,7 @@ grazing_land_04 = { } grazing_land_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_04 can_construct = { @@ -8819,10 +10715,10 @@ grazing_land_05 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 heavy_cavalry_damage_mult = 0.04 heavy_cavalry_toughness_mult = 0.02 - heavy_cavalry_maintenance_mult = 0.05 + heavy_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8861,7 +10757,25 @@ grazing_land_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8872,7 +10786,10 @@ grazing_land_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8889,7 +10806,7 @@ grazing_land_05 = { } grazing_land_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_05 can_construct = { @@ -8910,10 +10827,10 @@ grazing_land_06 = { character_modifier = { light_cavalry_damage_mult = 0.02 light_cavalry_toughness_mult = 0.01 - light_cavalry_maintenance_mult = 0.05 + light_cavalry_maintenance_mult = -0.05 heavy_cavalry_damage_mult = 0.04 heavy_cavalry_toughness_mult = 0.02 - heavy_cavalry_maintenance_mult = 0.05 + heavy_cavalry_maintenance_mult = -0.05 } parameters = { @@ -8952,7 +10869,25 @@ grazing_land_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8963,7 +10898,10 @@ grazing_land_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" @@ -8982,7 +10920,7 @@ grazing_land_06 = { # Horse Archer sub-branch horse_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_03 can_construct = { @@ -9004,7 +10942,7 @@ horse_pasture_04 = { character_modifier = { archer_cavalry_damage_mult = 0.04 archer_cavalry_toughness_mult = 0.02 - archer_cavalry_maintenance_mult = 0.05 + archer_cavalry_maintenance_mult = -0.05 } on_complete = { @@ -9039,7 +10977,25 @@ horse_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9050,7 +11006,10 @@ horse_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9067,7 +11026,7 @@ horse_pasture_04 = { } horse_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = horse_pasture_04 can_construct = { @@ -9089,7 +11048,7 @@ horse_pasture_05 = { character_modifier = { archer_cavalry_damage_mult = 0.04 archer_cavalry_toughness_mult = 0.02 - archer_cavalry_maintenance_mult = 0.05 + archer_cavalry_maintenance_mult = -0.05 } on_complete = { @@ -9124,7 +11083,25 @@ horse_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9135,7 +11112,10 @@ horse_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9152,7 +11132,7 @@ horse_pasture_05 = { } horse_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = horse_pasture_05 can_construct = { @@ -9174,7 +11154,7 @@ horse_pasture_06 = { character_modifier = { archer_cavalry_damage_mult = 0.04 archer_cavalry_toughness_mult = 0.02 - archer_cavalry_maintenance_mult = 0.1 + archer_cavalry_maintenance_mult = -0.1 } on_complete = { @@ -9209,7 +11189,25 @@ horse_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_horse" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9220,7 +11218,10 @@ horse_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" @@ -9239,7 +11240,7 @@ horse_pasture_06 = { # Camel sub-branch camel_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_03 can_construct = { @@ -9261,7 +11262,7 @@ camel_pasture_04 = { character_modifier = { camel_cavalry_damage_mult = 0.04 camel_cavalry_toughness_mult = 0.02 - camel_cavalry_maintenance_mult = 0.05 + camel_cavalry_maintenance_mult = -0.05 } on_complete = { @@ -9296,7 +11297,25 @@ camel_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9307,7 +11326,10 @@ camel_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9324,7 +11346,7 @@ camel_pasture_04 = { } camel_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = camel_pasture_04 can_construct = { @@ -9346,7 +11368,7 @@ camel_pasture_05 = { character_modifier = { camel_cavalry_damage_mult = 0.04 camel_cavalry_toughness_mult = 0.02 - camel_cavalry_maintenance_mult = 0.05 + camel_cavalry_maintenance_mult = -0.05 } on_complete = { @@ -9381,7 +11403,25 @@ camel_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9392,7 +11432,10 @@ camel_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9409,7 +11452,7 @@ camel_pasture_05 = { } camel_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = camel_pasture_05 can_construct = { @@ -9431,7 +11474,7 @@ camel_pasture_06 = { character_modifier = { camel_cavalry_damage_mult = 0.04 camel_cavalry_toughness_mult = 0.02 - camel_cavalry_maintenance_mult = 0.1 + camel_cavalry_maintenance_mult = -0.1 } on_complete = { @@ -9466,7 +11509,25 @@ camel_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_camel" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9477,7 +11538,10 @@ camel_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" @@ -9496,7 +11560,7 @@ camel_pasture_06 = { # Elephant sub-branch elephant_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grazing_land_03 can_construct = { @@ -9518,7 +11582,7 @@ elephant_pasture_04 = { character_modifier = { elephant_cavalry_damage_mult = 0.06 elephant_cavalry_toughness_mult = 0.03 - elephant_cavalry_maintenance_mult = 0.05 + elephant_cavalry_maintenance_mult = -0.05 } ai_value = { @@ -9529,7 +11593,25 @@ elephant_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9540,7 +11622,10 @@ elephant_pasture_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9557,7 +11642,7 @@ elephant_pasture_04 = { } elephant_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = elephant_pasture_04 can_construct = { @@ -9579,7 +11664,7 @@ elephant_pasture_05 = { character_modifier = { elephant_cavalry_damage_mult = 0.06 elephant_cavalry_toughness_mult = 0.03 - elephant_cavalry_maintenance_mult = 0.05 + elephant_cavalry_maintenance_mult = -0.05 } ai_value = { @@ -9590,7 +11675,25 @@ elephant_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9601,7 +11704,10 @@ elephant_pasture_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9618,7 +11724,7 @@ elephant_pasture_05 = { } elephant_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = elephant_pasture_05 can_construct = { @@ -9640,7 +11746,7 @@ elephant_pasture_06 = { character_modifier = { elephant_cavalry_damage_mult = 0.06 elephant_cavalry_toughness_mult = 0.03 - elephant_cavalry_maintenance_mult = 0.1 + elephant_cavalry_maintenance_mult = -0.1 } ai_value = { @@ -9651,7 +11757,25 @@ elephant_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands_elephant" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9662,7 +11786,10 @@ elephant_pasture_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" @@ -9681,7 +11808,7 @@ elephant_pasture_06 = { ### Grain Fields grain_field_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -9765,7 +11892,25 @@ grain_field_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -9776,7 +11921,10 @@ grain_field_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -9793,7 +11941,7 @@ grain_field_01 = { } grain_field_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grain_field_01 cost = { @@ -9867,7 +12015,25 @@ grain_field_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -9878,7 +12044,10 @@ grain_field_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -9895,7 +12064,7 @@ grain_field_02 = { } grain_field_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grain_field_02 can_construct = { @@ -9974,7 +12143,25 @@ grain_field_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -9985,7 +12172,10 @@ grain_field_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10002,7 +12192,7 @@ grain_field_03 = { } grain_field_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grain_field_03 can_construct = { @@ -10081,7 +12271,25 @@ grain_field_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10092,7 +12300,10 @@ grain_field_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10109,7 +12320,7 @@ grain_field_04 = { } grain_field_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grain_field_04 can_construct = { @@ -10188,7 +12399,25 @@ grain_field_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10199,7 +12428,10 @@ grain_field_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10216,7 +12448,7 @@ grain_field_05 = { } grain_field_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = grain_field_05 can_construct = { @@ -10295,7 +12527,25 @@ grain_field_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10306,7 +12556,10 @@ grain_field_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_grain.dds" @@ -10322,10 +12575,468 @@ grain_field_06 = { } } +### Rice Fields +rice_field_01 = { + construction_time = 730 + allowed_domicile_types = { estate } + + can_construct_potential = { + culture ?= { has_innovation = innovation_champa_rice } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_1_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 10 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + +rice_field_02 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = rice_field_01 + + cost = { + gold = { + value = estate_external_building_high_cost_tier_2_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + +rice_field_03 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = rice_field_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_3_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + +rice_field_04 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = rice_field_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_4_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + +rice_field_05 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = rice_field_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_5_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + +rice_field_06 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = rice_field_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_high_cost_tier_6_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.4 + development_growth_factor = 0.04 + supply_limit_mult = 0.05 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grain_fields" + } +} + ### Vineyard vineyard_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -10388,7 +13099,25 @@ vineyard_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10399,7 +13128,10 @@ vineyard_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10416,7 +13148,7 @@ vineyard_01 = { } vineyard_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = vineyard_01 cost = { @@ -10470,7 +13202,25 @@ vineyard_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10481,7 +13231,10 @@ vineyard_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10498,7 +13251,7 @@ vineyard_02 = { } vineyard_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = vineyard_02 can_construct = { @@ -10555,7 +13308,25 @@ vineyard_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10566,7 +13337,10 @@ vineyard_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10583,7 +13357,7 @@ vineyard_03 = { } vineyard_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = vineyard_03 can_construct = { @@ -10640,7 +13414,25 @@ vineyard_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10651,7 +13443,10 @@ vineyard_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10668,7 +13463,7 @@ vineyard_04 = { } vineyard_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = vineyard_04 can_construct = { @@ -10725,7 +13520,25 @@ vineyard_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10736,7 +13549,10 @@ vineyard_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10753,7 +13569,7 @@ vineyard_05 = { } vineyard_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = vineyard_05 can_construct = { @@ -10810,7 +13626,25 @@ vineyard_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10821,7 +13655,10 @@ vineyard_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" @@ -10837,10 +13674,474 @@ vineyard_06 = { } } +### Tea Plantation +tea_01 = { + construction_time = 730 + allowed_domicile_types = { estate } + + can_construct_potential = { + culture ?= { has_innovation = innovation_champa_rice } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_1_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.01 + } + + ai_value = { + value = 10 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOT = { + has_domicile_building_or_higher = market_01 + } + } + add = 20 + } + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +tea_02 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = tea_01 + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_vineyard } + multiply = 0.75 + desc = raid_insight_vineyard + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.02 + } + + ai_value = { + value = 9 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +tea_03 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = tea_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_02 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_vineyard } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.04 + } + + ai_value = { + value = 8 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +tea_04 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = tea_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_03 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_4_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.06 + } + + ai_value = { + value = 7 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +tea_05 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = tea_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_04 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_5_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.08 + } + + ai_value = { + value = 6 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} +tea_06 = { + construction_time = 730 + allowed_domicile_types = { estate } + previous_building = tea_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = estate_main_05 } + } + + cost = { + gold = { + value = estate_external_building_normal_cost_tier_6_value + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + negate_health_penalty_add = 0.1 + } + + ai_value = { + value = 5 + add = estate_building_ai_modifier_value + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_vinyard_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_vineyard" + } +} + ### Olive Plantation olive_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } cost = { gold = { @@ -10900,7 +14201,25 @@ olive_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -10911,7 +14230,10 @@ olive_01 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -10928,7 +14250,7 @@ olive_01 = { } olive_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = olive_01 cost = { @@ -10979,7 +14301,25 @@ olive_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -10990,7 +14330,10 @@ olive_02 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11007,7 +14350,7 @@ olive_02 = { } olive_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = olive_02 can_construct = { @@ -11062,7 +14405,25 @@ olive_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11073,7 +14434,10 @@ olive_03 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11090,7 +14454,7 @@ olive_03 = { } olive_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = olive_03 can_construct = { @@ -11145,7 +14509,25 @@ olive_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11156,7 +14538,10 @@ olive_04 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11173,7 +14558,7 @@ olive_04 = { } olive_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = olive_04 can_construct = { @@ -11229,7 +14614,25 @@ olive_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11240,7 +14643,10 @@ olive_05 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11257,7 +14663,7 @@ olive_05 = { } olive_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = olive_05 can_construct = { @@ -11313,7 +14719,25 @@ olive_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_olive_plantation" + } + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11324,7 +14748,10 @@ olive_06 = { asset = { trigger = { domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } } } icon = "gfx/interface/icons/domicile_building/domicile_building_olive.dds" @@ -11343,12 +14770,15 @@ olive_06 = { ### Silk Production - Byzantine exclusive silk_01 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } can_construct = { custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } text = has_unlocked_estate_silk + OR = { + house = { has_house_modifier = ep3_unlocked_silk } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } + } } } @@ -11398,6 +14828,16 @@ silk_01 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" @@ -11406,13 +14846,16 @@ silk_01 = { } silk_02 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = silk_01 can_construct = { - custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } - text = has_unlocked_estate_silk + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } } } @@ -11465,6 +14908,16 @@ silk_02 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" @@ -11473,13 +14926,16 @@ silk_02 = { } silk_03 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = silk_02 can_construct = { - custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } - text = has_unlocked_estate_silk + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } } domicile ?= { has_domicile_building_or_higher = estate_main_02 } } @@ -11533,6 +14989,16 @@ silk_03 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" @@ -11541,13 +15007,16 @@ silk_03 = { } silk_04 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = silk_03 can_construct = { - custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } - text = has_unlocked_estate_silk + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } } domicile ?= { has_domicile_building_or_higher = estate_main_03 } } @@ -11602,6 +15071,16 @@ silk_04 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" @@ -11610,13 +15089,16 @@ silk_04 = { } silk_05 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = silk_04 can_construct = { - custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } - text = has_unlocked_estate_silk + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } } domicile ?= { has_domicile_building_or_higher = estate_main_04 } } @@ -11671,6 +15153,16 @@ silk_05 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" @@ -11679,13 +15171,16 @@ silk_05 = { } silk_06 = { construction_time = 730 - allowed_domicile_types = { estate patrician_estate } + allowed_domicile_types = { estate } previous_building = silk_05 can_construct = { - custom_tooltip = { - house = { has_house_modifier = ep3_unlocked_silk } - text = has_unlocked_estate_silk + OR = { + custom_tooltip = { + house = { has_house_modifier = ep3_unlocked_silk } + text = has_unlocked_estate_silk + } + culture = { has_cultural_parameter = unlocks_silk_buildings_parameter } } domicile ?= { has_domicile_building_or_higher = estate_main_05 } } @@ -11740,6 +15235,16 @@ silk_06 = { add = estate_building_ai_modifier_value } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" + texture = "gfx/interface/window_domiciles/estate_building_market_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_market_chinese_mask.png" + } asset = { icon = "gfx/interface/icons/domicile_building/domicile_magnanery.dds" texture = "gfx/interface/window_domiciles/estate_building_magnanery.dds" diff --git a/N3OW/common/domiciles/buildings/00_yurt_buildings.txt b/N3OW/common/domiciles/buildings/00_yurt_buildings.txt new file mode 100644 index 00000000..ae9d80f3 --- /dev/null +++ b/N3OW/common/domiciles/buildings/00_yurt_buildings.txt @@ -0,0 +1,16006 @@ +@yurt_main_construction_time_tier_2 = 180 +@yurt_main_construction_time_tier_3 = 360 +@yurt_main_construction_time_tier_4 = 520 +@yurt_main_construction_time_tier_5 = 600 +@yurt_main_construction_time_tier_6 = 720 + +@yurt_external_construction_time_tier_1 = 90 +@yurt_external_construction_time_tier_2 = 180 +@yurt_external_construction_time_tier_3 = 270 +@yurt_external_construction_time_tier_4 = 300 +@yurt_external_construction_time_tier_5 = 360 +@yurt_external_construction_time_tier_6 = 420 + +@yurt_internal_construction_time_tier_1 = 30 +@yurt_internal_construction_time_tier_2 = 60 +@yurt_internal_construction_time_tier_3 = 90 +@yurt_internal_construction_time_tier_4 = 120 +@yurt_internal_construction_time_tier_5 = 200 +@yurt_internal_construction_time_tier_6 = 320 + + +################## +# YURT BUILDINGS +################## + +# yurt_main_0# - Main Nomad Domicile Building, fort level, domicile slots +# raid_main_yurt_0# - Main Yurt Internal Upgrade, raiding bonuses +# herd_conversion_main_yurt_0# - Main Yurt Internal Upgrade, Horde bonuses +# lifestyle_xp_yurt_0# - Main Yurt Internal Upgrade, lifestyle xp bonuses + +# herd_welfare_yurt_0# - External Nomad Domicile Building, fertility, herd bonuses +# herd_capacity_yurt_0# - Herd Welfare Internal upgrade +# camel_yurt_0# - Herd Welfare Internal upgrade +# goat_yurt_0# - Herd Welfare Internal upgrade +# sheep_yurt_0# - Herd Welfare Internal upgrade + +# character_warfare_yurt_0# - External Nomad Domicile Building, character focused warfare bonuses +# falconry_yurt_0# - Kheshig's Yurt Internal upgrade +# knight_yurt_0# - Kheshig's Yurt Internal upgrade +# commander_yurt_0# - Kheshig's Yurt Internal upgrade +# bodyguard_yurt_0 - Kheshig's Yurt Internal upgrade + + +# mass_warfare_yurt_0# - External Nomad Domicile Building, mass warfare bonuses +# lcav_yurt_0 - Khan's Tümen Yurt Internal upgrade +# foot_archer_yurt_0 - Khan's Tümen Yurt Internal upgrade +# merc_yurt_0 - Khan's Tümen Yurt Internal upgrade +# herd_conversion_yurt_0 - Khan's Tümen Yurt Internal upgrade +# raiding_yurt_0 - Khan's Tümen Yurt Internal upgrade + +# diplomacy_yurt_0# - External Nomad Domicile Building, diplomacy, subject bonuses +# tributary_yurt_0 - Reception Yurt Internal upgrade +# vassal_yurt_0 - Reception Yurt Internal upgrade +# + +# court_yurt_0# - External Nomad Domicile Building, court, courtiers, court positions bonuses +# secret_scheme_yurt_0# +# kurultai_yurt_0# +# feast_yurt_0# +# agent_dread_yurt_0# + +# family_yurt_0# - External Nomad Domicile Building, close family and dynasty bonuses +# renown_gain_yurt_0 +# wet_nurse_yurt_0 +# personal_chamber_yurt_0 +# recreation_chamber_yurt_0 +# marriage_yurt_0 + +# mystical_yurt_0 - External Nomad Domicile Building, Court Astrologer, Court Physician, Piety bonuses +# astrologer_yurt_0 +# physician_yurt_0 +# + +#trade_yurt_0 - External Nomad Domicile Building, Gold, Paiza bonuses +#paiza_yurt_0 +#innovation_yurt_0 +#merchant_yurt_0 + +################## +# MAIN YURT +################## + +yurt_main_01 = { + slot_type = main + construction_time = 1 + internal_slots = 1 + allowed_domicile_types = { yurt } + + cost = { + herd = 0 + } + + character_modifier = { + domicile_external_slots_capacity_add = 2 + domicile_monthly_prestige_add = 1 + domicile_monthly_gold_add = 0.25 + additional_fort_level = 1 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_main_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +yurt_main_02 = { + slot_type = main + internal_slots = 1 + construction_time = @yurt_main_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = yurt_main_01 + + cost = { + herd = yurt_main_building_herd_cost_tier_2 + gold = yurt_main_building_gold_cost_tier_2 + prestige = yurt_main_building_prestige_cost_tier_2 + } + + character_modifier = { + domicile_external_slots_capacity_add = 1 + domicile_monthly_prestige_add = 0.5 + herd_capacity_mult = 0.05 + domicile_monthly_gold_add = 0.25 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_main_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +yurt_main_03 = { + slot_type = main + internal_slots = 2 + construction_time = @yurt_main_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = yurt_main_02 + + can_construct = { + custom_tooltip = { + text = yurt_main_nomadic_authority_2_3_4_5 + OR = { + has_realm_law = nomadic_authority_2 + has_realm_law = nomadic_authority_3 + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + } + } + + cost = { + herd = yurt_main_building_herd_cost_tier_3 + gold = yurt_main_building_gold_cost_tier_3 + prestige = yurt_main_building_prestige_cost_tier_3 + } + + character_modifier = { + domicile_external_slots_capacity_add = 1 + domicile_monthly_gold_add = 0.25 + domicile_monthly_prestige_add = 0.5 + herd_capacity_mult = 0.05 + additional_fort_level = 1 + vassal_limit_max = 2 + herd_capacity_add = 1000 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlocks_lvl_4_external_yurt_upgrades = yes + } + + ai_value = { + value = nomadic_capital_main_building_3 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +yurt_main_04 = { + slot_type = main + internal_slots = 3 + construction_time = @yurt_main_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = yurt_main_03 + + can_construct = { + custom_tooltip = { + text = yurt_main_nomadic_authority_3_4_5 + OR = { + has_realm_law = nomadic_authority_3 + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + } + } + + cost = { + herd = yurt_main_building_herd_cost_tier_4 + prestige = yurt_main_building_prestige_cost_tier_4 + gold = yurt_main_building_gold_cost_tier_4 + } + + character_modifier = { + domicile_external_slots_capacity_add = 1 + domicile_monthly_gold_add = 0.25 + domicile_monthly_prestige_add = 0.5 + herd_capacity_mult = 0.05 + additional_fort_level = 1 + vassal_limit_max = 2 + herd_capacity_add = 2000 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlocks_lvl_5_external_yurt_upgrades = yes + } + + ai_value = { + value = nomadic_capital_main_building_4 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +yurt_main_05 = { + slot_type = main + internal_slots = 4 + construction_time = @yurt_main_construction_time_tier_5 + allowed_domicile_types = { yurt } + + previous_building = yurt_main_04 + + can_construct = { + custom_tooltip = { + text = yurt_main_nomadic_authority_3_4_5 + OR = { + has_realm_law = nomadic_authority_3 + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + } + } + + cost = { + herd = yurt_main_building_herd_cost_tier_5 + prestige = yurt_main_building_prestige_cost_tier_5 + gold = yurt_main_building_gold_cost_tier_5 + } + + character_modifier = { + domicile_external_slots_capacity_add = 1 + domicile_monthly_gold_add = 0.5 + domicile_monthly_prestige_add = 0.5 + herd_capacity_mult = 0.05 + additional_fort_level = 2 + vassal_limit_max = 5 + herd_capacity_add = 2000 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlocks_lvl_6_external_yurt_upgrades = yes + } + + ai_value = { + value = nomadic_capital_main_building_5 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +yurt_main_06 = { + slot_type = main + internal_slots = 5 + construction_time = @yurt_main_construction_time_tier_6 + allowed_domicile_types = { yurt } + + previous_building = yurt_main_05 + + can_construct = { + custom_tooltip = { + text = yurt_main_nomadic_authority_4_5 + OR = { + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + } + } + + cost = { + herd = yurt_main_building_herd_cost_tier_6 + prestige = yurt_main_building_prestige_cost_tier_6 + gold = yurt_main_building_gold_cost_tier_6 + } + + character_modifier = { + domicile_monthly_gold_add = 0.50 + additional_fort_level = 2 + domicile_monthly_prestige_add = 0.5 + herd_capacity_mult = 0.05 + vassal_limit_max = 5 + herd_capacity_add = 5000 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlocks_lvl_6_external_yurt_upgrades = yes + } + + ai_value = { + value = nomadic_capital_main_building_6 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_yurt_main.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +################## +# MAIN YURT INTERNAL YURTS + +raid_main_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 200 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +raid_main_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raid_main_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +raid_main_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raid_main_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +raid_main_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raid_main_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 800 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +raid_main_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raid_main_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 1000 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +raid_main_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raid_main_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + max_loot_mult = 0.1 + movement_speed_land_raiding = 0.05 + herd_capacity_add = 1200 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raid_main_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + county_fertility_growth_mult = 0.02 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_main_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + county_fertility_growth_mult = 0.02 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_main_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + county_fertility_growth_mult = 0.06 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_main_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_main_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_main_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_main_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + county_fertility_growth_mult = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_main_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + domicile_monthly_prestige_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_main_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + domicile_monthly_prestige_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_main_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + domicile_monthly_prestige_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_main_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + domicile_monthly_prestige_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +kurultai_main_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_main_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + main_yurt_kurultai_bonus_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + domicile_monthly_prestige_mult = 0.10 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_conversion = 0.005 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_main_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_conversion = 0.005 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_main_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_conversion = 0.005 + herd_capacity_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_main_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_conversion = 0.005 + herd_capacity_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_main_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_conversion = 0.005 + herd_capacity_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +herd_conversion_main_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_main_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_conversion = 0.005 + herd_capacity_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lifestyle_xp_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lifestyle_xp_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.03 + learning = 1 + } + + parameters = { + nomad_yurt_better_children_education_outcomes_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lifestyle_xp_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.03 + } + + parameters = { + nomad_yurt_better_children_education_outcomes_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lifestyle_xp_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.03 + } + + parameters = { + nomad_yurt_better_children_education_outcomes_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +lifestyle_xp_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lifestyle_xp_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + monthly_lifestyle_xp_gain_mult = 0.05 + knight_effectiveness_per_learning = 0.001 + } + + parameters = { + nomad_yurt_better_children_education_outcomes_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lifestyle_xp_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + character_capital_monthly_county_fertility_decline_add = -0.1 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_1 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_1 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_1 } + } + } + + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fishing_yurt_01 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + embarkation_cost_mult = -0.05 + character_capital_monthly_county_fertility_decline_add = -0.1 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_1 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_1 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_1 } + } + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fishing_yurt_02 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + character_capital_monthly_county_fertility_decline_add = -0.1 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_2 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_2 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_2 } + } + if = { + limit = { + domicile_location.county = { + has_county_modifier = fishing_yurt_county_modifier_1 + } + } + domicile_location.county = { remove_county_modifier = fishing_yurt_county_modifier_1 } + } + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fishing_yurt_03 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + character_capital_monthly_county_fertility_decline_add = -0.2 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_2 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_2 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_2 } + } + if = { + limit = { + domicile_location.county = { + has_county_modifier = fishing_yurt_county_modifier_1 + } + } + domicile_location.county = { remove_county_modifier = fishing_yurt_county_modifier_1 } + } + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fishing_yurt_04 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + character_capital_monthly_county_fertility_decline_add = -0.2 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_2 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_2 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_2 } + } + if = { + limit = { + domicile_location.county = { + has_county_modifier = fishing_yurt_county_modifier_1 + } + } + domicile_location.county = { remove_county_modifier = fishing_yurt_county_modifier_1 } + } + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +fishing_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fishing_yurt_05 + + can_construct = { + custom_tooltip = { + text = nomad_unlocked_fishing_yurt_flag_desc + has_character_flag = nomad_unlocked_fishing_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + character_capital_monthly_county_fertility_decline_add = -0.2 + } + + parameters = { + fishing_yurt_riverside_lakeside_fertility_bonus_lvl_3 = yes + } + + on_complete = { + if = { + limit = { + domicile_location.county = { + OR = { + is_riverside_county = yes + is_lakeside_county = yes + is_coastal_county = yes + } + NOT = { has_county_modifier = fishing_yurt_county_modifier_3 } + } + } + domicile_location.county = { add_county_modifier = fishing_yurt_county_modifier_3 } + } + if = { + limit = { + domicile_location.county = { + has_county_modifier = fishing_yurt_county_modifier_1 + } + } + domicile_location.county = { remove_county_modifier = fishing_yurt_county_modifier_1 } + } + if = { + limit = { + domicile_location.county = { + has_county_modifier = fishing_yurt_county_modifier_2 + } + } + domicile_location.county = { remove_county_modifier = fishing_yurt_county_modifier_2 } + } + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fishing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +################# +# HERD WELFARE YURT + +herd_welfare_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_welfare_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = herd_welfare_yurt_01 + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + if = { + limit = { + herd >= { + value = max_herd + multiply = 0.9 + } + } + add = 2 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_welfare_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = herd_welfare_yurt_02 + internal_slots = 2 + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + herd_capacity_add = 600 + vassal_herd_contribution_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_exterior_building_2 + if = { + limit = { + herd >= { + value = max_herd + multiply = 0.9 + } + } + add = 2 + } + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_welfare_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = herd_welfare_yurt_03 + internal_slots = 3 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + herd_capacity_add = 1000 + vassal_herd_contribution_mult = 0.03 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_3 + if = { + limit = { + herd >= { + value = max_herd + multiply = 0.9 + } + } + add = 2 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_welfare_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = herd_welfare_yurt_04 + internal_slots = 4 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + county_fertility_growth_mult = 0.05 + herd_capacity_add = 2000 + vassal_herd_contribution_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_exterior_building_4 + if = { + limit = { + herd >= { + value = max_herd + multiply = 0.9 + } + } + add = 2 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_welfare_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = herd_welfare_yurt_05 + internal_slots = 5 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_6 + prestige = yurt_external_building_prestige_cost_tier_6 + gold = yurt_external_building_gold_cost_tier_6 + } + + character_modifier = { + county_fertility_growth_mult = 0.1 + herd_capacity_add = 4000 + vassal_herd_contribution_mult = 0.03 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_5 + if = { + limit = { + herd >= { + value = max_herd + multiply = 0.9 + } + } + add = 2 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_welfare_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 800 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_capacity_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_capacity_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_capacity_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 1000 + herd_capacity_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_capacity_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 2000 + herd_capacity_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_capacity_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_capacity_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 4000 + herd_capacity_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + desert_fertility_growth_mult = 0.05 + drylands_fertility_growth_mult = 0.05 + oasis_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = camel_yurt_01 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + desert_fertility_growth_mult = 0.05 + drylands_fertility_growth_mult = 0.05 + oasis_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = camel_yurt_02 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 600 + desert_fertility_growth_mult = 0.05 + drylands_fertility_growth_mult = 0.05 + oasis_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = camel_yurt_03 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 1000 + desert_fertility_growth_mult = 0.05 + drylands_fertility_growth_mult = 0.05 + oasis_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = camel_yurt_04 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + desert_fertility_growth_mult = 0.15 + drylands_fertility_growth_mult = 0.15 + oasis_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +camel_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = camel_yurt_05 + + can_construct = { + custom_tooltip = { + text = camel_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + terrain = desert + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + desert_fertility_growth_mult = 0.15 + drylands_fertility_growth_mult = 0.15 + oasis_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_camel_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + mountains_fertility_growth_mult = 0.05 + hills_fertility_growth_mult = 0.05 + desert_mountains_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = goat_yurt_01 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + mountains_fertility_growth_mult = 0.05 + hills_fertility_growth_mult = 0.05 + desert_mountains_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = goat_yurt_02 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 600 + mountains_fertility_growth_mult = 0.05 + hills_fertility_growth_mult = 0.05 + desert_mountains_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = goat_yurt_03 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 1000 + mountains_fertility_growth_mult = 0.05 + hills_fertility_growth_mult = 0.05 + desert_mountains_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = goat_yurt_04 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + mountains_fertility_growth_mult = 0.15 + hills_fertility_growth_mult = 0.15 + desert_mountains_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +goat_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = goat_yurt_05 + + can_construct = { + custom_tooltip = { + text = goat_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = mountains + terrain = hills + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + mountains_fertility_growth_mult = 0.15 + hills_fertility_growth_mult = 0.15 + desert_mountains_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_goat_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + forest_fertility_growth_mult = 0.05 + taiga_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = reindeer_yurt_01 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + forest_fertility_growth_mult = 0.05 + taiga_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = reindeer_yurt_02 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 600 + forest_fertility_growth_mult = 0.05 + taiga_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = reindeer_yurt_03 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 1000 + forest_fertility_growth_mult = 0.05 + taiga_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = reindeer_yurt_04 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + forest_fertility_growth_mult = 0.15 + taiga_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +reindeer_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = reindeer_yurt_05 + + can_construct = { + custom_tooltip = { + text = reindeer_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = forest + terrain = taiga + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + forest_fertility_growth_mult = 0.15 + taiga_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_reindeer_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + steppe_fertility_growth_mult = 0.05 + plains_fertility_growth_mult = 0.05 + farmlands_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sheep_yurt_01 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + steppe_fertility_growth_mult = 0.05 + plains_fertility_growth_mult = 0.05 + farmlands_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sheep_yurt_02 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 600 + steppe_fertility_growth_mult = 0.05 + plains_fertility_growth_mult = 0.05 + farmlands_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sheep_yurt_03 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 1000 + steppe_fertility_growth_mult = 0.05 + plains_fertility_growth_mult = 0.05 + farmlands_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sheep_yurt_04 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + steppe_fertility_growth_mult = 0.15 + plains_fertility_growth_mult = 0.15 + farmlands_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +sheep_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sheep_yurt_05 + + can_construct = { + custom_tooltip = { + text = sheep_yurt_unlock_terrain + any_held_county ?= { + any_county_province ={ + OR = { + terrain = steppe + terrain = plains + } + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + steppe_fertility_growth_mult = 0.15 + plains_fertility_growth_mult = 0.15 + farmlands_fertility_growth_mult = 0.15 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sheep_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_1 = yes + } + + character_modifier = { + herd_capacity_add = 200 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = steal_herd_yurt_01 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_1 = yes + } + + character_modifier = { + herd_capacity_add = 200 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = steal_herd_yurt_02 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_1 = yes + steal_herd_domicile_prevention_lvl_1 = yes + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = steal_herd_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_2 = yes + steal_herd_domicile_prevention_lvl_2 = yes + } + + character_modifier = { + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = steal_herd_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_2 = yes + steal_herd_domicile_prevention_lvl_2 = yes + } + + character_modifier = { + herd_capacity_add = 1000 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +steal_herd_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = steal_herd_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + steal_herd_domicile_additional_outcomes_lvl_3 = yes + steal_herd_domicile_prevention_lvl_3 = yes + } + + character_modifier = { + herd_capacity_add = 1000 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hostility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + county_fertility_growth_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_extremely_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = consumption_yurt_01 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + county_fertility_growth_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = consumption_yurt_02 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 400 + county_fertility_growth_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = consumption_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 600 + county_fertility_growth_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = consumption_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + county_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +consumption_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = consumption_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + county_fertility_growth_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_wealth_yurt_01 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_wealth_yurt_02 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 400 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_wealth_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 600 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_wealth_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herd_wealth_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_wealth_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barber.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_welfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_capacity_add = 200 + herd_gain_mult = 0.02 + } + + + ai_value = { + value = nomadic_capital_literally_invaluable_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herder_yurt_01 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_capacity_add = 200 + herd_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herder_yurt_02 + + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herder_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_capacity_add = 600 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herder_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_capacity_add = 1000 + herd_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} + +herder_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herder_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_capacity_add = 1000 + herd_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/herd_welfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/herd_welfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_herdWelfareYurt" + } +} +################# +# CHARACTER WARFARE YURT + +character_warfare_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.05 + monthly_prestige_gain_per_knight_add = 0.01 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +character_warfare_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = character_warfare_yurt_01 + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + } + + character_modifier = { + knight_effectiveness_mult = 0.05 + monthly_prestige_gain_per_knight_add = 0.01 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +character_warfare_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = character_warfare_yurt_02 + internal_slots = 2 + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + nomad_yurt_terrain_specialist_unlock = yes + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.05 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +character_warfare_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = character_warfare_yurt_03 + internal_slots = 3 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + nomad_yurt_terrain_specialist_unlock = yes + } + + character_modifier = { + knight_effectiveness_mult = 0.05 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +character_warfare_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = character_warfare_yurt_04 + internal_slots = 4 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + nomad_yurt_terrain_specialist_unlock = yes + } + + character_modifier = { + knight_effectiveness_mult = 0.05 + monthly_prestige_gain_per_knight_add = 0.01 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +character_warfare_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = character_warfare_yurt_05 + internal_slots = 5 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_unlock_recruit_knights = yes + nomad_yurt_bodyguard_unlock = yes + nomad_yurt_terrain_specialist_unlock = yes + } + + character_modifier = { + knight_limit = 2 + knight_effectiveness_mult = 0.05 + knight_effectiveness_per_prowess = 0.001 + knight_effectiveness_per_martial = 0.001 + knight_effectiveness_per_stewardship = 0.001 + knight_effectiveness_per_diplomacy = 0.001 + knight_effectiveness_per_intrigue = 0.001 + monthly_prestige_gain_per_knight_add = 0.03 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_character_warfare.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +################## +# CHARACTER WARFARE YURT INTERNAL YURTS + +falconry_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = character_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_better_falconry_lvl_1 = yes + } + + character_modifier = { + prowess = 1 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +falconry_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = falconry_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_better_falconry_lvl_1 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.03 + prowess = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +falconry_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = falconry_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_better_falconry_lvl_2 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.03 + prowess = 1 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +falconry_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = falconry_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_better_falconry_lvl_2 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.03 + prowess = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +falconry_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = falconry_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_better_falconry_lvl_3 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.03 + prowess = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +falconry_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = falconry_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_better_falconry_lvl_3 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.03 + prowess = 1 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_falcon_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = character_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + knight_effectiveness_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + knight_effectiveness_mult = 0.02 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + knight_effectiveness_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + knight_effectiveness_mult = 0.02 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +knight_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + knight_effectiveness_mult = 0.02 + knight_limit = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = character_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + martial = 1 + attacker_advantage = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = commander_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + advantage = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = commander_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + attacker_advantage = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.01 + martial = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = commander_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + advantage = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = commander_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + martial = 1 + advantage = 1 + attacker_advantage = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +commander_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = commander_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + advantage = 1 + attacker_advantage = 1 + martial = 1 + monthly_martial_lifestyle_xp_gain_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_commander_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = character_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_1 = yes + } + + character_modifier = { + prowess = 1 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = bodyguard_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_1 = yes + } + + character_modifier = { + prowess = 1 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = bodyguard_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_2 = yes + } + + character_modifier = { + prowess = 1 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = bodyguard_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_2 = yes + } + + character_modifier = { + prowess = 1 + knight_effectiveness_per_dread = 0.0001 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = bodyguard_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_3 = yes + } + + character_modifier = { + prowess = 1 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +bodyguard_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = bodyguard_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_increased_bodyguard_aptitude_lvl_3 = yes + } + + character_modifier = { + prowess = 1 + knight_effectiveness_per_dread = 0.0001 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bodyguard_yurt.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = character_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + accolade_glory_gain_mult = 0.1 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = accolade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + accolade_glory_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = accolade_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + accolade_glory_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = accolade_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + accolade_glory_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = accolade_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + accolade_glory_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +accolade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = accolade_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + accolade_glory_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/character_focused_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_characterWarfareYurt" + } +} + +################# +# MASS WARFARE YURT + +mass_warfare_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + character_modifier = { + men_at_arms_cap = 1 + men_at_arms_limit = 1 + archer_cavalry_damage_mult = 0.1 + light_cavalry_damage_mult = 0.1 + nomadic_horde_damage_mult = 0.1 + movement_speed = 0.1 + raid_speed = 0.05 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +mass_warfare_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = mass_warfare_yurt_01 + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + character_modifier = { + archer_cavalry_toughness_mult = 0.1 + light_cavalry_toughness_mult = 0.1 + movement_speed = 0.05 + raid_speed = 0.05 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +mass_warfare_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = mass_warfare_yurt_02 + internal_slots = 2 + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + character_modifier = { + men_at_arms_cap = 1 + men_at_arms_limit = 1 + nomadic_horde_damage_mult = 0.1 + movement_speed = 0.05 + raid_speed = 0.05 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +mass_warfare_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = mass_warfare_yurt_03 + internal_slots = 3 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + character_modifier = { + archer_cavalry_toughness_mult = 0.1 + light_cavalry_toughness_mult = 0.1 + nomadic_horde_damage_mult = 0.1 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +mass_warfare_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = mass_warfare_yurt_04 + internal_slots = 4 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + men_at_arms_limit = 1 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +mass_warfare_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = mass_warfare_yurt_05 + internal_slots = 5 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + men_at_arms_cap = 1 + men_at_arms_limit = 1 + archer_cavalry_toughness_mult = 0.1 + light_cavalry_toughness_mult = 0.1 + nomadic_horde_damage_mult = 0.2 + movement_speed = 0.1 + raid_speed = 0.1 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mass_warfare_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +################## +# MASS WARFARE YURT INTERNAL YURTS + +lcav_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + archer_cavalry_max_size_add = 1 + light_cavalry_max_size_add = 1 + archer_cavalry_pursuit_add = 10 + light_cavalry_pursuit_add = 10 + movement_speed = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +lcav_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lcav_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + archer_cavalry_max_size_add = 1 + light_cavalry_max_size_add = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +lcav_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lcav_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + archer_cavalry_toughness_mult = 0.1 + light_cavalry_toughness_mult = 0.1 + movement_speed = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +lcav_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lcav_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + archer_cavalry_max_size_add = 1 + light_cavalry_max_size_add = 1 + movement_speed = 0.05 + } + + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +lcav_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lcav_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + archer_cavalry_max_size_add = 1 + light_cavalry_max_size_add = 1 + archer_cavalry_damage_mult = 0.2 + light_cavalry_damage_mult = 0.2 + movement_speed = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +lcav_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = lcav_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + archer_cavalry_max_size_add = 1 + light_cavalry_max_size_add = 1 + archer_cavalry_toughness_mult = 0.2 + light_cavalry_toughness_mult = 0.2 + movement_speed = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lcav_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + archers_damage_mult = 0.1 + skirmishers_damage_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:archers <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = foot_archer_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + archers_max_size_add = 1 + skirmishers_max_size_add = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = foot_archer_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + archers_toughness_mult = 0.1 + skirmishers_toughness_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = foot_archer_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + archers_max_size_add = 1 + skirmishers_max_size_add = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = foot_archer_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + archers_toughness_mult = 0.1 + skirmishers_toughness_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +foot_archer_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = foot_archer_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + archers_max_size_add = 2 + skirmishers_max_size_add = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_foot_archer_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} +#merc + +merc_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.1 + mercenary_hire_time_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +merc_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merc_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.05 + mercenary_hire_time_mult = 0.1 + } + + parameters = { + nomad_yurt_merc_hired_bonus_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +merc_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merc_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.05 + mercenary_hire_time_mult = 0.1 + } + + parameters = { + nomad_yurt_merc_hired_bonus_lvl_1 = yes + nomad_yurt_merc_fired_bonus_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +merc_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merc_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.05 + mercenary_hire_time_mult = 0.1 + } + + parameters = { + nomad_yurt_merc_hired_bonus_lvl_2 = yes + nomad_yurt_merc_fired_bonus_lvl_1 = yes + } + + on_complete = { + scope:owner = { + hidden_effect = { + if = { + limit = { + has_character_modifier = mpo_yurt_merc_modifier_1 + } + remove_character_modifier = mpo_yurt_merc_modifier_1 + add_character_modifier = mpo_yurt_merc_modifier_2 + } + } + } + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +merc_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merc_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.05 + mercenary_hire_time_mult = 0.1 + } + + parameters = { + nomad_yurt_merc_hired_bonus_lvl_2 = yes + nomad_yurt_merc_fired_bonus_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +merc_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merc_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + mercenary_hire_cost_mult = -0.1 + mercenary_hire_time_mult = 0.1 + } + + parameters = { + nomad_yurt_merc_hired_bonus_lvl_3 = yes + nomad_yurt_merc_fired_bonus_lvl_3 = yes + } + + on_complete = { + scope:owner = { + hidden_effect = { + if = { + limit = { + has_character_modifier = mpo_yurt_merc_modifier_2 + } + remove_all_character_modifier_instances = mpo_yurt_merc_modifier_2 + add_character_modifier = mpo_yurt_merc_modifier_3 + } + } + } + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merc_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 100 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 50 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 50 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 50 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 50 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +herd_conversion_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_conversion_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_conversion = 0.005 + supply_capacity_add = 100 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + raid_speed = 0.1 + movement_speed = 0.1 + max_loot_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raiding_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + raid_speed = 0.05 + movement_speed = 0.02 + max_loot_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raiding_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + raid_speed = 0.05 + movement_speed = 0.02 + max_loot_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raiding_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + raid_speed = 0.05 + movement_speed = 0.02 + max_loot_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raiding_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + raid_speed = 0.05 + movement_speed = 0.02 + max_loot_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +raiding_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = raiding_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + raid_speed = 0.1 + movement_speed = 0.02 + max_loot_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_raiding_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mass_warfare_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + province_modifier = { + stationed_maa_damage_mult = 0.2 + stationed_maa_toughness_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stationing_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + province_modifier = { + stationed_maa_damage_mult = 0.2 + stationed_maa_toughness_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stationing_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + province_modifier = { + stationed_maa_pursuit_add = 4 + stationed_maa_screen_add = 4 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stationing_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + province_modifier = { + stationed_maa_pursuit_mult = 0.4 + stationed_maa_screen_mult = 0.4 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stationing_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + province_modifier = { + stationed_maa_damage_mult = 0.4 + stationed_maa_toughness_mult = 0.2 + stationed_maa_siege_value_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +stationing_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stationing_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + province_modifier = { + stationed_maa_damage_mult = 0.4 + stationed_maa_toughness_mult = 0.2 + stationed_maa_siege_value_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_conversion_yurt.dds" + texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mass_steppe_warfare_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_massWarfareYurt" + } +} + +################# +# COURT YURT + +court_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + character_modifier = { + cowed_vassal_herd_contribution_mult = 0.04 + owned_hostile_scheme_success_chance_add = 4 + owned_personal_scheme_success_chance_add = 4 + tributary_tax_mult = 0.04 + vassal_herd_contribution_mult = 0.04 + herd_capacity_mult = 0.04 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +court_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = court_yurt_01 + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + character_modifier = { + owned_personal_scheme_success_chance_add = 2 + tributary_tax_mult = 0.04 + vassal_herd_contribution_mult = 0.04 + cowed_vassal_herd_contribution_mult = 0.04 + owned_hostile_scheme_success_chance_add = 4 + herd_capacity_mult = 0.04 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + + ai_value = { + value = nomadic_capital_exterior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +court_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = court_yurt_02 + internal_slots = 2 + + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + character_modifier = { + tributary_tax_mult = 0.04 + owned_personal_scheme_success_chance_add = 4 + vassal_herd_contribution_mult = 0.04 + cowed_vassal_herd_contribution_mult = 0.04 + owned_hostile_scheme_success_chance_add = 6 + herd_capacity_mult = 0.06 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +court_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = court_yurt_03 + internal_slots = 3 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + character_modifier = { + tributary_tax_mult = 0.04 + owned_personal_scheme_success_chance_add = 6 + vassal_herd_contribution_mult = 0.04 + cowed_vassal_herd_contribution_mult = 0.04 + intimidated_vassal_herd_contribution_mult = 0.04 + owned_hostile_scheme_success_chance_add = 4 + herd_capacity_mult = 0.06 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + + ai_value = { + value = nomadic_capital_exterior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +court_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = court_yurt_04 + internal_slots = 4 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + tributary_tax_mult = 0.04 + owned_personal_scheme_success_chance_add = 6 + vassal_herd_contribution_mult = 0.04 + cowed_vassal_herd_contribution_mult = 0.04 + intimidated_vassal_herd_contribution_mult= 0.04 + owned_hostile_scheme_success_chance_add = 5 + herd_capacity_mult = 0.08 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + + ai_value = { + value = nomadic_capital_exterior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +court_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = court_yurt_05 + internal_slots = 5 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + tributary_tax_mult = 0.04 + owned_personal_scheme_success_chance_add = 6 + vassal_herd_contribution_mult = 0.04 + cowed_vassal_herd_contribution_mult = 0.04 + intimidated_vassal_herd_contribution_mult= 0.04 + owned_hostile_scheme_success_chance_add = 5 + max_hostile_schemes_add = 1 + herd_capacity_mult = 0.08 + } + + parameters = { + nomad_yurt_court_chronicler_unlock = yes + } + + province_modifier = { + defender_holding_advantage = 1 + } + + + ai_value = { + value = nomadic_capital_exterior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_court_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +################## +# COURT YURT INTERNAL YURTS + +tributary_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +tributary_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = tributary_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + parameters = { + nomad_yurt_increased_tributary_acceptance_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +tributary_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = tributary_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + parameters = { + nomad_yurt_increased_tributary_acceptance_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +tributary_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = tributary_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + parameters = { + nomad_yurt_increased_tributary_acceptance_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +tributary_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = tributary_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + parameters = { + nomad_yurt_increased_tributary_acceptance_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +tributary_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = tributary_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + tributary_tax_mult = 0.04 + } + + parameters = { + nomad_yurt_increased_tributary_acceptance_lvl_3 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tributary_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = vassal_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + direct_vassal_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = vassal_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + direct_vassal_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = vassal_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + direct_vassal_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = vassal_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + direct_vassal_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +vassal_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = vassal_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + vassal_herd_contribution_mult = 0.04 + direct_vassal_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_vassal_yurt.dds" + texture = "gfx/interface/window_domiciles/external_diplomacy_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/external_diplomacy_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_diplomacyYurt" + } +} + +secret_scheme_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + owned_scheme_secrecy_add = 4 + scheme_discovery_chance_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +secret_scheme_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = secret_scheme_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + owned_scheme_secrecy_add = 2 + scheme_discovery_chance_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +secret_scheme_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = secret_scheme_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + owned_scheme_secrecy_add = 4 + scheme_discovery_chance_mult = 0.08 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +secret_scheme_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = secret_scheme_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + owned_scheme_secrecy_add = 4 + scheme_discovery_chance_mult = 0.08 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +secret_scheme_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = secret_scheme_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + owned_scheme_secrecy_add = 6 + scheme_discovery_chance_mult = 0.16 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +secret_scheme_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = secret_scheme_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + owned_scheme_secrecy_add = 10 + scheme_discovery_chance_mult = 0.16 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_secret_scheme_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_1 = yes + nomad_yurt_kurultai_more_loyal_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_2 = yes + nomad_yurt_kurultai_more_loyal_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_2 = yes + nomad_yurt_kurultai_more_loyal_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_3 = yes + nomad_yurt_kurultai_more_loyal_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +kurultai_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_better_kurultai_lvl_3 = yes + nomad_yurt_kurultai_more_loyal_lvl_3 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = feast_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = feast_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = feast_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = feast_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +feast_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = feast_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_feast_discount = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_feast_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = agent_dread_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_1 = yes + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = 0.001 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = agent_dread_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_2 = yes + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = 0.001 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = agent_dread_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_2 = yes + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = 0.001 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = agent_dread_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_3 = yes + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = 0.001 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +agent_dread_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = agent_dread_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_realm_agent_acceptance_lvl_3 = yes + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = 0.001 + knight_effectiveness_per_dread = 0.0001 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_agent_dread_yurt.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = dynasty_court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + } + + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = dynasty_court_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = dynasty_court_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = dynasty_court_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +dynasty_court_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = dynasty_court_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_same_dynasty_bonus_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + different_culture_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = culture_court_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.05 + different_culture_opinion = 2 + } + + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = culture_court_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + different_culture_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = culture_court_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + different_culture_opinion = 2 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = culture_court_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + different_culture_opinion = 2 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + +culture_court_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = culture_court_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_many_cultures_bonus_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + different_culture_opinion = 5 + } + + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/kurultai_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/kurultai_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_kurultaiYurt" + } +} + + +################# +# FAMILY YURT + +family_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_main_yurt_marriage_acceptance_lvl_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.05 + dynasty_house_opinion = 4 + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +family_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = family_yurt_01 + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_unlock_wet_nurse = yes + nomad_main_yurt_marriage_acceptance_lvl_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.05 + dynasty_house_opinion = 6 + } + + + ai_value = { + value = nomadic_capital_exterior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +family_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = family_yurt_02 + internal_slots = 2 + + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_unlock_wet_nurse = yes + nomad_unlock_court_tutor = yes + nomad_main_yurt_marriage_acceptance_lvl_2 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.05 + dynasty_house_opinion = 10 + } + + + ai_value = { + value = nomadic_capital_exterior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +family_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = family_yurt_03 + internal_slots = 3 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_unlock_wet_nurse = yes + nomad_unlock_court_tutor = yes + nomad_main_yurt_marriage_acceptance_lvl_3 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.05 + dynasty_house_opinion = 12 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + + ai_value = { + value = nomadic_capital_exterior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +family_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = family_yurt_04 + internal_slots = 4 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_unlock_wet_nurse = yes + nomad_unlock_court_tutor = yes + nomad_main_yurt_marriage_acceptance_lvl_3 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + dynasty_house_opinion = 8 + } + + + ai_value = { + value = nomadic_capital_exterior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +family_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = family_yurt_05 + internal_slots = 5 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + parameters = { + nomad_introduce_heir_unlock = yes + nomad_unlock_wet_nurse = yes + nomad_unlock_court_tutor = yes + nomad_main_yurt_marriage_acceptance_lvl_4 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + dynasty_house_opinion = 10 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_family_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +################## +# FAMILY YURT INTERNAL YURTS + +renown_gain_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + monthly_dynasty_prestige = 0.2 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + } + + ai_value = { + value = 0 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +renown_gain_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = renown_gain_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + monthly_dynasty_prestige = 0.1 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +renown_gain_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = renown_gain_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + monthly_dynasty_prestige = 0.1 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +renown_gain_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = renown_gain_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + monthly_dynasty_prestige = 0.2 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +renown_gain_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = renown_gain_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + monthly_dynasty_prestige = 0.2 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +renown_gain_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = renown_gain_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + monthly_dynasty_prestige = 0.2 + } + + parameters = { + nomad_yurt_dynasty_many_crowns_bonus = yes + nomad_yurt_dynasty_many_khans = yes + nomad_yurt_dynasty_many_khans_yearly_bonus = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_renown_gain_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + can_construct = { + domicile = { + has_domicile_building_or_higher = family_yurt_02 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_1 = yes + nomad_yurt_court_tutor_aptitude_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = wet_nurse_yurt_01 + + can_construct = { + domicile = { + has_domicile_building_or_higher = family_yurt_03 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_1 = yes + nomad_yurt_court_tutor_aptitude_lvl_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = wet_nurse_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_2 = yes + nomad_yurt_court_tutor_aptitude_lvl_1 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = wet_nurse_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_2 = yes + nomad_yurt_court_tutor_aptitude_lvl_2 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = wet_nurse_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_3 = yes + nomad_yurt_court_tutor_aptitude_lvl_3 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +wet_nurse_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = wet_nurse_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_wet_nurse_aptitude_lvl_4 = yes + nomad_yurt_court_tutor_aptitude_lvl_4 = yes + } + + character_modifier = { + monthly_dynasty_prestige_mult = 0.03 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_wet_nurse_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + spouse_opinion = 10 + fertility = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = personal_chamber_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + spouse_opinion = 10 + fertility = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = personal_chamber_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + spouse_opinion = 10 + fertility = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = personal_chamber_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + spouse_opinion = 10 + fertility = 0.15 + } + + parameters = { + nomad_yurt_spouse_will_not_cheat = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = personal_chamber_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + spouse_opinion = 10 + fertility = 0.2 + } + + parameters = { + nomad_yurt_spouse_will_not_cheat = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +personal_chamber_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = personal_chamber_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + spouse_opinion = 20 + fertility = 0.2 + } + + parameters = { + nomad_yurt_spouse_will_not_cheat = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_personal_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = recreation_chamber_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = recreation_chamber_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + health = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = recreation_chamber_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + health = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = recreation_chamber_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + health = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +recreation_chamber_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = recreation_chamber_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + stress_gain_mult = -0.05 + stress_loss_mult = 0.05 + health = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_recreation_chamber_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = marriage_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = marriage_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = marriage_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = marriage_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +marriage_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = marriage_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_marriage_acceptance_lvl_4 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_marriage_yurt.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_better_children_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = better_children_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_better_children_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = better_children_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_better_children_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = better_children_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_better_children_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = better_children_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_better_children_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +better_children_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = better_children_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_better_children_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = friend_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = friend_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = friend_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = friend_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +friend_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = friend_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_friend_bonus_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = family_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_1 = yes + nomad_yurt_ward_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = hostage_ward_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_1 = yes + nomad_yurt_ward_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = hostage_ward_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_1 = yes + nomad_yurt_ward_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = hostage_ward_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_2 = yes + nomad_yurt_ward_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = hostage_ward_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_2 = yes + nomad_yurt_ward_bonus_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + +hostage_ward_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = hostage_ward_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_hostage_bonus_lvl_3 = yes + nomad_yurt_ward_bonus_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_prestige_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_many_nomads.dds" + texture = "gfx/interface/window_domiciles/family_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/family_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_familyYurt" + } +} + + +################# +# MYSTICAL YURT + +mystical_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = yurt_external_building_gold_cost_tier_1 + } + + character_modifier = { + epidemic_resistance = 2 + monthly_piety_gain_mult = 0.1 + monthly_income_from_herd_mult = 0.02 + monthly_county_control_growth_add = 0.04 + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +mystical_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + internal_slots = 2 + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = yurt_external_building_gold_cost_tier_2 + } + + character_modifier = { + epidemic_resistance = 2 + monthly_piety_gain_mult = 0.02 + monthly_income_from_herd_mult = 0.02 + monthly_county_control_growth_add = 0.04 + } + + ai_value = { + value = nomadic_capital_exterior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +mystical_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + internal_slots = 3 + previous_building = mystical_yurt_02 + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = yurt_external_building_gold_cost_tier_3 + } + + character_modifier = { + epidemic_resistance = 4 + monthly_piety_gain_mult = 0.03 + monthly_income_from_herd_mult = 0.03 + monthly_county_control_growth_add = 0.04 + } + + ai_value = { + value = nomadic_capital_exterior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +mystical_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + internal_slots = 4 + previous_building = mystical_yurt_03 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_03 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = yurt_external_building_gold_cost_tier_4 + } + + character_modifier = { + epidemic_resistance = 4 + monthly_piety_gain_mult = 0.03 + monthly_income_from_herd_mult = 0.03 + monthly_county_control_growth_add = 0.04 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_exterior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +mystical_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + internal_slots = 5 + previous_building = mystical_yurt_04 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_04 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = yurt_external_building_gold_cost_tier_5 + } + + character_modifier = { + epidemic_resistance = 4 + monthly_piety_gain_mult = 0.05 + monthly_income_from_herd_mult = 0.04 + monthly_county_control_growth_add = 0.04 + } + + parameters = { + nomad_yurt_improved_fertility_dance = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +mystical_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + internal_slots = 5 + previous_building = mystical_yurt_05 + + can_construct = { + domicile = { + has_domicile_building_or_higher = yurt_main_05 + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_6 + prestige = yurt_external_building_prestige_cost_tier_6 + gold = yurt_external_building_gold_cost_tier_6 + } + + character_modifier = { + epidemic_resistance = 4 + monthly_piety_gain_mult = 0.05 + monthly_income_from_herd_mult = 0.04 + monthly_county_control_growth_add = 0.04 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + nomad_yurt_improved_fertility_dance = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +################## +# MYSTICAL YURT INTERNAL YURTS + +astrologer_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_1 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.01 + monthly_learning_lifestyle_xp_gain_mult = 0.01 + domicile_monthly_piety_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +astrologer_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = astrologer_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_1 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.01 + monthly_learning_lifestyle_xp_gain_mult = 0.01 + domicile_monthly_piety_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +astrologer_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = astrologer_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_2 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.01 + domicile_monthly_piety_add = 0.05 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +astrologer_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = astrologer_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_2 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.01 + domicile_monthly_piety_add = 0.1 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +astrologer_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = astrologer_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_3 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.02 + domicile_monthly_piety_add = 0.05 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +astrologer_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = astrologer_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_increased_astrologer_aptitude_lvl_4 = yes + } + + character_modifier = { + monthly_piety_gain_mult = 0.04 + domicile_monthly_piety_add = 0.10 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_mystical_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_1 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = physician_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_1 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = physician_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_2 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = physician_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_2 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = physician_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_3 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.04 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +physician_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = physician_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_increased_physician_aptitude_lvl_4 = yes + } + + character_modifier = { + negate_health_penalty_add = 0.04 + monthly_learning_lifestyle_xp_gain_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_physician_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_1 = yes + } + + character_modifier = { + herd_capacity_add = 200 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_1 = yes + } + + character_modifier = { + herd_capacity_add = 200 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_mystical_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_2 = yes + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_mystical_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_2 = yes + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_mystical_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_2 = yes + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +fertility_mystical_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_mystical_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_herd_per_piety_fertility_mystical_lvl_3 = yes + } + + character_modifier = { + herd_capacity_add = 400 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + can_construct = { + custom_tooltip = { + text = language_yurt_2_unlock + num_of_known_languages >= 2 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_yearly_bonus_per_language_lvl_1 = yes + } + + character_modifier = { + learning = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = language_yurt_01 + + can_construct = { + custom_tooltip = { + text = language_yurt_2_unlock + num_of_known_languages >= 2 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_yearly_bonus_per_language_lvl_1 = yes + } + + character_modifier = { + max_learn_language_schemes_add = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = language_yurt_02 + + can_construct = { + custom_tooltip = { + text = language_yurt_3_unlock + num_of_known_languages >= 3 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_yearly_bonus_per_language_lvl_1 = yes + } + + character_modifier = { + learning = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = language_yurt_03 + + can_construct = { + custom_tooltip = { + text = language_yurt_3_unlock + num_of_known_languages >= 3 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_yearly_bonus_per_language_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = language_yurt_04 + + can_construct = { + custom_tooltip = { + text = language_yurt_3_unlock + num_of_known_languages >= 3 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_yearly_bonus_per_language_lvl_3 = yes + } + + + ai_value = { + value = 5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +language_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = language_yurt_05 + + can_construct = { + custom_tooltip = { + text = language_yurt_3_unlock + num_of_known_languages >= 3 + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_language_cap = yes + nomad_yurt_yearly_bonus_per_language_lvl_3 = yes + } + + character_modifier = { + max_learn_language_schemes_add = 1 + learning = 1 + } + + ai_value = { + value = 26 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = omen_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = omen_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = omen_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = omen_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.04 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +omen_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = omen_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_children_bonus_per_piety_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_friendly.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_mystical_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_1 = yes + nomad_yurt_kurultai_skill_increase_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_mystical_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_1 = yes + nomad_yurt_kurultai_skill_increase_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_mystical_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_2 = yes + nomad_yurt_kurultai_skill_increase_per_piety_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.04 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +kurultai_mystical_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = kurultai_mystical_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_kurultai_obedience_per_piety_lvl_2 = yes + nomad_yurt_kurultai_skill_increase_per_piety_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kurultai_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + knight_skill_increase_per_piety_lvl_1 = yes + } + + character_modifier = { + monthly_piety_gain_per_knight_add = 0.01 + knight_limit = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_mystical_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + knight_skill_increase_per_piety_lvl_1 = yes + } + + character_modifier = { + monthly_piety_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_mystical_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + knight_skill_increase_per_piety_lvl_2 = yes + } + + character_modifier = { + monthly_piety_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_mystical_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + knight_skill_increase_per_piety_lvl_2 = yes + } + + character_modifier = { + monthly_piety_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_mystical_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + knight_skill_increase_per_piety_lvl_2 = yes + } + + character_modifier = { + monthly_piety_gain_per_knight_add = 0.01 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +knight_mystical_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_mystical_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + knight_skill_increase_per_piety_lvl_3 = yes + } + + character_modifier = { + knight_limit = 1 + monthly_piety_gain_per_knight_add = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/mystical_magical_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/mystical_magical_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mysticalYurt" + } +} + +################# +# TRADE YURT + +trade_yurt_01 = { + construction_time = @yurt_external_construction_time_tier_1 + allowed_domicile_types = { yurt } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_1 + prestige = yurt_external_building_prestige_cost_tier_1 + gold = { + add = yurt_external_building_gold_cost_tier_1 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + monthly_income_from_herd_mult = 0.01 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +trade_yurt_02 = { + construction_time = @yurt_external_construction_time_tier_2 + allowed_domicile_types = { yurt } + previous_building = trade_yurt_01 + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_2 + prestige = yurt_external_building_prestige_cost_tier_2 + gold = { + add = yurt_external_building_gold_cost_tier_2 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + monthly_income_from_herd_mult = 0.01 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +trade_yurt_03 = { + construction_time = @yurt_external_construction_time_tier_3 + allowed_domicile_types = { yurt } + previous_building = trade_yurt_02 + internal_slots = 2 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_3 + prestige = yurt_external_building_prestige_cost_tier_3 + gold = { + add = yurt_external_building_gold_cost_tier_3 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + monthly_income_from_herd_mult = 0.02 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +trade_yurt_04 = { + construction_time = @yurt_external_construction_time_tier_4 + allowed_domicile_types = { yurt } + previous_building = trade_yurt_03 + internal_slots = 3 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_4 + prestige = yurt_external_building_prestige_cost_tier_4 + gold = { + add = yurt_external_building_gold_cost_tier_4 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + monthly_income_from_herd_mult = 0.02 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + nomad_yurt_unlock_establish_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +trade_yurt_05 = { + construction_time = @yurt_external_construction_time_tier_5 + allowed_domicile_types = { yurt } + previous_building = trade_yurt_04 + internal_slots = 4 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_5 + prestige = yurt_external_building_prestige_cost_tier_5 + gold = { + add = yurt_external_building_gold_cost_tier_5 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + monthly_income_from_herd_mult = 0.03 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + nomad_yurt_unlock_establish_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +trade_yurt_06 = { + construction_time = @yurt_external_construction_time_tier_6 + allowed_domicile_types = { yurt } + previous_building = trade_yurt_05 + internal_slots = 5 + + can_construct = { + custom_tooltip = { + text = trade_yurt_unlock_req + any_neighboring_top_liege_realm_owner = { + NOT = { + government_has_flag = government_is_herder + government_has_flag = government_is_nomadic + } + } + } + } + + cost = { + herd = yurt_external_building_herd_cost_tier_6 + prestige = yurt_external_building_prestige_cost_tier_6 + gold = { + add = yurt_external_building_gold_cost_tier_6 + multiply = 2 + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + monthly_income_from_herd_mult = 0.03 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + nomad_yurt_unlock_establish_smol_paiza = yes + nomad_yurt_unlock_establish_paiza = yes + } + + ai_value = { + value = nomadic_capital_exterior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_trade_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + + +################## +# TRADE YURT INTERNAL YURTS +################## + +paiza_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_1 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +paiza_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_1 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +paiza_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_2 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +paiza_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_2 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +paiza_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_2 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +paiza_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_paiza_obedience_bonus_lvl_3 = yes + nomad_yurt_paiza_abuse_less_likely_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + } + + province_modifier = { + defender_holding_advantage = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + cultural_head_fascination_mult = 0.02 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = innovation_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + cultural_head_fascination_mult = 0.02 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + nomad_yurt_increased_innovation_paiza_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = innovation_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + cultural_head_fascination_mult = 0.04 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + nomad_yurt_increased_innovation_paiza_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = innovation_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + cultural_head_fascination_mult = 0.04 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + nomad_yurt_increased_innovation_paiza_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = innovation_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + cultural_head_fascination_mult = 0.04 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + nomad_yurt_increased_innovation_paiza_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +innovation_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = innovation_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + cultural_head_fascination_mult = 0.14 + } + + parameters = { + nomad_yurt_paiza_innovations_unlock = yes + nomad_yurt_increased_innovation_paiza_lvl_3 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_culture.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_1 = yes + nomad_yurt_merchant_bonus_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merchant_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_1 = yes + nomad_yurt_merchant_bonus_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merchant_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_2 = yes + nomad_yurt_merchant_bonus_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merchant_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_2 = yes + nomad_yurt_merchant_bonus_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merchant_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_2 = yes + nomad_yurt_merchant_bonus_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +merchant_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = merchant_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + } + + parameters = { + nomad_yurt_paiza_more_gold_lvl_3 = yes + nomad_yurt_merchant_bonus_lvl_3 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_merchant_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.02 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_trade_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_1 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_trade_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_trade_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_2 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + character_capital_monthly_county_fertility_growth_add = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +fertility_trade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = fertility_trade_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_paiza_fertility_gain_lvl_3 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + character_capital_monthly_county_fertility_growth_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_fertility.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_1 = yes + nomad_merchant_herd_gold_exchange_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_1 = yes + nomad_merchant_herd_gold_exchange_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_trade_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_1 = yes + nomad_merchant_herd_gold_exchange_lvl_2 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_trade_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_2 = yes + nomad_merchant_herd_gold_exchange_lvl_2 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_trade_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_2 = yes + nomad_merchant_herd_gold_exchange_lvl_2 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +herd_trade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = herd_trade_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_paiza_herd_gain_lvl_3 = yes + nomad_merchant_herd_gold_exchange_lvl_3 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_herd_capacity_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = char_trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = char_trade_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_1 = yes + nomad_yurt_paiza_char_gain_arrival_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = char_trade_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_2 = yes + nomad_yurt_paiza_char_gain_arrival_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = char_trade_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_2 = yes + nomad_yurt_paiza_char_gain_arrival_lvl_1 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +char_trade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = char_trade_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_paiza_char_gain_lvl_3 = yes + nomad_yurt_paiza_char_gain_arrival_lvl_2 = yes + } + + character_modifier = { + monthly_income_from_herd_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_single_nomad.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_1 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_trade_yurt_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_1 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_trade_yurt_02 + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_1 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_trade_yurt_03 + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_2 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_trade_yurt_04 + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_2 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + +knight_trade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = knight_trade_yurt_05 + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + parameters = { + nomad_yurt_paiza_maa_gain_lvl_3 = yes + } + + character_modifier = { + knight_effectiveness_per_stewardship = 0.001 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/trade_yurt.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/trade_yurt_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_tradeYurt" + } +} + + +###### + +# CULTURAL TRADITION YURTS + +# Metalworkers +metalworkers_cultrad_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + maa_toughness_mult = 0.1 + maa_damage_mult = 0.1 + nomadic_horde_toughness_add = 1 + hard_casualty_modifier = -0.02 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +metalworkers_cultrad_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = metalworkers_cultrad_yurt_01 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + nomadic_horde_toughness_add = 1 + archer_cavalry_toughness_add = 1 + hard_casualty_modifier = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +metalworkers_cultrad_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = metalworkers_cultrad_yurt_02 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + nomadic_horde_toughness_add = 1 + archer_cavalry_toughness_add = 1 + hard_casualty_modifier = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +metalworkers_cultrad_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = metalworkers_cultrad_yurt_03 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + nomadic_horde_toughness_add = 1 + archer_cavalry_toughness_add = 1 + hard_casualty_modifier = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +metalworkers_cultrad_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = metalworkers_cultrad_yurt_04 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + hard_casualty_modifier = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +metalworkers_cultrad_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = metalworkers_cultrad_yurt_05 + + can_construct = { + custom_tooltip = { + text = metalworkers_cultrad_yurt_01_unlock + culture ?= { + has_cultural_parameter = metalworkers_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + maa_toughness_mult = 0.1 + maa_damage_mult = 0.1 + hard_casualty_modifier = -0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Sorcerous_metallurgy +sorcerous_metallurgy_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + domicile_monthly_piety_add = 0.05 + monthly_piety_gain_per_knight_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +sorcerous_metallurgy_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sorcerous_metallurgy_yurt_01 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + domicile_monthly_piety_add = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +sorcerous_metallurgy_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sorcerous_metallurgy_yurt_02 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_per_knight_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +sorcerous_metallurgy_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sorcerous_metallurgy_yurt_03 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +sorcerous_metallurgy_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sorcerous_metallurgy_yurt_04 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_per_knight_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +sorcerous_metallurgy_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = sorcerous_metallurgy_yurt_05 + + can_construct = { + custom_tooltip = { + text = sorcerous_metallurgy_yurt_01_domicile_building_desc + OR = { + has_trait = witch + has_trait = lifestyle_mystic + has_trait = lifestyle_herbalist + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + prowess_per_piety_level = 1 + monthly_piety_gain_per_knight_mult = 0.02 + martial_per_piety_level = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_alchemy_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Zealous People +zealous_people_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + domicile_monthly_piety_add = 0.05 + monthly_piety_gain_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +zealous_people_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = zealous_people_yurt_01 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + domicile_monthly_piety_add = 0.05 + monthly_piety_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +zealous_people_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = zealous_people_yurt_02 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +zealous_people_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = zealous_people_yurt_03 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_mult = 0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +zealous_people_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = zealous_people_yurt_04 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +zealous_people_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = zealous_people_yurt_05 + + can_construct = { + custom_tooltip = { + text = zealous_people_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = zealous_people_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + domicile_monthly_piety_add = 0.1 + monthly_piety_gain_mult = 0.05 + stewardship_per_piety_level = 1 + intrigue_per_piety_level = 1 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_righteous_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Loyal_soldiers +loyal_soldiers_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +loyal_soldiers_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = loyal_soldiers_yurt_01 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +loyal_soldiers_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = loyal_soldiers_yurt_02 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_1 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +loyal_soldiers_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = loyal_soldiers_yurt_03 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +loyal_soldiers_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = loyal_soldiers_yurt_04 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_2 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +loyal_soldiers_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = loyal_soldiers_yurt_05 + + can_construct = { + custom_tooltip = { + text = loyal_soldiers_yurt_01_domicile_building_desc + any_relation = { + type = blood_brother + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + councillor_opinion = 2 + } + + parameters = { + loyal_soldiers_yurt_more_obedient_lvl_3 = yes + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_loyalty_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Forbearing +forbearing_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + defender_advantage = 2 + stress_gain_mult = -0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +forbearing_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = forbearing_yurt_01 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + defender_advantage = 1 + stress_gain_mult = -0.01 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +forbearing_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = forbearing_yurt_02 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + defender_advantage = 1 + stress_gain_mult = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +forbearing_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = forbearing_yurt_03 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + defender_advantage = 1 + stress_gain_mult = -0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +forbearing_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = forbearing_yurt_04 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + herd_gain_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +forbearing_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = forbearing_yurt_05 + + can_construct = { + custom_tooltip = { + text = forbearing_yurt_01_domicile_building_desc + OR = { + culture ?= { + has_cultural_parameter = forbearing_internal_yurt_unlock + } + any_courtier = { + count >= 5 + has_trait = patient + } + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + herd_gain_mult = 0.02 + defender_advantage = 5 + } + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forbearing_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Stalwart Defenders +stalwart_defenders_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.1 + maa_toughness_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +stalwart_defenders_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stalwart_defenders_yurt_01 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.05 + maa_toughness_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +stalwart_defenders_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stalwart_defenders_yurt_02 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.05 + maa_toughness_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +stalwart_defenders_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stalwart_defenders_yurt_03 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.05 + maa_toughness_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +stalwart_defenders_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stalwart_defenders_yurt_04 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.05 + maa_toughness_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +stalwart_defenders_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = stalwart_defenders_yurt_05 + + can_construct = { + custom_tooltip = { + text = stalwart_defenders_yurt_01_domicile_building_desc + culture ?= { + has_cultural_parameter = stalwart_defenders_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + nomadic_horde_toughness_mult = 0.1 + maa_toughness_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_spirit_feretory.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Legalistic +legalistic_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + character_modifier = { + legitimacy_gain_mult = 0.1 + legitimacy_loss_mult = -0.1 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +legalistic_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = legalistic_yurt_01 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + legitimacy_gain_mult = 0.02 + legitimacy_loss_mult = -0.02 + monthly_prestige_gain_per_legitimacy_level_mult = 0.02 + monthly_piety_gain_per_legitimacy_level_mult = 0.02 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +legalistic_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = legalistic_yurt_02 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + legitimacy_gain_mult = 0.02 + legitimacy_loss_mult = -0.02 + } + + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +legalistic_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = legalistic_yurt_03 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + legitimacy_gain_mult = 0.02 + legitimacy_loss_mult = -0.02 + } + + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +legalistic_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = legalistic_yurt_04 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + legitimacy_gain_mult = 0.02 + legitimacy_loss_mult = -0.02 + } + + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +legalistic_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = legalistic_yurt_05 + + can_construct = { + custom_tooltip = { + text = legalistic_yurt_01_unlock + highest_held_title_tier >= tier_empire + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + legitimacy_gain_mult = 0.02 + legitimacy_loss_mult = -0.02 + monthly_prestige_gain_per_legitimacy_level_mult = 0.03 + monthly_piety_gain_per_legitimacy_level_mult = 0.03 + } + + + ai_value = { + value = nomadic_capital_interior_building_6 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_law_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Horse Breeder +horse_breeder_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + character_modifier = { + movement_speed = 0.1 + archer_cavalry_damage_mult = 0.1 + light_cavalry_damage_mult = 0.1 + nomadic_horde_damage_mult = 0.1 + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +horse_breeder_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = horse_breeder_yurt_01 + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + movement_speed = 0.05 + archer_cavalry_damage_mult = 0.05 + light_cavalry_damage_mult = 0.05 + nomadic_horde_damage_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_1 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +horse_breeder_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = horse_breeder_yurt_02 + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + movement_speed = 0.05 + archer_cavalry_damage_mult = 0.05 + light_cavalry_damage_mult = 0.05 + nomadic_horde_damage_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_2 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +horse_breeder_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = horse_breeder_yurt_03 + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + movement_speed = 0.05 + archer_cavalry_damage_mult = 0.05 + light_cavalry_damage_mult = 0.05 + nomadic_horde_damage_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_3 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +horse_breeder_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = horse_breeder_yurt_04 + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + movement_speed = 0.05 + archer_cavalry_damage_mult = 0.05 + light_cavalry_damage_mult = 0.05 + nomadic_horde_damage_mult = 0.05 + } + + ai_value = { + value = nomadic_capital_interior_building_4 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +horse_breeder_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = horse_breeder_yurt_05 + + can_construct = { + custom_tooltip = { + text = horse_breeder_yurt_01_unlock + culture ?= { + has_cultural_parameter = horse_breeder_internal_yurt_unlock + } + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + archer_cavalry_toughness_mult = 0.2 + light_cavalry_toughness_mult = 0.2 + } + + ai_value = { + value = nomadic_capital_interior_building_5 + + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +# Paiza metal trade yurt +paiza_metal_trade_yurt_01 = { + construction_time = @yurt_internal_construction_time_tier_1 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = yurt_main_01 + + cost = { + herd = yurt_internal_building_herd_cost_tier_1 + prestige = yurt_internal_building_prestige_cost_tier_1 + gold = yurt_internal_building_gold_cost_tier_1 + } + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + character_modifier = { + archer_cavalry_damage_add = 2 + light_cavalry_damage_add = 2 + nomadic_horde_damage_add = 2 + maa_damage_mult = 0.1 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_very_important_building + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +paiza_metal_trade_yurt_02 = { + construction_time = @yurt_internal_construction_time_tier_2 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_metal_trade_yurt_01 + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_2 + prestige = yurt_internal_building_prestige_cost_tier_2 + gold = yurt_internal_building_gold_cost_tier_2 + } + + character_modifier = { + archer_cavalry_toughness_add = 2 + light_cavalry_toughness_add = 2 + nomadic_horde_toughness_add = 2 + maa_toughness_mult = 0.1 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_1 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_01_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +paiza_metal_trade_yurt_03 = { + construction_time = @yurt_internal_construction_time_tier_3 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_metal_trade_yurt_02 + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_3 + prestige = yurt_internal_building_prestige_cost_tier_3 + gold = yurt_internal_building_gold_cost_tier_3 + } + + character_modifier = { + archer_cavalry_toughness_add = 2 + light_cavalry_toughness_add = 2 + nomadic_horde_toughness_add = 2 + maa_toughness_mult = 0.1 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_2 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +paiza_metal_trade_yurt_04 = { + construction_time = @yurt_internal_construction_time_tier_4 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_metal_trade_yurt_03 + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_4 + prestige = yurt_internal_building_prestige_cost_tier_4 + gold = yurt_internal_building_gold_cost_tier_4 + } + + character_modifier = { + archer_cavalry_damage_add = 2 + light_cavalry_damage_add = 2 + nomadic_horde_damage_add = 2 + maa_damage_mult = 0.1 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_3 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_02_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +paiza_metal_trade_yurt_05 = { + construction_time = @yurt_internal_construction_time_tier_5 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_metal_trade_yurt_04 + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_5 + prestige = yurt_internal_building_prestige_cost_tier_5 + gold = yurt_internal_building_gold_cost_tier_5 + } + + character_modifier = { + archer_cavalry_damage_add = 6 + light_cavalry_damage_add = 6 + nomadic_horde_damage_add = 2 + maa_damage_mult = 0.2 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_4 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + +paiza_metal_trade_yurt_06 = { + construction_time = @yurt_internal_construction_time_tier_6 + allowed_domicile_types = { yurt } + slot_type = internal + previous_building = paiza_metal_trade_yurt_05 + + can_construct = { + custom_tooltip = { + text = paiza_metal_trade_yurt_flag_desc + has_character_flag = paiza_metal_trade_yurt_flag + } + } + + cost = { + herd = yurt_internal_building_herd_cost_tier_6 + prestige = yurt_internal_building_prestige_cost_tier_6 + gold = yurt_internal_building_gold_cost_tier_6 + } + + character_modifier = { + archer_cavalry_toughness_add = 6 + light_cavalry_toughness_add = 6 + nomadic_horde_toughness_add = 2 + maa_toughness_mult = 0.2 + } + + parameters = { + paiza_metal_iron_cavalry_unlock = yes + } + + ai_value = { + value = nomadic_capital_interior_building_5 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_paiza_yurt.dds" + texture = "gfx/interface/window_domiciles/main_yurt_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/main_yurt_03_mask.png" + soundeffect = "event:/DLC/CE2/UI/camp_buildings/ce2_ui_domicile_buildings_mainYurt" + } +} + diff --git a/N3OW/common/domiciles/buildings/10_japanese_manor_buildings.txt b/N3OW/common/domiciles/buildings/10_japanese_manor_buildings.txt new file mode 100644 index 00000000..4157b6b1 --- /dev/null +++ b/N3OW/common/domiciles/buildings/10_japanese_manor_buildings.txt @@ -0,0 +1,13227 @@ +################## +# JAPANESE MANOR BUILDINGS +################## + +@japanese_manor_main_construction_time_tier_2 = 180 +@japanese_manor_main_construction_time_tier_3 = 360 +@japanese_manor_main_construction_time_tier_4 = 520 +@japanese_manor_main_construction_time_tier_5 = 600 +@japanese_manor_main_construction_time_tier_6 = 720 + +@japanese_manor_external_construction_time_tier_1 = 90 +@japanese_manor_external_construction_time_tier_2 = 180 +@japanese_manor_external_construction_time_tier_3 = 270 +@japanese_manor_external_construction_time_tier_4 = 300 +@japanese_manor_external_construction_time_tier_5 = 360 +@japanese_manor_external_construction_time_tier_6 = 420 + +@japanese_manor_internal_construction_time_tier_1 = 30 +@japanese_manor_internal_construction_time_tier_2 = 60 +@japanese_manor_internal_construction_time_tier_3 = 90 +@japanese_manor_internal_construction_time_tier_4 = 120 +@japanese_manor_internal_construction_time_tier_5 = 200 +@japanese_manor_internal_construction_time_tier_6 = 320 + +@japanese_manor_monthly_prestige_add_1 = 0.1 +@japanese_manor_monthly_prestige_add_2 = 0.25 +@japanese_manor_monthly_prestige_add_3 = 0.5 +@japanese_manor_monthly_prestige_mult_1 = 0.025 +@japanese_manor_monthly_dynasty_prestige_add_1 = 0.05 +@japanese_manor_monthly_dynasty_prestige_add_2 = 0.1 +@japanese_manor_monthly_influence_add_1 = 0.15 +@japanese_manor_monthly_influence_add_2 = 0.25 +@japanese_manor_monthly_influence_add_3 = 0.5 +@japanese_manor_monthly_influence_mult_1 = 0.025 +@japanese_manor_monthly_gold_add_0 = 0.1 +@japanese_manor_monthly_gold_add_1 = 0.2 +@japanese_manor_monthly_gold_add_2 = 0.35 +@japanese_manor_monthly_gold_add_3 = 0.5 +@japanese_manor_monthly_gold_mult_domain_1 = 0.01 +@japanese_manor_monthly_gold_mult_1 = 0.04 +@japanese_manor_monthly_piety_add_1 = 0.1 +@japanese_manor_monthly_piety_add_2 = 0.25 +@japanese_manor_monthly_piety_add_3 = 0.5 +@japanese_manor_monthly_piety_mult_1 = 0.025 +@japanese_manor_stress_loss_mult_1 = 0.025 +@japanese_manor_stress_gain_mult_1 = -0.025 +@japanese_manor_opinion_add_1 = 2 +@japanese_manor_maa_recruitment_cost_mult_1 = -0.04 +@japanese_manor_maa_maintenance_mult_1 = -0.025 +@japanese_manor_maa_effectiveness_mult_1 = 0.025 +@japanese_manor_control_growth_factor_1 = 0.05 +@japanese_manor_advantage_add_1 = 1 +@japanese_manor_mercenary_hire_cost_mult_1 = -0.025 +@japanese_manor_supply_capacity_mult_1 = 0.025 +@japanese_manor_knight_effectiveness_mult_1 = 0.01 +@japanese_manor_lifestyle_xp_gain_mult = 0.05 +@japanese_manor_owned_scheme_potential_add = 2 +@japanese_manor_owned_scheme_success_chance_add = 2 +@japanese_manor_owned_scheme_success_chance_max_add = 2 +@japanese_manor_owned_scheme_success_growth_add = 2 +@japanese_manor_owned_scheme_phase_duration_add = -5 +@japanese_manor_enemy_scheme_success_chance_add = -2 +@japanese_manor_enemy_scheme_success_chance_max_add = -2 +@japanese_manor_enemy_scheme_success_growth_add = -2 +@japanese_manor_enemy_scheme_phase_duration_add = -5 +@japanese_manor_pursue_efficiency_1 = 0.025 +@japanese_manor_movement_speed_1 = 0.025 +@japanese_manor_influence_level_impact_mult_1 = 0.025 +@japanese_manor_character_travel_speed_mult = 0.025 +@japanese_manor_hostile_raid_time_1 = 0.1 +@japanese_manor_development_growth_factor_1 = 0.025 +@japanese_manor_development_growth_1 = 0.05 +@japanese_manor_county_control_growth_add_1 = 0.1 +@japanese_manor_prestige_gain_per_dread_mult_1 = 0.05 +@japanese_manor_dread_decay_mult_1 = -0.025 +@japanese_manor_dread_baseline_add_1 = 2 +@japanese_manor_health_add_1 = 0.05 +@japanese_manor_epidemic_resistance_1 = 2 +@japanese_manor_dread_gain_mult_1 = 0.025 +@japanese_manor_domicile_build_speed = -0.05 +@japanese_manor_domicile_build_speed_minor = -0.03 +@japanese_manor_domicile_build_gold_cost_minor = -0.03 +@japanese_manor_domicile_build_gold_cost = -0.05 +@japanese_manor_holding_build_gold_cost_minor = -0.03 +@japanese_manor_holding_build_gold_cost = -0.05 +@japanese_manor_faith_creation_piety_cost_mult = -0.05 +@japanese_manor_character_travel_safety = 2 + +### NOTE: If updating, adding, or changing buildings, ensure the following effects are updated too: +### destroy_random_japanese_manor_building_variable_effect +### destroy_random_japanese_manor_building_effect + +### Japanese Manor Main Building - The Mansion - Yashiki - 屋敷 +japanese_manor_main_01 = { + slot_type = main + internal_slots = 1 + construction_time = 730 + allowed_domicile_types = { japanese_manor } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_2_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_prestige_add_3 + domicile_monthly_prestige_add = @japanese_manor_monthly_influence_add_3 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_2 + domicile_external_slots_capacity_add = 2 + } + + province_modifier = { + levy_size = 0.15 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_01.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} +japanese_manor_main_02 = { + slot_type = main + internal_slots = 1 + construction_time = @japanese_manor_main_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_manor_main_01 + + can_construct = { + culture ?= { has_innovation = innovation_city_planning } + } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_3_value + } + + parameters = { + reduce_success_of_raid_estate = yes + unlocks_establish_fief_decision = yes + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domicile_external_slots_capacity_add = 2 + domain_limit_max = 1 + } + + province_modifier = { + levy_size = 0.15 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_02.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} +japanese_manor_main_03 = { + slot_type = main + internal_slots = 2 + construction_time = @japanese_manor_main_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_manor_main_02 + + can_construct = { + culture ?= { has_innovation = innovation_manorialism } + } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_4_value + } + + parameters = { + reduce_success_of_raid_estate = yes + unlocks_establish_fief_decision = yes + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domicile_external_slots_capacity_add = 2 + } + + province_modifier = { + levy_size = 0.15 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_03.dds" + texture = "gfx/interface/window_domiciles/estate_building_mansion_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} +japanese_manor_main_04 = { + slot_type = main + internal_slots = 3 + construction_time = @japanese_manor_main_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_manor_main_03 + + can_construct = { + culture ?= { has_innovation = innovation_development_03 } + } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_5_value + } + + parameters = { + reduce_success_of_raid_estate = yes + unlocks_establish_fief_decision = yes + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domain_limit_max = 1 + } + + province_modifier = { + levy_size = 0.15 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_04.dds" + texture = "gfx/interface/window_domiciles/estate_building_estate_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} +japanese_manor_main_05 = { + slot_type = main + internal_slots = 4 + construction_time = @japanese_manor_main_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_manor_main_04 + + can_construct = { + culture ?= { has_innovation = innovation_cranes } + } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_6_value + } + + parameters = { + reduce_success_of_raid_estate = yes + unlocks_establish_fief_decision = yes + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + } + + province_modifier = { + levy_size = 0.15 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_05.dds" + texture = "gfx/interface/window_domiciles/estate_building_grand_estate_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} +japanese_manor_main_06 = { + slot_type = main + internal_slots = 5 + construction_time = @japanese_manor_main_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_manor_main_05 + + can_construct = { + culture ?= { has_innovation = innovation_cranes } + } + + cost = { + gold = japanese_manor_external_building_high_cost_tier_7_value + } + + parameters = { + reduce_success_of_raid_estate = yes + unlocks_establish_fief_decision = yes + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domain_limit_max = 1 + } + + province_modifier = { + levy_size = 0.25 + levy_reinforcement_rate = 0.1 + } + + ai_value = { + value = 100 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_manor_05.dds" + texture = "gfx/interface/window_domiciles/estate_building_grand_estate_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} + +############################# +#### INTERNAL BUILDINGS ##### +############################# + +japanese_main_tax_collectors_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_tax_collectors_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_tax_collectors_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_tax_collectors_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_tax_collectors_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_tax_collectors_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_tax_collectors_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_tax_collectors_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_tax_collectors_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_tax_collectors_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_tax_collectors_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domain_tax_mult = @japanese_manor_monthly_gold_mult_domain_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +japanese_main_carpenter_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_carpenter_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_carpenter_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost_minor + domicile_build_speed = @japanese_manor_domicile_build_speed_minor + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_carpenter_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_carpenter_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_carpenter_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_carpenter_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost_minor + domicile_build_speed = @japanese_manor_domicile_build_speed_minor + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_carpenter_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_carpenter_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_main_carpenter_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_main_carpenter_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost_minor + domicile_build_speed = @japanese_manor_domicile_build_speed_minor + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +### Diplomacy - Poetry library +japanese_manor_poetry_library_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + can_construct = { + dynasty ?= { has_dynasty_perk = tgp_japan_legacy_2 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + diplomacy_per_influence_level = 1 + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + trait_track_lifestyle_poet_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + } + + parameters = { + increased_poet_aptitude_1 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_poetry_library_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_poetry_library_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + trait_track_lifestyle_poet_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_poet_aptitude_2 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_poetry_library_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_poetry_library_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + trait_track_lifestyle_poet_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_poet_aptitude_3 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_poetry_library_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_poetry_library_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + diplomacy_per_influence_level = 1 + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + trait_track_lifestyle_poet_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_poet_aptitude_4 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_poetry_library_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_poetry_library_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + trait_track_lifestyle_poet_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_poet_aptitude_5 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_poetry_library_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_poetry_library_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + courtly_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_poet_aptitude_6 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_library.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} + +### Influence Upgrade - Sarugaku Stage +sarugaku_stage_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_1_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} +sarugaku_stage_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = sarugaku_stage_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_2_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} +sarugaku_stage_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = sarugaku_stage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_3_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} +sarugaku_stage_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = sarugaku_stage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_4_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} +sarugaku_stage_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = sarugaku_stage_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_5_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} +sarugaku_stage_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = sarugaku_stage_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = japanese_manor_internal_building_normal_cost_tier_6_value + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 # As a treat + courtier_and_guest_opinion = 2 + } + + parameters = { + japanese_manor_recruit_guest_discount = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_japanese_mask.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/tgp_ui_domicile_building_japanese_main_building.dds" + } +} + +### Martial Upgrade +japanese_manor_trophy_room_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + martial_per_influence_level = 1 + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + led_by_owner_extra_advantage_add = 1 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_trophy_room_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_trophy_room_01 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_trophy_room_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_trophy_room_02 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + led_by_owner_extra_advantage_add = 1 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + trophy_room_victory_influence = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_trophy_room_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_trophy_room_03 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + martial_per_influence_level = 1 + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + trophy_room_victory_influence = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_trophy_room_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_trophy_room_04 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + led_by_owner_extra_advantage_add = 1 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + trophy_room_victory_influence = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_trophy_room_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_trophy_room_05 + + can_construct = { + NOT = { government_has_flag = government_is_administrative } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_trophy_room } + multiply = 0.75 + desc = raid_insight_trophy_room + } + } + } + + character_modifier = { + monthly_martial_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + knight_effectiveness_per_prowess = 0.001 + glory_hound_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + trophy_room_victory_influence = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trophy.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} + +### Stewardship Upgrade +japanese_manor_office_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_1 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_office_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_office_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_2 = yes + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_office_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_office_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + stewardship_per_influence_level = 1 + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_3 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_office_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_office_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_4 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_office_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_office_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_5 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_office_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_office_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_office } + multiply = 0.75 + desc = raid_insight_office + } + } + } + + character_modifier = { + stewardship_per_influence_level = 1 + monthly_stewardship_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + japanese_manor_increase_house_member_investment_cap_6 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_office.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} + +### Intrigue Upgrade +japanese_manor_servants_quarters_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + intrigue_per_prestige_level = 1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_servants_quarters_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_servants_quarters_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_servants_quarters_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_servants_quarters_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + intrigue_per_prestige_level = 1 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_servants_quarters_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_servants_quarters_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + intrigue_per_prestige_level = 1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_servants_quarters_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_servants_quarters_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_servants_quarters_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_servants_quarters_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_servants_quarters } + multiply = 0.75 + desc = raid_insight_servants_quarters + } + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_servant.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} + +# Learning - Confucian library +japanese_manor_library_confucian_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + confucian_education_xp_gain_mult = 0.01 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_library_confucian_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_library_confucian_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + confucian_education_xp_gain_mult = 0.01 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_library_confucian_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_library_confucian_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + character_modifier = { + learning_per_influence_level = 1 + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + confucian_education_xp_gain_mult = 0.01 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_library_confucian_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_library_confucian_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + japanese_manor_unlock_tier_5_education = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + confucian_education_xp_gain_mult = 0.01 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_library_confucian_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_library_confucian_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + japanese_manor_unlock_tier_5_education = yes + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + confucian_education_xp_gain_mult = 0.01 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_library_confucian_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_library_confucian_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_library } + multiply = 0.75 + desc = raid_insight_library + } + } + } + + parameters = { + japanese_manor_unlock_tier_5_education = yes + } + + character_modifier = { + learning_per_influence_level = 1 + monthly_learning_lifestyle_xp_gain_mult = @japanese_manor_lifestyle_xp_gain_mult + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tutor.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_japanese_main_building" + } +} + +# +japanese_manor_retainer_accomodations_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_main_01 + + can_construct = { + dynasty ?= { has_dynasty_perk = tgp_japan_legacy_3 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_1_value + } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + province_modifier = { + stationed_maa_toughness_mult = 0.02 + stationed_maa_damage_mult = 0.02 + } + + parameters = { + estate_increase_bodyguard_aptitude_1 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_retainer_accomodations_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_retainer_accomodations_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_2_value + } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -1 + } + + province_modifier = { + stationed_maa_toughness_mult = 0.03 + stationed_maa_damage_mult = 0.03 + } + + parameters = { + house_head_can_ask_for_knight = yes + estate_increase_bodyguard_aptitude_1 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_retainer_accomodations_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_retainer_accomodations_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_3_value + } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -1 + knight_effectiveness_per_martial = 0.001 + monthly_prestige_gain_per_knight_add = 0.01 + } + + province_modifier = { + stationed_maa_toughness_mult = 0.03 + stationed_maa_damage_mult = 0.03 + } + + parameters = { + house_head_can_ask_for_knight = yes + estate_increase_bodyguard_aptitude_1 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_retainer_accomodations_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_retainer_accomodations_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_4_value + } + } + + parameters = { + house_head_can_ask_for_knight = yes + estate_increase_bodyguard_aptitude_2 = yes + } + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -2 + } + + province_modifier = { + stationed_maa_toughness_mult = 0.03 + stationed_maa_damage_mult = 0.03 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_manor_retainer_accomodations_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_manor_retainer_accomodations_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_high_cost_tier_5_value + } + } + + parameters = { + house_head_can_ask_for_knight = yes + estate_increase_bodyguard_aptitude_2 = yes + } + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -4 + knight_effectiveness_per_martial = 0.002 + monthly_prestige_gain_per_knight_add = 0.02 + } + + province_modifier = { + stationed_maa_toughness_mult = 0.04 + stationed_maa_damage_mult = 0.04 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_barracks.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} + +############################# +#### EXTERNAL BUILDINGS ##### +############################# + +### Rice Fields +japanese_fields_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_2 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_fields_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_fields_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_fields_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_fields_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_fields_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_fields_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_fields_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 3 + previous_building = japanese_fields_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_fields_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 3 + previous_building = japanese_fields_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + add = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { + domicile ?= { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + } + multiply = 0.65 + desc = grazing_land_in_domicile + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + development_growth_factor = @japanese_manor_control_growth_factor_1 + } + + on_complete = { + estate_newly_built_grain_field_effect = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_rice.dds" + texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_rice_paddies_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +# Internal +japanese_granary_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_fields_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_granary_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_granary_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_granary_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_granary_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_granary_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_granary_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_granary_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_granary_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_granary_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_granary_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + supply_capacity_mult = @japanese_manor_supply_capacity_mult_1 + men_at_arms_maintenance = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_granary.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_fields_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rice_broker_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rice_broker_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rice_broker_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rice_broker_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_rice_broker_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rice_broker_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_fields_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tenant_farmers_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tenant_farmers_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tenant_farmers_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tenant_farmers_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_tenant_farmers_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tenant_farmers_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + domicile ?= { + if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_1 } + multiply = 0.85 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_2 } + multiply = 0.75 + desc = grazing_land_in_domicile + } + else_if = { + limit = { has_domicile_parameter = cheaper_grain_fields_buildings_3 } + multiply = 0.65 + desc = grazing_land_in_domicile + } + } + if = { + limit = { has_character_modifier = raid_insight_grain_field } + multiply = 0.75 + desc = raid_insight_grain_field + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tenant_farmer.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} + +### Shrine +japanese_shrine_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_3 + clergy_opinion = @japanese_manor_opinion_add_1 + learning_per_prestige_level = 1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +japanese_shrine_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_shrine_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + clergy_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +japanese_shrine_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_shrine_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + clergy_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +japanese_shrine_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_shrine_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + clergy_opinion = @japanese_manor_opinion_add_1 + learning_per_prestige_level = 1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +japanese_shrine_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_shrine_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + clergy_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +japanese_shrine_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_shrine_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = humility_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_temple } + multiply = 0.75 + desc = raid_insight_temple + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + clergy_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + texture = "gfx/interface/window_domiciles/estate_building_temple_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_temple_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_temple_shinto" + } +} +# Internal +japanese_cemetery_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shrine_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_2 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + estate_cheaper_funeral_cost = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_cemetery_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_cemetery_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_cemetery_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_cemetery_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_cemetery_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_cemetery_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_cemetery_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_cemetery_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_cemetery_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_cemetery_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_crypt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shrine_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + learning_per_piety_level = 1 + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + parameters = { + estate_cheaper_pilgrimage_cost = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shokubo_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shokubo_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shokubo_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + learning_per_piety_level = 1 + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shokubo_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_shokubo_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shokubo_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_piety_mult = @japanese_manor_monthly_piety_mult_1 + different_faith_opinion = @japanese_manor_opinion_add_1 + character_travel_safety = @japanese_manor_character_travel_safety + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_shrine_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + learning_per_influence_level = 1 + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_1 = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_monastery_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_2 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_monastery_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_3 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_monastery_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + learning_per_influence_level = 1 + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_4 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_monastery_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_5 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_monastery_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_monastery_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + zealot_opinion = @japanese_manor_opinion_add_1 + realm_priest_opinion = @japanese_manor_opinion_add_1 + church_holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + faith_creation_piety_cost_mult = @japanese_manor_faith_creation_piety_cost_mult + } + + parameters = { + influence_gain_from_hof_support_6 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} + +### Brewery +japanese_brewery_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_2 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + stewardship_per_prestige_level = 1 + } + + parameters = { + estate_cheaper_feast_cost = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +japanese_brewery_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_brewery_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +japanese_brewery_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_brewery_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +japanese_brewery_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_brewery_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + stewardship_per_prestige_level = 1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +japanese_brewery_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_brewery_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +japanese_brewery_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_brewery_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = prosperity_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + development_growth_factor = @japanese_manor_development_growth_factor_1 + county_opinion_add = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_brewery_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_brewery_japanese" + } +} +# Internal +japanese_koshu_cellars_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_brewery_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_koshu_cellars_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_koshu_cellars_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_koshu_cellars_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_koshu_cellars_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_koshu_cellars_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_koshu_cellars_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_koshu_cellars_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_koshu_cellars_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_koshu_cellars_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_koshu_cellars_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_vineyard.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_brewery_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + + dread_decay_mult = -0.025 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_gambling_den_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_gambling_den_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_gambling_den_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_gambling_den_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_gambling_den_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_gambling_den_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_gambling_den.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_brewery_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_sumo_hall_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_sumo_hall_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_sumo_hall_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_sumo_hall_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_sumo_hall_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_sumo_hall_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + trait_track_foot_xp_gain_mult = 0.05 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_sumo_hall.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} + +### Archive +japanese_archive_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + stewardship_per_influence_level = 1 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + japanese_manor_governor_efficiency_bonus = yes + japanese_manor_governor_trait_xp_bonus_for_contracts = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +japanese_archive_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_archive_01 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +japanese_archive_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_archive_02 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +japanese_archive_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_archive_03 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + stewardship_per_influence_level = 1 + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +japanese_archive_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_archive_04 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +japanese_archive_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_archive_05 + + can_construct = { + trigger_if = { + limit = { is_ai = yes } + government_has_flag = government_is_administrative + } + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = service_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_archive } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/estate_building_archives_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_archives_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_archives_japanese" + } +} +# Internal +japanese_schoolhouse_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_archive_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_tutor_aptitude_1 = yes + estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes + estate_governor_efficiency_bonus_for_house_members = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_schoolhouse_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_schoolhouse_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_tutor_aptitude_2 = yes + estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_schoolhouse_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_schoolhouse_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_tutor_aptitude_3 = yes + estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_schoolhouse_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_schoolhouse_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_tutor_aptitude_4 = yes + estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_schoolhouse_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_schoolhouse_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + increased_tutor_aptitude_5 = yes + estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_schoolhouse_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_schoolhouse_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + parameters = { + japanese_schoolhouse_education_boost_1 = yes + increased_tutor_aptitude_6 = yes + estate_reduced_tutor_cost = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_schoolhouse.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_archive_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + enemy_political_scheme_success_chance_growth_add = @japanese_manor_enemy_scheme_success_growth_add + } + + parameters = { + estate_unlock_teach_governor_interaction = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_law_library_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_law_library_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_law_library_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_law_library_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_law_library_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_law_library_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + owned_political_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_archive_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_messenger_service_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_messenger_service_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_messenger_service_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_messenger_service_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_messenger_service_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_messenger_service_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + influence_level_impact_mult = @japanese_manor_influence_level_impact_mult_1 + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_diplomacy_yurt.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} + +### Armory +japanese_armory_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + martial_per_prestige_level = 1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_armory_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_armory_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_armory_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_armory_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_armory_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_armory_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + martial_per_prestige_level = 1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_armory_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_armory_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_armory_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_armory_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = strength_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_armory } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_recruitment_cost = @japanese_manor_maa_recruitment_cost_mult_1 + mercenary_hire_cost_mult = @japanese_manor_mercenary_hire_cost_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_knight_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_armory_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_armory_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_barracks" + } +} +japanese_bladesmith_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armory_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bladesmith_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bladesmith_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + prowess_no_portrait = 1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bladesmith_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bladesmith_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bladesmith_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bladesmith_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + prowess_no_portrait = 1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bladesmith_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bladesmith_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bladesmith_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bladesmith_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + pikemen_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + heavy_infantry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + prowess_no_portrait = 1 + } + + parameters = { + cheaper_commission_weapon_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_bladesmith.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armory_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armorer_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armorer_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armorer_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armorer_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_armorer_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armorer_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + heavy_infantry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + pikemen_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_toughness_mult = @japanese_manor_maa_effectiveness_mult_1 + knight_effectiveness_mult = @japanese_manor_knight_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_armor_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_forge_yurt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_armory_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_cap = 1 + } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_barracks_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + knight_limit = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_barracks_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_limit = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_barracks_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_barracks_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + knight_limit = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_barracks_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_barracks_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + men_at_arms_cap = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_barrack.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +### Watch-house +japanese_watch_house_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + intrigue_per_prestige_level = 1 + } + + parameters = { + reduce_success_of_raid_estate = yes + raids_less_likely_to_make_prisoners_1_japanese = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +japanese_watch_house_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_watch_house_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +japanese_watch_house_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_watch_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + } + + parameters = { + raids_less_likely_to_make_prisoners_2_japanese = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +japanese_watch_house_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_watch_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + intrigue_per_prestige_level = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +japanese_watch_house_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_watch_house_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + } + + parameters = { + raids_less_likely_to_make_prisoners_3_japanese = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +japanese_watch_house_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_watch_house_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = determination_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_watchtower } + multiply = 0.75 + desc = raid_insight_watchtower + } + } + } + + character_modifier = { + monthly_county_control_growth_factor = @japanese_manor_control_growth_factor_1 + defender_holding_advantage = @japanese_manor_advantage_add_1 + hostile_raid_time = @japanese_manor_hostile_raid_time_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_guard_house_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_guardhouse" + } +} +# Internal +japanese_spy_network_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_watch_house_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_spy_network_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_spy_network_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_spy_network_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_spy_network_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_spy_network_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_spy_network_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_spy_network_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_spy_network_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_spy_network_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_spy_network_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = @japanese_manor_enemy_scheme_success_chance_max_add + owned_hostile_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + monthly_county_control_growth_add = @japanese_manor_county_control_growth_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_watch_house_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + intrigue_per_influence_level = 1 + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_infiltrators_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_infiltrators_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_infiltrators_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + intrigue_per_influence_level = 1 + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_infiltrators_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_infiltrators_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_infiltrators_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + hostile_scheme_phase_duration_add = @japanese_manor_enemy_scheme_phase_duration_add + political_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + estate_unlock_hire_agents_decision = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_watch_house_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_prison_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_prison_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_prison_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_prison_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} +japanese_prison_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_prison_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + monthly_prestige_gain_per_dread_mult = @japanese_manor_prestige_gain_per_dread_mult_1 + dread_decay_mult = @japanese_manor_dread_decay_mult_1 + dread_gain_mult = @japanese_manor_dread_gain_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_prison.dds" + texture = "gfx/interface/icons/domicile_building/domicile_japan_family_shrine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_japanese_mask.png" + } +} + +### Horse Pastures +japanese_horse_pastures_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_horse_pastures_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_horse_pastures_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_horse_pastures_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_horse_pastures_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_horse_pastures_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_horse_pastures_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_horse_pastures_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_horse_pastures_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_horse_pastures_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_horse_pastures_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_grazing_land } + multiply = 0.75 + desc = raid_insight_grazing_land + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + archer_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + light_cavalry_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_finest_horse.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +# Internal +japanese_stud_farm_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_horse_pastures_01 + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_stud_farm_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stud_farm_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_stud_farm_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stud_farm_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_stud_farm_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stud_farm_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_stud_farm_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stud_farm_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_stud_farm_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stud_farm_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + light_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + archer_cavalry_recruitment_cost_mult = @japanese_manor_maa_recruitment_cost_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_stud_farm.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_horse_pastures_01 + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_travel_speed = 2 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_ox_breeder_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_travel_speed = 2 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_ox_breeder_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_travel_speed = 2 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_ox_breeder_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_travel_speed = 2 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_ox_breeder_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_travel_speed = 2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_ox_breeder_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_ox_breeder_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_travel_speed = 2 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_grazing.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_horse_pastures_01 + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + prowess_no_portrait = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_riding_school_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_riding_school_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_riding_school_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + prowess_no_portrait = 1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_riding_school_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_riding_school_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_riding_school_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_6_value } + } + + character_modifier = { + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + light_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} + +### Tea Plantation +japanese_tea_plantation_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 9 + if = { # Let's make sure the AI builds at least one good income building + limit = { + NOR = { + has_domicile_building_or_higher = japanese_fields_01 + has_domicile_building_or_higher = japanese_tea_plantation_01 + } + } + add = 20 + } + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_tea_plantation_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_tea_plantation_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_tea_plantation_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + internal_slots = 1 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_tea_plantation_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_tea_plantation_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_tea_plantation_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_tea_plantation_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_tea_plantation_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_tea_plantation_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + internal_slots = 2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_tea_plantation_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + elderly_health = @japanese_manor_health_add_1 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + on_complete = { + scope:owner ?= { + if = { + limit = { + is_alive = yes + years_from_game_start >= 1 + } + random = { + chance = 75 + add_character_flag = { + flag = domicile_new_built_tea + months = 1 + } + trigger_event = { + id = ep3_governor_yearly.3001 + days = 5 + } + } + } + } + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_tea_plantation.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +# Internal +japanese_matcha_factory_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_plantation_01 + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_matcha_factory_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_matcha_factory_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_matcha_factory_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_matcha_factory_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_matcha_factory_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_matcha_factory_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_matcha_factory_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_matcha_factory_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_matcha_factory_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_matcha_factory_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + domicile_monthly_gold_mult = @japanese_manor_monthly_gold_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_matcha_factory.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_plantation_01 + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + learning = 1 + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + } + + parameters = { + estate_increase_physician_aptitude_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_medicine_house_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + } + + parameters = { + estate_increase_physician_aptitude_2 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_medicine_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + negate_prowess_penalty_add = 1 + } + + parameters = { + estate_increase_physician_aptitude_3 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_medicine_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + learning = 1 + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + } + + parameters = { + estate_increase_physician_aptitude_4 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_medicine_house_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + } + + parameters = { + estate_increase_physician_aptitude_5 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_medicine_house_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_medicine_house_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + negate_health_penalty_add = @japanese_manor_health_add_1 + epidemic_resistance = @japanese_manor_epidemic_resistance_1 + negate_prowess_penalty_add = 1 + } + + parameters = { + estate_increase_physician_aptitude_6 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_health.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_plantation_01 + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_2 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_roastery_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_roastery_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_roastery_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_roastery_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} +japanese_roastery_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_roastery_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_tea } + multiply = 0.75 + desc = raid_insight_tea + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + character_capital_county_monthly_control_add = @japanese_manor_control_growth_factor_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_roastery.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_plantation_asian_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_rice_paddies" + } +} + +### Stables +japanese_stables_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +japanese_stables_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_stables_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +japanese_stables_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_stables_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +japanese_stables_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_stables_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +japanese_stables_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_stables_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +japanese_stables_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_stables_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_high_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_stable } + multiply = 0.75 + desc = raid_insight_stable + } + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + character_travel_speed_mult = @japanese_manor_character_travel_speed_mult + courtier_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_stable.dds" + texture = "gfx/interface/window_domiciles/estate_building_stable_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_stable_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_stable" + } +} +# Internal +japanese_yabusame_ground_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stables_01 + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_yabusame_ground_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_yabusame_ground_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_yabusame_ground_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_yabusame_ground_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_yabusame_ground_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_yabusame_ground_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_yabusame_ground_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_yabusame_ground_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_yabusame_ground_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_yabusame_ground_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + archer_cavalry_damage_mult = @japanese_manor_maa_effectiveness_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_horse_pastures_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_grazing_lands" + } +} +japanese_farrier_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stables_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_farrier_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_farrier_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_farrier_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_farrier_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_farrier_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_farrier_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_farrier_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_farrier_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_farrier_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_farrier_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + archer_cavalry_pursuit_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_farrier.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_stables_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_hunting_lodge_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_hunting_lodge_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_hunting_lodge_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_hunting_lodge_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_hunting_lodge_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_hunting_lodge_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + pursue_efficiency = @japanese_manor_pursue_efficiency_1 + movement_speed = @japanese_manor_movement_speed_1 + } + + parameters = { + estate_cheaper_hunt_cost = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_hunt.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +### Workshop +japanese_workshop_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_2 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_workshop_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_workshop_01 + internal_slots = 1 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_workshop_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_workshop_02 + internal_slots = 1 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_workshop_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_workshop_03 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_workshop_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_workshop_04 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_workshop_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + previous_building = japanese_workshop_05 + internal_slots = 2 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_workshop } + multiply = 0.75 + desc = raid_insight_workshop + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_build_speed = @japanese_manor_domicile_build_speed + build_speed = @japanese_manor_domicile_build_speed + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_workshop.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +# Internal +japanese_bowyer_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_workshop_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bowyer_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bowyer_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bowyer_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bowyer_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bowyer_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bowyer_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bowyer_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bowyer_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_5_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_bowyer_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_bowyer_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_realm_law_flag = cheaper_japanese_domicile_military_buildings } + multiply = 0.75 + } + } + } + + character_modifier = { + archers_maintenance_mult = @japanese_manor_maa_maintenance_mult_1 + archer_cavalry_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + archers_screen_mult = @japanese_manor_maa_effectiveness_mult_1 + } + + parameters = { + cheaper_commission_bow_artifact_parameter_1 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_workshop_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_lacquerer_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_lacquerer_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_lacquerer_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_lacquerer_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_lacquerer_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_lacquerer_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + cheaper_commission_furniture_artifact_parameter_1 = yes + increased_gift_opinion = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lacquerer.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_workshop_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_carpenter_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_carpenter_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_carpenter_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_carpenter_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} +japanese_carpenter_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_carpenter_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + build_gold_cost = @japanese_manor_domicile_build_gold_cost + domicile_build_gold_cost = @japanese_manor_domicile_build_gold_cost + holding_build_gold_cost = @japanese_manor_holding_build_gold_cost + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_carpenter.dds" + texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_workshop_japanese_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_workshop" + } +} + +### Tea House +japanese_tea_house_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + can_construct = { + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_2 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + diplomacy_per_prestige_level = 1 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +japanese_tea_house_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_tea_house_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +japanese_tea_house_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_tea_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +japanese_tea_house_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_tea_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + diplomacy_per_prestige_level = 1 + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +japanese_tea_house_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_tea_house_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +japanese_tea_house_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_tea_house_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + custom_tooltip = { + text = ceremony_house_power_tt + house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + } + } + + cost = { + gold = { value = japanese_manor_external_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + owned_personal_scheme_success_chance_growth_add = @japanese_manor_owned_scheme_success_growth_add + } + + parameters = { + estate_unlock_tea_ceremony = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_tea.dds" + texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_tea_house_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_tea_house" + } +} +# Internal +japanese_guest_house_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_house_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_guest_house_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_guest_house_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_guest_house_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_guest_house_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + max_personal_schemes_add = 1 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_guest_house_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_guest_house_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_guest_house_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_guest_house_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_guest_house_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_guest_house_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_guest.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.dds" + } +} +japanese_performance_stage_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_house_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + parameters = { + estate_improved_feast_opinion = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_performance_stage_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_performance_stage_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_performance_stage_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_performance_stage_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_performance_stage_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_performance_stage_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_performance_stage_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_performance_stage_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_performance_stage_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_performance_stage_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + dynasty_house_opinion = @japanese_manor_opinion_add_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_performance.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_tea_house_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + } + + parameters = { + increased_musician_aptitude_1 = yes + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_asobi_colony_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + parameters = { + increased_musician_aptitude_2 = yes + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_asobi_colony_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + parameters = { + increased_musician_aptitude_3 = yes + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_asobi_colony_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + parameters = { + increased_musician_aptitude_4 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_asobi_colony_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add + owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add + } + + parameters = { + increased_musician_aptitude_5 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_asobi_colony_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_asobi_colony_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + + } + + parameters = { + increased_musician_aptitude_6 = yes + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_asobi.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} + +### Garden +japanese_garden_01 = { + construction_time = @japanese_manor_external_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_1 = yes + } + + ai_value = { + value = 9 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +japanese_garden_02 = { + construction_time = @japanese_manor_external_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_garden_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_2 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +japanese_garden_03 = { + construction_time = @japanese_manor_external_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + internal_slots = 1 + previous_building = japanese_garden_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_3 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +japanese_garden_04 = { + construction_time = @japanese_manor_external_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_garden_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_4 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +japanese_garden_05 = { + construction_time = @japanese_manor_external_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_garden_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_5_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_5 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +japanese_garden_06 = { + construction_time = @japanese_manor_external_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + internal_slots = 2 + previous_building = japanese_garden_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_external_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_garden } + multiply = 0.75 + desc = raid_insight_garden + } + } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + domicile_monthly_prestige_add = @japanese_manor_monthly_prestige_add_1 + stress_gain_mult = @japanese_manor_stress_gain_mult_1 + } + + parameters = { + increased_gardener_aptitude_6 = yes + } + + ai_value = { + value = 8 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_garden_japanese" + } +} +# Internal +japanese_rock_garden_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_garden_01 + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_1_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_2 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_rock_garden_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rock_garden_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_2_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_rock_garden_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rock_garden_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_3_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_rock_garden_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rock_garden_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_rock_garden_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rock_garden_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_4_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_rock_garden_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_rock_garden_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { + value = japanese_manor_internal_building_normal_cost_tier_6_value + if = { + limit = { has_character_modifier = raid_insight_living_quarters } + multiply = 0.75 + desc = raid_insight_quarters + } + } + } + + character_modifier = { + domicile_monthly_piety_add = @japanese_manor_monthly_piety_add_1 + stress_loss_mult = @japanese_manor_stress_loss_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_rock_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_garden_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_kazan_display_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_kazan_display_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_kazan_display_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_kazan_display_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_kazan_display_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_kazan_display_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_1 + domicile_monthly_prestige_mult = @japanese_manor_monthly_prestige_mult_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_kazan_display.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_01 = { + construction_time = @japanese_manor_internal_construction_time_tier_1 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_garden_01 + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_1_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 7 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_02 = { + construction_time = @japanese_manor_internal_construction_time_tier_2 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_orchard_01 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_2_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 6 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_03 = { + construction_time = @japanese_manor_internal_construction_time_tier_3 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_orchard_02 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_3_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 5 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_04 = { + construction_time = @japanese_manor_internal_construction_time_tier_4 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_orchard_03 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_4_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_05 = { + construction_time = @japanese_manor_internal_construction_time_tier_5 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_orchard_04 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_5_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} +japanese_orchard_06 = { + construction_time = @japanese_manor_internal_construction_time_tier_6 + allowed_domicile_types = { japanese_manor } + slot_type = internal + previous_building = japanese_orchard_05 + + can_construct = { + domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } + } + + cost = { + gold = { value = japanese_manor_internal_building_normal_cost_tier_6_value } + } + + character_modifier = { + domicile_monthly_gold_add = @japanese_manor_monthly_gold_add_0 + character_capital_county_monthly_development_growth_add = @japanese_manor_development_growth_factor_1 + } + + ai_value = { + value = 4 + add = japanese_manor_building_ai_modifier_value + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fruit_garden.dds" + texture = "gfx/interface/window_domiciles/estate_building_garden_japanese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_garden_japanese_mask.png" + } +} \ No newline at end of file diff --git a/N3OW/common/domiciles/buildings/_domicile_buildings.info b/N3OW/common/domiciles/buildings/_domicile_buildings.info index f3e6de4a..a44f8a30 100644 --- a/N3OW/common/domiciles/buildings/_domicile_buildings.info +++ b/N3OW/common/domiciles/buildings/_domicile_buildings.info @@ -18,6 +18,16 @@ } + ### Brief: can_construct_potential ( trigger ) + # Is the scoped owner able to consider constructing this building? + # + # Supported scopes: + # root ( Character ) + # + can_construct_potential = { + + } + ### Brief: on_start/on_cancelled/on_completed ( effect ) # Effects fired when construction begins, is cancelled or finishes. # @@ -100,6 +110,16 @@ } + ### Brief: refund ( optional scripted cost ) + # How much do you get by refunding this building? + # Note: If not entered, will use cost directly as fallback + # + # Ex: { gold = 500, prestige = 100 } + # + refund = { + + } + ### Brief: character_modifier ( modifiers ) # Modifiers applied to the Domicile owner of this building. # Ex: { county_opinion_add = 2, stress_loss_mult = 0.15 } @@ -113,6 +133,13 @@ } + ### Brief: province_modifier ( modifiers ) + # Modifiers applied to the Province this building is in. + # Ex: { stationed_camel_cavalry_damage_mult = high_maa_damage_tier_6 } + province_modifier = { + + } + ### Brief: ai_value ( script value ) # How desirable is the building for the AI. Evaluated alongside # regular buildings. diff --git a/N3OW/common/domiciles/types/00_domicile_types.txt b/N3OW/common/domiciles/types/00_domicile_types.txt index 010c0d12..f5a6ba71 100644 --- a/N3OW/common/domiciles/types/00_domicile_types.txt +++ b/N3OW/common/domiciles/types/00_domicile_types.txt @@ -143,7 +143,7 @@ is_imprisoned = no } faith = { - if = { + if = { limit = { NOT = { is_in_list = unique_faiths } add_to_temporary_list = unique_faiths @@ -183,6 +183,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -277,6 +278,21 @@ position = { 4% 18% } size = { 20% 42% } + ### EMPTY SLOT ASIAN + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN empty_slot_asset = { trigger = { @@ -319,6 +335,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -387,6 +404,20 @@ intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_02_mask.png" } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian_mask.png" + } + construction_slot_asset = { icon = "gfx/interface/icons/flat_icons/plus.dds" texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" @@ -398,6 +429,21 @@ position = { 19% 40% } size = { 20% 42% } + ### EMPTY SLOT ASIAN + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN empty_slot_asset = { trigger = { @@ -440,6 +486,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -508,6 +555,20 @@ intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_01_mask.png" } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian_mask.png" + } + construction_slot_asset = { icon = "gfx/interface/icons/flat_icons/plus.dds" texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" @@ -519,6 +580,21 @@ position = { 65% 10% } size = { 20% 42% } + ### EMPTY SLOT ASIAN + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN empty_slot_asset = { trigger = { @@ -561,6 +637,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -629,6 +706,20 @@ intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_04_mask.png" } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian_mask.png" + } + construction_slot_asset = { icon = "gfx/interface/icons/flat_icons/plus.dds" texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" @@ -640,6 +731,21 @@ position = { 49% 40% } size = { 20% 42% } + ### EMPTY SLOT ASIAN + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN empty_slot_asset = { trigger = { @@ -682,6 +788,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -750,6 +857,20 @@ intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_03_mask.png" } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_asian_mask.png" + } + construction_slot_asset = { icon = "gfx/interface/icons/flat_icons/plus.dds" texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" @@ -820,6 +941,21 @@ ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" } + ### ASIAN BACKGROUND + domicile_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_asian_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_asian_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } + ### GREEN BACKGROUND domicile_asset = { trigger = { @@ -829,6 +965,7 @@ terrain = plains terrain = forest terrain = farmlands + terrain = terraced_hills } } } @@ -893,6 +1030,11 @@ } estate = { + allowed_for_character = { + any_held_title = { + is_noble_family_title = yes + } + } rename_window = house @@ -945,6 +1087,20 @@ estate = { position = { 19.7% 5.5% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -983,6 +1139,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -999,6 +1156,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1030,6 +1200,20 @@ estate = { position = { 49.0% 2.5% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1068,6 +1252,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -1084,6 +1269,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1116,6 +1314,20 @@ estate = { position = { 28.2% 13.2% } size = { 28% 34.5% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1154,6 +1366,7 @@ estate = { OR = { terrain = hills terrain = mountains + terrain = terraced_hills } } } @@ -1169,6 +1382,19 @@ estate = { } # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1200,6 +1426,20 @@ estate = { position = { 4% 20% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1238,6 +1478,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -1254,6 +1495,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1285,6 +1539,20 @@ estate = { position = { 14% 46% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1323,6 +1591,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -1339,6 +1608,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1370,6 +1652,20 @@ estate = { position = { 64% 29% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1408,6 +1704,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -1424,6 +1721,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1455,6 +1765,20 @@ estate = { position = { 43% 52% } size = { 15% 30% } + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png" + } + empty_slot_asset = { trigger = { domicile_location = { @@ -1493,6 +1817,7 @@ estate = { OR = { terrain = mountains terrain = hills + terrain = terraced_hills } } } @@ -1509,6 +1834,19 @@ estate = { # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } construction_slot_asset = { trigger = { domicile_location.culture = { @@ -1538,6 +1876,17 @@ estate = { } # Backgrounds + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds" + ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" + } + domicile_asset = { trigger = { domicile_location = { @@ -1587,6 +1936,7 @@ estate = { OR = { terrain = hills terrain = mountains + terrain = terraced_hills } } } @@ -1602,715 +1952,6 @@ estate = { } } -patrician_estate = { - - rename_window = house - - illustration = "gfx/interface/illustrations/event_scenes/ep3_medi_estate.dds" - icon = "gfx/interface/icons/flat_icons/estate.dds" - map_pin_texture = "gfx/interface/icons/map_icons/map_icon_estate.dds" - map_pin_anchor = left - map_pin_lobby = yes - - can_move_manually = yes - move_cooldown = { days = estate_move_cooldown_value } - move_cost = { - gold = { - value = { - value = 20 - format = "BASE_VALUE_FORMAT" - desc = "BASE_VALUE" - } - if = { - limit = { - domicile ?= { has_domicile_building_or_higher = estate_main_05 } - } - add = 80 - } - else_if = { - limit = { - domicile ?= { has_domicile_building_or_higher = estate_main_04 } - } - add = 60 - } - else_if = { - limit = { - domicile ?= { has_domicile_building_or_higher = estate_main_03 } - } - add = 40 - } - else_if = { - limit = { - domicile ?= { has_domicile_building_or_higher = estate_main_02 } - } - add = 20 - } - } - } - - base_external_slots = 2 - - domicile_building_slots = { - external_slot_1 = { - position = { 19.7% 5.5% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty_02.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_02_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty_05.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_05_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - - external_slot_4 = { - position = { 49.0% 2.5% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty_05.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_05_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty_03.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_03_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty_03.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_03_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty_03.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_03_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - - main_slot = { - slot_type = main - position = { 28.2% 13.2% } - size = { 28% 34.5% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = hills - terrain = mountains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" - } - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine_mask.png" - } - } - - external_slot_2 = { - position = { 4% 20% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty_06.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_06_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty_06.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_06_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty_06.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_06_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty_06.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_06_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - - external_slot_3 = { - position = { 14% 46% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty_04.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_04_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty_04.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_04_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty_04.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_04_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty_04.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_04_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - - external_slot_5 = { - position = { 64% 29% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty_03.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_03_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty_05.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_05_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty_02.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_02_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty_02.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_02_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - - external_slot_6 = { - position = { 43% 52% } - size = { 15% 30% } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_jungle_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_drylands_empty_02.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_02_mask.png" - } - - empty_slot_asset = { - trigger = { - domicile_location = { - OR = { - terrain = mountains - terrain = hills - } - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_rough_empty_05.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_05_mask.png" - } - - empty_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_mask.png" - } - - - # Under Construction - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_mena_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" - } - construction_slot_asset = { - trigger = { - domicile_location.culture = { - has_graphical_western_culture_group_trigger = yes - } - } - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" - } - construction_slot_asset = { - icon = "gfx/interface/icons/flat_icons/plus.dds" - texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" - intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" - } - } - } - - # Backgrounds - domicile_asset = { - trigger = { - domicile_location = { - this = root.owner.top_liege.capital_province - } - } - background = "gfx/interface/window_domiciles/estate_background_urban_terrain.dds" - foreground = "gfx/interface/window_domiciles/estate_background_urban_terrain_foreground.dds" - ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_byzantine_urban" - } - - domicile_asset = { - trigger = { - domicile_location = { - OR = { - terrain = jungle - terrain = wetlands - terrain = floodplains - } - } - } - background = "gfx/interface/window_domiciles/estate_background_jungle_terrain.dds" - foreground = "gfx/interface/window_domiciles/estate_background_jungle_terrain_foreground.dds" - ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" - } - - domicile_asset = { - trigger = { - domicile_location = { - OR = { - terrain = drylands - terrain = desert - terrain = desert_mountains - terrain = oasis - terrain = steppe - } - } - } - background = "gfx/interface/window_domiciles/estate_background_dry_terrain.dds" - foreground = "gfx/interface/window_domiciles/estate_background_dry_terrain_foreground.dds" - ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" - } - - domicile_asset = { - trigger = { - domicile_location = { - OR = { - terrain = hills - terrain = mountains - } - } - } - background = "gfx/interface/window_domiciles/estate_background_rough_terrain.dds" - foreground = "gfx/interface/window_domiciles/estate_background_rough_terrain_foreground.dds" - ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" - } - - domicile_asset = { - background = "gfx/interface/window_domiciles/estate_background_green_terrain.dds" - foreground = "gfx/interface/window_domiciles/estate_background_green_terrain_foreground.dds" - ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" - } -} yurt = { rename_window = primary_title @@ -2407,7 +2048,7 @@ yurt = { texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds" intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" } - + construction_slot_asset = { icon = "gfx/interface/icons/flat_icons/plus.dds" texture = "gfx/interface/window_domiciles/under_construction_yurt.dds" @@ -2431,7 +2072,7 @@ yurt = { intersectionmask_texture = "gfx/interface/window_domiciles/under_construction_yurt_mask.png" } } - + external_slot_6 = { position = { 41% 49% } size = { 15% 30% } @@ -2456,3 +2097,325 @@ yurt = { ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" } } + +east_asian_estate = { + allowed_for_character = { + any_held_title = { + is_noble_family_title = yes + } + } + + rename_window = house + + illustration = "gfx/interface/illustrations/event_scenes/tgp_asia_estate.dds" + icon = "gfx/interface/icons/flat_icons/domicile_china.dds" + map_pin_texture = "gfx/interface/icons/map_icons/map_icon_chinese_manor.dds" + map_pin_anchor = up + map_pin_lobby = yes + + can_move_manually = yes + move_cooldown = { days = estate_move_cooldown_value } + move_cost = { + gold = { + value = { + value = 20 + format = "BASE_VALUE_FORMAT" + desc = "BASE_VALUE" + } + if = { + limit = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_05 } + } + add = 80 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } + } + add = 60 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_03 } + } + add = 40 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } + } + add = 20 + } + if = { + limit = { + domicile ?= { has_domicile_building_or_higher = east_asian_estate_drafting_room_01 } + } + multiply = 0.5 + } + } + } + + base_external_slots = 2 + + domicile_building_slots = { + external_slot_1 = { + position = { 19.7% 5.5% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + + external_slot_4 = { + position = { 49.0% 2.5% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_04_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + + main_slot = { + slot_type = main + position = { 28.2% 13.2% } + size = { 28% 34.5% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese_mask.png" + } + } + + external_slot_2 = { + position = { 4.5% 20% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_02_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + + external_slot_3 = { + position = { 13.5% 45% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_03_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + + external_slot_5 = { + position = { 64% 29% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_05_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + + external_slot_6 = { + position = { 39% 47% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_06_mask.png" + } + + # Empty slot + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png" + } + + # Under Construction + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + } + } + + # Backgrounds + domicile_asset = { + trigger = { + domicile_location = { + OR = { + this = root.owner.top_liege.capital_province + county = duchy.title_capital_county + } + } + } + background = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain.dds" + foreground = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_byzantine_urban" + } + + domicile_asset = { + background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds" + ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" + } +} diff --git a/N3OW/common/domiciles/types/10_tgp_japan_domicile_types.txt b/N3OW/common/domiciles/types/10_tgp_japan_domicile_types.txt new file mode 100644 index 00000000..1271a361 --- /dev/null +++ b/N3OW/common/domiciles/types/10_tgp_japan_domicile_types.txt @@ -0,0 +1,978 @@ +japanese_manor = { + allowed_for_character = { + any_held_title = { + is_noble_family_title = yes + } + } + + rename_window = house + + illustration = "gfx/interface/illustrations/event_scenes/tgp_asia_estate.dds" + icon = "gfx/interface/icons/flat_icons/domicile_japan.dds" + map_pin_texture = "gfx/interface/icons/map_icons/map_icon_japanese_manor.dds" + map_pin_anchor = up + map_pin_lobby = yes + + can_move_manually = yes + move_cooldown = { days = japanese_manor_move_cooldown_value } + move_cost = { + gold = { + value = { + value = 20 + format = "BASE_VALUE_FORMAT" + desc = "BASE_VALUE" + } + domicile ?= { + switch = { + trigger = has_domicile_building_or_higher + japanese_manor_main_03 = { add = 40 } + japanese_manor_main_02 = { add = 20 } + japanese_manor_main_04 = { add = 60 } + japanese_manor_main_05 = { add = 80 } + } + } + } + } + + base_external_slots = 2 + + domicile_building_slots = { + external_slot_1 = { + position = { 19.7% 5.5% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_05_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_4 = { + position = { 52.3% 3% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_04_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_03_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_03_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + main_slot = { + slot_type = main + position = { 29.7% 14.2% } + size = { 28% 34.5% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine_mask.png" + } + } + + external_slot_2 = { + position = { 4.5% 20% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_02_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_06_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_06_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_3 = { + position = { 13.5% 45% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_03_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_04_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_04_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_5 = { + position = { 64% 29% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_05_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_02_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_02_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_6 = { + position = { 39% 47% } + size = { 15% 30% } + + # Empty slot in city + empty_slot_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_06_mask.png" + } + + # Empty slot + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_05_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + } + + # Backgrounds + + domicile_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + background = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain.dds" + foreground = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_byzantine_urban" + } + + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds" + ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + background = "gfx/interface/window_domiciles/estate_background_jungle_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_jungle_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + background = "gfx/interface/window_domiciles/estate_background_dry_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_dry_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + background = "gfx/interface/window_domiciles/estate_background_rough_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_rough_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + domicile_asset = { + background = "gfx/interface/window_domiciles/estate_background_green_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_green_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } +} diff --git a/N3OW/common/domiciles/types/_domicile_types.info b/N3OW/common/domiciles/types/_domicile_types.info index 74fb11ad..fb58c44a 100644 --- a/N3OW/common/domiciles/types/_domicile_types.info +++ b/N3OW/common/domiciles/types/_domicile_types.info @@ -29,6 +29,22 @@ # Domiciles that use provisions travel to a new location, otherwise it's moved instantly provisions = no + # Is this domicile allowed to travel? + travel = no + + # Does this domicile manage the herd resource + herd = no + + # Does this domicile store a culture and faith? (default: no) + culture_and_faith = no + + # Should this domicile also move when you move your realm capital? (default: no) + move_with_realm_capital = no + + # Can you move this domicile without bespoke features? + # + can_move_manually = yes + # After moving the domicile, how many days before you can move again? # days/weeks/months/years = X move_cooldown = { days = 7 } diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index a79f1c7b..5bf22cbd 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -53,6 +53,9 @@ republic_government = { inherit_from_dynastic_government = no noble_families = yes treasury = yes + administrative = yes + replace_gold_cost_by_treasury = yes + admin_allows_holding_multiple_primary_tier_titles = yes } ai = { @@ -68,6 +71,8 @@ republic_government = { # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { government_is_special_republic + government_is_special_administrative + government_is_administrative government_is_settled government_uses_domain_limit government_uses_domicile_but_not_adventurer @@ -406,6 +411,7 @@ administrative_government = { dynasty_named_realms = no landless_playable = yes legitimacy = yes + administrative = yes use_as_base_on_landed = yes use_as_base_on_rank_up = yes inherit_from_dynastic_government = no @@ -838,6 +844,7 @@ mandala_government = { can_get_government = { has_tgp_dlc_trigger = yes + always = no OR = { liege = { has_government = mandala_government } highest_held_title_tier > tier_barony @@ -1175,6 +1182,7 @@ meritocratic_government = { # e.g. Korea, Dai Viet can_get_government = { has_tgp_dlc_trigger = yes + always = no } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). diff --git a/N3OW/common/province_terrain/00_province_terrain.txt b/N3OW/common/province_terrain/00_province_terrain.txt index 999471e2..e1781d25 100644 --- a/N3OW/common/province_terrain/00_province_terrain.txt +++ b/N3OW/common/province_terrain/00_province_terrain.txt @@ -12,9 +12,9 @@ default_coastal_sea=coastal_sea 9=hills 10=hills 11=forest -12=farmlands +12=wetlands 13=hills -14=farmlands +14=plains 15=plains 16=hills 17=plains @@ -22,38 +22,38 @@ default_coastal_sea=coastal_sea 19=plains 20=wetlands 21=wetlands -22=forest -23=forest +22=wetlands +23=wetlands 24=hills 25=forest -26=plains -27=plains -28=farmlands +26=wetlands +27=wetlands +28=plains 29=hills 30=plains 31=plains 32=plains 33=wetlands -34=forest +34=wetlands 35=hills -36=plains -37=forest -38=forest +36=wetlands +37=plains +38=plains 39=hills 40=hills -41=forest -42=forest -43=forest -44=forest -45=farmlands -46=forest +41=plains +42=plains +43=plains +44=plains +45=wetlands +46=wetlands 47=hills -48=forest -49=farmlands -50=farmlands -51=forest -52=farmlands -53=farmlands +48=plains +49=plains +50=plains +51=plains +52=wetlands +53=plains 54=forest 55=plains 56=forest @@ -746,11 +746,11 @@ default_coastal_sea=coastal_sea 805=plains 806=plains 807=plains -808=hills +808=terraced_hills 809=plains -810=hills -811=hills -812=hills +810=terraced_hills +811=terraced_hills +812=terraced_hills 813=plains 814=plains 815=plains @@ -919,7 +919,7 @@ default_coastal_sea=coastal_sea 1153=plains 1154=farmlands 1155=plains -1156=hills +1156=terraced_hills 1157=plains 1158=plains 1159=hills @@ -1068,11 +1068,8 @@ default_coastal_sea=coastal_sea 1303=desert 1304=desert 1306=taiga - 1310=hills - 1315=mountains - 1318=plains 1319=farmlands 1320=plains @@ -1102,7 +1099,6 @@ default_coastal_sea=coastal_sea 1344=plains 1345=hills 1346=desert_mountains -#1347=plains #IMPASSABLE 1348=plains 1349=desert 1350=desert @@ -1137,8 +1133,6 @@ default_coastal_sea=coastal_sea 1379=plains 1380=plains 1381=farmlands - -#1408=plains #IMPASSABLE 1413=jungle 1414=farmlands 1415=jungle @@ -1190,11 +1184,9 @@ default_coastal_sea=coastal_sea 1461=steppe 1462=taiga 1463=taiga -#1464=plains #IMPASSABLE -#1466=plains #IMPASSABLE -#1468=plains #IMPASSABLE -#1469=plains #IMPASSABLE -1470=plains +1468=jungle +1469=hills +1470=terraced_hills 1472=plains 1473=plains 1474=plains @@ -1232,9 +1224,9 @@ default_coastal_sea=coastal_sea 1507=farmlands 1508=farmlands 1509=forest -1510=tells +1510=plains 1511=plains -1512=tells +1512=plains 1513=forest 1514=plains 1515=plains @@ -1248,11 +1240,11 @@ default_coastal_sea=coastal_sea 1523=wetlands 1524=plains 1525=plains -1526=tells -1527=tells -1528=tells -1529=tells -1530=tells +1526=farmlands +1527=farmlands +1528=farmlands +1529=farmlands +1530=farmlands 1531=plains 1532=plains 1533=forest @@ -1727,7 +1719,7 @@ default_coastal_sea=coastal_sea 2002=plains 2003=hills 2004=hills -2005=farmlands +2005=plains 2006=hills 2007=mountains 2008=mountains @@ -1735,18 +1727,18 @@ default_coastal_sea=coastal_sea 2010=mountains 2011=mountains 2012=hills -2013=farmlands -2014=farmlands -2015=farmlands +2013=plains +2014=plains +2015=plains 2016=wetlands -2017=farmlands -2018=farmlands -2019=farmlands +2017=plains +2018=plains +2019=plains 2020=hills 2021=mountains 2022=mountains -2023=forest -2024=forest +2023=plains +2024=plains 2025=hills 2026=mountains 2027=mountains @@ -1779,30 +1771,30 @@ default_coastal_sea=coastal_sea 2054=plains 2055=mountains 2056=forest -2057=forest -2058=farmlands -2059=farmlands +2057=plains +2058=plains +2059=plains 2060=hills 2061=hills -2062=farmlands +2062=plains 2063=hills -2064=farmlands -2065=farmlands +2064=plains +2065=plains 2066=hills -2067=forest +2067=plains 2068=hills -2069=forest -2070=farmlands -2071=farmlands -2072=forest -2073=farmlands +2069=plains +2070=plains +2071=plains +2072=plains +2073=plains 2074=hills 2075=plains 2076=farmlands -2077=forest -2078=forest +2077=plains +2078=plains 2079=plains -2080=farmlands +2080=plains 2081=forest 2082=plains 2083=plains @@ -1851,93 +1843,93 @@ default_coastal_sea=coastal_sea 2126=plains 2127=plains 2128=plains -2129=farmlands -2130=farmlands -2131=farmlands -2132=farmlands -2133=farmlands -2134=farmlands -2135=farmlands -2136=farmlands -2137=farmlands +2129=plains +2130=plains +2131=plains +2132=plains +2133=plains +2134=plains +2135=plains +2136=plains +2137=plains 2138=forest 2139=forest 2140=forest 2141=forest -2142=farmlands -2143=farmlands -2144=farmlands -2145=farmlands -2146=farmlands -2147=farmlands -2148=farmlands -2149=farmlands -2150=farmlands -2151=farmlands -2152=farmlands -2153=farmlands -2154=farmlands -2155=farmlands -2156=farmlands -2157=farmlands -2158=farmlands +2142=forest +2143=plains +2144=plains +2145=plains +2146=plains +2147=plains +2148=plains +2149=plains +2150=plains +2151=plains +2152=plains +2153=plains +2154=plains +2155=plains +2156=plains +2157=plains +2158=plains 2159=hills 2160=hills -2161=farmlands -2162=farmlands +2161=plains +2162=plains 2163=hills -2164=farmlands +2164=plains 2165=forest -2166=farmlands -2167=farmlands +2166=plains +2167=plains 2168=plains 2169=plains 2170=plains 2171=hills -2172=farmlands +2172=plains 2173=plains 2174=plains 2175=wetlands -2176=farmlands -2177=farmlands -2178=farmlands -2179=farmlands +2176=plains +2177=plains +2178=plains +2179=forest 2180=forest -2181=farmlands -2182=farmlands -2183=farmlands -2184=farmlands -2185=farmlands +2181=plains +2182=plains +2183=plains +2184=plains +2185=plains 2186=forest 2187=forest -2188=farmlands -2189=farmlands -2190=farmlands -2191=farmlands +2188=plains +2189=plains +2190=plains +2191=plains 2192=forest 2193=hills 2194=plains -2195=plains +2195=forest 2196=forest 2197=forest 2198=forest -2199=plains -2200=plains +2199=forest +2200=forest 2201=plains 2202=hills -2203=farmlands -2204=farmlands -2205=farmlands +2203=plains +2204=plains +2205=plains 2206=hills 2207=hills -2208=farmlands +2208=plains 2209=hills 2210=mountains 2211=hills 2212=plains -2213=farmlands -2214=farmlands -2215=farmlands +2213=plains +2214=plains +2215=forest 2216=mountains 2217=mountains 2218=hills @@ -1950,67 +1942,67 @@ default_coastal_sea=coastal_sea 2225=hills 2226=plains 2227=plains -2228=farmlands -2229=farmlands -2230=farmlands -2231=farmlands -2232=farmlands +2228=plains +2229=plains +2230=plains +2231=plains +2232=plains 2233=forest 2234=hills -2235=farmlands -2236=farmlands +2235=plains +2236=forest 2237=forest 2238=forest 2239=forest 2240=hills -2241=farmlands -2242=farmlands -2243=farmlands +2241=plains +2242=plains +2243=plains 2244=farmlands -2245=farmlands +2245=plains 2246=hills -2247=farmlands -2248=farmlands -2249=farmlands -2250=farmlands -2251=farmlands -2252=farmlands -2253=farmlands +2247=forest +2248=forest +2249=plains +2250=plains +2251=plains +2252=plains +2253=plains 2254=hills 2255=hills 2256=hills 2257=hills -2258=farmlands -2259=farmlands -2260=farmlands -2261=farmlands +2258=plains +2259=plains +2260=plains +2261=plains 2262=plains -2263=farmlands +2263=plains 2264=plains 2265=plains 2266=plains -2267=farmlands -2268=farmlands -2269=farmlands +2267=plains +2268=plains +2269=plains 2270=plains 2271=plains 2272=plains -2273=farmlands -2274=farmlands +2273=plains +2274=plains 2275=forest -2276=farmlands +2276=plains 2277=forest -2278=farmlands -2279=farmlands -2280=farmlands +2278=plains +2279=plains +2280=plains 2281=plains 2282=forest -2283=farmlands -2284=farmlands -2285=farmlands +2283=plains +2284=plains +2285=forest 2286=hills 2287=hills -2288=plains +2288=forest 2289=hills 2290=hills 2291=forest @@ -2024,26 +2016,26 @@ default_coastal_sea=coastal_sea 2299=plains 2300=forest 2301=hills -2302=farmlands +2302=plains 2303=forest 2304=plains -2305=farmlands -2306=farmlands -2307=farmlands -2308=plains -2309=plains +2305=plains +2306=plains +2307=plains +2308=forest +2309=forest 2310=forest 2311=plains -2312=farmlands -2313=farmlands -2314=farmlands +2312=plains +2313=plains +2314=plains 2315=forest 2316=forest 2317=forest 2318=forest 2319=forest -2320=farmlands -2321=farmlands +2320=plains +2321=plains 2322=farmlands 2323=plains 2324=plains @@ -2055,62 +2047,62 @@ default_coastal_sea=coastal_sea 2330=plains 2331=plains 2332=plains -2333=tells -2334=tells -2335=tells +2333=farmlands +2334=farmlands +2335=farmlands 2336=farmlands -2337=farmlands +2337=plains 2338=farmlands -2339=farmlands -2340=farmlands -2341=forest -2342=forest -2343=farmlands -2344=farmlands -2345=forest -2346=forest +2339=plains +2340=plains +2341=plains +2342=plains +2343=plains +2344=plains +2345=plains +2346=plains 2347=plains -2348=farmlands +2348=plains 2349=hills -2350=forest -2351=farmlands -2352=forest -2353=farmlands -2354=farmlands -2355=farmlands -2356=tells -2357=tells -2358=farmlands -2359=farmlands +2350=plains +2351=plains +2352=plains +2353=plains +2354=plains +2355=plains +2356=farmlands +2357=farmlands +2358=plains +2359=plains 2360=plains 2361=plains 2362=plains -2363=farmlands -2364=farmlands -2365=farmlands +2363=plains +2364=plains +2365=plains 2366=plains -2367=forest -2368=farmlands -2369=farmlands -2370=farmlands -2371=farmlands +2367=plains +2368=plains +2369=plains +2370=plains +2371=plains 2372=forest 2373=plains 2374=plains 2375=forest 2376=plains -2377=farmlands +2377=plains 2378=hills 2379=hills 2380=farmlands -2381=forest +2381=plains 2382=plains 2383=plains 2384=plains 2385=plains 2386=plains -2387=forest -2388=forest +2387=plains +2388=plains 2389=plains 2390=plains 2391=plains @@ -2179,14 +2171,14 @@ default_coastal_sea=coastal_sea 2454=plains 2455=mountains 2456=mountains -2457=forest -2458=farmlands +2457=plains +2458=plains 2459=plains 2460=hills 2461=mountains -2462=farmlands -2463=farmlands -2464=farmlands +2462=plains +2463=plains +2464=plains 2465=hills 2466=hills 2467=hills @@ -2428,23 +2420,23 @@ default_coastal_sea=coastal_sea 2703=plains 2704=plains 2705=plains -2706=farmlands +2706=plains 2707=plains -2708=farmlands +2708=plains 2709=plains -2710=forest -2711=farmlands -2712=forest -2713=forest +2710=plains +2711=plains +2712=plains +2713=plains 2714=mountains 2715=forest 2716=plains -2717=farmlands +2717=plains 2718=plains -2719=farmlands -2720=farmlands -2721=farmlands -2722=farmlands +2719=plains +2720=plains +2721=plains +2722=plains 2723=forest 2724=plains 2725=plains @@ -2944,15 +2936,14 @@ default_coastal_sea=coastal_sea 3219=forest 3220=forest 3221=mountains +3222=terraced_hills 3223=plains 3224=plains 3225=plains 3226=plains 3227=plains 3228=plains - 3258=hills - 3266=jungle 3267=jungle 3268=jungle @@ -2976,11 +2967,9 @@ default_coastal_sea=coastal_sea 3286=jungle 3287=jungle 3288=mountains - 3315=hills 3317=jungle 3318=hills - 3320=jungle 3321=jungle 3322=jungle @@ -2989,18 +2978,15 @@ default_coastal_sea=coastal_sea 3325=plains 3326=plains 3327=jungle - +3329=forest 3330=farmlands 3331=farmlands 3332=farmlands 3333=plains 3334=farmlands -3329=forest - 3338=hills 3339=hills 3340=hills - 3342=desert_mountains 3343=desert_mountains 3344=plains @@ -3089,8 +3075,6 @@ default_coastal_sea=coastal_sea 3427=farmlands 3428=drylands 3429=plains - - 3430=forest 3433=mountains 3434=mountains @@ -3104,7 +3088,6 @@ default_coastal_sea=coastal_sea 3446=mountains 3447=farmlands 3448=farmlands - 3452=plains 3453=jungle 3454=jungle @@ -3615,7 +3598,7 @@ default_coastal_sea=coastal_sea 3982=plains 3983=jungle 3984=jungle -3985=hills +3985=terraced_hills 3986=hills 3987=hills 3988=plains @@ -3689,7 +3672,6 @@ default_coastal_sea=coastal_sea 4056=desert 4057=desert 4058=desert -#4059=desert Wasteland 4060=desert 4061=desert 4062=drylands #dry_hills @@ -3885,7 +3867,6 @@ default_coastal_sea=coastal_sea 4252=drylands #dry_hills 4253=drylands #dry_hills 4254=drylands - 4256=drylands 4257=drylands 4258=desert_mountains @@ -3911,7 +3892,6 @@ default_coastal_sea=coastal_sea 4278=desert_mountains 4279=desert_mountains 4280=desert_mountains - 4283=desert 4284=desert 4285=desert @@ -4047,7 +4027,6 @@ default_coastal_sea=coastal_sea 4415=desert 4416=drylands 4417=drylands - 4420=hills 4421=plains 4422=mountains @@ -4162,7 +4141,6 @@ default_coastal_sea=coastal_sea 4531=desert 4532=desert 4533=desert - 4536=drylands 4537=drylands 4538=desert_mountains @@ -4177,7 +4155,6 @@ default_coastal_sea=coastal_sea 4547=drylands 4548=desert_mountains 4549=drylands - 4550=desert 4551=desert 4552=desert @@ -4402,7 +4379,6 @@ default_coastal_sea=coastal_sea 4771=desert_mountains 4772=desert_mountains 4773=desert_mountains - 4774=desert_mountains 4775=desert_mountains 4776=desert_mountains @@ -4527,9 +4503,7 @@ default_coastal_sea=coastal_sea 4895=mountains 4896=plains 4897=plains -#4898=plains Wasteland 4899=mountains - 4900=farmlands 4901=plains 4902=forest @@ -4575,8 +4549,8 @@ default_coastal_sea=coastal_sea 4962=hills 4963=hills 4964=hills -4968=hills 4967=forest +4968=hills 4969=mountains 4971=hills 4972=hills @@ -4785,7 +4759,6 @@ default_coastal_sea=coastal_sea 5175=taiga 5176=taiga 5177=taiga -#Russia (Chernigov & Golden Ring) 5178=plains 5179=plains 5180=plains @@ -4955,7 +4928,6 @@ default_coastal_sea=coastal_sea 5347=steppe 5348=steppe 5349=steppe -#Volga_Bulgaria 5350=forest 5351=taiga 5352=forest @@ -5133,7 +5105,6 @@ default_coastal_sea=coastal_sea 5526=hills 5527=hills 5528=hills -#Anatolia 5529=hills 5530=hills 5531=plains @@ -5294,7 +5265,6 @@ default_coastal_sea=coastal_sea 5686=mountains 5687=mountains 5688=mountains -#Armenia & Georgia 5689=forest 5690=forest 5691=forest @@ -5400,7 +5370,6 @@ default_coastal_sea=coastal_sea 5792=plains 5793=plains 5794=hills -#Bjarmaland & Vologda 5798=taiga 5799=taiga 5800=taiga @@ -5455,10 +5424,6 @@ default_coastal_sea=coastal_sea 5849=taiga 5850=taiga 5851=taiga -#5852=wasteland -#5853=wasteland -#5854=lakes - 5865=taiga 5866=taiga 5867=taiga @@ -5534,7 +5499,6 @@ default_coastal_sea=coastal_sea 5937=drylands 5938=drylands 5939=drylands - 5940=drylands 5941=drylands 5942=drylands @@ -5561,7 +5525,6 @@ default_coastal_sea=coastal_sea 5963=drylands 5964=drylands 5965=drylands - 5966=drylands 5967=drylands 5968=drylands @@ -5612,11 +5575,6 @@ default_coastal_sea=coastal_sea 6013=drylands 6014=drylands 6015=drylands -6016=drylands -6017=drylands -6018=drylands -6019=drylands - 6016=floodplains 6017=floodplains 6019=floodplains @@ -5626,7 +5584,6 @@ default_coastal_sea=coastal_sea 6023=drylands 6024=desert 6025=desert - 6030=desert_mountains 6031=desert_mountains 6032=desert_mountains @@ -5718,9 +5675,6 @@ default_coastal_sea=coastal_sea 6120=desert_mountains 6121=desert_mountains 6122=desert_mountains - -#6127=plains Tigris -#6128=plains Tigris 6129=desert 6130=desert 6131=drylands @@ -5746,7 +5700,7 @@ default_coastal_sea=coastal_sea 6151=desert 6152=desert 6153=desert -6154=desert +6154=oasis 6155=desert 6156=drylands 6157=desert @@ -5794,7 +5748,6 @@ default_coastal_sea=coastal_sea 6199=desert_mountains 6200=desert_mountains 6201=desert_mountains -#6202=desert Wasteland 6203=desert 6204=desert 6205=desert @@ -5869,7 +5822,6 @@ default_coastal_sea=coastal_sea 6274=desert_mountains 6275=desert_mountains 6276=desert_mountains -#6277=desert_mountains #Wasteland 6278=desert_mountains 6279=desert 6280=desert @@ -5905,16 +5857,13 @@ default_coastal_sea=coastal_sea 6310=desert_mountains 6311=desert_mountains 6312=desert_mountains - 6313=desert 6314=desert_mountains 6315=desert_mountains 6316=desert 6317=desert - 6321=desert 6322=desert - 6329=floodplains 6330=floodplains 6331=floodplains @@ -6002,17 +5951,6 @@ default_coastal_sea=coastal_sea 6413=drylands 6414=desert_mountains 6415=desert -#6416=wasteland -#6417=wasteland -#6418=wasteland -#6419=wasteland -#6420=wasteland -#6421=wasteland -#6422=wasteland -#6423=wasteland/desert_mountains -#6424=wasteland -#6425=wasteland -#6426=wasteland 6427=desert_mountains 6428=desert 6429=drylands @@ -6169,31 +6107,10 @@ default_coastal_sea=coastal_sea 6580=desert 6581=desert 6582=drylands -#6583=desert #wasteland -#6584=desert #wasteland -#6585=desert #wasteland -#6586=desert #wasteland -#6587=desert #wasteland -#6588=desert #wasteland -#6589=desert #wasteland 6590=desert #Traversable wasteland 6591=desert #Traversable wasteland -#6592=desert #wasteland -#6593=desert #wasteland -#6594=desert #wasteland -#6595=desert #wasteland -#6596=desert #wasteland -#6597=desert #wasteland -#6598=desert #wasteland -#6599=desert #wasteland -#6600=desert #wasteland 6601=desert #Traversable wasteland 6602=desert #Traversable wasteland -#6603=desert #wasteland -#6604=desert #wasteland -#6605=desert #wasteland -#6606=desert #wasteland -#6607=desert #wasteland 6608=drylands 6609=desert 6610=desert @@ -6374,11 +6291,6 @@ default_coastal_sea=coastal_sea 6785=desert 6786=floodplains 6787=floodplains -#6788=desert #wasteland -#6789=wetlands #wasteland -#6790=mountains #wasteland -#6791-6796 is Niger river - 6797=desert 6798=desert 6799=drylands @@ -6483,11 +6395,6 @@ default_coastal_sea=coastal_sea 6898=hills 6899=hills 6900=hills -6901=hills -#6902=desert_mountains #wasteland -#6903=desert_mountains #wasteland -#6904=desert #wasteland -6900=hills 6901=forest 6902=hills 6903=hills @@ -6585,8 +6492,6 @@ default_coastal_sea=coastal_sea 6995=hills 6996=hills 6997=hills -#6998=mountains #wasteland -#6999=mountains #wasteland 7000=taiga 7001=taiga 7002=taiga @@ -6795,7 +6700,6 @@ default_coastal_sea=coastal_sea 7205=desert 7206=desert 7207=mountains - 7216=mountains 7217=mountains 7218=steppe @@ -6932,9 +6836,6 @@ default_coastal_sea=coastal_sea 7349=mountains 7350=mountains 7351=mountains -#7352=desert #wasteland -#7353=desert #wasteland -#7354=desert #wasteland 7355=steppe 7356=steppe 7357=steppe @@ -7032,9 +6933,6 @@ default_coastal_sea=coastal_sea 7449=taiga 7450=taiga 7451=hills -#7452=wetlands #wasteland -#7453=wetlands #wasteland -#7454=steppe #wasteland 7455=hills 7456=drylands 7457=drylands @@ -7092,8 +6990,6 @@ default_coastal_sea=coastal_sea 7509=hills 7510=desert 7511=oasis -#7512=desert #wasteland -#7513=#lakes 7514=mountains 7515=mountains 7516=mountains @@ -7367,7 +7263,6 @@ default_coastal_sea=coastal_sea 7784=mountains #wasteland 7785=mountains #wasteland 7786=mountains #wasteland - 7788=jungle 7789=jungle 7790=jungle @@ -7376,7 +7271,6 @@ default_coastal_sea=coastal_sea 7793=jungle 7794=jungle 7795=jungle -#7796=mountains #Impassable Ghats 7797=jungle 7798=jungle 7799=jungle @@ -7406,19 +7300,15 @@ default_coastal_sea=coastal_sea 7823=hills 7824=plains 7825=hills -#7826=plains 7827=plains 7828=hills 7829=hills 7830=plains -#7831=plains -#7832=plains 7833=mountains 7834=hills 7835=plains 7836=plains 7837=plains -#7838=plains 7839=forest 7840=hills 7841=forest @@ -7427,9 +7317,9 @@ default_coastal_sea=coastal_sea 7844=forest 7845=forest 7846=plains -7847=hills +7847=terraced_hills 7848=hills -7849=hills +7849=terraced_hills 7850=jungle 7851=jungle 7852=jungle @@ -7454,9 +7344,6 @@ default_coastal_sea=coastal_sea 7871=drylands 7872=jungle 7873=jungle -#7874=plains -#7875=plains -#7876=plains 7877=farmlands 7878=hills 7879=jungle @@ -7503,7 +7390,6 @@ default_coastal_sea=coastal_sea 7921=jungle 7922=jungle 7923=jungle -#7924=plains 7925=plains 7926=jungle 7927=jungle @@ -7515,14 +7401,6 @@ default_coastal_sea=coastal_sea 7933=jungle 7934=jungle 7935=jungle -#7936=mountains #Impassable ghats -#7937=mountains #Impassable ghats -#7938=mountains #Impassable ghats -#7939=mountains #Impassable ghats -#7940=mountains #Impassable ghats -#7941=mountains #Impassable ghats -#7942=mountains #Impassable ghats -#7943=mountains #Impassable ghats 7944=mountains 7945=mountains 7946=mountains @@ -7668,17 +7546,6 @@ default_coastal_sea=coastal_sea 8086=jungle 8087=wetlands 8088=wetlands -#8089=wetlands #wasteland -#8090=mountains #wasteland -#8091=mountains #wasteland -#8092=mountains #Niger river -#8093=mountains #Niger river -#8094=mountains #Niger river -#8095=mountains #Niger river -#8096=mountains #Niger river -#8097=mountains #wasteland -#8098=mountains #wasteland -#8099=mountains #wasteland 8100=drylands 8101=drylands 8102=drylands @@ -8019,16 +7886,6 @@ default_coastal_sea=coastal_sea 8437=hills 8438=hills 8439=drylands -#8440= -#8441= -#8442= -#8443= -#8444= -#8445= -#8446= -#8447= -#8448= -#8449= 8450=hills #dry_hills 8451=hills #dry_hills 8452=drylands @@ -8098,13 +7955,13 @@ default_coastal_sea=coastal_sea 8516=drylands 8517=drylands 8518=drylands - +8543=desert 8712=plains 8713=hills 8714=hills 8715=hills 8716=hills -8717=farmlands +8717=plains 8718=mountains 8719=mountains 8720=mountains @@ -8123,9 +7980,258 @@ default_coastal_sea=coastal_sea 8733=taiga 8734=taiga 8735=plains - 8739=taiga - +8741=plains #Bangor +8742=plains #Clogher +8743=wetlands #Dungannon +8744=wetlands #Adragh +8745=wetlands #Cruachu +8746=wetlands #Tuam +8747=wetlands #Da Chainoc +8748=wetlands #Killala +8749=wetlands #Kincora +8750=wetlands #Kilmallock +8751=plains #Tropea +8752=hills #Belvedere +8753=hills #Catanzaro +8754=hills #Policastro +8755=plains #Lecce +8756=farmlands #Aversa +8757=plains #Ariano +8758=forest #Vieste +8759=forest #Agnone +8760=wetlands #Asciano +8761=mountains #Tirano +8762=plains #Chiari +8763=hills #Mondovi +8764=plains #Ivrea_ITA +8765=plains #Este +8766=plains #Portogruaro +8767=wetlands #Malamacco +8768=taiga #Ski +8769=hills #Stange +8770=plains #Uddevalla +8771=taiga #Olafsvik +8772=mountains #Hofn +8773=hills #Vopnafjordur +8774=mountains #Klaustur +8775=hills #Urquhart +8776=hills #Glenelg +8777=hills #Tain +8778=hills #Applecross +8779=taiga #Assynt +8780=hills #Wigton +8781=taiga #Ume +8782=taiga #Dalvvadis +8783=taiga #Ylikainuu +8784=taiga #Kangos +8785=taiga #Roavvenjarga +8786=taiga #Kuusama +8787=taiga #Kaddlhutt +8788=taiga #Suenekele +8789=taiga #Skolt +8790=taiga #Peliza +8791=taiga #Varsiga +8792=taiga #Cascarena +8793=hills +8794=mountains +8795=hills +8796=hills +8797=mountains +8798=mountains +8799=mountains +8800=mountains +8801=mountains +8802=terraced_hills +8803=mountains +8804=terraced_hills +8805=terraced_hills +8806=terraced_hills +8807=hills +8808=hills +8809=hills +8810=forest +8811=mountains +8812=hills +8813=hills +8814=hills +8815=mountains +8816=mountains +8817=hills +8818=mountains +8819=terraced_hills +8820=hills +8821=hills +8822=hills +8823=hills +8824=terraced_hills +8825=hills +8826=hills +8827=hills +8828=floodplains +8829=floodplains +8830=hills +8831=hills +8832=terraced_hills +8833=mountains +8834=mountains +8835=hills +8836=terraced_hills +8837=terraced_hills +8838=forest +8839=terraced_hills +8841=floodplains +8842=mountains +8843=terraced_hills +8844=mountains +8845=hills +8846=floodplains +8847=floodplains +8848=hills +8849=hills +8850=hills +8851=hills +8852=hills +8853=hills +8854=plains +8855=plains +8856=hills +8857=hills +8858=hills +8859=plains +8860=hills +8861=plains +8862=plains +8863=hills +8864=hills +8865=wetlands +8866=plains +8867=plains +8868=hills +8869=wetlands +8870=plains +8871=wetlands +8872=wetlands +8873=wetlands +8874=plains +8875=wetlands +8876=wetlands +8877=plains +8878=plains +8879=plains +8880=plains +8881=plains +8882=plains +8883=plains +8884=plains +8885=plains +8886=plains +8887=farmlands +8888=plains +8889=plains +8890=farmlands +8891=wetlands +8892=floodplains +8893=terraced_hills +8894=hills +8895=forest +8896=jungle +8897=jungle +8898=mountains +8899=forest +8900=jungle +8901=forest +8902=forest +8903=forest +8904=hills +8905=hills +8906=hills +8907=wetlands +8908=jungle +8909=jungle +8910=terraced_hills +8911=plains +8912=plains +8913=plains +8914=hills +8915=hills +8916=jungle +8917=terraced_hills +8918=jungle +8919=terraced_hills +8920=jungle +8921=jungle +8922=terraced_hills +8923=floodplains +8924=jungle +8925=jungle +8926=hills +8927=mountains +8928=terraced_hills +8929=terraced_hills +8930=terraced_hills +8931=wetlands +8932=floodplains +8933=floodplains +8934=forest +8935=plains +8936=plains +8937=plains +8938=plains +8939=plains +8940=forest +8941=forest +8942=forest +8943=wetlands +8944=forest +8945=hills +8946=wetlands +8947=wetlands +8948=wetlands +8949=wetlands +8950=wetlands +8951=wetlands +8952=plains +8953=hills +8954=mountains +8955=forest +8956=forest +8957=hills +8958=forest +8959=mountains +8960=hills +8961=hills +8962=hills +8963=hills +8964=hills +8965=hills +8966=hills +8967=terraced_hills +8968=forest +8969=hills +8970=forest +8971=hills +8972=hills +8973=forest +8974=mountains +8975=forest +8976=mountains +8977=mountains +8978=floodplains +8979=forest +8980=forest +8981=forest +8982=hills +8983=hills +8984=hills +8985=hills +8986=floodplains +8987=floodplains +8988=hills +8989=floodplains +8990=floodplains +8991=hills +8992=plains 8993=drylands 8994=drylands 8995=drylands @@ -8133,8 +8239,6 @@ default_coastal_sea=coastal_sea 8997=desert 8998=desert 8999=plains -#9000=mountains Lake -#9001=mountains Lake 9002=mountains 9003=mountains 9004=mountains @@ -8240,9 +8344,9 @@ default_coastal_sea=coastal_sea 9104=mountains 9105=mountains 9106=mountains -9107=hills -9108=hills -9109=hills +9107=terraced_hills +9108=terraced_hills +9109=terraced_hills 9110=mountains 9111=mountains 9112=mountains @@ -8272,7 +8376,7 @@ default_coastal_sea=coastal_sea 9136=mountains 9137=mountains 9138=mountains -9139=hills +9139=terraced_hills 9140=mountains 9141=mountains 9142=jungle @@ -8281,7 +8385,7 @@ default_coastal_sea=coastal_sea 9145=mountains 9146=mountains 9147=mountains -9148=hills +9148=terraced_hills 9149=mountains 9150=mountains 9151=mountains @@ -8297,8 +8401,8 @@ default_coastal_sea=coastal_sea 9161=mountains 9162=mountains 9163=hills -9164=hills -9165=hills +9164=terraced_hills +9165=terraced_hills 9166=hills 9167=mountains 9168=mountains @@ -8460,9 +8564,9 @@ default_coastal_sea=coastal_sea 9324=hills 9325=hills 9326=hills -9327=mountains +9327=terraced_hills 9328=mountains -9329=mountains +9329=forest 9330=mountains 9331=mountains 9332=mountains @@ -8549,11 +8653,11 @@ default_coastal_sea=coastal_sea 9413=mountains 9414=hills 9415=mountains -9416=mountains -9417=hills -9418=hills -9419=hills -9420=hills +9416=drylands +9417=drylands +9418=drylands +9419=drylands +9420=mountains 9421=hills 9422=hills 9423=hills @@ -8570,10 +8674,10 @@ default_coastal_sea=coastal_sea 9434=hills 9435=plains 9436=plains -9437=hills -9438=hills -9439=hills -9440=hills +9437=mountains +9438=mountains +9439=mountains +9440=mountains 9441=mountains 9442=mountains 9443=mountains @@ -8584,16 +8688,16 @@ default_coastal_sea=coastal_sea 9448=hills 9449=hills 9450=mountains -9451=hills +9451=mountains 9452=mountains -9453=plains +9453=mountains 9454=mountains -9455=hills -9456=hills -9457=hills -9458=mountains -9459=mountains -9460=mountains +9455=mountains +9456=mountains +9457=mountains +9458=forest +9459=hills +9460=forest 9461=mountains 9462=mountains 9463=mountains @@ -8656,31 +8760,31 @@ default_coastal_sea=coastal_sea 9520=desert 9521=plains 9522=hills -9523=hills -9524=hills -9525=drylands -9526=hills -9527=hills -9528=hills +9523=mountains +9524=mountains +9525=terraced_hills +9526=drylands +9527=drylands +9528=drylands 9529=drylands -9530=hills -9531=hills +9530=drylands +9531=drylands 9532=drylands -9533=desert +9533=drylands 9534=drylands -9535=desert -9536=desert -9537=drylands -9538=drylands +9535=drylands +9536=forest +9537=oasis +9538=oasis 9539=drylands -9540=desert +9540=drylands 9541=desert 9542=drylands -9543=drylands -9544=drylands -9545=drylands -9546=drylands -9547=drylands +9543=hills +9544=forest +9545=hills +9546=hills +9547=plains 9548=desert 9549=desert 9550=farmlands @@ -8699,8 +8803,6 @@ default_coastal_sea=coastal_sea 9563=plains 9564=mountains 9565=jungle -#9566=mountains #IMPASSABLE -#9567=mountains #IMPASSABLE 9568=plains 9569=plains 9570=hills @@ -8709,7 +8811,7 @@ default_coastal_sea=coastal_sea 9573=plains 9574=plains 9575=plains -9576=floodplains +9576=wetlands 9577=plains 9578=plains 9579=jungle @@ -8726,11 +8828,11 @@ default_coastal_sea=coastal_sea 9590=hills 9591=jungle 9592=jungle -9593=hills +9593=wetlands 9594=hills 9595=jungle 9596=plains -9597=plains +9597=wetlands 9598=plains 9599=jungle 9600=desert @@ -8754,7 +8856,6 @@ default_coastal_sea=coastal_sea 9618=desert 9619=desert 9620=desert -#9621=desert #IMPASSABLE GOBI 9622=jungle 9623=jungle 9624=hills @@ -8770,8 +8871,8 @@ default_coastal_sea=coastal_sea 9634=plains 9635=jungle 9636=jungle -9637=plains -9638=jungle +9637=wetlands +9638=wetlands 9639=plains 9640=plains 9641=plains @@ -8791,84 +8892,3072 @@ default_coastal_sea=coastal_sea 9657=jungle 9658=hills 9659=hills -8741=farmlands #Bangor -8742=plains #Clogher -8743=plains #Dungannon -8744=wetlands #Adragh -8745=wetlands #Cruachu -8746=wetlands #Tuam -8747=wetlands #Da Chainoc -8748=wetlands #Killala -8749=forest #Kincora -8750=plains #Kilmallock -8751=plains #Tropea -8752=hills #Belvedere -8753=hills #Catanzaro -8754=hills #Policastro -8755=plains #Lecce -8756=farmlands #Aversa -8757=plains #Ariano -8758=forest #Vieste -8759=forest #Agnone -8760=wetlands #Asciano -8761=mountains #Tirano -8762=plains #Chiari -8763=hills #Mondovi -8764=plains #Ivrea_ITA -8765=plains #Este -8766=plains #Portogruaro -8767=wetlands #Malamacco -8768=taiga #Ski -8769=hills #Stange -8770=plains #Uddevalla -8771=taiga #Olafsvik -8772=mountains #Hofn -8773=hills #Vopnafjordur -8774=mountains #Klaustur -8775=hills #Urquhart -8776=hills #Glenelg -8777=hills #Tain -8778=hills #Applecross -8779=taiga #Assynt -8780=hills #Wigton -8781=taiga #Ume -8782=taiga #Dalvvadis -8783=taiga #Ylikainuu -8784=taiga #Kangos -8785=taiga #Roavvenjarga -8786=taiga #Kuusama -8787=taiga #Kaddlhutt -8788=taiga #Suenekele -8789=taiga #Skolt -8790=taiga #Peliza -8791=taiga #Varsiga -8792=taiga #Cascarena -8793=hills -8794=mountains -8795=hills -8796=hills -8797=mountains -8798=mountains -8799=mountains -8800=mountains -8801=mountains 9661=mountains -9671=forest -9675=hills -9678=forest -9679=farmlands -9681=forest +9664=mountains +9665=desert +9667=steppe +9668=steppe +9669=forest +9670=steppe +9671=mountains +9672=mountains +9673=plains +9674=mountains +9675=forest +9676=jungle +9679=forest +9681=wetlands 9682=forest -9683=farmlands -9685=farmlands -9686=farmlands -9687=plains -9688=plains -9689=plains -9690=plains -9691=plains -9692=farmlands -9693=plains -9734=tells -9740=farmlands -9741=farmlands \ No newline at end of file +9683=forest +9684=hills +9685=floodplains +9686=plains +9687=forest +9688=plains +9689=wetlands +9690=wetlands +9691=plains +9692=plains +9693=forest +9694=wetlands +9695=hills +9696=wetlands +9697=plains +9698=plains +9699=plains +9700=farmlands +9701=plains +9702=farmlands +9703=plains +9704=plains +9705=farmlands +9706=plains +9707=wetlands +9708=plains +9709=plains +9710=plains +9711=plains +9712=plains +9713=mountains +9714=hills +9715=hills +9716=hills +9717=hills +9718=hills +9719=farmlands +9720=farmlands +9721=hills +9722=farmlands +9723=terraced_hills +9724=forest +9725=forest +9726=farmlands +9727=farmlands +9728=plains +9729=plains +9730=plains +9731=plains +9732=farmlands +9733=plains +9734=farmlands +9735=farmlands +9736=plains +9737=plains +9738=plains +9739=plains +9740=plains +9741=plains +9742=plains +9743=forest +9744=plains +9745=forest +9746=plains +9747=forest +9748=mountains +9749=mountains +9750=forest +9751=mountains +9752=hills +9753=mountains +9754=hills +9755=hills +9756=forest +9757=jungle +9758=hills +9759=hills +9760=hills +9761=mountains +9762=jungle +9763=mountains +9764=hills +9765=farmlands +9766=mountains +9767=mountains +9768=hills +9769=hills +9770=forest +9771=mountains +9772=hills +9773=forest +9774=hills +9775=mountains +9776=hills +9777=forest +9778=hills +9779=forest +9780=farmlands +9781=jungle +9782=farmlands +9783=jungle +9784=jungle +9785=jungle +9786=farmlands +9787=hills +9788=farmlands +9789=farmlands +9790=plains +9791=forest +9792=forest +9793=forest +9794=hills +9795=plains +9796=forest +9797=plains +9798=plains +9799=mountains +9800=plains +9801=plains +9802=plains +9803=plains +9804=plains +9805=plains +9806=plains +9807=plains +9808=plains +9809=plains +9810=plains +9811=plains +9812=farmlands +9813=plains +9814=plains +9815=jungle +9816=jungle +9817=jungle +9818=plains +9819=farmlands +9820=farmlands +9821=farmlands +9822=farmlands +9823=farmlands +9824=farmlands +9825=farmlands +9826=mountains +9827=mountains +9828=hills +9829=hills +9830=hills +9831=mountains +9832=mountains +9833=forest +9834=hills +9835=hills +9836=hills +9837=jungle +9838=hills +9839=jungle +9840=jungle +9841=mountains +9842=jungle +9843=hills +9844=hills +9845=hills +9846=jungle +9847=jungle +9848=jungle +9849=mountains +9850=forest +9851=forest +9852=forest +9853=jungle +9854=jungle +9855=jungle +9856=forest +9858=forest +9859=forest +9860=forest +9861=forest +9862=forest +9863=forest +9864=forest +9865=mountains +9866=hills +9867=mountains +9868=plains +9869=forest +9870=mountains +9871=mountains +9872=mountains +9873=mountains +9874=mountains +9875=mountains +9876=hills +9877=hills +9878=hills +9879=hills +9880=mountains +9881=mountains +9882=mountains +9883=mountains +9884=mountains +9885=hills +9886=mountains +9887=mountains +9888=hills +9889=hills +9890=plains +9891=forest +9892=plains +9893=plains +9894=hills +9895=plains +9896=hills +9897=farmlands +9898=farmlands +9899=farmlands +9900=farmlands +9901=mountains +9902=mountains +9903=mountains +9904=mountains +9905=farmlands +9906=farmlands +9907=farmlands +9908=hills +9909=hills +9910=hills +9911=mountains +9912=plains +9913=plains +9914=hills +9915=hills +9916=hills +9917=plains +9918=plains +9919=plains +9920=plains +9921=plains +9922=hills +9923=hills +9924=hills +9925=plains +9926=mountains +9927=hills +9928=hills +9929=hills +9930=mountains +9931=mountains +9932=mountains +9933=hills +9934=hills +9935=mountains +9936=plains +9937=plains +9938=plains +9939=hills +9940=plains +9941=hills +9942=plains +9943=plains +9944=hills +9945=wetlands +9946=plains +9947=hills +9948=hills +9949=hills +9950=plains +9951=hills +9952=farmlands +9953=farmlands +9954=forest +9955=plains +9956=plains +9957=hills +9958=mountains +9959=mountains +9960=mountains +9961=mountains +9962=hills +9963=forest +9964=forest +9965=forest +9966=hills +9967=hills +9970=forest +9971=mountains +9972=mountains +9973=forest +9974=forest +9975=forest +9976=hills +9977=mountains +9978=mountains +9979=forest +9980=forest +9981=forest +9982=forest +9983=mountains +9984=hills +9985=hills +9986=hills +9987=mountains +9988=mountains +9989=forest +9990=mountains +9991=hills +9992=mountains +9993=hills +9994=forest +9995=forest +9996=hills +9997=forest +9998=mountains +9999=forest +10000=hills +10001=hills +10002=mountains +10003=mountains +10004=mountains +10005=mountains +10006=hills +10007=hills +10008=hills +10009=hills +10010=hills +10011=hills +10012=mountains +10013=mountains +10014=mountains +10015=hills +10016=hills +10017=forest +10018=forest +10019=hills +10020=hills +10021=hills +10022=floodplains +10023=forest +10024=floodplains +10025=forest +10026=mountains +10027=floodplains +10028=floodplains +10029=floodplains +10030=forest +10031=forest +10032=forest +10033=forest +10034=hills +10035=hills +10036=hills +10037=plains +10038=plains +10039=plains +10040=plains +10041=plains +10042=forest +10043=hills +10044=hills +10045=hills +10046=plains +10047=plains +10048=hills +10049=mountains +10050=forest +10051=hills +10052=mountains +10053=hills +10054=hills +10055=hills +10056=mountains +10057=mountains +10058=mountains +10059=drylands +10060=hills +10061=hills +10062=drylands +10063=mountains +10064=mountains +10065=mountains +10066=drylands +10067=hills +10068=mountains +10069=hills +10070=mountains +10071=drylands +10072=drylands +10073=plains +10074=mountains +10075=hills +10076=hills +10077=hills +10078=mountains +10079=mountains +10080=hills +10081=drylands +10082=plains +10083=plains +10084=plains +10085=plains +10086=plains +10087=plains +10088=drylands +10089=oasis +10090=oasis +10091=drylands +10092=drylands +10093=drylands +10094=drylands +10095=drylands +10096=drylands +10097=drylands +10098=drylands +10099=drylands +10100=drylands +10101=drylands +10102=drylands +10103=drylands +10104=drylands +10105=drylands +10106=drylands +10107=drylands +10108=drylands +10109=oasis +10110=oasis +10111=mountains +10112=mountains +10113=mountains +10114=mountains +10115=hills +10116=hills +10117=drylands +10118=drylands +10119=hills +10120=hills +10121=drylands +10122=hills +10123=hills +10124=hills +10125=hills +10126=hills +10127=hills +10128=hills +10129=hills +10130=mountains +10131=hills +10132=plains +10133=hills +10134=plains +10135=drylands +10136=hills +10137=drylands +10138=hills +10139=hills +10140=hills +10141=drylands +10142=drylands +10143=drylands +10144=drylands +10145=hills +10146=hills +10147=hills +10148=farmlands +10149=farmlands +10150=farmlands +10151=plains +10152=hills +10153=farmlands +10154=hills +10155=hills +10156=plains +10157=plains +10158=plains +10159=farmlands +10160=plains +10161=mountains +10162=mountains +10163=hills +10164=hills +10165=hills +10166=hills +10167=hills +10168=hills +10169=plains +10170=plains +10171=hills +10172=plains +10173=drylands +10174=drylands +10175=plains +10176=hills +10177=drylands +10178=plains +10179=plains +10180=plains +10181=plains +10182=plains +10183=plains +10184=plains +10185=plains +10186=plains +10187=plains +10188=hills +10189=hills +10190=hills +10191=hills +10192=hills +10193=hills +10194=hills +10195=hills +10196=mountains +10197=hills +10198=mountains +10199=mountains +10200=forest +10201=forest +10202=mountains +10203=forest +10204=forest +10205=hills +10206=forest +10207=plains +10208=plains +10209=plains +10210=mountains +10211=mountains +10212=mountains +10213=mountains +10214=mountains +10215=mountains +10216=farmlands +10217=mountains +10218=hills +10219=mountains +10220=mountains +10221=farmlands +10222=farmlands +10223=hills +10224=mountains +10225=hills +10226=forest +10227=forest +10228=mountains +10229=hills +10230=hills +10231=jungle +10232=hills +10233=hills +10234=jungle +10235=terraced_hills +10236=terraced_hills +10237=jungle +10238=hills +10239=hills +10240=mountains +10241=mountains +10242=hills +10243=hills +10244=jungle +10245=jungle +10246=jungle +10247=mountains +10248=mountains +10249=plains +10250=plains +10251=plains +10252=plains +10253=forest +10254=hills +10255=mountains +10256=hills +10257=farmlands +10258=hills +10259=farmlands +10260=hills +10261=mountains +10262=hills +10263=hills +10264=hills +10265=mountains +10266=mountains +10267=mountains +10268=mountains +10269=mountains +10270=hills +10271=forest +10272=mountains +10273=jungle +10274=jungle +10275=jungle +10276=jungle +10277=jungle +10278=jungle +10279=jungle +10280=jungle +10281=jungle +10282=jungle +10283=hills +10284=hills +10285=hills +10286=hills +10287=hills +10288=mountains +10289=mountains +10290=mountains +10291=forest +10292=terraced_hills +10293=jungle +10294=floodplains +10295=floodplains +10296=wetlands +10297=wetlands +10298=wetlands +10299=wetlands +10300=plains +10301=wetlands +10302=wetlands +10303=hills +10304=plains +10305=hills +10306=drylands +10307=hills +10308=plains +10309=farmlands +10310=plains +10311=plains +10312=plains +10313=plains +10314=plains +10315=plains +10316=wetlands +10317=mountains +10318=mountains +10319=hills +10320=mountains +10321=mountains +10322=mountains +10323=floodplains +10324=wetlands +10325=wetlands +10326=floodplains +10327=wetlands +10328=floodplains +10329=floodplains +10330=floodplains +10331=floodplains +10332=floodplains +10333=floodplains +10334=floodplains +10335=mountains +10336=terraced_hills +10337=floodplains +10338=floodplains +10339=forest +10340=forest +10341=hills +10342=floodplains +10343=floodplains +10344=floodplains +10345=floodplains +10346=forest +10347=floodplains +10348=forest +10349=hills +10350=forest +10351=hills +10352=farmlands +10353=plains +10354=farmlands +10355=farmlands +10356=farmlands +10357=farmlands +10358=farmlands +10359=plains +10360=plains +10361=plains +10362=plains +10363=plains +10364=plains +10365=hills +10366=forest +10367=hills +10368=hills +10369=hills +10370=floodplains +10371=hills +10372=hills +10373=hills +10374=forest +10375=forest +10376=plains +10377=plains +10378=forest +10379=hills +10380=wetlands +10381=terraced_hills +10382=floodplains +10383=terraced_hills +10384=mountains +10385=plains +10386=mountains +10387=mountains +10388=jungle +10389=hills +10390=hills +10391=hills +10392=hills +10393=hills +10394=floodplains +10395=floodplains +10396=floodplains +10397=hills +10398=mountains +10399=floodplains +10400=hills +10401=hills +10402=plains +10403=farmlands +10404=plains +10405=farmlands +10406=plains +10407=mountains +10408=mountains +10409=hills +10410=hills +10411=mountains +10412=forest +10413=hills +10414=hills +10415=hills +10416=hills +10417=plains +10418=farmlands +10419=farmlands +10420=hills +10421=hills +10422=wetlands +10423=plains +10424=hills +10425=jungle +10426=mountains +10427=hills +10428=plains +10429=drylands +10430=farmlands +10431=drylands +10432=hills +10433=forest +10434=forest +10435=hills +10436=forest +10437=hills +10438=hills +10439=hills +10440=mountains +10441=forest +10442=drylands +10443=hills +10444=hills +10445=jungle +10446=hills +10447=hills +10448=mountains +10449=hills +10450=mountains +10451=wetlands +10452=wetlands +10453=mountains +10454=mountains +10455=mountains +10456=plains +10457=forest +10458=wetlands +10459=terraced_hills +10460=wetlands +10461=plains +10462=mountains +10463=mountains +10464=terraced_hills +10465=mountains +10466=mountains +10467=mountains +10468=plains +10469=plains +10470=mountains +10471=plains +10472=mountains +10473=jungle +10474=hills +10475=forest +10476=forest +10477=mountains +10478=mountains +10479=mountains +10480=mountains +10481=mountains +10482=mountains +10483=mountains +10484=mountains +10485=mountains +10486=jungle +10487=mountains +10488=mountains +10489=hills +10490=hills +10491=forest +10492=forest +10493=forest +10494=forest +10495=taiga +10496=taiga +10497=taiga +10498=mountains +10499=taiga +10500=taiga +#Southern Japan +10501=plains +10502=hills +10503=mountains +10504=hills +10505=forest +10506=hills +10507=hills +10508=forest +10509=forest +10510=forest +10511=plains +10512=hills +10513=mountains +10514=mountains +10515=terraced_hills +10516=hills +10517=plains +10518=plains +10519=forest +10520=hills +10521=mountains +10522=hills +10523=hills +10524=forest +10525=plains +10526=hills +10527=hills +10528=plains +10529=plains +10530=forest +10531=hills +10532=farmlands +10533=forest +10534=plains +10535=hills +10536=forest +10537=hills +10538=hills +10539=hills +10540=hills +10541=mountains +10542=plains +10543=mountains +10544=hills +10545=plains +10546=forest +10547=hills +10548=forest +10549=hills +10550=mountains +10551=hills +10552=mountains +10553=plains +10554=forest +10555=hills +10556=mountains +10557=plains +10558=hills +10559=forest +10560=mountains +10561=forest +10562=mountains +10563=forest +10564=forest +10565=plains +10566=hills +10567=hills +10568=forest +10569=forest +10570=hills +10571=hills +10572=forest +10573=mountains +10574=mountains +10575=hills +10576=plains +10577=mountains +10578=hills +10579=hills +10580=mountains +10581=mountains +10582=hills +10583=hills +10584=mountains +10585=mountains +10586=plains +10587=hills +10588=mountains +10589=hills +10590=mountains +10591=mountains +10592=mountains +10593=plains +10594=hills +10595=plains +10596=mountains +10597=mountains +10598=hills +10599=farmlands +10600=terraced_hills +10601=plains +10602=hills +10603=terraced_hills +10604=terraced_hills +10605=plains +10606=hills +10607=plains +10608=hills +10609=hills +10610=mountains +10611=mountains +10612=hills +10613=mountains +10614=plains +10615=hills +10616=forest +10617=mountains +10618=forest +10619=mountains +10620=mountains +10621=forest +10622=hills +10623=hills +10624=hills +10625=mountains +10626=forest +10627=hills +10628=mountains +10629=mountains +10630=forest +10631=mountains +10632=mountains +10633=mountains +10634=mountains +10635=hills +10636=forest +10637=hills +10638=mountains +10639=hills +10640=forest +10641=mountains +10642=hills +10643=hills +10644=hills +10645=hills +10646=hills +10647=hills +10649=forest # Japan_Echigo_Sado +10650=hills # Japan_Echigo_Iwafune +10651=hills # Japan_Echigo_Kambara +10652=forest # Japan_Echigo_Kubiki +10653=hills # Japan_Echigo_Uonuma +10654=mountains # Japan_Hida_Yoshiki +10655=mountains # Japan_Hida_Ono +10656=mountains # Japan_Hida_Matsuda +10657=mountains # Japan_Shinano_Takai +10658=hills # Japan_Shinano_Minauchi +10659=mountains # Japan_Shinano_Ina +10660=mountains # Japan_Shinano_Chikuma +10661=mountains # Japan_Shinano_Suwa +10662=mountains # Japan_Shinano_Chiisagata +10663=mountains # Japan_Shinano_Saku +10664=mountains # Japan_Shinano_Azumi +10665=hills # Japan_Shimotsuke_Nasu +10666=terraced_hills # Japan_Shimotsuke_Haga +10667=terraced_hills # Japan_Shimotsuke_Ashikaga +10668=terraced_hills # Japan_Shimotsduke_Tsuga +10669=mountains # Japan_Shimotsuke_Shioya +10670=mountains # Japan_Kozuke_Tone +10671=terraced_hills # Japan_Kozuke_Seta +10672=hills # Japan_Kozuke_Gunma +10673=mountains # Japan_Kozuke_Azuma +10674=hills # Japan_Noto_Suzu +10675=hills # Japan_Noto_Kashima +10676=forest # Japan_Etchu_Imizu +10677=forest # Japan_Etchu_Shinkawa +10678=forest # Japan_Kaga_Ishikawa +10679=forest # Japan_Kaga_Enuma +10680=mountains # Japan_Kai_Tsuru +10681=plains # Japan_Kai_Yamanashi +10682=mountains # Japan_Kai_Yatsushiro +10683=mountains # Japan_Kai_Koma +10684=hills # Japan_Sagami_Osumi +10685=floodplains # Japan_Suruga_Fuji +10686=hills # Japan_Suruga_Abe +10687=plains # Japan_Suruga_Shida +10688=hills # Japan_Totomi_Shuji +10689=hills # Japan_Totomi_Joto +10690=forest # Japan_Totomi_Toyota +10691=plains # Japan_Totomi_Shikichi +10692=mountains # Japan_Rikuchu_Kunohe +10693=mountains # Japan_Rikuchu_Iwate +10694=mountains # Japan_Rikuchu_Hei +10695=hills # Japan_Rikuchu_Shiwa +10696=hills # Japan_Echigo_Nuttari +10697=hills # Japan_Rikuchu_Iwai +10698=forest # Japan_Rikuzen_Kurihara +10699=hills # Japan_Rikuzen_Miyagi +10700=mountains # Japan_Rikuzen_Kesen +10701=hills # Japan_Mutsu_Kita +10702=forest # Japan_Mutsu_Sannohe +10703=mountains # Japan_Mutsu_Ninohe +10704=hills # Japan_Ugo_Yamamoto +10705=forest # Japan_Ugo_Akita +10706=forest # Japan_Ugo_Senboku +10707=mountains # Japan_Ugo_Ogatsu +10708=forest # Japan_Ugo_Akumi +10709=forest # Japan_Uzen_Tagawa +10710=mountains # Japan_Uzen_Mogami +10711=forest # Japan_Uzen_Murayama +10712=mountains # Japan_Iwashiro_Aizu +10713=mountains # Japan_Iwashiro_Onuma +10714=mountains # Japan_Iwashiro_Yama +10715=forest # Japan_Iwashiro_Shinobu +10716=hills # Japan_Iwashiro_Adachi +10717=hills # Japan_Iwashiro_Iwase +10718=forest # Japan_Iwaki_Namegata +10719=hills # Japan_Iwaki_Iwazen +10720=forest # Japan_Iwaki_Ishikawa +10721=floodplains # Japan_Shimosa_Inba +10722=plains # Japan_Hitachi_Ibaraki +10723=forest # Japan_Hitachi_Naka +10724=hills # Japan_Hitachi_Kuji +10725=hills # Japan_Hitachi_Taga +10726=terraced_hills # Japan_Hitachi_Makabe +10727=hills # Japan_Musashi_Iruma +10728=mountains # Japan_Musashi_Chichibu +10729=hills # Japan_Musashi_Haisawa +10730=wetlands # Japan_Musashi_Toshima +10731=floodplains # Japan_Musashi_Adachi +10732=hills # Japan_Musashi_Tama +10733=mountains # Japan_Echizen_Ono +10734=forest # Japan_Echizen_Sakai +10735=hills # Japan_Echizen_Nyu +10736=hills # Japan_Echizen_Tsuruga +10737=mountains # Japan_Wakasa_Mikata +10738=hills # Japan_Wakasa_Toshiki +10739=hills # Japan_Omi_Shiga +10740=hills # Japan_Omi_Asai +10741=plains # Japan_Omi_Inukami +10742=hills # Japan_Omi_Koga +10743=hills # Japan_Mino_Gujo +10744=hills # Japan_Mino_Kani +10745=hills # Japan_Mino_Toki +10746=mountains # Japan_Mino_Haguri +10747=plains # Japan_Mino_Ishizu +10748=plains # Japan_Mikawa_Atsumi +10749=hills # Japan_Mikawa_Shitara +10750=hills # Japan_Mikawa_Nukata +10751=hills # Japan_Mikawa_Kamo +10752=hills # Japan_Owari_Aichi +10753=plains # Japan_Owari_Kasugai +10754=farmlands # Japan_Owari_Kaisei +10755=plains # Japan_Ise_Mie +10756=plains # Japan_Ise_Ano +10757=plains # Japan_Ise_Watarai +10758=hills # Japan_Ise_Shima +10759=mountains # Japan_Ise_Iitaka +10760=plains # Japan_Kazusa_Awa +10761=plains # Japan_Kazusa_Susu +10762=hills # Japan_Kazusa_Hanyu +10763=forest # Japan_Izu_Kamo +10764=hills # Japan_Izu_Kimizawa +10765=plains # Japan_Sagami_Miura +10766=mountains # Japan_Sagami_Ashigarashimo +10767=floodplains # Japan_Shimosa_Katsushika +10768=floodplains # Japan_Shimosa_Chiba +10769=wetlands # Japan_Shimosa_Katori +10770=mountains # Japan_Rikuzen_Kesen +10771=plains # Japan_Mino_Mugi +10772=wetlands # Japan_Hitachi_Shinta +10773=forest # Japan_Rikuzen_Motoyoshi +10774=mountains # Japan_Oshima_Fukushima +10775=forest # Japan_Oshima_Kameda +10776=hills # Japan_Oshima_Nishi +10777=mountains # Japan_Shiribeshi_Shakotan +10779=hills # Japan_Shiribeshi_Iwanai +10780=hills # Japan_Shiribeshi_Shimamaki +10781=hills # Japan_Shiribeshi_Abuta +10782=hills # Japan_Oshima_Kayabe +10783=wetlands # Japan_Iburi_Muroran +10784=hills # Japan_Iburi_Yufutsu +10785=mountains # Japan_Iburi_Niikappu +10786=forest # Japan_Iburi_Urakawa +10787=forest # Japan_Tokachi_Hiroo +10788=forest # Japan_Tokachi_Kasai +10789=forest # Japan_Tokachi_Tokachi +10790=wetlands # Japan_Kushiro_Kushiro +10791=hills # Japan_Kushiro_Abashiri +10792=wetlands # Japan_Kushiro_Hanasaki +10793=mountains # Japan_Kushiro_Shiretoko +10794=forest # Japan_Kitami_Monbetsu +10795=wetlands # Japan_Kitami_Soya +10796=mountains # Japan_Kitami_Kamikawa +10797=forest # Japan_Kitami_Teshio +10798=hills # Japan_Ishikari_Rumoi +10799=forest # Japan_Ishikari_Uryu +10800=forest # Japan_Ishikari_Sorachi +10801=forest # Japan_Ishikari_Atsuta +10802=jungle +10803=wetlands +10804=wetlands +10805=jungle +10806=jungle +10807=jungle +10808=wetlands +10809=wetlands +10810=wetlands +10811=jungle +10812=jungle +10813=wetlands +10814=wetlands +10815=plains +10816=farmlands +10817=jungle +10818=hills +10819=jungle +10820=plains +10821=wetlands +10822=farmlands +10823=jungle +10824=jungle +10825=jungle +10826=jungle +10827=terraced_hills +10828=jungle +10829=jungle +10830=jungle +10831=jungle +10832=hills +10833=terraced_hills +10834=jungle +10835=wetlands +10836=terraced_hills +10837=terraced_hills +10838=terraced_hills +10839=plains +10840=terraced_hills +10841=terraced_hills +10842=floodplains +10843=floodplains +10844=floodplains +10845=floodplains +10846=floodplains +10847=hills +10848=hills +10849=hills +10850=hills +10851=mountains +10852=mountains +10853=mountains +10854=hills +10855=hills +10856=hills +10857=terraced_hills +10858=terraced_hills +10859=hills +10860=terraced_hills +10861=terraced_hills +10862=terraced_hills +10863=hills +10864=hills +10865=hills +10866=hills +10867=mountains +10868=hills +10869=terraced_hills +10870=hills +10871=hills +10872=mountains +10873=terraced_hills +10874=mountains +10875=mountains +10876=hills +10877=mountains +10878=mountains +10879=mountains +10880=hills +10881=mountains +10882=hills +10883=mountains +10884=mountains +10885=mountains +10886=mountains +10887=mountains +10888=mountains +10889=jungle +10890=terraced_hills +10891=terraced_hills +10892=hills +10893=hills +10894=hills +10895=hills +10896=jungle +10897=hills +10898=hills +10899=hills +10900=hills +10901=hills +10902=mountains +10903=hills +10904=hills +10905=hills +10906=hills +10907=mountains +10908=jungle +10909=hills +10910=terraced_hills +10911=wetlands +10912=wetlands +10913=wetlands +10914=wetlands +10915=wetlands +10916=wetlands +10917=wetlands +10918=jungle +10919=jungle +10920=wetlands +10921=jungle +10922=wetlands +10923=wetlands +10924=jungle +10925=mountains +10926=hills +10927=terraced_hills +10928=plains +10929=jungle +10930=jungle +10931=jungle +10932=terraced_hills +10933=jungle +10934=wetlands +10935=wetlands +10936=jungle +10937=drylands +10938=plains +10939=plains +10940=drylands +10941=hills +10942=drylands +10943=drylands +10944=hills +10945=hills +10946=hills +10947=plains +10948=jungle +10949=jungle +10950=wetlands +10951=jungle +10952=plains +10953=jungle +10954=wetlands +10955=jungle +10956=terraced_hills +10957=drylands +10958=jungle +10959=jungle +10960=jungle +10961=wetlands +10962=hills +10963=jungle +10964=jungle +10965=jungle +10966=hills +10967=hills +10968=farmlands +10969=jungle +10970=jungle +10971=jungle +10972=jungle +10973=jungle +10974=plains +10975=jungle +10976=hills +10977=jungle +10978=terraced_hills +10979=jungle +10980=mountains +10981=jungle +10982=jungle +10983=jungle +10984=jungle +10985=jungle +10986=jungle +10987=jungle +10988=jungle +10989=jungle +10990=mountains +10991=mountains +10992=wetlands +10993=plains +10994=farmlands +10995=jungle +10996=jungle +10997=jungle +10998=jungle +10999=jungle +11000=jungle +11001=jungle +11002=jungle +11003=jungle +11004=plains +11005=plains +11006=terraced_hills +11007=jungle +11008=mountains +11009=hills +11010=jungle +11011=mountains +11012=hills +11013=jungle +11014=terraced_hills +11015=jungle +11016=jungle +11017=mountains +11018=jungle +11019=jungle +11020=jungle +11021=plains +11022=hills +11023=plains +11024=plains +11025=jungle +11026=jungle +11027=jungle +11028=plains +11029=terraced_hills +11030=plains +11031=jungle +11032=jungle +11033=jungle +11034=jungle +11035=jungle +11036=jungle +11037=plains +11038=mountains +11039=mountains +11040=jungle +11041=jungle +11042=jungle +11043=plains +11044=jungle +11045=jungle +11046=jungle +11047=jungle +11048=jungle +11049=jungle +11050=jungle +11051=jungle +11052=jungle +11053=hills #Chocolate Hills +11054=plains +11055=mountains +11056=jungle +11057=jungle +11058=jungle +11059=hills +11060=plains +11061=jungle +11062=plains +11063=mountains +11064=plains +11065=jungle +11066=jungle +11067=mountains +11068=jungle +11069=plains +11070=jungle +11071=mountains +11072=mountains +11073=jungle +11074=jungle +11075=plains +11076=plains +11077=hills +11078=jungle +11079=mountains +11080=plains +11081=hills +11082=mountains +11083=jungle +11084=jungle +11085=jungle +11086=jungle +11087=jungle +11088=jungle +11089=hills +11090=mountains +11091=jungle +11092=jungle +11093=jungle +11094=jungle +11095=jungle +11096=hills +11097=mountains +11101=plains +11102=plains +11103=wetlands +11104=jungle +11105=plains +11106=plains +11107=jungle +11108=jungle +11109=wetlands +11110=wetlands +11111=wetlands +11112=jungle +11113=jungle +11114=jungle +11115=jungle +11116=jungle +11117=wetlands +11118=plains +11119=plains +11120=jungle +11121=plains +11122=wetlands +11123=wetlands +11124=jungle +11125=plains +11126=wetlands +11127=jungle +11128=wetlands +11129=wetlands +11130=jungle +11131=jungle +11132=wetlands +11133=jungle +11134=wetlands +11135=plains +11136=plains +11137=plains +11138=plains +11139=wetlands +11140=hills +11141=plains +11142=jungle +11143=plains +11144=plains +11145=wetlands +11146=terraced_hills +11147=jungle +11148=jungle +11149=plains +11150=plains +11151=jungle +11152=jungle +11153=jungle +11154=mountains +11155=wetlands +11156=hills +11157=jungle +11158=plains +11159=jungle +11160=plains +11161=plains +11162=mountains +11163=mountains +11164=plains +11170=plains +11171=plains +11172=plains +11173=hills +11174=wetlands +11175=wetlands +11176=terraced_hills +11177=plains +11178=plains +11179=hills +11180=mountains +11181=hills +11182=mountains +11183=terraced_hills +11184=mountains +11185=jungle +11186=plains +11187=jungle +11188=jungle +11189=hills +11190=hills +11191=plains +11192=jungle +11193=hills +11194=hills +11195=plains +11196=mountains +11197=jungle +11198=mountains +11199=plains +11200=hills +11201=hills +11202=mountains +11203=plains +11204=plains +11205=mountains +11206=mountains +11207=mountains +11208=mountains +11209=mountains +11210=hills +11211=hills +11212=mountains +11213=hills +11214=jungle +11216=jungle +11217=hills +11218=hills +11219=mountains +11220=jungle +11221=jungle +11222=jungle +11223=hills +11224=hills +11225=jungle +11226=hills +11227=jungle +11228=hills +11229=hills +11230=hills +11231=jungle +11248=jungle +11251=jungle +11252=jungle +11253=mountains +11254=plains +11255=plains +11256=plains +11257=plains +11258=wetlands +11259=plains +11260=hills +11261=plains +11262=jungle +11263=plains +11264=jungle +11265=wetlands +11266=wetlands +11267=wetlands +11268=wetlands +11269=wetlands +11270=mountains +11271=wetlands +11272=wetlands +11273=wetlands +11274=wetlands +11275=wetlands +11276=wetlands +11277=jungle +11278=plains +11279=plains +11280=wetlands +11281=wetlands +11282=wetlands +11283=jungle +11284=hills +11285=jungle +11286=wetlands +11287=wetlands +11288=wetlands +11289=jungle +11290=jungle +11291=jungle +11292=jungle +11293=jungle +11294=terraced_hills +11295=wetlands +11296=terraced_hills +11297=wetlands +11298=wetlands +11299=jungle +11300=hills +11301=jungle +11302=wetlands +11303=wetlands +11304=wetlands +11305=wetlands +11306=wetlands +11307=plains +11308=plains +11309=hills +11310=mountains +11311=hills +11312=mountains +11313=hills +11314=wetlands +11315=terraced_hills +11316=mountains +11317=wetlands +11318=wetlands +11319=wetlands +11320=mountains +11321=plains +11322=plains +11323=jungle +11324=plains +11325=jungle +11326=plains +11327=plains +11328=plains +11329=hills +11330=hills +11331=plains +11332=mountains +11333=plains +11334=mountains +11335=plains +11336=forest +11337=terraced_hills +11338=plains +11339=jungle +11340=jungle +11341=terraced_hills +11342=terraced_hills +11343=terraced_hills +11344=plains +11345=plains +11346=plains +11347=wetlands +11348=wetlands +11349=plains +11350=jungle +11351=jungle +11352=plains +11353=plains +11354=terraced_hills +11355=hills +11356=hills +11357=plains +11358=mountains +11359=plains +11360=hills +11361=plains +11362=jungle +11363=jungle +11364=plains +11365=mountains +11366=terraced_hills +11367=jungle +11368=mountains +11369=mountains +11370=mountains +11371=hills +11372=hills +11373=jungle +11374=hills +11375=jungle +11376=hills +11377=jungle +11378=jungle +11379=jungle +11380=hills +11381=jungle +11382=jungle +11383=plains +11384=plains +11385=jungle +11386=jungle +11387=hills +11388=hills +11389=hills +11397=wetlands +11398=wetlands +11399=jungle +11400=jungle +11401=jungle +11402=wetlands +11403=plains +11404=jungle +11405=wetlands +11406=plains +11407=hills +11408=jungle +11409=hills +11410=jungle +11411=jungle +11412=plains +11413=jungle +11414=plains +11415=hills +11416=jungle +11417=terraced_hills +11418=jungle +11419=plains +11420=jungle +11421=wetlands +11422=wetlands +11423=plains +11424=terraced_hills +11425=jungle +11426=jungle +11427=jungle +11428=hills +11429=plains +11430=mountains +11431=wetlands +11432=hills +11433=wetlands +11434=jungle +11435=mountains +11436=jungle +11437=plains +11438=farmlands +11439=drylands +11440=jungle +11441=jungle +11442=drylands +11443=drylands +11444=jungle +11445=terraced_hills +11446=hills +11447=jungle +11448=jungle +11449=jungle +11450=jungle +11451=hills +11452=jungle +11453=mountains +11454=mountains +11455=mountains +11456=mountains +11457=mountains +11458=mountains +11459=hills +11460=hills +11461=jungle +11462=hills +11463=hills +11464=mountains +11465=hills +11466=hills +11467=hills +11468=jungle +11469=jungle +11470=hills +11471=hills +11472=jungle +11473=hills +11474=jungle +11475=jungle +11476=hills +11477=terraced_hills +11478=terraced_hills +11479=jungle +11480=jungle +11481=mountains +11482=hills +11483=hills +11484=hills +11485=hills +11486=hills +11487=mountains +11488=hills +11489=hills +11490=hills +11491=hills +11492=terraced_hills +11493=jungle +11494=jungle +11495=jungle +11496=jungle +11497=jungle +11498=jungle +11499=mountains +11500=terraced_hills +11501=desert +11511=forest +11512=mountains +11513=mountains +11520=hills +11521=steppe +11525=steppe +11527=steppe +11529=mountains +11530=steppe +11531=steppe +11532=mountains +11533=mountains +11534=mountains +11535=mountains +11536=mountains +11537=mountains +11538=steppe +11539=mountains +11540=mountains +11541=mountains +11542=mountains +11543=mountains +11544=mountains +11545=mountains +11546=steppe +11547=mountains +11548=mountains +11549=mountains +11550=mountains +11551=mountains +11552=mountains +11553=hills +11554=hills +11555=hills +11556=hills +11557=steppe +11558=steppe +11559=mountains +11560=mountains +11561=steppe +11562=mountains +11563=desert +11564=steppe +11565=steppe +11566=desert +11567=steppe +11568=steppe +11569=steppe +11570=steppe +11571=steppe +11572=steppe +11573=steppe +11574=steppe +11575=steppe +11576=mountains +11577=steppe +11578=desert +11579=steppe +11580=steppe +11581=steppe +11582=steppe +11583=steppe +11584=steppe +11585=steppe +11586=steppe +11587=steppe +11588=steppe +11589=steppe +11590=steppe +11591=steppe +11592=steppe +11593=steppe +11594=steppe +11595=mountains +11596=steppe +11597=steppe +11598=hills +11599=hills +11600=hills +11601=mountains +11602=mountains +11603=mountains +11604=mountains +11605=hills +11606=mountains +11607=hills +11608=mountains +11609=hills +11610=forest +11611=hills +11612=mountains +11613=hills +11614=mountains +11615=mountains +11616=mountains +11617=hills +11618=mountains +11619=steppe +11620=steppe +11621=steppe +11622=steppe +11623=steppe +11624=steppe +11625=steppe +11626=steppe +11627=forest +11628=forest +11629=forest +11630=forest +11631=forest +11632=forest +11633=forest +11634=hills +11635=hills +11636=plains +11637=forest +11638=wetlands +11639=forest +11640=forest +11641=forest +11642=forest +11643=forest +11644=forest +11645=forest +11646=forest +11647=wetlands +11648=wetlands +11649=hills +11650=hills +11651=wetlands +11652=wetlands +11653=forest +11654=forest +11655=forest +11656=hills +11657=wetlands +11658=wetlands +11659=plains +11660=plains +11661=plains +11662=plains +11663=plains +11664=plains +11665=plains +11666=forest +11667=wetlands +11668=wetlands +11669=forest +11670=forest +11671=forest +11672=forest +11673=forest +11674=forest +11675=forest +11676=forest +11677=hills +11678=hills +11679=forest +11680=wetlands +11681=forest +11682=wetlands +11683=forest +11684=hills +11685=hills +11686=forest +11687=forest +11688=forest +11689=forest +11690=hills +11691=hills +11692=forest +11693=forest +11694=forest +11695=forest +11696=forest +11697=forest +11698=hills +11699=forest +11700=forest +11701=forest +11702=plains +11703=steppe +11704=steppe +11705=steppe +11706=steppe +11707=steppe +11708=hills +11709=steppe +11710=steppe +11711=steppe +11712=hills +11713=steppe +11714=steppe +11715=steppe +11716=steppe +11717=steppe +11718=steppe +11719=hills +11720=plains +11721=hills +11722=hills +11723=hills +11724=hills +11725=steppe +11726=steppe +11727=steppe +11728=plains +11729=plains +11730=plains +11731=steppe +11732=steppe +11733=steppe +11734=plains +11735=plains +11736=forest +11737=forest +11738=forest +11739=forest +11740=forest +11741=plains +11742=wetlands +11743=forest +11744=wetlands +11745=wetlands +11746=wetlands +11747=wetlands +11748=forest +11749=forest +11750=forest +11751=forest +11752=forest +11753=plains +11754=plains +11755=plains +11756=plains +11757=plains +11758=plains +11759=plains +11760=plains +11761=plains +11762=plains +11763=wetlands +11764=plains +11765=plains +11766=plains +11767=forest +11768=forest +11769=forest +11770=forest +11771=forest +11772=plains +11773=wetlands +11774=wetlands +11775=plains +11776=wetlands +11777=forest +11778=forest +11779=forest +11780=forest +11781=forest +11782=forest +11783=plains +11784=plains +11785=plains +11786=plains +11787=plains +11788=wetlands +11789=plains +11790=wetlands +11791=wetlands +11792=hills +11793=hills +11794=hills +11795=hills +11796=hills +11797=plains +11798=plains +11799=plains +11800=forest +11801=hills +11802=forest +11803=forest +11804=forest +11805=hills +11806=hills +11807=hills +11808=forest +11809=hills +11810=plains +11811=plains +11812=plains +11813=plains +11814=forest +11815=forest +11816=forest +11817=hills +11818=hills +11819=forest +11820=forest +11821=forest +11822=forest +11823=hills +11824=forest +11825=forest +11826=forest +11827=forest +11828=forest +11829=hills +11830=hills +11831=forest +11832=hills +11833=hills +11834=hills +11835=hills +11836=mountains +11837=mountains +11838=mountains +11839=mountains +11840=hills +11841=mountains +11842=mountains +11843=mountains +11844=mountains +11845=mountains +11846=mountains +11847=mountains +11848=hills +11849=forest +11850=hills +11851=forest +11852=hills +11853=hills +11854=forest +11855=forest +11856=forest +11857=forest +11858=forest +11859=forest +11860=forest +11861=forest +11862=forest +11863=forest +11864=forest +11865=forest +11866=forest +11867=forest +11868=forest +11869=forest +11870=forest +11871=forest +11872=forest +11873=forest +11874=forest +11875=forest +11876=forest +11877=forest +11878=forest +11879=forest +11880=taiga +11881=taiga +11882=taiga +11883=taiga +11884=hills +11885=hills +11886=hills +11887=mountains +11888=mountains +11889=hills +11890=mountains +11891=mountains +11892=hills +11893=forest +11894=forest +11895=forest +11896=forest +11897=hills +11898=mountains +11899=forest +11900=hills +11901=hills +11902=hills +11903=hills +11904=hills +11905=hills +11906=mountains +11907=mountains +11908=hills +11909=hills +11910=mountains +11911=mountains +11912=forest +11913=forest +11914=forest +11929=wetlands +11933=wetlands +11934=wetlands +11935=wetlands +11936=farmlands +11937=farmlands +11938=farmlands +11939=farmlands +11940=farmlands +11942=drylands +11944=hills +11945=hills +11946=jungle +11948=desert +11967=mountains +11969=mountains +11971=mountains +11972=mountains +11973=mountains +11976=plains +11977=plains +11978=plains +11979=hills +11980=hills +11981=hills +11982=plains +11983=plains +11984=plains +11985=plains +11986=plains +11987=plains +11988=plains +11989=floodplains +11990=floodplains +11991=hills +11992=hills +11993=hills +11994=floodplains +11995=floodplains +11996=floodplains +11997=farmlands +11998=floodplains +11999=farmlands +12000=farmlands +12001=plains +12002=plains +12003=plains +12004=plains +12005=hills +12006=hills +12007=plains +12008=plains +12009=plains +12010=plains +12011=wetlands +12012=plains +12013=floodplains +12014=floodplains +12015=floodplains +12016=floodplains +12017=floodplains +12018=hills +12019=hills +12020=floodplains +12021=floodplains +12022=plains +12023=plains +12024=floodplains +12025=floodplains +12026=floodplains +12027=floodplains +12028=floodplains +12029=floodplains +12030=floodplains +12031=floodplains +12032=floodplains +12033=floodplains +12034=plains +12035=plains +12036=plains +12037=plains +12038=forest +12039=plains +12040=plains +12041=plains +12042=plains +12043=plains +12044=plains +12045=plains +12046=plains +12047=plains +12048=plains +12049=plains +12050=plains +12051=plains +12052=plains +12053=hills +12054=hills +12055=plains +12056=floodplains +12057=floodplains +12058=floodplains +12059=floodplains +12060=floodplains +12061=floodplains +12062=floodplains +12063=farmlands +12064=plains +12065=floodplains +12066=floodplains +12067=farmlands +12068=floodplains +12069=floodplains +12070=floodplains +12071=floodplains +12072=floodplains +12073=floodplains +12074=floodplains +12075=plains +12076=floodplains +12077=floodplains +12078=floodplains +12079=floodplains +12080=plains +12081=plains +12082=plains +12083=plains +12084=plains +12085=plains +12086=plains +12087=farmlands +12088=farmlands +12089=farmlands +12090=farmlands +12091=farmlands +12092=farmlands +12093=plains +12094=plains +12095=plains +12096=plains +12097=plains +12098=plains +12099=plains +12100=plains +12101=plains +12102=plains +12103=plains +12104=plains +12105=plains +12106=plains +12107=plains +12108=plains +12109=plains +12110=plains +12111=plains +12112=plains +12113=plains +12114=plains +12115=plains +12116=plains +12117=plains +12118=plains +12119=plains +12120=plains +12121=plains +12122=plains +12123=plains +12124=plains +12125=plains +12126=floodplains +12127=floodplains +12128=floodplains +12129=floodplains +12130=floodplains +12131=floodplains +12132=floodplains +12133=floodplains +12134=floodplains +12135=floodplains +12136=floodplains +12137=plains +12138=plains +12139=plains +12140=plains +12141=plains +12142=plains +12143=plains +12144=plains +12145=plains +12146=plains +12147=plains +12148=plains +12149=plains +12150=plains +12151=plains +12152=plains +12153=plains +12154=plains +12155=mountains +12156=mountains +12157=mountains +12158=hills +12159=hills +12160=hills +12161=hills +12162=hills +12163=plains +12164=plains +12165=plains +12166=plains +12167=plains +12168=plains +12169=hills +12170=hills +12171=plains +12172=farmlands +12173=plains +12174=hills +12175=plains +12176=hills +12177=plains +12178=plains +12179=plains +12180=plains +12181=plains +12182=floodplains +12183=floodplains +12184=plains +12185=plains +12186=plains +12187=plains +12188=hills +12189=hills +12190=hills +12191=plains +12192=plains +12193=mountains +12194=mountains +12195=plains +12196=hills +12197=hills +12198=mountains +12199=hills +12200=drylands +12201=drylands +12202=farmlands +12203=farmlands +12204=farmlands +12205=plains +12206=plains +12207=farmlands +12208=mountains +12209=hills +12210=mountains +12211=mountains +12212=hills +12213=hills +12214=hills +12215=hills +12216=hills +12217=hills +12218=hills +12219=hills +12220=hills +12221=plains +12222=plains +12223=plains +12224=hills +12225=hills +12226=hills +12227=hills +12228=hills +12229=drylands +12230=hills +12231=hills +12232=hills +12233=hills +12234=hills +12235=plains +12236=plains +12237=hills +12238=hills +12239=hills +12240=plains +12241=plains +12242=plains +12243=mountains +12244=plains +12245=plains +12246=plains +12247=plains +12248=plains +12249=hills +12250=hills +12251=plains +12252=hills +12253=mountains +12254=mountains +12255=mountains +12256=hills +12257=hills +12258=mountains +12259=mountains +12260=plains +12261=plains +12262=mountains +12263=plains +12264=hills +12265=plains +12266=farmlands +12267=farmlands +12268=farmlands +12269=farmlands +12270=hills +12271=hills +12272=plains +12273=plains +12274=plains +12275=plains +12276=plains +12277=plains +12278=plains +12279=plains +12280=plains +12281=plains +12282=plains +12283=plains +12284=plains +12285=plains +12286=plains +12287=plains +12288=plains +12289=plains +12290=plains +12291=plains +12292=plains +12293=plains +12294=plains +12295=plains +12296=drylands +12297=drylands +12298=drylands +12299=drylands +12300=desert +12301=desert +12302=drylands +12303=drylands +12304=drylands +12305=drylands +12306=hills +12307=hills +12308=drylands +12309=drylands +12310=hills +12311=hills +12312=hills +12313=hills +12314=hills +12315=hills +12316=hills +12317=hills +12318=hills +12319=hills +12320=hills +12321=hills +12322=hills +12323=hills +12324=plains +12325=plains +12326=hills +12327=hills +12328=plains +12329=plains +12330=plains +12331=plains +12332=plains +12333=plains +12334=plains +12335=mountains +12336=plains +12337=plains +12338=plains +12339=mountains +12340=hills +12341=hills +12342=hills +12343=hills +12344=hills +12345=hills +12346=hills +12347=hills +12348=mountains +12349=mountains +12350=hills +12351=drylands +12352=drylands +12353=mountains +12354=mountains +12355=mountains +12356=hills +12357=hills +12358=mountains +12359=mountains +12360=mountains +12361=mountains +12362=mountains +12363=mountains +12364=mountains +12365=mountains +12366=mountains +12367=mountains +12368=drylands +12369=drylands +12370=desert +12371=desert +12372=drylands +12373=drylands +12374=desert +12375=desert +12376=desert +12377=desert +12378=desert +12379=desert +12380=drylands +12381=drylands +12382=desert +12383=desert +12384=desert +12385=drylands +12386=drylands +12387=drylands +12388=drylands +12389=drylands +12390=drylands +12391=drylands +12392=hills +12393=steppe +12394=steppe +12395=steppe +12396=drylands +12397=oasis +12398=oasis +12399=desert +12400=drylands +12401=mountains +12402=mountains +12403=hills +12404=mountains +12405=hills +12406=hills +12407=steppe +12408=steppe +12409=steppe +12410=steppe +12411=steppe +12412=steppe +12413=steppe +12414=steppe +12415=mountains +12416=hills +12417=hills +12418=hills +12419=hills +12420=hills +12421=plains +12422=wetlands +12423=plains +12424=plains +12425=hills +12426=mountains +12427=mountains +12428=mountains +12429=mountains +12430=hills +12431=plains +12432=forest +12433=taiga +12434=hills +12435=taiga +12436=mountains +12437=forest +12438=forest +12439=forest +12440=hills +12441=plains +12442=plains +12443=plains +12444=plains +12445=plains +12446=plains +12447=plains +12448=wetlands +12449=wetlands +12450=wetlands +12451=plains +12452=plains +12453=plains +12454=hills +12455=hills +12456=hills +12457=taiga +12458=taiga +12459=taiga +12460=taiga +12461=taiga +12462=taiga +12463=taiga +12464=hills +12465=taiga +12466=taiga +12467=taiga +12468=taiga +12469=taiga +12470=taiga +12471=wetlands +12472=wetlands +12473=wetlands +12474=wetlands +12475=hills +12476=taiga +12477=hills +12478=taiga +12479=taiga +12480=taiga +12481=taiga +12482=taiga +12501=hills +12502=terraced_hills +12503=hills +12504=jungle +12505=jungle +12506=hills +12507=jungle +12508=terraced_hills +12509=jungle +12510=jungle +12511=hills +12512=hills +12520=hills +12526=wetlands +12540=hills +12541=hills +12542=jungle +12543=hills +12544=hills +12545=hills +12546=terraced_hills +12547=terraced_hills +12548=jungle +12549=jungle +12552=desert +12553=terraced_hills +12554=steppe +12555=steppe +12556=steppe +12557=steppe +12558=steppe +12559=steppe +12560=steppe +12561=desert_mountains +12562=desert +12563=desert +12564=desert +12565=desert +12566=steppe +12567=desert +12568=steppe +12569=steppe +12570=steppe +12571=steppe +12572=steppe +12573=steppe +12766=oasis +12771=drylands +12772=drylands +12773=jungle +12774=jungle +12775=jungle +12776=jungle +12777=drylands +12778=jungle +12779=drylands +12780=jungle +12781=jungle +12782=drylands +12783=drylands +12784=jungle +12785=drylands +12786=jungle +12787=jungle +12788=jungle +12789=jungle +12790=jungle +12791=jungle +12792=jungle +12793=jungle +12794=floodplains +12795=jungle +12796=drylands +12797=jungle +12798=jungle +12802=desert_mountains +12803=jungle +12804=drylands +12805=desert_mountains +12806=hills +12807=desert +12808=desert +12809=drylands +12810=wetlands +12811=forest +12812=forest +12813=forest +12814=wetlands +12815=wetlands +12816=hills +12817=forest +12818=forest +12819=mountains +12820=hills +12823=jungle +12824=jungle +12825=jungle +12835=jungle +12836=wetlands +12837=wetlands +12838=jungle +12839=jungle +12840=jungle +12841=jungle +12842=jungle +12843=jungle +12844=jungle +12845=wetlands +12847=jungle +12848=jungle +12849=jungle +12851=wetlands +12852=wetlands +12854=wetlands +12855=jungle +12857=jungle +12863=mountains +12864=hills +12865=hills +12866=hills +12867=hills +12868=hills +12870=hills +12871=jungle +12874=hills +12879=hills +12900=hills +12917=jungle +12929=mountains +12930=jungle +12931=jungle +12932=jungle +12933=jungle +12934=hills +12935=hills +12936=hills +12937=hills +12938=hills +12939=hills +12940=hills +12941=hills +12942=jungle +12943=hills +12944=jungle +12947=forest +12949=hills +12950=floodplains +12951=floodplains +12952=hills +12953=wetlands +12954=mountains +12955=hills +12956=hills +12957=oasis +12958=farmlands +12959=drylands +12960=oasis +12961=drylands +12962=drylands +12963=hills +12964=wetlands +12966=hills +12967=hills +12968=hills +12969=forest +12970=terraced_hills +12971=hills +12972=terraced_hills +12973=oasis +12974=drylands +12975=drylands +12976=drylands +12977=hills +12978=hills +12979=mountains +12980=terraced_hills +12981=jungle +12982=jungle +12983=mountains +12984=hills +12985=hills +12986=hills +12987=plains +12988=hills +12989=plains +12990=hills +12991=hills +12992=hills +12993=plains +12994=forest +12995=hills +12996=mountains +12997=hills +12998=jungle +12999=forest +13000=mountains +13001=wetlands +13002=forest +13003=plains +13004=plains +13005=forest +13006=floodplains +13007=floodplains +13008=forest +13009=wetlands +13010=plains +13011=hills +13012=hills +13013=hills +13014=floodplains +13015=floodplains +13016=hills +13017=hills +13018=hills +13019=hills +13020=jungle +13021=floodplains +13022=forest +13023=mountains +13024=mountains +13025=plains +13026=plains +13027=hills +13028=forest +13029=mountains +13030=mountains +13031=farmlands +13032=farmlands +13033=farmlands +13034=plains +13035=forest +13036=hills +13037=plains +13038=hills +13039=hills +13040=hills +13041=plains +13042=hills +13043=plains +13044=drylands +13045=drylands +13046=drylands +13047=drylands +13048=hills +13049=hills +13050=mountains +13051=mountains +13052=terraced_hills +13053=terraced_hills +13054=floodplains +13055=hills +13056=mountains +13057=forest +13058=forest +13059=hills +13060=mountains +13061=hills +13062=hills +13063=hills +13064=forest +13065=hills +13066=plains +13067=drylands +13068=drylands +13069=hills +13070=hills +13071=drylands +13072=drylands +13073=mountains +13074=mountains +13075=drylands +13076=drylands +13077=drylands +13078=drylands +13079=mountains +13080=drylands +13081=hills +13082=mountains +13083=mountains +13084=drylands +13085=mountains +13086=mountains +13087=drylands +13088=drylands +13089=drylands +13090=hills +13091=hills +13092=hills +13093=hills +13094=drylands +13095=drylands +13096=drylands +13097=floodplains +13098=floodplains +13099=mountains +13100=hills +13101=hills +13102=mountains +13103=plains +13104=forest +13105=hills +13106=forest +13107=forest +13108=forest +13109=forest +13110=mountains +13111=mountains +13112=plains +13113=forest +13114=forest +13115=forest +13116=hills +13117=hills +13118=hills +13119=plains +13120=plains +13121=plains +13122=forest +13123=hills +13125=drylands +13126=drylands +13127=hills +13128=mountains +13129=mountains +13130=hills +13131=hills +13132=mountains +13133=mountains +13134=mountains +13135=forest +13136=forest +13137=hills +13138=hills +13139=drylands +13140=drylands +13141=mountains +13142=hills +13143=mountains +13144=plains +13145=mountains +13146=mountains +13147=mountains +13148=mountains +13149=mountains +13150=hills +13151=hills +13152=hills +13153=hills +13154=floodplains +13155=hills +13156=oasis +13157=drylands +13159=floodplains diff --git a/N3OW/common/province_terrain/01_province_properties.txt b/N3OW/common/province_terrain/01_province_properties.txt new file mode 100644 index 00000000..3a1a4d2e --- /dev/null +++ b/N3OW/common/province_terrain/01_province_properties.txt @@ -0,0 +1,50564 @@ +################## +# TABLE OF CONTENT +# **************** +# NORMAL PROVINCES +# SEA ZONES +# MAJOR RIVERS +# LAKES +# IMPASSABLE TERRAIN +# WASTELAND +# IMPASSABLE SEA ZONES +# UNUSED PROVINCES +# **************** +# Normal provinces arranged based on landed_titles +# Ctrl+F to jump to appropriate sections +# Seas & rivers should stay at 0.0 severity bias +# Unused provs are provs not set in the game yet, so 0.0 +# Unused provs based on data in mapdata\default.map +# Some provinces use override modifiers, which makes them use the override values instead of default WINTER_EFFECTS_FACTOR_XXX as set in 00_defines.txt +# These are: +# mild_winter_factor_override +# normal_winter_factor_override +# harsh_winter_factor_override +################## + +################## +# WINTER VALUES +################## +@himalayan_mountains = 0.90 +@tibetan_mountains = 0.80 +@afghan_mountains = 0.60 +@azerbaijan_mountains = 0.40 +@the_alps = 0.80 +@khingan_mountains = 1.00 +@changbai_sikhote_mountains = 0.90 + +################## +# NORMAL PROVINCES +################## + +##### e_britannia +#### k_england +### d_bedford # Essex +## c_middlesex +# b_london +1527 ={ + winter_severity_bias = 0.45 +} +# b_southwark +1526 ={ + winter_severity_bias = 0.45 +} +# b_woxbrigge +1528 ={ + winter_severity_bias = 0.45 +} +# b_gore +1529 ={ + winter_severity_bias = 0.45 +} +# b_brentford +1530 ={ + winter_severity_bias = 0.45 +} +## c_essex +# b_colchester +1514 ={ + winter_severity_bias = 0.45 +} +# b_maldon +1515 ={ + winter_severity_bias = 0.45 +} +# b_chelmsford +1516 ={ + winter_severity_bias = 0.45 +} +# b_dunmow +1517 ={ + winter_severity_bias = 0.45 +} +## c_bedford +# b_bedford +1538 ={ + winter_severity_bias = 0.45 +} +# b_ampthill +1539 ={ + winter_severity_bias = 0.45 +} +# b_luton +1540 ={ + winter_severity_bias = 0.45 +} +## c_hertfordshire +# b_berkhamsted +1531 ={ + winter_severity_bias = 0.45 +} +# b_saint_albans +1532 ={ + winter_severity_bias = 0.45 +} +# b_hertford +1533 ={ + winter_severity_bias = 0.45 +} +## c_buckinghamshire +# b_buckingham +1551 ={ + winter_severity_bias = 0.45 +} +# b_aylesbury +1552 ={ + winter_severity_bias = 0.45 +} +# b_newport +1553 ={ + winter_severity_bias = 0.45 +} +# b_wycombe +1554 ={ + winter_severity_bias = 0.45 +} +### d_northumberland +## c_northumberland +# b_bamburgh +1609 ={ + winter_severity_bias = 0.45 +} +# b_rothbury +1612 ={ + winter_severity_bias = 0.45 +} +# b_lindisfarne +1610 ={ + winter_severity_bias = 0.45 +} +# b_hexham +1611 ={ + winter_severity_bias = 0.50 +} +## c_durham +# b_durham +1606 ={ + winter_severity_bias = 0.45 +} +# b_hartlepool +1607 ={ + winter_severity_bias = 0.50 +} +# b_darlington +1608 ={ + winter_severity_bias = 0.45 +} +## c_cumberland +# b_carlisle +1635 ={ + winter_severity_bias = 0.50 +} +# b_whitehaven +1636 ={ + winter_severity_bias = 0.50 +} +# b_furness +1642 ={ + winter_severity_bias = 0.50 +} +# b_wigton +8780 ={ + winter_severity_bias = 0.50 +} +### d_lancaster +## c_lancashire +# b_lancaster +1639 ={ + winter_severity_bias = 0.45 +} +# b_salford +1640 ={ + winter_severity_bias = 0.45 +} +# b_west_derby +1641 ={ + winter_severity_bias = 0.45 +} +## c_westmorland +# b_kendal +1637 ={ + winter_severity_bias = 0.50 +} +# b_appleby +1638 ={ + winter_severity_bias = 0.50 +} +## c_cheshire +# b_chester +1643 ={ + winter_severity_bias = 0.45 +} +# b_northwich +1644 ={ + winter_severity_bias = 0.45 +} +# b_macclesfield +1645 ={ + winter_severity_bias = 0.45 +} +## c_derby +# b_derby +1621 ={ + winter_severity_bias = 0.45 +} +# b_chesterfield +1622 ={ + winter_severity_bias = 0.45 +} +# b_castleton +1623 ={ + winter_severity_bias = 0.45 +} +### d_york +## c_north_riding +# b_york +1595 ={ + winter_severity_bias = 0.45 +} +# b_scarborough +1596 ={ + winter_severity_bias = 0.45 +} +# b_whitby +1597 ={ + winter_severity_bias = 0.45 +} +# b_richmond +1598 ={ + winter_severity_bias = 0.50 +} +# b_yarlestre +1500 ={ + winter_severity_bias = 0.45 +} +## c_east_riding +# b_pockington +1588 ={ + winter_severity_bias = 0.45 +} +# b_cottingham +1589 ={ + winter_severity_bias = 0.45 +} +# b_bridlington +1590 ={ + winter_severity_bias = 0.45 +} +## c_west_riding +# b_leeds +1591 ={ + winter_severity_bias = 0.45 +} +# b_doncaster +1592 ={ + winter_severity_bias = 0.45 +} +# b_halifax +1593 ={ + winter_severity_bias = 0.45 +} +# b_sheffield +1594 ={ + winter_severity_bias = 0.45 +} +# b_bolton +1499 ={ + winter_severity_bias = 0.45 +} +# b_ripon +1599 ={ + winter_severity_bias = 0.45 +} +## c_lincolnshire +# b_lincoln +1583 ={ + winter_severity_bias = 0.45 +} +# b_stamford +1584 ={ + winter_severity_bias = 0.45 +} +# b_boston +1585 ={ + winter_severity_bias = 0.45 +} +# b_bolingsbroke +1586 ={ + winter_severity_bias = 0.45 +} +# b_grimsby +1587 ={ + winter_severity_bias = 0.45 +} +### d_norfolk #East Anglia +## c_norfolk +# b_norwich +1522 ={ + winter_severity_bias = 0.45 +} +# b_thetford +1523 ={ + winter_severity_bias = 0.45 +} +# b_walsingham +1524 ={ + winter_severity_bias = 0.45 +} +# b_lynn +1525 ={ + winter_severity_bias = 0.45 +} +## c_suffolk +# b_ipswich +1518 ={ + winter_severity_bias = 0.45 +} +# b_sudbury +1519 ={ + winter_severity_bias = 0.45 +} +# b_blything +1520 ={ + winter_severity_bias = 0.45 +} +# b_beodericsworth +1521 ={ + winter_severity_bias = 0.45 +} +## c_cambridgeshire +# b_cambridge +1534 ={ + winter_severity_bias = 0.45 +} +# b_radfield +1535 ={ + winter_severity_bias = 0.45 +} +# b_papworth +1536 ={ + winter_severity_bias = 0.45 +} +# b_ely +1537 ={ + winter_severity_bias = 0.45 +} +### d_hereford # Mercia +## c_warwickshire +# b_warwick +1603 ={ + winter_severity_bias = 0.45 +} +# b_coventry +1604 ={ + winter_severity_bias = 0.45 +} +# b_birmingham +1605 ={ + winter_severity_bias = 0.45 +} +## c_leicestershire +# b_leicester +1615 ={ + winter_severity_bias = 0.45 +} +# b_melton +1616 ={ + winter_severity_bias = 0.45 +} +# b_bosworth +1617 ={ + winter_severity_bias = 0.45 +} +# b_rutland +1613 ={ + winter_severity_bias = 0.45 +} +## c_nottinghamshire +# b_nottingham +1618 ={ + winter_severity_bias = 0.45 +} +# b_newark +1619 ={ + winter_severity_bias = 0.45 +} +# b_retford +1620 ={ + winter_severity_bias = 0.45 +} +## c_staffordshire +# b_stafford +1627 ={ + winter_severity_bias = 0.45 +} +# b_wolverhampton +1628 ={ + winter_severity_bias = 0.45 +} +# b_stoke_on_trent +1629 ={ + winter_severity_bias = 0.45 +} +## c_worcestershire +# b_worcester +1624 ={ + winter_severity_bias = 0.45 +} +# b_evesham +1625 ={ + winter_severity_bias = 0.45 +} +# b_kidderminster +1626 ={ + winter_severity_bias = 0.45 +} +## c_huntingdonshire +# b_hurstingstone +1541 ={ + winter_severity_bias = 0.45 +} +# b_norman_cross +1542 ={ + winter_severity_bias = 0.45 +} +# b_leightonstone +1543 ={ + winter_severity_bias = 0.45 +} +## c_northamptonshire +# b_northampton +1600 ={ + winter_severity_bias = 0.45 +} +# b_peterborough +1601 ={ + winter_severity_bias = 0.45 +} +# b_kettering +1602 ={ + winter_severity_bias = 0.45 +} +## c_shropshire +# b_shrewsbury +1646 ={ + winter_severity_bias = 0.45 +} +# b_ludlow +1647 ={ + winter_severity_bias = 0.45 +} +# b_bishops_castle #Clun +1648 ={ + winter_severity_bias = 0.45 +} +### d_gloucester # Hwicce +## c_gloucestershire +# b_gloucester +1580 ={ + winter_severity_bias = 0.45 +} +# b_bristol +1581 ={ + winter_severity_bias = 0.45 +} +# b_winchcombe +1582 ={ + winter_severity_bias = 0.45 +} +## c_wiltshire +# b_salisbury +1561 ={ + winter_severity_bias = 0.45 +} +# b_wilton +1562 ={ + winter_severity_bias = 0.45 +} +# b_ramsbury +1563 ={ + winter_severity_bias = 0.45 +} +# b_malmesbury +1564 ={ + winter_severity_bias = 0.45 +} +## c_oxfordshire +# b_oxford +1558 ={ + winter_severity_bias = 0.45 +} +# b_banbury +1559 ={ + winter_severity_bias = 0.45 +} +# b_witney +1560 ={ + winter_severity_bias = 0.45 +} +## c_berkshire +# b_reading +1555 ={ + winter_severity_bias = 0.45 +} +# b_newbury +1556 ={ + winter_severity_bias = 0.45 +} +# b_abingdon +1557 ={ + winter_severity_bias = 0.45 +} +### d_canterbury # Sussex +## c_kent +# b_dover +1502 ={ + winter_severity_bias = 0.45 +} +# b_canterbury +1503 ={ + winter_severity_bias = 0.45 +} +# b_rochester +1504 ={ + winter_severity_bias = 0.45 +} +# b_tonbridge +1505 ={ + winter_severity_bias = 0.45 +} +## c_surrey +# b_chertsey +1510 ={ + winter_severity_bias = 0.45 +} +# b_guildford +1511 ={ + winter_severity_bias = 0.45 +} +# b_kingston +1512 ={ + winter_severity_bias = 0.45 +} +# b_tandbridge +1513 ={ + winter_severity_bias = 0.45 +} +## c_sussex +# b_lewes +1506 ={ + winter_severity_bias = 0.45 +} +# b_chichester +1507 ={ + winter_severity_bias = 0.45 +} +# b_arun +1508 ={ + winter_severity_bias = 0.45 +} +# b_hastings +1509 ={ + winter_severity_bias = 0.45 +} +### d_somerset +## c_hampton +# b_winchester +1544 ={ + winter_severity_bias = 0.45 +} +# b_southampton +1545 ={ + winter_severity_bias = 0.45 +} +# b_portsmouth +1546 ={ + winter_severity_bias = 0.45 +} +# b_basingstoke +1547 ={ + winter_severity_bias = 0.45 +} +# b_christchurch +1548 ={ + winter_severity_bias = 0.45 +} +## c_isle_of_wight +# b_carisbrooke +1549 ={ + winter_severity_bias = 0.45 +} +## c_dorset +# b_wareham +1565 ={ + winter_severity_bias = 0.45 +} +# b_poole +1566 ={ + winter_severity_bias = 0.45 +} +# b_shaftesbury +1567 ={ + winter_severity_bias = 0.45 +} +# b_lyme +1568 ={ + winter_severity_bias = 0.45 +} +## c_somerset +# b_bath +1576 ={ + winter_severity_bias = 0.45 +} +# b_winterstoke +1577 ={ + winter_severity_bias = 0.45 +} +# b_ilchester +1578 ={ + winter_severity_bias = 0.45 +} +# b_taunton +1579 ={ + winter_severity_bias = 0.45 +} +### d_cornwall +## c_devon +# b_exeter +1569 ={ + winter_severity_bias = 0.40 +} +# b_totnes +1570 ={ + winter_severity_bias = 0.40 +} +# b_okehampton +1571 ={ + winter_severity_bias = 0.40 +} +# b_barnstaple +1572 ={ + winter_severity_bias = 0.40 +} +## c_cornwall +# b_launceston +1573 ={ + winter_severity_bias = 0.40 +} +# b_tintagel +1574 ={ + winter_severity_bias = 0.40 +} +# b_helston +1575 ={ + winter_severity_bias = 0.40 +} + + +#### k_wales +### d_gwynedd +## c_cardiganshire #Ceredigion +# b_cardigan #Aberteifi +1657 ={ + winter_severity_bias = 0.45 +} +# b_aberystwyth +1658 ={ + winter_severity_bias = 0.45 +} +## c_merioneth #Merionnydd +# b_dolgellau #Harlech +1665 ={ + winter_severity_bias = 0.45 +} +# b_corwen +1666 ={ + winter_severity_bias = 0.45 +} +## c_caernarfonshire #Eryri +# b_caernarfon +1667 ={ + winter_severity_bias = 0.45 +} +# b_llyn +1668 ={ + winter_severity_bias = 0.45 +} +# b_llandudno +1669 ={ + winter_severity_bias = 0.45 +} +## c_anglesey #Ynys Mon +# b_yns_mon +1673 ={ + winter_severity_bias = 0.45 +} +# b_holyhead #Caer Gybi +1674 ={ + winter_severity_bias = 0.45 +} +## c_denbighshire #Perfeddwlad +# b_denbigh #Dinbych +1670 ={ + winter_severity_bias = 0.45 +} +# b_wrexham #Tegeingl +1671 ={ + winter_severity_bias = 0.45 +} +# b_ruthin #Rhuthun +1672 ={ + winter_severity_bias = 0.45 +} +### d_powys +## c_maldwyn #Penllyn (Cantrefi, not the peninsula) +# b_welshpool #Mathrafal +1663 ={ + winter_severity_bias = 0.50 +} +# b_newtown #Machynlleth +1664 ={ + winter_severity_bias = 0.50 +} +## c_sir_faesyfed #Ferlix +# b_llandrindod +1661 ={ + winter_severity_bias = 0.50 +} +# b_rhayader #Rhaeadr Gwy +1662 ={ + winter_severity_bias = 0.50 +} +## c_hereford +# b_hereford +1632 ={ + winter_severity_bias = 0.45 +} +# b_wigmore +1633 ={ + winter_severity_bias = 0.45 +} +# b_clifford +1634 ={ + winter_severity_bias = 0.45 +} +### d_deheubarth +## c_carmarthenshire #Sir Gaerfyrddin +# b_carmarthen #Caerfyrddin +1652 ={ + winter_severity_bias = 0.45 +} +# b_llandovery #Llanymddyfri +1653 ={ + winter_severity_bias = 0.45 +} +## c_pembrokeshire #Dyfed +# b_pembroke #Penfro +1654 ={ + winter_severity_bias = 0.45 +} +# b_st_davids #Tyddewi +1655 ={ + winter_severity_bias = 0.45 +} +# b_fishguard #Abergwaun +1656 ={ + winter_severity_bias = 0.45 +} +## c_glamorgan #Morgannwg +# b_cardiff #Caerdydd +1649 ={ + winter_severity_bias = 0.45 +} +# b_swansea #Abertawe +1650 ={ + winter_severity_bias = 0.45 +} +# b_caerphilly #Caerffili +1651 ={ + winter_severity_bias = 0.45 +} +## c_monmouthshire #Gwent +# b_casnewydd #Caerllion +1630 ={ + winter_severity_bias = 0.45 +} +# b_monmouth #Trefynwy +1631 ={ + winter_severity_bias = 0.45 +} +## c_brecknockshire #Brycheiniog" +# b_brecon #Aberhonddu +1659 ={ + winter_severity_bias = 0.50 +} +# b_talgarth +1660 ={ + winter_severity_bias = 0.50 +} + +#### k_scotland +### d_albany +## c_gowrie +# b_st_johnston +1741 ={ + winter_severity_bias = 0.65 +} +# b_coupar_angus +1742 ={ + winter_severity_bias = 0.65 +} +# b_crieff +1745 ={ + winter_severity_bias = 0.65 +} +## c_fife +# b_dunfermline +1724 ={ + winter_severity_bias = 0.55 +} +# b_kircaldy +1725 ={ + winter_severity_bias = 0.65 +} +# b_st_andrews +1726 ={ + winter_severity_bias = 0.65 +} +## c_strathearn +# b_stirling +1734 ={ + winter_severity_bias = 0.60 +} +# b_callander +1735 ={ + winter_severity_bias = 0.60 +} +# b_clackmannan +1736 ={ + winter_severity_bias = 0.60 +} +## c_atholl +# b_dunkeld +1743 ={ + winter_severity_bias = 0.65 +} +# b_aberfeldy +1744 ={ + winter_severity_bias = 0.65 +} +## c_angus +# b_dundee +1720 ={ + winter_severity_bias = 0.55 +} +# b_kirriemuir +1721 ={ + winter_severity_bias = 0.65 +} +# b_mar +1723 ={ + winter_severity_bias = 0.65 +} +## c_mearns +# b_aberdeen +1718 ={ + winter_severity_bias = 0.55 +} +# b_kincardine +1719 ={ + winter_severity_bias = 0.55 +} +# b_ballater +1722 ={ + winter_severity_bias = 0.55 +} +### d_the_isles +## c_isle_of_man +# b_castletown +1698 ={ + winter_severity_bias = 0.55 +} +# b_ramsey +1699 ={ + winter_severity_bias = 0.55 +} +### d_galloway +## c_lennox +# b_dumbarton +1695 ={ + winter_severity_bias = 0.55 +} +# b_glasgow +1696 ={ + winter_severity_bias = 0.55 +} +# b_meneith +1697 ={ + winter_severity_bias = 0.55 +} +## c_galloway +# b_kilcudbrite +1682 ={ + winter_severity_bias = 0.55 +} +# b_sanquhar +1683 ={ + winter_severity_bias = 0.55 +} +# b_wigtown +1684 ={ + winter_severity_bias = 0.55 +} +## c_carrick +# b_maybole +1680 ={ + winter_severity_bias = 0.55 +} +# b_girvan +1685 ={ + winter_severity_bias = 0.55 +} +## c_ayrshire +# b_kyle +1686 ={ + winter_severity_bias = 0.55 +} +# b_strathgryte +1687 ={ + winter_severity_bias = 0.55 +} +# b_cunningham +1688 ={ + winter_severity_bias = 0.55 +} +## c_annandale +# b_annan +1679 ={ + winter_severity_bias = 0.55 +} +# b_dumfries +1681 ={ + winter_severity_bias = 0.55 +} +### d_western_isles +## c_inner_hebrides +# b_islay +1689 ={ + winter_severity_bias = 0.60 +} +# b_arran +1690 ={ + winter_severity_bias = 0.60 +} +# b_mull +1691 ={ + winter_severity_bias = 0.60 +} +## c_outer_hebrides +# b_skye +1692 ={ + winter_severity_bias = 0.60 +} +# b_lewis +1693 ={ + winter_severity_bias = 0.60 +} +# b_the_uists +1694 ={ + winter_severity_bias = 0.60 +} +## c_argyll +# b_kilmarten +1700 ={ + winter_severity_bias = 0.60 +} +# b_glencoe +1701 ={ + winter_severity_bias = 0.60 +} +# b_lomond +1702 ={ + winter_severity_bias = 0.60 +} +# b_ardnamurchon +35 ={ + winter_severity_bias = 0.60 +} +### d_lothian +## c_lothian +# b_edinburgh +1727 ={ + winter_severity_bias = 0.55 +} +# b_haddington +1728 ={ + winter_severity_bias = 0.55 +} +# b_galashiels +1729 ={ + winter_severity_bias = 0.55 +} +# b_penicuick +1730 ={ + winter_severity_bias = 0.55 +} +## c_dunbar +# b_dunbar +1676 ={ + winter_severity_bias = 0.55 +} +# b_berwick +1675 ={ + winter_severity_bias = 0.55 +} +## c_teviotdale +# b_kelso +1677 ={ + winter_severity_bias = 0.55 +} +# b_jedburgh +1678 ={ + winter_severity_bias = 0.55 +} +# b_selkirk +1740 ={ + winter_severity_bias = 0.55 +} +## c_linlithgowshire +# b_linlithgow +1731 ={ + winter_severity_bias = 0.55 +} +# b_queensferry +1732 ={ + winter_severity_bias = 0.55 +} +# b_falkirk +1733 ={ + winter_severity_bias = 0.55 +} +## c_lanarkshire +# b_lanark +1737 ={ + winter_severity_bias = 0.55 +} +# b_cadyou +1738 ={ + winter_severity_bias = 0.55 +} +# b_biggar +1739 ={ + winter_severity_bias = 0.55 +} +### d_moray +## c_moray +# b_elgin +1715 ={ + winter_severity_bias = 0.65 +} +# b_keith +1716 ={ + winter_severity_bias = 0.55 +} +# b_garioch +1717 ={ + winter_severity_bias = 0.55 +} +## c_ross +# b_dingwall +1703 ={ + winter_severity_bias = 0.65 +} +# b_gairloch +1704 ={ + winter_severity_bias = 0.65 +} +# b_tain +8777 ={ + winter_severity_bias = 0.65 +} +# b_applecross +8778 ={ + winter_severity_bias = 0.65 +} +## c_buchan +# b_banff +1712 ={ + winter_severity_bias = 0.55 +} +# b_mortlach +1713 ={ + winter_severity_bias = 0.55 +} +# b_peterhead +1714 ={ + winter_severity_bias = 0.55 +} +## c_sutherland +# b_dornoch +1705 ={ + winter_severity_bias = 0.65 +} +# b_durness +1706 ={ + winter_severity_bias = 0.65 +} +# b_assynt +8779 ={ + winter_severity_bias = 0.65 +} +## c_caithness +# b_thurso +1707 ={ + winter_severity_bias = 0.65 +} +# b_wick +1708 ={ + winter_severity_bias = 0.65 +} +## c_inverness +# b_inverness +1709 ={ + winter_severity_bias = 0.60 +} +# b_badenoch +1710 ={ + winter_severity_bias = 0.65 +} +# b_glenfinnan +1711 ={ + winter_severity_bias = 0.65 +} +# b_urquhart +8775 ={ + winter_severity_bias = 0.60 +} +# b_glenelg +8776 ={ + winter_severity_bias = 0.65 +} + +#### k_ireland +### d_meath +## c_dublin +# b_dublin +28 ={ + winter_severity_bias = 0.40 +} +# b_wicklow +29 ={ + winter_severity_bias = 0.40 +} +30 ={ + winter_severity_bias = 0.40 +} +31 ={ + winter_severity_bias = 0.40 +} +# b_drogheda +32 ={ + winter_severity_bias = 0.40 +} +## c_athlone +# b_athlone +34 ={ + winter_severity_bias = 0.40 +} +33 ={ + winter_severity_bias = 0.40 +} +# b_uisneach +36 ={ + winter_severity_bias = 0.40 +} +### d_ulster +## c_ulster +# b_downpatrick +15 ={ + winter_severity_bias = 0.40 +} +# b_slemish +13 ={ + winter_severity_bias = 0.40 +} +# b_carrickfergus +14 ={ + winter_severity_bias = 0.40 +} +# b_bangor +8741 ={ + winter_severity_bias = 0.40 +} +## c_oriel +# b_dundalk +18 ={ + winter_severity_bias = 0.40 +} +# b_armagh +17 ={ + winter_severity_bias = 0.40 +} +# b_ardee +19 ={ + winter_severity_bias = 0.40 +} +# b_clogher +8742 ={ + winter_severity_bias = 0.40 +} +# b_dungannon +8743 ={ + winter_severity_bias = 0.40 +} +## c_ailech +# b_donegal +9 ={ + winter_severity_bias = 0.50 +} +10 ={ + winter_severity_bias = 0.50 +} +# b_fahan +11 ={ + winter_severity_bias = 0.50 +} +# b_derry +12 ={ + winter_severity_bias = 0.50 +} +### d_connacht +## c_connacht #Renamed to Hy Many +# b_galway +20 ={ + winter_severity_bias = 0.40 +} +# b_athenry +23 ={ + winter_severity_bias = 0.40 +} +# b_tuam +8746 ={ + winter_severity_bias = 0.40 +} +# b_da_chainoc +8747 ={ + winter_severity_bias = 0.40 +} +## c_mayo +# b_cruachu +8745 ={ + winter_severity_bias = 0.40 +} +# b_castlebar +21 ={ + winter_severity_bias = 0.40 +} +# b_sligo +22 ={ + winter_severity_bias = 0.40 +} +# b_killala +8748 ={ + winter_severity_bias = 0.40 +} +## c_breifne +# b_dromahair +24 ={ + winter_severity_bias = 0.40 +} +# b_belcoo +25 ={ + winter_severity_bias = 0.40 +} +# b_longford +26 ={ + winter_severity_bias = 0.40 +} +# b_cavan +27 ={ + winter_severity_bias = 0.40 +} +# b_adragh +8744 ={ + winter_severity_bias = 0.40 +} +### d_leinster +## c_leinster +# b_wexford +37 ={ + winter_severity_bias = 0.40 +} +# b_enniscorthy +38 ={ + winter_severity_bias = 0.40 +} +# b_ferns +39 ={ + winter_severity_bias = 0.40 +} +# b_carlow +40 ={ + winter_severity_bias = 0.40 +} +## c_ossory +# b_gowran +43 ={ + winter_severity_bias = 0.40 +} +41 ={ + winter_severity_bias = 0.40 +} +# b_athy +42 ={ + winter_severity_bias = 0.40 +} +# b_carrick +44 ={ + winter_severity_bias = 0.40 +} +### d_munster +## c_thomond +# b_limerick +45 ={ + winter_severity_bias = 0.40 +} +# b_nenagh +47 ={ + winter_severity_bias = 0.40 +} +48 ={ + winter_severity_bias = 0.40 +} +# b_kilmallock +8750 ={ + winter_severity_bias = 0.40 +} +## c_ennis +# b_ennis +46 ={ + winter_severity_bias = 0.40 +} +# b_kincora +8749 ={ + winter_severity_bias = 0.40 +} +## c_ormond +# b_waterford +49 ={ + winter_severity_bias = 0.40 +} +50 ={ + winter_severity_bias = 0.40 +} +# b_clonmel +51 ={ + winter_severity_bias = 0.40 +} +## c_desmond +# b_tralee +52 ={ + winter_severity_bias = 0.40 +} +53 ={ + winter_severity_bias = 0.40 +} +# b_kinsale +54 ={ + winter_severity_bias = 0.40 +} +# b_baltimore +16 ={ + winter_severity_bias = 0.40 +} + +##### e_germany +#### k_saxony +### d_anhalt +## c_dessau +# b_dessau +3023 ={ + winter_severity_bias = 0.50 +} +# b_zerbst +3172 ={ + winter_severity_bias = 0.50 +} +## c_halberstadt +# b_halberstadt +2916 ={ + winter_severity_bias = 0.50 +} +# b_werningerode +2917 ={ + winter_severity_bias = 0.50 +} +# b_arnstein +2933 ={ + winter_severity_bias = 0.50 +} +## c_magdeburg +# b_magdeburg +2906 ={ + winter_severity_bias = 0.45 +} +# b_mockern +3171 ={ + winter_severity_bias = 0.45 +} +# b_gommern +3176 ={ + winter_severity_bias = 0.45 +} +## c_blankenburg +# b_blankenburg +2932 ={ + winter_severity_bias = 0.50 +} +# b_hohenstein +2931 ={ + winter_severity_bias = 0.50 +} +## c_mansfeld +# b_mansfeld +2936 ={ + winter_severity_bias = 0.50 +} +# b_sangerhausen +2934 ={ + winter_severity_bias = 0.50 +} +## c_mersenburg +# b_mersenburg +2935 ={ + winter_severity_bias = 0.50 +} +# b_leipzig +3019 ={ + winter_severity_bias = 0.50 +} +# b_halle +3018 ={ + winter_severity_bias = 0.50 +} +### d_angria +## c_minden +# b_diepholz +2838 ={ + winter_severity_bias = 0.45 +} +# b_minden +2840 ={ + winter_severity_bias = 0.45 +} +# b_bruchhausen +2837 ={ + winter_severity_bias = 0.45 +} +# b_hoya +2839 ={ + winter_severity_bias = 0.45 +} +## c_lippe +# b_lippe +2844 ={ + winter_severity_bias = 0.45 +} +# b_schwalenberg +2909 ={ + winter_severity_bias = 0.45 +} +# b_everstein +2910 ={ + winter_severity_bias = 0.45 +} +## c_bremen +# b_bremen +2793 ={ + winter_severity_bias = 0.45 +} +# b_verden +2794 ={ + winter_severity_bias = 0.45 +} +# b_zeven +2796 ={ + winter_severity_bias = 0.45 +} +## c_wolpe +# b_wolpe +2846 ={ + winter_severity_bias = 0.45 +} +# b_schauenburg +2845 ={ + winter_severity_bias = 0.45 +} +# b_depenau +2897 ={ + winter_severity_bias = 0.45 +} +## c_hannover +# b_hannover +2898 ={ + winter_severity_bias = 0.45 +} +# b_wunsdorf +2896 ={ + winter_severity_bias = 0.45 +} +# b_woldenberg +2914 ={ + winter_severity_bias = 0.45 +} +## c_hildesheim +# b_hildesheim +2913 ={ + winter_severity_bias = 0.45 +} +# b_homburg +2912 ={ + winter_severity_bias = 0.45 +} +# b_dassel +2911 ={ + winter_severity_bias = 0.45 +} +## c_oldenburg +# b_oldenburg +2438 ={ + winter_severity_bias = 0.45 +} +# b_leer +2436 ={ + winter_severity_bias = 0.45 +} +# b_twistringen +2442 ={ + winter_severity_bias = 0.45 +} +### d_westfalen +## c_osnabruck +# b_osnabruck +2440 ={ + winter_severity_bias = 0.45 +} +# b_ravensberg +2443 ={ + winter_severity_bias = 0.45 +} +# b_vechta +2444 ={ + winter_severity_bias = 0.45 +} +# b_cloppenburg +2445 ={ + winter_severity_bias = 0.45 +} +## c_tecklenburg +# b_tecklenburg +2446 ={ + winter_severity_bias = 0.45 +} +# b_papenburg +2441 ={ + winter_severity_bias = 0.45 +} +# b_meppen +2439 ={ + winter_severity_bias = 0.45 +} +# b_bentheim +2430 ={ + winter_severity_bias = 0.45 +} +## c_munster +# b_munster +2670 ={ + winter_severity_bias = 0.45 +} +# b_warendorf +2671 ={ + winter_severity_bias = 0.45 +} +# b_ahlen +2672 ={ + winter_severity_bias = 0.45 +} +# b_soest +2674 ={ + winter_severity_bias = 0.45 +} +## c_waldeck +# b_waldeck +2850 ={ + winter_severity_bias = 0.45 +} +# b_wittenstein +2849 ={ + winter_severity_bias = 0.45 +} +# b_buren +2843 ={ + winter_severity_bias = 0.45 +} +## c_paderborn +# b_paderborn +2847 ={ + winter_severity_bias = 0.45 +} +# b_brakel +2848 ={ + winter_severity_bias = 0.45 +} +# b_wiedenbruck +2841 ={ + winter_severity_bias = 0.45 +} +# b_lippstadt +2842 ={ + winter_severity_bias = 0.45 +} +### d_ostfalen +## c_luneburg +# b_luneburg +2893 ={ + winter_severity_bias = 0.45 +} +# b_uelzen +2937 ={ + winter_severity_bias = 0.45 +} +# b_walsrode +2903 ={ + winter_severity_bias = 0.45 +} +# b_celle +2904 ={ + winter_severity_bias = 0.45 +} +## c_brunswick +# b_brunswick +2901 ={ + winter_severity_bias = 0.45 +} +# b_wolfenbuttel +2902 ={ + winter_severity_bias = 0.45 +} +## c_hamburg +# b_hamburg +2802 ={ + winter_severity_bias = 0.45 +} +# b_buxtehude +2803 ={ + winter_severity_bias = 0.45 +} +# b_ahrensburg +2805 ={ + winter_severity_bias = 0.45 +} +## c_dannenberg +# b_dannenberg +2894 ={ + winter_severity_bias = 0.45 +} +# b_luchow +2895 ={ + winter_severity_bias = 0.45 +} +# b_gifhorn +2905 ={ + winter_severity_bias = 0.45 +} +## c_stendal +# b_stendal +2900 ={ + winter_severity_bias = 0.45 +} +# b_gardelegen +2907 ={ + winter_severity_bias = 0.45 +} +# b_werben +2899 ={ + winter_severity_bias = 0.45 +} +### d_holstein +## c_lubeck +# b_lubeck +2804 ={ + winter_severity_bias = 0.50 +} +# b_femera +2800 ={ + winter_severity_bias = 0.50 +} +# b_kiel +2801 ={ + winter_severity_bias = 0.50 +} +## c_stade +# b_stade +2795 ={ + winter_severity_bias = 0.50 +} +# b_bederkesa +2791 ={ + winter_severity_bias = 0.50 +} +# b_cuxhaven +2792 ={ + winter_severity_bias = 0.50 +} +## c_ditmarschen +# b_ditmarschen +2797 ={ + winter_severity_bias = 0.50 +} +# b_neumunster +2799 ={ + winter_severity_bias = 0.50 +} +# b_itzehoe +2798 ={ + winter_severity_bias = 0.50 +} +### d_meissen +## c_meissen +# b_meissen +3027 ={ + winter_severity_bias = 0.50 +} +# b_radebeul +3035 ={ + winter_severity_bias = 0.50 +} +# b_grossenhain +3034 ={ + winter_severity_bias = 0.50 +} +## c_dresden +# b_dresden +3030 ={ + winter_severity_bias = 0.50 +} +# b_bischofswerda +3033 ={ + winter_severity_bias = 0.50 +} +## c_wolkenstein +# b_wolkenstein +3012 ={ + winter_severity_bias = 0.50 +} +# b_waldenburg +3013 ={ + winter_severity_bias = 0.50 +} +# c_freiberg +# b_freiberg +3028 ={ + winter_severity_bias = 0.50 +} +## c_osterland +# b_eilenburg +3021 ={ + winter_severity_bias = 0.50 +} +# b_colditz +3015 ={ + winter_severity_bias = 0.50 +} +# b_devin +3017 ={ + winter_severity_bias = 0.50 +} +# b_leisning +3016 ={ + winter_severity_bias = 0.50 +} +## c_naumburg +# b_naumburg +3020 ={ + winter_severity_bias = 0.50 +} +# b_altenburg +3014 ={ + winter_severity_bias = 0.50 +} +## c_vogtland +# b_reichenbach +3039 ={ + winter_severity_bias = 0.50 +} +# b_plauen +3004 ={ + winter_severity_bias = 0.50 +} +# b_gera +3038 ={ + winter_severity_bias = 0.50 +} +# b_cheb +2997 ={ + winter_severity_bias = 0.70 +} +# b_rehau +3001 ={ + winter_severity_bias = 0.70 +} +## c_cottbus +# b_cottbus +3181 ={ + winter_severity_bias = 0.50 +} +# b_kamenz +3141 ={ + winter_severity_bias = 0.50 +} +# b_lubben +3182 ={ + winter_severity_bias = 0.50 +} +## c_gorlitz +# b_gorlitz +2980 ={ + winter_severity_bias = 0.50 +} +# b_bautzen +3032 ={ + winter_severity_bias = 0.50 +} +# b_spremberg +3136 ={ + winter_severity_bias = 0.50 +} +### d_lausitz +## c_juterbog +# b_juterbog +3180 ={ + winter_severity_bias = 0.50 +} +# b_dahme +3178 ={ + winter_severity_bias = 0.50 +} +## c_wittenberg +# b_wittenberg +3173 ={ + winter_severity_bias = 0.50 +} +# b_belizi +3174 ={ + winter_severity_bias = 0.50 +} +## c_brene +# b_torgau +3025 ={ + winter_severity_bias = 0.50 +} +# b_brene +3175 ={ + winter_severity_bias = 0.50 +} +# b_duben +3024 ={ + winter_severity_bias = 0.50 +} +## c_spreewald +# b_spreewald +3140 ={ + winter_severity_bias = 0.50 +} +# b_storkow +3159 ={ + winter_severity_bias = 0.50 +} +## c_naumberg +# b_naumberg +3143 ={ + winter_severity_bias = 0.50 +} +# b_forst +3138 ={ + winter_severity_bias = 0.50 +} +### d_thuringia +## c_schmalkalden +# b_schmalkalden +3010 ={ + winter_severity_bias = 0.50 +} +# b_eisenach +3009 ={ + winter_severity_bias = 0.50 +} +# b_gleichen +3006 ={ + winter_severity_bias = 0.50 +} +# b_beichtinen +3007 ={ + winter_severity_bias = 0.50 +} +## c_gottingen +# b_goslar +2918 ={ + winter_severity_bias = 0.70 +} +# b_gottingen +2920 ={ + winter_severity_bias = 0.50 +} +## c_gleichenstein +# b_gleichenstein +2919 ={ + winter_severity_bias = 0.50 +} +# b_ebeleben +2928 ={ + winter_severity_bias = 0.50 +} +# b_muhlhausen +2921 ={ + winter_severity_bias = 0.50 +} +## c_orlamunde +# b_orlamunde +3005 ={ + winter_severity_bias = 0.50 +} +# b_schwarzburg +2999 ={ + winter_severity_bias = 0.50 +} +# b_kafernburg +3008 ={ + winter_severity_bias = 0.50 +} +## c_lobdaburg +# b_lobdaburg +3003 ={ + winter_severity_bias = 0.50 +} +# b_hof +3000 ={ + winter_severity_bias = 0.50 +} + +#### k_frisia +### d_holland +## c_holland +# b_amsterdam +2406 ={ + winter_severity_bias = 0.45 +} +# b_delft +2404 ={ + winter_severity_bias = 0.45 +} +# b_rotterdam +2403 ={ + winter_severity_bias = 0.45 +} +# b_dort +2402 ={ + winter_severity_bias = 0.45 +} +## c_westfriesland +# b_haarlem +2405 ={ + winter_severity_bias = 0.45 +} +# b_edam +2408 ={ + winter_severity_bias = 0.45 +} +# b_medemblik +2409 ={ + winter_severity_bias = 0.45 +} +# b_aalkmar +2407 ={ + winter_severity_bias = 0.45 +} +## c_zeeland +# b_middelburg +2112 ={ + winter_severity_bias = 0.45 +} +# b_bergen_op_zoom +2113 ={ + winter_severity_bias = 0.45 +} +# b_brielle +2401 ={ + winter_severity_bias = 0.45 +} +### d_gelre +## c_guelders +# b_geldern +2450 ={ + winter_severity_bias = 0.45 +} +# b_nijmegen +2103 ={ + winter_severity_bias = 0.45 +} +# b_tiel +2425 ={ + winter_severity_bias = 0.45 +} +## c_arnhem +# b_arnhem +2428 ={ + winter_severity_bias = 0.45 +} +# b_apeldoorn +2427 ={ + winter_severity_bias = 0.45 +} +# b_harderwijk +2426 ={ + winter_severity_bias = 0.45 +} +## c_zutphen +# b_zutphen +2429 ={ + winter_severity_bias = 0.45 +} +# b_borculo +2432 ={ + winter_severity_bias = 0.45 +} +# b_bredevoort +2434 ={ + winter_severity_bias = 0.45 +} +### d_utrecht +## c_nedersticht +# b_utrecth +2424 ={ + winter_severity_bias = 0.45 +} +# b_amersfoort +2451 ={ + winter_severity_bias = 0.45 +} +## c_oversticht +# b_zwolle +2421 ={ + winter_severity_bias = 0.45 +} +# b_kampen +2416 ={ + winter_severity_bias = 0.45 +} +# b_ommen +2423 ={ + winter_severity_bias = 0.45 +} +# b_almelo +2431 ={ + winter_severity_bias = 0.45 +} +# b_coevorden +2422 ={ + winter_severity_bias = 0.45 +} +## c_groningen +# b_groningen +2417 ={ + winter_severity_bias = 0.45 +} +# b_assen +2420 ={ + winter_severity_bias = 0.45 +} +# b_emmen +2419 ={ + winter_severity_bias = 0.45 +} +# b_steenwijk +2452 ={ + winter_severity_bias = 0.45 +} +### d_frisia +## c_dokkum +# b_dokkum +2414 ={ + winter_severity_bias = 0.45 +} +# b_appingedam +2415 ={ + winter_severity_bias = 0.45 +} +# b_delfzijl +2453 ={ + winter_severity_bias = 0.45 +} +## c_ostfriesland +# b_emden +2418 ={ + winter_severity_bias = 0.45 +} +# b_wilhelmshaven +2437 ={ + winter_severity_bias = 0.45 +} +# b_varel +2454 ={ + winter_severity_bias = 0.45 +} +## c_frisia +# b_leeuwarden +2413 ={ + winter_severity_bias = 0.45 +} +# b_staveren +2410 ={ + winter_severity_bias = 0.45 +} +# b_harlingen +2411 ={ + winter_severity_bias = 0.45 +} +# b_wadeilannen +2412 ={ + winter_severity_bias = 0.45 +} + +#### k_lotharingia +### d_luxembourg +## c_luxembourg +# b_luxembourg +2082 ={ + winter_severity_bias = 0.40 +} +# b_bastogne +2090 ={ + winter_severity_bias = 0.50 +} +# b_clervaux +2449 ={ + winter_severity_bias = 0.40 +} +# b_vianden +2699 ={ + winter_severity_bias = 0.40 +} +# b_diekirch +2089 ={ + winter_severity_bias = 0.50 +} +## c_bouillon +# b_bouillon +2091 ={ + winter_severity_bias = 0.50 +} +# b_chiny +2686 ={ + winter_severity_bias = 0.50 +} +# b_saint_hubert +2687 ={ + winter_severity_bias = 0.50 +} +# b_virton +2095 ={ + winter_severity_bias = 0.40 +} +## c_liege +# b_liege +2097 ={ + winter_severity_bias = 0.40 +} +# b_la_roche +2094 ={ + winter_severity_bias = 0.40 +} +# b_huy +2096 ={ + winter_severity_bias = 0.40 +} +## c_namur +# b_namur +2098 ={ + winter_severity_bias = 0.40 +} +# b_charleroi +2116 ={ + winter_severity_bias = 0.40 +} +# b_couvin +2122 ={ + winter_severity_bias = 0.40 +} +### d_brabant +## c_brabant +# b_leuven +2105 ={ + winter_severity_bias = 0.40 +} +# b_brussels +2107 ={ + winter_severity_bias = 0.40 +} +# b_turnhout +2111 ={ + winter_severity_bias = 0.40 +} +## c_antwerpen +# b_antwerpen +2106 ={ + winter_severity_bias = 0.40 +} +# b_rosendaal +2108 ={ + winter_severity_bias = 0.40 +} +# b_breda +2109 ={ + winter_severity_bias = 0.40 +} +## c_hainaut +# b_mons +2117 ={ + winter_severity_bias = 0.40 +} +# b_tournai +2127 ={ + winter_severity_bias = 0.40 +} +# b_ath +2120 ={ + winter_severity_bias = 0.40 +} +## c_cambray +# b_cambrai +2118 ={ + winter_severity_bias = 0.40 +} +# b_malboden +2121 ={ + winter_severity_bias = 0.40 +} +# b_valenciennes +2119 ={ + winter_severity_bias = 0.40 +} +### d_julich +## c_aachen +# b_aachen +2092 ={ + winter_severity_bias = 0.40 +} +# b_limbourg +2448 ={ + winter_severity_bias = 0.40 +} +# b_duren +2093 ={ + winter_severity_bias = 0.40 +} +# b_eschweiler +2683 ={ + winter_severity_bias = 0.40 +} +# b_prum +2684 ={ + winter_severity_bias = 0.40 +} +## c_cleves +# b_kleve +2104 ={ + winter_severity_bias = 0.40 +} +# b_gladbach +2102 ={ + winter_severity_bias = 0.40 +} +# b_wezel +2435 ={ + winter_severity_bias = 0.40 +} +# b_moers +2101 ={ + winter_severity_bias = 0.40 +} +## c_maastricht +# b_maastricht +2099 ={ + winter_severity_bias = 0.40 +} +# b_eindhoven +2100 ={ + winter_severity_bias = 0.40 +} +# b_tilburg +2110 ={ + winter_severity_bias = 0.40 +} +### d_upper_lorraine +## c_trier +# b_trier +2083 ={ + winter_severity_bias = 0.40 +} +# b_beda +2085 ={ + winter_severity_bias = 0.50 +} +# b_konz +2700 ={ + winter_severity_bias = 0.40 +} +# b_wadern +2703 ={ + winter_severity_bias = 0.40 +} +## c_nancy +# b_nancy +2709 ={ + winter_severity_bias = 0.40 +} +# b_epinal +2078 ={ + winter_severity_bias = 0.40 +} +# b_blankenberg #Lunstadt +2713 ={ + winter_severity_bias = 0.40 +} +# b_salm +2714 ={ + winter_severity_bias = 0.55 +} +## c_metz +# b_metz +2708 ={ + winter_severity_bias = 0.40 +} +# b_saarburg +2698 ={ + winter_severity_bias = 0.40 +} +# b_forbach +2705 ={ + winter_severity_bias = 0.40 +} +# b_faulquemont +2711 ={ + winter_severity_bias = 0.40 +} +## c_saarbrucken +# b_saarbrucken +2704 ={ + winter_severity_bias = 0.40 +} +# b_zweibrucken +2726 ={ + winter_severity_bias = 0.40 +} +# b_bitsch +2725 ={ + winter_severity_bias = 0.40 +} +## c_puttlingen +# b_puttlingen +2710 ={ + winter_severity_bias = 0.40 +} +# b_finstigen #Finstingen +2712 ={ + winter_severity_bias = 0.40 +} +## c_neufchateau +# b_neufchateau +2384 ={ + winter_severity_bias = 0.40 +} +# b_vaudemont +2715 ={ + winter_severity_bias = 0.40 +} +# b_lure +2192 ={ + winter_severity_bias = 0.40 +} +### d_lower_lorraine +## c_cologne +# b_cologne +2088 ={ + winter_severity_bias = 0.40 +} +# b_bonn +2087 ={ + winter_severity_bias = 0.40 +} +# b_neuss +2682 ={ + winter_severity_bias = 0.40 +} +# b_nauenahr +2685 ={ + winter_severity_bias = 0.40 +} +## c_dortmund +# b_dortmund +2673 ={ + winter_severity_bias = 0.40 +} +# b_essen +2677 ={ + winter_severity_bias = 0.40 +} +# b_recklinghausen +2675 ={ + winter_severity_bias = 0.40 +} +## c_arnsberg +# b_arnsberg +2680 ={ + winter_severity_bias = 0.40 +} +# b_bilstein +2681 ={ + winter_severity_bias = 0.40 +} +## c_mark +# b_mark +2679 ={ + winter_severity_bias = 0.40 +} +# b_hagen +2678 ={ + winter_severity_bias = 0.40 +} +# b_hukeswag +2676 ={ + winter_severity_bias = 0.40 +} +## c_koblenz +# b_koblenz +2084 ={ + winter_severity_bias = 0.40 +} +# b_adenau +2086 ={ + winter_severity_bias = 0.40 +} +# b_cochem +2697 ={ + winter_severity_bias = 0.40 +} +# b_sponhem #Sponheim +2696 ={ + winter_severity_bias = 0.40 +} +## c_bergh +# b_bergh +2433 ={ + winter_severity_bias = 0.40 +} +# b_siegburg +2688 ={ + winter_severity_bias = 0.40 +} +## c_sayn +# b_sayn +2689 ={ + winter_severity_bias = 0.40 +} +# b_wied +2690 ={ + winter_severity_bias = 0.40 +} +# b_isenburg +2691 ={ + winter_severity_bias = 0.40 +} + +#### k_bavaria +### d_bavaria +## c_regensburg +# b_regensburg +2964 ={ + winter_severity_bias = 0.55 +} +# b_tegernheim +2965 ={ + winter_severity_bias = 0.55 +} +# b_abensberg +2941 ={ + winter_severity_bias = 0.55 +} +# b_leonsberg +2963 ={ + winter_severity_bias = 0.55 +} +## c_munchen +# b_munchen +2945 ={ + winter_severity_bias = 0.55 +} +# b_aheim +2946 ={ + winter_severity_bias = 0.55 +} +# b_wolfratshausen +2947 ={ + winter_severity_bias = 0.55 +} +## c_eschenlohe +# b_eschenlohe +2949 ={ + winter_severity_bias = 0.55 +} +# b_tolz +2948 ={ + winter_severity_bias = 0.55 +} +## c_rothenburg +# b_rothenburg +2942 ={ + winter_severity_bias = 0.55 +} +# b_freising +2943 ={ + winter_severity_bias = 0.55 +} +# b_ilmunster +2939 ={ + winter_severity_bias = 0.55 +} +## c_geisenhausen +# b_geisenhausen +2957 ={ + winter_severity_bias = 0.55 +} +# b_erding +2958 ={ + winter_severity_bias = 0.55 +} +## c_frontenhausen +# b_frontenhausen +2959 ={ + winter_severity_bias = 0.55 +} +# b_dornberg +2961 ={ + winter_severity_bias = 0.55 +} +# b_ortenburg +2962 ={ + winter_severity_bias = 0.55 +} +# b_burghausen +2981 ={ + winter_severity_bias = 0.55 +} +## c_falkenstein +# b_falkenstein +2956 ={ + winter_severity_bias = 0.55 +} +# b_marquardstein +2984 ={ + winter_severity_bias = 0.55 +} +## c_ingolstadt +# b_ingolstadt +2883 ={ + winter_severity_bias = 0.55 +} +# b_munchsmunster +2940 ={ + winter_severity_bias = 0.55 +} +# b_niederschonenfeld +2938 ={ + winter_severity_bias = 0.55 +} +## c_passau +# b_passau +2960 ={ + winter_severity_bias = 0.55 +} +# b_waldkirchen +2969 ={ + winter_severity_bias = 0.55 +} +# b_scharding +2970 ={ + winter_severity_bias = 0.55 +} +# b_deggendorf +2968 ={ + winter_severity_bias = 0.55 +} +### d_nordgau +## c_eichstadt +# b_eichtstad +2878 ={ + winter_severity_bias = 0.50 +} +# b_hirschberg +2879 ={ + winter_severity_bias = 0.50 +} +# b_neue_weissenburg +2882 ={ + winter_severity_bias = 0.50 +} +## c_leuchtenburg +# b_leuchtenburg +2990 ={ + winter_severity_bias = 0.70 +} +# b_kulmbach +2994 ={ + winter_severity_bias = 0.65 +} +# b_bayreuth +2993 ={ + winter_severity_bias = 0.50 +} +## c_parsberg +# b_parsberg +2987 ={ + winter_severity_bias = 0.50 +} +# b_lengenfeld +2986 ={ + winter_severity_bias = 0.50 +} +# b_sulzbach +2988 ={ + winter_severity_bias = 0.50 +} +# b_neumarkt +2991 ={ + winter_severity_bias = 0.50 +} +## c_hohenburg +# b_hohenburg +2989 ={ + winter_severity_bias = 0.50 +} +# b_cham +2967 ={ + winter_severity_bias = 0.70 +} +# b_wenzenbach +2966 ={ + winter_severity_bias = 0.50 +} +### d_salzburg +## c_salzburg +# b_salzburg +2975 ={ + winter_severity_bias = 0.55 +} +# b_braunau +2973 ={ + winter_severity_bias = 0.55 +} +# b_traunstein +2983 ={ + winter_severity_bias = 0.55 +} +# b_hallein +2978 ={ + winter_severity_bias = 0.60 +} +# b_laufen +2982 ={ + winter_severity_bias = 0.55 +} +## c_berchtesgaden +# b_berchtesgaden +2977 ={ + winter_severity_bias = 0.60 +} +# b_laukental +2985 ={ + winter_severity_bias = 0.60 +} +# b_kitzbuhel +2976 ={ + winter_severity_bias = 0.60 +} +## c_hallstatt +# b_hallstatt +3135 ={ + winter_severity_bias = 0.55 +} +# b_liezen +3130 ={ + winter_severity_bias = 0.55 +} +# b_wels +3133 ={ + winter_severity_bias = 0.55 +} +## c_linz +# b_linz +3131 ={ + winter_severity_bias = 0.55 +} +# b_steyr +3132 ={ + winter_severity_bias = 0.55 +} +# b_leonfelden +3072 ={ + winter_severity_bias = 0.55 +} +## c_schaumberg +# b_schaumberg +2971 ={ + winter_severity_bias = 0.55 +} +# b_strasswalchen +2979 ={ + winter_severity_bias = 0.55 +} +# b_ried +2972 ={ + winter_severity_bias = 0.55 +} +### d_augsburg +## c_augsburg +# b_augsburg +2778 ={ + winter_severity_bias = 0.55 +} +# b_friedberg +2779 ={ + winter_severity_bias = 0.55 +} +# b_lechrain +2780 ={ + winter_severity_bias = 0.55 +} +# b_kaufbeuren +2784 ={ + winter_severity_bias = 0.55 +} +## c_alpsee +# b_schongau +2782 ={ + winter_severity_bias = 0.60 +} +# b_peiting +2781 ={ + winter_severity_bias = 0.60 +} +# b_hohenschwangau +2790 ={ + winter_severity_bias = 0.70 +} +## c_kempten +# b_kempten +2783 ={ + winter_severity_bias = 0.55 +} +# b_marsetten +2776 ={ + winter_severity_bias = 0.55 +} +# b_memmingen +2785 ={ + winter_severity_bias = 0.55 +} +## c_ravensburg +# b_ravensburg +2786 ={ + winter_severity_bias = 0.55 +} +# b_bregenz +2787 ={ + winter_severity_bias = 0.55 +} +## c_burgau +# b_burgau +2777 ={ + winter_severity_bias = 0.55 +} +# b_kirchberg +2775 ={ + winter_severity_bias = 0.55 +} +### d_steyermark +## c_graz +# b_graz +3117 ={ + winter_severity_bias = 0.55 +} +# b_koflach +3111 ={ + winter_severity_bias = 0.55 +} +# b_kapfenberg +3118 ={ + winter_severity_bias = 0.55 +} +# b_leoben +3110 ={ + winter_severity_bias = 0.55 +} +# b_feldbach +3116 ={ + winter_severity_bias = 0.55 +} +## c_pitten +# b_pitten +3092 ={ + winter_severity_bias = 0.55 +} +# b_oberwart +3120 ={ + winter_severity_bias = 0.55 +} +## c_liebnitz +# b_liebnitz +3109 ={ + winter_severity_bias = 0.65 +} +# b_maribor +3103 ={ + winter_severity_bias = 0.55 +} +# b_windische_buhel +3106 ={ + winter_severity_bias = 0.55 +} +## c_murzzuschlag +# b_murzzuschlag +3121 ={ + winter_severity_bias = 0.55 +} +# b_ostfurstenfeld +3119 ={ + winter_severity_bias = 0.55 +} +### d_osterreich +## c_vienna +# b_vienna +3086 ={ + winter_severity_bias = 0.55 +} +# b_ernstbrunn +3085 ={ + winter_severity_bias = 0.55 +} +# b_floridsdorf +3084 ={ + winter_severity_bias = 0.55 +} +# b_padun +3091 ={ + winter_severity_bias = 0.55 +} +# b_bruck +3087 ={ + winter_severity_bias = 0.55 +} +## c_hohenau +# b_hohenau +3081 ={ + winter_severity_bias = 0.55 +} +# b_laa +3079 ={ + winter_severity_bias = 0.55 +} +# b_mistelbach +3082 ={ + winter_severity_bias = 0.55 +} +## c_sankt_polten +# b_sankt_polten +3089 ={ + winter_severity_bias = 0.55 +} +# b_mariazell +3122 ={ + winter_severity_bias = 0.55 +} +# b_wieselburg +3094 ={ + winter_severity_bias = 0.55 +} +## c_freistadt +# b_freistadt +3073 ={ + winter_severity_bias = 0.55 +} +# b_spitz +3090 ={ + winter_severity_bias = 0.55 +} +# b_zwettl +3076 ={ + winter_severity_bias = 0.55 +} +# b_gmund +3074 ={ + winter_severity_bias = 0.55 +} +## c_amstetten +# b_amstetten +3093 ={ + winter_severity_bias = 0.55 +} +# b_waidhofen +3124 ={ + winter_severity_bias = 0.55 +} +## c_krems +# b_krems +3088 ={ + winter_severity_bias = 0.55 +} +# b_wild +3075 ={ + winter_severity_bias = 0.55 +} +# b_horn +3077 ={ + winter_severity_bias = 0.55 +} +# b_haugsdorf +3078 ={ + winter_severity_bias = 0.55 +} +### d_tyrol +## c_innsbruck +# b_innsbruck +2950 ={ + winter_severity_bias = 0.70 +} +# b_bozen #Meran +2954 ={ + winter_severity_bias = 0.70 +} +# b_kufstein +2953 ={ + winter_severity_bias = 0.60 +} +## c_brixen +# b_brixen +2955 ={ + winter_severity_bias = 0.70 +} +# b_bruneck +2952 ={ + winter_severity_bias = 0.70 +} +## c_lienz +# b_lienz +3134 ={ + winter_severity_bias = 0.70 +} +# b_obervallach +3137 ={ + winter_severity_bias = 0.70 +} +# b_matrei +2951 ={ + winter_severity_bias = 0.70 +} +### d_carinthia +## c_karnten +# b_klagenfurt +3105 ={ + winter_severity_bias = 0.70 +} +# b_sankt_veit +3113 ={ + winter_severity_bias = 0.70 +} +# b_wolfsberg +3108 ={ + winter_severity_bias = 0.70 +} +## c_kammersberg +# b_kammersberg +3128 ={ + winter_severity_bias = 0.70 +} +# b_murau +3114 ={ + winter_severity_bias = 0.70 +} +# b_irdning +3129 ={ + winter_severity_bias = 0.70 +} +# b_tamsweg +3115 ={ + winter_severity_bias = 0.70 +} +## c_knittelfeld +# b_knittelfeld +3125 ={ + winter_severity_bias = 0.60 +} +# b_judenburg +3112 ={ + winter_severity_bias = 0.60 +} +# b_admont +3126 ={ + winter_severity_bias = 0.60 +} +## c_villach +# b_villach +3099 ={ + winter_severity_bias = 0.90 +} +# b_feldkirchen +3127 ={ + winter_severity_bias = 0.70 +} +# b_spittal +3083 ={ + winter_severity_bias = 0.70 +} +### d_krain +## c_kranj +# b_kranj +3100 ={ + winter_severity_bias = 0.60 +} +# b_krsko +3102 ={ + winter_severity_bias = 0.50 +} +# b_kamnik +3101 ={ + winter_severity_bias = 0.50 +} +## c_ljubljana +# b_ljubljana +3096 ={ + winter_severity_bias = 0.60 +} +# b_dobovec +3097 ={ + winter_severity_bias = 0.50 +} +# b_rudolfswerde +3098 ={ + winter_severity_bias = 0.50 +} +# b_ribnica +3095 ={ + winter_severity_bias = 0.60 +} +### d_istria +## c_pula +# b_pula +2518 ={ + winter_severity_bias = 0.20 +} +# b_piran +2519 ={ + winter_severity_bias = 0.20 +} +# b_pazin +2520 ={ + winter_severity_bias = 0.20 +} +# b_labin +2522 ={ + winter_severity_bias = 0.20 +} + +#### k_east_francia #Germany +### d_west_franconia +## c_frankfurt +# b_frankfurt +2855 ={ + winter_severity_bias = 0.45 +} +# b_limburg +2854 ={ + winter_severity_bias = 0.45 +} +# b_russelsheim +2741 ={ + winter_severity_bias = 0.45 +} +# b_hanau +2863 ={ + winter_severity_bias = 0.45 +} +# b_kronberg +2856 ={ + winter_severity_bias = 0.45 +} +## c_mainz +# b_mainz +2694 ={ + winter_severity_bias = 0.45 +} +# b_wiesbaden +2693 ={ + winter_severity_bias = 0.45 +} +# b_katzenelnbogen +2692 ={ + winter_severity_bias = 0.45 +} +# b_boppard +2695 ={ + winter_severity_bias = 0.45 +} +## c_klingenberg +# b_klingenberg +2862 ={ + winter_severity_bias = 0.45 +} +# b_gelnhausen +2864 ={ + winter_severity_bias = 0.45 +} +# b_rieneck +2866 ={ + winter_severity_bias = 0.45 +} +## c_erbach +# b_erbach +2737 ={ + winter_severity_bias = 0.45 +} +# b_seligenstadt +2742 ={ + winter_severity_bias = 0.45 +} +# b_weinheim +2735 ={ + winter_severity_bias = 0.45 +} +#b_darmundestat +## c_worms +# b_worms +2731 ={ + winter_severity_bias = 0.45 +} +# b_besensheim +2736 ={ + winter_severity_bias = 0.45 +} +## c_speyer +# b_speyer +2732 ={ + winter_severity_bias = 0.45 +} +# b_hockenheim +2744 ={ + winter_severity_bias = 0.45 +} +# b_heidelberg +2733 ={ + winter_severity_bias = 0.45 +} +# b_weissenburg +2724 ={ + winter_severity_bias = 0.45 +} +# b_pirmasens +2730 ={ + winter_severity_bias = 0.45 +} +## c_vaihingen +# b_vaihingen +2745 ={ + winter_severity_bias = 0.45 +} +# b_heilbronn +2743 ={ + winter_severity_bias = 0.45 +} +# b_lowenstein +2772 ={ + winter_severity_bias = 0.45 +} +## c_durne +# b_durne +2739 ={ + winter_severity_bias = 0.45 +} +# b_mosbach +2738 ={ + winter_severity_bias = 0.45 +} +# b_wertheim +2868 ={ + winter_severity_bias = 0.45 +} +## c_kaiserslautern +# b_kaiserslautern +2729 ={ + winter_severity_bias = 0.45 +} +# b_letningen +2728 ={ + winter_severity_bias = 0.45 +} +# b_kreusnach +2707 ={ + winter_severity_bias = 0.45 +} +# b_rockenhausen +2727 ={ + winter_severity_bias = 0.45 +} +# b_veldenz +2701 ={ + winter_severity_bias = 0.45 +} +#c_rhein +### d_east_franconia +## c_wurzburg +# b_wurzburg +2870 ={ + winter_severity_bias = 0.50 +} +# b_hochberg +2869 ={ + winter_severity_bias = 0.50 +} +# b_hammelburg +2871 ={ + winter_severity_bias = 0.50 +} +## c_ansbach +# b_ansbach +2875 ={ + winter_severity_bias = 0.50 +} +# b_uffenheim +2891 ={ + winter_severity_bias = 0.50 +} +# b_trubending +2880 ={ + winter_severity_bias = 0.50 +} +## c_coburg +# b_coburg +2998 ={ + winter_severity_bias = 0.50 +} +# b_lichtenfels +2995 ={ + winter_severity_bias = 0.50 +} +## c_hohenlohe +# b_mergentheim +2889 ={ + winter_severity_bias = 0.50 +} +# b_weinsberg +2872 ={ + winter_severity_bias = 0.50 +} +# b_hall +2887 ={ + winter_severity_bias = 0.50 +} +## c_nurnberg +# b_nurnberg +2877 ={ + winter_severity_bias = 0.50 +} +# b_riedfeld +2892 ={ + winter_severity_bias = 0.50 +} +# b_abenberg +2876 ={ + winter_severity_bias = 0.50 +} +## c_bamberg +# b_bamberg +2874 ={ + winter_severity_bias = 0.50 +} +# b_greiffenst +2992 ={ + winter_severity_bias = 0.50 +} +# b_casel +2873 ={ + winter_severity_bias = 0.50 +} +# b_iphofen +2890 ={ + winter_severity_bias = 0.50 +} +## c_nordlingen +# b_nordlingen +2886 ={ + winter_severity_bias = 0.50 +} +# b_dillingen +2885 ={ + winter_severity_bias = 0.50 +} +# b_crailsheim +2888 ={ + winter_severity_bias = 0.50 +} +## c_wiltberg +# b_wiltberg +2927 ={ + winter_severity_bias = 0.50 +} +# b_schweinfurt +2926 ={ + winter_severity_bias = 0.50 +} +# b_henneberg +2925 ={ + winter_severity_bias = 0.50 +} +### d_hesse +## c_kassel +# b_kassel +2860 ={ + winter_severity_bias = 0.50 +} +# b_ziegenhain +2858 ={ + winter_severity_bias = 0.50 +} +# b_hofgeismar +2915 ={ + winter_severity_bias = 0.50 +} +# b_munden +2922 ={ + winter_severity_bias = 0.50 +} +## c_fulda +# b_fulda +2924 ={ + winter_severity_bias = 0.50 +} +# b_hersfeld +2923 ={ + winter_severity_bias = 0.50 +} +# b_lauterbach +2867 ={ + winter_severity_bias = 0.50 +} +## c_nassau +# b_siegen +2852 ={ + winter_severity_bias = 0.50 +} +# b_solms +2853 ={ + winter_severity_bias = 0.50 +} +# b_diez +2851 ={ + winter_severity_bias = 0.50 +} +## c_marburg +# b_marburg +2859 ={ + winter_severity_bias = 0.50 +} +# b_nidda +2861 ={ + winter_severity_bias = 0.50 +} +# b_budingen +2865 ={ + winter_severity_bias = 0.50 +} +# b_wetzlar +2857 ={ + winter_severity_bias = 0.50 +} +### d_currezia +## c_grisons +# b_chur +2055 ={ + winter_severity_bias = 0.90 +} +# b_farduzes +2052 ={ + winter_severity_bias = 0.70 +} +# b_vares +2789 ={ + winter_severity_bias = 0.90 +} +# b_werdenburg +2788 ={ + winter_severity_bias = 0.70 +} +## c_sankt_gallen +# b_sankt_gallen +2053 ={ + winter_severity_bias = 0.5 +} +# b_konstanz +2054 ={ + winter_severity_bias = 0.5 +} +## c_zurich +# b_zurich +2051 ={ + winter_severity_bias = 0.5 +} +# b_schwyz +2461 ={ + winter_severity_bias = 0.70 +} +# b_engelberg +3107 ={ + winter_severity_bias = 0.70 +} +# b_basel +2050 ={ + winter_severity_bias = 0.5 +} +### d_alsace +## c_strassburg +# b_strassburg +2721 ={ + winter_severity_bias = 0.45 +} +# b_haguenau +2722 ={ + winter_severity_bias = 0.45 +} +# b_lichtberg +2723 ={ + winter_severity_bias = 0.45 +} +## c_breisgau +# b_freiburg +2751 ={ + winter_severity_bias = 0.45 +} +# b_sankt_blasien +2750 ={ + winter_severity_bias = 0.45 +} +# b_offenburg +2752 ={ + winter_severity_bias = 0.45 +} +# b_geroldseck +2753 ={ + winter_severity_bias = 0.45 +} +## c_colmar +# b_colmar +2717 ={ + winter_severity_bias = 0.45 +} +# b_selestat +2719 ={ + winter_severity_bias = 0.45 +} +## c_sundgau +# b_montbelliard +2057 ={ + winter_severity_bias = 0.45 +} +# b_mulhouse +2058 ={ + winter_severity_bias = 0.45 +} +# b_ferrette +2720 ={ + winter_severity_bias = 0.45 +} +# b_porrentruy +2056 ={ + winter_severity_bias = 0.45 +} +### d_swabia +## c_ulm +# b_ulm +2768 ={ + winter_severity_bias = 0.50 +} +# b_hellenenstein +2769 ={ + winter_severity_bias = 0.50 +} +# b_helfenstein +2770 ={ + winter_severity_bias = 0.50 +} +# b_schelklingen +2766 ={ + winter_severity_bias = 0.50 +} +## c_grunningen +# b_grunningen +2773 ={ + winter_severity_bias = 0.50 +} +# b_sigmaringen +2767 ={ + winter_severity_bias = 0.50 +} +# b_berge +2774 ={ + winter_severity_bias = 0.50 +} +# b_heiligenberg +2761 ={ + winter_severity_bias = 0.50 +} +## c_wurttemberg +# b_wurttemberg +2748 ={ + winter_severity_bias = 0.50 +} +# b_tubingen +2749 ={ + winter_severity_bias = 0.50 +} +# b_teck +2771 ={ + winter_severity_bias = 0.50 +} +## c_baden +# b_baden +2746 ={ + winter_severity_bias = 0.50 +} +# b_sulz +2755 ={ + winter_severity_bias = 0.50 +} +# b_calw +2747 ={ + winter_severity_bias = 0.50 +} +## c_zollern +# b_zollern +2763 ={ + winter_severity_bias = 0.50 +} +# b_vehringen +2764 ={ + winter_severity_bias = 0.50 +} +# b_reutlingen +2765 ={ + winter_severity_bias = 0.50 +} +## c_hohenberg +# b_hohenberg +2759 ={ + winter_severity_bias = 0.50 +} +# b_rottweil +2756 ={ + winter_severity_bias = 0.50 +} +## c_furstenberg +# b_furstenberg +2757 ={ + winter_severity_bias = 0.50 +} +# b_lupfen +2758 ={ + winter_severity_bias = 0.50 +} +# b_clettgau +2760 ={ + winter_severity_bias = 0.50 +} +# b_nellenburg +2762 ={ + winter_severity_bias = 0.50 +} + +#### k_bohemia +### d_bohemia +## c_praha +# b_praha +4125 ={ + winter_severity_bias = 0.55 +} +# b_vysehrad +4126 ={ + winter_severity_bias = 0.55 +} +# b_beroun +4127 ={ + winter_severity_bias = 0.55 +} +# b_melnik +4128 ={ + winter_severity_bias = 0.55 +} +# b_slany +4130 ={ + winter_severity_bias = 0.55 +} +# b_milevsko +4158 ={ + winter_severity_bias = 0.55 +} +## c_litomerice +# b_litomerice +4129 ={ + winter_severity_bias = 0.55 +} +# b_bilina +4131 ={ + winter_severity_bias = 0.70 +} +# b_decin +4133 ={ + winter_severity_bias = 0.70 +} +# b_zitava +4135 ={ + winter_severity_bias = 0.55 +} +## c_zatec +# b_zatec +4147 ={ + winter_severity_bias = 0.55 +} +# b_kadan +4132 ={ + winter_severity_bias = 0.70 +} +# b_sedlec +4141 ={ + winter_severity_bias = 0.65 +} +# b_loket +4142 ={ + winter_severity_bias = 0.55 +} +## c_plzen +# b_plzen +4145 ={ + winter_severity_bias = 0.55 +} +# b_stribro +4143 ={ + winter_severity_bias = 0.55 +} +# b_primda +4144 ={ + winter_severity_bias = 0.55 +} +# b_domazlice +4146 ={ + winter_severity_bias = 0.70 +} +# b_prachen +4149 ={ + winter_severity_bias = 0.55 +} +# b_pisek +4151 ={ + winter_severity_bias = 0.55 +} +## c_doudleby +# b_doudleby +4154 ={ + winter_severity_bias = 0.55 +} +# b_netolice +4150 ={ + winter_severity_bias = 0.55 +} +# b_rozmberk +4153 ={ + winter_severity_bias = 0.70 +} +# b_krumlov +4152 ={ + winter_severity_bias = 0.70 +} +# b_chynov +4156 ={ + winter_severity_bias = 0.55 +} +# b_bechyne +4157 ={ + winter_severity_bias = 0.55 +} +## c_boleslav +# b_boleslav +4136 ={ + winter_severity_bias = 0.55 +} +# b_bezdez +4134 ={ + winter_severity_bias = 0.70 +} +## c_hradec +# b_hradec +4138 ={ + winter_severity_bias = 0.55 +} +# b_dvur-chvojno +4137 ={ + winter_severity_bias = 0.70 +} +# b_jaromer +4139 ={ + winter_severity_bias = 0.55 +} +# b_kladzko #Kladsko +3047 ={ + winter_severity_bias = 0.70 +} +## c_caslav +# b_caslav +4161 ={ + winter_severity_bias = 0.55 +} +# b_vraclav +4140 ={ + winter_severity_bias = 0.55 +} +# b_chrudim +4160 ={ + winter_severity_bias = 0.55 +} +### d_moravia +## c_olomouc +# b_olomouc +4165 ={ + winter_severity_bias = 0.55 +} +# b_unicov +4181 ={ + winter_severity_bias = 0.55 +} +# b_kromeriz +4148 ={ + winter_severity_bias = 0.55 +} +## c_opava +# b_opava +4184 ={ + winter_severity_bias = 0.55 +} +# b_hradec-nad-moravici +4183 ={ + winter_severity_bias = 0.55 +} +## c_prerov +# b_prerov +4182 ={ + winter_severity_bias = 0.55 +} +# b_spytihnev +4159 ={ + winter_severity_bias = 0.55 +} +# b_hodonin +4170 ={ + winter_severity_bias = 0.55 +} +# b_veseli +8999 ={ + winter_severity_bias = 0.55 +} +## c_brno +# b_brno +4168 ={ + winter_severity_bias = 0.55 +} +# b_ivancice +4167 ={ + winter_severity_bias = 0.55 +} +# b_zdar +4163 ={ + winter_severity_bias = 0.55 +} +## c_jihlava +# b_jihlava +4162 ={ + winter_severity_bias = 0.55 +} +# b_telcz +4155 ={ + winter_severity_bias = 0.55 +} +## c_znojmo +# b_znojmo +4166 ={ + winter_severity_bias = 0.55 +} +# b_bitov +4164 ={ + winter_severity_bias = 0.55 +} +# b_breclav +4169 ={ + winter_severity_bias = 0.55 +} +# b_mikulov +3080 ={ + winter_severity_bias = 0.55 +} + +##### e_byzantium +#### k_thessalonika +### d_thrace +## c_byzantion +# b_constantinople +496 ={ + winter_severity_bias = 0.10 +} +## c_kalliopolis +# b_kalliopolis +495 ={ + winter_severity_bias = 0.0 +} +# b_ainos +3766 ={ + winter_severity_bias = 0.0 +} +# b_kypsela +3765 ={ + winter_severity_bias = 0.0 +} +# b_raidestos +3764 ={ + winter_severity_bias = 0.0 +} +# b_chariopolis +3763 ={ + winter_severity_bias = 0.0 +} +## c_brysis +# b_brysis +497 ={ + winter_severity_bias = 0.10 +} +# b_arkadiopolis +3760 ={ + winter_severity_bias = 0.10 +} +# b_selymbria +3761 ={ + winter_severity_bias = 0.10 +} +# b_herakleiaperinthos +3762 ={ + winter_severity_bias = 0.10 +} +# b_bizye +3759 ={ + winter_severity_bias = 0.10 +} +# b_salmydessus +3758 ={ + winter_severity_bias = 0.10 +} +### d_strymon +## c_mosynopolis +# b_mosynopolis +492 ={ + winter_severity_bias = 0.0 +} +# b_xanthia +3767 ={ + winter_severity_bias = 0.0 +} +# b_traianopolis +3768 ={ + winter_severity_bias = 0.0 +} +# b_thasos +3769 ={ + winter_severity_bias = 0.0 +} +# b_rodopi +3554 ={ + winter_severity_bias = 0.70 +} +## c_serres +# b_serres +3771 ={ + winter_severity_bias = 0.0 +} +# b_siderokastron +3770 ={ + winter_severity_bias = 0.0 +} +# b_drama +3772 ={ + winter_severity_bias = 0.0 +} +# b_kavala +3773 ={ + winter_severity_bias = 0.0 +} +# b_chrysopolis +3774 ={ + winter_severity_bias = 0.0 +} +### d_aegean_islands +## c_naxos +# b_naxos +484 ={ + winter_severity_bias = 0.0 +} +# b_thera +3757 ={ + winter_severity_bias = 0.0 +} +# b_andros +3755 ={ + winter_severity_bias = 0.0 +} +# b_tinos +3756 ={ + winter_severity_bias = 0.0 +} +## c_abydos +# b_abydos +744 ={ + winter_severity_bias = 0.0 +} +# b_lampsakos +3749 ={ + winter_severity_bias = 0.10 +} +# b_ilion +3750 ={ + winter_severity_bias = 0.0 +} +# b_alexandriatroas +3751 ={ + winter_severity_bias = 0.0 +} +# b_pagaea +3748 ={ + winter_severity_bias = 0.10 +} +## c_lesbos +# b_mytilene +487 ={ + winter_severity_bias = 0.0 +} +# b_lemnos +3752 ={ + winter_severity_bias = 0.0 +} +# b_skyros +3753 ={ + winter_severity_bias = 0.0 +} +## c_chios +# b_chios +486 ={ + winter_severity_bias = 0.0 +} +# b_samos +3754 ={ + winter_severity_bias = 0.0 +} +## c_rhodos +# b_rhodos +483 ={ + winter_severity_bias = 0.0 +} +# b_kos +3740 ={ + winter_severity_bias = 0.0 +} +# b_lindos +3741 ={ + winter_severity_bias = 0.0 +} +# b_karpathos +3742 ={ + winter_severity_bias = 0.0 +} +### d_thessalonika +## c_thessalonika +# b_thessaloniki +490 ={ + winter_severity_bias = 0.0 +} +# b_gynaikokastron +3778 ={ + winter_severity_bias = 0.0 +} +# b_langades +3779 ={ + winter_severity_bias = 0.0 +} +# b_mavrouda +3780 ={ + winter_severity_bias = 0.0 +} +## c_chalkidike +# b_polygyros +491 ={ + winter_severity_bias = 0.0 +} +# b_rendina +3775 ={ + winter_severity_bias = 0.0 +} +# b_kassandreia +3777 ={ + winter_severity_bias = 0.0 +} +# b_ierrisos +3776 ={ + winter_severity_bias = 0.0 +} +## c_veria +# b_veria +3784 ={ + winter_severity_bias = 0.0 +} +# b_maglen +3781 ={ + winter_severity_bias = 0.0 +} +# b_sthlanitza +3782 ={ + winter_severity_bias = 0.0 +} +# b_voden +3783 ={ + winter_severity_bias = 0.0 +} +# b_kalyvia +3785 ={ + winter_severity_bias = 0.50 +} +### d_thessaly +## c_thessalia +# b_larissa +489 ={ + winter_severity_bias = 0.0 +} +# b_platamon +3786 ={ + winter_severity_bias = 0.0 +} +# b_servia +3787 ={ + winter_severity_bias = 0.0 +} +# b_elasson +3788 ={ + winter_severity_bias = 0.0 +} +## c_demetrias +# b_demetrias +488 ={ + winter_severity_bias = 0.0 +} +# b_velestino +3789 ={ + winter_severity_bias = 0.0 +} +# b_halmyros +3790 ={ + winter_severity_bias = 0.0 +} +## c_neopatras +# b_neopatras +3793 ={ + winter_severity_bias = 0.0 +} +# b_domokos +3791 ={ + winter_severity_bias = 0.0 +} +# b_gardikia +3792 ={ + winter_severity_bias = 0.0 +} +# b_zetouni +3794 ={ + winter_severity_bias = 0.0 +} +## c_thessaliotis # Megalo Vlachia +# b_trikala +3797 ={ + winter_severity_bias = 0.0 +} +# b_grevena +3795 ={ + winter_severity_bias = 0.0 +} +# b_stagoi +3796 ={ + winter_severity_bias = 0.0 +} +# b_pharsalos +3570 ={ + winter_severity_bias = 0.0 +} + +#### k_epirus +### d_epirus +## c_nicopolis +# b_arta +473 ={ + winter_severity_bias = 0.10 +} +# b_sivista # Area eventually controlled by Carlo Tocco +3699 ={ + winter_severity_bias = 0.10 +} +# b_angelokastron +3700 ={ + winter_severity_bias = 0.10 +} +# b_vonitsa +3701 ={ + winter_severity_bias = 0.10 +} +## c_epeiros +# b_ioaninna +3708 ={ + winter_severity_bias = 0.50 +} +# b_konitsa +3706 ={ + winter_severity_bias = 0.50 +} +# b_vella +3707 ={ + winter_severity_bias = 0.50 +} +# b_grava # Modern Igoumenitsa +3709 ={ + winter_severity_bias = 0.0 +} +## c_aetolia +# b_naupaktos +475 ={ + winter_severity_bias = 0.35 +} +# b_prousos +3697 ={ + winter_severity_bias = 0.45 +} +# b_lidoriki +3698 ={ + winter_severity_bias = 0.45 +} +## c_metzovo +# b_metzovo +3702 ={ + winter_severity_bias = 0.50 +} +# b_gardiki # Pindus Gardiki, ancient Pelinna +3703 ={ + winter_severity_bias = 0.50 +} +# b_vrestenitsa +3704 ={ + winter_severity_bias = 0.50 +} +# b_agrafa +3705 ={ + winter_severity_bias = 0.50 +} +### d_dyrrachion +## c_dyrrachion +# b_dyracchion +470 ={ + winter_severity_bias = 0.15 +} +# b_savra +3717 ={ + winter_severity_bias = 0.15 +} +## c_arbanon +# b_kruje +3720 ={ + winter_severity_bias = 0.45 + harsh_winter_factor_override = 0.1 +} +# b_mat +3718 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +# b_lezhe +3719 ={ + winter_severity_bias = 0.10 + harsh_winter_factor_override = 0.1 +} +# b_hiskampis +3721 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +## c_debar +# b_debar +3724 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +# b_peshkopi +3723 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +# b_kukes +3722 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +## c_antipatreia # Albanian Toskeria +# b_antipatreia +3713 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.1 +} +# b_skrapar +3714 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +# b_argyrokastron +3715 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.1 +} +# b_kelycyre +3716 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +# b_valamara +3520 ={ + winter_severity_bias = 0.70 + harsh_winter_factor_override = 0.1 +} +## c_avlonas +# b_avlonas +3711 ={ + winter_severity_bias = 0.10 +} +# b_himara +3712 ={ + winter_severity_bias = 0.10 +} +### d_cephalonia +## c_cephalonia +# b_cephalonia +474 ={ + winter_severity_bias = 0.15 +} +# b_zakynthos +3696 ={ + winter_severity_bias = 0.15 +} +## c_buthrotum +# b_buthrotum +472 ={ + winter_severity_bias = 0.15 +} +# b_corfu +3710 ={ + winter_severity_bias = 0.15 +} + +#### k_hellas +### d_athens +## c_attica +# b_athens +482 ={ + winter_severity_bias = 0.0 +} +# b_thebeshellas +3730 ={ + winter_severity_bias = 0.0 +} +# b_megara +3731 ={ + winter_severity_bias = 0.0 +} +## c_boeotia +# b_levadia +3728 ={ + winter_severity_bias = 0.0 +} +# b_boudounitsa +3727 ={ + winter_severity_bias = 0.0 +} +# b_amfissa +3729 ={ + winter_severity_bias = 0.35 +} +## c_euboea +# b_chalkis +485 ={ + winter_severity_bias = 0.0 +} +# b_skopelos +3725 ={ + winter_severity_bias = 0.0 +} +# b_oreoi +3726 ={ + winter_severity_bias = 0.0 +} +### d_achaia +## c_achaia +# b_patras +476 ={ + winter_severity_bias = 0.0 +} +# b_vostitsa +3801 ={ + winter_severity_bias = 0.0 +} +# b_andravida +3737 ={ + winter_severity_bias = 0.0 +} +# b_kalavryta +3738 ={ + winter_severity_bias = 0.25 +} +## c_korinthos +# b_corinth +481 ={ + winter_severity_bias = 0.25 +} +# b_nikli +3732 ={ + winter_severity_bias = 0.25 +} +# b_argos +3798 ={ + winter_severity_bias = 0.0 +} +# b_damala +3799 ={ + winter_severity_bias = 0.0 +} +## c_messenia +# b_karytaina +3733 ={ + winter_severity_bias = 0.25 +} +# b_arcadia +3734 ={ + winter_severity_bias = 0.0 +} +# b_kalamata +3800 ={ + winter_severity_bias = 0.0 +} +# b_modon +477 ={ + winter_severity_bias = 0.0 +} +## c_laconia +# b_mistra +3736 ={ + winter_severity_bias = 0.25 +} +# b_monemvasia +478 ={ + winter_severity_bias = 0.0 +} +# b_lacedaemonia +3735 ={ + winter_severity_bias = 0.25 +} + +#### k_krete +### d_krete +## c_chandax +# b_iraklio +480 ={ + winter_severity_bias = 0.0 +} +# b_agiosnikolaos +3745 ={ + winter_severity_bias = 0.0 +} +# b_ierapetra +3746 ={ + winter_severity_bias = 0.0 +} +## c_chania +# b_chania +479 ={ + winter_severity_bias = 0.0 +} +# b_rethymno +3743 ={ + winter_severity_bias = 0.0 +} +# b_paleohora +3744 ={ + winter_severity_bias = 0.0 +} + +#### k_croatia +### d_dalmatia +## c_zadar +# b_zadar +465 ={ + winter_severity_bias = 0.0 +} +# b_nin +3545 ={ + winter_severity_bias = 0.0 +} +# b_biograd +3547 ={ + winter_severity_bias = 0.0 +} +# b_obrovac +3546 ={ + winter_severity_bias = 0.0 +} +## c_knin +# b_knin +3548 ={ + winter_severity_bias = 0.60 +} # Knin +# b_bribir +3549 ={ + winter_severity_bias = 0.0 +} +# b_sibenik +3550 ={ + winter_severity_bias = 0.0 +} +## c_cetina +#italian = "Spalato" +#greek = "Spalathos" +#roman = "Spalato" +# b_sinjcroat +3551 ={ + winter_severity_bias = 0.60 +} +# b_split +467 ={ + winter_severity_bias = 0.0 +} +# b_solin +3552 ={ + winter_severity_bias = 0.0 +} +### d_croatia +## c_gacka +# b_senj +464 ={ + winter_severity_bias = 0.60 +} +# b_brinje +3540 ={ + winter_severity_bias = 0.60 +} +# b_rijeka +2523 ={ + winter_severity_bias = 0.60 +} +## c_lika +# b_kaseg +3543 ={ + winter_severity_bias = 0.60 +} +# b_bag +3542 ={ + winter_severity_bias = 0.60 +} +# b_udbina +3544 ={ + winter_severity_bias = 0.60 +} +# b_dreznik +3541 ={ + winter_severity_bias = 0.60 +} +## c_cherso +# b_cres +2521 ={ + winter_severity_bias = 0.15 +} +# b_krk +459 ={ + winter_severity_bias = 0.15 +} +## c_modrus +# b_modrus +3539 ={ + winter_severity_bias = 0.40 +} +# b_okic +3537 ={ + winter_severity_bias = 0.40 +} +# b_dubovac +3536 ={ + winter_severity_bias = 0.40 +} +# b_topusko +3538 ={ + winter_severity_bias = 0.40 +} +### d_slavonia +## c_zagreb +# b_zagreb +461 ={ + winter_severity_bias = 0.40 +} +# b_cazma +3533 ={ + winter_severity_bias = 0.40 +} +# b_samobor +3534 ={ + winter_severity_bias = 0.40 +} +# b_sisak +3535 ={ + winter_severity_bias = 0.40 +} +## c_zagorje +# b_krapina +458 ={ + winter_severity_bias = 0.50 +} # Krapina +# b_garestin # Original name of Varazdin +460 ={ + winter_severity_bias = 0.50 +} +# b_krizevci +462 ={ + winter_severity_bias = 0.50 +} +# b_koprivnica +3531 ={ + winter_severity_bias = 0.50 +} +# b_verevce +3532 ={ + winter_severity_bias = 0.50 +} +## c_pozega +# b_pozega +3529 ={ + winter_severity_bias = 0.50 +} +# b_kutina +3528 ={ + winter_severity_bias = 0.50 +} +# b_brod +3530 ={ + winter_severity_bias = 0.50 +} +## c_vukovar +# b_vakovo +3610 ={ + winter_severity_bias = 0.50 +} +# b_osijek +3609 ={ + winter_severity_bias = 0.50 +} +# b_orahovica +3608 ={ + winter_severity_bias = 0.50 +} +### d_bosna #AKA Upper Bosnia +## c_rama +# b_visoki +3527 ={ + winter_severity_bias = 0.75 +} +# b_prozor +504 ={ + winter_severity_bias = 0.60 +} +# b_vranduk +3524 ={ + winter_severity_bias = 0.75 +} +# b_bobovac +3525 ={ + winter_severity_bias = 0.60 +} +# b_travnik +3526 ={ + winter_severity_bias = 0.75 +} +## c_donjikraji +# b_jajce +3507 ={ + winter_severity_bias = 0.60 +} +# b_kljucnasani +3504 ={ + winter_severity_bias = 0.60 +} +# b_greben +3505 ={ + winter_severity_bias = 0.60 +} +# b_kotorvaros +3506 ={ + winter_severity_bias = 0.60 +} +# b_sokol +3508 ={ + winter_severity_bias = 0.60 +} +## c_vhrbosna +# b_vhrbosna +3567 ={ + winter_severity_bias = 0.75 +} +# b_olovo +3564 ={ + winter_severity_bias = 0.60 +} +# b_kuclat +3565 ={ + winter_severity_bias = 0.60 +} +# b_srebrenica +3566 ={ + winter_severity_bias = 0.60 +} +# b_rogatica +3568 ={ + winter_severity_bias = 0.75 +} +## c_pset +# b_bihac +3522 ={ + winter_severity_bias = 0.60 +} +# b_krupa +3521 ={ + winter_severity_bias = 0.60 +} +# b_pset +3523 ={ + winter_severity_bias = 0.60 +} +### d_lower_bosna +## c_soli +# b_soli +3510 ={ + winter_severity_bias = 0.40 +} +# b_bijeljina +3509 ={ + winter_severity_bias = 0.40 +} +# b_zvornik +3511 ={ + winter_severity_bias = 0.40 +} +## c_usora +# b_srebrenik +3513 ={ + winter_severity_bias = 0.50 +} +463 ={ + winter_severity_bias = 0.50 +} +# b_maglaj +3514 ={ + winter_severity_bias = 0.50 +} +# b_tolisa +3512 ={ + winter_severity_bias = 0.50 +} +## c_vodica #Actually Krajina +# b_vodicevo +3519 ={ + winter_severity_bias = 0.40 +} +# b_dubica +3518 ={ + winter_severity_bias = 0.40 +} +## c_vrbas +# b_banjaluka +3516 ={ + winter_severity_bias = 0.40 +} +# b_gradiska +3515 ={ + winter_severity_bias = 0.40 +} +# b_glaz +3517 ={ + winter_severity_bias = 0.40 +} +### d_usora #Actually Zachlumia +## c_zachlumia +# b_blagaj +466 ={ + winter_severity_bias = 0.60 +} +# b_nevesinje +3561 ={ + winter_severity_bias = 0.60 +} +# b_drijeva +3562 ={ + winter_severity_bias = 0.20 +} +# b_kljuc +3563 ={ + winter_severity_bias = 0.60 +} +# b_mostar +3558 ={ + winter_severity_bias = 0.60 +} +## c_zelengora +# b_gacko +3560 ={ + winter_severity_bias = 0.60 +} +# b_konjic +3557 ={ + winter_severity_bias = 0.60 +} +# b_obalj +3559 ={ + winter_severity_bias = 0.60 +} +## c_zavrsje +#roman = "Emotha" +#greek = "Emotha" +# b_hlivno +3501 ={ + winter_severity_bias = 0.60 +} +# b_glamoc +3500 ={ + winter_severity_bias = 0.60 +} +# b_duvno +3502 ={ + winter_severity_bias = 0.60 +} +# b_imotski +3503 ={ + winter_severity_bias = 0.60 +} +## c_pagania +# b_mokro +3555 ={ + winter_severity_bias = 0.0 +} +# b_omis +3553 ={ + winter_severity_bias = 0.0 +} +# b_hvar +3556 ={ + winter_severity_bias = 0.0 +} +### d_ragusa +## c_ragusa +# b_ragusa +468 ={ + winter_severity_bias = 0.0 +} +# b_ston +3569 ={ + winter_severity_bias = 0.0 +} + +#### k_serbia +### d_rashka +## c_rashka +# b_novotrgoviste +502 ={ + winter_severity_bias = 0.60 +} +# b_budlimlje +3592 ={ + winter_severity_bias = 0.75 +} +# b_zica +3588 ={ + winter_severity_bias = 0.60 +} +# b_gradac +3587 ={ + winter_severity_bias = 0.60 +} +## c_zlatibor +# b_sjenica +3591 ={ + winter_severity_bias = 0.60 +} +# b_arilje +3589 ={ + winter_severity_bias = 0.60 +} +# b_rujno +3590 ={ + winter_severity_bias = 0.60 +} +## c_sumadija +# b_krusevac +3598 ={ + winter_severity_bias = 0.50 +} +# b_koznik +3599 ={ + winter_severity_bias = 0.60 +} +# b_prokuplje +3600 ={ + winter_severity_bias = 0.60 +} +## c_podrinje +# b_hotca +3583 ={ + winter_severity_bias = 0.75 +} +# b_prijepolje +3584 ={ + winter_severity_bias = 0.75 +} +# b_breznica +3585 ={ + winter_severity_bias = 0.60 +} +# b_brskovo +3586 ={ + winter_severity_bias = 0.75 +} +# b_visegrad +3581 ={ + winter_severity_bias = 0.75 +} +# b_gorazde +3582 ={ + winter_severity_bias = 0.75 +} +## c_hvosno +# b_pristina +3596 ={ + winter_severity_bias = 0.50 +} +# b_prizren +3597 ={ + winter_severity_bias = 0.50 +} +# b_pec +3595 ={ + winter_severity_bias = 0.50 +} +# b_zvecan +3594 ={ + winter_severity_bias = 0.60 +} +# b_podujevo +3593 ={ + winter_severity_bias = 0.60 +} +### d_macva +## c_macva +# b_macva +3604 ={ + winter_severity_bias = 0.40 +} +# b_debrc +3605 ={ + winter_severity_bias = 0.40 +} +# b_krupanj +3606 ={ + winter_severity_bias = 0.40 +} +# b_uzice +3607 ={ + winter_severity_bias = 0.60 +} +## c_beograd +# b_beograd +505 ={ + winter_severity_bias = 0.40 +} +# b_smederevo +3601 ={ + winter_severity_bias = 0.40 +} +# b_rudnik +3602 ={ + winter_severity_bias = 0.40 +} +# b_kragujevac +3603 ={ + winter_severity_bias = 0.40 +} +### d_duklja +## c_duklja +# b_ribnicapodgorica +469 ={ + winter_severity_bias = 0.50 +} +# b_plav +503 ={ + winter_severity_bias = 0.75 +} +# b_drivast +3578 ={ + winter_severity_bias = 0.20 +} +# b_danj +3579 ={ + winter_severity_bias = 0.60 +} +# b_skadar +3580 ={ + winter_severity_bias = 0.20 +} +# b_moraca +3577 ={ + winter_severity_bias = 0.60 +} +## c_pomorje +# b_antivari +3575 ={ + winter_severity_bias = 0.0 +} +# b_ulcinj +3576 ={ + winter_severity_bias = 0.0 +} +# b_cattaro # Kotor +3574 ={ + winter_severity_bias = 0.0 +} +## c_travunia # Travunia +# b_trebinje +3572 ={ + winter_severity_bias = 0.50 +} +# b_onogost +3571 ={ + winter_severity_bias = 0.50 +} +# b_risan +3573 ={ + winter_severity_bias = 0.25 +} + +#### k_bulgaria +### d_vidin +## c_vidin +# b_vidin +506 ={ + winter_severity_bias = 0.50 +} +# b_kladovo +3667 ={ + winter_severity_bias = 0.60 +} +# b_zajecar +3668 ={ + winter_severity_bias = 0.60 +} +# b_petrus +3669 ={ + winter_severity_bias = 0.60 +} +# b_belogradchik +3670 ={ + winter_severity_bias = 0.50 +} +## c_branicevo +# b_branicevo +3664 ={ + winter_severity_bias = 0.60 +} +# b_kucevo +3665 ={ + winter_severity_bias = 0.60 +} +# b_ravno +3666 ={ + winter_severity_bias = 0.60 +} +### d_turnovo # Moesia / Turnovo / Paristrion +## c_turnovo +# b_turnovo +499 ={ + winter_severity_bias = 0.70 +} +# b_cherven +3682 ={ + winter_severity_bias = 0.50 +} +# b_elena +3683 ={ + winter_severity_bias = 0.70 +} +# b_gabrovo +3684 ={ + winter_severity_bias = 0.70 +} +## c_sredets +# b_sredets +500 ={ + winter_severity_bias = 0.60 +} +# b_meldi +3671 ={ + winter_severity_bias = 0.70 +} +# b_pernik +3672 ={ + winter_severity_bias = 0.60 +} +# b_stipon +3673 ={ + winter_severity_bias = 0.70 +} +# b_rila +3674 ={ + winter_severity_bias = 0.70 +} +## c_nikopolis +# b_nikopolis +507 ={ + winter_severity_bias = 0.50 +} +# b_pliven +3679 ={ + winter_severity_bias = 0.50 +} +# b_lovech +3680 ={ + winter_severity_bias = 0.70 +} +# b_samundzhievo +3681 ={ + winter_severity_bias = 0.70 +} +## c_dorostorum +# b_dorostorum +508 ={ + winter_severity_bias = 0.50 +} +# b_tutrakan +3685 ={ + winter_severity_bias = 0.50 +} +# b_shumen +3686 ={ + winter_severity_bias = 0.50 +} +# b_hrazgrad +3687 ={ + winter_severity_bias = 0.50 +} +# b_sborishte +3688 ={ + winter_severity_bias = 0.50 +} +# b_preslav +3689 ={ + winter_severity_bias = 0.50 +} +## c_vratsa +# b_vratsa +3678 ={ + winter_severity_bias = 0.70 +} +# b_lom +3675 ={ + winter_severity_bias = 0.50 +} +# b_orehovo +3676 ={ + winter_severity_bias = 0.50 +} +# b_kutlovitsa +3677 ={ + winter_severity_bias = 0.70 +} +## c_aytos +# b_aytos +3691 ={ + winter_severity_bias = 0.65 +} +# b_provadiya +3690 ={ + winter_severity_bias = 0.50 +} +# b_ktenia +3692 ={ + winter_severity_bias = 0.65 +} +### d_dobrudja +## c_constanta +# b_constanta +510 ={ + winter_severity_bias = 0.35 +} +# b_tulcha +3694 ={ + winter_severity_bias = 0.35 +} +# b_sulina +5010 ={ + winter_severity_bias = 0.35 +} +# b_mangalia +3695 ={ + winter_severity_bias = 0.35 +} +## c_mesembria +# b_mesembria +498 ={ + winter_severity_bias = 0.35 +} +# b_varna +3693 ={ + winter_severity_bias = 0.35 +} +# b_karvuna +509 ={ + winter_severity_bias = 0.35 +} +### d_bulgaria +## c_naissus +# b_naissos +501 ={ + winter_severity_bias = 0.60 +} +# b_svrljig +3661 ={ + winter_severity_bias = 0.50 +} +# b_pirot +3662 ={ + winter_severity_bias = 0.60 +} +# b_breznik +3663 ={ + winter_severity_bias = 0.60 +} +## c_pomoravlje +# b_vranje +3658 ={ + winter_severity_bias = 0.50 +} +# b_glubocica +3657 ={ + winter_severity_bias = 0.50 +} +# b_novobrdo +3659 ={ + winter_severity_bias = 0.50 +} +# b_morava +3660 ={ + winter_severity_bias = 0.50 +} +## c_velbazhd +# b_velbazhd +3656 ={ + winter_severity_bias = 0.60 +} +# b_bosilegrad +3654 ={ + winter_severity_bias = 0.60 +} +# b_kratovo +3655 ={ + winter_severity_bias = 0.50 +} +## c_pirin +# b_melnikpirin +3653 ={ + winter_severity_bias = 0.65 +} +# b_scaptopara +3652 ={ + winter_severity_bias = 0.65 +} +## c_strumica +# b_strumica +3650 ={ + winter_severity_bias = 0.50 +} +# b_shtip +3648 ={ + winter_severity_bias = 0.50 +} +# b_maleshevo +3649 ={ + winter_severity_bias = 0.65 +} +# b_prosek +3651 ={ + winter_severity_bias = 0.70 +} +## c_skopje +# b_skopje +3643 ={ + winter_severity_bias = 0.55 +} +# b_zegligovo +3642 ={ + winter_severity_bias = 0.55 +} +# b_tetovo +3644 ={ + winter_severity_bias = 0.55 +} +# b_veles +3645 ={ + winter_severity_bias = 0.55 +} +# b_kicevo +3646 ={ + winter_severity_bias = 0.70 +} +# b_prilep +3647 ={ + winter_severity_bias = 0.55 +} +## c_ohrid +# b_ohrid +471 ={ + winter_severity_bias = 0.70 +} +# b_bitola +3638 ={ + winter_severity_bias = 0.70 +} +# b_devol +3639 ={ + winter_severity_bias = 0.50 +} +# b_kastoria +3640 ={ + winter_severity_bias = 0.70 +} +# b_goritsa +3641 ={ + winter_severity_bias = 0.50 +} +### d_philippopolis +## c_philippopolis +# b_philippopolis +493 ={ + winter_severity_bias = 0.50 +} +# b_tsepina +3623 ={ + winter_severity_bias = 0.80 +} +# b_stanimaka +3624 ={ + winter_severity_bias = 0.60 +} +# b_krichim +3625 ={ + winter_severity_bias = 0.80 +} +## c_kran +# b_kran +3636 ={ + winter_severity_bias = 0.70 +} +# b_sliven +3635 ={ + winter_severity_bias = 0.65 +} +# b_kopsis +3637 ={ + winter_severity_bias = 0.70 +} +# b_dbilin # Modern Yambol +3631 ={ + winter_severity_bias = 0.30 +} +## c_beroe +# b_beroe +3632 ={ + winter_severity_bias = 0.30 +} +# b_janitsa +3633 ={ + winter_severity_bias = 0.30 +} +# b_haskovo +3634 ={ + winter_severity_bias = 0.30 +} +## c_burgas +# b_burgas +3628 ={ + winter_severity_bias = 0.10 +} +# b_sozopol +3629 ={ + winter_severity_bias = 0.10 +} +# b_potamuskastel +3630 ={ + winter_severity_bias = 0.30 +} +## c_adrianopolis +# b_adrianopolis +494 ={ + winter_severity_bias = 0.35 +} +# b_mezeshka +3626 ={ + winter_severity_bias = 0.35 +} +# b_didymoteichon +3627 ={ + winter_severity_bias = 0.35 +} +## c_zherkovo +# b_zherkovo +3618 ={ + winter_severity_bias = 0.50 +} +# b_lyutitsa +3619 ={ + winter_severity_bias = 0.50 +} +# b_smolyan +3620 ={ + winter_severity_bias = 0.80 +} +# b_ustra +3621 ={ + winter_severity_bias = 0.50 +} +# b_byalgrad +3622 ={ + winter_severity_bias = 0.50 +} +## c_rhodopes +# b_nevropkop +3617 ={ + winter_severity_bias = 0.80 +} +# b_kalyatta +3614 ={ + winter_severity_bias = 0.80 +} +# b_dospat +3615 ={ + winter_severity_bias = 0.80 +} +# b_kavurskotokale +3616 ={ + winter_severity_bias = 0.80 +} + +#### k_cyprus +### d_cyprus +## c_nicosia +# b_nicosia +5681 ={ + winter_severity_bias = 0.0 +} +# b_limisol +756 ={ + winter_severity_bias = 0.30 +} +# b_paphos +5682 ={ + winter_severity_bias = 0.30 +} +## c_famagusta +# b_famagusta +757 ={ + winter_severity_bias = 0.0 +} +# b_cerynia +5679 ={ + winter_severity_bias = 0.0 +} +# b_soli_CYP +5680 ={ + winter_severity_bias = 0.0 +} + +#### k_nikaea +### d_opsikion +## c_nikaea +# b_nikaea +750 ={ + winter_severity_bias = 0.10 +} +# b_apemea +5554 ={ + winter_severity_bias = 0.10 +} +# b_kyzikos +743 ={ + winter_severity_bias = 0.10 +} +# b_lopadion +3747 ={ + winter_severity_bias = 0.10 +} +## c_mysia +# b_miletopolis +5552 ={ + winter_severity_bias = 0.10 +} +# b_poimanenon +5551 ={ + winter_severity_bias = 0.10 +} +# b_appollonia +5553 ={ + winter_severity_bias = 0.10 +} +# b_hadrianoi +5556 ={ + winter_severity_bias = 0.10 +} +## c_prusa +# b_prusa +742 ={ + winter_severity_bias = 0.10 +} +# b_helge +5555 ={ + winter_severity_bias = 0.10 +} +# b_catyaeum +5557 ={ + winter_severity_bias = 0.50 +} +# b_katyaion +5558 ={ + winter_severity_bias = 0.50 +} +# b_dabla +5559 ={ + winter_severity_bias = 0.10 +} +## c_phrygia +# b_gordium +5561 ={ + winter_severity_bias = 0.50 +} +# b_oka +5564 ={ + winter_severity_bias = 0.50 +} +# b_soegud +5560 ={ + winter_severity_bias = 0.50 +} +# b_dorylaion +749 ={ + winter_severity_bias = 0.50 +} +# b_midaeum_OPSI +5562 ={ + winter_severity_bias = 0.50 +} +# b_pessinus +5563 ={ + winter_severity_bias = 0.50 +} +### d_ephese +## c_ionia +# b_smyrna +745 ={ + winter_severity_bias = 0.0 +} +# b_halikarnassos +747 ={ + winter_severity_bias = 0.0 +} +# b_iassus +5534 ={ + winter_severity_bias = 0.0 +} +# b_miletus +5533 ={ + winter_severity_bias = 0.0 +} +# b_ephesos +746 ={ + winter_severity_bias = 0.0 +} +# b_lebedos +5532 ={ + winter_severity_bias = 0.0 +} +## c_aeolis +# b_phocaea +5531 ={ + winter_severity_bias = 0.0 +} +# b_pergamon +5530 ={ + winter_severity_bias = 0.0 +} +# b_adramyttium +5529 ={ + winter_severity_bias = 0.0 +} +### d_thracesia +## c_lydia +# b_philadelphia +5546 ={ + winter_severity_bias = 0.30 +} +# b_sardes +5545 ={ + winter_severity_bias = 0.30 +} +# b_akrainos +5542 ={ + winter_severity_bias = 0.30 +} +# b_bagis +5543 ={ + winter_severity_bias = 0.30 +} +# b_silandos +5544 ={ + winter_severity_bias = 0.30 +} +# b_sebaste +5550 ={ + winter_severity_bias = 0.30 +} +## c_thyatira +# b_thyatira +5539 ={ + winter_severity_bias = 0.10 +} +# b_attalia +5535 ={ + winter_severity_bias = 0.10 +} +# b_synaos +5538 ={ + winter_severity_bias = 0.30 +} +# b_tabala +5540 ={ + winter_severity_bias = 0.10 +} +## c_hadrianeia +# b_hadrianeia +5536 ={ + winter_severity_bias = 0.30 +} +# b_cybele +5537 ={ + winter_severity_bias = 0.30 +} +# b_cadi +5541 ={ + winter_severity_bias = 0.30 +} +## c_chonae +# b_chonae +5548 ={ + winter_severity_bias = 0.30 +} +# b_laodikeia +748 ={ + winter_severity_bias = 0.30 +} +# b_mylasa +5547 ={ + winter_severity_bias = 0.10 +} +# b_apamea +5549 ={ + winter_severity_bias = 0.30 +} +### d_optimatoi +## c_bithynia +# b_chalcedon +5565 ={ + winter_severity_bias = 0.10 +} +# b_chelai +5566 ={ + winter_severity_bias = 0.10 +} +# b_nikomedia +741 ={ + winter_severity_bias = 0.10 +} +# b_crius +5570 ={ + winter_severity_bias = 0.10 +} +## c_tarsos +# b_tarsos +5569 ={ + winter_severity_bias = 0.25 +} +# b_prusias_ad_hypium +5567 ={ + winter_severity_bias = 0.25 +} +# b_modra +5568 ={ + winter_severity_bias = 0.25 +} +### d_bucellaria +## c_honorias +# b_herakleia +740 ={ + winter_severity_bias = 0.40 +} +# b_claudiopolis +5571 ={ + winter_severity_bias = 0.40 +} +# b_boli +5572 ={ + winter_severity_bias = 0.70 +} +# b_cratea +5573 ={ + winter_severity_bias = 0.60 +} +## c_galatia +# b_ankyra +753 ={ + winter_severity_bias = 0.60 +} +# b_vindia +5578 ={ + winter_severity_bias = 0.60 +} +# b_papira +5579 ={ + winter_severity_bias = 0.60 +} +# b_gangra +5580 ={ + winter_severity_bias = 0.60 +} +# b_ecobrogis +5684 ={ + winter_severity_bias = 0.60 +} +# b_tabia +5683 ={ + winter_severity_bias = 0.60 +} +## c_hadrianopolis +# b_hadrianopolis +5574 ={ + winter_severity_bias = 0.70 +} +# b_krateia +5575 ={ + winter_severity_bias = 0.70 +} +# b_iuliopolis +5576 ={ + winter_severity_bias = 0.60 +} +# b_lagania +5577 ={ + winter_severity_bias = 0.60 +} + +#### k_anatolia +### d_cilicia +## c_cilicia +# b_tarsus +761 ={ + winter_severity_bias = 0.0 +} +# b_adana +762 ={ + winter_severity_bias = 0.0 +} +# b_mallus +5624 ={ + winter_severity_bias = 0.0 +} +# b_anazaribus +5625 ={ + winter_severity_bias = 0.0 +} +# b_faustinopolis +5626 ={ + winter_severity_bias = 0.0 +} +# b_podandus +5627 ={ + winter_severity_bias = 0.0 +} +## c_seleucia +# b_seleukia +758 ={ + winter_severity_bias = 0.0 +} +# b_corycus +5635 ={ + winter_severity_bias = 0.0 +} +# b_claudiopolis_SELEUCIA +5636 ={ + winter_severity_bias = 0.0 +} +## c_lycandus +# b_lykandos +736 ={ + winter_severity_bias = 0.80 +} +# b_comana_LYK +5610 ={ + winter_severity_bias = 0.80 +} +# b_arabissus +5611 ={ + winter_severity_bias = 0.80 +} +# b_cocussus +5612 ={ + winter_severity_bias = 0.60 +} +## c_tall_hamid +# b_tall_hamid +4896 ={ + winter_severity_bias = 0.0 +} +# b_al-haruniya +4895 ={ + winter_severity_bias = 0.0 +} +# b_ayas +4897 ={ + winter_severity_bias = 0.0 +} +### d_cibyrrhaeot +## c_lycia +# b_cremna +5642 ={ + winter_severity_bias = 0.0 +} +# b_attaleia +755 ={ + winter_severity_bias = 0.0 +} +# b_phaselis +5643 ={ + winter_severity_bias = 0.0 +} +# b_limyra +5644 ={ + winter_severity_bias = 0.0 +} +# b_myra +5645 ={ + winter_severity_bias = 0.0 +} +# b_olbasa +5646 ={ + winter_severity_bias = 0.0 +} +## c_caria +# b_telmessos +5647 ={ + winter_severity_bias = 0.0 +} +# b_cibyra +5648 ={ + winter_severity_bias = 0.0 +} +# b_cridus +5649 ={ + winter_severity_bias = 0.0 +} +# b_aphrodisias +5650 ={ + winter_severity_bias = 0.0 +} +## c_pamphylia +# b_adrassos +5637 ={ + winter_severity_bias = 0.0 +} +# b_anemurium +5638 ={ + winter_severity_bias = 0.0 +} +# b_selinus +5639 ={ + winter_severity_bias = 0.0 +} +# b_korakesion +5640 ={ + winter_severity_bias = 0.0 +} +# b_side +5641 ={ + winter_severity_bias = 0.0 +} +### d_anatolia +## c_lycaonia +# b_ikonion +759 ={ + winter_severity_bias = 0.60 +} +# b_lystra +5671 ={ + winter_severity_bias = 0.60 +} +# b_pappa +5677 ={ + winter_severity_bias = 0.60 +} +# b_katakekaumene +5678 ={ + winter_severity_bias = 0.60 +} +## c_pacatiana +# b_aezani +5651 ={ + winter_severity_bias = 0.60 +} +# b_nakoleia +5652 ={ + winter_severity_bias = 0.60 +} +# b_midaeum +5653 ={ + winter_severity_bias = 0.60 +} +# b_docimium +5659 ={ + winter_severity_bias = 0.60 +} +# b_synnada +5660 ={ + winter_severity_bias = 0.60 +} +## c_pisidia +# b_sozopolis +754 ={ + winter_severity_bias = 0.60 +} +# b_salda +5667 ={ + winter_severity_bias = 0.60 +} +# b_sagalassus +5665 ={ + winter_severity_bias = 0.60 +} +# b_parlais +5666 ={ + winter_severity_bias = 0.60 +} +## c_selge +# b_selge +5664 ={ + winter_severity_bias = 0.60 +} +# b_adada +5663 ={ + winter_severity_bias = 0.80 +} +# b_kaklouma +5668 ={ + winter_severity_bias = 0.80 +} +# b_ouasada +5669 ={ + winter_severity_bias = 0.60 +} +# b_mistea +5670 ={ + winter_severity_bias = 0.60 +} +## c_galatia_salutaris +# b_polybotus +5654 ={ + winter_severity_bias = 0.60 +} +# b_germa_anatolia +5655 ={ + winter_severity_bias = 0.60 +} +# b_tyraion +5656 ={ + winter_severity_bias = 0.60 +} +## c_philomelium +# b_philomelium +5657 ={ + winter_severity_bias = 0.70 +} +# b_amorion +5658 ={ + winter_severity_bias = 0.70 +} +# b_antiochia +5661 ={ + winter_severity_bias = 0.70 +} +# b_neapolis +5662 ={ + winter_severity_bias = 0.70 +} +## c_isauria +# b_isaura +5672 ={ + winter_severity_bias = 0.60 +} +# b_laranalia +5673 ={ + winter_severity_bias = 0.60 +} +# b_soloi +5674 ={ + winter_severity_bias = 0.60 +} +# b_derbe +5675 ={ + winter_severity_bias = 0.60 +} +# b_barata +5676 ={ + winter_severity_bias = 0.60 +} +### d_cappadocia +## c_cappadocia +# b_tyana +760 ={ + winter_severity_bias = 0.60 +} +# b_comitanassus +5629 ={ + winter_severity_bias = 0.60 +} +# b_garsaura +5630 ={ + winter_severity_bias = 0.60 +} +# b_nazianzus +5631 ={ + winter_severity_bias = 0.80 +} +# b_cybistra +5628 ={ + winter_severity_bias = 0.60 +} +## c_lower_galatia +# b_parnassos +5632 ={ + winter_severity_bias = 0.60 +} +# b_aspona +5633 ={ + winter_severity_bias = 0.60 +} +# b_kinna +5634 ={ + winter_severity_bias = 0.60 +} +### d_charsianon +## c_charsianon +# b_charsianon +5617 ={ + winter_severity_bias = 0.80 +} +# b_therma +5618 ={ + winter_severity_bias = 0.60 +} +# b_euaissa +5621 ={ + winter_severity_bias = 0.60 +} +# b_galatia +752 ={ + winter_severity_bias = 0.60 +} +# b_soanda +5619 ={ + winter_severity_bias = 0.60 +} +# b_aspona_CHA +5620 ={ + winter_severity_bias = 0.60 +} +## c_kaisereia +# b_kaisereia +737 ={ + winter_severity_bias = 0.60 +} +# b_herpha +5615 ={ + winter_severity_bias = 0.80 +} +# b_armaxa +5614 ={ + winter_severity_bias = 0.80 +} +## c_kyzistra +# b_kyzistra +5623 ={ + winter_severity_bias = 0.60 +} +# b_zeila_CHA +5622 ={ + winter_severity_bias = 0.60 +} +# b_arasaxa +5616 ={ + winter_severity_bias = 0.60 +} + +#### k_pontus +### d_paphlagonia +## c_paphlagonia +# b_amastris +5581 ={ + winter_severity_bias = 0.40 +} +# b_aigialos +5582 ={ + winter_severity_bias = 0.40 +} +# b_ionopolis +5583 ={ + winter_severity_bias = 0.40 +} +# b_paphlagonia +751 ={ + winter_severity_bias = 0.40 +} +## c_pompeiopolis +# b_pompeiopolis +5584 ={ + winter_severity_bias = 0.70 +} +# b_castamon +5585 ={ + winter_severity_bias = 0.70 +} +# b_ziporea +5587 ={ + winter_severity_bias = 0.70 +} +# b_kandara +5586 ={ + winter_severity_bias = 0.70 +} +### d_armeniac +## c_helenopontus +# b_amaseia +5590 ={ + winter_severity_bias = 0.60 +} +# b_gadilon +5589 ={ + winter_severity_bias = 0.40 +} +# b_amisos +738 ={ + winter_severity_bias = 0.40 +} +# b_magnopolis +5591 ={ + winter_severity_bias = 0.60 +} +# b_carissa +5595 ={ + winter_severity_bias = 0.60 +} +## c_sinope +# b_sinope +739 ={ + winter_severity_bias = 0.40 +} +# b_zagora +5588 ={ + winter_severity_bias = 0.40 +} +# b_andrapa +5592 ={ + winter_severity_bias = 0.0 +} +## c_euchaita +# b_euchaita +5594 ={ + winter_severity_bias = 0.60 +} +# b_pimolisa +5593 ={ + winter_severity_bias = 0.60 +} +# b_pteria +5596 ={ + winter_severity_bias = 0.60 +} +## c_zela +# b_comana_pontica +5598 ={ + winter_severity_bias = 0.60 +} +# b_zela +5597 ={ + winter_severity_bias = 0.60 +} +# b_agranai +5600 ={ + winter_severity_bias = 0.80 +} +### d_sebasteia +## c_sebasteia +# b_sebasteia +5602 ={ + winter_severity_bias = 0.60 +} +# b_sebastopolis +5599 ={ + winter_severity_bias = 0.80 +} +# b_pedachtoe +5601 ={ + winter_severity_bias = 0.80 +} +# b_malandra +5603 ={ + winter_severity_bias = 0.60 +} +## c_azysia +# b_karnalis +5604 ={ + winter_severity_bias = 0.80 +} +# b_euspena +5605 ={ + winter_severity_bias = 0.80 +} +# b_gauraina +5606 ={ + winter_severity_bias = 0.80 +} +# b_tanadaris +5609 ={ + winter_severity_bias = 0.80 +} +# b_dasmenda +5613 ={ + winter_severity_bias = 0.80 +} +## c_ablastha +# b_ablastha +735 ={ + winter_severity_bias = 0.60 +} +# b_dalanda +5607 ={ + winter_severity_bias = 0.60 +} +# b_osdara +5608 ={ + winter_severity_bias = 0.80 +} +### d_chaldia +## c_trebizond +# b_trebizond +678 ={ + winter_severity_bias = 0.40 +} +# b_rhizus +5692 ={ + winter_severity_bias = 0.40 +} +# b_hyspiratis +5693 ={ + winter_severity_bias = 0.60 +} +# b_baeberdon +5694 ={ + winter_severity_bias = 0.60 +} +# b_keltzine +5695 ={ + winter_severity_bias = 0.60 +} +## c_cerasus +# b_cerasus +705 ={ + winter_severity_bias = 0.40 +} +# b_oinaion +5689 ={ + winter_severity_bias = 0.40 +} +# b_polemonium +5690 ={ + winter_severity_bias = 0.40 +} +# b_koralla +5691 ={ + winter_severity_bias = 0.40 +} +## c_colonea +# b_colonea +706 ={ + winter_severity_bias = 0.60 +} +# b_neocaesara +5698 ={ + winter_severity_bias = 0.60 +} +# b_sinoria +5699 ={ + winter_severity_bias = 0.60 +} +# b_hypseie +5700 ={ + winter_severity_bias = 0.60 +} +# b_nicopolis_ARM +5701 ={ + winter_severity_bias = 0.60 +} +## c_satala +# b_satala +5703 ={ + winter_severity_bias = 0.60 +} +# b_kheranion +5702 ={ + winter_severity_bias = 0.60 +} +# b_kamisa +5704 ={ + winter_severity_bias = 0.60 +} +# b_tephrice +5705 ={ + winter_severity_bias = 0.60 +} + +#### k_armenia +### d_mesopotamia +## c_theodosiopolis +# b_theodosiopolis +704 ={ + winter_severity_bias = 0.65 +} +# b_speri +5709 ={ + winter_severity_bias = 0.65 +} +# b_martyropolis +703 ={ + winter_severity_bias = 0.65 +} +## c_melitene +# b_melitene +707 ={ + winter_severity_bias = 0.65 +} +# b_arguvan +5706 ={ + winter_severity_bias = 0.65 +} +# b_arsamosata +5707 ={ + winter_severity_bias = 0.65 +} +# b_arca +5708 ={ + winter_severity_bias = 0.65 +} +## c_mesopotamia +# b_tzimisca +702 ={ + winter_severity_bias = 0.65 +} +# b_camacha +5710 ={ + winter_severity_bias = 0.65 +} +# b_koloberd +5711 ={ + winter_severity_bias = 0.65 +} +# b_balu +5712 ={ + winter_severity_bias = 0.65 +} +### d_vaspurakan +## c_vaspurakan +# b_van +682 ={ + winter_severity_bias = 0.65 +} +# b_berkri +5721 ={ + winter_severity_bias = 0.65 +} +# b_maku +5722 ={ + winter_severity_bias = 0.65 +} +# b_akhtamar +5723 ={ + winter_severity_bias = 0.65 +} +# b_hadamakert +5724 ={ + winter_severity_bias = 0.65 +} +## c_turuberan +# b_varto +5715 ={ + winter_severity_bias = 0.65 +} +# b_mardali +5713 ={ + winter_severity_bias = 0.65 +} +# b_khinisi +5714 ={ + winter_severity_bias = 0.65 +} +## c_apahunik +# b_musch +5716 ={ + winter_severity_bias = 0.60 +} +# b_tatvan +5717 ={ + winter_severity_bias = 0.60 +} +# b_khlat +5718 ={ + winter_severity_bias = 0.60 +} +# b_manzikert +701 ={ + winter_severity_bias = 0.60 +} +# b_arjesh +5719 ={ + winter_severity_bias = 0.60 +} +### d_greater_armenia +## c_hayk +# b_ani +681 ={ + winter_severity_bias = 0.65 +} +# b_dlim +5725 ={ + winter_severity_bias = 0.80 +} +# b_bagaran +5726 ={ + winter_severity_bias = 0.80 +} +# b_kumayri +5727 ={ + winter_severity_bias = 0.80 +} +# b_yerevan +5728 ={ + winter_severity_bias = 0.80 +} +## c_bagrewand +# b_valashkert +5731 ={ + winter_severity_bias = 0.65 +} +# b_bagavan +5720 ={ + winter_severity_bias = 0.80 +} +# b_tsalakert +5730 ={ + winter_severity_bias = 0.65 +} +# b_patnos +5732 ={ + winter_severity_bias = 0.80 +} +## c_vanand +# b_kars +5734 ={ + winter_severity_bias = 0.65 +} +# b_zariskat +5733 ={ + winter_severity_bias = 0.65 +} +# b_sevuki +5735 ={ + winter_severity_bias = 0.65 +} +## c_khachen +# b_parnes +5783 ={ + winter_severity_bias = 0.50 +} +# b_tovuz +5780 ={ + winter_severity_bias = 0.50 +} +# b_shamkur +5781 ={ + winter_severity_bias = 0.50 +} +# b_gardman +5782 ={ + winter_severity_bias = 0.50 +} +# b_gandzasar +670 ={ + winter_severity_bias = 0.50 +} +# b_ktis +5784 ={ + winter_severity_bias = 0.50 +} +## c_suenik +# b_kapan +671 ={ + winter_severity_bias = 0.70 +} +# b_goris +5786 ={ + winter_severity_bias = 0.70 +} +# b_jugha +5787 ={ + winter_severity_bias = 0.70 +} +## c_dvin +# b_dvin +672 ={ + winter_severity_bias = 0.80 +} +# b_naxcivan +5785 ={ + winter_severity_bias = 0.80 +} +# b_garni +5729 ={ + winter_severity_bias = 0.70 +} + +#### k_georgia +### d_tao-klarjeti +## c_tao +# b_tortomi +5737 ={ + winter_severity_bias = 0.60 +} +# b_taoskari +5736 ={ + winter_severity_bias = 0.60 +} +# b_oltisi +680 ={ + winter_severity_bias = 0.60 +} +## c_klarjeti +# b_arthanuji +5740 ={ + winter_severity_bias = 0.60 +} +# b_tmogvi +5738 ={ + winter_severity_bias = 0.60 +} +# b_akhaltsikhe +5739 ={ + winter_severity_bias = 0.60 +} +# b_artaani +5741 ={ + winter_severity_bias = 0.60 +} +## c_kartli +# b_uplistsikhe +5743 ={ + winter_severity_bias = 0.60 +} +# b_tskhinvali +5742 ={ + winter_severity_bias = 0.60 +} +# b_gori +679 ={ + winter_severity_bias = 0.60 +} +## c_acampse +# b_archabis +5696 ={ + winter_severity_bias = 0.40 +} +# b_petra +5697 ={ + winter_severity_bias = 0.40 +} +### d_abkhazia +## c_abkhazia +# b_tskhumi +5746 ={ + winter_severity_bias = 0.20 +} +# b_nicopsia +600 ={ + winter_severity_bias = 0.20 +} +# b_bichvinta +5744 ={ + winter_severity_bias = 0.20 +} +# b_anacopia +5745 ={ + winter_severity_bias = 0.20 +} +## c_odishi +# b_kutaisi +601 ={ + winter_severity_bias = 0.20 +} +# b_gudakva +5747 ={ + winter_severity_bias = 0.20 +} +# b_seti +5748 ={ + winter_severity_bias = 0.26 +} +# b_zugdidi +5749 ={ + winter_severity_bias = 0.20 +} +# b_tsageri +5750 ={ + winter_severity_bias = 0.20 +} +## c_svaneti +# b_kasriskari +5752 ={ + winter_severity_bias = 0.70 +} +# b_ambrolauri +5751 ={ + winter_severity_bias = 0.60 +} +# b_kvara +5753 ={ + winter_severity_bias = 0.20 +} +## c_guria +# b_batumi +677 ={ + winter_severity_bias = 0.20 +} +# b_poti +5754 ={ + winter_severity_bias = 0.20 +} +# b_vartsikhe +5756 ={ + winter_severity_bias = 0.20 +} +# b_shorapann +5757 ={ + winter_severity_bias = 0.20 +} +### d_georgia +## c_tbilisi +# b_tbilisi +5759 ={ + winter_severity_bias = 0.40 +} +# b_dmanisi +5758 ={ + winter_severity_bias = 0.40 +} +# b_rustavi +5760 ={ + winter_severity_bias = 0.40 +} +## c_lori +# b_lori +1013 ={ + winter_severity_bias = 0.40 +} +# b_bolnisi +5761 ={ + winter_severity_bias = 0.40 +} +# b_kayan +5762 ={ + winter_severity_bias = 0.40 +} +## c_kakheti +# b_telavi +676 ={ + winter_severity_bias = 0.40 +} +# b_nektesi +5763 ={ + winter_severity_bias = 0.70 +} +# b_mtskheta +5764 ={ + winter_severity_bias = 0.40 +} +# b_gavazi +5765 ={ + winter_severity_bias = 0.40 +} +# b_kharnabuji +5766 ={ + winter_severity_bias = 0.40 +} +# b_ujarma +5767 ={ + winter_severity_bias = 0.40 +} +## c_hereti +# b_zaqatala +5768 ={ + winter_severity_bias = 0.40 +} +# b_ghisi +5769 ={ + winter_severity_bias = 0.40 +} +# b_dedoplitskhara +5770 ={ + winter_severity_bias = 0.40 +} +# b_nukhpata +673 ={ + winter_severity_bias = 0.40 +} + +#### k_sicily +### d_sicily +## c_palermo +# b_palermo +2635 ={ + winter_severity_bias = 0.0 +} +# b_trapani +2636 ={ + winter_severity_bias = 0.0 +} +# b_calatafimi +2645 ={ + winter_severity_bias = 0.20 +} +# b_mazara +2644 ={ + winter_severity_bias = 0.0 +} +## c_messina +# b_messina +2633 ={ + winter_severity_bias = 0.0 +} +# b_cefalu +2634 ={ + winter_severity_bias = 0.0 +} +# b_catania +2639 ={ + winter_severity_bias = 0.20 +} +## c_siracusa +# b_syracusa +2638 ={ + winter_severity_bias = 0.0 +} +# b_lentini +2643 ={ + winter_severity_bias = 0.0 +} +# b_caltagirone +2642 ={ + winter_severity_bias = 0.0 +} +## c_agrigento +# b_agricento +2637 ={ + winter_severity_bias = 0.0 +} +# b_castrogiovanni +2640 ={ + winter_severity_bias = 0.20 +} +# b_caltanisetta #Caltanissetta +2641 ={ + winter_severity_bias = 0.0 +} +## c_malta +# b_malta +2646 ={ + winter_severity_bias = 0.0 +} +### d_benevento +## c_benevento +# b_benevento +2609 ={ + winter_severity_bias = 0.0 +} +# b_alife +2669 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_isernia +2607 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_melfi +2615 ={ + winter_severity_bias = 0.0 +} +# b_ariano +8757 ={ + winter_severity_bias = 0.0 +} +## c_foggia +# b_lucera +2610 ={ + winter_severity_bias = 0.0 +} +# b_larino +2605 ={ + winter_severity_bias = 0.0 +} +# b_vieste +8758 ={ + winter_severity_bias = 0.0 +} +### d_capua +## c_capua +# b_capua +2606 ={ + winter_severity_bias = 0.0 +} +# b_gaeta +2593 ={ + winter_severity_bias = 0.0 +} +# b_cassino +2602 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_napoli +# b_napoli +2608 ={ + winter_severity_bias = 0.0 +} +# b_amalfi +2611 ={ + winter_severity_bias = 0.0 +} +# b_aversa +8756 ={ + winter_severity_bias = 0.0 +} +### d_apulia +## c_apulia +# b_trani +2619 ={ + winter_severity_bias = 0.0 +} +# b_siponto +2614 ={ + winter_severity_bias = 0.0 +} +# b_venosa +2618 ={ + winter_severity_bias = 0.0 +} +# b_acerenza +2617 ={ + winter_severity_bias = 0.0 +} +## c_bari +# b_bari +2623 ={ + winter_severity_bias = 0.0 +} +# b_matera +2624 ={ + winter_severity_bias = 0.0 +} +# b_taranto +2621 ={ + winter_severity_bias = 0.0 +} +## c_lecce +# b_lecce +8755 ={ + winter_severity_bias = 0.0 +} +# b_brindisi +2622 ={ + winter_severity_bias = 0.0 +} +# b_orlanto +2620 ={ + winter_severity_bias = 0.0 +} +### d_salerno +## c_salerno +# b_salerno +2612 ={ + winter_severity_bias = 0.0 +} +# b_maratea +2613 ={ + winter_severity_bias = 0.15 +} +# b_potenza +2616 ={ + winter_severity_bias = 0.0 +} +# b_policastro +8754 ={ + winter_severity_bias = 0.15 +} +## c_camarda +# b_camarda +2631 ={ + winter_severity_bias = 0.0 +} +# b_stigliano +2632 ={ + winter_severity_bias = 0.0 +} +### d_calabria +## c_reggio_calabria +# b_reggio_calabria +2627 ={ + winter_severity_bias = 0.0 +} +# b_squilluce +2626 ={ + winter_severity_bias = 0.0 +} +# b_tropea +8751 ={ + winter_severity_bias = 0.0 +} +## c_cosenza +# b_cosenza +2628 ={ + winter_severity_bias = 0.15 +} +# b_castrovillari +2630 ={ + winter_severity_bias = 0.15 +} +# b_belvedere +8752 ={ + winter_severity_bias = 0.15 +} +## c_rossano +# b_rossano +2629 ={ + winter_severity_bias = 0.15 +} +# b_cotrone #Crotone +2625 ={ + winter_severity_bias = 0.0 +} +# b_catanzaro +8753 ={ + winter_severity_bias = 0.15 +} + +#### k_venice +### d_venice +## c_venezia +# b_venezia +2517 ={ + winter_severity_bias = 0.25 +} +## c_veneto +# b_mestre +2506 ={ + winter_severity_bias = 0.25 +} +# b_chioggia +2504 ={ + winter_severity_bias = 0.25 +} +# b_malamacco +8767 ={ + winter_severity_bias = 0.25 +} + +#####e_italy +#### k_italy +### d_friuli +## c_aquileia +# b_aquileia +2508 ={ + winter_severity_bias = 0.25 +} +# b_trieste +2514 ={ + winter_severity_bias = 0.50 +} +# b_udine +2510 ={ + winter_severity_bias = 0.60 +} +# b_grado +2507 ={ + winter_severity_bias = 0.25 +} +## c_friuli +# b_caorle +2512 ={ + winter_severity_bias = 0.25 +} +# b_pordenone +2513 ={ + winter_severity_bias = 0.70 +} +# b_portogruaro +8766 ={ + winter_severity_bias = 0.50 +} +## c_gorz +# b_gorizia +2516 ={ + winter_severity_bias = 0.60 +} +# b_triglavski #Tricorno +2515 ={ + winter_severity_bias = 0.60 +} +### d_verona +## c_verona +# b_verona +2501 ={ + winter_severity_bias = 0.25 +} +# b_lessinia +2502 ={ + winter_severity_bias = 0.70 +} +# b_garda +2496 ={ + winter_severity_bias = 0.70 +} +## c_treviso +# b_treviso +2505 ={ + winter_severity_bias = 0.25 +} +# b_ceneta +2511 ={ + winter_severity_bias = 0.70 +} +# b_vicenza +2500 ={ + winter_severity_bias = 0.70 +} +## c_padua +# b_padua +2503 ={ + winter_severity_bias = 0.25 +} +# b_lonigo +2509 ={ + winter_severity_bias = 0.07 +} +# b_montagnana +2666 ={ + winter_severity_bias = 0.25 +} +# b_este +8765 ={ + winter_severity_bias = 0.25 +} +## c_polesine +# b_rovigo +2525 ={ + winter_severity_bias = 0.0 +} +# b_adria +2524 ={ + winter_severity_bias = 0.0 +} +### d_piedmonte +## c_monferrato +# b_asti +2469 ={ + winter_severity_bias = 0.25 +} +# b_alba_di_monferrato +2467 ={ + winter_severity_bias = 0.25 +} +# b_acqui +2468 ={ + winter_severity_bias = 0.25 +} +## c_turin +# b_turin +2041 ={ + winter_severity_bias = 0.25 +} +# b_chieri +2045 ={ + winter_severity_bias = 0.50 +} +# b_santhia +8764 ={ + winter_severity_bias = 0.50 +} +## c_novara +# b_novara +2471 ={ + winter_severity_bias = 0.50 +} +# b_biella +2473 ={ + winter_severity_bias = 0.70 +} +# b_vercelli +2470 ={ + winter_severity_bias = 0.50 +} +## c_cuneo +# b_cuneo +2043 ={ + winter_severity_bias = 0.50 +} +# b_saluzzo +2044 ={ + winter_severity_bias = 0.50 +} +# b_mondovi +8763 ={ + winter_severity_bias = 0.50 +} +### d_lombardia +## c_lombardia +# b_milano +2482 ={ + winter_severity_bias = 0.25 +} +# b_monza +2481 ={ + winter_severity_bias = 0.50 +} +# b_gallarate +2480 ={ + winter_severity_bias = 0.50 +} +# b_varese +2479 ={ + winter_severity_bias = 0.70 +} +## c_brescia +# b_brescia +2494 ={ + winter_severity_bias = 0.25 +} +# b_bergamo +2493 ={ + winter_severity_bias = 0.70 +} +# b_chiari +8762 ={ + winter_severity_bias = 0.25 +} +## c_como +# b_como +2477 ={ + winter_severity_bias = 0.70 +} +# b_pombia +2472 ={ + winter_severity_bias = 0.70 +} +# b_bellinzona +2478 ={ + winter_severity_bias = 0.90 +} +## c_trent +# b_trento +2499 ={ + winter_severity_bias = 0.70 +} +# b_bolzano +2498 ={ + winter_severity_bias = 0.90 +} +# b_val_camonica #Riva AKA Riva del Garda +2495 ={ + winter_severity_bias = 0.70 +} +# b_tirano +8761 ={ + winter_severity_bias = 0.70 +} +## c_pavia +# b_pavia +2475 ={ + winter_severity_bias = 0.25 +} +# b_lodi +2476 ={ + winter_severity_bias = 0.25 +} +# b_vigevano +2474 ={ + winter_severity_bias = 0.25 +} +## c_cremona +# b_cremona +2491 ={ + winter_severity_bias = 0.25 +} +# b_roncaglia +2489 ={ + winter_severity_bias = 0.25 +} +# b_crema +2492 ={ + winter_severity_bias = 0.25 +} +## c_parma +# b_parma +2532 ={ + winter_severity_bias = 0.50 +} +# b_florentiola +2490 ={ + winter_severity_bias = 0.50 +} +# b_piacenza +2488 ={ + winter_severity_bias = 0.25 +} +## c_tortona +# b_tortona +2483 ={ + winter_severity_bias = 0.25 +} +# b_voghera +2487 ={ + winter_severity_bias = 0.25 +} +### d_genoa +## c_genoa +# b_genoa +2466 ={ + winter_severity_bias = 0.10 +} +# b_monaco +2022 ={ + winter_severity_bias = 0.10 +} +# b_savona +2465 ={ + winter_severity_bias = 0.10 +} +## c_luni +# b_luni +2531 ={ + winter_severity_bias = 0.10 +} +# b_chiavari +2485 ={ + winter_severity_bias = 0.10 +} +### d_emilia +## c_modena +# b_modena +2540 ={ + winter_severity_bias = 0.25 +} +# b_canossa +2535 ={ + winter_severity_bias = 0.50 +} +# b_reggio_emilia +2534 ={ + winter_severity_bias = 0.25 +} +# b_cento +2541 ={ + winter_severity_bias = 0.25 +} +## c_mantua +# b_mantua +2497 ={ + winter_severity_bias = 0.25 +} +# b_guastalla +2530 ={ + winter_severity_bias = 0.25 +} +# b_brescello +2533 ={ + winter_severity_bias = 0.25 +} +### d_pisa +## c_pisa +# b_pisa +2536 ={ + winter_severity_bias = 0.0 +} +# b_livorno +2557 ={ + winter_severity_bias = 0.0 +} +# b_piombino +2561 ={ + winter_severity_bias = 0.0 +} +### d_toscana +## c_firenze +# b_firenze +2543 ={ + winter_severity_bias = 0.10 +} +# b_impruneta +2559 ={ + winter_severity_bias = 0.10 +} +# b_empoli +2563 ={ + winter_severity_bias = 0.10 +} +# b_volterra +2558 ={ + winter_severity_bias = 0.10 +} +## c_lucca +# b_lucca +2537 ={ + winter_severity_bias = 0.10 +} +# b_pistorja #Pistoia +2538 ={ + winter_severity_bias = 0.10 +} +# b_prato +2545 ={ + winter_severity_bias = 0.40 +} +## c_arezzo +# b_arezzo +2554 ={ + winter_severity_bias = 0.40 +} +# b_vallombrosa +2544 ={ + winter_severity_bias = 0.40 +} +# b_cortona +2564 ={ + winter_severity_bias = 0.10 +} +## c_siena +# b_siena +2560 ={ + winter_severity_bias = 0.10 +} +# b_montalcino +2567 ={ + winter_severity_bias = 0.25 +} +# b_chiusi +2565 ={ + winter_severity_bias = 0.10 +} +# b_asciano +8760 ={ + winter_severity_bias = 0.10 +} +## c_orbetello +# b_orbetello +2569 ={ + winter_severity_bias = 0.0 +} +# b_soana +2570 ={ + winter_severity_bias = 0.10 +} +# b_grosseto +2562 ={ + winter_severity_bias = 0.0 +} + +#### k_sardinia #Sardinia & Corsica +### d_corsica +## c_ajaccio +# b_ajaccio +2650 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_calvi +2649 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_bastia +# b_bastia +2647 ={ + winter_severity_bias = 0.25 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_corte +2648 ={ + winter_severity_bias = 0.25 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_vecchio +# b_bonifacio +2652 ={ + winter_severity_bias = 0.0 +} +# b_vecchio +2651 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +### d_sardinia +## c_cagliari +# b_cagliari +2653 ={ + winter_severity_bias = 0.0 +} +# b_iglesias +2654 ={ + winter_severity_bias = 0.0 +} +# b_samassi +2660 ={ + winter_severity_bias = 0.0 +} +## c_arborea +# b_oristano +2659 ={ + winter_severity_bias = 0.0 +} +# b_isili +2661 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_gallura +# b_olbia +2658 ={ + winter_severity_bias = 0.0 +} +# b_galtelli +2657 ={ + winter_severity_bias = 0.0 +} +## c_logudoro +# b_sassari +2662 ={ + winter_severity_bias = 0.0 +} +# b_alghero +2665 ={ + winter_severity_bias = 0.0 +} +# b_porto_torres +2664 ={ + winter_severity_bias = 0.0 +} +# b_ardara +2663 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_tortoli +# b_tortoli +2656 ={ + winter_severity_bias = 0.0 +} +# b_carbonara +2655 ={ + winter_severity_bias = 0.0 +} + +#### k_romagna +### d_romagna +## c_ravenna +# b_ravenna +2546 ={ + winter_severity_bias = 0.20 +} +# b_imola +2549 ={ + winter_severity_bias = 0.20 +} +# b_forli +2548 ={ + winter_severity_bias = 0.20 +} +# b_rimini +2547 ={ + winter_severity_bias = 0.20 +} +## c_bologna +# b_bologna +2542 ={ + winter_severity_bias = 0.20 +} +# b_cona +2529 ={ + winter_severity_bias = 0.20 +} +# b_monte_sole +2550 ={ + winter_severity_bias = 0.20 +} +## c_ferrara +# b_ferrara +2527 ={ + winter_severity_bias = 0.20 +} +# b_pomposa +2526 ={ + winter_severity_bias = 0.20 +} +# b_comacchio +2528 ={ + winter_severity_bias = 0.20 +} +## c_casentino +# b_casentino +2553 ={ + winter_severity_bias = 0.50 +} +# b_montefeltro +2552 ={ + winter_severity_bias = 0.50 +} +# b_camaldoli +2551 ={ + winter_severity_bias = 0.50 +} +### d_ancona +## c_ancona +# b_ancona +2594 ={ + winter_severity_bias = 0.20 +} +# b_cagli +2583 ={ + winter_severity_bias = 0.50 +} +# b_gubbio +2582 ={ + winter_severity_bias = 0.50 +} +# b_camerino +2587 ={ + winter_severity_bias = 0.65 +} +## c_urbino +# b_urbino +2555 ={ + winter_severity_bias = 0.50 +} +# b_civitas_castelli +2584 ={ + winter_severity_bias = 0.50 +} +# b_pesaro +2556 ={ + winter_severity_bias = 0.20 +} +## c_fermo +# b_fermo +2598 ={ + winter_severity_bias = 0.15 +} +# b_ascoli_piceno +2597 ={ + winter_severity_bias = 0.40 +} +# b_macerata +2599 ={ + winter_severity_bias = 0.15 +} +### d_spoleto +## c_spoleto +# b_spoleto +2585 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_assissi #Assisi +2581 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_terni +2586 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +## c_orvieto +# b_orvieto +2568 ={ + winter_severity_bias = 0.10 +} +# b_perugia +2566 ={ + winter_severity_bias = 0.10 +} +## c_teramo +# b_teramo +2596 ={ + winter_severity_bias = 0.20 +} +# b_atri +2595 ={ + winter_severity_bias = 0.20 +} +## c_lanciano +# b_lanciano +2604 ={ + winter_severity_bias = 0.0 +} +# b_cluieli #Chieti +2603 ={ + winter_severity_bias = 0.0 +} +# b_agnone +8759 ={ + winter_severity_bias = 0.0 +} +## c_abruzzi +# b_avezzano +2600 ={ + winter_severity_bias = 0.60 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +# b_rieti +2588 ={ + winter_severity_bias = 0.60 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.2 + harsh_winter_factor_override = 0.0 +} +### d_latium +## c_roma +# b_roma +2575 ={ + winter_severity_bias = 0.0 +} +# b_ostia +2576 ={ + winter_severity_bias = 0.0 +} +# b_vaticano +2577 ={ + winter_severity_bias = 0.0 +} +# b_palo +2578 ={ + winter_severity_bias = 0.0 +} +# b_paterno +2574 ={ + winter_severity_bias = 0.0 +} +# b_farfa +2579 ={ + winter_severity_bias = 0.0 +} +## c_viterbo +# b_viterbo +2572 ={ + winter_severity_bias = 0.0 +} +# b_sutri +2573 ={ + winter_severity_bias = 0.0 +} +# b_civitavecchia +2571 ={ + winter_severity_bias = 0.0 +} +## c_tivoli +# b_tivoli +2589 ={ + winter_severity_bias = 0.0 +} +# b_velletri +2590 ={ + winter_severity_bias = 0.0 +} +# b_segni +2591 ={ + winter_severity_bias = 0.0 +} +# b_terracina +2592 ={ + winter_severity_bias = 0.0 +} + +##### e_scandinavia +#### k_sweden +### d_svealand # Uppland +## c_upland #Upland +# b_sigtuna +341 ={ + winter_severity_bias = 0.60 +} +# b_uppsala +342 ={ + winter_severity_bias = 0.60 +} +# b_enescopinge #(Enkoping) +343 ={ + winter_severity_bias = 0.60 +} +# b_osthammar #Osthammar +344 ={ + winter_severity_bias = 0.60 +} +## c_gastrikland +# b_gavle +354 ={ + winter_severity_bias = 0.70 +} +# b_oklabo #(Ockelbo) +355 ={ + winter_severity_bias = 0.70 +} +# b_odmarden +356 ={ + winter_severity_bias = 0.70 +} +## c_sodermannaland +# b_strigines #(Strangnas) +339 ={ + winter_severity_bias = 0.60 +} +# b_talje +336 ={ + winter_severity_bias = 0.60 +} +# b_nykopung +337 ={ + winter_severity_bias = 0.60 +} +# b_sundby +338 ={ + winter_severity_bias = 0.60 +} +# b_birkevik #(Bjorkvik) +340 ={ + winter_severity_bias = 0.60 +} +## c_aland +# b_sund +216 ={ + winter_severity_bias = 0.60 +} +# b_jomala +217 ={ + winter_severity_bias = 0.60 +} +### d_bergslagen +## c_vastmanland +# b_vaestraaros +346 ={ + winter_severity_bias = 0.70 +} +# b_arbuga #(Arboga) +347 ={ + winter_severity_bias = 0.70 +} +# b_skynzekkeberge #(Skinnskatteberg) +348 ={ + winter_severity_bias = 0.70 +} +# b_fernabo #(Vasterfarnebo) +349 ={ + winter_severity_bias = 0.70 +} +## c_varmland +# b_tingvalla +323 ={ + winter_severity_bias = 0.70 +} +# b_friskdal +324 ={ + winter_severity_bias = 0.70 +} +# b_vase +326 ={ + winter_severity_bias = 0.70 +} +# b_farnebo +8739 ={ + winter_severity_bias = 0.70 +} +## c_dalarna +# b_mor +351 ={ + winter_severity_bias = 0.70 +} +# b_molungr +352 ={ + winter_severity_bias = 0.70 +} +# b_orsa +8730 ={ + winter_severity_bias = 0.70 +} +# b_lima +8729 ={ + winter_severity_bias = 0.70 +} +## c_dalabergslagen +# b_falene #Falun +350 ={ + winter_severity_bias = 0.70 +} +# b_norrbarke +353 ={ + winter_severity_bias = 0.70 +} +# b_henamorum #Hedemora +345 ={ + winter_severity_bias = 0.70 +} +# b_leksand +8728 ={ + winter_severity_bias = 0.70 +} +### d_vastergotland +## c_vastergotland +# b_lodose +317 ={ + winter_severity_bias = 0.60 +} +# b_falkoping +319 ={ + winter_severity_bias = 0.60 +} +# b_kungahalla +318 ={ + winter_severity_bias = 0.60 +} +# b_opensten +8724 ={ + winter_severity_bias = 0.60 +} +# b_kindaholm +8725 ={ + winter_severity_bias = 0.60 +} +## c_skara +# b_lacko +8723 ={ + winter_severity_bias = 0.60 +} +# b_skara +316 ={ + winter_severity_bias = 0.60 +} +# b_varnhem +320 ={ + winter_severity_bias = 0.60 +} +## c_dal +# b_dalaborg +321 ={ + winter_severity_bias = 0.60 +} +# b_tisselskog +322 ={ + winter_severity_bias = 0.60 +} +## c_nordmark +# b_nordmark +8731 ={ + winter_severity_bias = 0.70 +} +# b_josse +8732 ={ + winter_severity_bias = 0.70 +} +# b_gillberg +325 ={ + winter_severity_bias = 0.70 +} +### d_ostergotland +## c_ostergotland +# b_sudherkopung +330 ={ + winter_severity_bias = 0.60 +} +# b_hamarkinda +331 ={ + winter_severity_bias = 0.60 +} +# b_vreta +334 ={ + winter_severity_bias = 0.60 +} +# b_norrkoping +8733 ={ + winter_severity_bias = 0.60 +} +## c_kinda +# b_liunga +332 ={ + winter_severity_bias = 0.60 +} +# b_skanninge +333 ={ + winter_severity_bias = 0.60 +} +# b_grebo2 +8734 ={ + winter_severity_bias = 0.60 +} +## c_narke #Neeric +# b_orabro +327 ={ + winter_severity_bias = 0.60 +} +# b_riseberga +328 ={ + winter_severity_bias = 0.60 +} +# b_noraskog +329 ={ + winter_severity_bias = 0.60 +} +### d_smaland +## c_more +# b_kalmar +307 ={ + winter_severity_bias = 0.60 +} +# b_hogsby +308 ={ + winter_severity_bias = 0.60 +} +# b_torsas +8726 ={ + winter_severity_bias = 0.60 +} +## c_sevede +# b_stegholm +8727 ={ + winter_severity_bias = 0.60 +} +# b_hulingsryd +309 ={ + winter_severity_bias = 0.60 +} +# b_vimmerby +310 ={ + winter_severity_bias = 0.60 +} +## c_varend +# b_vaxjo +302 ={ + winter_severity_bias = 0.60 +} +# b_allbo +303 ={ + winter_severity_bias = 0.60 +} +# b_kinnevald +304 ={ + winter_severity_bias = 0.60 +} +# b_norrvidinge +305 ={ + winter_severity_bias = 0.60 +} +# b_uppvidinge +306 ={ + winter_severity_bias = 0.60 +} +## c_njudung +# b_wisinghnso +335 ={ + winter_severity_bias = 0.70 +} +# b_jonkoping +312 ={ + winter_severity_bias = 0.70 +} +# b_hultaby +311 ={ + winter_severity_bias = 0.70 +} +# b_eksjo +313 ={ + winter_severity_bias = 0.70 +} +## c_finnveden +# b_warnnamo #Warnnamo +301 ={ + winter_severity_bias = 0.60 +} +# b_liongby #Liongby (Ljungby) +300 ={ + winter_severity_bias = 0.60 +} +## c_oland +# b_borgholm +314 ={ + winter_severity_bias = 0.60 +} +# b_eketorp +315 ={ + winter_severity_bias = 0.60 +} +### d_norrland +## c_halsingland +# b_norale #(Norrala) +360 ={ + winter_severity_bias = 0.70 +} +# b_baldanas +357 ={ + winter_severity_bias = 0.70 +} +# b_farila +358 ={ + winter_severity_bias = 0.70 +} +# b_dilsbo #(Delsbo) +359 ={ + winter_severity_bias = 0.70 +} +## c_medelpad +# b_seilanger +361 ={ + winter_severity_bias = 0.70 +} +# b_hafra +362 ={ + winter_severity_bias = 0.70 +} +# b_lidh #(Liden) +363 ={ + winter_severity_bias = 0.70 +} +# b_hedanger +364 ={ + winter_severity_bias = 0.70 +} +## c_angermanland #Angermannaland +# b_solatumum +366 ={ + winter_severity_bias = 0.70 +} +# b_sioboradh +365 ={ + winter_severity_bias = 0.70 +} +# b_neteru +367 ={ + winter_severity_bias = 0.70 +} +# b_grundasund #(Grundsunda) +368 ={ + winter_severity_bias = 0.70 +} +### d_gotland +## c_gutland #(Gotland) +# b_wysbu #(visby) +369 ={ + winter_severity_bias = 0.60 +} +# b_garna +370 ={ + winter_severity_bias = 0.60 +} +# b_burss #(Burs) +371 ={ + winter_severity_bias = 0.60 +} +# b_faroo +372 ={ + winter_severity_bias = 0.60 +} + +#### k_sapmi +### d_aarjetje +## c_sjeltie +# b_sjeltie +430 ={ + winter_severity_bias = 0.90 +} +# b_gaaltoe +431 ={ + winter_severity_bias = 0.90 +} +# b_vualtjere #(Vilhelmina) +432 ={ + winter_severity_bias = 0.90 +} +## c_ubmejeiednuo +# b_uddjaur +428 ={ + winter_severity_bias = 0.90 +} +# b_lusspie #Storuman +429 ={ + winter_severity_bias = 0.90 +} +# b_ume +8781 ={ + winter_severity_bias = 0.90 +} +# b_lais +381 ={ + winter_severity_bias = 1.0 +} +## c_pite +# b_luokta +374 ={ + winter_severity_bias = 0.90 +} +# b_arjepluovve +427 ={ + winter_severity_bias = 0.90 +} +# b_semisjaur +377 ={ + winter_severity_bias = 1.0 +} +## c_jahkamakke #Lule +# b_jahkamakke #(Jokkmokk) +373 ={ + winter_severity_bias = 0.90 +} +# b_tuorpon +376 ={ + winter_severity_bias = 1.0 +} +### d_vuovdisamieana +## c_biton +# b_biton +422 ={ + winter_severity_bias = 0.90 +} +# b_arviesjavrrie +375 ={ + winter_severity_bias = 0.90 +} +# b_ubmeje +382 ={ + winter_severity_bias = 0.90 +} +## c_julevadno +# b_julevu +421 ={ + winter_severity_bias = 0.90 +} +# b_galaseatnu +423 ={ + winter_severity_bias = 0.90 +} +# b_duortnus +424 ={ + winter_severity_bias = 0.90 +} +## c_kittila +# b_kittal +385 ={ + winter_severity_bias = 0.90 +} +# b_suadigil +387 ={ + winter_severity_bias = 0.90 +} +# b_roavvenjarga #Rovaniemi +8785 ={ + winter_severity_bias = 0.90 +} +## c_torne +# b_vettanen +8782 ={ + winter_severity_bias = 0.90 +} +# b_ylikainuu +8783 ={ + winter_severity_bias = 0.90 +} +# b_kangos +8784 ={ + winter_severity_bias = 0.90 +} +### d_duortnoseatnu #Davvisapmi +## c_siggevara +# b_siggevara +380 ={ + winter_severity_bias = 0.90 +} +# b_sirkas +379 ={ + winter_severity_bias = 1.0 +} +# b_sjokksjokk +378 ={ + winter_severity_bias = 0.90 +} +## c_suondavara +# b_suondavara +384 ={ + winter_severity_bias = 0.90 +} +# b_peldojavri +392 ={ + winter_severity_bias = 0.90 +} +## c_rounala +# b_rounala +393 ={ + winter_severity_bias = 1.0 +} +# b_tingevara +383 ={ + winter_severity_bias = 1.0 +} +## c_aviovara +# b_aviovara +397 ={ + winter_severity_bias = 1.0 +} +# b_guovdageaidnu +394 ={ + winter_severity_bias = 1.0 +} +# b_iesjavri +395 ={ + winter_severity_bias = 1.0 +} +## c_karasjohka +# b_karasjohka +396 ={ + winter_severity_bias = 1.0 +} +# b_laggujakka +398 ={ + winter_severity_bias = 1.0 +} +# b_ohcejohka +399 ={ + winter_severity_bias = 1.0 +} +### d_giemajohka +## c_peaccam #Kemi +# b_giempa #(Kemi) +425 ={ + winter_severity_bias = 0.90 +} +# b_kemijavri +388 ={ + winter_severity_bias = 0.90 +} +# b_iijoki +426 ={ + winter_severity_bias = 0.90 +} +# b_kuusama +8786 ={ + winter_severity_bias = 0.90 +} +## c_kitka +# b_kitka +419 ={ + winter_severity_bias = 0.90 +} +# b_koulajavri +418 ={ + winter_severity_bias = 0.90 +} +# b_maanselka +420 ={ + winter_severity_bias = 0.90 +} +## c_koutajoki +# b_koutajoki +454 ={ + winter_severity_bias = 0.90 +} +# b_tiiksjarvi +455 ={ + winter_severity_bias = 0.90 +} +## c_akkel #Akkala +# b_akkel +409 ={ + winter_severity_bias = 0.90 +} +# b_cukksual +407 ={ + winter_severity_bias = 0.90 +} +# b_kaddlhutt #AKA Kandalaksha +8787 ={ + winter_severity_bias = 0.90 +} +## c_sombio +# b_sombio +390 ={ + winter_severity_bias = 0.90 +} +# b_suonnjel +401 ={ + winter_severity_bias = 0.90 +} +# b_nuottjaurr +403 ={ + winter_severity_bias = 0.90 +} +# b_saarvesjaurr +408 ={ + winter_severity_bias = 0.90 +} +## c_inari +# b_aanaarjavri +391 ={ + winter_severity_bias = 0.90 +} +# b_peaccam +400 ={ + winter_severity_bias = 0.90 +} +# b_suenekele +8788 ={ + winter_severity_bias = 0.90 +} +## c_skolt +# b_skolt +8789 ={ + winter_severity_bias = 0.90 +} +# b_kiilt +404 ={ + winter_severity_bias = 0.90 +} +# b_muetkk +402 ={ + winter_severity_bias = 0.90 +} +### d_guoldat +## c_ter +# b_sosnevke #Sosnevke +417 ={ + winter_severity_bias = 0.90 +} +# b_jovvkuj #Jovvkuj +415 ={ + winter_severity_bias = 0.90 +} +# b_penne #P'enne +416 ={ + winter_severity_bias = 0.90 +} +# b_peliza +8790 ={ + winter_severity_bias = 0.90 +} +## c_jovvkuj #Kildin +# b_guoddemjavvr #Guoddemjavv'r +413 ={ + winter_severity_bias = 0.90 +} +# b_lejjavvr #Lejjavv'r +411 ={ + winter_severity_bias = 0.90 +} +# b_arsjogk #Arsjogk +412 ={ + winter_severity_bias = 0.90 +} +## c_east_kiilt #Kordok +# b_lujavvr #Lujavv'r +410 ={ + winter_severity_bias = 0.90 +} +# b_koardegk +405 ={ + winter_severity_bias = 0.90 +} +# b_maselk # Masel'k +406 ={ + winter_severity_bias = 0.90 +} +## c_kintus +# b_kintus +414 ={ + winter_severity_bias = 0.90 +} +# b_varsiga #AKA Varzuga +8791 ={ + winter_severity_bias = 0.90 +} +# b_cascarena +8792 ={ + winter_severity_bias = 0.90 +} + +#### k_denmark +### d_sjaelland +## c_sjaelland +# b_roskilde +63 ={ + winter_severity_bias = 0.60 +} +# b_helsingora +433 ={ + winter_severity_bias = 0.60 +} +# b_hafn +85 ={ + winter_severity_bias = 0.60 +} +# b_naestved +64 ={ + winter_severity_bias = 0.60 +} +# b_slagelse +69 ={ + winter_severity_bias = 0.60 +} +## c_fyn +# b_odense +65 ={ + winter_severity_bias = 0.60 +} +# b_svendborg +66 ={ + winter_severity_bias = 0.60 +} +# b_middelfart +228 ={ + winter_severity_bias = 0.60 +} +## c_lolland_falster +# b_nykobing +67 ={ + winter_severity_bias = 0.50 +} +# b_nakskov +68 ={ + winter_severity_bias = 0.50 +} +### d_skane +## c_skane +# b_lund +70 ={ + winter_severity_bias = 0.60 +} +# b_trelleborg +71 ={ + winter_severity_bias = 0.60 +} +# b_tommerup +72 ={ + winter_severity_bias = 0.60 +} +# b_goinge +86 ={ + winter_severity_bias = 0.60 +} +# b_helsingborg +73 ={ + winter_severity_bias = 0.60 +} +## c_halland +# b_halmstad +74 ={ + winter_severity_bias = 0.60 +} +# b_onsala +75 ={ + winter_severity_bias = 0.60 +} +# b_laholm +76 ={ + winter_severity_bias = 0.60 +} +## c_bornholm +# b_ronne +77 ={ + winter_severity_bias = 0.60 +} +## c_blekinge +# b_bregne +78 ={ + winter_severity_bias = 0.60 +} +# b_ronneby +79 ={ + winter_severity_bias = 0.60 +} +# b_lister +87 ={ + winter_severity_bias = 0.60 +} +# b_avaskar +80 ={ + winter_severity_bias = 0.60 +} +### d_jylland # Jylland +## c_aarhus +# b_aarhus +57 ={ + winter_severity_bias = 0.60 +} +# b_jelling +58 ={ + winter_severity_bias = 0.60 +} +# b_djursland +226 ={ + winter_severity_bias = 0.60 +} +## c_viborg +# b_viborg +56 ={ + winter_severity_bias = 0.60 +} +# b_ormstrup +222 ={ + winter_severity_bias = 0.60 +} +## c_ringkobing +# b_ringkobing +82 ={ + winter_severity_bias = 0.55 +} +# b_holstebro +221 ={ + winter_severity_bias = 0.55 +} +# b_ycost +223 ={ + winter_severity_bias = 0.55 +} +# b_tarm +225 ={ + winter_severity_bias = 0.55 +} +## c_aalborg +# b_aalborg +81 ={ + winter_severity_bias = 0.60 +} +# b_lindholm +55 ={ + winter_severity_bias = 0.60 +} +# b_randros +224 ={ + winter_severity_bias = 0.60 +} +### d_slesvig # Schleswig +## c_slesvig +# b_hedeby +62 ={ + winter_severity_bias = 0.55 +} +# b_aabenraa +61 ={ + winter_severity_bias = 0.55 +} +# b_husumbro +84 ={ + winter_severity_bias = 0.55 +} +## c_vorbasse +# b_vorbasse +59 ={ + winter_severity_bias = 0.55 +} +# b_taulov +227 ={ + winter_severity_bias = 0.55 +} +# b_kolding +434 ={ + winter_severity_bias = 0.55 +} +## c_ribe +# b_ribe +60 ={ + winter_severity_bias = 0.55 +} +# b_varde +83 ={ + winter_severity_bias = 0.55 +} +# b_strand +220 ={ + winter_severity_bias = 0.55 +} + +#### k_norway +### d_viken +## c_vingulmork +# b_oslosyslar +234 ={ + winter_severity_bias = 0.60 +} +# b_austfold +231 ={ + winter_severity_bias = 0.60 +} +# b_borgarsyslar +285 ={ + winter_severity_bias = 0.60 +} +# b_romerriki +232 ={ + winter_severity_bias = 0.60 +} +# b_ski +8768 ={ + winter_severity_bias = 0.60 +} + +## c_raniriki +# b_bagahus +229 ={ + winter_severity_bias = 0.60 +} +# b_ranariki +230 ={ + winter_severity_bias = 0.60 +} +# b_uddevalla +8770 ={ + winter_severity_bias = 0.60 +} + +## c_vestfold +# b_tunsberg +286 ={ + winter_severity_bias = 0.60 +} +# b_skiringssal +287 ={ + winter_severity_bias = 0.60 +} +# b_drafn +246 ={ + winter_severity_bias = 0.60 +} +# b_ringariki +233 ={ + winter_severity_bias = 0.80 +} +## c_telemark +# b_telemark +248 ={ + winter_severity_bias = 0.60 +} +# b_heddall +288 ={ + winter_severity_bias = 0.80 +} +# b_numedall +247 ={ + winter_severity_bias = 0.80 +} +### d_agder +## c_nedenes +# b_arendall +249 ={ + winter_severity_bias = 0.60 +} +# b_raaboigde +250 ={ + winter_severity_bias = 0.75 +} +# b_aarak +292 ={ + winter_severity_bias = 0.60 +} +## c_agdeside +# b_ottrunes +289 ={ + winter_severity_bias = 0.60 +} +# b_norwegian_lister +251 ={ + winter_severity_bias = 0.60 +} +# b_heiane +290 ={ + winter_severity_bias = 0.75 +} +### d_vestlandi +## c_rogalandi +# b_jatharr +252 ={ + winter_severity_bias = 0.50 +} +# b_ryfylki +253 ={ + winter_severity_bias = 0.80 +} +# b_haugelandi +254 ={ + winter_severity_bias = 0.50 +} +## c_hordalandi +# b_bjorgvin +257 ={ + winter_severity_bias = 0.70 +} +# b_northrihordalandi +258 ={ + winter_severity_bias = 0.70 +} +# b_sunnhordalandi +256 ={ + winter_severity_bias = 0.85 +} +# b_hardanger +255 ={ + winter_severity_bias = 0.85 +} +# b_voss +259 ={ + winter_severity_bias = 0.85 +} +## c_sogn +# b_sognfylki +260 ={ + winter_severity_bias = 0.85 +} +# b_stolsheimen +262 ={ + winter_severity_bias = 0.85 +} +# b_bremanger +261 ={ + winter_severity_bias = 0.70 +} +# b_dale +264 ={ + winter_severity_bias = 0.85 +} +# b_fjarlandi +263 ={ + winter_severity_bias = 0.85 +} +### d_trandalog +## c_trandheim +# b_nidaros +270 ={ + winter_severity_bias = 0.80 +} +# b_eynafylki +273 ={ + winter_severity_bias = 0.80 +} +# b_verdala +243 ={ + winter_severity_bias = 0.90 +} +# b_hitrar +272 ={ + winter_severity_bias = 0.85 +} +## c_norwegian_more +# b_raumsdali +268 ={ + winter_severity_bias = 0.85 +} +# b_northri_more +269 ={ + winter_severity_bias = 0.85 +} +# b_sunnmore +267 ={ + winter_severity_bias = 0.85 +} +## c_firdafylki +# b_firdafylki +265 ={ + winter_severity_bias = 0.85 +} +# b_jolster +266 ={ + winter_severity_bias = 0.85 +} +### d_dalir +## c_hedmork +# b_hedmork +236 ={ + winter_severity_bias = 0.80 +} +# b_valdres +235 ={ + winter_severity_bias = 0.80 +} +# b_stange +8769 ={ + winter_severity_bias = 0.80 +} + +## c_gudbrandsdalir +# b_suthri_gudbrandsdali +238 ={ + winter_severity_bias = 1.0 +} +# b_northri_gudbrandsdali +237 ={ + winter_severity_bias = 1.0 +} +# b_dovre +293 ={ + winter_severity_bias = 1.0 +} +# b_orkdala +271 ={ + winter_severity_bias = 1.0 +} +## c_eystridalir +# b_northri_eystridali +239 ={ + winter_severity_bias = 1.0 +} +# b_suthri_eystridali +240 ={ + winter_severity_bias = 0.8 +} +## c_gauldala +# b_gauldala +241 ={ + winter_severity_bias = 1.0 +} +# b_stjordala +242 ={ + winter_severity_bias = 1.0 +} +### d_halogaland +## c_vastvag +# b_vastvagborg +280 ={ + winter_severity_bias = 0.90 +} +# b_bjarkoy +279 ={ + winter_severity_bias = 0.90 +} +# b_vagan +278 ={ + winter_severity_bias = 0.90 +} +## c_bothin +# b_bothin +277 ={ + winter_severity_bias = 1.0 +} +# b_rodoy +275 ={ + winter_severity_bias = 1.0 +} +# b_aarborte +284 ={ + winter_severity_bias = 1.0 +} +# b_sandnes +276 ={ + winter_severity_bias = 0.90 +} +## c_namdalfylki +# b_utan_namdal +245 ={ + winter_severity_bias = 0.85 +} +# b_innan_namdal +244 ={ + winter_severity_bias = 1.0 +} +# b_torgar +274 ={ + winter_severity_bias = 0.90 +} +# b_grong +283 ={ + winter_severity_bias = 1.0 +} +### d_iceland +## c_vestisland +# b_reykjavik +2 ={ + winter_severity_bias = 0.90 +} +# b_vestfirdir #=Isalfjordur +1 ={ + winter_severity_bias = 0.90 +} +# b_olafsvik +8771 ={ + winter_severity_bias = 0.90 +} + +## c_nordrland +# b_husavik +5 ={ + winter_severity_bias = 0.90 +} +# b_vopnafjordur +8773 ={ + winter_severity_bias = 0.90 +} + +## c_austisland +# b_reydarfjall #=Seydisfjordur +4 ={ + winter_severity_bias = 0.90 +} +# b_hofn +8772 ={ + winter_severity_bias = 0.90 +} + +## c_sudurland +# b_stokkseyri +3 ={ + winter_severity_bias = 0.80 +} +# b_klaustur +8774 ={ + winter_severity_bias = 0.80 +} +### d_northern_isles +## c_orkney +# b_kirkwall +8 ={ + winter_severity_bias = 0.80 +} +## c_faereyar +# b_torshavn +6 ={ + winter_severity_bias = 0.80 +} +## c_shetland +# b_scalloway +7 ={ + winter_severity_bias = 0.80 +} +### d_jamtland +## c_jamtfir +# b_froso +386 ={ + winter_severity_bias = 0.70 +} +# b_graftavallen +282 ={ + winter_severity_bias = 0.80 +} +# b_skalstugan +296 ={ + winter_severity_bias = 0.90 +} +# b_ardda +294 ={ + winter_severity_bias = 0.90 +} +# b_krokar +295 ={ + winter_severity_bias = 0.80 +} +## c_morarna +# b_morarna +389 ={ + winter_severity_bias = 0.70 +} +# b_ostavall +435 ={ + winter_severity_bias = 0.70 +} +# b_ragunda +436 ={ + winter_severity_bias = 0.70 +} +## c_helgum +# b_helgum +439 ={ + winter_severity_bias = 0.70 +} +# b_indal +441 ={ + winter_severity_bias = 0.70 +} +# b_finnforsar +438 ={ + winter_severity_bias = 0.70 +} +# b_follinge +437 ={ + winter_severity_bias = 0.80 +} +## c_harjadalen +# b_tanna +291 ={ + winter_severity_bias = 1.0 +} +# b_storsjo +297 ={ + winter_severity_bias = 0.80 +} +# b_sveg +298 ={ + winter_severity_bias = 0.70 +} + +#### k_finland +### d_finland +## c_finland +# b_turku +179 ={ + winter_severity_bias = 0.65 +} +# b_rikala +178 ={ + winter_severity_bias = 0.65 +} +# b_rauma +180 ={ + winter_severity_bias = 0.65 +} +## c_nyland +# b_porvoo +175 ={ + winter_severity_bias = 0.65 +} +# b_espoo +176 ={ + winter_severity_bias = 0.65 +} +# b_raseborg +177 ={ + winter_severity_bias = 0.65 +} +# b_vehkalahti +197 ={ + winter_severity_bias = 0.65 +} +## c_satakunta +# b_ulvila +185 ={ + winter_severity_bias = 0.70 +} +# b_liinmaa +183 ={ + winter_severity_bias = 0.70 +} +# b_telja +184 ={ + winter_severity_bias = 0.70 +} +# b_pirkkala +186 ={ + winter_severity_bias = 0.70 +} +## c_messukyla +# b_messukyla +211 ={ + winter_severity_bias = 0.70 +} +# b_ruovesi +212 ={ + winter_severity_bias = 0.70 +} +## c_tavasts +# b_hameenlinna +205 ={ + winter_severity_bias = 0.70 +} +# b_somero +206 ={ + winter_severity_bias = 0.70 +} +# b_lahti +208 ={ + winter_severity_bias = 0.70 +} +### d_savo +## c_olavinlinna +# b_olavinlinna +190 ={ + winter_severity_bias = 0.70 +} +# b_sulkava +189 ={ + winter_severity_bias = 0.70 +} +# b_suoparsaari +203 ={ + winter_severity_bias = 0.70 +} +# b_mikkeli +188 ={ + winter_severity_bias = 0.70 +} +# b_tohmajarvi +204 ={ + winter_severity_bias = 0.70 +} +## c_sysma +# b_sysma +207 ={ + winter_severity_bias = 0.70 +} +# b_paijala +209 ={ + winter_severity_bias = 0.70 +} +# b_konnevesi +447 ={ + winter_severity_bias = 0.70 +} +## c_pielinen +# b_pielinen +449 ={ + winter_severity_bias = 0.70 +} +# b_keitele +448 ={ + winter_severity_bias = 0.70 +} +### d_pohjanmaa +## c_oulu +# b_oulu +444 ={ + winter_severity_bias = 0.70 +} +# b_liminka +445 ={ + winter_severity_bias = 0.70 +} +# b_puolanka +446 ={ + winter_severity_bias = 0.70 +} +# b_veteli +443 ={ + winter_severity_bias = 0.70 +} +## c_pedersore +# b_pedersore +442 ={ + winter_severity_bias = 0.70 +} +# b_vuohijarvi +210 ={ + winter_severity_bias = 0.70 +} +## c_mustasaari +# b_mustasaari +213 ={ + winter_severity_bias = 0.70 +} +# b_merikarvia +214 ={ + winter_severity_bias = 0.70 +} +# b_levanluhta +215 ={ + winter_severity_bias = 0.70 +} +## c_kainuu +# b_kajaani +450 ={ + winter_severity_bias = 0.70 +} +# b_nuokkijarvi +451 ={ + winter_severity_bias = 0.70 +} +### d_karelia +## c_kakisalmi +# b_kakisalmi +172 ={ + winter_severity_bias = 0.70 +} +# b_koivisto +173 ={ + winter_severity_bias = 0.70 +} +# b_rautu +171 ={ + winter_severity_bias = 0.70 +} +## c_viipuri +# b_viipuri +182 ={ + winter_severity_bias = 0.70 +} +# b_parikkala +181 ={ + winter_severity_bias = 0.70 +} +# b_savitaipale +187 ={ + winter_severity_bias = 0.70 +} +## c_sortavala +# b_sortavala +174 ={ + winter_severity_bias = 0.70 +} +# b_kidila +191 ={ + winter_severity_bias = 0.70 +} +# b_tovajarvi +200 ={ + winter_severity_bias = 0.70 +} +## c_salinis +# b_salinis +192 ={ + winter_severity_bias = 0.70 +} +# b_suojarvi +201 ={ + winter_severity_bias = 0.70 +} +## c_onega +# b_onegaborg +195 ={ + winter_severity_bias = 0.70 +} +# b_soutjarvi +196 ={ + winter_severity_bias = 0.70 +} +# b_aunus +193 ={ + winter_severity_bias = 0.70 +} +## c_viena +# b_kem +219 ={ + winter_severity_bias = 0.70 +} +# b_soma +218 ={ + winter_severity_bias = 0.70 +} +# b_tungut +452 ={ + winter_severity_bias = 0.70 +} +# b_kuusema +453 ={ + winter_severity_bias = 0.70 +} +## c_kontupohja +# b_kontupohja +198 ={ + winter_severity_bias = 0.70 +} +# b_lizmajarvi +199 ={ + winter_severity_bias = 0.70 +} +# b_vatselanjarvi +202 ={ + winter_severity_bias = 0.70 +} +# b_seesjarvi +194 ={ + winter_severity_bias = 0.70 +} + +#### k_esthonia #Estonia +### d_esthonia +## c_reval +# b_reval +94 ={ + winter_severity_bias = 0.65 +} +# b_harjumaa +95 ={ + winter_severity_bias = 0.65 +} +# b_jarva +96 ={ + winter_severity_bias = 0.65 +} +## c_narva +# b_narva +98 ={ + winter_severity_bias = 0.65 +} +# b_wesenburg +97 ={ + winter_severity_bias = 0.65 +} +## c_osel +# b_kuressare +88 ={ + winter_severity_bias = 0.60 +} +# b_maasilinna +89 ={ + winter_severity_bias = 0.60 +} +# b_muhu +90 ={ + winter_severity_bias = 0.60 +} +# b_hiiumaa +91 ={ + winter_severity_bias = 0.60 +} +## c_wiek +# b_hapsal +92 ={ + winter_severity_bias = 0.65 +} +# b_leal +93 ={ + winter_severity_bias = 0.65 +} +### d_livonia +## c_vidzeme +# b_lemisele +101 ={ + winter_severity_bias = 0.65 +} +# b_salacgriva +148 ={ + winter_severity_bias = 0.65 +} +# b_uxkull +108 ={ + winter_severity_bias = 0.65 +} +## c_livs +# b_parnu +99 ={ + winter_severity_bias = 0.65 +} +# b_viljandi +100 ={ + winter_severity_bias = 0.65 +} +# b_alistegunde +147 ={ + winter_severity_bias = 0.65 +} +## c_dorpat +# b_tartu +145 ={ + winter_severity_bias = 0.65 +} +# b_poltsamaa +146 ={ + winter_severity_bias = 0.65 +} +# b_vastseliina +143 ={ + winter_severity_bias = 0.65 +} +# b_valga +144 ={ + winter_severity_bias = 0.65 +} + +##### e_wendish_empire +#### k_poland +### d_lesser_poland +## c_krakowska +# b_krakow +527 ={ + winter_severity_bias = 0.60 +} +# b_olsztyn +440 ={ + winter_severity_bias = 0.60 +} +# b_czestochowa +526 ={ + winter_severity_bias = 0.55 +} +# b_dabrowa_gorn +4972 ={ + winter_severity_bias = 0.60 +} +# b_wislica +4973 ={ + winter_severity_bias = 0.60 +} +# b_jedrzejow +4974 ={ + winter_severity_bias = 0.60 +} +## c_sacz +# b_sacz +532 ={ + winter_severity_bias = 0.75 +} +# b_pilzno +4968 ={ + winter_severity_bias = 0.65 +} +# b_nowytarg +4969 ={ + winter_severity_bias = 0.75 +} +# b_bochnia +4970 ={ + winter_severity_bias = 0.65 +} +# b_wieliczka +4971 ={ + winter_severity_bias = 0.65 +} +## c_sandomierska +# b_sandomierz +531 ={ + winter_severity_bias = 0.60 +} +# b_opatow +4961 ={ + winter_severity_bias = 0.60 +} +# b_kielce +4962 ={ + winter_severity_bias = 0.60 +} +# b_olesnica_MPL +4963 ={ + winter_severity_bias = 0.60 +} +# b_checiny +4964 ={ + winter_severity_bias = 0.60 +} +## c_stezycka +# b_stezyca +4951 ={ + winter_severity_bias = 0.60 +} +# b_lukow +4952 ={ + winter_severity_bias = 0.60 +} +## c_radomska +# b_radom +4953 ={ + winter_severity_bias = 0.60 +} +# b_opoczno +4954 ={ + winter_severity_bias = 0.60 +} +# b_ilza +4955 ={ + winter_severity_bias = 0.60 +} +# b_szydlowiec +4956 ={ + winter_severity_bias = 0.60 +} +## c_lubelska +# b_lublin +4957 ={ + winter_severity_bias = 0.60 +} +# b_parczew +4958 ={ + winter_severity_bias = 0.60 +} +# b_goraj +4959 ={ + winter_severity_bias = 0.60 +} +# b_urzedow +4960 ={ + winter_severity_bias = 0.60 +} +## c_tarnowska +# b_tarnow +4965 ={ + winter_severity_bias = 0.60 +} +# b_mielec +4966 ={ + winter_severity_bias = 0.60 +} +# b_baranow +4967 ={ + winter_severity_bias = 0.60 +} +### d_wielkopolska +## c_poznanska +# b_poznan +4900 ={ + winter_severity_bias = 0.55 +} +# b_miedzyrzecz +4901 ={ + winter_severity_bias = 0.55 +} +# b_czarnkow +4902 ={ + winter_severity_bias = 0.55 +} +# b_wronki +4903 ={ + winter_severity_bias = 0.55 +} +# b_wolsztyn +4904 ={ + winter_severity_bias = 0.55 +} +## c_gnieznienska +# b_gniezno +4905 ={ + winter_severity_bias = 0.55 +} +# b_sroda +4906 ={ + winter_severity_bias = 0.55 +} +# b_pyzdry +4907 ={ + winter_severity_bias = 0.55 +} +# b_konin +4908 ={ + winter_severity_bias = 0.55 +} +## c_kaliska +# b_kalisz +4909 ={ + winter_severity_bias = 0.55 +} +# b_kozmin +4910 ={ + winter_severity_bias = 0.55 +} +# b_turek +4911 ={ + winter_severity_bias = 0.55 +} +## c_wschowska +# b_wschowa +4912 ={ + winter_severity_bias = 0.55 +} +# b_koscian +4913 ={ + winter_severity_bias = 0.55 +} +# b_srem +4914 ={ + winter_severity_bias = 0.55 +} +## c_krajna +# b_naklo +4915 ={ + winter_severity_bias = 0.55 +} +# b_zlotow +4916 ={ + winter_severity_bias = 0.55 +} +# b_znin +4917 ={ + winter_severity_bias = 0.55 +} +## c_lubusz +# b_lebus #Lubusz in PLN +3149 ={ + winter_severity_bias = 0.55 +} +# b_oderfrankfurt #Zliwitz in PLN +3142 ={ + winter_severity_bias = 0.55 +} +# b_sulecin +3148 ={ + winter_severity_bias = 0.55 +} +# b_rzepin +3147 ={ + winter_severity_bias = 0.55 +} +### d_mazovia +## c_plocka +# b_plock +529 ={ + winter_severity_bias = 0.60 +} +# b_wyszgorod +4933 ={ + winter_severity_bias = 0.60 +} +# b_zawkrze +4934 ={ + winter_severity_bias = 0.60 +} +# b_ciechanow +4935 ={ + winter_severity_bias = 0.60 +} +## c_czerska +# b_czersk +530 ={ + winter_severity_bias = 0.60 +} +# b_warszawa +4936 ={ + winter_severity_bias = 0.60 +} +# b_liw +4937 ={ + winter_severity_bias = 0.60 +} +# b_brodno +4938 ={ + winter_severity_bias = 0.60 +} +# b_garwolin +4939 ={ + winter_severity_bias = 0.60 +} +## c_gostyninska +# b_gostynin +4940 ={ + winter_severity_bias = 0.60 +} +# b_rawa +4941 ={ + winter_severity_bias = 0.60 +} +# b_sochaczew +4942 ={ + winter_severity_bias = 0.60 +} +# b_lowicz +4950 ={ + winter_severity_bias = 0.60 +} +## c_lomzynska +# b_lomza +4943 ={ + winter_severity_bias = 0.60 +} +# b_wizna +4944 ={ + winter_severity_bias = 0.60 +} +# b_kolno +4945 ={ + winter_severity_bias = 0.60 +} +## c_zakroczymska +# b_zakroczym +4946 ={ + winter_severity_bias = 0.60 +} +# b_nur +4947 ={ + winter_severity_bias = 0.60 +} +# b_wyszkow +4948 ={ + winter_severity_bias = 0.60 +} +# b_rozan +4949 ={ + winter_severity_bias = 0.60 +} +### d_upper_silesia +## c_opole +# b_opole +3052 ={ + winter_severity_bias = 0.55 +} +# b_kreuzburg +3053 ={ + winter_severity_bias = 0.55 +} +# b_strehlitz +3051 ={ + winter_severity_bias = 0.55 +} +## c_brzeg +# b_brzeg +3049 ={ + winter_severity_bias = 0.55 +} +# b_olawa +3055 ={ + winter_severity_bias = 0.55 +} +# b_otmunchow +3056 ={ + winter_severity_bias = 0.65 +} +## c_nysa +# b_nysa +3048 ={ + winter_severity_bias = 0.65 +} +# b_glogowek +3050 ={ + winter_severity_bias = 0.55 +} +# b_frankenstein +3046 ={ + winter_severity_bias = 0.65 +} +## c_cieszyn +# b_cieszyn +3040 ={ + winter_severity_bias = 0.65 +} +# b_bielsko +3041 ={ + winter_severity_bias = 0.55 +} +## c_ratibor +# b_ratibor +3042 ={ + winter_severity_bias = 0.55 +} +# b_rybnik +3043 ={ + winter_severity_bias = 0.55 +} +## c_bethen +# b_bethen +3044 ={ + winter_severity_bias = 0.55 +} +# b_lubliniec +3054 ={ + winter_severity_bias = 0.55 +} +### d_lower_silesia +## c_breslau +# b_breslau +3045 ={ + winter_severity_bias = 0.55 +} +# b_bardo +3057 ={ + winter_severity_bias = 0.65 +} +## c_miliez +# b_miliez +3061 ={ + winter_severity_bias = 0.55 +} +# b_olesnica +3062 ={ + winter_severity_bias = 0.55 +} +## c_schweibus +# b_schweibus +3145 ={ + winter_severity_bias = 0.55 +} +# b_siedlischo +3146 ={ + winter_severity_bias = 0.55 +} +# b_bytom #today Bytom Odrzanski +3065 ={ + winter_severity_bias = 0.55 +} +## c_grunberg +# b_grunberg +3064 ={ + winter_severity_bias = 0.55 +} +# b_gubin +3139 ={ + winter_severity_bias = 0.55 +} +# b_crossen +3144 ={ + winter_severity_bias = 0.55 +} +## c_sprottau +# b_sprottau +3067 ={ + winter_severity_bias = 0.55 +} +# b_zagan +3066 ={ + winter_severity_bias = 0.55 +} +# b_nowogrodziec +3070 ={ + winter_severity_bias = 0.55 +} +#Yes, it's another Naumburg +## c_przemkow +# b_przemkow +3068 ={ + winter_severity_bias = 0.55 +} +# b_wlen +3069 ={ + winter_severity_bias = 0.65 +} +# b_swiny +3059 ={ + winter_severity_bias = 0.65 +} +## c_legnica +# b_legnica +3058 ={ + winter_severity_bias = 0.55 +} +# b_glogow +3063 ={ + winter_severity_bias = 0.55 +} +# b_sadowel +3060 ={ + winter_severity_bias = 0.55 +} +### d_kuyavia +## c_kujawy +# b_kruszwica +4918 ={ + winter_severity_bias = 0.55 +} +# b_wloclawek +4919 ={ + winter_severity_bias = 0.55 +} +# b_inowroclaw +4920 ={ + winter_severity_bias = 0.55 +} +# b_bydgoszcz +4921 ={ + winter_severity_bias = 0.55 +} +## c_dobrzynska +# b_dobrzyn +4922 ={ + winter_severity_bias = 0.55 +} +# b_michalowo +4923 ={ + winter_severity_bias = 0.55 +} +## c_leczycka +# b_leczyca +4924 ={ + winter_severity_bias = 0.55 +} +# b_lodz +4925 ={ + winter_severity_bias = 0.55 +} +# b_klodawa +4926 ={ + winter_severity_bias = 0.55 +} +## c_sieradzka +# b_sieradz +528 ={ + winter_severity_bias = 0.55 +} +# b_piotrkow +4927 ={ + winter_severity_bias = 0.55 +} +# b_przedborz +4928 ={ + winter_severity_bias = 0.55 +} +# b_radomsko +4929 ={ + winter_severity_bias = 0.55 +} +# b_uniejow +4930 ={ + winter_severity_bias = 0.55 +} +## c_wielunska +# b_wielun +4931 ={ + winter_severity_bias = 0.55 +} +# b_grabow +4932 ={ + winter_severity_bias = 0.55 +} + +#### k_pomerania +### d_pommerania #d_pomerania +## c_stettin #c_szczecin +# b_szczecin +2823 ={ + winter_severity_bias = 0.55 +} +# b_ucramund #b_wkra +2822 ={ + winter_severity_bias = 0.55 +} +# b_gryfino #b_pyrzyce +3155 ={ + winter_severity_bias = 0.55 +} +## c_kolobrzeg #c_wolin +# b_swinoujscie #b_wolin +2818 ={ + winter_severity_bias = 0.55 +} +# b_kolobrzeg #b_kamien / Kamien Pomorski +2824 ={ + winter_severity_bias = 0.55 +} +# b_stargad #b_goleniow +2825 ={ + winter_severity_bias = 0.55 +} +# b_lobez #b_nowogard +2836 ={ + winter_severity_bias = 0.55 +} +## c_soldin #c_cedynia +# b_soldin #b_cedynia +3154 ={ + winter_severity_bias = 0.55 +} +# b_kostschin #b_kostrzyn +3153 ={ + winter_severity_bias = 0.55 +} +## c_cammin #c_kolobrzeg +# b_cammin #b_kolobrzeg +2826 ={ + winter_severity_bias = 0.55 +} +# b_dramberg #b_czaplinek +3184 ={ + winter_severity_bias = 0.55 +} +# b_belgard #b_bialogard +3185 ={ + winter_severity_bias = 0.55 +} +## c_pila #c_walcz +# b_walcz +3187 ={ + winter_severity_bias = 0.55 +} +# b_pila +3186 ={ + winter_severity_bias = 0.55 +} +# b_szczecinek +3188 ={ + winter_severity_bias = 0.55 +} +## c_landsberg #c_santok +# b_landsberg #c_santok +3152 ={ + winter_severity_bias = 0.55 +} +# b_driesen #b_wielen +3151 ={ + winter_severity_bias = 0.55 +} +# b_arnswalde #b_stargard +3156 ={ + winter_severity_bias = 0.55 +} +# b_kreuz #b_choszczno +3183 ={ + winter_severity_bias = 0.55 +} +### d_nordmark #Mecklenburg +## c_mecklenburg +# b_wismar +2807 ={ + winter_severity_bias = 0.45 +} +# b_ratzeburg +2806 ={ + winter_severity_bias = 0.45 +} +# b_schwerin +2808 ={ + winter_severity_bias = 0.45 +} +# b_parchim +2813 ={ + winter_severity_bias = 0.45 +} +## c_wolgast +# b_wolgast +2817 ={ + winter_severity_bias = 0.50 +} +# b_griefswald +2816 ={ + winter_severity_bias = 0.50 +} +## c_rugen +# b_rugen +2811 ={ + winter_severity_bias = 0.50 +} +# b_stralsund +2810 ={ + winter_severity_bias = 0.50 +} +## c_rostock +# b_rostock +2809 ={ + winter_severity_bias = 0.50 +} +# b_gustrow +2819 ={ + winter_severity_bias = 0.50 +} +## c_werle +# b_werle +2812 ={ + winter_severity_bias = 0.50 +} +# b_neubrandenburg +2820 ={ + winter_severity_bias = 0.50 +} +# b_neustrelitz +2821 ={ + winter_severity_bias = 0.50 +} +### d_pomerelia +## c_danzig #c_gdansk +# b_gdansk +2830 ={ + winter_severity_bias = 0.50 +} +# b_sopot +2833 ={ + winter_severity_bias = 0.50 +} +# b_wladyslawowo #b_puck +2832 ={ + winter_severity_bias = 0.50 +} +# b_trsow #b_tczew +3194 ={ + winter_severity_bias = 0.50 +} +## c_slupsk +# b_slupsk +2827 ={ + winter_severity_bias = 0.50 +} +# b_koszalin +2828 ={ + winter_severity_bias = 0.50 +} +# b_lebno #b_lebork +2829 ={ + winter_severity_bias = 0.50 +} +# b_bytow +3191 ={ + winter_severity_bias = 0.50 +} +## c_miastko #c_szczytno_POM +# b_hammerstein #b_szczytno_POM +3190 ={ + winter_severity_bias = 0.50 +} +# b_miastko +3189 ={ + winter_severity_bias = 0.50 +} +## c_berent #c_swiecie +# b_schwetz #b_swiecie +3196 ={ + winter_severity_bias = 0.50 +} +# b_berent #b_koscierzyna +3195 ={ + winter_severity_bias = 0.50 +} +# b_tuchowna #b_starogard +3193 ={ + winter_severity_bias = 0.50 +} +# b_konitz #b_chojnice +3192 ={ + winter_severity_bias = 0.50 +} +### d_ostmark #Nordmark +## c_brandenburg +# b_brandenburg +3166 ={ + winter_severity_bias = 0.50 +} +# b_potsdam +3157 ={ + winter_severity_bias = 0.50 +} +# b_lehnin +3177 ={ + winter_severity_bias = 0.50 +} +# b_tangermunde +3170 ={ + winter_severity_bias = 0.50 +} +## c_ruppin +# b_ruppin +3168 ={ + winter_severity_bias = 0.50 +} +# b_lindow +3167 ={ + winter_severity_bias = 0.50 +} +# b_nowen +3169 ={ + winter_severity_bias = 0.50 +} +## c_berlin +# b_berlin +3158 ={ + winter_severity_bias = 0.50 +} +# b_botzow +3164 ={ + winter_severity_bias = 0.50 +} +# b_rosenfelde +3165 ={ + winter_severity_bias = 0.50 +} +## c_havelberg +# b_havelberg +2814 ={ + winter_severity_bias = 0.50 +} +# b_klenow +2815 ={ + winter_severity_bias = 0.50 +} +## c_prenzlau +# b_prenzlau +3160 ={ + winter_severity_bias = 0.50 +} +# b_templin +3163 ={ + winter_severity_bias = 0.50 +} +# b_schwedt +3162 ={ + winter_severity_bias = 0.50 +} +# b_eberswalde +3161 ={ + winter_severity_bias = 0.50 +} + +#### k_lithuania +### d_lithuanians +## c_kernave +# b_kernave +154 ={ + winter_severity_bias = 0.60 +} +# b_vilnius +155 ={ + winter_severity_bias = 0.60 +} +# b_vilkmerge +149 ={ + winter_severity_bias = 0.60 +} +# b_kreva +165 ={ + winter_severity_bias = 0.60 +} +## c_trakai +# b_trakai +153 ={ + winter_severity_bias = 0.60 +} +# b_kaunas +130 ={ + winter_severity_bias = 0.60 +} +# b_merkine +160 ={ + winter_severity_bias = 0.60 +} +# b_aliten +162 ={ + winter_severity_bias = 0.60 +} +# b_valkininkai +159 ={ + winter_severity_bias = 0.60 +} +## c_yatvyagi +# b_panemune +156 ={ + winter_severity_bias = 0.60 +} +# b_vilkaviskis +158 ={ + winter_severity_bias = 0.60 +} +# b_suvalkai +157 ={ + winter_severity_bias = 0.60 +} +# b_sejny +163 ={ + winter_severity_bias = 0.60 +} +## c_braslau +# b_braslau +166 ={ + winter_severity_bias = 0.60 +} +# b_utena +151 ={ + winter_severity_bias = 0.60 +} +### d_prussia +## c_malbork #c_pomesania +# b_elblag #b_truso +2835 ={ + winter_severity_bias = 0.60 +} +# b_marienburg #b_malbork +2834 ={ + winter_severity_bias = 0.60 +} +# b_graudenz #b_kwedis +3197 ={ + winter_severity_bias = 0.60 +} +# b_wislana #b_weiksla +2831 ={ + winter_severity_bias = 0.60 +} +## c_wormditt #c_warmia +# b_wormditt #b_wormedeten +3220 ={ + winter_severity_bias = 0.60 +} +# b_mohrungen #b_maurin +3201 ={ + winter_severity_bias = 0.60 +} +# b_braunsberg #b_brus +3217 ={ + winter_severity_bias = 0.60 +} +## c_natangia +# b_laukitten #b_pokarwis +3218 ={ + winter_severity_bias = 0.60 +} +# b_paterswalde #b_tapiau +3203 ={ + winter_severity_bias = 0.60 +} +# b_ostlandsberg #b_velowe +3219 ={ + winter_severity_bias = 0.60 +} +## c_konigsberg #c_sambia +# b_konigsberg #b_twangste +3216 ={ + winter_severity_bias = 0.60 +} +# b_labiau #b_kaup +122 ={ + winter_severity_bias = 0.60 +} +## c_bartenstein #c_bartia +# b_lautenburg #b_lecbarg +3204 ={ + winter_severity_bias = 0.60 +} +# b_bartenstein #b_lyna +3205 ={ + winter_severity_bias = 0.60 +} +# b_insterburg #b_isrutis +3206 ={ + winter_severity_bias = 0.60 +} +# b_rastenburg #b_aestia +3207 ={ + winter_severity_bias = 0.60 +} +### d_masuria +## c_torun #c_chelmno +# b_kulm #b_chelmno +3198 ={ + winter_severity_bias = 0.60 +} +# b_torun +3199 ={ + winter_severity_bias = 0.60 +} +# b_briesen #b_wabrzezno +3202 ={ + winter_severity_bias = 0.60 +} +## c_osterode #c_sasna +# b_eylau #b_ylavia +3214 ={ + winter_severity_bias = 0.60 +} +# b_brodnica #b_lubavia +3200 ={ + winter_severity_bias = 0.60 +} +# b_osterode #b_drweca +3213 ={ + winter_severity_bias = 0.60 +} +## c_allenstein #c_galindia +# b_allenstein #b_alnasteini +3212 ={ + winter_severity_bias = 0.60 +} +# b_ortelsburg #b_sctino +3211 ={ + winter_severity_bias = 0.60 +} +# b_niedenburg #b_nidzia +3215 ={ + winter_severity_bias = 0.60 +} +## c_angerburg #c_sudovia +# b_lotzen #b_rins +3208 ={ + winter_severity_bias = 0.60 +} +# b_lyck #b_luks +3210 ={ + winter_severity_bias = 0.60 +} +# b_angerburg #b_anger +3209 ={ + winter_severity_bias = 0.60 +} +### d_courland +## c_zemigalians +# b_riga +104 ={ + winter_severity_bias = 0.65 +} +# b_mitau +107 ={ + winter_severity_bias = 0.65 +} +# b_bauska +105 ={ + winter_severity_bias = 0.65 +} +# b_dobele +106 ={ + winter_severity_bias = 0.65 +} +# b_neuenburg +121 ={ + winter_severity_bias = 0.65 +} +## c_vanemane +# b_piltene +110 ={ + winter_severity_bias = 0.60 +} +# b_dundaga +117 ={ + winter_severity_bias = 0.60 +} +# b_kandava +112 ={ + winter_severity_bias = 0.60 +} +## c_grobin +# b_grobin +114 ={ + winter_severity_bias = 0.65 +} +# b_bandava +113 ={ + winter_severity_bias = 0.65 +} +# b_duvzare +116 ={ + winter_severity_bias = 0.65 +} +# b_ceklis +111 ={ + winter_severity_bias = 0.65 +} +## c_selpils +# b_selpils +133 ={ + winter_severity_bias = 0.65 +} +# b_oknist +150 ={ + winter_severity_bias = 0.65 +} +### d_latgalians +## c_talava +# b_valmiera +102 ={ + winter_severity_bias = 0.65 +} +# b_venden +109 ={ + winter_severity_bias = 0.65 +} +# b_rauna +142 ={ + winter_severity_bias = 0.65 +} +## c_kokenois +# b_kokenois +103 ={ + winter_severity_bias = 0.65 +} +# b_cesvaine +139 ={ + winter_severity_bias = 0.65 +} +# b_lennewarden +134 ={ + winter_severity_bias = 0.65 +} +## c_jersika +# b_jersika +136 ={ + winter_severity_bias = 0.65 +} +# b_jekabpils +135 ={ + winter_severity_bias = 0.65 +} +# b_daugavpils +137 ={ + winter_severity_bias = 0.65 +} +# b_rezekne +138 ={ + winter_severity_bias = 0.65 +} +## c_aluksne +# b_aluksne +141 ={ + winter_severity_bias = 0.65 +} +# b_gulbene +140 ={ + winter_severity_bias = 0.65 +} +### d_samogitia +## c_raseiniai # Samogitia +# b_raseiniai +124 ={ + winter_severity_bias = 0.60 +} +# b_jurbarkas +123 ={ + winter_severity_bias = 0.60 +} +# b_veliuona +129 ={ + winter_severity_bias = 0.60 +} +# b_kedainiai +131 ={ + winter_severity_bias = 0.60 +} +## c_scalovia +# b_ragnit +120 ={ + winter_severity_bias = 0.60 +} +# b_tilsit +119 ={ + winter_severity_bias = 0.60 +} +## c_memel +# b_memel +118 ={ + winter_severity_bias = 0.60 +} +# b_taurage +125 ={ + winter_severity_bias = 0.60 +} +## c_palanga +# b_palanga +115 ={ + winter_severity_bias = 0.60 +} +# b_medeniken +126 ={ + winter_severity_bias = 0.60 +} +# b_telsiai +128 ={ + winter_severity_bias = 0.60 +} +## c_siauliai +# b_siauliai +127 ={ + winter_severity_bias = 0.60 +} +# b_upyte +132 ={ + winter_severity_bias = 0.60 +} +# b_birzai +152 ={ + winter_severity_bias = 0.60 +} + +##### e_russia #Kievan Rus +#### k_galicia-volhynia +### d_volhynia +## c_volodymyr +# b_volodymyr +535 ={ + winter_severity_bias = 0.60 +} +# b_lutsk +5047 ={ + winter_severity_bias = 0.60 +} +# b_luboml +5048 ={ + winter_severity_bias = 0.60 +} +# b_kovel +5049 ={ + winter_severity_bias = 0.60 +} +# b_rozhyshche +5050 ={ + winter_severity_bias = 0.60 +} +## c_peresopnytsia +# b_peresopnytsia +5051 ={ + winter_severity_bias = 0.60 +} +# b_rivne +5052 ={ + winter_severity_bias = 0.60 +} +# b_klevan +5053 ={ + winter_severity_bias = 0.60 +} +## c_berestye +# b_berestye +549 ={ + winter_severity_bias = 0.60 +} +# b_bielsk +5054 ={ + winter_severity_bias = 0.60 +} +# b_kamyanyets +5055 ={ + winter_severity_bias = 0.60 +} +# b_simiatychi +5056 ={ + winter_severity_bias = 0.60 +} +## c_dorohychyn +# b_dorohychyn +5057 ={ + winter_severity_bias = 0.60 +} +# b_kobryn +5058 ={ + winter_severity_bias = 0.60 +} +# b_blotkowo +5059 ={ + winter_severity_bias = 0.60 +} +### d_halych +## c_halych +# b_halych +536 ={ + winter_severity_bias = 0.65 +} +# b_sambir +5060 ={ + winter_severity_bias = 0.65 +} +# b_kolomyia +5061 ={ + winter_severity_bias = 0.65 +} +# b_spas +5062 ={ + winter_severity_bias = 0.65 +} +## c_lviv +# b_lviv +5063 ={ + winter_severity_bias = 0.60 +} +# b_zvenyhorod +5064 ={ + winter_severity_bias = 0.60 +} +# b_busk +5065 ={ + winter_severity_bias = 0.60 +} +# b_buchach +5066 ={ + winter_severity_bias = 0.60 +} +# b_moklekov +5067 ={ + winter_severity_bias = 0.60 +} +## c_terebovl +# b_terebovl +546 ={ + winter_severity_bias = 0.60 +} +# b_horodok +5068 ={ + winter_severity_bias = 0.60 +} +# b_chortkiv +5069 ={ + winter_severity_bias = 0.60 +} +## c_zaslavl +# b_zaslavl +5070 ={ + winter_severity_bias = 0.60 +} +# b_dubno +5071 ={ + winter_severity_bias = 0.60 +} +# b_ostroh +5072 ={ + winter_severity_bias = 0.60 +} +### d_cherven_cities +## c_cherven +# b_cherven_VOL +5073 ={ + winter_severity_bias = 0.60 +} +# b_volin +5074 ={ + winter_severity_bias = 0.60 +} +# b_kholm +5075 ={ + winter_severity_bias = 0.60 +} +# b_suteysk +5076 ={ + winter_severity_bias = 0.60 +} +## c_belz +# b_belz +5077 ={ + winter_severity_bias = 0.60 +} +# b_liubachev +5078 ={ + winter_severity_bias = 0.60 +} +## c_peremyshl +# b_peremyshl +534 ={ + winter_severity_bias = 0.65 +} +# b_yaroslav_VOL +5079 ={ + winter_severity_bias = 0.60 +} +# b_sanok +5080 ={ + winter_severity_bias = 0.65 +} +# b_lizhensk +5081 ={ + winter_severity_bias = 0.60 +} + +#### k_ruthenia +### d_kiev +## c_kiev +# b_kiev +547 ={ + winter_severity_bias = 0.60 +} +# b_vyshgorod +5082 ={ + winter_severity_bias = 0.60 +} +# b_bilhorod +5083 ={ + winter_severity_bias = 0.60 +} +# b_yuriev +5084 ={ + winter_severity_bias = 0.60 +} +# b_kaniv +5085 ={ + winter_severity_bias = 0.60 +} +# b_zdvyzhen +5086 ={ + winter_severity_bias = 0.60 +} +## c_zhytomyr +# b_zhytomyr +5087 ={ + winter_severity_bias = 0.60 +} +# b_mezhybozhe +5088 ={ + winter_severity_bias = 0.60 +} +# b_rastovets +5089 ={ + winter_severity_bias = 0.60 +} +## c_zvyahel +# b_zvyahel +5091 ={ + winter_severity_bias = 0.60 +} +# b_kolodiazhen +5092 ={ + winter_severity_bias = 0.60 +} +# b_chortolisy +5093 ={ + winter_severity_bias = 0.60 +} +# b_horodnytsia +5094 ={ + winter_severity_bias = 0.60 +} +## c_chornobyl +# b_chornobyl +5095 ={ + winter_severity_bias = 0.60 +} +# b_ivankiv +5096 ={ + winter_severity_bias = 0.60 +} +# b_radynka +5097 ={ + winter_severity_bias = 0.60 +} +## c_ushytsia +# b_ushytsia +5098 ={ + winter_severity_bias = 0.60 +} +# b_vinnytsia +5099 ={ + winter_severity_bias = 0.60 +} +# b_yampil +5100 ={ + winter_severity_bias = 0.60 +} +## c_korsun +# b_korsun +544 ={ + winter_severity_bias = 0.60 +} +# b_malaia_skvirka +5090 ={ + winter_severity_bias = 0.60 +} +# b_haisyn +5101 ={ + winter_severity_bias = 0.60 +} +### d_turov +## c_turov +# b_turov +552 ={ + winter_severity_bias = 0.60 +} +# b_sarny +5102 ={ + winter_severity_bias = 0.60 +} +# b_selo +5103 ={ + winter_severity_bias = 0.60 +} +## c_korosten +# b_korosten +5104 ={ + winter_severity_bias = 0.60 +} +# b_ovruch +5105 ={ + winter_severity_bias = 0.60 +} +# b_mazyr +5106 ={ + winter_severity_bias = 0.60 +} +# b_naroulia +5107 ={ + winter_severity_bias = 0.60 +} +# b_lelchytsy +5108 ={ + winter_severity_bias = 0.60 +} +## c_dubrovytsia +# b_dubrovytsia +5109 ={ + winter_severity_bias = 0.60 +} +# b_stepan +5110 ={ + winter_severity_bias = 0.60 +} +# b_liubeshiv +5111 ={ + winter_severity_bias = 0.60 +} +### d_pereyaslavl +## c_pereyaslavl +# b_pereyaslavl +555 ={ + winter_severity_bias = 0.60 +} +# b_boryspil +5178 ={ + winter_severity_bias = 0.60 +} +# b_priluk +5179 ={ + winter_severity_bias = 0.60 +} +# b_zolotonosha +5180 ={ + winter_severity_bias = 0.60 +} +## c_hradyzk +# b_hradyzk +5181 ={ + winter_severity_bias = 0.60 +} +# b_akhtyr +5182 ={ + winter_severity_bias = 0.60 +} +# b_myrhorod +5183 ={ + winter_severity_bias = 0.60 +} +# b_poltava +5184 ={ + winter_severity_bias = 0.60 +} +## c_romen +# b_romen +5185 ={ + winter_severity_bias = 0.60 +} +# b_lokhrytsia +5186 ={ + winter_severity_bias = 0.60 +} +# b_nedryhailiv +5187 ={ + winter_severity_bias = 0.60 +} +# b_sumy +5188 ={ + winter_severity_bias = 0.60 +} +## c_voin +# b_voin +5189 ={ + winter_severity_bias = 0.60 +} +# b_lubny +5190 ={ + winter_severity_bias = 0.60 +} +### d_chernigov +## c_chernigov +# b_chernigov +554 ={ + winter_severity_bias = 0.60 +} +# b_lyubech +553 ={ + winter_severity_bias = 0.60 +} +# b_gomel +5200 ={ + winter_severity_bias = 0.60 +} +# b_unenezh +5201 ={ + winter_severity_bias = 0.65 +} +# b_surazichi +5202 ={ + winter_severity_bias = 0.60 +} +## c_starodub +# b_starodub +5203 ={ + winter_severity_bias = 0.60 +} +# b_trubetsk +5204 ={ + winter_severity_bias = 0.60 +} +# b_debryansk +576 ={ + winter_severity_bias = 0.60 +} +# b_mglin +5205 ={ + winter_severity_bias = 0.60 +} +## c_novgorod_seversky +# b_novgorod_seversky +567 ={ + winter_severity_bias = 0.60 +} +# b_borzna +5191 ={ + winter_severity_bias = 0.65 +} +# b_glukhov +5192 ={ + winter_severity_bias = 0.65 +} +## c_putyvl +# b_putyvl +5193 ={ + winter_severity_bias = 0.65 +} +# b_vyr +5194 ={ + winter_severity_bias = 0.65 +} +# b_konotop +5195 ={ + winter_severity_bias = 0.65 +} +## c_kursk +# b_kursk +5196 ={ + winter_severity_bias = 0.65 +} +# b_rylsk +5197 ={ + winter_severity_bias = 0.65 +} +# b_sudzha +5198 ={ + winter_severity_bias = 0.65 +} +# b_oboyan +5199 ={ + winter_severity_bias = 0.65 +} +### d_karachev +## c_karachev +# b_karachev +5209 ={ + winter_severity_bias = 0.65 +} +# b_krom +5210 ={ + winter_severity_bias = 0.65 +} +# b_oryol +5211 ={ + winter_severity_bias = 0.65 +} +## c_kozelsk +# b_kozelsk +5212 ={ + winter_severity_bias = 0.65 +} +# b_vorotynsk +5213 ={ + winter_severity_bias = 0.65 +} +# b_belev +5214 ={ + winter_severity_bias = 0.65 +} +## c_sevsk +# b_sevsk +5206 ={ + winter_severity_bias = 0.65 +} +# b_ust-livny +5207 ={ + winter_severity_bias = 0.65 +} +# b_lokot +5208 ={ + winter_severity_bias = 0.65 +} +### d_novosil +## c_novosil +# b_novosil +5215 ={ + winter_severity_bias = 0.65 +} +# b_mtensk +5216 ={ + winter_severity_bias = 0.65 +} +## c_odoyev +# b_odoyev +5217 ={ + winter_severity_bias = 0.65 +} +# b_suvorov +5218 ={ + winter_severity_bias = 0.65 +} + +#### k_novgorod +### d_novgorod +## c_novgorod +# b_novgorod +5137 ={ + winter_severity_bias = 0.65 +} +# b_ladoga +5138 ={ + winter_severity_bias = 0.65 +} +# b_lyuban +5139 ={ + winter_severity_bias = 0.65 +} +# b_soltsy +5140 ={ + winter_severity_bias = 0.65 +} +# b_luga +5141 ={ + winter_severity_bias = 0.65 +} +# b_pushkin +5142 ={ + winter_severity_bias = 0.65 +} +## c_rusa +# b_rusa +5143 ={ + winter_severity_bias = 0.65 +} +# b_dedovichi +5144 ={ + winter_severity_bias = 0.65 +} +# b_loknya +5145 ={ + winter_severity_bias = 0.65 +} +# b_porkhov +5177 ={ + winter_severity_bias = 0.65 +} +## c_pskov +# b_pskov +5146 ={ + winter_severity_bias = 0.65 +} +# b_izborsk +5147 ={ + winter_severity_bias = 0.65 +} +# b_ostrov +5148 ={ + winter_severity_bias = 0.65 +} +# b_gdov +5149 ={ + winter_severity_bias = 0.65 +} +## c_sebezh +# b_sebezh +5150 ={ + winter_severity_bias = 0.65 +} +# b_nevel +5151 ={ + winter_severity_bias = 0.65 +} +# b_novorzhev +5152 ={ + winter_severity_bias = 0.65 +} +## c_vodi +# b_nyen +169 ={ + winter_severity_bias = 0.65 +} +# b_noteborg +170 ={ + winter_severity_bias = 0.65 +} +# b_koporye +168 ={ + winter_severity_bias = 0.65 +} +# b_yama +167 ={ + winter_severity_bias = 0.65 +} +### d_vepsia +## c_beloozero +# b_beloozero +5156 ={ + winter_severity_bias = 0.65 +} +# b_cherepovets +5157 ={ + winter_severity_bias = 0.65 +} +# b_ves_yogonska +5158 ={ + winter_severity_bias = 0.65 +} +## c_tikhvin +# b_tikhvin +5153 ={ + winter_severity_bias = 0.65 +} +# b_kirishi +5154 ={ + winter_severity_bias = 0.65 +} +# b_borovichi +5155 ={ + winter_severity_bias = 0.65 +} +# b_svolensk +5254 ={ + winter_severity_bias = 0.65 +} +# b_pikalyovo +5255 ={ + winter_severity_bias = 0.65 +} +## c_vyangi +# b_vyangi +5159 ={ + winter_severity_bias = 0.65 +} +# b_podporozhye +5160 ={ + winter_severity_bias = 0.65 +} +### d_luki +## c_luki +# b_luki +5161 ={ + winter_severity_bias = 0.65 +} +# b_kholm_NOV +5162 ={ + winter_severity_bias = 0.65 +} +# b_seltsa_u_nishi +5163 ={ + winter_severity_bias = 0.65 +} +## c_valdai +# b_torzhok +5164 ={ + winter_severity_bias = 0.65 +} +# b_klichen +5165 ={ + winter_severity_bias = 0.65 +} +# b_valday +5166 ={ + winter_severity_bias = 0.65 +} +# b_vyshny_volochyok +5167 ={ + winter_severity_bias = 0.65 +} +## c_bezichi +# b_bezichi +5168 ={ + winter_severity_bias = 0.65 +} +# b_zhelezny_ustyug +5169 ={ + winter_severity_bias = 0.65 +} + +#### k_white_rus +### d_grodno +## c_grodno +# b_grodno +161 ={ + winter_severity_bias = 0.60 +} +# b_lida +164 ={ + winter_severity_bias = 0.60 +} +## c_volkovysk +# b_volkovysk +5044 ={ + winter_severity_bias = 0.60 +} +# b_sokolka +5043 ={ + winter_severity_bias = 0.60 +} +# b_bielastock +5046 ={ + winter_severity_bias = 0.60 +} +## c_novogrudok +# b_novogrudok +5136 ={ + winter_severity_bias = 0.60 +} +# b_slonim +5045 ={ + winter_severity_bias = 0.60 +} +### d_pinsk +## c_pinsk +# b_pinsk +548 ={ + winter_severity_bias = 0.60 +} +# b_lahishyn +5112 ={ + winter_severity_bias = 0.60 +} +# b_luninets +5113 ={ + winter_severity_bias = 0.60 +} +## c_slutsk +# b_slutsk +5114 ={ + winter_severity_bias = 0.60 +} +# b_zhytkavichy +5115 ={ + winter_severity_bias = 0.60 +} +# b_mikashevichy +5116 ={ + winter_severity_bias = 0.60 +} +## c_kletsk +# b_kletsk +5117 ={ + winter_severity_bias = 0.60 +} +# b_baranovichi +5118 ={ + winter_severity_bias = 0.60 +} +## c_babruysk +# b_babruysk +5119 ={ + winter_severity_bias = 0.60 +} +# b_zhlobin +5120 ={ + winter_severity_bias = 0.60 +} +# b_kalinkavichy +5121 ={ + winter_severity_bias = 0.60 +} +# b_rechytsa +5122 ={ + winter_severity_bias = 0.60 +} +### d_minsk +## c_minsk +# b_minsk +550 ={ + winter_severity_bias = 0.60 +} +# b_lahoysk +5123 ={ + winter_severity_bias = 0.60 +} +# b_zaslawye +5124 ={ + winter_severity_bias = 0.60 +} +# b_maladzyechna +5125 ={ + winter_severity_bias = 0.60 +} +# b_barysaw +5126 ={ + winter_severity_bias = 0.60 +} +## c_orsha +# b_orsha +5127 ={ + winter_severity_bias = 0.60 +} +# b_drutsk +5128 ={ + winter_severity_bias = 0.60 +} +### d_polotsk +## c_polotsk +# b_polotsk +5129 ={ + winter_severity_bias = 0.65 +} +# b_drysa +5130 ={ + winter_severity_bias = 0.65 +} +# b_myory +5131 ={ + winter_severity_bias = 0.60 +} +## c_lukoml +# b_lukoml +934 ={ + winter_severity_bias = 0.60 +} +# b_vetrino +5132 ={ + winter_severity_bias = 0.60 +} +# b_hlybokaye +5133 ={ + winter_severity_bias = 0.60 +} +## c_vitebsk +# b_vitebsk +5134 ={ + winter_severity_bias = 0.60 +} +# b_haradok +5135 ={ + winter_severity_bias = 0.65 +} +### d_smolensk +## c_smolensk +# b_smolensk +568 ={ + winter_severity_bias = 0.65 +} +# b_dorogobyzh +5219 ={ + winter_severity_bias = 0.65 +} +# b_mstislavl +551 ={ + winter_severity_bias = 0.65 +} +# b_yelnya +5220 ={ + winter_severity_bias = 0.65 +} +# b_vyazma +569 ={ + winter_severity_bias = 0.65 +} +## c_gnezdovo +# b_gnezdovo +5221 ={ + winter_severity_bias = 0.65 +} +# b_velizh +5222 ={ + winter_severity_bias = 0.65 +} +# b_dukhovshchina +5223 ={ + winter_severity_bias = 0.65 +} +## c_roslavl +# b_roslavl +933 ={ + winter_severity_bias = 0.65 +} +# b_klimavichy +5224 ={ + winter_severity_bias = 0.65 +} +# b_cherykaw +5225 ={ + winter_severity_bias = 0.65 +} +## c_mozhaysk +# b_mozhaysk +587 ={ + winter_severity_bias = 0.65 +} +# b_lotoshino +5226 ={ + winter_severity_bias = 0.65 +} +# b_zubstov +5227 ={ + winter_severity_bias = 0.65 +} +## c_toropets +# b_toropets +5170 ={ + winter_severity_bias = 0.65 +} +# b_andreapol +5171 ={ + winter_severity_bias = 0.65 +} +# b_ozerski +5172 ={ + winter_severity_bias = 0.65 +} + +#### k_opolye #Vladimir +### d_opolye +## c_yaroslavl +# b_yaroslavl +572 ={ + winter_severity_bias = 0.65 +} +# b_rostov +574 ={ + winter_severity_bias = 0.65 +} +# b_uglich +571 ={ + winter_severity_bias = 0.65 +} +# b_mologa +5176 ={ + winter_severity_bias = 0.65 +} +## c_vladimir +# b_vladimir +582 ={ + winter_severity_bias = 0.65 +} +# b_starodub-on-the-klyazma +583 ={ + winter_severity_bias = 0.65 +} +# b_volochok +5236 ={ + winter_severity_bias = 0.65 +} +# b_sudogda +5237 ={ + winter_severity_bias = 0.65 +} +# b_yegoryevsk +5238 ={ + winter_severity_bias = 0.65 +} +## c_suzdal +# b_suzdal +5239 ={ + winter_severity_bias = 0.65 +} +# b_yuryev +5240 ={ + winter_severity_bias = 0.65 +} +# b_pereyaslavl_zalessky +573 ={ + winter_severity_bias = 0.65 +} +# b_ivanovo +5241 ={ + winter_severity_bias = 0.65 +} +# b_gavrilovskoye +5242 ={ + winter_severity_bias = 0.65 +} +## c_tver +# b_tver +5173 ={ + winter_severity_bias = 0.65 +} +# b_volok_lamsky +5174 ={ + winter_severity_bias = 0.65 +} +# b_klin +5243 ={ + winter_severity_bias = 0.65 +} +# b_kashin +5175 ={ + winter_severity_bias = 0.65 +} +## c_moskva +# b_moskva +575 ={ + winter_severity_bias = 0.65 +} +# b_kolomna +578 ={ + winter_severity_bias = 0.65 +} +# b_dmitrov +570 ={ + winter_severity_bias = 0.65 +} +# b_naro-fominsk +5244 ={ + winter_severity_bias = 0.65 +} +# b_serpukhov +5245 ={ + winter_severity_bias = 0.65 +} +### d_ryazan +## c_ryazan +# b_ryazan +580 ={ + winter_severity_bias = 0.65 +} +# b_pereyaslavl_ryazanski +5228 ={ + winter_severity_bias = 0.65 +} +# b_rostislavl +5229 ={ + winter_severity_bias = 0.65 +} +# b_vaskina_polyana +5253 ={ + winter_severity_bias = 0.65 +} +# b_klepiki +5230 ={ + winter_severity_bias = 0.65 +} +## c_tula +# b_tula +5231 ={ + winter_severity_bias = 0.65 +} +# b_yelets +5232 ={ + winter_severity_bias = 0.65 +} +# b_pronsk +577 ={ + winter_severity_bias = 0.65 +} +## c_murom +# b_murom +581 ={ + winter_severity_bias = 0.65 +} +# b_gorodets-meshchyorsky +5233 ={ + winter_severity_bias = 0.65 +} +# b_vyksa +5234 ={ + winter_severity_bias = 0.65 +} +# b_pavlovo +5235 ={ + winter_severity_bias = 0.65 +} +### d_nizhny_novgorod +## c_nizhny_novgorod +# b_nizhny_novgorod +584 ={ + winter_severity_bias = 0.65 +} +# b_gorodets +585 ={ + winter_severity_bias = 0.65 +} +# b_kineshma +5246 ={ + winter_severity_bias = 0.65 +} +# b_makariev +5256 ={ + winter_severity_bias = 0.65 +} +## c_plyos +# b_plyos +5247 ={ + winter_severity_bias = 0.65 +} +# b_shuya +5248 ={ + winter_severity_bias = 0.65 +} +# b_sol_vilikaya +5249 ={ + winter_severity_bias = 0.65 +} +## c_manturovo +# b_manturovo +5250 ={ + winter_severity_bias = 0.65 +} +# b_kostroma +5251 ={ + winter_severity_bias = 0.65 +} +# b_galich_mersky +586 ={ + winter_severity_bias = 0.65 +} +# b_chukhloma +5252 ={ + winter_severity_bias = 0.65 +} + +#### k_bjarmaland +### d_biarmia +## c_kholmogory +# b_kholmogory +5798 ={ + winter_severity_bias = 0.90 +} +# b_arkhangelsk +5799 ={ + winter_severity_bias = 0.90 +} +# b_brin_navolok +5800 ={ + winter_severity_bias = 0.90 +} +# b_pertominsk +5801 ={ + winter_severity_bias = 0.90 +} +# b_lopshenga +5802 ={ + winter_severity_bias = 0.90 +} +## c_onega_BJA +# b_onega +5803 ={ + winter_severity_bias = 0.90 +} +# b_pole +5804 ={ + winter_severity_bias = 0.90 +} +# b_korelskoye +5805 ={ + winter_severity_bias = 0.90 +} +# b_malashuyka +5806 ={ + winter_severity_bias = 0.90 +} +## c_povenets +# b_povenets +5807 ={ + winter_severity_bias = 0.90 +} +# b_malenga +5808 ={ + winter_severity_bias = 0.90 +} +# b_yangary +5809 ={ + winter_severity_bias = 0.90 +} +# b_kustranda +5810 ={ + winter_severity_bias = 0.90 +} +## c_pudozh +# b_pudozh +5811 ={ + winter_severity_bias = 0.90 +} +# b_vershinino +5812 ={ + winter_severity_bias = 0.90 +} +# b_yarnema +5813 ={ + winter_severity_bias = 0.90 +} +### d_chudia +## c_kargopol +# b_kargopol +5814 ={ + winter_severity_bias = 0.65 +} +# b_vitzgora +5815 ={ + winter_severity_bias = 0.65 +} +# b_ostrov_BJA +5816 ={ + winter_severity_bias = 0.65 +} +## c_kirillov +# b_kirillov +5817 ={ + winter_severity_bias = 0.65 +} +# b_dvinitza +5818 ={ + winter_severity_bias = 0.65 +} +# b_pelsina +5819 ={ + winter_severity_bias = 0.65 +} +## c_totma +# b_totma +5820 ={ + winter_severity_bias = 0.65 +} +# b_tasta +5821 ={ + winter_severity_bias = 0.65 +} +# b_tischna +5822 ={ + winter_severity_bias = 0.65 +} +# b_kadnikov +5823 ={ + winter_severity_bias = 0.65 +} +### d_vologda +## c_vologda +# b_vologda +5824 ={ + winter_severity_bias = 0.65 +} +# b_sheksna +5825 ={ + winter_severity_bias = 0.65 +} +# b_gryazovets +5826 ={ + winter_severity_bias = 0.65 +} +# b_danilov +5827 ={ + winter_severity_bias = 0.65 +} +# b_vyatskoye +5828 ={ + winter_severity_bias = 0.65 +} +## c_lyubim +# b_lyubim +5829 ={ + winter_severity_bias = 0.65 +} +# b_razlivnoye +5830 ={ + winter_severity_bias = 0.65 +} +# b_soligalich +5831 ={ + winter_severity_bias = 0.65 +} +## c_onsthia +# b_onsthia +5832 ={ + winter_severity_bias = 0.65 +} +# b_karitsa +5833 ={ + winter_severity_bias = 0.65 +} +# b_suday +5834 ={ + winter_severity_bias = 0.65 +} +## c_choklema +# b_choklema +5835 ={ + winter_severity_bias = 0.65 +} +# b_gorodek +5836 ={ + winter_severity_bias = 0.65 +} +# b_boborossa +5837 ={ + winter_severity_bias = 0.65 +} +### d_ustyug +## c_ustyug +# b_veliky_ustyug +5838 ={ + winter_severity_bias = 0.80 +} +# b_nyuksenitsa +5839 ={ + winter_severity_bias = 0.80 +} +# b_kotlas +5840 ={ + winter_severity_bias = 0.80 +} +# b_usyorga +5841 ={ + winter_severity_bias = 0.80 +} +## c_shenkursk +# b_shenkursk +5842 ={ + winter_severity_bias = 0.80 +} +# b_krasny_bor +5843 ={ + winter_severity_bias = 0.80 +} +# b_bereznik +5844 ={ + winter_severity_bias = 0.80 +} +## c_velsk +# b_velsk +5845 ={ + winter_severity_bias = 0.80 +} +# b_verkhovazhye +5846 ={ + winter_severity_bias = 0.80 +} +# b_ous_vaga +5847 ={ + winter_severity_bias = 0.80 +} +# b_yemetsk +5848 ={ + winter_severity_bias = 0.80 +} +## c_kevrola +# b_kevrola +5849 ={ + winter_severity_bias = 0.80 +} +# b_verkola +5850 ={ + winter_severity_bias = 0.80 +} +# b_osmova +5851 ={ + winter_severity_bias = 0.80 +} + +##### e_caspian-pontic_steppe +#### k_pontic_steppe +### d_yedisan +## c_odessa +# b_odessa +5268 ={ + winter_severity_bias = 0.50 +} +# b_tiraspol +5267 ={ + winter_severity_bias = 0.50 +} +# b_okachiv +543 ={ + winter_severity_bias = 0.50 +} +# b_olbia_ETEL +542 ={ + winter_severity_bias = 0.50 +} +## c_ladyzyn +# b_ladyzyn +5257 ={ + winter_severity_bias = 0.60 +} +# b_birzula +5258 ={ + winter_severity_bias = 0.60 +} +# b_liubashivka +5259 ={ + winter_severity_bias = 0.60 +} +## c_uman +# b_yary +5260 ={ + winter_severity_bias = 0.60 +} +# b_buky +5261 ={ + winter_severity_bias = 0.60 +} +# b_uman +5262 ={ + winter_severity_bias = 0.60 +} +## c_cherkassy +# b_cherkassy +5263 ={ + winter_severity_bias = 0.60 +} +# b_sacacatce +5264 ={ + winter_severity_bias = 0.60 +} +# b_kashan +5265 ={ + winter_severity_bias = 0.60 +} +# b_pervomaisk +5266 ={ + winter_severity_bias = 0.60 +} +## c_kherson +# b_kherson +5269 ={ + winter_severity_bias = 0.50 +} +# b_kazanka +5270 ={ + winter_severity_bias = 0.50 +} +# b_voznessensk +5271 ={ + winter_severity_bias = 0.50 +} +## c_dnipro +# b_dnipro +5274 ={ + winter_severity_bias = 0.50 +} +# b_beryslav +5272 ={ + winter_severity_bias = 0.50 +} +# b_nikopol +5273 ={ + winter_severity_bias = 0.50 +} +# b_salmacatce +5275 ={ + winter_severity_bias = 0.50 +} +### d_levedia +## c_khortytsia +# b_khortytsia +557 ={ + winter_severity_bias = 0.50 +} +# b_mariupol +5280 ={ + winter_severity_bias = 0.50 +} +# b_kutur-ogly +5281 ={ + winter_severity_bias = 0.50 +} +# b_donetsk +5324 ={ + winter_severity_bias = 0.50 +} +## c_oleshye +# b_oleshye +558 ={ + winter_severity_bias = 0.50 +} +# b_kakovka +5278 ={ + winter_severity_bias = 0.50 +} +# b_kyzyl_jar +5279 ={ + winter_severity_bias = 0.50 +} +## c_bakhmut +# b_bakhmut +564 ={ + winter_severity_bias = 0.50 +} +# b_lozova +5320 ={ + winter_severity_bias = 0.50 +} +# b_pokrovsk +5321 ={ + winter_severity_bias = 0.50 +} +# b_tor +5322 ={ + winter_severity_bias = 0.50 +} +# b_volcha +5323 ={ + winter_severity_bias = 0.50 +} +## c_samar +# b_samar +556 ={ + winter_severity_bias = 0.50 +} +# b_karlivka +5282 ={ + winter_severity_bias = 0.50 +} +# b_kharka +565 ={ + winter_severity_bias = 0.50 +} +# b_bohodukhiv +5283 ={ + winter_severity_bias = 0.50 +} +### d_don_valley +## c_tana +# b_tana +596 ={ + winter_severity_bias = 0.45 +} +# b_taganrog +563 ={ + winter_severity_bias = 0.45 +} +# b_kuzeytorg +5328 ={ + winter_severity_bias = 0.45 +} +# b_ivanovskoye +5329 ={ + winter_severity_bias = 0.45 +} +## c_golden_hills +# b_golden_hills +5290 ={ + winter_severity_bias = 0.45 +} +# b_siyahtepe +5291 ={ + winter_severity_bias = 0.45 +} +# b_ust-donvokhi +5292 ={ + winter_severity_bias = 0.45 +} +# b_kazarki +594 ={ + winter_severity_bias = 0.45 +} +## c_kazanskaya +# b_kazanskaya +5287 ={ + winter_severity_bias = 0.50 +} +# b_boguchar +5325 ={ + winter_severity_bias = 0.50 +} +# b_millerovo +5326 ={ + winter_severity_bias = 0.50 +} +# b_podgornye +5327 ={ + winter_severity_bias = 0.50 +} +## c_sarysyn +# b_sarysyn +595 ={ + winter_severity_bias = 0.50 +} +# b_frolovo +5293 ={ + winter_severity_bias = 0.50 +} +# b_kamyshin +5294 ={ + winter_severity_bias = 0.50 +} +# b_yelan +5295 ={ + winter_severity_bias = 0.50 +} +### d_crimea +## c_kerch +# b_kerch +562 ={ + winter_severity_bias = 0.30 +} +# b_chersonesus +560 ={ + winter_severity_bias = 0.55 +} +# b_theodosia +561 ={ + winter_severity_bias = 0.55 +} +## c_kalos_limen +# b_kalos_limen +559 ={ + winter_severity_bias = 0.40 +} +# b_kerkinitis +5276 ={ + winter_severity_bias = 0.40 +} +# b_aqmescit +5330 ={ + winter_severity_bias = 0.40 +} +## c_perekop +# b_perekop +5277 ={ + winter_severity_bias = 0.40 +} +# b_dzhankoi +5331 ={ + winter_severity_bias = 0.40 +} + +#### k_caucasus +### d_khazaria +## c_sarkel +# b_sarkel +607 ={ + winter_severity_bias = 0.40 +} +# b_aksay +5315 ={ + winter_severity_bias = 0.40 +} +# b_semikarakary +5332 ={ + winter_severity_bias = 0.40 +} +## c_astrakhan +# b_astrakhan +5311 ={ + winter_severity_bias = 0.40 +} +# b_sara +5312 ={ + winter_severity_bias = 0.40 +} +# b_khazaran +604 ={ + winter_severity_bias = 0.40 +} +## c_beksima +# b_beksima +605 ={ + winter_severity_bias = 0.40 +} +# b_sarepta +5333 ={ + winter_severity_bias = 0.40 +} +# b_yenotayevka +5334 ={ + winter_severity_bias = 0.40 +} +### d_azov +## c_tmutarakan +# b_tmutarakan +598 ={ + winter_severity_bias = 0.40 +} +# b_papagia +5289 ={ + winter_severity_bias = 0.40 +} +# b_kuban +5335 ={ + winter_severity_bias = 0.40 +} +# b_soleny +5336 ={ + winter_severity_bias = 0.40 +} +## c_khumar +# b_yaseni +599 ={ + winter_severity_bias = 0.40 +} +# b_chelbaska +5337 ={ + winter_severity_bias = 0.40 +} +# b_tikhon +5338 ={ + winter_severity_bias = 0.40 +} +## c_azov +# b_azov +597 ={ + winter_severity_bias = 0.40 +} +# b_manych +5288 ={ + winter_severity_bias = 0.40 +} +# b_chamchev +5339 ={ + winter_severity_bias = 0.40 +} +# b_yergolyk +5340 ={ + winter_severity_bias = 0.40 +} +### d_alania +## c_maghas +# b_maghas +5299 ={ + winter_severity_bias = 0.50 +} +# b_etzeri +5300 ={ + winter_severity_bias = 0.50 +} +# b_betzini +5301 ={ + winter_severity_bias = 0.40 +} +## c_cabardinia +# b_cabarda +603 ={ + winter_severity_bias = 0.75 +} +# b_tatartopa +5302 ={ + winter_severity_bias = 0.75 +} +# b_petigoria +606 ={ + winter_severity_bias = 0.60 +} +# b_besinada +5303 ={ + winter_severity_bias = 0.40 +} +# b_majar +5344 ={ + winter_severity_bias = 0.40 +} +## c_zichia +# b_bata +5296 ={ + winter_severity_bias = 0.20 +} +# b_zapaxi +5297 ={ + winter_severity_bias = 0.20 +} +# b_ulmi +5298 ={ + winter_severity_bias = 0.20 +} +### d_ciscaucasia +## c_derbent +# b_derbent +674 ={ + winter_severity_bias = 0.30 +} +# b_kumukh +675 ={ + winter_severity_bias = 0.75 +} +# b_balanjar +5304 ={ + winter_severity_bias = 0.30 +} +# b_kuba +5341 ={ + winter_severity_bias = 0.25 +} +## c_samander +# b_samander +5305 ={ + winter_severity_bias = 0.50 +} +# b_durdzukia +5306 ={ + winter_severity_bias = 0.60 +} +# b_sambalut +5342 ={ + winter_severity_bias = 0.50 +} +## c_samiran +# b_samiran +5343 ={ + winter_severity_bias = 0.40 +} +# b_kizlyar +5307 ={ + winter_severity_bias = 0.40 +} +# b_cabartei +5308 ={ + winter_severity_bias = 0.40 +} +# b_tserlona +5309 ={ + winter_severity_bias = 0.40 +} +# b_cisterki +5310 ={ + winter_severity_bias = 0.40 +} + +#### k_caspian_steppe +### d_itil +## c_itil +# b_itil +620 ={ + winter_severity_bias = 0.40 +} +# b_saray +619 ={ + winter_severity_bias = 0.40 +} +# b_nikolaievsk +5316 ={ + winter_severity_bias = 0.40 +} +# b_chyorny_yar +5345 ={ + winter_severity_bias = 0.40 +} +## c_saqsin +# b_saqsin +5313 ={ + winter_severity_bias = 0.40 +} +# b_saraychiq +5317 ={ + winter_severity_bias = 0.40 +} +# b_ryn +5346 ={ + winter_severity_bias = 0.40 +} +## c_uzen +# b_uzen +617 ={ + winter_severity_bias = 0.50 +} +# b_verchina_uzen +5314 ={ + winter_severity_bias = 0.50 +} +# b_ukek +608 ={ + winter_severity_bias = 0.50 +} +# b_engels +5347 ={ + winter_severity_bias = 0.50 +} +# b_chelykla +5348 ={ + winter_severity_bias = 0.50 +} +### d_pecheneg +## c_pecheneg +# b_pecheneg +616 ={ + winter_severity_bias = 0.60 +} +# b_ilekskoi_gorodok +5502 ={ + winter_severity_bias = 0.60 +} +# b_kamelik +5503 ={ + winter_severity_bias = 0.60 +} +## c_jambalar +# b_jambalar +5504 ={ + winter_severity_bias = 0.60 +} +# b_yalachi +5505 ={ + winter_severity_bias = 0.60 +} +# b_maza +5506 ={ + winter_severity_bias = 0.60 +} +# b_maloi_irghiz +5507 ={ + winter_severity_bias = 0.60 +} +## c_yaitsk +# b_yaitsk +5319 ={ + winter_severity_bias = 0.50 +} +# b_kalmikovsky +5318 ={ + winter_severity_bias = 0.50 +} +# b_zhaltyr +5349 ={ + winter_severity_bias = 0.50 +} +# b_tasqala +602 ={ + winter_severity_bias = 0.50 +} + +##### e_volga-ural +#### k_volga_bulgaria +### d_volga_bulgaria +## c_bolghar +# b_bolghar +610 ={ + winter_severity_bias = 0.70 +} +# b_bilyar +613 ={ + winter_severity_bias = 0.70 +} +# b_cukataw +5405 ={ + winter_severity_bias = 0.70 +} +# b_suvar +5406 ={ + winter_severity_bias = 0.70 +} +## c_ashli +# b_ashli +614 ={ + winter_severity_bias = 0.70 +} +# b_simbirsk +591 ={ + winter_severity_bias = 0.70 +} +# b_banja +5411 ={ + winter_severity_bias = 0.70 +} +## c_yar-calli +# b_yar_calli +5408 ={ + winter_severity_bias = 0.70 +} +# b_agidel +5409 ={ + winter_severity_bias = 0.70 +} +# b_tukhchi +5407 ={ + winter_severity_bias = 0.70 +} +## c_karabolam +# b_karabolam +5412 ={ + winter_severity_bias = 0.70 +} +# b_aqsubay +5413 ={ + winter_severity_bias = 0.70 +} +# b_elmet +5414 ={ + winter_severity_bias = 0.70 +} +## c_samar_VB +# b_samar_VB +609 ={ + winter_severity_bias = 0.70 +} +# b_pokhnishne +5416 ={ + winter_severity_bias = 0.70 +} +# b_neftegorsk +5417 ={ + winter_severity_bias = 0.70 +} +# b_buzuluk +5415 ={ + winter_severity_bias = 0.70 +} +### d_kazan +## c_kazan +# b_kazan +611 ={ + winter_severity_bias = 0.80 +} +# b_kashan_VB +5397 ={ + winter_severity_bias = 0.80 +} +# b_otarka +5400 ={ + winter_severity_bias = 0.80 +} +# b_mamadych +5399 ={ + winter_severity_bias = 0.80 +} +# b_arsk +5398 ={ + winter_severity_bias = 0.80 +} +## c_yoshkar-ola +# b_yoshkar-ola +588 ={ + winter_severity_bias = 0.80 +} +# b_volzhsk +5393 ={ + winter_severity_bias = 0.80 +} +# b_arda +5394 ={ + winter_severity_bias = 0.80 +} +# b_mari-turek +5396 ={ + winter_severity_bias = 0.80 +} +# b_tsarevokokchaisk +5395 ={ + winter_severity_bias = 0.80 +} +## c_elabuga +# b_elabuga +5403 ={ + winter_severity_bias = 0.80 +} +# b_izhevsk +5404 ={ + winter_severity_bias = 0.80 +} +# b_voloz +5402 ={ + winter_severity_bias = 0.80 +} +# b_mozhga +5401 ={ + winter_severity_bias = 0.80 +} +### d_jalmat +## c_jalmat +# b_jalmat +5422 ={ + winter_severity_bias = 0.70 +} +# b_pascherty +5423 ={ + winter_severity_bias = 0.70 +} +# b_almetyvesk +5425 ={ + winter_severity_bias = 0.70 +} +# b_bugulma +5424 ={ + winter_severity_bias = 0.70 +} +## c_belebey +# b_belebey +5418 ={ + winter_severity_bias = 0.70 +} +# b_menzelinsk +5419 ={ + winter_severity_bias = 0.70 +} +# b_siun +5420 ={ + winter_severity_bias = 0.70 +} +# b_achaly +5421 ={ + winter_severity_bias = 0.70 +} +## c_bugurslan +# b_bugurslan +5426 ={ + winter_severity_bias = 0.70 +} +# b_bol_uran +5427 ={ + winter_severity_bias = 0.70 +} +# b_sakmarskoi_gorodok +5428 ={ + winter_severity_bias = 0.70 +} +## c_salavat +# b_salavat +5431 ={ + winter_severity_bias = 0.70 +} +# b_kumertau +5432 ={ + winter_severity_bias = 0.70 +} +# b_prechistenskaya +5433 ={ + winter_severity_bias = 0.70 +} +# b_teterpush +5430 ={ + winter_severity_bias = 0.70 +} +# b_sterlitamak +5429 ={ + winter_severity_bias = 0.70 +} +### d_martyuba +## c_martyuba +# b_urzen +589 ={ + winter_severity_bias = 0.70 +} +# b_vetluga +5473 ={ + winter_severity_bias = 0.70 +} +# b_vokhma +5474 ={ + winter_severity_bias = 0.70 +} +## c_cykma +# b_cykma +5470 ={ + winter_severity_bias = 0.70 +} +# b_semenov +5471 ={ + winter_severity_bias = 0.70 +} +# b_luch +5472 ={ + winter_severity_bias = 0.70 +} + +#### k_mordvinia +### d_mordvinia +## c_cheboksary +# b_cheboksary +590 ={ + winter_severity_bias = 0.70 +} +# b_urmary +5363 ={ + winter_severity_bias = 0.70 +} +# b_tzyvil +5364 ={ + winter_severity_bias = 0.70 +} +# b_alatyr +5365 ={ + winter_severity_bias = 0.70 +} +## c_kozlov +# b_kozlov +5357 ={ + winter_severity_bias = 0.70 +} +# b_oranienburg +5358 ={ + winter_severity_bias = 0.70 +} +## c_lachyk-uba +# b_lachyk-uba +5359 ={ + winter_severity_bias = 0.70 +} +# b_chatzk +5361 ={ + winter_severity_bias = 0.70 +} +# b_rakcha +5362 ={ + winter_severity_bias = 0.70 +} +# b_morchansk +5360 ={ + winter_severity_bias = 0.70 +} +## c_saran +# b_saran +5383 ={ + winter_severity_bias = 0.70 +} +# b_serdosk +5384 ={ + winter_severity_bias = 0.70 +} +# b_kirsanov +5387 ={ + winter_severity_bias = 0.70 +} +# b_vorona +5386 ={ + winter_severity_bias = 0.70 +} +# b_kachma +5385 ={ + winter_severity_bias = 0.70 +} +### d_voronezh +## c_voronezh +# b_voronezh +5350 ={ + winter_severity_bias = 0.65 +} +# b_usman +5352 ={ + winter_severity_bias = 0.65 +} +# b_lipetsk +5351 ={ + winter_severity_bias = 0.65 +} +## c_karatayak +# b_karatayak +5371 ={ + winter_severity_bias = 0.65 +} +# b_pavlovsk +5373 ={ + winter_severity_bias = 0.65 +} +# b_babrov +5372 ={ + winter_severity_bias = 0.65 +} +## c_oskol +# b_oskol +566 ={ + winter_severity_bias = 0.65 +} +# b_khorysdan +5285 ={ + winter_severity_bias = 0.65 +} +# b_khursa +5286 ={ + winter_severity_bias = 0.65 +} +# b_chally-kala +5284 ={ + winter_severity_bias = 0.65 +} +### d_chuvashia +## c_saratov +# b_saratov +592 ={ + winter_severity_bias = 0.70 +} +# b_hanbalik +5369 ={ + winter_severity_bias = 0.70 +} +# b_uza +5370 ={ + winter_severity_bias = 0.70 +} +## c_penza +# b_penza +5366 ={ + winter_severity_bias = 0.70 +} +# b_saransk +579 ={ + winter_severity_bias = 0.70 +} +# b_insara +5367 ={ + winter_severity_bias = 0.70 +} +# b_chechkeiev +5368 ={ + winter_severity_bias = 0.70 +} +## c_atkarsk +# b_atkarsk +5509 ={ + winter_severity_bias = 0.70 +} +# b_peschanka +5508 ={ + winter_severity_bias = 0.70 +} +# b_tersa +5410 ={ + winter_severity_bias = 0.70 +} +## c_petrovsk +# b_petrovsk +5390 ={ + winter_severity_bias = 0.70 +} +# b_treliaka +5391 ={ + winter_severity_bias = 0.70 +} +# b_alchanka +5392 ={ + winter_severity_bias = 0.70 +} +### d_khopyor +## c_khopyor +# b_khopyor +593 ={ + winter_severity_bias = 0.65 +} +# b_bychok +5380 ={ + winter_severity_bias = 0.65 +} +# b_kriucha +5381 ={ + winter_severity_bias = 0.65 +} +# b_manina +5382 ={ + winter_severity_bias = 0.65 +} +## c_tuluchezeva +# b_tuluchezeva +5374 ={ + winter_severity_bias = 0.70 +} +# b_lejlotka +5375 ={ + winter_severity_bias = 0.70 +} +# b_trotskhoper +5376 ={ + winter_severity_bias = 0.70 +} +## c_balachev +# b_balachev +5377 ={ + winter_severity_bias = 0.70 +} +# b_khoper +5378 ={ + winter_severity_bias = 0.70 +} +# b_viazovka +5379 ={ + winter_severity_bias = 0.70 +} +## c_tambov +# b_tambov +5353 ={ + winter_severity_bias = 0.70 +} +# b_matya +5356 ={ + winter_severity_bias = 0.70 +} +# b_plavitza +5355 ={ + winter_severity_bias = 0.70 +} +# b_szava +5354 ={ + winter_severity_bias = 0.70 +} +## c_durovka +# b_durovka +5388 ={ + winter_severity_bias = 0.70 +} +# b_kolychev +5389 ={ + winter_severity_bias = 0.70 +} +# b_repnoye +5498 ={ + winter_severity_bias = 0.70 +} + +#### k_permia +### d_perm +## c_perm +# b_perm +886 ={ + winter_severity_bias = 0.80 +} +# b_kungur +5434 ={ + winter_severity_bias = 0.80 +} +# b_ovinskoi +5436 ={ + winter_severity_bias = 0.80 +} +# b_krasnooufimsk +5435 ={ + winter_severity_bias = 0.80 +} +## c_sebur +# b_sebur +5437 ={ + winter_severity_bias = 0.80 +} +# b_okhansk +5438 ={ + winter_severity_bias = 0.80 +} +# b_aluchi +5439 ={ + winter_severity_bias = 0.80 +} +# b_saraninskor +5440 ={ + winter_severity_bias = 0.80 +} +## c_lysva +# b_lysva +5441 ={ + winter_severity_bias = 0.80 +} +# b_kutamych +5442 ={ + winter_severity_bias = 0.80 +} +# b_serga +5443 ={ + winter_severity_bias = 0.80 +} +# b_sylva +5444 ={ + winter_severity_bias = 0.80 +} +## c_kumych +# b_kumych +5445 ={ + winter_severity_bias = 0.80 +} +# b_bisserskaya +5446 ={ + winter_severity_bias = 0.80 +} +# b_klenovskaya +5447 ={ + winter_severity_bias = 0.80 +} +# b_kirgichanskaya +5448 ={ + winter_severity_bias = 0.80 +} +### d_ural +## c_ural +# b_ural +889 ={ + winter_severity_bias = 0.80 +} +# b_vilva +5453 ={ + winter_severity_bias = 0.80 +} +# b_solikamsk +5454 ={ + winter_severity_bias = 0.80 +} +## c_votkinsk +# b_votkinsk +5449 ={ + winter_severity_bias = 0.80 +} +# b_nytva +5450 ={ + winter_severity_bias = 0.80 +} +# b_obva +5451 ={ + winter_severity_bias = 0.80 +} +# b_krasnokamsk +5452 ={ + winter_severity_bias = 0.80 +} +## c_kerken +# b_kerken +5455 ={ + winter_severity_bias = 0.80 +} +# b_shimal +5456 ={ + winter_severity_bias = 0.80 +} +# b_akchim +5457 ={ + winter_severity_bias = 0.80 +} +### d_udmurtia +## c_kargadan +# b_kargadan +888 ={ + winter_severity_bias = 0.80 +} +# b_kasib +5458 ={ + winter_severity_bias = 0.80 +} +# b_koca +5459 ={ + winter_severity_bias = 0.80 +} +# b_karsovay +5460 ={ + winter_severity_bias = 0.80 +} +## c_palniki +# b_palniki +5461 ={ + winter_severity_bias = 0.80 +} +# b_lolog +5462 ={ + winter_severity_bias = 0.80 +} +# b_kai +612 ={ + winter_severity_bias = 0.80 +} +## c_glazov +# b_glazov +5463 ={ + winter_severity_bias = 0.80 +} +# b_igra +5464 ={ + winter_severity_bias = 0.80 +} +# b_uva +5465 ={ + winter_severity_bias = 0.80 +} +## c_kolyn +# b_kolyn +5466 ={ + winter_severity_bias = 0.80 +} +# b_nukrat +5467 ={ + winter_severity_bias = 0.80 +} +# b_suna +5468 ={ + winter_severity_bias = 0.80 +} +# b_arkul +5469 ={ + winter_severity_bias = 0.80 +} + +#### k_bashkiria +### d_bashkiria +## c_ufa +# b_ufa +615 ={ + winter_severity_bias = 0.70 +} +# b_birsk +5475 ={ + winter_severity_bias = 0.70 +} +# b_yeldiatzkaya +5477 ={ + winter_severity_bias = 0.70 +} +# b_sim +5476 ={ + winter_severity_bias = 0.70 +} +## c_yanokul +# b_yanokul +5481 ={ + winter_severity_bias = 0.70 +} +# b_inzer +5478 ={ + winter_severity_bias = 0.70 +} +# b_bielaya +5480 ={ + winter_severity_bias = 0.70 +} +# b_prigoro_tabynsk +5479 ={ + winter_severity_bias = 0.70 +} +## c_sakmara +# b_sakmara +5483 ={ + winter_severity_bias = 0.80 +} +# b_kaginskoi +5482 ={ + winter_severity_bias = 0.80 +} +# b_verkouralsk +5485 ={ + winter_severity_bias = 0.80 +} +# b_yuldybayevo +5484 ={ + winter_severity_bias = 0.80 +} +### d_uraltau +## c_uraltau +# b_achichskaya +5497 ={ + winter_severity_bias = 0.70 +} +# b_arti +5496 ={ + winter_severity_bias = 0.70 +} +# b_yamantau +5495 ={ + winter_severity_bias = 0.70 +} +# b_duvan +5494 ={ + winter_severity_bias = 0.70 +} +# b_parizh +5493 ={ + winter_severity_bias = 0.70 +} +## c_karabash +# b_karabash +5490 ={ + winter_severity_bias = 0.70 +} +# b_revda +5491 ={ + winter_severity_bias = 0.70 +} +# b_zlatoust +5492 ={ + winter_severity_bias = 0.80 +} +## c_uiska +# b_uiska +5487 ={ + winter_severity_bias = 0.80 +} +# b_yumanova +5486 ={ + winter_severity_bias = 0.80 +} +# b_satka +5488 ={ + winter_severity_bias = 0.80 +} +# b_ust-katav +5489 ={ + winter_severity_bias = 0.80 +} +### d_vogulia +## c_yekaterinburg +# b_yekaterinburg +5519 ={ + winter_severity_bias = 0.70 +} +# b_alapaevsk +5520 ={ + winter_severity_bias = 0.70 +} +# b_irbit +5521 ={ + winter_severity_bias = 0.70 +} +# b_kamychlov +5522 ={ + winter_severity_bias = 0.70 +} +## c_chadrinsk +# b_chadrinsk +5525 ={ + winter_severity_bias = 0.80 +} +# b_iset +5523 ={ + winter_severity_bias = 0.80 +} +# b_baklanska +5528 ={ + winter_severity_bias = 0.80 +} +## c_chelabinsk +# b_chelabinsk +5526 ={ + winter_severity_bias = 0.80 +} +# b_troizk +5527 ={ + winter_severity_bias = 0.80 +} +# b_silach +5524 ={ + winter_severity_bias = 0.80 +} + +##### e_siberia +#### k_yugra +### d_ostyaki +## c_tyumen +# b_tyumen +891 ={ + winter_severity_bias = 0.90 +} +# b_terom +5889 ={ + winter_severity_bias = 0.90 +} +# b_turinsk +5888 ={ + winter_severity_bias = 0.90 +} +# b_shantoskoye +5887 ={ + winter_severity_bias = 0.90 +} +## c_laia +# b_laia +5885 ={ + winter_severity_bias = 0.90 +} +# b_tagil +5884 ={ + winter_severity_bias = 0.90 +} +# b_deriabinskoye +5886 ={ + winter_severity_bias = 0.90 +} +## c_tabary +# b_tabary +5882 ={ + winter_severity_bias = 0.90 +} +# b_tura_kala +5881 ={ + winter_severity_bias = 0.90 +} +# b_oblacas +5883 ={ + winter_severity_bias = 0.90 +} +## c_neramkary +# b_neramkary +5879 ={ + winter_severity_bias = 0.90 +} +# b_verkhoturye +5880 ={ + winter_severity_bias = 0.90 +} +### d_konda +## c_tselym_dalyn +# b_tselym_dalyn +892 ={ + winter_severity_bias = 0.90 +} +# b_chukas_vosh +5877 ={ + winter_severity_bias = 0.90 +} +# b_topar_vosh +5878 ={ + winter_severity_bias = 0.90 +} +## c_kharam-vosh +# b_kharam-vosh +887 ={ + winter_severity_bias = 0.90 +} +# b_kari_pospat_vosh +5867 ={ + winter_severity_bias = 0.90 +} +# b_arant +5868 ={ + winter_severity_bias = 0.90 +} +## c_kartauzh +# b_kartauzh +5870 ={ + winter_severity_bias = 0.90 +} +# b_kandiskaya +5869 ={ + winter_severity_bias = 0.90 +} +### d_pelym +## c_pelym +# b_pelym +5871 ={ + winter_severity_bias = 0.90 +} +# b_sosva +5872 ={ + winter_severity_bias = 0.90 +} +# b_totkarak +5873 ={ + winter_severity_bias = 0.90 +} +## c_koshuki +# b_koshuki +5874 ={ + winter_severity_bias = 0.90 +} +# b_alymka +5875 ={ + winter_severity_bias = 0.90 +} +# b_chalbych +5876 ={ + winter_severity_bias = 0.90 +} +### d_kazym +## c_kazym +# b_surgut +893 ={ + winter_severity_bias = 0.90 +} +# b_khanty-mansiisk +890 ={ + winter_severity_bias = 0.90 +} +# b_yugan +5896 ={ + winter_severity_bias = 0.90 +} +## c_sosva +# b_sukhorukova +5865 ={ + winter_severity_bias = 0.90 +} +# b_belogorye +5866 ={ + winter_severity_bias = 0.90 +} +## c_koda +# b_nizyani +5897 ={ + winter_severity_bias = 0.90 +} +# b_atlym +5898 ={ + winter_severity_bias = 0.90 +} +# b_karymkary +5899 ={ + winter_severity_bias = 0.90 +} + +#### k_sibir +### d_sibir +## c_sibir +# b_sibir +7006 ={ + winter_severity_bias = 0.90 +} +# b_asmaak +7008 ={ + winter_severity_bias = 0.90 +} +# b_vagaiskoy +7010 ={ + winter_severity_bias = 0.90 +} +## c_tobol +# b_tobol +898 ={ + winter_severity_bias = 0.90 +} +# b_koshley_vosh +7002 ={ + winter_severity_bias = 0.90 +} +# b_uluskate +7003 ={ + winter_severity_bias = 0.90 +} +# b_liniek +7004 ={ + winter_severity_bias = 0.90 +} +## c_belogorje +# b_demiianka +7000 ={ + winter_severity_bias = 0.90 +} +# b_selinga +7005 ={ + winter_severity_bias = 0.90 +} +## c_bardak +# b_bardak +7001 ={ + winter_severity_bias = 0.90 +} +# b_berisiy +7007 ={ + winter_severity_bias = 0.90 +} +# b_yorgaet +7009 ={ + winter_severity_bias = 0.90 +} +### d_ishim +## c_ishim +# b_ishim +1223 ={ + winter_severity_bias = 0.90 +} +# b_ust-ishim +7016 ={ + winter_severity_bias = 0.90 +} +# b_omgul +7027 ={ + winter_severity_bias = 0.90 +} +# b_vikulova +7029 ={ + winter_severity_bias = 0.90 +} +## c_dolgujar +# b_dolgujar +7015 ={ + winter_severity_bias = 0.90 +} +# b_vagay +7014 ={ + winter_severity_bias = 0.90 +} +# b_yalu_torovsk +7017 ={ + winter_severity_bias = 0.90 +} +# b_kurtan +7057 ={ + winter_severity_bias = 0.90 +} +### d_tara +## c_tara +# b_tara +1306 ={ + winter_severity_bias = 0.90 +} +# b_zavialova +7028 ={ + winter_severity_bias = 0.90 +} +# b_kulema +7011 ={ + winter_severity_bias = 0.90 +} +# b_kartaszevo +7012 ={ + winter_severity_bias = 0.90 +} +## c_kazanskoye +# b_kazanskoye +7030 ={ + winter_severity_bias = 0.90 +} +# b_tenis +7031 ={ + winter_severity_bias = 0.90 +} +# b_tukalinsk +7032 ={ + winter_severity_bias = 0.90 +} +## c_petropavolsk +# b_petropavolsk +7013 ={ + winter_severity_bias = 0.90 +} +# b_sargatka +7033 ={ + winter_severity_bias = 0.90 +} +# b_ibeitei +7034 ={ + winter_severity_bias = 0.90 +} +### d_lanikaz +#AKA Laktan, Nilkaz, Nilkar or Nilqas +## c_omsk +# b_omsk +7044 ={ + winter_severity_bias = 0.90 +} +# b_sals_poveret +7048 ={ + winter_severity_bias = 0.90 +} +# b_tiabis +7045 ={ + winter_severity_bias = 0.90 +} +# b_tatarka +7046 ={ + winter_severity_bias = 0.90 +} +## c_kainsk +# b_kainsk +7047 ={ + winter_severity_bias = 0.90 +} +# b_chany +7050 ={ + winter_severity_bias = 0.90 +} +# b_abyszkan +7049 ={ + winter_severity_bias = 0.90 +} +# b_karasuk +7052 ={ + winter_severity_bias = 0.90 +} +## c_pavlodar +# b_pavlodar +7053 ={ + winter_severity_bias = 0.90 +} +# b_tatarki +7051 ={ + winter_severity_bias = 0.90 +} +# b_yamishevo +7054 ={ + winter_severity_bias = 0.90 +} +# b_koriakovsky +7043 ={ + winter_severity_bias = 0.90 +} + +#### k_ob +### d_salair +## c_ob +# b_ob +7427 ={ + winter_severity_bias = 0.75 +} +# b_obchikanak +7430 ={ + winter_severity_bias = 0.75 +} +# b_berd +7428 ={ + winter_severity_bias = 0.75 +} +# b_inia +7429 ={ + winter_severity_bias = 0.75 +} +## c_biia +# b_biia +1132 ={ + winter_severity_bias = 0.75 +} +# b_chumych +7413 ={ + winter_severity_bias = 0.75 +} +# b_yeshil_chumych +7414 ={ + winter_severity_bias = 0.75 +} +## c_torema +# b_torema +7426 ={ + winter_severity_bias = 0.75 +} +# b_iaya +7425 ={ + winter_severity_bias = 0.75 +} +# b_kalym +7424 ={ + winter_severity_bias = 0.75 +} +## c_sorok +# b_sorok +7422 ={ + winter_severity_bias = 0.85 +} +# b_our +7423 ={ + winter_severity_bias = 0.85 +} +# b_kara_chumych +7420 ={ + winter_severity_bias = 0.85 +} +## c_kondoma +# b_kondoma +7421 ={ + winter_severity_bias = 0.85 +} +# b_sary_chumych +7415 ={ + winter_severity_bias = 0.85 +} +# b_ojin +7416 ={ + winter_severity_bias = 0.85 +} +## c_kyin +# b_kyin +7419 ={ + winter_severity_bias = 1.0 +} +# b_mus_tagh +7418 ={ + winter_severity_bias = 1.0 +} +# b_bilbe +7417 ={ + winter_severity_bias = 1.0 +} +## c_aley +# b_aley +7406 ={ + winter_severity_bias = 0.85 +} +# b_poperech +7403 ={ + winter_severity_bias = 0.85 +} +# b_charych +7407 ={ + winter_severity_bias = 0.85 +} +# b_anyu +7408 ={ + winter_severity_bias = 0.85 +} +## c_korgon +# b_korgon +7405 ={ + winter_severity_bias = 0.85 +} +# b_korginia +7404 ={ + winter_severity_bias = 0.85 +} +# b_anuy +7409 ={ + winter_severity_bias = 0.85 +} +## c_terektai +# b_terektai +7412 ={ + winter_severity_bias = 1.0 +} +# b_ongutai +7411 ={ + winter_severity_bias = 1.0 +} +# b_katun +7410 ={ + winter_severity_bias = 1.0 +} +## c_tavan_bogd +# b_khuiten +7514 ={ + winter_severity_bias = 1.0 +} +# b_khoton +7515 ={ + winter_severity_bias = 1.0 +} +# b_dayan +7516 ={ + winter_severity_bias = 1.0 +} +### d_ala_tau +## c_tomsk +# b_tomsk +1463 ={ + winter_severity_bias = 0.75 +} +# b_ket +1329 ={ + winter_severity_bias = 0.75 +} +# b_salim +7431 ={ + winter_severity_bias = 0.75 +} +# b_yaia +7433 ={ + winter_severity_bias = 0.75 +} +## c_kiia +# b_kiia +7432 ={ + winter_severity_bias = 0.75 +} +# b_krolu +7434 ={ + winter_severity_bias = 0.75 +} +# b_kitat +7438 ={ + winter_severity_bias = 0.75 +} +## c_taskyl +# b_taskyl +7436 ={ + winter_severity_bias = 0.85 +} +# b_perasku +7435 ={ + winter_severity_bias = 0.85 +} +# b_yogoran +7437 ={ + winter_severity_bias = 0.85 +} +## c_kojuk +# b_kojuk +7443 ={ + winter_severity_bias = 0.85 +} +# b_biriku +7441 ={ + winter_severity_bias = 0.75 +} +## c_chulym +# b_chulym_bis +7439 ={ + winter_severity_bias = 0.75 +} +# b_chet +7440 ={ + winter_severity_bias = 0.75 +} +# b_shurysh +7442 ={ + winter_severity_bias = 0.85 +} +## c_narim +# b_narim +1205 ={ + winter_severity_bias = 0.85 +} +# b_tym +7444 ={ + winter_severity_bias = 0.85 +} +# b_keljiga +7445 ={ + winter_severity_bias = 0.85 +} +# b_yutur +7446 ={ + winter_severity_bias = 0.85 +} +## c_sochur +# b_sochur +7448 ={ + winter_severity_bias = 0.90 +} +# b_jorugul +7447 ={ + winter_severity_bias = 0.90 +} +## c_yenisei +# b_yenisei +7449 ={ + winter_severity_bias = 0.90 +} +# b_yahtin +7450 ={ + winter_severity_bias = 0.90 +} +# b_belska +7451 ={ + winter_severity_bias = 0.90 +} +### d_vasyugan_mire +## c_vasyugan +# b_vasyugan +7368 ={ + winter_severity_bias = 0.75 +} +# b_parabel +7372 ={ + winter_severity_bias = 0.75 +} +# b_yonoir +7371 ={ + winter_severity_bias = 0.75 +} +# b_yugar +7369 ={ + winter_severity_bias = 0.75 +} +## c_umiai +# b_umiai +7367 ={ + winter_severity_bias = 0.75 +} +# b_sayak +7366 ={ + winter_severity_bias = 0.75 +} +# b_chergana +7370 ={ + winter_severity_bias = 0.75 +} +## c_tartas_SIB +# b_tartas_SIB +7363 ={ + winter_severity_bias = 0.75 +} +# b_om +7365 ={ + winter_severity_bias = 0.75 +} +# b_gulyus +7364 ={ + winter_severity_bias = 0.75 +} +## c_chich +# b_chich +7360 ={ + winter_severity_bias = 0.75 +} +# b_olyn +7361 ={ + winter_severity_bias = 0.75 +} +# b_kargalin +7362 ={ + winter_severity_bias = 0.75 +} +### d_baraba_steppe +## c_kolyvan +# b_kolyvan +7381 ={ + winter_severity_bias = 0.75 +} +# b_chik +7382 ={ + winter_severity_bias = 0.75 +} +# b_kayask +7383 ={ + winter_severity_bias = 0.75 +} +# b_karas_SIB +7384 ={ + winter_severity_bias = 0.75 +} +## c_sartlan +# b_sartlan +7386 ={ + winter_severity_bias = 0.75 +} +# b_bagan +7387 ={ + winter_severity_bias = 0.75 +} +# b_chulym +7385 ={ + winter_severity_bias = 0.75 +} +## c_ubins +# b_ubins +7373 ={ + winter_severity_bias = 0.75 +} +# b_kargat +7374 ={ + winter_severity_bias = 0.75 +} +# b_baksa +7380 ={ + winter_severity_bias = 0.75 +} +## c_igaran +# b_igaran +7375 ={ + winter_severity_bias = 0.75 +} +# b_iau +7376 ={ + winter_severity_bias = 0.75 +} +# b_chegarka +7377 ={ + winter_severity_bias = 0.75 +} +## c_konda_ob +# b_konda_ob +7378 ={ + winter_severity_bias = 0.75 +} +# b_toya +7379 ={ + winter_severity_bias = 0.75 +} +### d_kulyndy_steppe +## c_kulunda +# b_kulunda +7393 ={ + winter_severity_bias = 0.75 +} +# b_kuria +7394 ={ + winter_severity_bias = 0.75 +} +# b_gorko +7395 ={ + winter_severity_bias = 0.75 +} +# b_dolgo +7392 ={ + winter_severity_bias = 0.75 +} +## c_barnaul +# b_barnaul +7397 ={ + winter_severity_bias = 0.75 +} +# b_kasmala +7396 ={ + winter_severity_bias = 0.75 +} +# b_barnaii +7398 ={ + winter_severity_bias = 0.75 +} +# b_gorkoalei +7399 ={ + winter_severity_bias = 0.75 +} +## c_kachu +# b_kachu +7400 ={ + winter_severity_bias = 0.75 +} +# b_dolons +7401 ={ + winter_severity_bias = 0.75 +} +# b_molibay +7402 ={ + winter_severity_bias = 0.75 +} +## c_kuchuk +# b_kuchuk +7391 ={ + winter_severity_bias = 0.75 +} +# b_lamych +7390 ={ + winter_severity_bias = 0.75 +} +# b_kacharsku +7389 ={ + winter_severity_bias = 0.75 +} +# b_topolno +7388 ={ + winter_severity_bias = 0.75 +} + +##### e_mongolia +#### k_otuken +### d_orkhon +## c_karakorum +# b_karakorum +1457 ={ + winter_severity_bias = 0.90 +} +# b_bayan_nuur +7519 ={ + winter_severity_bias = 0.90 +} +# b_longcheng +7520 ={ + winter_severity_bias = 0.90 +} +# b_khogno_khan +7521 ={ + winter_severity_bias = 0.90 +} +# b_batkhaan +7522 ={ + winter_severity_bias = 0.90 +} +# b_shankh +7523 ={ + winter_severity_bias = 0.90 +} +## c_karabalgasun +# b_karabalgasun +7525 ={ + winter_severity_bias = 0.90 +} +# b_otuken_city +1461 ={ + winter_severity_bias = 0.90 +} +# b_hanhai +7524 ={ + winter_severity_bias = 0.90 +} +# b_ogiy +7526 ={ + winter_severity_bias = 0.90 +} +# b_sharga_OTU +7530 ={ + winter_severity_bias = 0.90 +} +# b_bulgan_uul +7531 ={ + winter_severity_bias = 0.90 +} +## c_mumo +# b_mumo +7517 ={ + winter_severity_bias = 0.90 +} +# b_khoyorgol +7518 ={ + winter_severity_bias = 0.90 +} +# b_khanjargalant +7527 ={ + winter_severity_bias = 0.90 +} +# b_erdenet +7528 ={ + winter_severity_bias = 0.90 +} +# b_ishgent +7529 ={ + winter_severity_bias = 0.90 +} +### d_ogrash +## c_ulaanbaatar +# b_ulaanbaatar +7532 ={ + winter_severity_bias = 1.0 +} +# b_moltsog_els +7533 ={ + winter_severity_bias = 1.0 +} +# b_hustai +7534 ={ + winter_severity_bias = 1.0 +} +# b_orkhontuul +7535 ={ + winter_severity_bias = 1.0 +} +## c_khentii +# b_khentii +7539 ={ + winter_severity_bias = 1.0 +} +# b_tuul_khentii +7537 ={ + winter_severity_bias = 1.0 +} +# b_gorkhii_terelj +7538 ={ + winter_severity_bias = 1.0 +} +# b_burkal +7540 ={ + winter_severity_bias = 1.0 +} +## c_naushki +# b_naushki +7542 ={ + winter_severity_bias = 1.0 +} +# b_chikoy_OGR +7541 ={ + winter_severity_bias = 1.0 +} +# b_oarkhan_uul +7536 ={ + winter_severity_bias = 1.0 +} +## c_EM_khaldun +#b_FIC_Mong_Khaldun +11548 = { + winter_severity_bias = 1.0 +} +#b_FIC_Mong_Ononekh +11547 = { + winter_severity_bias = 1.0 +} +#b_FIC_Mong_Ulaondor +11537 = { + winter_severity_bias = 1.0 +} +#b_FIC_Mong_Olongoluud +11538 = { + winter_severity_bias = 1.0 +} +### d_selenga_valley +## c_selenga +# b_selenga +7555 ={ + winter_severity_bias = 1.0 +} +# b_buteeliin_nuruu +7552 ={ + winter_severity_bias = 1.0 +} +# b_khamar_daban +7553 ={ + winter_severity_bias = 1.0 +} +# b_galuut_nuur +7554 ={ + winter_severity_bias = 1.0 +} +## c_baibalik +# b_baibalik +7543 ={ + winter_severity_bias = 1.0 +} +# b_namnan_uul +7544 ={ + winter_severity_bias = 1.0 +} +# b_airkhan +7545 ={ + winter_severity_bias = 1.0 +} +## c_khokhoo +# b_khokhoo +7547 ={ + winter_severity_bias = 1.0 +} +# b_erkhel +7546 ={ + winter_severity_bias = 1.0 +} +# b_dayan_deerkhiin +7548 ={ + winter_severity_bias = 1.0 +} +## c_karatsagaan +# b_karatsagaan +7550 ={ + winter_severity_bias = 1.0 +} +# b_khargal +7549 ={ + winter_severity_bias = 1.0 +} +# b_jida +7551 ={ + winter_severity_bias = 1.0 +} +## c_tunka +# b_arshan +7556 ={ + winter_severity_bias = 1.0 +} +# b_kyngarga +7557 ={ + winter_severity_bias = 1.0 +} +# b_dachi_gama +7558 ={ + winter_severity_bias = 1.0 +} +### d_EM_tataria +## c_EM_zhen +# b_Mong_zhen +11529 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Ulantolgod +11530 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Ulyntsana +11533 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Herulun +11534 ={ + winter_severity_bias = 1.0 +} +## c_EM_gobidada +# b_FIC_Mong_Elskhol +11531 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Chusolalin +11532 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Payenula +11535 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Olokuialin +11536 ={ + winter_severity_bias = 1.0 +} +## c_EM_dadaels +# b_FIC_Mong_Tarhanalin +11542 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Ichar_Ekin +11543 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tarkhaidam +11544 ={ + winter_severity_bias = 1.0 +} +## c_EM_dutulun +# b_FIC_Mong_Dutulunels +11539 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Semkut +11540 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tarkilechi +11541 ={ + winter_severity_bias = 1.0 +} +## c_EM_kherulendada +# b_FIC_Mong_Karepuri +11545 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Kukuchol +11559 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Hinkanalin +11560 ={ + winter_severity_bias = 1.0 +} +### d_EM_onon +## c_EM_jiangbian +# b_Mong_Jiangbian +11581 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Khanazuun +11585 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Kurumnuur +11579 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Khanabaruun +11580 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Kyursugol +11546 ={ + winter_severity_bias = 1.0 +} +## c_EM_ononum +# b_FIC_Mong_Ononum +11549 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Orgilalkham +11550 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Ulajagol +11586 ={ + winter_severity_bias = 1.0 +} +## c_EM_kizilkhentii +# b_FIC_Mong_Paljigol +11551 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Ingedei +11552 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Chulereg +11553 ={ + winter_severity_bias = 1.0 +} +## c_EM_doodonon +# b_FIC_Mong_Doodonon +11556 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Kharbelcheer +11555 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Shitagol +11554 ={ + winter_severity_bias = 1.0 +} +### d_EM_wuguguo +## c_EM_hepung +# b_Mong_Hepung +11582 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Zovkerulen +11564 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Kurnuur +11565 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Khosoonuud +11566 ={ + winter_severity_bias = 1.0 +} +## c_EM_karakopi +# b_FIC_Mong_Kanchuku +11561 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Usguitalbai +11562 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tapsunuur +11563 ={ + winter_severity_bias = 1.0 +} +## c_EM_akhulun +# b_FIC_Mong_Ulanhulud +11568 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tsagaanuur +11584 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Horobot +11583 ={ + winter_severity_bias = 1.0 +} +## c_EM_khartereg +# b_FIC_Mong_Nuurkhoorond +11569 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tulanhara +11567 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Khargobi +11578 ={ + winter_severity_bias = 1.0 +} +### d_EM_yujuelu +## c_EM_yujuelu +# b_FIC_Mong_Ergunegol +11597 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Tazimurekh +11598 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Shaqiu +11592 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Nuurkhoid +11596 ={ + winter_severity_bias = 1.0 +} +## c_EM_tsetsen +# b_FIC_Mong_Shargazar +11590 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Toostoigol +11593 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Elsenurud +11591 ={ + winter_severity_bias = 1.0 +} +## c_EM_urtolgod +# b_FIC_Mong_Urtolgod +11588 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Gantsaardal +11589 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Nogoontoos +11587 ={ + winter_severity_bias = 1.0 +} +### d_EM_wajiezi +## c_EM_shilka +# b_FIC_Mong_Arguntokhoi +11605 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Shilkagol +11604 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Gasunur +11603 ={ + winter_severity_bias = 1.0 +} +## c_SW_talbai +#b_FIC_Mong_Mongotalbai +11599 ={ + winter_severity_bias = 1.0 +} +#b_FIC_Mong_Tomorels +11600 ={ + winter_severity_bias = 1.0 +} +#b_FIC_Mong_Gasimur +11601 ={ + winter_severity_bias = 1.0 +} +## c_EM_khiltsaiz +# b_FIC_Mong_Khiltsaiz +11595 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Shankortsol +11602 ={ + winter_severity_bias = 1.0 +} +## c_EM_khoyorgol +# b_FIC_Mong_Khoyorgol +11558 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Zatalbar +11557 ={ + winter_severity_bias = 1.0 +} +# b_FIC_Mong_Khurtskhandii +11594 ={ + winter_severity_bias = 1.0 +} + +#### k_naimania +### d_ovorkhangai +## c_tovkhon +# b_tovkhon +7573 ={ + winter_severity_bias = 1.0 +} +# b_guchin_us +7571 ={ + winter_severity_bias = 1.0 +} +# b_avraikheer +7572 ={ + winter_severity_bias = 1.0 +} +# b_khuisiin_naiman_nuur +7567 ={ + winter_severity_bias = 1.0 +} +## c_ongi +# b_ongi +7570 ={ + winter_severity_bias = 1.0 +} +# b_taatsiin_tsagaan +7568 ={ + winter_severity_bias = 1.0 +} +# b_myangan_yamaat +7569 ={ + winter_severity_bias = 1.0 +} +## c_ikh_bogd +# b_ikh_bogd +1456 ={ + winter_severity_bias = 1.0 +} +# b_tuin +7565 ={ + winter_severity_bias = 1.0 +} +# b_orog +7566 ={ + winter_severity_bias = 1.0 +} +## c_bombogor +# b_bombogor +7562 ={ + winter_severity_bias = 1.0 +} +# b_boon_tsagaan +7563 ={ + winter_severity_bias = 1.0 +} +# b_khutag +7564 ={ + winter_severity_bias = 1.0 +} +## c_khasagt_khairkhan +# b_khasagt_khairkhan +7559 ={ + winter_severity_bias = 1.0 +} +# b_gegeen +7560 ={ + winter_severity_bias = 1.0 +} +# b_taigan +7561 ={ + winter_severity_bias = 1.0 +} +### d_arkhangai +## c_tarvagatai +# b_tarvagatai +1458 ={ + winter_severity_bias = 1.0 +} +# b_galt +7581 ={ + winter_severity_bias = 1.0 +} +# b_tariat +7582 ={ + winter_severity_bias = 1.0 +} +## c_oigon +# b_oigon +7574 ={ + winter_severity_bias = 1.0 +} +# b_telmen +7575 ={ + winter_severity_bias = 1.0 +} +# b_ikh_uul +7576 ={ + winter_severity_bias = 1.0 +} +# b_tsetsen_khairkhan +7577 ={ + winter_severity_bias = 1.0 +} +## c_uliastai +# b_uliastai +7579 ={ + winter_severity_bias = 1.0 +} +# b_ulaagchiin_khar +7578 ={ + winter_severity_bias = 1.0 +} +# b_otgontenger +7580 ={ + winter_severity_bias = 1.0 +} +### d_khovsgol +## c_darkhad_valley +# b_darkhad +7588 ={ + winter_severity_bias = 1.0 +} +# b_khoridol_saridag +7589 ={ + winter_severity_bias = 1.0 +} +# b_tsagaanuur +1455 ={ + winter_severity_bias = 1.0 +} +## c_tomorbulag +# b_tomorbulag +7585 ={ + winter_severity_bias = 1.0 +} +# b_karates +7583 ={ + winter_severity_bias = 1.0 +} +# b_sangiin_dalai +7584 ={ + winter_severity_bias = 1.0 +} +## c_ulantaiga +# b_dood_tsagaan_nuur +7586 ={ + winter_severity_bias = 1.0 +} +# b_ulaantaiga +7587 ={ + winter_severity_bias = 1.0 +} +### d_gobi_altai +## c_tseel +# b_tseel +7592 ={ + winter_severity_bias = 1.0 +} +# b_alag_khairkhan +7591 ={ + winter_severity_bias = 1.0 +} +# b_aj_bogd +1453 ={ + winter_severity_bias = 1.0 +} +## c_sharga +# b_sharga +1450 ={ + winter_severity_bias = 1.0 +} +# b_bumbag_hayrhan_uul +7590 ={ + winter_severity_bias = 1.0 +} +## c_zarman +# b_nutsgen_uul +7593 ={ + winter_severity_bias = 1.0 +} +# b_eej_khairkhan +7594 ={ + winter_severity_bias = 1.0 +} +# b_zarman +7595 ={ + winter_severity_bias = 1.0 +} +### d_ubsunur_hollow +## c_uvs_nuur +# b_uvs_nuur +7596 ={ + winter_severity_bias = 1.0 +} +# b_khan_khokhii +7603 ={ + winter_severity_bias = 1.0 +} +# b_khan_huhiin +7604 ={ + winter_severity_bias = 1.0 +} +## c_ulaangom +# b_ulaangom +7597 ={ + winter_severity_bias = 1.0 +} +# b_turgen +7598 ={ + winter_severity_bias = 1.0 +} +# b_khyarhgas +7599 ={ + winter_severity_bias = 1.0 +} +## c_tesiin_gol +# b_tesiin_gol +7600 ={ + winter_severity_bias = 1.0 +} +# b_bayan_UVS +7601 ={ + winter_severity_bias = 1.0 +} +# b_altan_els +7602 ={ + winter_severity_bias = 1.0 +} +## c_urgamal +# b_airag +7605 ={ + winter_severity_bias = 1.0 +} +# b_urgamal +7606 ={ + winter_severity_bias = 1.0 +} +# b_setsen_sart +7607 ={ + winter_severity_bias = 1.0 +} +## c_khar_us +# b_khar_us +7610 ={ + winter_severity_bias = 1.0 +} +# b_durgun +7608 ={ + winter_severity_bias = 1.0 +} +# b_elsen_tasarkhai +7609 ={ + winter_severity_bias = 1.0 +} +### d_khovd +## c_harhiraa +# b_achit_nuur +7611 ={ + winter_severity_bias = 1.0 +} +# b_tsagan_shibetu +7612 ={ + winter_severity_bias = 1.0 +} +# b_turgen_uul +7613 ={ + winter_severity_bias = 1.0 +} +## c_tsambagarau +# b_tsambagarau +7615 ={ + winter_severity_bias = 1.0 +} +# b_tal_tugal +7614 ={ + winter_severity_bias = 1.0 +} +# b_munkh_khairkhan +7616 ={ + winter_severity_bias = 1.0 +} + +#### k_tuva +### d_togina +## c_arzhan +# b_arzhan +1459 ={ + winter_severity_bias = 1.0 +} +# b_saryg_sep +7617 ={ + winter_severity_bias = 1.0 +} +# b_por_bajin +7618 ={ + winter_severity_bias = 1.0 +} +## c_tapsa +# b_tapsa +7619 ={ + winter_severity_bias = 1.0 +} +# b_ikh_nogoon +7620 ={ + winter_severity_bias = 1.0 +} +# b_ak_altyg_khol +7621 ={ + winter_severity_bias = 1.0 +} +# b_bilin +7622 ={ + winter_severity_bias = 1.0 +} +## c_azas +# b_azas +7624 ={ + winter_severity_bias = 1.0 +} +# b_eki_khem +7623 ={ + winter_severity_bias = 1.0 +} +### d_tannu_ola +## c_eastern_tannu +# b_karatangdy +1452 ={ + winter_severity_bias = 1.0 +} +# b_khemchiq +7628 ={ + winter_severity_bias = 1.0 +} +# b_sagly +7629 ={ + winter_severity_bias = 1.0 +} +# b_despen +7630 ={ + winter_severity_bias = 1.0 +} +## c_western_tannu +# b_turgen_uul_bis +7625 ={ + winter_severity_bias = 1.0 +} +# b_mungun_taiga +7626 ={ + winter_severity_bias = 1.0 +} +# b_khindigtik_khol +7627 ={ + winter_severity_bias = 1.0 +} +### d_western_sayan +## c_stoyanka +# b_stoyanka +7639 ={ + winter_severity_bias = 1.0 +} +# b_urbun +7640 ={ + winter_severity_bias = 1.0 +} +# b_ulaan_gol +7641 ={ + winter_severity_bias = 1.0 +} +# b_arja +7642 ={ + winter_severity_bias = 1.0 +} +## c_katu_yaryk +# b_katu_yaryk +7632 ={ + winter_severity_bias = 1.0 +} +# b_altyn_kol +7631 ={ + winter_severity_bias = 1.0 +} +# b_kara_khol_TUV +7633 ={ + winter_severity_bias = 1.0 +} +# b_tsagaan_gazar +7634 ={ + winter_severity_bias = 1.0 +} +## c_kantegir +# b_gosudar +7635 ={ + winter_severity_bias = 1.0 +} +# b_sutkhol +7636 ={ + winter_severity_bias = 1.0 +} +# b_kantegir +7637 ={ + winter_severity_bias = 1.0 +} +# b_sayanchu +7638 ={ + winter_severity_bias = 1.0 +} + +#### k_khakassia +### d_khakass_hollow +## c_abakan +# b_abakan +1454 ={ + winter_severity_bias = 1.0 +} +# b_ulugkol +7646 ={ + winter_severity_bias = 1.0 +} +# b_sosno +7647 ={ + winter_severity_bias = 1.0 +} +## c_julym +# b_julym +7643 ={ + winter_severity_bias = 1.0 +} +# b_yezagash +7644 ={ + winter_severity_bias = 1.0 +} +# b_uchum +7645 ={ + winter_severity_bias = 1.0 +} +## c_jerjul +# b_jerjul +7648 ={ + winter_severity_bias = 1.0 +} +# b_argyjek +7649 ={ + winter_severity_bias = 1.0 +} +# b_sisim +7650 ={ + winter_severity_bias = 1.0 +} +## c_kizir +# b_kizir +7653 ={ + winter_severity_bias = 1.0 +} +# b_tuba_TUV +7651 ={ + winter_severity_bias = 1.0 +} +# b_shina +7652 ={ + winter_severity_bias = 1.0 +} +# b_tiberkul +7656 ={ + winter_severity_bias = 1.0 +} +## c_anja +# b_anja_TUV +7654 ={ + winter_severity_bias = 1.0 +} +# b_tofa_nuruud +7655 ={ + winter_severity_bias = 1.0 +} +## c_kyzylkul +# b_bolsho_kyzylkul +7657 ={ + winter_severity_bias = 1.0 +} +# b_amyl +7659 ={ + winter_severity_bias = 1.0 +} +# b_borus +7660 ={ + winter_severity_bias = 1.0 +} +# b_kop_golyn +7658 ={ + winter_severity_bias = 1.0 +} +### d_shoria +## c_kuzbas +# b_kuznetsk #Called fictional "Kuzna" +7663 ={ + winter_severity_bias = 1.0 +} +# b_kuztom +7661 ={ + winter_severity_bias = 1.0 +} +# b_kuzalatau +7662 ={ + winter_severity_bias = 1.0 +} +## c_shor +# b_kondoma_MON +7664 ={ + winter_severity_bias = 1.0 +} +# b_mrassu +7665 ={ + winter_severity_bias = 1.0 +} +# b_shor +7667 ={ + winter_severity_bias = 1.0 +} +## c_uul_chors +# b_abaza +7668 ={ + winter_severity_bias = 1.0 +} +# b_khartomor_uul +7666 ={ + winter_severity_bias = 1.0 +} +# b_granuul +7669 ={ + winter_severity_bias = 1.0 +} +### d_kargassia +## c_burugu_aallar +# b_tofalaria +7670 ={ + winter_severity_bias = 1.0 +} +# b_miirchun +7671 ={ + winter_severity_bias = 1.0 +} +# b_ikh_orgil +7672 ={ + winter_severity_bias = 1.0 +} +## c_chagdy_aallar +# b_kandat_uul +7673 ={ + winter_severity_bias = 1.0 +} +# b_kazyr +7674 ={ + winter_severity_bias = 1.0 +} +# b_kazas +7675 ={ + winter_severity_bias = 1.0 +} +## c_songuu_aallar +# b_ergaki +7676 ={ + winter_severity_bias = 1.0 +} +# b_orgogdon_rok +7677 ={ + winter_severity_bias = 1.0 +} +# b_baldyrgannyg +7678 ={ + winter_severity_bias = 1.0 +} +### d_eastern_sayan +## c_karauda +# b_karauda +7679 ={ + winter_severity_bias = 1.0 +} +# b_iya_TUV +7680 ={ + winter_severity_bias = 1.0 +} +# b_doloon_nuur +7681 ={ + winter_severity_bias = 1.0 +} +## c_shityy +# b_shityy +7682 ={ + winter_severity_bias = 1.0 +} +# b_tsagaan_kropot +7683 ={ + winter_severity_bias = 1.0 +} +# b_dibi_TUV +7684 ={ + winter_severity_bias = 1.0 +} +## c_kropot +# b_kropot +7685 ={ + winter_severity_bias = 1.0 +} +# b_urik +7686 ={ + winter_severity_bias = 1.0 +} +# b_setgel_uul +7687 ={ + winter_severity_bias = 1.0 +} +## c_monkh_saridag +# b_monkh_saridag +7689 ={ + winter_severity_bias = 1.0 +} +# b_khurel_uul +7688 ={ + winter_severity_bias = 1.0 +} + +#### k_buryatia +### d_uda_valley +## c_ulan_ude +# b_ulan_ude +7690 ={ + winter_severity_bias = 1.0 +} +# b_altaichei +7691 ={ + winter_severity_bias = 1.0 +} +# b_khudan_BUR +7692 ={ + winter_severity_bias = 1.0 +} +# b_saranka +7693 ={ + winter_severity_bias = 1.0 +} +## c_chikoy +# b_chikoy +7694 ={ + winter_severity_bias = 1.0 +} +# b_khilok +7695 ={ + winter_severity_bias = 1.0 +} +# b_oungo +7696 ={ + winter_severity_bias = 1.0 +} +### d_dauria +## c_bargajan +# b_bargajan +7704 ={ + winter_severity_bias = 1.0 +} +# b_khilem_khamar +1460 ={ + winter_severity_bias = 1.0 +} +# b_frolikha +7705 ={ + winter_severity_bias = 1.0 +} +## c_muya +# b_muya +7707 ={ + winter_severity_bias = 1.0 +} +# b_jergin +7706 ={ + winter_severity_bias = 1.0 +} +# b_vitimkan +7703 ={ + winter_severity_bias = 1.0 +} +## c_kotokel +# b_kotokel +7699 ={ + winter_severity_bias = 1.0 +} +# b_kabans +7697 ={ + winter_severity_bias = 1.0 +} +# b_itantsa +7698 ={ + winter_severity_bias = 1.0 +} +## c_yera +# b_yera +7700 ={ + winter_severity_bias = 1.0 +} +# b_shilmuustoi +7701 ={ + winter_severity_bias = 1.0 +} +# b_zuunbaykal +7702 ={ + winter_severity_bias = 1.0 +} +### d_bargujin_tukum +## c_kotera +# b_kotera +7708 ={ + winter_severity_bias = 1.0 +} +# b_gants_khondii +7709 ={ + winter_severity_bias = 1.0 +} +# b_mamakhondii +7710 ={ + winter_severity_bias = 1.0 +} +# b_shugel_ondor +7711 ={ + winter_severity_bias = 1.0 +} +## c_vitim +# b_vitim +7714 ={ + winter_severity_bias = 1.0 +} +# b_vitimkhad +7712 ={ + winter_severity_bias = 1.0 +} +# b_karamuya +7713 ={ + winter_severity_bias = 1.0 +} +## c_karabaigal +# b_chuulunuruu +7715 ={ + winter_severity_bias = 1.0 +} +# b_chonoshud +7716 ={ + winter_severity_bias = 1.0 +} +# b_karaoi +7717 ={ + winter_severity_bias = 1.0 +} +## c_chuya +# b_chuya +7719 ={ + winter_severity_bias = 1.0 +} +# b_alsholoi +7718 ={ + winter_severity_bias = 1.0 +} +### d_baigaluuls +## c_baigaluuls +# b_kirenga +7720 ={ + winter_severity_bias = 1.0 +} +# b_cherskogo +7722 ={ + winter_severity_bias = 1.0 +} +# b_baigalan_chaya +7723 ={ + winter_severity_bias = 1.0 +} +## c_uulynkhol +# b_nogoon_naluu +7721 ={ + winter_severity_bias = 1.0 +} +# b_daoroouul +7724 ={ + winter_severity_bias = 1.0 +} +# b_khilgazar +7725 ={ + winter_severity_bias = 1.0 +} +# b_khuldursgal +7726 ={ + winter_severity_bias = 1.0 +} +### d_tsagaanbaigal +## c_olkhon +# b_olkhon +7778 ={ + winter_severity_bias = 1.0 +} +# b_bugulde +7779 ={ + winter_severity_bias = 1.0 +} +# b_manzurka +7777 ={ + winter_severity_bias = 1.0 +} +## c_irkutsk +# b_irkutsk +7780 ={ + winter_severity_bias = 1.0 +} +# b_osa_MON +7775 ={ + winter_severity_bias = 1.0 +} +# b_KUDA_MON +7776 ={ + winter_severity_bias = 1.0 +} +## c_ryty +# b_ryty +7727 ={ + winter_severity_bias = 1.0 +} +# b_berikul +7728 ={ + winter_severity_bias = 1.0 +} +# b_chikan +7729 ={ + winter_severity_bias = 1.0 +} + +#### k_angara +### d_yenisei_kan +## c_krasnoyarsk +# b_krasnoyarsk +1462 ={ + winter_severity_bias = 1.0 +} +# b_kem_MON +7733 ={ + winter_severity_bias = 1.0 +} +# b_kemchug +7734 ={ + winter_severity_bias = 1.0 +} +# b_stolby +7735 ={ + winter_severity_bias = 1.0 +} +## c_mana +# b_mana_MON +7736 ={ + winter_severity_bias = 1.0 +} +# b_kyzyl-kan +7737 ={ + winter_severity_bias = 1.0 +} +## c_shishina +# b_shishina +7738 ={ + winter_severity_bias = 1.0 +} +# b_taseya +7739 ={ + winter_severity_bias = 1.0 +} +# b_nemkina +7740 ={ + winter_severity_bias = 1.0 +} +## c_kansk #Called fictional "Kankhot" in game +# b_kansk #Called fictional "Kankhot" in game +7742 ={ + winter_severity_bias = 1.0 +} +# b_biriusa +7741 ={ + winter_severity_bias = 1.0 +} +# b_khoidkhiliin +7743 ={ + winter_severity_bias = 1.0 +} +## c_tagul +# b_tagul +7744 ={ + winter_severity_bias = 1.0 +} +# b_agul +7745 ={ + winter_severity_bias = 1.0 +} +# b_narsgol +7746 ={ + winter_severity_bias = 1.0 +} +### d_chuna_valley +## c_chuna +# b_chuna +7748 ={ + winter_severity_bias = 1.0 +} +# b_moson_kholtos +7747 ={ + winter_severity_bias = 1.0 +} +# b_tsartsanmod +7749 ={ + winter_severity_bias = 1.0 +} +# b_biryusa +7750 ={ + winter_severity_bias = 1.0 +} +## c_bratsk #Called fictional "Bura" in game +# b_bratsk #Called fictional "Bura" in game +7753 ={ + winter_severity_bias = 1.0 +} +# b_khereeoi +7751 ={ + winter_severity_bias = 1.0 +} +# b_tsasengiin +7752 ={ + winter_severity_bias = 1.0 +} +# b_bugyntalbar +7754 ={ + winter_severity_bias = 1.0 +} +## c_tulun +# b_kaduy +7755 ={ + winter_severity_bias = 1.0 +} +# b_tulun +7756 ={ + winter_severity_bias = 1.0 +} +# b_kirei +7757 ={ + winter_severity_bias = 1.0 +} +### d_lena +## c_lena +# b_lena +7732 ={ + winter_severity_bias = 1.0 +} +# b_kutukan_ondort +7730 ={ + winter_severity_bias = 1.0 +} +# b_ichikta +7731 ={ + winter_severity_bias = 1.0 +} +## c_ilga +# b_ilim_MON +7772 ={ + winter_severity_bias = 1.0 +} +# b_ilga +7773 ={ + winter_severity_bias = 1.0 +} +# b_ivda +7774 ={ + winter_severity_bias = 1.0 +} +## c_gatsuurgazar +# b_gatsuurgazar +7770 ={ + winter_severity_bias = 1.0 +} +# b_kjoosonoi +7771 ={ + winter_severity_bias = 1.0 +} +### d_angara +## c_kitoi +# b_kitoi +7768 ={ + winter_severity_bias = 1.0 +} +# b_noty +7767 ={ + winter_severity_bias = 1.0 +} +# b_olkha +7769 ={ + winter_severity_bias = 1.0 +} +## c_kymyl_tey +# b_kymyl_tey +7759 ={ + winter_severity_bias = 1.0 +} +# b_angaragiin_degee +7758 ={ + winter_severity_bias = 1.0 +} +# b_zima_MON +7760 ={ + winter_severity_bias = 1.0 +} +## c_okangara +# b_okangara +7761 ={ + winter_severity_bias = 1.0 +} +# b_bisha_MON +7762 ={ + winter_severity_bias = 1.0 +} +# b_mori_kliringiin +7763 ={ + winter_severity_bias = 1.0 +} +## c_kada +# b_kada_MON +7764 ={ + winter_severity_bias = 1.0 +} +# b_alyaty +7765 ={ + winter_severity_bias = 1.0 +} +# b_kurkat +7766 ={ + winter_severity_bias = 1.0 +} + +##### e_tartaria +#### k_zhetysu +### d_zhetysu +## c_qayaliq +# b_qayaliq +7168 ={ + winter_severity_bias = 0.75 +} +# b_ichiwooq +7169 ={ + winter_severity_bias = 0.75 +} +# b_altyn-emel +7170 ={ + winter_severity_bias = 0.75 +} +## c_almaty +# b_almaty +7164 ={ + winter_severity_bias = 0.75 +} +# b_talgar +7165 ={ + winter_severity_bias = 0.75 +} +# b_kyzyl_suu +7166 ={ + winter_severity_bias = 0.85 +} +# b_kegen +7167 ={ + winter_severity_bias = 0.75 +} +## c_kopathal +# b_kopathal +7163 ={ + winter_severity_bias = 0.75 +} +# b_akzhar +7159 ={ + winter_severity_bias = 0.75 +} +# b_tamgaly +7160 ={ + winter_severity_bias = 0.75 +} +## c_kaskelen +# b_kaskelen +7162 ={ + winter_severity_bias = 0.85 +} +# b_chu +7158 ={ + winter_severity_bias = 0.75 +} +# b_kurdai +7161 ={ + winter_severity_bias = 0.75 +} +## c_aksuyek +# b_aksuyek +7157 ={ + winter_severity_bias = 0.75 +} +# b_shyganak +7155 ={ + winter_severity_bias = 0.75 +} +# b_mirnyy +7156 ={ + winter_severity_bias = 0.75 +} +## c_uchkul +# b_uchkul +7173 ={ + winter_severity_bias = 0.75 +} +# b_taldiqorgan +7171 ={ + winter_severity_bias = 0.75 +} +# b_kopal +7172 ={ + winter_severity_bias = 0.75 +} +# b_lyukum +7174 ={ + winter_severity_bias = 0.75 +} +### d_alakol = { +## c_chuguchak +# b_chuguchak +7181 ={ + winter_severity_bias = 0.75 +} +# b_cherga +7179 ={ + winter_severity_bias = 0.75 +} +# b_zatsan +7180 ={ + winter_severity_bias = 0.75 +} +## c_kokpekty +# b_kokpekty +7178 ={ + winter_severity_bias = 0.75 +} +# b_kokpektinsk +7176 ={ + winter_severity_bias = 0.75 +} +# b_bazarka +7177 ={ + winter_severity_bias = 0.75 +} +# b_urzhar +1427 ={ + winter_severity_bias = 0.75 +} +## c_guzkol +# b_guzkol +7183 ={ + winter_severity_bias = 0.75 +} +# b_djusagach +7175 ={ + winter_severity_bias = 0.75 +} +# b_ayagoz +7182 ={ + winter_severity_bias = 0.75 +} +## c_lepsink +# b_lepsink +7185 ={ + winter_severity_bias = 0.85 +} +# b_sarkand +1426 ={ + winter_severity_bias = 0.75 +} +# b_usharal +7184 ={ + winter_severity_bias = 0.75 +} +# b_bole +7186 ={ + winter_severity_bias = 0.85 +} +### d_tarbagatai +## c_emil +# b_emil +7187 ={ + winter_severity_bias = 0.85 +} +# b_sarychulsyn +7189 ={ + winter_severity_bias = 0.85 +} +# b_ala-kul +7188 ={ + winter_severity_bias = 0.85 +} +# b_modo-bartik +7193 ={ + winter_severity_bias = 0.85 +} +## c_jinsko +# b_jinsko +7197 ={ + winter_severity_bias = 0.75 +} +# b_ebi-nor +7194 ={ + winter_severity_bias = 0.85 +} +# b_kuytun +7195 ={ + winter_severity_bias = 0.75 +} +# b_dahyansi +7196 ={ + winter_severity_bias = 0.85 +} +# b_koltun +7198 ={ + winter_severity_bias = 0.75 +} +## c_karamay +# b_karamay +7192 ={ + winter_severity_bias = 0.85 +} +# b_baiyang +7190 ={ + winter_severity_bias = 0.85 +} +# b_toli +7191 ={ + winter_severity_bias = 0.85 +} +### d_ili-alatau = { +## c_iliq +# b_iliq +7199 ={ + winter_severity_bias = 0.75 +} +# b_almaliq +1425 ={ + winter_severity_bias = 0.75 +} +# b_junzi +7200 ={ + winter_severity_bias = 0.75 +} +# b_tekes +7201 ={ + winter_severity_bias = 0.75 +} +## c_ghulja +# b_ghulja +7202 ={ + winter_severity_bias = 0.75 +} +# b_iren-chabirga +7205 ={ + winter_severity_bias = 0.75 +} +# b_avrautau +7207 ={ + winter_severity_bias = 0.75 +} +## c_kash +# b_kash +7203 ={ + winter_severity_bias = 0.75 +} +# b_musari +7204 ={ + winter_severity_bias = 0.85 +} +# b_kunges +7206 ={ + winter_severity_bias = 0.75 +} + +#### k_kimek +### d_mugodzhar_hills +## c_mugodzhar_hills +# b_karabutak +7242 ={ + winter_severity_bias = 0.70 +} +# b_kum_sai +7243 ={ + winter_severity_bias = 0.70 +} +# b_chir_kala +7244 ={ + winter_severity_bias = 0.70 +} +# b_jity_kul +7245 ={ + winter_severity_bias = 0.70 +} +## c_jitikul +# b_jitikul +7251 ={ + winter_severity_bias = 0.70 +} +# b_dantenkul +7249 ={ + winter_severity_bias = 0.70 +} +# b_jarli_butak +7250 ={ + winter_severity_bias = 0.70 +} +# b_kosh_kurbay +7252 ={ + winter_severity_bias = 0.70 +} +## c_kos_uba +# b_kos_uba +7239 ={ + winter_severity_bias = 0.70 +} +# b_airyk +7240 ={ + winter_severity_bias = 0.70 +} +# b_kos_biryuk +7241 ={ + winter_severity_bias = 0.70 +} +### d_aqtobe +## c_aqtobe +# b_aqtobe +896 ={ + winter_severity_bias = 0.60 +} +# b_orskaya +5499 ={ + winter_severity_bias = 0.60 +} +# b_chalap_kerman +5500 ={ + winter_severity_bias = 0.60 +} +# b_chubar_KAZ +7220 ={ + winter_severity_bias = 0.60 +} +## c_orenburg #Or +# b_orenburg #Or +5501 ={ + winter_severity_bias = 0.60 +} +# b_iletsk +897 ={ + winter_severity_bias = 0.60 +} +# b_santas +7218 ={ + winter_severity_bias = 0.60 +} +# b_barbastau +7219 ={ + winter_severity_bias = 0.60 +} +## c_atamansku +# b_atamansku +7247 ={ + winter_severity_bias = 0.80 +} +# b_suvunduk +7246 ={ + winter_severity_bias = 0.80 +} +# b_kbumak +7248 ={ + winter_severity_bias = 0.80 +} +# b_zhitikara +1430 ={ + winter_severity_bias = 0.60 +} +### d_atyrau +## c_atyrau +# b_atyrau +618 ={ + winter_severity_bias = 0.40 +} +# b_taisugan +7222 ={ + winter_severity_bias = 0.40 +} +# b_hyan +7228 ={ + winter_severity_bias = 0.40 +} +# b_bakash-aul +7229 ={ + winter_severity_bias = 0.40 +} +## c_sagiz +# b_sagiz +7227 ={ + winter_severity_bias = 0.60 +} +# b_ulu-uil +7226 ={ + winter_severity_bias = 0.60 +} +# b_jarkul +7232 ={ + winter_severity_bias = 0.60 +} +# b_kainar +7230 ={ + winter_severity_bias = 0.60 +} +# b_zarapan +7231 ={ + winter_severity_bias = 0.60 +} +## c_manatau +# b_manatau +7221 ={ + winter_severity_bias = 0.60 +} +# b_kyz_imchik +7223 ={ + winter_severity_bias = 0.60 +} +# b_jaksybai +7224 ={ + winter_severity_bias = 0.60 +} +# b_isanbai +7225 ={ + winter_severity_bias = 0.60 +} +## c_baisary +# b_baisary +7238 ={ + winter_severity_bias = 0.60 +} +# b_sorkul +7236 ={ + winter_severity_bias = 0.60 +} +# b_tulugai_sor +7237 ={ + winter_severity_bias = 0.60 +} +## c_basagha +# b_basagha +7233 ={ + winter_severity_bias = 0.60 +} +# b_temir +7234 ={ + winter_severity_bias = 0.60 +} +# b_ak_su +7235 ={ + winter_severity_bias = 0.60 +} + +#### k_cuman +### d_turgay +## c_turgay +# b_turgay +1273 ={ + winter_severity_bias = 0.70 +} +# b_tusum_kum +7259 ={ + winter_severity_bias = 0.70 +} +# b_jaman_akkul +7260 ={ + winter_severity_bias = 0.70 +} +# b_chumkar_kia +7261 ={ + winter_severity_bias = 0.70 +} +## c_tumar +# b_tumar +7256 ={ + winter_severity_bias = 0.70 +} +# b_tibis_sor +7254 ={ + winter_severity_bias = 0.70 +} +# b_kyzyl_yar +7255 ={ + winter_severity_bias = 0.70 +} +## c_murun_tomis +# b_murun_tomis +7257 ={ + winter_severity_bias = 0.70 +} +# b_tatyr_kul +7258 ={ + winter_severity_bias = 0.70 +} +## c_jilali +# b_jilali +7263 ={ + winter_severity_bias = 0.70 +} +# b_janai_cheku +7262 ={ + winter_severity_bias = 0.70 +} +# b_achu +7267 ={ + winter_severity_bias = 0.70 +} +# b_kyzyl_cheku +7268 ={ + winter_severity_bias = 0.70 +} +## c_ulu_jitanjik +# b_ulu_jitanjik +7266 ={ + winter_severity_bias = 0.70 +} +# b_karalbak +7264 ={ + winter_severity_bias = 0.70 +} +# b_sor_kuduk +7265 ={ + winter_severity_bias = 0.70 +} +### d_kurgan +## c_kurgan +# b_kurgan +895 ={ + winter_severity_bias = 0.80 +} +# b_ukavskaya +5890 ={ + winter_severity_bias = 0.80 +} +# b_baklansky +5891 ={ + winter_severity_bias = 0.80 +} +## c_sabakyul +# b_sabakyul +5892 ={ + winter_severity_bias = 0.80 +} +# b_kostanay +5893 ={ + winter_severity_bias = 0.80 +} +# b_ore +5894 ={ + winter_severity_bias = 0.80 +} +# b_tobol_bis +5895 ={ + winter_severity_bias = 0.80 +} +### d_kush-murun +## c_petropavl +# b_petropavl +7035 ={ + winter_severity_bias = 0.70 +} +# b_uktuz +7019 ={ + winter_severity_bias = 0.70 +} +# b_mamlyutka +7021 ={ + winter_severity_bias = 0.70 +} +## c_kush-murun +# b_kush-murun +7025 ={ + winter_severity_bias = 0.70 +} +# b_skramlrak +7022 ={ + winter_severity_bias = 0.70 +} +# b_auliekol +7024 ={ + winter_severity_bias = 0.70 +} +# b_abugan +7356 ={ + winter_severity_bias = 0.70 +} +# b_kamichly_kul +7253 ={ + winter_severity_bias = 0.70 +} +## c_vargashi +# b_vargashi +7020 ={ + winter_severity_bias = 0.70 +} +# b_mostovskoye +7018 ={ + winter_severity_bias = 0.70 +} +# b_shchuchye +7058 ={ + winter_severity_bias = 0.70 +} +## c_karasu +# b_karasu +7026 ={ + winter_severity_bias = 0.70 +} +# b_kak +7023 ={ + winter_severity_bias = 0.70 +} +### d_saryarka +## c_teniz +# b_karu_samys +7042 ={ + winter_severity_bias = 0.60 +} +# b_chubar_kul +7277 ={ + winter_severity_bias = 0.60 +} +# b_kokjetau +7278 ={ + winter_severity_bias = 0.60 +} +# b_koja_kul +7280 ={ + winter_severity_bias = 0.60 +} +# b_nura +7281 ={ + winter_severity_bias = 0.60 +} +## c_eghiz_kara +# b_eghiz_kala +7282 ={ + winter_severity_bias = 0.60 +} +# b_terekti +1433 ={ + winter_severity_bias = 0.60 +} +# b_kara_sor +7283 ={ + winter_severity_bias = 0.60 +} +# b_konek +7284 ={ + winter_severity_bias = 0.60 +} +# b_jaksy_kyzy_kurt +7285 ={ + winter_severity_bias = 0.60 +} +## c_ulytau +# b_ulytau +7272 ={ + winter_severity_bias = 0.60 +} +# b_tuzdyn +7269 ={ + winter_severity_bias = 0.60 +} +# b_jilanjik +7270 ={ + winter_severity_bias = 0.60 +} +# b_tamdins +7271 ={ + winter_severity_bias = 0.60 +} +# b_jaman_arganaty +7276 ={ + winter_severity_bias = 0.60 +} +## c_kaska +# b_kaska +7274 ={ + winter_severity_bias = 0.60 +} +# b_ajutasty +7273 ={ + winter_severity_bias = 0.60 +} +# b_kaptadyr +7275 ={ + winter_severity_bias = 0.60 +} +# b_junkur_kul +7279 ={ + winter_severity_bias = 0.60 +} +### d_kazakh +## c_astana +# b_astana #Akmola +1435 ={ + winter_severity_bias = 0.70 +} +# b_astrakhanka +7040 ={ + winter_severity_bias = 0.70 +} +# b_erementau +7041 ={ + winter_severity_bias = 0.70 +} +# b_bulandy +7288 ={ + winter_severity_bias = 0.70 +} +# b_dombraly +7359 ={ + winter_severity_bias = 0.70 +} +## c_atbasar +# b_atbasar +7038 ={ + winter_severity_bias = 0.70 +} +# b_kafa +7036 ={ + winter_severity_bias = 0.70 +} +# b_kokchetav +7037 ={ + winter_severity_bias = 0.70 +} +# b_chargaldzin +7039 ={ + winter_severity_bias = 0.70 +} +# b_jangyztau +7357 ={ + winter_severity_bias = 0.70 +} +# b_burluk +7358 ={ + winter_severity_bias = 0.70 +} +## c_shchuchinsk +# b_shchuchinsk +7059 ={ + winter_severity_bias = 0.70 +} +# b_koksengrisor +7060 ={ + winter_severity_bias = 0.70 +} +# b_seletyteniz +7061 ={ + winter_severity_bias = 0.70 +} +## c_teke +# b_teke +7062 ={ + winter_severity_bias = 0.70 +} +# b_ertis +7063 ={ + winter_severity_bias = 0.70 +} +# b_karaoba +7064 ={ + winter_severity_bias = 0.70 +} + +#### k_kipchak +### d_semey +## c_semey +# b_semey +7346 ={ + winter_severity_bias = 0.70 +} +# b_uba_KAZ +7347 ={ + winter_severity_bias = 0.70 +} +# b_oskemen +7348 ={ + winter_severity_bias = 0.70 +} +# b_ridder +7349 ={ + winter_severity_bias = 0.70 +} +# b_bukhtarma +7350 ={ + winter_severity_bias = 0.70 +} +# b_zyryan +7351 ={ + winter_severity_bias = 0.70 +} +## c_jinghiz +# b_jinghiz +7332 ={ + winter_severity_bias = 0.70 +} +# b_aljan +7345 ={ + winter_severity_bias = 0.70 +} +# b_kandygatai +7343 ={ + winter_severity_bias = 0.70 +} +# b_altyn-kolekis +7344 ={ + winter_severity_bias = 0.70 +} +## c_degelen +# b_degelen +7333 ={ + winter_severity_bias = 0.70 +} +# b_dogolan +7319 ={ + winter_severity_bias = 0.70 +} +# b_ak-taylak +7334 ={ + winter_severity_bias = 0.70 +} +# b_mukhor +7335 ={ + winter_severity_bias = 0.70 +} +## c_arkat +# b_arkat +7338 ={ + winter_severity_bias = 0.70 +} +# b_urta_tau +7337 ={ + winter_severity_bias = 0.70 +} +# b_chulak-terek +7339 ={ + winter_severity_bias = 0.70 +} +# b_tekar +7355 ={ + winter_severity_bias = 0.70 +} +## c_kalbin +# b_kalbin +7342 ={ + winter_severity_bias = 0.70 +} +# b_ayrtau +7341 ={ + winter_severity_bias = 0.70 +} +# b_arkalyk_KAZe +7336 ={ + winter_severity_bias = 0.70 +} +# b_sasyk_kul +7340 ={ + winter_severity_bias = 0.70 +} +### d_kentarlau +## c_kulan_uynak +# b_bakanas +7327 ={ + winter_severity_bias = 0.70 +} +# b_serek +7328 ={ + winter_severity_bias = 0.70 +} +# b_akjeku +7329 ={ + winter_severity_bias = 0.70 +} +# b_tulkulam +7330 ={ + winter_severity_bias = 0.70 +} +# b_kyzyl_kusku +7331 ={ + winter_severity_bias = 0.70 +} +## c_jiren_suat +# b_jiren_suat +7324 ={ + winter_severity_bias = 0.70 +} +# b_kalmek-imel +7325 ={ + winter_severity_bias = 0.70 +} +# b_jorga +7326 ={ + winter_severity_bias = 0.70 +} +# b_kokchetau +7320 ={ + winter_severity_bias = 0.70 +} +## c_koi-bagar +# b_koy-bagar +7322 ={ + winter_severity_bias = 0.70 +} +# b_akcha-adyr +7323 ={ + winter_severity_bias = 0.70 +} +# b_jildi +7321 ={ + winter_severity_bias = 0.70 +} +### d_karkaraly +## c_karkaraly +# b_karkaraly +1434 ={ + winter_severity_bias = 0.70 +} +# b_bol_agach +7296 ={ + winter_severity_bias = 0.70 +} +# b_uch_katyn +7297 ={ + winter_severity_bias = 0.70 +} +# b_kent_KAZ +7307 ={ + winter_severity_bias = 0.70 +} +# b_edrei +7318 ={ + winter_severity_bias = 0.70 +} +## c_tokumbay +# b_tokumbay +7304 ={ + winter_severity_bias = 0.70 +} +# b_mautan_tas +7303 ={ + winter_severity_bias = 0.70 +} +# b_arkalyk +7300 ={ + winter_severity_bias = 0.70 +} +# b_bugaly +7301 ={ + winter_severity_bias = 0.70 +} +## c_nurtay +# b_nurtay +7305 ={ + winter_severity_bias = 0.70 +} +# b_kyzyl_ray +7306 ={ + winter_severity_bias = 0.70 +} +# b_kara_urunkay +7317 ={ + winter_severity_bias = 0.70 +} +### d_karabas +## c_karabas +# b_karabas +7299 ={ + winter_severity_bias = 0.70 +} +# b_sokur +7298 ={ + winter_severity_bias = 0.70 +} +# b_altyn_su +7302 ={ + winter_severity_bias = 0.70 +} +## c_jasky_kart +# b_jasky_kart +7290 ={ + winter_severity_bias = 0.70 +} +# b_ak_tasty +7289 ={ + winter_severity_bias = 0.70 +} +# b_juzbay +7291 ={ + winter_severity_bias = 0.70 +} +# b_ku_jeku +7294 ={ + winter_severity_bias = 0.70 +} +## c_uliuty +# b_uliuty +7293 ={ + winter_severity_bias = 0.70 +} +# b_ulenty +7292 ={ + winter_severity_bias = 0.70 +} +# b_bayan_aulska +7295 ={ + winter_severity_bias = 0.70 +} +### d_betpa +## c_betpa +# b_betpa +7310 ={ + winter_severity_bias = 0.70 +} +# b_bos-tau +7308 ={ + winter_severity_bias = 0.70 +} +# b_tokobay +7309 ={ + winter_severity_bias = 0.70 +} +# b_manaka +7311 ={ + winter_severity_bias = 0.70 +} +# b_kuntun_kul +7312 ={ + winter_severity_bias = 0.70 +} +## c_targyl +# b_targyl +7316 ={ + winter_severity_bias = 0.70 +} +# b_asaybay +7313 ={ + winter_severity_bias = 0.70 +} +# b_bulat +7314 ={ + winter_severity_bias = 0.70 +} +# b_baykara +7315 ={ + winter_severity_bias = 0.70 +} +## c_kulan_utmas +# b_kulan_utmas +7287 ={ + winter_severity_bias = 0.70 +} +# b_sopak_sor +7286 ={ + winter_severity_bias = 0.70 +} + +#### k_dzungaria +### d_kara_khoja +## c_kara_khoja +# b_kara_khoja +1446 ={ + winter_severity_bias = 0.85 +} +# b_yarkhoto +7455 ={ + winter_severity_bias = 0.85 +} +# b_turpan +7456 ={ + winter_severity_bias = 0.85 +} +# b_yidu +7457 ={ + winter_severity_bias = 0.85 +} +## c_beshbalik +# b_beshbalik +7459 ={ + winter_severity_bias = 0.85 +} +# b_fukang +7460 ={ + winter_severity_bias = 0.85 +} +# b_cheshi +7461 ={ + winter_severity_bias = 0.85 +} +# b_jimsar +7462 ={ + winter_severity_bias = 0.85 +} +# b_beilu +7463 ={ + winter_severity_bias = 0.85 +} +# b_pilu +7464 ={ + winter_severity_bias = 0.85 +} +## c_yangjibaliq +# b_yangjibalik +7465 ={ + winter_severity_bias = 0.85 +} +# b_bugur +1449 ={ + winter_severity_bias = 0.85 +} +# b_manas +7466 ={ + winter_severity_bias = 0.85 +} +# b_wutanzili +7467 ={ + winter_severity_bias = 0.85 +} +# b_wusu +7468 ={ + winter_severity_bias = 0.85 +} +## c_barkul +# b_barkul +7469 ={ + winter_severity_bias = 0.85 +} +# b_liaotun +7470 ={ + winter_severity_bias = 0.85 +} +# b_pulei +7471 ={ + winter_severity_bias = 0.85 +} +# b_yizhi +7472 ={ + winter_severity_bias = 0.85 +} +## c_chamil +# b_hami +7458 ={ + winter_severity_bias = 0.85 +} +# b_minggam +9617 ={ + winter_severity_bias = 0.85 +} +# b_chalamtum +9618 ={ + winter_severity_bias = 0.85 +} +# b_urtu_bulak +9619 ={ + winter_severity_bias = 0.85 +} +# b_burgasutai +9620 ={ + winter_severity_bias = 0.85 +} +### d_altay +## c_altay +# b_altay +1451 ={ + winter_severity_bias = 1.0 +} +# b_kulris +7473 ={ + winter_severity_bias = 1.0 +} +# b_kran_DZU +7474 ={ + winter_severity_bias = 0.85 +} +# b_talta +7475 ={ + winter_severity_bias = 1.0 +} +# b_irmengtau +7476 ={ + winter_severity_bias = 1.0 +} +# b_burqin +7477 ={ + winter_severity_bias = 0.85 +} +## c_qinggil +# b_qinggil +7478 ={ + winter_severity_bias = 1.0 +} +# b_chungul +7479 ={ + winter_severity_bias = 1.0 +} +# b_zagan-gol +7480 ={ + winter_severity_bias = 0.85 +} +# b_tengerge +7481 ={ + winter_severity_bias = 0.85 +} +# b_borultokay +7482 ={ + winter_severity_bias = 0.85 +} +#han = "Fuhai" +## c_agairik +# b_agairik +7483 ={ + winter_severity_bias = 1.0 +} +# b_bostal +7484 ={ + winter_severity_bias = 0.85 +} +# b_belesek +7485 ={ + winter_severity_bias = 0.85 +} +## c_narym_DZU +# b_narym_DZU +7486 ={ + winter_severity_bias = 1.0 +} +# b_kurchum +7487 ={ + winter_severity_bias = 1.0 +} +# b_kurguni +7488 ={ + winter_severity_bias = 1.0 +} +## c_torangy_kul +# b_torangy_kul +7489 ={ + winter_severity_bias = 0.85 +} +# b_chaklym +7490 ={ + winter_severity_bias = 0.85 +} +# b_sarytau +7491 ={ + winter_severity_bias = 1.0 +} +### d_gurbantunggut +## c_hoboksar +# b_hoboksar +7492 ={ + winter_severity_bias = 0.85 +} +# b_tiebuken +7493 ={ + winter_severity_bias = 0.95 +} +# b_jeminay +7494 ={ + winter_severity_bias = 0.85 +} +# b_kaerji +7495 ={ + winter_severity_bias = 0.85 +} +## c_ulan_chuzir +# b_ulan_chuzir +7496 ={ + winter_severity_bias = 0.85 +} +# b_bulun-tok +7497 ={ + winter_severity_bias = 0.85 +} +# b_olon-bulak +7498 ={ + winter_severity_bias = 0.85 +} +## c_jie_DZU +# b_jie_DZU +7499 ={ + winter_severity_bias = 0.85 +} +# b_sulugu +7500 ={ + winter_severity_bias = 0.85 +} +# b_cheko +7501 ={ + winter_severity_bias = 0.85 +} +### d_naiman_gobi +## c_balgun +# b_balgun +7502 ={ + winter_severity_bias = 1.0 +} +# b_sugi +7503 ={ + winter_severity_bias = 0.85 +} +# b_kabtag +7504 ={ + winter_severity_bias = 0.85 +} +# b_chumy-su +7505 ={ + winter_severity_bias = 1.0 +} +## c_kara_asirgan +# b_kara-asirgan +7506 ={ + winter_severity_bias = 0.85 +} +# b_morin_tolochai +7507 ={ + winter_severity_bias = 0.85 +} +# b_tegurik +7508 ={ + winter_severity_bias = 0.85 +} +## c_boro_burgasu +# b_boro_burgasu +7509 ={ + winter_severity_bias = 0.85 +} +# b_suchatu +7510 ={ + winter_severity_bias = 0.85 +} +# b_alak-nor +7511 ={ + winter_severity_bias = 0.85 +} + +##### e_turan +#### k_khotan +### d_khotan +## c_khotan +# b_khotan +1440 ={ + winter_severity_bias = 0.60 +} +# b_lafak +9607 ={ + winter_severity_bias = 0.60 +} +# b_dondan_oilik +9608 ={ + winter_severity_bias = 0.60 +} +# b_bugaiwilik +9609 ={ + winter_severity_bias = 0.60 +} +# b_laodamogou +9610 ={ + winter_severity_bias = 0.60 +} +# b_mahas +9611 ={ + winter_severity_bias = 0.60 +} +# b_domoko +9612 ={ + winter_severity_bias = 0.60 +} +## c_karghalik +# b_karghalik +9616 ={ + winter_severity_bias = 0.60 +} +# b_yuetgan +9613 ={ + winter_severity_bias = 0.60 +} +# b_guma +9614 ={ + winter_severity_bias = 0.60 +} +# b_kehan +9615 ={ + winter_severity_bias = 0.60 +} +## c_keriya +# b_keriya +9606 ={ + winter_severity_bias = 0.60 +} +# b_andir +9604 ={ + winter_severity_bias = 0.60 +} +# b_niya +9605 ={ + winter_severity_bias = 0.60 +} +## c_cherchen +# b_cherchen +1441 ={ + winter_severity_bias = 0.60 +} +# b_saca +9602 ={ + winter_severity_bias = 0.60 +} +# b_endere +9603 ={ + winter_severity_bias = 0.60 +} +### d_kashgar +## c_kashgar +# b_kashgar +1439 ={ + winter_severity_bias = 0.60 +} +# b_yopurga +7960 ={ + winter_severity_bias = 0.60 +} +# b_yengi_xahar +7961 ={ + winter_severity_bias = 0.60 +} +# b_kona_xahar +7962 ={ + winter_severity_bias = 0.60 +} +# b_atus +7968 ={ + winter_severity_bias = 0.60 +} +# b_maralbeshi +7969 ={ + winter_severity_bias = 0.60 +} +## c_terek_pass +# b_terek +7967 ={ + winter_severity_bias = 0.60 +} +# b_ulugqat +7966 ={ + winter_severity_bias = 0.90 +} +## c_aksu +# b_aksu_mongolia +1445 ={ + winter_severity_bias = 0.60 +} +# b_barchuk +7970 ={ + winter_severity_bias = 0.60 +} +# b_tumshuk +7971 ={ + winter_severity_bias = 0.60 +} +# b_uch_TARIM +7972 ={ + winter_severity_bias = 0.60 +} +# b_stwerap +7973 ={ + winter_severity_bias = 0.60 +} +## c_yarkand +# b_yarkand +1438 ={ + winter_severity_bias = 0.60 +} +# b_yengisar +7958 ={ + winter_severity_bias = 0.60 +} +# b_makit +7959 ={ + winter_severity_bias = 0.60 +} +# b_akto +7963 ={ + winter_severity_bias = 0.60 +} +### d_karashar +## c_karashar +# b_karashar +1443 ={ + winter_severity_bias = 0.60 +} +# b_bosten +7983 ={ + winter_severity_bias = 0.60 +} +# b_narinkira +7984 ={ + winter_severity_bias = 0.60 +} +# b_korla +7988 ={ + winter_severity_bias = 0.60 +} +# b_kongque +7989 ={ + winter_severity_bias = 0.60 +} +## c_kucha +# b_kucha +1444 ={ + winter_severity_bias = 0.60 +} +# b_jigdalik +7974 ={ + winter_severity_bias = 0.60 +} +# b_duldulokur +7975 ={ + winter_severity_bias = 0.60 +} +# b_toksu +7976 ={ + winter_severity_bias = 0.60 +} +# b_shayar +7977 ={ + winter_severity_bias = 0.60 +} +## c_luntai +# b_luntai +7980 ={ + winter_severity_bias = 0.60 +} +# b_bugur_TARIM +7978 ={ + winter_severity_bias = 0.60 +} +# b_subashi +7979 ={ + winter_severity_bias = 0.60 +} +# b_shorchuk +7981 ={ + winter_severity_bias = 0.60 +} +# b_nasi_erkule +7982 ={ + winter_severity_bias = 0.60 +} +## c_toksun +# b_toksun +7985 ={ + winter_severity_bias = 0.60 +} +# b_bezeklik +7986 ={ + winter_severity_bias = 0.60 +} +# b_sengim +7987 ={ + winter_severity_bias = 0.60 +} +### d_charkliq +## c_charkliq +# b_charkliq +1442 ={ + winter_severity_bias = 0.60 +} +# b_bashkoyumal +9600 ={ + winter_severity_bias = 0.60 +} +# b_waxxari +9601 ={ + winter_severity_bias = 0.60 +} +## c_loulan +# b_loulan +1447 ={ + winter_severity_bias = 0.60 +} +# b_tikenik +7991 ={ + winter_severity_bias = 0.60 +} +# b_argan +7992 ={ + winter_severity_bias = 0.60 +} +# b_chelik +7993 ={ + winter_severity_bias = 0.60 +} +## c_dunhuang #in game as Miran +# b_miran +7999 ={ + winter_severity_bias = 0.60 +} +# b_dunhuang #Dunhuang +1448 ={ + winter_severity_bias = 0.60 +} +# b_nanhu_TARIM +7997 ={ + winter_severity_bias = 0.60 +} +# b_omotrunnaisse +7998 ={ + winter_severity_bias = 0.60 +} +## c_kumtag +# b_kumtag +7994 ={ + winter_severity_bias = 0.60 +} +# b_turin_TARIM +7990 ={ + winter_severity_bias = 0.60 +} +# b_shule_river +7995 ={ + winter_severity_bias = 0.60 +} +# b_dafang +7996 ={ + winter_severity_bias = 0.60 +} + +#### k_oghuz_il +### d_transcaspiana +## c_mangyshlak +# b_aktau +624 ={ + winter_severity_bias = 0.40 +} +# b_kajdak +7078 ={ + winter_severity_bias = 0.40 +} +# b_koizak +7079 ={ + winter_severity_bias = 0.40 +} +# b_karasye +7080 ={ + winter_severity_bias = 0.40 +} +# b_fort_aleksandrovkiy +7081 ={ + winter_severity_bias = 0.40 +} +# b_porsu-burun +7083 ={ + winter_severity_bias = 0.40 +} +## c_garabogazkol +# b_kyzyl-su +627 ={ + winter_severity_bias = 0.20 +} +# b_yangadzha +631 ={ + winter_severity_bias = 0.20 +} +# b_bekdas +7085 ={ + winter_severity_bias = 0.20 +} +# b_sumbe +7086 ={ + winter_severity_bias = 0.20 +} +# b_kum-sebszen +7087 ={ + winter_severity_bias = 0.20 +} +# b_oglamych +7088 ={ + winter_severity_bias = 0.20 +} +## c_ustyurt +# b_bailjar +625 ={ + winter_severity_bias = 0.40 +} +# b_fort_novoaleksandrovkiy +7077 ={ + winter_severity_bias = 0.40 +} +# b_busaga +7082 ={ + winter_severity_bias = 0.40 +} +# b_sai-kule +7084 ={ + winter_severity_bias = 0.40 +} +### d_jemba +## c_qoshagyl +# b_qoshagyl +7065 ={ + winter_severity_bias = 0.40 +} +# b_azgyl +7066 ={ + winter_severity_bias = 0.40 +} +# b_kumstan +7072 ={ + winter_severity_bias = 0.40 +} +# b_tengiz +7073 ={ + winter_severity_bias = 0.40 +} +# b_beyneu +7074 ={ + winter_severity_bias = 0.40 +} +## c_akkityk +# b_akkityk +621 ={ + winter_severity_bias = 0.40 +} +# b_kashkarata +7093 ={ + winter_severity_bias = 0.40 +} +# b_issenjau +7067 ={ + winter_severity_bias = 0.40 +} +# b_namastau +7068 ={ + winter_severity_bias = 0.40 +} +# b_asheh-atrik +7069 ={ + winter_severity_bias = 0.40 +} +## c_kos-buwak +# b_kos-buwak +7070 ={ + winter_severity_bias = 0.40 +} +# b_chumishtikul +7071 ={ + winter_severity_bias = 0.40 +} +# b_sam +7075 ={ + winter_severity_bias = 0.40 +} +# b_churuk +7076 ={ + winter_severity_bias = 0.40 +} +### d_aral_il #fictional name for "land of Aral" +## c_yangikent +# b_yangikent +900 ={ + winter_severity_bias = 0.40 +} +# b_kazalinsk +7110 ={ + winter_severity_bias = 0.40 +} +# b_buzai +7114 ={ + winter_severity_bias = 0.40 +} +# b_koskul +7115 ={ + winter_severity_bias = 0.40 +} +## c_raimskoe +# b_raimskoe +7111 ={ + winter_severity_bias = 0.40 +} +# b_dzangent +7109 ={ + winter_severity_bias = 0.40 +} +# b_tailyak-kul +7108 ={ + winter_severity_bias = 0.40 +} +# b_kara-mugai +7112 ={ + winter_severity_bias = 0.40 +} +## c_ak-dzulpas +# b_ak-dzulpas +622 ={ + winter_severity_bias = 0.40 +} +# b_agypse +7097 ={ + winter_severity_bias = 0.40 +} +# b_zhelanash +7102 ={ + winter_severity_bias = 0.40 +} +## c_aralkizil #fictional name for "West Aral" +# b_kassarma +623 ={ + winter_severity_bias = 0.40 +} +# b_kulandy +7091 ={ + winter_severity_bias = 0.40 +} +# b_kugaral +7092 ={ + winter_severity_bias = 0.40 +} +# b_davlet-girei +7090 ={ + winter_severity_bias = 0.40 +} +### d_barsuki = { +## c_terekli +# b_terekli +7103 ={ + winter_severity_bias = 0.70 +} +# b_airyuk +7099 ={ + winter_severity_bias = 0.70 +} +# b_irgis +7100 ={ + winter_severity_bias = 0.70 +} +# b_jelavi +7101 ={ + winter_severity_bias = 0.70 +} +## c_barsuki +# b_barsuki +7096 ={ + winter_severity_bias = 0.70 +} +# b_jamantau +7094 ={ + winter_severity_bias = 0.70 +} +# b_emba +7095 ={ + winter_severity_bias = 0.70 +} +# b_chushka-kol +7098 ={ + winter_severity_bias = 0.70 +} +## c_aral_karakum +# b_kalmas +7104 ={ + winter_severity_bias = 0.70 +} +# b_chalkar +7105 ={ + winter_severity_bias = 0.70 +} +# b_chubar +7106 ={ + winter_severity_bias = 0.70 +} +# b_arys-kum +7107 ={ + winter_severity_bias = 0.70 +} + +#### k_syr_darya +### d_syr_darya +## c_jend +# b_jend +901 ={ + winter_severity_bias = 0.50 +} +# b_uzun-kul +7113 ={ + winter_severity_bias = 0.50 +} +# b_beljan +7116 ={ + winter_severity_bias = 0.50 +} +# b_azez-kul +7117 ={ + winter_severity_bias = 0.50 +} +## c_sighnaq +# b_sighnaq +7123 ={ + winter_severity_bias = 0.50 +} +# b_aq-masjid +7119 ={ + winter_severity_bias = 0.50 +} +# b_tashti +7120 ={ + winter_severity_bias = 0.50 +} +# b_suzak +7122 ={ + winter_severity_bias = 0.50 +} +## c_uzgend_KARA +# b_uzgend_KARA +7125 ={ + winter_severity_bias = 0.50 +} +# b_telegul +7118 ={ + winter_severity_bias = 0.50 +} +# b_oktyabr +7124 ={ + winter_severity_bias = 0.50 +} +### d_chah +## c_chah +# b_chah +1186 ={ + winter_severity_bias = 0.20 +} +# b_sayram +7135 ={ + winter_severity_bias = 0.30 +} +# b_chimkent +7136 ={ + winter_severity_bias = 0.30 +} +# b_nuket +7137 ={ + winter_severity_bias = 0.30 +} +# b_isfijab +7138 ={ + winter_severity_bias = 0.30 +} +## c_otrar +# b_otrar +1431 ={ + winter_severity_bias = 0.30 +} +# b_chakpak +7139 ={ + winter_severity_bias = 0.60 +} +# b_awliya-ata +7140 ={ + winter_severity_bias = 0.60 +} +## c_shavgar +# b_shavgar +7129 ={ + winter_severity_bias = 0.40 +} +# b_sawran +7126 ={ + winter_severity_bias = 0.40 +} +# b_shulak +7127 ={ + winter_severity_bias = 0.60 +} +# b_yasi +7128 ={ + winter_severity_bias = 0.60 +} +## c_sutkend +# b_sutkend +1181 ={ + winter_severity_bias = 0.30 +} +# b_akkum +7134 ={ + winter_severity_bias = 0.20 +} +# b_sary-ozek +7130 ={ + winter_severity_bias = 0.30 +} +### d_muyunkum = { +## c_balashagun +# b_balasaghun +7154 ={ + winter_severity_bias = 0.60 +} +# b_narin +7152 ={ + winter_severity_bias = 0.70 +} +# b_barskhan +7153 ={ + winter_severity_bias = 0.70 +} +# b_pishkek +7147 ={ + winter_severity_bias = 0.60 +} +## c_suyab +# b_suyab +1424 ={ + winter_severity_bias = 0.60 +} +# b_nevaket +7144 ={ + winter_severity_bias = 0.60 +} +# b_ashpara +7145 ={ + winter_severity_bias = 0.60 +} +## c_taraz +# b_taraz +7141 ={ + winter_severity_bias = 0.60 +} +# b_merke +7146 ={ + winter_severity_bias = 0.60 +} +# b_sayaq +7148 ={ + winter_severity_bias = 0.60 +} +## c_shelji +# b_shelji +7142 ={ + winter_severity_bias = 0.60 +} +# b_symbyl +1432 ={ + winter_severity_bias = 0.75 +} +# b_itte-kichu +7143 ={ + winter_severity_bias = 0.75 +} +## c_quriltay +# b_quriltay +7133 ={ + winter_severity_bias = 0.75 +} +# b_mushun +7121 ={ + winter_severity_bias = 0.50 +} +# b_karakul +7131 ={ + winter_severity_bias = 0.60 +} +# b_talas +7132 ={ + winter_severity_bias = 0.70 +} +## c_cherik +# b_cherik +7151 ={ + winter_severity_bias = 0.70 +} +# b_tinimseyit +7149 ={ + winter_severity_bias = 0.70 +} +# b_bagish +7150 ={ + winter_severity_bias = 0.70 +} + +#### k_transoxiana +### d_soghd +## c_bukhara +# b_bukhara +4394 ={ + winter_severity_bias = 0.0 +} +# b_varakhsha +4395 ={ + winter_severity_bias = 0.0 +} +# b_ramitan +4396 ={ + winter_severity_bias = 0.0 +} +# b_ghujduvan +4397 ={ + winter_severity_bias = 0.0 +} +# b_tavavis +4398 ={ + winter_severity_bias = 0.0 +} +## c_kishsh +# b_kishsh +4388 ={ + winter_severity_bias = 0.0 +} +4384 ={ + winter_severity_bias = 0.50 +} +# b_kandak +4385 ={ + winter_severity_bias = 0.70 +} +# b_al_musala +4387 ={ + winter_severity_bias = 0.0 +} +# b_subakh +4386 ={ + winter_severity_bias = 0.0 +} +# b_akhsisak +4248 ={ + winter_severity_bias = 0.0 +} +## c_nakhshab +# b_nakhshab +4390 ={ + winter_severity_bias = 0.0 +} +# b_nawqad_qureish +4389 ={ + winter_severity_bias = 0.0 +} +# b_ribat_malik +4391 ={ + winter_severity_bias = 0.0 +} +# b_bezda +4392 ={ + winter_severity_bias = 0.0 +} +## c_firabr #should probably be called Paykend (c_paykend) +# b_paykend +4393 ={ + winter_severity_bias = 0.0 +} +# b_firabr +4242 ={ + winter_severity_bias = 0.0 +} +# b_barzam +4243 ={ + winter_severity_bias = 0.0 +} +# b_nevida +4244 ={ + winter_severity_bias = 0.0 +} +## c_dabusiya +# b_dabusiya +4402 ={ + winter_severity_bias = 0.0 +} +# b_kushaniya +4399 ={ + winter_severity_bias = 0.0 +} +# b_noor_bukhara +4400 ={ + winter_severity_bias = 0.0 +} +# b_kerminiya +4401 ={ + winter_severity_bias = 0.0 +} +## c_samarkand +# b_samarkand +4404 ={ + winter_severity_bias = 0.0 +} +# b_arbinjan +4403 ={ + winter_severity_bias = 0.0 +} +# b_ishtikhan +4405 ={ + winter_severity_bias = 0.0 +} +# b_qatwan +4406 ={ + winter_severity_bias = 0.0 +} +# b_wadhar +4407 ={ + winter_severity_bias = 0.0 +} +### d_badakhshan +## c_badakhshan +# b_badakhshan +4355 ={ + winter_severity_bias = 0.90 +} +# b_rustaq +4353 ={ + winter_severity_bias = 0.90 +} +# b_kishm +4354 ={ + winter_severity_bias = 0.90 +} +# b_jerm +4356 ={ + winter_severity_bias = 0.90 +} +## c_munjan +# b_munjan +4357 ={ + winter_severity_bias = 0.90 +} +# b_sanglich +4358 ={ + winter_severity_bias = 0.90 +} +# b_zaybak +4359 ={ + winter_severity_bias = 0.90 +} +## c_wakhan +# b_wakhan +4362 ={ + winter_severity_bias = 0.90 +} +# b_ishkamish +4360 ={ + winter_severity_bias = 0.90 +} +# b_dar-i-tubbat +4361 ={ + winter_severity_bias = 1.0 +} +## c_shughnan +# b_shughnan +4363 ={ + winter_severity_bias = 0.90 +} +# b_alichur +4364 ={ + winter_severity_bias = 1.0 +} +# b_murghab +4365 ={ + winter_severity_bias = 0.90 +} +# b_muji +7964 ={ + winter_severity_bias = 0.90 +} +# b_badakhshan_TARIM +7965 ={ + winter_severity_bias = 0.90 +} +## c_karran +# b_upper_karran +4366 ={ + winter_severity_bias = 0.90 +} +# b_lower_karran +4367 ={ + winter_severity_bias = 0.90 +} +### d_khuttal +## c_khuttal +# b_pargar +4378 ={ + winter_severity_bias = 0.50 +} +# b_hulbuk +4379 ={ + winter_severity_bias = 0.50 +} +# b_munk +4380 ={ + winter_severity_bias = 0.50 +} +## c_wakhsh +# b_halavand +4376 ={ + winter_severity_bias = 0.0 +} +# b_awzaj +4374 ={ + winter_severity_bias = 0.0 +} +# b_qobadiyan +4375 ={ + winter_severity_bias = 0.0 +} +# b_livkand +4377 ={ + winter_severity_bias = 0.0 +} +## c_chaghaniyan +# b_chaghaniyan +4369 ={ + winter_severity_bias = 0.0 +} +# b_termez +4368 ={ + winter_severity_bias = 0.0 +} +# b_rigar +4370 ={ + winter_severity_bias = 0.70 +} +# b_darzanji +4371 ={ + winter_severity_bias = 0.0 +} +# b_basand +4372 ={ + winter_severity_bias = 0.0 +} +# b_charmanjan +4373 ={ + winter_severity_bias = 0.0 +} +## c_rasht +# b_rasht +4383 ={ + winter_severity_bias = 0.70 +} +# b_shuman +4381 ={ + winter_severity_bias = 0.70 +} +# b_vashjird +4382 ={ + winter_severity_bias = 0.70 +} +### d_osrushana +## c_oshrusana +# b_bunjiket +4414 ={ + winter_severity_bias = 0.0 +} +# b_bottaman +4411 ={ + winter_severity_bias = 0.0 +} +# b_dizak +4412 ={ + winter_severity_bias = 0.0 +} +# b_zamin +4413 ={ + winter_severity_bias = 0.0 +} +# b_khawas +4417 ={ + winter_severity_bias = 0.0 +} +# b_kurkath +4416 ={ + winter_severity_bias = 0.0 +} +## c_zarafshan +# b_panjikand +4409 ={ + winter_severity_bias = 0.70 +} +# b_barkat +4408 ={ + winter_severity_bias = 0.0 +} +# b_varaghshar +4410 ={ + winter_severity_bias = 0.0 +} +### d_ferghana +## c_ferghana +# b_akhsikath +4438 ={ + winter_severity_bias = 0.40 +} +# b_miyan-rudan +4433 ={ + winter_severity_bias = 0.60 +} +# b_khaylam +4434 ={ + winter_severity_bias = 0.40 +} +# b_najm +4435 ={ + winter_severity_bias = 0.40 +} +# b_ardalankath +4436 ={ + winter_severity_bias = 0.60 +} +# b_kasan +4437 ={ + winter_severity_bias = 0.40 +} +## c_khojand +# b_khojand +4418 ={ + winter_severity_bias = 0.40 +} +# b_kend-i-badam +4419 ={ + winter_severity_bias = 0.40 +} +# b_asht +4420 ={ + winter_severity_bias = 0.40 +} +# b_wankath +4421 ={ + winter_severity_bias = 0.40 +} +# b_afrasiyab +903 ={ + winter_severity_bias = 0.40 +} +## c_isfara +# b_varukh +4422 ={ + winter_severity_bias = 0.70 +} +# b_isfara +4423 ={ + winter_severity_bias = 0.40 +} +# b_sukh +4424 ={ + winter_severity_bias = 0.40 +} +# b_hoshyar +4425 ={ + winter_severity_bias = 0.40 +} +# b_aval +4426 ={ + winter_severity_bias = 0.40 +} +## c_nasaiya +# b_andijan +4429 ={ + winter_severity_bias = 0.30 +} +# b_quba +4427 ={ + winter_severity_bias = 0.30 +} +# b_khokand +4428 ={ + winter_severity_bias = 0.30 +} +# b_osh +4430 ={ + winter_severity_bias = 0.30 +} +# b_naqad +4431 ={ + winter_severity_bias = 0.60 +} +# b_uzgend +4432 ={ + winter_severity_bias = 0.60 +} +# b_marghinan +4439 ={ + winter_severity_bias = 0.30 +} +## c_nasrabad +# b_nasrabad +1423 ={ + winter_severity_bias = 0.70 +} +# b_arslanbob +7216 ={ + winter_severity_bias = 0.70 +} +# b_sarybulak +7217 ={ + winter_severity_bias = 0.70 +} +### d_khorezm +## c_gurganj +# b_gurganj +4456 ={ + winter_severity_bias = 0.40 +} +# b_nazvar +4454 ={ + winter_severity_bias = 0.40 +} +# b_zamakhshar +4455 ={ + winter_severity_bias = 0.40 +} +# b_jith +4457 ={ + winter_severity_bias = 0.40 +} +# b_madminiya +4458 ={ + winter_severity_bias = 0.40 +} +# b_urgench +1378 ={ + winter_severity_bias = 0.40 +} +# b_vezir +7089 ={ + winter_severity_bias = 0.40 +} +## c_darghan +# b_darghan +4441 ={ + winter_severity_bias = 0.0 +} +# b_tahiriya +4440 ={ + winter_severity_bias = 0.0 +} +# b_jigirbend +4442 ={ + winter_severity_bias = 0.0 +} +# b_sadvar +4443 ={ + winter_severity_bias = 0.0 +} +## c_kath +# b_kath +4448 ={ + winter_severity_bias = 0.20 +} +# b_nukfagh +4444 ={ + winter_severity_bias = 0.20 +} +# b_ardakhivah +4445 ={ + winter_severity_bias = 0.20 +} +# b_wayikhan +4446 ={ + winter_severity_bias = 0.20 +} +# b_ghardaman +4447 ={ + winter_severity_bias = 0.20 +} +## c_khiva +# b_khiva +4452 ={ + winter_severity_bias = 0.20 +} +# b_rakhushmitan +4449 ={ + winter_severity_bias = 0.20 +} +# b_hazarasp +4450 ={ + winter_severity_bias = 0.20 +} +# b_karduran-khas +4451 ={ + winter_severity_bias = 0.20 +} +# b_ruzvand +4453 ={ + winter_severity_bias = 0.20 +} +## c_kurdar +# b_kurdar +4460 ={ + winter_severity_bias = 0.40 +} +# b_baratigin +4459 ={ + winter_severity_bias = 0.40 +} +# b_mizdahqan +4461 ={ + winter_severity_bias = 0.40 +} +# b_north_kurdar +4462 ={ + winter_severity_bias = 0.40 +} +### d_uzboy +## c_sarykamysh +# b_kurtysh +4528 ={ + winter_severity_bias = 0.20 +} +# b_sarykamysh +4524 ={ + winter_severity_bias = 0.20 +} +# b_ortakuyu +4525 ={ + winter_severity_bias = 0.20 +} +# b_kugunek +4526 ={ + winter_severity_bias = 0.20 +} +# b_bala_iskem +4527 ={ + winter_severity_bias = 0.20 +} +# b_igdy +4529 ={ + winter_severity_bias = 0.20 +} +## c_uzboy +# b_burgun +4530 ={ + winter_severity_bias = 0.20 +} +# b_cheleken +4415 ={ + winter_severity_bias = 0.20 +} +# b_dekcha +4531 ={ + winter_severity_bias = 0.20 +} +# b_yashkan +4532 ={ + winter_severity_bias = 0.20 +} +# b_nebit_dag +4533 ={ + winter_severity_bias = 0.20 +} + +##### e_persia +#### k_persia +### d_isfahan +## c_isfahan +# b_isfahan +4106 ={ + winter_severity_bias = 0.0 +} +# b_julfa +4105 ={ + winter_severity_bias = 0.0 +} +# b_gulpaygan +4107 ={ + winter_severity_bias = 0.0 +} +# b_wazwan +4108 ={ + winter_severity_bias = 0.0 +} +## c_ardestan +# b_qashan +4047 ={ + winter_severity_bias = 0.0 +} +# b_natanz +4048 ={ + winter_severity_bias = 0.0 +} +# b_ardistan +4049 ={ + winter_severity_bias = 0.0 +} +# b_uzwara +4050 ={ + winter_severity_bias = 0.0 +} +## c_qumisha +# b_qumisha +4103 ={ + winter_severity_bias = 0.0 +} +# b_jarquh +4100 ={ + winter_severity_bias = 0.0 +} +# b_sarwistan +4101 ={ + winter_severity_bias = 0.0 +} +# b_wardana +4102 ={ + winter_severity_bias = 0.0 +} +# b_firuzan +4104 ={ + winter_severity_bias = 0.0 +} +## c_luristan +# b_asbid-dasht +4112 ={ + winter_severity_bias = 0.70 +} +# b_juy-e-sard +4113 ={ + winter_severity_bias = 0.70 +} +### d_kirman +## c_kirman +# b_khabis +4076 ={ + winter_severity_bias = 0.0 +} +# b_zarand_PER +4077 ={ + winter_severity_bias = 0.0 +} +# b_kirman +4078 ={ + winter_severity_bias = 0.0 +} +# b_anar +4079 ={ + winter_severity_bias = 0.0 +} +# b_rudhan +4080 ={ + winter_severity_bias = 0.0 +} +# b_mashiz +4081 ={ + winter_severity_bias = 0.0 +} +## c_behabad +# b_behabad +4073 ={ + winter_severity_bias = 0.0 +} +# b_nayband +4072 ={ + winter_severity_bias = 0.0 +} +# b_khubayan +4074 ={ + winter_severity_bias = 0.0 +} +# b_rawar +4075 ={ + winter_severity_bias = 0.0 +} +## c_bam +# b_bamm +4083 ={ + winter_severity_bias = 0.0 +} +# b_kashid +4082 ={ + winter_severity_bias = 0.0 +} +# b_dardjiin +4084 ={ + winter_severity_bias = 0.0 +} +# b_nurmashiir +4085 ={ + winter_severity_bias = 0.0 +} +# b_dafariid +4086 ={ + winter_severity_bias = 0.0 +} +## c_sirjan +# b_sirjan +4088 ={ + winter_severity_bias = 0.0 +} +# b_bimand +4087 ={ + winter_severity_bias = 0.0 +} +# b_baaft +4092 ={ + winter_severity_bias = 0.0 +} +## c_jiruft +# b_jiruft +4089 ={ + winter_severity_bias = 0.0 +} +# b_maghun +4090 ={ + winter_severity_bias = 0.0 +} +# b_ruyan-jirufti +4091 ={ + winter_severity_bias = 0.0 +} +### d_yazd +## c_yazd +# b_yazd +4053 ={ + winter_severity_bias = 0.0 +} +# b_nain +4051 ={ + winter_severity_bias = 0.0 +} +# b_uqda +4052 ={ + winter_severity_bias = 0.0 +} +# b_maibud +4054 ={ + winter_severity_bias = 0.0 +} +# b_fahraj_yazd +4055 ={ + winter_severity_bias = 0.0 +} +# b_khazana +4056 ={ + winter_severity_bias = 0.0 +} +## c_mafaza +# b_jarmaq +4057 ={ + winter_severity_bias = 0.0 +} +# b_wandah +4058 ={ + winter_severity_bias = 0.0 +} +# b_mihrijan +4060 ={ + winter_severity_bias = 0.0 +} +# b_biyadaq +4061 ={ + winter_severity_bias = 0.0 +} +## c_shahre-babak +# b_shahr-e-babak +4096 ={ + winter_severity_bias = 0.30 +} +# b_muralziyan +4097 ={ + winter_severity_bias = 0.30 +} +# b_abarquh +4098 ={ + winter_severity_bias = 0.30 +} +# b_qaryat-al-asad +4099 ={ + winter_severity_bias = 0.30 +} +### d_rayy +## c_rayy +# b_rayy +4319 ={ + winter_severity_bias = 0.30 +} +# b_dumbawand +4318 ={ + winter_severity_bias = 0.70 +} +# b_waramin +4320 ={ + winter_severity_bias = 0.30 +} +# b_mashkuya +4321 ={ + winter_severity_bias = 0.30 +} +# b_qasran +4322 ={ + winter_severity_bias = 0.30 +} +## c_khuwar +# b_khuwar +4046 ={ + winter_severity_bias = 0.0 +} +# b_simnan +4045 ={ + winter_severity_bias = 0.0 +} +## c_qom +# b_qom +4109 ={ + winter_severity_bias = 0.0 +} +# b_aba-qomi +4110 ={ + winter_severity_bias = 0.0 +} +# b_sawa +4111 ={ + winter_severity_bias = 0.0 +} +### d_hamadan +## c_hamadan +# b_hamadan +4333 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_rudhrawar +4331 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_aba +4328 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_mazdaqan +4329 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_sharuq +4330 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_nihawand +# b_nihawand +4116 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_abtaa +4114 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_karaj-abu-dulad +4115 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_dinawar +# b_dinawar +4332 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_andarab_d +4763 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_sad_khaniya +4764 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_sanda +4765 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +### d_fars +## c_shiraz +# b_shiraz-farsi +4177 ={ + winter_severity_bias = 0.0 +} +# b_sarwistan-shirazi-runiz +4176 ={ + winter_severity_bias = 0.0 +} +# b_kubanjan +4178 ={ + winter_severity_bias = 0.0 +} +# b_kazarun +4179 ={ + winter_severity_bias = 0.0 +} +# b_sabur +4180 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_lar +# b_lar +4093 ={ + winter_severity_bias = 0.0 +} +# b_gerash +4094 ={ + winter_severity_bias = 0.0 +} +# b_jahrum +4095 ={ + winter_severity_bias = 0.0 +} +## c_darabjerd +# b_darabjerd +4171 ={ + winter_severity_bias = 0.0 +} +# b_fustujan +4172 ={ + winter_severity_bias = 0.0 +} +# b_nariz +4173 ={ + winter_severity_bias = 0.0 +} +# b_istakhbanat +4174 ={ + winter_severity_bias = 0.0 +} +# b_abade-darabjerd +4175 ={ + winter_severity_bias = 0.0 +} +## c_arrajan +# b_arrajan +4305 ={ + winter_severity_bias = 0.0 +} +# b_jannaba +4301 ={ + winter_severity_bias = 0.0 +} +# b_siniz +4302 ={ + winter_severity_bias = 0.0 +} +# b_tawwaj +4303 ={ + winter_severity_bias = 0.0 +} +# b_khubadan +4304 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_istakhr +# b_istakhr +4118 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_iqlid +4117 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_mayin +4119 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_abraj +4120 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_abada +4121 ={ + winter_severity_bias = 0.40 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_mandestan +# b_mandestan +4195 ={ + winter_severity_bias = 0.0 +} +# b_bushkanat +4197 ={ + winter_severity_bias = 0.0 +} +# b_gundijan +4198 ={ + winter_severity_bias = 0.0 +} +# b_firuzabad +4199 ={ + winter_severity_bias = 0.0 +} +# b_karzin +4200 ={ + winter_severity_bias = 0.0 +} +## c_irahistan +# b_naband +4193 ={ + winter_severity_bias = 0.0 +} +# b_siraf +4194 ={ + winter_severity_bias = 0.0 +} +# b_kariyan +4196 ={ + winter_severity_bias = 0.0 +} +### d_hormuz +## c_hormuz +# b_hormuz +4185 ={ + winter_severity_bias = 0.0 +} +# b_shahru +4186 ={ + winter_severity_bias = 0.0 +} +# b_laft +4187 ={ + winter_severity_bias = 0.0 +} +## c_sif-i-umara +# b_huzu +4191 ={ + winter_severity_bias = 0.0 +} +# b_kaurestan +4188 ={ + winter_severity_bias = 0.0 +} +# b_beiram +4189 ={ + winter_severity_bias = 0.0 +} +# b_dun +4190 ={ + winter_severity_bias = 0.0 +} +# b_dazuk +4192 ={ + winter_severity_bias = 0.0 +} +### d_khuzestan +## c_ahvaz +# b_ahvaz +6011 ={ + winter_severity_bias = 0.0 +} +# b_al-madhar +6009 ={ + winter_severity_bias = 0.0 +} +# b_basinna +6010 ={ + winter_severity_bias = 0.0 +} +# b_huwaiza +6012 ={ + winter_severity_bias = 0.0 +} +# b_jubba +6015 ={ + winter_severity_bias = 0.0 +} +## c_sardan +# b_lurijan +4122 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_aruj +4123 ={ + winter_severity_bias = 0.0 +} +# b_samshiborid +4124 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_ramhurmuz +# b_ramhurmuz +4308 ={ + winter_severity_bias = 0.0 +} +# b_asak +4307 ={ + winter_severity_bias = 0.0 +} +# b_idhaj +4309 ={ + winter_severity_bias = 0.0 +} +# b_dariyan +4306 ={ + winter_severity_bias = 0.0 +} +## c_tustar +# b_tustar +4256 ={ + winter_severity_bias = 0.0 +} +# b_gondishapur +4257 ={ + winter_severity_bias = 0.0 +} +# b_bazoh +4258 ={ + winter_severity_bias = 0.60 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_dizful +4259 ={ + winter_severity_bias = 0.60 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_as-sus +4818 ={ + winter_severity_bias = 0.0 +} +## c_abbadan +# b_abbadan +6017 ={ + winter_severity_bias = 0.0 +} +# b_bayan +6016 ={ + winter_severity_bias = 0.0 +} +# b_basiyan +6018 ={ + winter_severity_bias = 0.0 +} +## c_dawraq +# b_dawraq +6014 ={ + winter_severity_bias = 0.0 +} +# b_azam +6013 ={ + winter_severity_bias = 0.0 +} +### d_kermanshah +## c_kermanshah +# b_kermanshah +4781 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_kerend-kermanshah +4782 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_tazar +4783 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_bisutun +4784 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_masabadhan +# b_siravan +4787 ={ + winter_severity_bias = 0.0 +} +# b_alishtar +4262 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_arivajan +4785 ={ + winter_severity_bias = 0.0 +} +## c_saimara +# b_as-saimara +4786 ={ + winter_severity_bias = 0.0 +} +# b_andamish +4260 ={ + winter_severity_bias = 0.0 +} +# b_saburkhawasht +4261 ={ + winter_severity_bias = 0.50 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} + +#### k_khorasan +### d_nishapur +## c_nishapur +# b_farhajird +4014 ={ + winter_severity_bias = 0.0 +} +# b_zawa +4015 ={ + winter_severity_bias = 0.0 +} +# b_shamat +4016 ={ + winter_severity_bias = 0.0 +} +# b_nishapur +4017 ={ + winter_severity_bias = 0.0 +} +# b_rivand +4018 ={ + winter_severity_bias = 0.0 +} +## c_tus +# b_tus +4012 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_mazduran +4010 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_maihana +4011 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_nuqaq +4013 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_samaiqan +# b_samaiqan +4039 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_jarmaqan +4038 ={ + winter_severity_bias = 0.0 +} +# b_dawin +4040 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_juwain +# b_jajarm +4022 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_isfarain +4023 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +## c_baihaq +# b_keshmar +4019 ={ + winter_severity_bias = 0.0 +} +# b_sabzavar +4020 ={ + winter_severity_bias = 0.0 +} +# b_mazinan +4021 ={ + winter_severity_bias = 0.0 +} +## c_damghan +# b_damghan +4026 ={ + winter_severity_bias = 0.0 +} +# b_biyar +4024 ={ + winter_severity_bias = 0.0 +} +# b_bistum +4025 ={ + winter_severity_bias = 0.55 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +# b_gerdkuh +4027 ={ + winter_severity_bias = 0.60 + mild_winter_factor_override = 0.3 + normal_winter_factor_override = 0.15 + harsh_winter_factor_override = 0.0 +} +### d_merv +## c_merv +# b_merv +4238 ={ + winter_severity_bias = 0.0 +} +# b_sinj +4234 ={ + winter_severity_bias = 0.0 +} +# b_jiranj +4235 ={ + winter_severity_bias = 0.0 +} +# b_kharad +4236 ={ + winter_severity_bias = 0.0 +} +# b_shawashkan +4237 ={ + winter_severity_bias = 0.0 +} +# b_kushmaihan +4239 ={ + winter_severity_bias = 0.0 +} +## c_sarakhs +# b_sarakhs +4007 ={ + winter_severity_bias = 0.0 +} +# b_dandanqan +4008 ={ + winter_severity_bias = 0.0 +} +# b_shiraz-sarakhsi +4009 ={ + winter_severity_bias = 0.0 +} +## c_marvarrud +# b_marv-ar-rud +4221 ={ + winter_severity_bias = 0.0 +} +# b_qarinayn +4218 ={ + winter_severity_bias = 0.0 +} +# b_barkdiz +4219 ={ + winter_severity_bias = 0.0 +} +# b_panjdih +4220 ={ + winter_severity_bias = 0.0 +} +# b_baghshur +4222 ={ + winter_severity_bias = 0.0 +} +## c_rivsharan +# b_dizah +4223 ={ + winter_severity_bias = 0.0 +} +# b_bashin +4229 ={ + winter_severity_bias = 0.0 +} +# b_shurmin +4230 ={ + winter_severity_bias = 0.0 +} +## c_guzgan +# b_yahudan +4251 ={ + winter_severity_bias = 0.0 +} +# b_andkhud +4249 ={ + winter_severity_bias = 0.0 +} +# b_faryab +4250 ={ + winter_severity_bias = 0.0 +} +# b_taleqan +4252 ={ + winter_severity_bias = 0.0 +} +# b_gurzivan +4253 ={ + winter_severity_bias = 0.0 +} +# b_anbar-guzgani +4254 ={ + winter_severity_bias = 0.0 +} +## c_amol +# b_amol-e-shatt +4240 ={ + winter_severity_bias = 0.0 +} +# b_shagal +4241 ={ + winter_severity_bias = 0.0 +} +# b_sayat +4245 ={ + winter_severity_bias = 0.0 +} +## c_zamm +# b_zamm +4247 ={ + winter_severity_bias = 0.0 +} +# b_niyaz +4246 ={ + winter_severity_bias = 0.0 +} +### d_ghur +## c_ghur +# b_firuzkuh +4225 ={ + winter_severity_bias = 0.60 +} +# b_khasht +4224 ={ + winter_severity_bias = 0.60 +} +# b_ahanjaran +4226 ={ + winter_severity_bias = 0.60 +} +# b_ghur +4227 ={ + winter_severity_bias = 0.60 +} +## c_darmashan +# b_azadawan +4201 ={ + winter_severity_bias = 0.40 +} +# b_darmashan +4228 ={ + winter_severity_bias = 0.40 +} +# b_zirjan +4300 ={ + winter_severity_bias = 0.40 +} +## c_upper_ghur +# b_dih-e-khalaf +4231 ={ + winter_severity_bias = 0.70 +} +# b_ribat-e-karyan +4232 ={ + winter_severity_bias = 0.70 +} +# b_till +4233 ={ + winter_severity_bias = 0.70 +} +### d_herat +## c_herat +# b_herat +4215 ={ + winter_severity_bias = 0.0 +} +# b_karukh +4216 ={ + winter_severity_bias = 0.0 +} +# b_malin +4217 ={ + winter_severity_bias = 0.0 +} +## c_bakharz +# b_buzjan +4210 ={ + winter_severity_bias = 0.0 +} +# b_pushang +4207 ={ + winter_severity_bias = 0.0 +} +# b_tayabad +4208 ={ + winter_severity_bias = 0.0 +} +# b_khawaf +4209 ={ + winter_severity_bias = 0.0 +} +# b_zurabad +4211 ={ + winter_severity_bias = 0.0 +} +## c_badghis +# b_kusuy +4212 ={ + winter_severity_bias = 0.0 +} +# b_bamain +4213 ={ + winter_severity_bias = 0.0 +} +# b_jabal-al-fidda +4214 ={ + winter_severity_bias = 0.0 +} +## c_sabzevar +# b_asfuzar +4204 ={ + winter_severity_bias = 0.0 +} +# b_adraskan +4205 ={ + winter_severity_bias = 0.0 +} +# b_khin +4206 ={ + winter_severity_bias = 0.0 +} +## c_zirkuh +# b_abiz +4203 ={ + winter_severity_bias = 0.0 +} +# b_shahrakht +4202 ={ + winter_severity_bias = 0.0 +} +### d_balkh +## c_balkh +# b_balkh +4335 ={ + winter_severity_bias = 0.0 +} +4334 ={ + winter_severity_bias = 0.0 +} +# b_shapurqan +4336 ={ + winter_severity_bias = 0.0 +} +# b_navida +4337 ={ + winter_severity_bias = 0.0 +} +# b_siyahjird +4338 ={ + winter_severity_bias = 0.0 +} +## c_west-tokharestan +# b_samanjan +4341 ={ + winter_severity_bias = 0.0 +} +# b_saan +4339 ={ + winter_severity_bias = 0.0 +} +# b_ruy +4340 ={ + winter_severity_bias = 0.70 +} +## c_east-tokharestan +# b_khulm +4351 ={ + winter_severity_bias = 0.0 +} +# b_andarab +4347 ={ + winter_severity_bias = 0.80 +} +# b_baghlan +4348 ={ + winter_severity_bias = 0.70 +} +# b_valvalij +4349 ={ + winter_severity_bias = 0.0 +} +# b_talekan +4350 ={ + winter_severity_bias = 0.0 +} +# b_mila +4352 ={ + winter_severity_bias = 0.0 +} +### d_nasa +## c_abivard +# b_abivard +4044 ={ + winter_severity_bias = 0.0 +} +# b_shahrastan +4041 ={ + winter_severity_bias = 0.0 +} +# b_nasa +4042 ={ + winter_severity_bias = 0.0 +} +# b_khabushan +4043 ={ + winter_severity_bias = 0.60 +} +## c_farava +# b_farava +4036 ={ + winter_severity_bias = 0.0 +} +# b_hesare-taq +4037 ={ + winter_severity_bias = 0.0 +} +### d_kohestan +## c_qain +# b_qain +4062 ={ + winter_severity_bias = 0.0 +} +# b_birjand +4063 ={ + winter_severity_bias = 0.0 +} +# b_khusf +4064 ={ + winter_severity_bias = 0.0 +} +# b_barandud +4065 ={ + winter_severity_bias = 0.0 +} +# b_junabid +4066 ={ + winter_severity_bias = 0.0 +} +## c_tun +# b_tun +4068 ={ + winter_severity_bias = 0.0 +} +# b_bejestan +4067 ={ + winter_severity_bias = 0.0 +} +# b_tabas +4069 ={ + winter_severity_bias = 0.0 +} +# b_khur +4070 ={ + winter_severity_bias = 0.0 +} +# b_raqe +4071 ={ + winter_severity_bias = 0.0 +} + +#### k_daylam +### d_daylam +## c_gilan +# b_daylam +4001 ={ + winter_severity_bias = 0.60 +} +# b_gilan +4000 ={ + winter_severity_bias = 0.0 +} +# b_lahij +4004 ={ + winter_severity_bias = 0.0 +} +## c_zanjan +# b_zanjan +4325 ={ + winter_severity_bias = 0.40 +} +# b_afshar +4326 ={ + winter_severity_bias = 0.40 +} +# b_suhravard +4327 ={ + winter_severity_bias = 0.40 +} +## c_qazwin +# b_qazvin +4323 ={ + winter_severity_bias = 0.30 +} +# b_alamut +4006 ={ + winter_severity_bias = 0.70 +} +# b_abhar +4324 ={ + winter_severity_bias = 0.30 +} +### d_tabaristan +## c_mazandaran +# b_amul +4312 ={ + winter_severity_bias = 0.0 +} +# b_tamisha +4310 ={ + winter_severity_bias = 0.0 +} +# b_sariya +4311 ={ + winter_severity_bias = 0.0 +} +## c_ruyan +# b_ruyan +4005 ={ + winter_severity_bias = 0.70 +} +# b_natil +4313 ={ + winter_severity_bias = 0.0 +} +# b_shalush +4314 ={ + winter_severity_bias = 0.0 +} +## c_baduspan +# b_uram +4317 ={ + winter_severity_bias = 0.70 +} +# b_larijan +4315 ={ + winter_severity_bias = 0.70 +} +# b_firrim +4316 ={ + winter_severity_bias = 0.70 +} +### d_gurgan +## c_gurgan +# b_gurgan +4029 ={ + winter_severity_bias = 0.0 +} +# b_astarabad +4028 ={ + winter_severity_bias = 0.0 +} +# b_bakrabad +4030 ={ + winter_severity_bias = 0.0 +} +# b_abaskun +4031 ={ + winter_severity_bias = 0.0 +} +## c_dihistan +# b_kerend +4032 ={ + winter_severity_bias = 0.0 +} +# b_dihistan +4033 ={ + winter_severity_bias = 0.0 +} +# b_khodzhakala +4034 ={ + winter_severity_bias = 0.0 +} +# b_oboy +4035 ={ + winter_severity_bias = 0.0 +} +### d_azerbaijan +## c_tabriz +# b_tabriz +4537 ={ + winter_severity_bias = 0.45 + harsh_winter_factor_override = 0.0 +} +# b_marand +4536 ={ + winter_severity_bias = 0.45 + harsh_winter_factor_override = 0.0 +} +# b_dihnakhirjan +4538 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_ujan +4539 ={ + winter_severity_bias = 0.45 + harsh_winter_factor_override = 0.0 +} +# b_ahar +4540 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.0 +} +# b_dizmar +4541 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +## c_talish +# b_talish +4534 ={ + winter_severity_bias = 0.0 +} +# b_aparshahr +4535 ={ + winter_severity_bias = 0.0 +} +## c_ardabil +# b_ardabil +4543 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_khalkhal +4002 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_unar +4542 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_sarat +4544 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +## c_maragha +# b_maragha +4545 ={ + winter_severity_bias = 0.35 + harsh_winter_factor_override = 0.0 +} +# b_kursara +4003 ={ + winter_severity_bias = 0.35 + harsh_winter_factor_override = 0.0 +} +# b_leylan +4546 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_khunaj +4547 ={ + winter_severity_bias = 0.35 + harsh_winter_factor_override = 0.0 +} +# b_ar-ran +4548 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_shiz +4549 ={ + winter_severity_bias = 0.35 + harsh_winter_factor_override = 0.0 +} +## c_bailaqan +# b_bailaqan +4767 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.0 +} +# b_barza +4766 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.0 +} +# b_darband-qarabuli +4768 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.0 +} +# b_basawa +4769 ={ + winter_severity_bias = 0.65 + harsh_winter_factor_override = 0.0 +} +## c_urmiya +# b_urmiya +4771 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_ushnuya +4770 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_salmas +4772 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +# b_gher +5794 ={ + winter_severity_bias = 0.55 + harsh_winter_factor_override = 0.0 +} +### d_shirvan +## c_shirvan +# b_shirvan +668 ={ + winter_severity_bias = 0.25 +} +# b_baku +5771 ={ + winter_severity_bias = 0.25 +} +# b_maras +5772 ={ + winter_severity_bias = 0.0 +} +# b_salyan +5773 ={ + winter_severity_bias = 0.0 +} +## c_shaki +# b_shemakha +669 ={ + winter_severity_bias = 0.25 +} +# b_kabala +5774 ={ + winter_severity_bias = 0.25 +} +# b_kudevan +5775 ={ + winter_severity_bias = 0.0 +} +# b_paidangaran +5776 ={ + winter_severity_bias = 0.0 +} +## c_aran +# b_ganja +5777 ={ + winter_severity_bias = 0.0 +} +# b_mingachevir +5778 ={ + winter_severity_bias = 0.0 +} +# b_barda +5779 ={ + winter_severity_bias = 0.0 +} +## c_mugan +# b_paytakaran +5790 ={ + winter_severity_bias = 0.0 +} +# b_gabarawan +5788 ={ + winter_severity_bias = 0.0 +} +# b_varsan +5789 ={ + winter_severity_bias = 0.0 +} +# b_langarkanan +5791 ={ + winter_severity_bias = 0.0 +} +# b_nakorzan +5792 ={ + winter_severity_bias = 0.0 +} +# b_barzand +5793 ={ + winter_severity_bias = 0.0 +} + +#### k_makran +### d_makran +## c_panjgur #AKA Bannajbur +# b_bannajbur +4471 ={ + winter_severity_bias = 0.0 +} +# b_saindak +4468 ={ + winter_severity_bias = 0.0 +} +# b_chagai +4469 ={ + winter_severity_bias = 0.0 +} +# b_jalk +4470 ={ + winter_severity_bias = 0.0 +} +# b_mashki +4472 ={ + winter_severity_bias = 0.0 +} +## c_kiz +# b_kiz +4285 ={ + winter_severity_bias = 0.0 +} +# b_rasak +4284 ={ + winter_severity_bias = 0.0 +} +# b_jiwani +4286 ={ + winter_severity_bias = 0.0 +} +# b_dizak_makrani +4287 ={ + winter_severity_bias = 0.0 +} +## c_sanij +# b_sanij +4277 ={ + winter_severity_bias = 0.0 +} +# b_qantarat_kirman +4278 ={ + winter_severity_bias = 0.0 +} +# b_ladhir +4279 ={ + winter_severity_bias = 0.0 +} +# b_khwash +4280 ={ + winter_severity_bias = 0.0 +} +## c_khawr +# b_khawr +4477 ={ + winter_severity_bias = 0.0 +} +# b_rodkhan +4473 ={ + winter_severity_bias = 0.0 +} +# b_kokahdan +4474 ={ + winter_severity_bias = 0.0 +} +# b_qanbali +4475 ={ + winter_severity_bias = 0.0 +} +# b_armabil +4476 ={ + winter_severity_bias = 0.0 +} +## c_turan +# b_qusdar +4479 ={ + winter_severity_bias = 0.0 +} +# b_wad +4478 ={ + winter_severity_bias = 0.0 +} +# b_budin +4480 ={ + winter_severity_bias = 0.0 +} +# b_gajor +4481 ={ + winter_severity_bias = 0.0 +} +# b_qandabil +4487 ={ + winter_severity_bias = 0.0 +} +# b_qiqan +4488 ={ + winter_severity_bias = 0.0 +} +### d_jabal_kufs +## c_bampur +# b_bint +4268 ={ + winter_severity_bias = 0.0 +} +# b_ruhna +4269 ={ + winter_severity_bias = 0.0 +} +# b_tiz +4270 ={ + winter_severity_bias = 0.0 +} +# b_bih +4271 ={ + winter_severity_bias = 0.0 +} +# b_bampur +4272 ={ + winter_severity_bias = 0.0 +} +# b_fahraj +4273 ={ + winter_severity_bias = 0.0 +} +## c_jabal_kufs +# b_jask +4265 ={ + winter_severity_bias = 0.0 +} +# b_manujan +4263 ={ + winter_severity_bias = 0.0 +} +# b_darhafan +4264 ={ + winter_severity_bias = 0.0 +} +# b_houn +4266 ={ + winter_severity_bias = 0.0 +} +# b_south_jaz_murian +4267 ={ + winter_severity_bias = 0.0 +} +## c_riqan +# b_riqan +4274 ={ + winter_severity_bias = 0.0 +} +# b_north_jaz_murian +4275 ={ + winter_severity_bias = 0.0 +} +# b_kurk +4276 ={ + winter_severity_bias = 0.0 +} +### d_sistan +## c_zaranj +# b_zaranj +4289 ={ + winter_severity_bias = 0.0 +} +# b_ram_shahristan +4288 ={ + winter_severity_bias = 0.0 +} +# b_qarnin +4290 ={ + winter_severity_bias = 0.0 +} +# b_khawaj +4291 ={ + winter_severity_bias = 0.0 +} +# b_karkuya +4292 ={ + winter_severity_bias = 0.0 +} +## c_nih +# b_nih +4283 ={ + winter_severity_bias = 0.0 +} +# b_bandan +4295 ={ + winter_severity_bias = 0.0 +} +# b_doroh +4296 ={ + winter_severity_bias = 0.0 +} +# b_khoshk-rud +4297 ={ + winter_severity_bias = 0.0 +} +## c_farah +# b_farah +4299 ={ + winter_severity_bias = 0.0 +} +# b_juwain +4293 ={ + winter_severity_bias = 0.0 +} +# b_uq +4294 ={ + winter_severity_bias = 0.0 +} +# b_masau +4298 ={ + winter_severity_bias = 0.0 +} +## c_rudbar +# b_rudbar +4465 ={ + winter_severity_bias = 0.0 +} +# b_kish-rudbar +4463 ={ + winter_severity_bias = 0.0 +} +# b_mofd_afdzalkhan +4464 ={ + winter_severity_bias = 0.0 +} +# b_khannesin +4466 ={ + winter_severity_bias = 0.0 +} +# b_landay +4467 ={ + winter_severity_bias = 0.0 +} +## c_bost +# b_bost +4484 ={ + winter_severity_bias = 0.0 +} +# b_delaram +4482 ={ + winter_severity_bias = 0.0 +} +# b_galikan +4483 ={ + winter_severity_bias = 0.0 +} +# b_al_muaskar +4485 ={ + winter_severity_bias = 0.0 +} +# b_ribat-i-kish +4486 ={ + winter_severity_bias = 0.0 +} + +#### k_kabulistan #replacement of k_afghanistan +### d_kabul +## c_kabul +# b_kabul +4504 ={ + winter_severity_bias = 0.80 +} +# b_sukawand +4503 ={ + winter_severity_bias = 0.80 +} +# b_lamghan +4508 ={ + winter_severity_bias = 0.80 +} +# b_nagarahara +4516 ={ + winter_severity_bias = 0.80 +} +## c_bamian +# b_bamian +4343 ={ + winter_severity_bias = 0.80 +} +# b_sakalkand +4342 ={ + winter_severity_bias = 0.80 +} +# b_parwan +4344 ={ + winter_severity_bias = 0.80 +} +# b_panjhir +4345 ={ + winter_severity_bias = 0.80 +} +# b_jarbaya +4346 ={ + winter_severity_bias = 0.80 +} +## c_chitral +# b_chitral +4515 ={ + winter_severity_bias = 0.80 +} +# b_kunar +4514 ={ + winter_severity_bias = 0.80 +} +### d_zabulistan +## c_ghazna +# b_ghazna +4500 ={ + winter_severity_bias = 0.70 +} +# b_gardiz +4501 ={ + winter_severity_bias = 0.70 +} +# b_istakh +4502 ={ + winter_severity_bias = 0.70 +} +# b_sharan +4505 ={ + winter_severity_bias = 0.70 +} +# b_moqor +4506 ={ + winter_severity_bias = 0.70 +} +## c_zamindawar +# b_zamindawar +4489 ={ + winter_severity_bias = 0.40 +} +# b_sarwan +4490 ={ + winter_severity_bias = 0.40 +} +# b_bishang +4491 ={ + winter_severity_bias = 0.70 +} +# b_durgas +4492 ={ + winter_severity_bias = 0.70 +} +# b_bagnin +4493 ={ + winter_severity_bias = 0.70 +} +## c_rukhaj +# b_rukhaj +4499 ={ + winter_severity_bias = 0.0 +} +# b_rudan +4494 ={ + winter_severity_bias = 0.0 +} +# b_panjway +4495 ={ + winter_severity_bias = 0.0 +} +# b_bakrawath +4496 ={ + winter_severity_bias = 0.0 +} +# b_qandahar +4498 ={ + winter_severity_bias = 0.0 +} +## c_zabulistan +# b_jaldak +4507 ={ + winter_severity_bias = 0.0 +} +# b_mapan +4509 ={ + winter_severity_bias = 0.0 +} + +#### k_mesopotamia +### d_samarra +## c_samarra +# b_samarra +4805 ={ + winter_severity_bias = 0.0 +} +# b_balad +4804 ={ + winter_severity_bias = 0.0 +} +# b_aiwana +4832 ={ + winter_severity_bias = 0.0 +} +# b_hisn_al-mashuq +4834 ={ + winter_severity_bias = 0.0 +} +## c_hulwan +# b_hulwan +4800 ={ + winter_severity_bias = 0.0 +} +# b_bandanijan +4791 ={ + winter_severity_bias = 0.0 +} +# b_jalula-hulwan +4792 ={ + winter_severity_bias = 0.0 +} +# b_daskara +4793 ={ + winter_severity_bias = 0.0 +} +## c_kirkuk +# b_kirkuk +4803 ={ + winter_severity_bias = 0.0 +} +# b_khanijar +4799 ={ + winter_severity_bias = 0.0 +} +# b_raushanqubad +4801 ={ + winter_severity_bias = 0.0 +} +# b_daquqa +4802 ={ + winter_severity_bias = 0.0 +} +## c_takrit +# b_takrit +4835 ={ + winter_severity_bias = 0.0 +} +# b_jabalta +4806 ={ + winter_severity_bias = 0.0 +} +# b_barimma +4807 ={ + winter_severity_bias = 0.0 +} +### d_wasit +## c_wasit +# b_wasit +4821 ={ + winter_severity_bias = 0.0 +} +# b_kaskar +4822 ={ + winter_severity_bias = 0.0 +} +# b_an-numaniya +4823 ={ + winter_severity_bias = 0.0 +} +## c_tib +# b_at-tib +4820 ={ + winter_severity_bias = 0.0 +} +# b_karkha +4819 ={ + winter_severity_bias = 0.0 +} +### d_kufa +## c_kufa +# b_an-najaf +5993 ={ + winter_severity_bias = 0.0 +} +# b_al-kufa +5992 ={ + winter_severity_bias = 0.0 +} +# b_al-hila +4826 ={ + winter_severity_bias = 0.0 +} +## c_safata +# b_safata +5991 ={ + winter_severity_bias = 0.0 +} +# b_ain_at-tamr +5990 ={ + winter_severity_bias = 0.0 +} +# b_khaffan +5996 ={ + winter_severity_bias = 0.0 +} +## c_qadisiya +# b_al-qadisiya +5994 ={ + winter_severity_bias = 0.0 +} +# b_al-udhaib +5995 ={ + winter_severity_bias = 0.0 +} +# b_al-qara +5998 ={ + winter_severity_bias = 0.0 +} +## c_batiha +# b_niffar +6003 ={ + winter_severity_bias = 0.0 +} +# b_as-saliq +6004 ={ + winter_severity_bias = 0.0 +} +## c_akhadid +# b_as-salman +6001 ={ + winter_severity_bias = 0.0 +} +# b_al-akhadid +6002 ={ + winter_severity_bias = 0.0 +} +## c_waqisa +# b_waqisa +6000 ={ + winter_severity_bias = 0.0 +} +# b_as-subia +5999 ={ + winter_severity_bias = 0.0 +} +### d_basra +## c_basra +# b_bajlan +6019 ={ + winter_severity_bias = 0.0 +} +# b_basra #Al Basra +6022 ={ + winter_severity_bias = 0.0 +} +# b_hifair +6025 ={ + winter_severity_bias = 0.0 +} +# b_ar-rukhail +6024 ={ + winter_severity_bias = 0.0 +} +## c_ubulla +# b_al-ubulla +6020 ={ + winter_severity_bias = 0.0 +} +# b_matara-iraq +6021 ={ + winter_severity_bias = 0.0 +} +# b_ain_said +6023 ={ + winter_severity_bias = 0.0 +} +## c_rusafa +# b_ar-rusafa-iraq +6005 ={ + winter_severity_bias = 0.0 +} +# b_al-farut +6006 ={ + winter_severity_bias = 0.0 +} +# b_al-qatr +6007 ={ + winter_severity_bias = 0.0 +} +# b_nahr_simmara +6008 ={ + winter_severity_bias = 0.0 +} +### d_baghdad +## c_baghdad +# b_baghdad +4828 ={ + winter_severity_bias = 0.0 +} +# b_baquba +4794 ={ + winter_severity_bias = 0.0 +} +# b_ukbara +4795 ={ + winter_severity_bias = 0.0 +} +# b_an-nahrawan +4796 ={ + winter_severity_bias = 0.0 +} +# b_al-farasa +4825 ={ + winter_severity_bias = 0.0 +} +# b_sarsar +4827 ={ + winter_severity_bias = 0.0 +} +## c_iskaf +# b_iskaf +4797 ={ + winter_severity_bias = 0.0 +} +# b_jabbul +4798 ={ + winter_severity_bias = 0.0 +} +# b_humaniya +4824 ={ + winter_severity_bias = 0.0 +} +## c_anbar +# b_al-anbar +4829 ={ + winter_severity_bias = 0.0 +} +# b_ar-rabb +4831 ={ + winter_severity_bias = 0.0 +} +## c_karbala +# b_karbala +4830 ={ + winter_severity_bias = 0.0 +} +# b_hit +4833 ={ + winter_severity_bias = 0.0 +} +## c_badaraya +# b_badaraya +4788 ={ + winter_severity_bias = 0.0 +} +# b_bakusaya +4789 ={ + winter_severity_bias = 0.0 +} +# b_tarsukh +4790 ={ + winter_severity_bias = 0.0 +} + +#### k_jazira +### d_diyarrabia +## c_mosul +# b_mosul +4840 ={ + winter_severity_bias = 0.0 +} +# b_ain_al-qayyara +4836 ={ + winter_severity_bias = 0.0 +} +# b_al-hadr +4837 ={ + winter_severity_bias = 0.0 +} +# b_juhaina +4838 ={ + winter_severity_bias = 0.0 +} +# b_tall_afar +4839 ={ + winter_severity_bias = 0.0 +} +# b_balad-mosul +4841 ={ + winter_severity_bias = 0.0 +} +## c_ninive +# b_ninawa +4811 ={ + winter_severity_bias = 0.10 +} +# b_bartulla +4810 ={ + winter_severity_bias = 0.10 +} +# b_fishabur +4812 ={ + winter_severity_bias = 01.0 +} +## c_sinjar +# b_sinjar +4848 ={ + winter_severity_bias = 0.0 +} +# b_bashazza +4843 ={ + winter_severity_bias = 0.0 +} +# b_al-hayyal +4849 ={ + winter_severity_bias = 0.0 +} +# b_al-jibal +4850 ={ + winter_severity_bias = 0.0 +} +# b_tunamir +4851 ={ + winter_severity_bias = 0.0 +} +## c_nasibin +# b_nasibin +4845 ={ + winter_severity_bias = 0.20 +} +# b_barqaid +4842 ={ + winter_severity_bias = 0.20 +} +# b_gazirat_ibn_umar +4844 ={ + winter_severity_bias = 0.20 +} +# b_dara +4846 ={ + winter_severity_bias = 0.20 +} +## c_khabur +# b_makisin +4883 ={ + winter_severity_bias = 0.0 +} +# b_mijdal +4852 ={ + winter_severity_bias = 0.0 +} +# b_araban +4879 ={ + winter_severity_bias = 0.0 +} +# b_al-khanuqa +4880 ={ + winter_severity_bias = 0.0 +} +# b_ash-shamsiya +4881 ={ + winter_severity_bias = 0.0 +} +# b_qarqisiya +4882 ={ + winter_severity_bias = 0.0 +} +## c_upper_khabur +# b_ras_al-ain +4853 ={ + winter_severity_bias = 0.20 +} +# b_mardin +4854 ={ + winter_severity_bias = 0.20 +} +# b_kafartutha +4856 ={ + winter_severity_bias = 0.20 +} +### d_diyarmudar +## c_raqqa +# b_raqqa +4876 ={ + winter_severity_bias = 0.0 +} +# b_bajarwan +4877 ={ + winter_severity_bias = 0.0 +} +# b_ratla +5943 ={ + winter_severity_bias = 0.0 +} +## c_harran +# b_harran +4870 ={ + winter_severity_bias = 0.15 +} +# b_saruj +4874 ={ + winter_severity_bias = 0.15 +} +# b_tall_mahra +4878 ={ + winter_severity_bias = 0.15 +} +## c_dausar +# b_dausar +4875 ={ + winter_severity_bias = 0.15 +} +# b_tall_ammar +4873 ={ + winter_severity_bias = 0.15 +} +### d_diyarbakr +## c_amida +# b_amid +4867 ={ + winter_severity_bias = 0.40 +} +# b_zermion +4866 ={ + winter_severity_bias = 0.40 +} +# b_as-suwaida +4868 ={ + winter_severity_bias = 0.40 +} +# b_tall_mauzan +4871 ={ + winter_severity_bias = 0.40 +} +## c_tall_basma +# b_tall_basma +4855 ={ + winter_severity_bias = 0.40 +} +# b_hisn_kaifa +4847 ={ + winter_severity_bias = 0.40 +} +## c_hakkari +# b_hakkari +4815 ={ + winter_severity_bias = 0.40 +} +# b_baqirda +4813 ={ + winter_severity_bias = 0.40 +} +# b_tamanin +4814 ={ + winter_severity_bias = 0.60 +} +# b_saird +4816 ={ + winter_severity_bias = 0.40 +} +# b_juza +4817 ={ + winter_severity_bias = 0.70 +} +## c_mayyafariqin +# b_mayyafariqin +4859 ={ + winter_severity_bias = 0.30 +} +# b_tall_fafan +4857 ={ + winter_severity_bias = 0.30 +} +# b_arzan +4858 ={ + winter_severity_bias = 0.30 +} +# b_nasriye +4860 ={ + winter_severity_bias = 0.30 +} +## c_bakriya +# b_hani +4861 ={ + winter_severity_bias = 0.40 +} +# b_hisn_di-l-qarnain +4862 ={ + winter_severity_bias = 0.40 +} +# b_qulb +4864 ={ + winter_severity_bias = 0.40 +} +# b_erkne +4865 ={ + winter_severity_bias = 0.40 +} +# b_shimshat +4863 ={ + winter_severity_bias = 0.40 +} +### d_euphrates +## c_rahba +# b_al-rahba +4889 ={ + winter_severity_bias = 0.0 +} +# b_ad-daliya +4888 ={ + winter_severity_bias = 0.0 +} +## c_hadithat-ana +# b_hadithat-ana +4885 ={ + winter_severity_bias = 0.0 +} +# b_sukayr_al-abbas +4884 ={ + winter_severity_bias = 0.0 +} +## c_al-haditha +# b_al-haditha-furat +4886 ={ + winter_severity_bias = 0.0 +} +# b_ana +4887 ={ + winter_severity_bias = 0.0 +} +### d_kurdistan +## c_irbil +# b_irbil +4777 ={ + winter_severity_bias = 0.0 +} +# b_al-haditha +4808 ={ + winter_severity_bias = 0.0 +} +# b_as-sinn +4809 ={ + winter_severity_bias = 0.0 +} +## c_kurdistan +# b_tall_haftun +4774 ={ + winter_severity_bias = 0.60 +} +# b_khuftiyan +4773 ={ + winter_severity_bias = 0.60 +} +# b_shaqlabadh +4775 ={ + winter_severity_bias = 0.60 +} +# b_bamardani +4776 ={ + winter_severity_bias = 0.60 +} +## c_shahrazur +# b_shahrazur +4780 ={ + winter_severity_bias = 0.60 +} +# b_khuftidkan +4778 ={ + winter_severity_bias = 0.60 +} +# b_tiranshah +4779 ={ + winter_severity_bias = 0.60 +} + +##### e_carpathia +#### k_dacia +### d_transylvanian_alps +## c_campulung +# b_campulung +5009 ={ + winter_severity_bias = 0.70 +} +# b_targoviste +515 ={ + winter_severity_bias = 0.60 +} +# b_arges +5008 ={ + winter_severity_bias = 0.70 +} +# b_pitesti +4993 ={ + winter_severity_bias = 0.60 +} +## c_polovragi +# b_polovragi +5005 ={ + winter_severity_bias = 0.70 +} +# b_govora +5006 ={ + winter_severity_bias = 0.60 +} +# b_filiasi +5007 ={ + winter_severity_bias = 0.60 +} +## c_tabla_butii +# b_tabla_butii +4989 ={ + winter_severity_bias = 0.70 +} +# b_zoresti +4980 ={ + winter_severity_bias = 0.65 +} +# b_dumbraveni +4977 ={ + winter_severity_bias = 0.65 +} +### d_muntenia +## c_giurgiu +# b_giurgiu +4990 ={ + winter_severity_bias = 0.50 +} +# b_turnu +514 ={ + winter_severity_bias = 0.50 +} +# b_rusii_de_vede +4988 ={ + winter_severity_bias = 0.50 +} +# b_comana +4991 ={ + winter_severity_bias = 0.50 +} +# b_glavacioc +4992 ={ + winter_severity_bias = 0.50 +} +# b_costesti +4994 ={ + winter_severity_bias = 0.50 +} +## c_bucuresti +# b_bucuresti +4995 ={ + winter_severity_bias = 0.50 +} +# b_targsor +4996 ={ + winter_severity_bias = 0.50 +} +## c_calarasi +# b_calarasi +4997 ={ + winter_severity_bias = 0.50 +} +# b_radovanu +4998 ={ + winter_severity_bias = 0.50 +} +# b_fetesti +4999 ={ + winter_severity_bias = 0.50 +} +## c_buzau +# b_buzau +5000 ={ + winter_severity_bias = 0.50 +} +# b_slobozia +5001 ={ + winter_severity_bias = 0.50 +} +# b_ploiesti +5002 ={ + winter_severity_bias = 0.50 +} +## c_braila +# b_braila +5003 ={ + winter_severity_bias = 0.50 +} +# b_ramnicu_sarat +5004 ={ + winter_severity_bias = 0.50 +} +### d_oltenia +## c_targu_jiu +# b_targu_jiu +4978 ={ + winter_severity_bias = 0.70 +} +# b_baia_de_arama +4979 ={ + winter_severity_bias = 0.60 +} +## c_severin +# b_severin +516 ={ + winter_severity_bias = 0.60 +} +# b_orsova +4975 ={ + winter_severity_bias = 0.60 +} +# b_mehadia +4976 ={ + winter_severity_bias = 0.70 +} +# b_karansebes +3881 ={ + winter_severity_bias = 0.70 +} +## c_calafat +# b_calafat +4981 ={ + winter_severity_bias = 0.50 +} +# b_cujmir +4982 ={ + winter_severity_bias = 0.50 +} +# b_strehaia +4983 ={ + winter_severity_bias = 0.50 +} +# b_segarcea +4984 ={ + winter_severity_bias = 0.50 +} +## c_craiova +# b_craiova +4985 ={ + winter_severity_bias = 0.50 +} +# b_corabia +4986 ={ + winter_severity_bias = 0.50 +} +# b_dragasani +4987 ={ + winter_severity_bias = 0.50 +} + +#### k_moldavia +### d_bukovina +## c_suceava +# b_suceava +545 ={ + winter_severity_bias = 0.65 +} +# b_baia +5034 ={ + winter_severity_bias = 0.65 +} +# b_vatra_dornei +5035 ={ + winter_severity_bias = 0.75 +} +# b_campulung_moldovenesc +5036 ={ + winter_severity_bias = 0.75 +} +# b_siret +5037 ={ + winter_severity_bias = 0.60 +} +## c_neamnt +# b_piatra_neamnt +5031 ={ + winter_severity_bias = 0.75 +} +# b_targu_neamnt +5032 ={ + winter_severity_bias = 0.75 +} +# b_roman +5033 ={ + winter_severity_bias = 0.60 +} +## c_dorohoi +# b_dorohoi +5038 ={ + winter_severity_bias = 0.60 +} +# b_harlau +5039 ={ + winter_severity_bias = 0.60 +} +## c_hotin +# b_hotin +5040 ={ + winter_severity_bias = 0.60 +} +# b_tetina +5041 ={ + winter_severity_bias = 0.60 +} +# b_cernauti +5042 ={ + winter_severity_bias = 0.60 +} +### d_moldova +## c_iasi +# b_iasi +541 ={ + winter_severity_bias = 0.60 +} +# b_ungheni +5023 ={ + winter_severity_bias = 0.60 +} +# b_falesti +5024 ={ + winter_severity_bias = 0.60 +} +## c_orhei +# b_orhei +5019 ={ + winter_severity_bias = 0.60 +} +# b_tuzara +5020 ={ + winter_severity_bias = 0.60 +} +## c_soroca +# b_soroca +5021 ={ + winter_severity_bias = 0.60 +} +# b_balti +5022 ={ + winter_severity_bias = 0.60 +} +## c_barlad +# b_barlad +513 ={ + winter_severity_bias = 0.60 +} +# b_vaslui +5025 ={ + winter_severity_bias = 0.60 +} +# b_husi +5026 ={ + winter_severity_bias = 0.60 +} +## c_galati +# b_galati +511 ={ + winter_severity_bias = 0.60 +} +# b_tecuci +5027 ={ + winter_severity_bias = 0.60 +} +# b_focsani +5028 ={ + winter_severity_bias = 0.65 +} +## c_stoenesti +# b_stoenesti +5029 ={ + winter_severity_bias = 0.75 +} +# b_bacau +5030 ={ + winter_severity_bias = 0.65 +} +### d_bugeac +## c_tigheci +# b_tigheci +5015 ={ + winter_severity_bias = 0.40 +} +# b_cahul +5016 ={ + winter_severity_bias = 0.40 +} +## c_cetatea_alba +# b_cetatea_alba +512 ={ + winter_severity_bias = 0.40 +} +# b_tighina +5011 ={ + winter_severity_bias = 0.40 +} +## c_chilia +# b_chilia +5012 ={ + winter_severity_bias = 0.40 +} +# b_oblucita +5013 ={ + winter_severity_bias = 0.40 +} +# b_artsyz +5014 ={ + winter_severity_bias = 0.40 +} +## c_lapusna +# b_lapusna +5017 ={ + winter_severity_bias = 0.60 +} +# b_chisinau +5018 ={ + winter_severity_bias = 0.60 +} + +#### k_hungary +### d_visegrad +## c_visegrad +# b_visegrad_hun +3803 ={ + winter_severity_bias = 0.50 +} +# b_pest +522 ={ + winter_severity_bias = 0.50 +} +# b_cegled +3802 ={ + winter_severity_bias = 0.50 +} +# b_kecskemet +3804 ={ + winter_severity_bias = 0.50 +} +## c_komarom +# b_komarom +3809 ={ + winter_severity_bias = 0.60 +} +# b_batorkeszi +3916 ={ + winter_severity_bias = 0.60 +} +## c_esztergom +# b_esztergom +3808 ={ + winter_severity_bias = 0.50 +} +# b_beny +3976 ={ + winter_severity_bias = 0.50 +} +## c_szekesfehervar +# b_szekesfehervar +3805 ={ + winter_severity_bias = 0.60 +} +# b_csakvar +3806 ={ + winter_severity_bias = 0.60 +} +# b_kalocsa +3807 ={ + winter_severity_bias = 0.50 +} +## c_hewes +# b_hewes +523 ={ + winter_severity_bias = 0.50 +} +# b_tur +3867 ={ + winter_severity_bias = 0.50 +} +# b_szolnok +3868 ={ + winter_severity_bias = 0.50 +} +# b_gyongospata +3869 ={ + winter_severity_bias = 0.50 +} +# b_eger +3948 ={ + winter_severity_bias = 0.50 +} +### d_somogy +## c_somogy +# b_somogyvar +3835 ={ + winter_severity_bias = 0.60 +} +# b_kaposvar +3836 ={ + winter_severity_bias = 0.60 +} +# b_csurgo +3837 ={ + winter_severity_bias = 0.60 +} +# b_szigetvar +3838 ={ + winter_severity_bias = 0.60 +} +## c_kolon +# b_kolon +3827 ={ + winter_severity_bias = 0.60 +} +# b_egerszeg +3828 ={ + winter_severity_bias = 0.60 +} +# b_letenye +3829 ={ + winter_severity_bias = 0.60 +} +## c_tolna +# b_tolna +3839 ={ + winter_severity_bias = 0.60 +} +# b_simontornya +3840 ={ + winter_severity_bias = 0.60 +} +# b_dombovar +3841 ={ + winter_severity_bias = 0.60 +} +## c_baranya +# b_baranyavar +3842 ={ + winter_severity_bias = 0.60 +} +# b_siklos +3843 ={ + winter_severity_bias = 0.60 +} +# b_pecs +3844 ={ + winter_severity_bias = 0.60 +} +# b_mohacs +3845 ={ + winter_severity_bias = 0.60 +} +### d_nyitra #Nitra +## c_nyitra #Nitra +# b_nyitra #Nitra +3831 ={ + winter_severity_bias = 0.60 +} +# b_pecsen +3832 ={ + winter_severity_bias = 0.60 +} +# b_bajmoc +3833 ={ + winter_severity_bias = 0.60 +} +# b_sasvar +3834 ={ + winter_severity_bias = 0.60 +} +## c_gemer +# b_gemer +524 ={ + winter_severity_bias = 0.60 +} +# b_murany +3858 ={ + winter_severity_bias = 0.60 +} +# b_rimaszombat +3859 ={ + winter_severity_bias = 0.60 +} +## c_orava +# b_arva #Orava +525 ={ + winter_severity_bias = 0.75 +} +# b_twardosczino +3810 ={ + winter_severity_bias = 0.75 +} +## c_trenscen +# b_trenscen +3811 ={ + winter_severity_bias = 0.70 +} +# b_puho +3812 ={ + winter_severity_bias = 0.75 +} +# b_zsolna +3813 ={ + winter_severity_bias = 0.75 +} +# b_turoc +3814 ={ + winter_severity_bias = 0.75 +} +## c_lipto #Liptov +# b_liptoujvar +3854 ={ + winter_severity_bias = 0.75 +} +# b_nemetlipsce +3855 ={ + winter_severity_bias = 0.75 +} +## c_zolyom +# b_zolyom +3856 ={ + winter_severity_bias = 0.60 +} +# b_breznobanya +3857 ={ + winter_severity_bias = 0.60 +} +## c_bars +# b_bars +3846 ={ + winter_severity_bias = 0.60 +} +# b_komorcbanya +3847 ={ + winter_severity_bias = 0.60 +} +## c_hont +# b_hont +3848 ={ + winter_severity_bias = 0.60 +} +# b_nograd +3849 ={ + winter_severity_bias = 0.60 +} +# b_balassagyarmat +3850 ={ + winter_severity_bias = 0.60 +} +# b_koporna +3851 ={ + winter_severity_bias = 0.60 +} +# b_losonc +3852 ={ + winter_severity_bias = 0.60 +} +# b_selmecbanya +3853 ={ + winter_severity_bias = 0.60 +} +## c_poszony +# b_poszony +3815 ={ + winter_severity_bias = 0.60 +} +# b_smozolany +3816 ={ + winter_severity_bias = 0.60 +} +# b_somorja +3934 ={ + winter_severity_bias = 0.60 +} +### d_ungvar +## c_ungvar +# b_ungvar +3897 ={ + winter_severity_bias = 0.60 +} +# b_nagyberezna +3895 ={ + winter_severity_bias = 0.60 +} +## c_zemplen +# b_zemplen +3885 ={ + winter_severity_bias = 0.60 +} +# b_szerencs +3886 ={ + winter_severity_bias = 0.60 +} +# b_zynna +3887 ={ + winter_severity_bias = 0.60 +} +# b_toporo +3888 ={ + winter_severity_bias = 0.65 +} +# b_varanno +3896 ={ + winter_severity_bias = 0.60 +} +## c_borsod +# b_borsod +3870 ={ + winter_severity_bias = 0.60 +} +# b_miskolc +3871 ={ + winter_severity_bias = 0.60 +} +# b_szendro +3979 ={ + winter_severity_bias = 0.60 +} +## c_saris +# b_saris #Saris castle, visible from Eperjes/Presov +533 ={ + winter_severity_bias = 0.65 +} +# b_barfta +3860 ={ + winter_severity_bias = 0.65 +} +## c_spis +# b_spis +3862 ={ + winter_severity_bias = 0.60 +} +# b_kesmark +3861 ={ + winter_severity_bias = 0.65 +} +## c_abauj +# b_abauj +538 ={ + winter_severity_bias = 0.60 +} +# b_kassa +3876 ={ + winter_severity_bias = 0.60 +} +# b_torna +3978 ={ + winter_severity_bias = 0.60 +} +### d_transcarpathia +## c_marmaros +# b_maramarossziget +539 ={ + winter_severity_bias = 0.65 +} +# b_tecso +3914 ={ + winter_severity_bias = 0.65 +} +# b_borsa +3915 ={ + winter_severity_bias = 0.65 +} +# b_huszt +3917 ={ + winter_severity_bias = 0.65 +} +# b_okormezo +3918 ={ + winter_severity_bias = 0.65 +} +## c_bereg +# b_beregszasz +537 ={ + winter_severity_bias = 0.60 +} +# b_nagyszolos +3913 ={ + winter_severity_bias = 0.60 +} +# b_munkacz +3893 ={ + winter_severity_bias = 0.65 +} +# b_alsoverecke +3894 ={ + winter_severity_bias = 0.65 +} +# b_borsova +3898 ={ + winter_severity_bias = 0.60 +} +### d_transylvania +## c_feher +# b_feher +519 ={ + winter_severity_bias = 0.55 +} +# b_kukullovar +3935 ={ + winter_severity_bias = 0.55 +} +# b_abrudbanya +3936 ={ + winter_severity_bias = 0.55 +} +# b_nagyszeben +3937 ={ + winter_severity_bias = 0.55 +} +# b_alvinc +3938 ={ + winter_severity_bias = 0.55 +} +# b_szaszkezd +3939 ={ + winter_severity_bias = 0.55 +} +## c_szekelyfold +# b_szekelyudvarhely +540 ={ + winter_severity_bias = 0.55 +} +# b_marosvasarhely +3929 ={ + winter_severity_bias = 0.55 +} +# b_csikszereda +3930 ={ + winter_severity_bias = 0.75 +} +# b_gyergyoszentmiklos +3946 ={ + winter_severity_bias = 0.75 +} +## c_barcasag +# b_brasso +3942 ={ + winter_severity_bias = 0.75 +} +# b_balvanyos +3943 ={ + winter_severity_bias = 0.75 +} +# b_sepsiszentgyorgy +3944 ={ + winter_severity_bias = 0.55 +} +# b_kovaszna +3945 ={ + winter_severity_bias = 0.75 +} +## c_fogaras +# b_fogaras +3940 ={ + winter_severity_bias = 0.55 +} +# b_torcsvar +3941 ={ + winter_severity_bias = 0.75 +} +## c_torda +# b_torda +3924 ={ + winter_severity_bias = 0.55 +} +# b_banffyhunyad +3925 ={ + winter_severity_bias = 0.55 +} +# b_koloszvar +3926 ={ + winter_severity_bias = 0.55 +} +# b_szaszregen +3927 ={ + winter_severity_bias = 0.55 +} +# b_aranyosbanya +3928 ={ + winter_severity_bias = 0.55 +} +## c_beszterce +# b_beszterce +3919 ={ + winter_severity_bias = 0.55 +} +# b_radna +3920 ={ + winter_severity_bias = 0.75 +} +# b_des +3921 ={ + winter_severity_bias = 0.55 +} +# b_szek +3922 ={ + winter_severity_bias = 0.55 +} +# b_laposbanya +3923 ={ + winter_severity_bias = 0.55 +} +## c_hunyad +# b_vajdahunyad +3931 ={ + winter_severity_bias = 0.75 +} +# b_harszoc +3932 ={ + winter_severity_bias = 0.75 +} +# b_deva +3933 ={ + winter_severity_bias = 0.55 +} +### d_bihar +## c_bihar +# b_nagyvarad +520 ={ + winter_severity_bias = 0.55 +} +# b_gyozeg +3899 ={ + winter_severity_bias = 0.55 +} +# b_debrecen +3900 ={ + winter_severity_bias = 0.55 +} +# b_belenyes +3901 ={ + winter_severity_bias = 0.70 +} +# b_zolonta +3902 ={ + winter_severity_bias = 0.55 +} +# b_elesd +3947 ={ + winter_severity_bias = 0.55 +} +## c_zarand +# b_zarand +3903 ={ + winter_severity_bias = 0.55 +} +# b_nagyhalmagy +3904 ={ + winter_severity_bias = 0.55 +} +# b_pankota +3975 ={ + winter_severity_bias = 0.55 +} +## c_bekes +# b_bekes +3873 ={ + winter_severity_bias = 0.55 +} +# b_svarvas +3874 ={ + winter_severity_bias = 0.55 +} +# b_oroshaza +3875 ={ + winter_severity_bias = 0.55 +} +## c_szabolcs +# b_szabolcs +3889 ={ + winter_severity_bias = 0.55 +} +# b_nyir +3890 ={ + winter_severity_bias = 0.55 +} +# b_nagyboszormeny +3891 ={ + winter_severity_bias = 0.55 +} +# b_szobszlo +3892 ={ + winter_severity_bias = 0.55 +} +## c_szatmar +# b_szatmar +3907 ={ + winter_severity_bias = 0.55 +} +# b_nagybanya +3908 ={ + winter_severity_bias = 0.55 +} +# b_szilagy +3909 ={ + winter_severity_bias = 0.55 +} +# b_kraszna +3910 ={ + winter_severity_bias = 0.55 +} +# b_tasnad +3911 ={ + winter_severity_bias = 0.55 +} +# b_nagykaroly +3912 ={ + winter_severity_bias = 0.55 +} +### d_temes +## c_temes +# b_temesvar +517 ={ + winter_severity_bias = 0.55 +} +# b_lugos +3880 ={ + winter_severity_bias = 0.55 +} +# b_boksanbanya +3973 ={ + winter_severity_bias = 0.55 +} +## c_arad +# b_arad +3905 ={ + winter_severity_bias = 0.55 +} +# b_lippa +3906 ={ + winter_severity_bias = 0.55 +} +## c_krasso +# b_krasso +3882 ={ + winter_severity_bias = 0.55 +} +# b_ersomlyo +3883 ={ + winter_severity_bias = 0.55 +} +# b_fehertemplom +3884 ={ + winter_severity_bias = 0.55 +} +## c_keve +# b_kevevar +3877 ={ + winter_severity_bias = 0.55 +} +# b_pancsova +3878 ={ + winter_severity_bias = 0.55 +} +# b_becse +3879 ={ + winter_severity_bias = 0.55 +} +## c_csanad +# b_csanad +521 ={ + winter_severity_bias = 0.55 +} +# b_szeged +3872 ={ + winter_severity_bias = 0.55 +} +# b_nagylak +3974 ={ + winter_severity_bias = 0.55 +} +### d_bacs +## c_bacs +# b_bacs +518 ={ + winter_severity_bias = 0.40 +} +# b_titel +3830 ={ + winter_severity_bias = 0.40 +} +## c_bodrog +# b_bodrog +3863 ={ + winter_severity_bias = 0.50 +} +# b_zenta +3864 ={ + winter_severity_bias = 0.50 +} +## c_csongrad +# b_csongrad +3865 ={ + winter_severity_bias = 0.50 +} +# b_kiskunhalas +3866 ={ + winter_severity_bias = 0.50 +} +### d_gyor +## c_gyor +# b_gyor +3823 ={ + winter_severity_bias = 0.55 +} +# b_moson +3822 ={ + winter_severity_bias = 0.55 +} +## c_sopron +# b_sopron +3817 ={ + winter_severity_bias = 0.55 +} +# b_kapuvar +3818 ={ + winter_severity_bias = 0.55 +} +# b_koszeg +3819 ={ + winter_severity_bias = 0.55 +} +## c_vas +# b_vasvar +3820 ={ + winter_severity_bias = 0.55 +} +# b_kormend +3821 ={ + winter_severity_bias = 0.55 +} +# b_szentgotthard +3977 ={ + winter_severity_bias = 0.55 +} +## c_veszprem +# b_veszprem +3826 ={ + winter_severity_bias = 0.55 +} +# b_zirc +3824 ={ + winter_severity_bias = 0.55 +} +# b_vasarhely +3825 ={ + winter_severity_bias = 0.60 +} +### d_syrmia +## c_szerem +# b_szerem +3739 ={ + winter_severity_bias = 0.40 +} +# b_ilok +3611 ={ + winter_severity_bias = 0.40 +} +# b_zemun +3613 ={ + winter_severity_bias = 0.40 +} + +##### e_france +#### k_france +### d_valois +## c_ile_de_france +# b_paris +2333 ={ + winter_severity_bias = 0.40 +} +# b_saint_denis +2357 ={ + winter_severity_bias = 0.40 +} +# b_montreuil +2356 ={ + winter_severity_bias = 0.40 +} +# b_versailles +2334 ={ + winter_severity_bias = 0.40 +} +# b_montlhery +2335 ={ + winter_severity_bias = 0.40 +} +# b_etampes +2336 ={ + winter_severity_bias = 0.40 +} +## c_brie_francaise +# b_melun +2354 ={ + winter_severity_bias = 0.40 +} +# b_bray +2353 ={ + winter_severity_bias = 0.40 +} +# b_nemours +2337 ={ + winter_severity_bias = 0.40 +} +# b_montereau +2342 ={ + winter_severity_bias = 0.40 +} +## c_vermandois +# b_marle +2397 ={ + winter_severity_bias = 0.40 +} +# b_roucy +2400 ={ + winter_severity_bias = 0.40 +} +# b_laon +2399 ={ + winter_severity_bias = 0.40 +} +## c_valois +# b_senlis +2358 ={ + winter_severity_bias = 0.40 +} +# b_crepy +2360 ={ + winter_severity_bias = 0.40 +} +# b_coucy +2398 ={ + winter_severity_bias = 0.40 +} +## c_amiens +# b_amiens +2184 ={ + winter_severity_bias = 0.40 +} +# b_corbie +2185 ={ + winter_severity_bias = 0.40 +} +# b_peronne +2186 ={ + winter_severity_bias = 0.40 +} +## c_beaumont +# b_beaumont +2190 ={ + winter_severity_bias = 0.40 +} +# b_mantes +2181 ={ + winter_severity_bias = 0.40 +} +# b_beauvais +2183 ={ + winter_severity_bias = 0.40 +} +# b_montfort +2332 ={ + winter_severity_bias = 0.40 +} +## c_clermont +# b_clermont +2189 ={ + winter_severity_bias = 0.40 +} +# b_noyon +2188 ={ + winter_severity_bias = 0.40 +} +# b_saint_quentin +2187 ={ + winter_severity_bias = 0.40 +} +### d_berry +## c_berry +# b_deols +2280 ={ + winter_severity_bias = 0.40 +} +# b_chateauroux +2279 ={ + winter_severity_bias = 0.40 +} +# b_la_haye +2276 ={ + winter_severity_bias = 0.40 +} +## c_tourraine +# b_tours +2274 ={ + winter_severity_bias = 0.40 +} +# b_tourraine #Langeais +2273 ={ + winter_severity_bias = 0.40 +} +# b_loches +2275 ={ + winter_severity_bias = 0.40 +} +## c_blois +# b_blois +2319 ={ + winter_severity_bias = 0.40 +} +# b_contres +2318 ={ + winter_severity_bias = 0.40 +} +# b_romorantin +2316 ={ + winter_severity_bias = 0.40 +} +## c_issoudun +# b_issoudun +2278 ={ + winter_severity_bias = 0.40 +} +# b_valencay +2277 ={ + winter_severity_bias = 0.40 +} +# b_bourges +2312 ={ + winter_severity_bias = 0.40 +} +### d_anjou +## c_anjou +# b_angers +2267 ={ + winter_severity_bias = 0.40 +} +# b_luigne +2263 ={ + winter_severity_bias = 0.40 +} +# b_la_fleche +2268 ={ + winter_severity_bias = 0.40 +} +# b_le_lude +2269 ={ + winter_severity_bias = 0.40 +} +# b_craon +2262 ={ + winter_severity_bias = 0.40 +} +## c_saumur +# b_saumur +2261 ={ + winter_severity_bias = 0.40 +} +# b_melay +2260 ={ + winter_severity_bias = 0.40 +} +## c_maine +# b_le_mans +2270 ={ + winter_severity_bias = 0.40 +} +# b_courcillon +2272 ={ + winter_severity_bias = 0.40 +} +# b_sarthe +2271 ={ + winter_severity_bias = 0.40 +} +## c_sable +# b_sable +2264 ={ + winter_severity_bias = 0.40 +} +# b_mayenne +2266 ={ + winter_severity_bias = 0.40 +} +# b_laval +2265 ={ + winter_severity_bias = 0.40 +} +### d_normandy +## c_rouen +# b_rouen +2179 ={ + winter_severity_bias = 0.45 +} +# b_gisors +2180 ={ + winter_severity_bias = 0.45 +} +# b_harcourt +2175 ={ + winter_severity_bias = 0.45 +} +## c_evreux +# b_evreux +2329 ={ + winter_severity_bias = 0.45 +} +# b_vernon +2330 ={ + winter_severity_bias = 0.45 +} +# b_verneuil +2328 ={ + winter_severity_bias = 0.45 +} +## c_bayeux +# b_bayeux +2170 ={ + winter_severity_bias = 0.45 +} +# b_caen +2172 ={ + winter_severity_bias = 0.45 +} +# b_falaise +2173 ={ + winter_severity_bias = 0.45 +} +## c_avranches +# b_avranches +2167 ={ + winter_severity_bias = 0.45 +} +# b_cherbourg +2169 ={ + winter_severity_bias = 0.45 +} +# b_coutances +2168 ={ + winter_severity_bias = 0.45 +} +## c_alencon +# b_alencon +2325 ={ + winter_severity_bias = 0.45 +} +# b_mortain +2171 ={ + winter_severity_bias = 0.45 +} +# b_argentan +2326 ={ + winter_severity_bias = 0.45 +} +## c_lisieux +# b_lisieux +2174 ={ + winter_severity_bias = 0.45 +} +# b_sees +2327 ={ + winter_severity_bias = 0.45 +} +## c_eu +# b_eu +2178 ={ + winter_severity_bias = 0.45 +} +# b_fecamp +2176 ={ + winter_severity_bias = 0.45 +} +# b_dieppe +2177 ={ + winter_severity_bias = 0.45 +} +# b_aumale +2182 ={ + winter_severity_bias = 0.45 +} +### d_orleans +## c_orleans +# b_orleans +2338 ={ + winter_severity_bias = 0.40 +} +# b_beaugency +2320 ={ + winter_severity_bias = 0.40 +} +# b_olivet +2317 ={ + winter_severity_bias = 0.40 +} +# b_vierzon +2315 ={ + winter_severity_bias = 0.40 +} +## c_montargis +# b_montargis +2339 ={ + winter_severity_bias = 0.40 +} +# b_coutenay +2340 ={ + winter_severity_bias = 0.40 +} +# b_chateau_renard +2341 ={ + winter_severity_bias = 0.40 +} +## c_vendome +# b_vendome +2283 ={ + winter_severity_bias = 0.40 +} +# b_chateaudun +2321 ={ + winter_severity_bias = 0.40 +} +## c_chartres +# b_dreux +2331 ={ + winter_severity_bias = 0.40 +} +# b_chartres +2322 ={ + winter_severity_bias = 0.40 +} +# b_perche #Displayed as Mortagne +2324 ={ + winter_severity_bias = 0.40 +} +# b_nogent_le_rotrou +2323 ={ + winter_severity_bias = 0.40 +} +## c_sancerre +# b_sancerre +2314 ={ + winter_severity_bias = 0.40 +} +# b_sully_sur_loire +2463 ={ + winter_severity_bias = 0.40 +} +# b_herry +2313 ={ + winter_severity_bias = 0.40 +} +### d_champagne +## c_reims +# b_reims +2390 ={ + winter_severity_bias = 0.40 +} +# b_epernay +2366 ={ + winter_severity_bias = 0.40 +} +# b_chatillon +2362 ={ + winter_severity_bias = 0.40 +} +# b_chateau_thierry +2361 ={ + winter_severity_bias = 0.40 +} +## c_troyes +# b_troyes +2371 ={ + winter_severity_bias = 0.40 +} +# b_clairvaux +2375 ={ + winter_severity_bias = 0.40 +} +# b_joinville +2373 ={ + winter_severity_bias = 0.40 +} +# b_bar_sur_aube +2372 ={ + winter_severity_bias = 0.40 +} +## c_coulommiers #Displayed as Provins ingame +# b_provins +2363 ={ + winter_severity_bias = 0.40 +} +# b_coulommiers +2364 ={ + winter_severity_bias = 0.40 +} +# b_romilly +2365 ={ + winter_severity_bias = 0.40 +} +## c_meaux +# b_meaux +2359 ={ + winter_severity_bias = 0.40 +} +# b_crecy +2355 ={ + winter_severity_bias = 0.40 +} +## c_chalons +# b_chalons +2392 ={ + winter_severity_bias = 0.40 +} +# b_saint_dizier +2389 ={ + winter_severity_bias = 0.40 +} +# b_vitry_en_perthois +2367 ={ + winter_severity_bias = 0.40 +} +## c_rethel +# b_rethel +2391 ={ + winter_severity_bias = 0.40 +} +# b_grandpre +2393 ={ + winter_severity_bias = 0.40 +} +# b_mezieres +2394 ={ + winter_severity_bias = 0.40 +} +# b_romigny +2396 ={ + winter_severity_bias = 0.40 +} +## c_sens +# b_sens +2352 ={ + winter_severity_bias = 0.40 +} +# b_nogent +2368 ={ + winter_severity_bias = 0.40 +} +# b_aube +2369 ={ + winter_severity_bias = 0.40 +} +# b_bar_sur_seine +2370 ={ + winter_severity_bias = 0.40 +} +### d_burgundy +# French, or Lower Burgundy +## c_dijon +# b_dijon +2380 ={ + winter_severity_bias = 0.40 +} +# b_gray +2382 ={ + winter_severity_bias = 0.40 +} +# b_chaumont +2381 ={ + winter_severity_bias = 0.40 +} +## c_chalon +# b_chalon +2348 ={ + winter_severity_bias = 0.40 +} +# b_citeaux +2377 ={ + winter_severity_bias = 0.40 +} +# b_beaune +2376 ={ + winter_severity_bias = 0.40 +} +# b_autun +2347 ={ + winter_severity_bias = 0.40 +} +## c_auxerre +# b_auxerre +2346 ={ + winter_severity_bias = 0.40 +} +# b_donzy +2345 ={ + winter_severity_bias = 0.40 +} +# b_chablis +2350 ={ + winter_severity_bias = 0.40 +} +## c_tonnerrois +# b_tonnerre +2351 ={ + winter_severity_bias = 0.40 +} +# b_montbard +2379 ={ + winter_severity_bias = 0.40 +} +## c_avalois +# b_vezelay +2349 ={ + winter_severity_bias = 0.40 +} +# b_morvan +2378 ={ + winter_severity_bias = 0.40 +} +## c_macon +# b_macon +2302 ={ + winter_severity_bias = 0.40 +} +# b_cluny +2304 ={ + winter_severity_bias = 0.40 +} +# b_semur_en_brionnais +2303 ={ + winter_severity_bias = 0.40 +} +## c_nevers +# b_nevers +2343 ={ + winter_severity_bias = 0.40 +} +# b_moulins +2307 ={ + winter_severity_bias = 0.40 +} +# b_pougues_les_eaux +2344 ={ + winter_severity_bias = 0.40 +} +### d_bar +## c_bar +# b_bar +2388 ={ + winter_severity_bias = 0.40 +} +# b_verdun +2395 ={ + winter_severity_bias = 0.40 +} +# b_argonne #Displayed as Saint-Mihiel +2081 ={ + winter_severity_bias = 0.40 +} +## c_briey +# b_briey +2706 ={ + winter_severity_bias = 0.40 +} +# b_hayange +2080 ={ + winter_severity_bias = 0.40 +} +## c_langres +# b_langres +2374 ={ + winter_severity_bias = 0.40 +} +# b_grand +2386 ={ + winter_severity_bias = 0.40 +} +# b_champs +2385 ={ + winter_severity_bias = 0.40 +} +## c_vaucouleurs +# b_vaucouleurs +2387 ={ + winter_severity_bias = 0.40 +} +# b_toul +2079 ={ + winter_severity_bias = 0.40 +} +### d_flanders +## c_brugge +# b_bruges +2115 ={ + winter_severity_bias = 0.45 +} +# b_gent +2114 ={ + winter_severity_bias = 0.45 +} +# b_roeselare +2124 ={ + winter_severity_bias = 0.45 +} +## c_yperen +# b_ypres +2125 ={ + winter_severity_bias = 0.45 +} +# b_veurne +2128 ={ + winter_severity_bias = 0.45 +} +# b_dunkirk +2131 ={ + winter_severity_bias = 0.45 +} +## c_guines +# b_calais +2130 ={ + winter_severity_bias = 0.45 +} +# b_grevelines +2129 ={ + winter_severity_bias = 0.45 +} +# b_saint_omer +2133 ={ + winter_severity_bias = 0.45 +} +## c_lille +# b_lille +2126 ={ + winter_severity_bias = 0.45 +} +# b_courtrai +2123 ={ + winter_severity_bias = 0.45 +} +# b_aire +2134 ={ + winter_severity_bias = 0.45 +} +## c_boulogne +# b_boulogne +2132 ={ + winter_severity_bias = 0.45 +} +# b_montreuil_sur_mer +2136 ={ + winter_severity_bias = 0.45 +} +# b_abbeville +2137 ={ + winter_severity_bias = 0.45 +} +# b_hesdin +2135 ={ + winter_severity_bias = 0.45 +} + +#### k_aquitaine +### d_gascogne +## c_bordeaux +# b_bordeaux +2142 ={ + winter_severity_bias = 0.25 +} +# b_medoc +2141 ={ + winter_severity_bias = 0.25 +} +# b_blaye +2144 ={ + winter_severity_bias = 0.25 +} +# b_fronsac +2143 ={ + winter_severity_bias = 0.25 +} +## c_labourd +# b_bayonne +2012 ={ + winter_severity_bias = 0.25 +} +# b_dax +2138 ={ + winter_severity_bias = 0.25 +} +# b_mimizan +2139 ={ + winter_severity_bias = 0.25 +} +## c_albret +# b_albret +2196 ={ + winter_severity_bias = 0.25 +} +# b_tartas +2195 ={ + winter_severity_bias = 0.25 +} +# b_la_teste_de_buch +2140 ={ + winter_severity_bias = 0.25 +} +# b_langon +2197 ={ + winter_severity_bias = 0.25 +} +## c_marsan +# b_marsan +2199 ={ + winter_severity_bias = 0.25 +} +# b_bazadais +2198 ={ + winter_severity_bias = 0.25 +} +# b_gabardan +2200 ={ + winter_severity_bias = 0.25 +} +## c_agenais +# b_agen +2232 ={ + winter_severity_bias = 0.25 +} +# b_agenais +2235 ={ + winter_severity_bias = 0.25 +} +### d_aquitaine +## c_angouleme +# b_angouleme +2244 ={ + winter_severity_bias = 0.25 +} +# b_saint_junien +2245 ={ + winter_severity_bias = 0.25 +} +# b_cognac +2462 ={ + winter_severity_bias = 0.25 +} +## c_perigord +# b_perigueux +2237 ={ + winter_severity_bias = 0.25 +} +# b_nontron +2239 ={ + winter_severity_bias = 0.25 +} +# b_montignac +2238 ={ + winter_severity_bias = 0.25 +} +# b_bergerac +2236 ={ + winter_severity_bias = 0.25 +} +## c_limousin +# b_limoges +2248 ={ + winter_severity_bias = 0.25 +} +# b_chalus +2246 ={ + winter_severity_bias = 0.25 +} +# b_ventadour +2247 ={ + winter_severity_bias = 0.25 +} +# b_turenne +2240 ={ + winter_severity_bias = 0.25 +} +## c_saintonge +# b_saintonge +2241 ={ + winter_severity_bias = 0.25 +} +# b_jonzac +2145 ={ + winter_severity_bias = 0.25 +} +# b_royan +2146 ={ + winter_severity_bias = 0.25 +} +# b_saintes +2242 ={ + winter_severity_bias = 0.25 +} +## c_aunis +# b_la_rochelle +2147 ={ + winter_severity_bias = 0.25 +} +# b_taillebourg +2243 ={ + winter_severity_bias = 0.25 +} +### d_toulouse +## c_toulouse +# b_toulouse +2214 ={ + winter_severity_bias = 0.25 +} +# b_pamiers +2211 ={ + winter_severity_bias = 0.25 +} +# b_castelsarrasin +2213 ={ + winter_severity_bias = 0.25 +} +# b_beaumont_sur_leze +2208 ={ + winter_severity_bias = 0.25 +} +## c_quercy +# b_quercy +2231 ={ + winter_severity_bias = 0.25 +} +# b_montauban +2230 ={ + winter_severity_bias = 0.25 +} +# b_cahors +2233 ={ + winter_severity_bias = 0.25 +} +# b_figeac +2234 ={ + winter_severity_bias = 0.25 +} +## c_gevaudan +# b_gevaudan +2223 ={ + winter_severity_bias = 0.40 +} +# b_mende +2221 ={ + winter_severity_bias = 0.60 +} +# b_saint_flour +2224 ={ + winter_severity_bias = 0.60 +} +# b_langeac +2291 ={ + winter_severity_bias = 0.60 +} +## c_rouergue +# b_rodez +2226 ={ + winter_severity_bias = 0.25 +} +# b_la_salle +2228 ={ + winter_severity_bias = 0.25 +} +# b_marvejols +2227 ={ + winter_severity_bias = 0.25 +} +# b_la_peyrade +2229 ={ + winter_severity_bias = 0.25 +} +## c_millau +# b_millau +2222 ={ + winter_severity_bias = 0.25 +} +# b_navacelles +2220 ={ + winter_severity_bias = 0.25 +} +### d_languedoc +## c_albi +# b_albi +2215 ={ + winter_severity_bias = 0.10 +} +# b_castelnaudary +2212 ={ + winter_severity_bias = 0.10 +} +## c_uses +# b_montlaur +2217 ={ + winter_severity_bias = 0.30 +} +# b_uses +2216 ={ + winter_severity_bias = 0.30 +} +## c_montpellier +# b_montpellier +2015 ={ + winter_severity_bias = 0.10 +} +# b_nimes +2016 ={ + winter_severity_bias = 0.10 +} +# b_cevennes +2218 ={ + winter_severity_bias = 0.30 +} +## c_carcassonne +# b_carcassonne +2006 ={ + winter_severity_bias = 0.10 +} +# b_limoux +2447 ={ + winter_severity_bias = 0.10 +} +# b_narbonne +2005 ={ + winter_severity_bias = 0.10 +} +## c_beziers +# b_beziers +2013 ={ + winter_severity_bias = 0.10 +} +# b_lodeve +2219 ={ + winter_severity_bias = 0.10 +} +# b_agde +2014 ={ + winter_severity_bias = 0.10 +} +## c_foix +# b_foix +2209 ={ + winter_severity_bias = 0.10 +} +# b_tarascon +2210 ={ + winter_severity_bias = 0.10 +} +# b_montbel +2007 ={ + winter_severity_bias = 0.10 +} +### d_armagnac +## c_armagnac +# b_armagnac +2201 ={ + winter_severity_bias = 0.25 +} +# b_lectoure +2204 ={ + winter_severity_bias = 0.25 +} +# b_lomagne +2205 ={ + winter_severity_bias = 0.25 +} +# b_fesensac +2203 ={ + winter_severity_bias = 0.25 +} +## c_bigorre +# b_tarbes +2010 ={ + winter_severity_bias = 0.40 +} +# b_pardiac +2202 ={ + winter_severity_bias = 0.40 +} +## c_bearn +# b_pau +2193 ={ + winter_severity_bias = 0.40 +} +# b_tursan +2194 ={ + winter_severity_bias = 0.40 +} +# b_oloron +2011 ={ + winter_severity_bias = 0.40 +} +## c_comminges +# b_bertrand_de_comminges +2009 ={ + winter_severity_bias = 0.40 +} +# b_saint_lizier +2008 ={ + winter_severity_bias = 0.40 +} +# b_astarac +2206 ={ + winter_severity_bias = 0.40 +} +# b_muret +2207 ={ + winter_severity_bias = 0.40 +} +### d_poitou +## c_poitiers +# b_poitiers +2252 ={ + winter_severity_bias = 0.35 +} +# b_ruffec +2251 ={ + winter_severity_bias = 0.35 +} +# b_chatellerault +2253 ={ + winter_severity_bias = 0.35 +} +# b_loudun +2256 ={ + winter_severity_bias = 0.35 +} +## c_lusignan +# b_lusignan +2249 ={ + winter_severity_bias = 0.35 +} +# b_melle +2250 ={ + winter_severity_bias = 0.35 +} +# b_niort +2254 ={ + winter_severity_bias = 0.35 +} +## c_montaigu +# b_montaigu +2150 ={ + winter_severity_bias = 0.35 +} +# b_talmont +2149 ={ + winter_severity_bias = 0.35 +} +# b_maulevrier +2259 ={ + winter_severity_bias = 0.35 +} +## c_thouars +# b_thouars +2257 ={ + winter_severity_bias = 0.35 +} +# b_parthenay +2255 ={ + winter_severity_bias = 0.35 +} +# b_bressuire +2258 ={ + winter_severity_bias = 0.35 +} +# b_fontenay +2148 ={ + winter_severity_bias = 0.35 +} +### d_auvergne +## c_auvergne +# b_aurillac +2294 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_carlat +2293 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_murat +2292 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +## c_clermont_sur_allier +# b_clermont_sur_ailler +2289 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_la_tour +2295 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_mercaeur +2290 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_montpensier +2288 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +## c_thiers +# b_thiers +2299 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_ambert +2300 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +## c_velay +# b_le_puy +2225 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_velay +2296 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +### d_bourbon +## c_bourbon +# b_bourbon +2310 ={ + winter_severity_bias = 0.35 +} +# b_orval +2311 ={ + winter_severity_bias = 0.35 +} +# b_montlucon +2308 ={ + winter_severity_bias = 0.35 +} +# b_boussac +2281 ={ + winter_severity_bias = 0.35 +} +## c_bellac +# b_bellac +2284 ={ + winter_severity_bias = 0.35 +} +# b_la_tremouille +2464 ={ + winter_severity_bias = 0.35 +} +## c_jaligny +# b_saint_pourcain +2309 ={ + winter_severity_bias = 0.35 +} +# b_jaligny +2306 ={ + winter_severity_bias = 0.35 +} +## c_la_marche +# b_grandmont +2285 ={ + winter_severity_bias = 0.35 +} +# b_gueret +2286 ={ + winter_severity_bias = 0.35 +} +# b_aubusson +2287 ={ + winter_severity_bias = 0.35 +} + +#### k_brittany +### d_brittany +## c_vanness +# b_vannes +2154 ={ + winter_severity_bias = 0.40 +} +# b_porhoet +2163 ={ + winter_severity_bias = 0.40 +} +# b_rohan +2160 ={ + winter_severity_bias = 0.40 +} +## c_nantes +# b_nantes +2152 ={ + winter_severity_bias = 0.40 +} +# b_rais +2151 ={ + winter_severity_bias = 0.40 +} +# b_guerande +2153 ={ + winter_severity_bias = 0.40 +} +# b_chateaubriant +2166 ={ + winter_severity_bias = 0.40 +} +## c_cornouaille +# b_quimper +2156 ={ + winter_severity_bias = 0.40 +} +# b_lorient +2155 ={ + winter_severity_bias = 0.40 +} +# b_cornouailles +2159 ={ + winter_severity_bias = 0.40 +} +## c_french_leon +# b_brest +2157 ={ + winter_severity_bias = 0.40 +} +# b_st_pol_de_leon +2158 ={ + winter_severity_bias = 0.40 +} +## c_penthievre +# b_saint_brieuc +2162 ={ + winter_severity_bias = 0.40 +} +# b_treguier +2161 ={ + winter_severity_bias = 0.40 +} +# b_saint_malo +2164 ={ + winter_severity_bias = 0.40 +} +## c_rennes +# b_rennes +2165 ={ + winter_severity_bias = 0.40 +} +# b_combourg +2282 ={ + winter_severity_bias = 0.40 +} + +#### k_burgundy +### d_provence +## c_venaissin +# b_arles +2017 ={ + winter_severity_bias = 0.10 +} +# b_orange +2062 ={ + winter_severity_bias = 0.10 +} +# b_avignon +2059 ={ + winter_severity_bias = 0.10 +} +# b_vaison +2067 ={ + winter_severity_bias = 0.10 +} +## c_provence +# b_toulon +2019 ={ + winter_severity_bias = 0.10 +} +# b_dragugnian +2024 ={ + winter_severity_bias = 0.10 +} +# b_castellane +2025 ={ + winter_severity_bias = 0.10 +} +# b_marseille +2018 ={ + winter_severity_bias = 0.10 +} +# b_aix +2023 ={ + winter_severity_bias = 0.10 +} +## c_nice +# b_nice +2021 ={ + winter_severity_bias = 0.10 +} +# b_grasse +2020 ={ + winter_severity_bias = 0.10 +} +# b_barcelonnette +8720 ={ + winter_severity_bias = 0.50 +} +# b_puget +8721 ={ + winter_severity_bias = 0.50 +} +# b_digne +2026 ={ + winter_severity_bias = 0.50 +} +## c_forcalquier +# b_forcalquier +2061 ={ + winter_severity_bias = 0.20 +} +# b_apt +2060 ={ + winter_severity_bias = 0.20 +} +# b_embrun +2027 ={ + winter_severity_bias = 0.50 +} +# b_gap +2028 ={ + winter_severity_bias = 0.50 +} +# b_briancon +8718 ={ + winter_severity_bias = 0.50 +} +### d_savoie +## c_savoie +# b_moutiers +2031 ={ + winter_severity_bias = 0.70 +} +# b_saint_michel_de_maurienne +2029 ={ + winter_severity_bias = 0.70 +} +# b_chambery +2455 ={ + winter_severity_bias = 0.50 +} +# b_belley +2069 ={ + winter_severity_bias = 0.50 +} +## c_aosta +# b_aosta +2039 ={ + winter_severity_bias = 0.90 +} +# b_martigny +2038 ={ + winter_severity_bias = 0.70 +} +## c_geneva +# b_geneva +2035 ={ + winter_severity_bias = 0.45 +} +# b_annecy +2034 ={ + winter_severity_bias = 0.60 +} +# b_thonon_les_bains +2036 ={ + winter_severity_bias = 0.45 +} +# b_faucigny +8719 ={ + winter_severity_bias = 0.60 +} +## c_canavese +# b_ivrea +2040 ={ + winter_severity_bias = 0.90 +} +# b_pinerolo +2042 ={ + winter_severity_bias = 0.70 +} +# b_canavese +2456 ={ + winter_severity_bias = 0.70 +} +### d_dauphine +## c_lyon +# b_lyon +2065 ={ + winter_severity_bias = 0.40 +} +# b_villars +2070 ={ + winter_severity_bias = 0.40 +} +# b_beaujeu +2301 ={ + winter_severity_bias = 0.40 +} +## c_forez +# b_feurs +2297 ={ + winter_severity_bias = 0.40 +} +# b_montbrison +2298 ={ + winter_severity_bias = 0.40 +} +# b_roanne +2305 ={ + winter_severity_bias = 0.40 +} +## c_viviers +# b_viviers +2063 ={ + winter_severity_bias = 0.20 +} +# b_annonay +3258 ={ + winter_severity_bias = 0.20 +} +## c_viennois +# b_grenoble +2030 ={ + winter_severity_bias = 0.40 +} +# b_vienne +2033 ={ + winter_severity_bias = 0.40 +} +# b_chartreuse +2032 ={ + winter_severity_bias = 0.40 +} +# b_romans +2068 ={ + winter_severity_bias = 0.40 +} +## c_valentinois +# b_monteil +8717 ={ + winter_severity_bias = 0.20 +} +# b_die +2066 ={ + winter_severity_bias = 0.20 +} +# b_valence +2064 ={ + winter_severity_bias = 0.20 +} +### d_upper_burgundy +## c_besancon +# b_besancon +2076 ={ + winter_severity_bias = 0.40 +} +# b_vesoul +2077 ={ + winter_severity_bias = 0.40 +} +# b_morteau +2075 ={ + winter_severity_bias = 0.40 +} +# b_ornans +2459 ={ + winter_severity_bias = 0.40 +} +# b_gy +2383 ={ + winter_severity_bias = 0.40 +} +## c_bresse +# b_bourg +2071 ={ + winter_severity_bias = 0.40 +} +# b_champagnole +2457 ={ + winter_severity_bias = 0.40 +} +## c_dole +# b_dole +2458 ={ + winter_severity_bias = 0.40 +} +# b_quingey +2191 ={ + winter_severity_bias = 0.40 +} +# b_lons_le_saunier +2073 ={ + winter_severity_bias = 0.40 +} +# b_salins +2072 ={ + winter_severity_bias = 0.40 +} +### d_transjurania +## c_bern +# b_bern +2046 ={ + winter_severity_bias = 0.45 +} +# b_lausanne +2037 ={ + winter_severity_bias = 0.45 +} +# b_thun +2047 ={ + winter_severity_bias = 0.70 +} +## c_aargau +# b_biel +2049 ={ + winter_severity_bias = 0.70 +} +# b_lucerne +2048 ={ + winter_severity_bias = 0.70 +} +## c_neuchatel +# b_neuchatel +2460 ={ + winter_severity_bias = 0.70 +} +# b_pontarlier +2074 ={ + winter_severity_bias = 0.70 +} + +##### e_spain +#### k_andalusia +### d_cordoba +## c_cordoba +# b_cordoba +1995 ={ + winter_severity_bias = 0.0 +} +# b_cantillana +1994 ={ + winter_severity_bias = 0.0 +} +# b_guadiato +1999 ={ + winter_severity_bias = 0.0 +} +# b_pedroche +1988 ={ + winter_severity_bias = 0.0 +} +## c_calatrava +# b_calatrava +1963 ={ + winter_severity_bias = 0.10 +} +# b_tomelloso #valdepenas +1965 ={ + winter_severity_bias = 0.10 +} +# b_mentesa +1966 ={ + winter_severity_bias = 0.10 +} +## c_almader #Alarcos +# b_alarcos +1987 ={ + winter_severity_bias = 0.10 +} +# b_almader #Almaden +1989 ={ + winter_severity_bias = 0.10 +} +## c_andujar +# b_jaen +1977 ={ + winter_severity_bias = 0.0 +} +# b_andujar +1986 ={ + winter_severity_bias = 0.0 +} +# b_ubeda +1985 ={ + winter_severity_bias = 0.0 +} +### d_granada +## c_granada +# b_granada +1978 ={ + winter_severity_bias = 0.15 +} +# b_quesada #huescar +1976 ={ + winter_severity_bias = 0.0 +} +# b_guadiz #guadix +1975 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.0 +} +## c_almeria +# b_almeria +1849 ={ + winter_severity_bias = 0.0 +} +# b_lorca +1972 ={ + winter_severity_bias = 0.0 +} +# b_baza +1974 ={ + winter_severity_bias = 0.15 +} +## c_cabra +# b_cabra +1979 ={ + winter_severity_bias = 0.0 +} +# b_antequera +1984 ={ + winter_severity_bias = 0.15 +} +## c_malaga +# b_malaga +1846 ={ + winter_severity_bias = 0.0 +} +# b_nerja +1847 ={ + winter_severity_bias = 0.0 +} +# b_motril +1848 ={ + winter_severity_bias = 0.0 +} +### d_sevilla +## c_sevilla +# b_sevilla +1981 ={ + winter_severity_bias = 0.0 +} +# b_carmona +1980 ={ + winter_severity_bias = 0.0 +} +# b_almonte +1841 ={ + winter_severity_bias = 0.0 +} +# b_triana #aznalcollar +1993 ={ + winter_severity_bias = 0.0 +} +## c_cadiz +# b_cadiz +1843 ={ + winter_severity_bias = 0.0 +} +# b_tarifa +1844 ={ + winter_severity_bias = 0.0 +} +# b_jerez +1842 ={ + winter_severity_bias = 0.0 +} +## c_algeciras +# b_algeciras +1845 ={ + winter_severity_bias = 0.0 +} +# b_arcos +1982 ={ + winter_severity_bias = 0.0 +} +# b_moron +1983 ={ + winter_severity_bias = 0.0 +} +## c_niebla +# b_niebla +1991 ={ + winter_severity_bias = 0.0 +} +# b_huelva +1840 ={ + winter_severity_bias = 0.0 +} +# b_ayamonte +1839 ={ + winter_severity_bias = 0.0 +} +# b_zafra #aracena +1992 ={ + winter_severity_bias = 0.0 +} +## c_moura +# b_moura +1837 ={ + winter_severity_bias = 0.0 +} +# b_serpa +1838 ={ + winter_severity_bias = 0.0 +} +### d_toledo +## c_toledo +# b_toledo +1919 ={ + winter_severity_bias = 0.0 +} +# b_maqueda +1920 ={ + winter_severity_bias = 0.0 +} +# b_talavera +1918 ={ + winter_severity_bias = 0.0 +} +## c_madrid +# b_madrid +1923 ={ + winter_severity_bias = 0.15 +} +# b_gudalajara +1927 ={ + winter_severity_bias = 0.15 +} +# b_villarejodesalvanes +1929 ={ + winter_severity_bias = 0.15 +} +# b_arganda +1928 ={ + winter_severity_bias = 0.15 +} +## c_molina +# b_molina +1935 ={ + winter_severity_bias = 0.15 +} +# b_ablanque #Atienza +1933 ={ + winter_severity_bias = 0.15 +} +# b_medinaceli +1931 ={ + winter_severity_bias = 0.15 +} +# b_siguenza +1930 ={ + winter_severity_bias = 0.35 + harsh_winter_factor_override = 0.05 +} +## c_cuenca +# b_cuenca +1947 ={ + winter_severity_bias = 0.15 +} +# b_altotajo #Huelamo +1945 ={ + winter_severity_bias = 0.15 +} +# b_zurita #Zorita +1944 ={ + winter_severity_bias = 0.15 +} +# b_huete +1951 ={ + winter_severity_bias = 0.15 +} +## c_malagon +# b_malagon +1960 ={ + winter_severity_bias = 0.10 +} +# b_cabaneros +1961 ={ + winter_severity_bias = 0.10 +} +# b_lajara +1957 ={ + winter_severity_bias = 0.10 +} +# b_lapueblademontalban +1962 ={ + winter_severity_bias = 0.10 +} +## c_mora +# b_ucles +1952 ={ + winter_severity_bias = 0.15 +} +# b_mora +1953 ={ + winter_severity_bias = 0.15 +} +# b_ocana +1958 ={ + winter_severity_bias = 0.15 +} +# b_quintanar +1959 ={ + winter_severity_bias = 0.15 +} + +#### k_badajoz #Badajoz/Lucitania +### d_beja +## c_lisboa +# b_lisboa +1754 ={ + winter_severity_bias = 0.0 +} +# b_santarem +1755 ={ + winter_severity_bias = 0.0 +} +# b_setubal +1753 ={ + winter_severity_bias = 0.0 +} +## c_beja +# b_evora +1777 ={ + winter_severity_bias = 0.0 +} +# b_beja +1751 ={ + winter_severity_bias = 0.0 +} +## c_alcacer_do_sal +# b_alcacerdosal +1752 ={ + winter_severity_bias = 0.0 +} +# b_montemor +1779 ={ + winter_severity_bias = 0.0 +} +# b_vianadoalento #Viana do Alentejo +1780 ={ + winter_severity_bias = 0.0 +} +# b_avis +1778 ={ + winter_severity_bias = 0.0 +} +## c_elvas +# b_elvas +1776 ={ + winter_severity_bias = 0.0 +} +# b_nisa +1774 ={ + winter_severity_bias = 0.0 +} +# b_crato +1775 ={ + winter_severity_bias = 0.0 +} +### d_badajoz +## c_badajoz +# b_badajoz +1835 ={ + winter_severity_bias = 0.0 +} +# b_olivienza +1836 ={ + winter_severity_bias = 0.0 +} +# b_ilerena #Llerena +1990 ={ + winter_severity_bias = 0.0 +} +## c_plasencia +# b_hervas +1831 ={ + winter_severity_bias = 0.0 +} +# b_coira #Coria +1830 ={ + winter_severity_bias = 0.0 +} +# b_almaraz +1917 ={ + winter_severity_bias = 0.0 +} +## c_caceres +# b_caceres +1954 ={ + winter_severity_bias = 0.0 +} +# b_alcantara +1832 ={ + winter_severity_bias = 0.0 +} +# b_zalaca +1833 ={ + winter_severity_bias = 0.0 +} +## c_merida +# b_merida +1834 ={ + winter_severity_bias = 0.0 +} +# b_trujillo +1955 ={ + winter_severity_bias = 0.0 +} +# b_castilblanco +1956 ={ + winter_severity_bias = 0.0 +} +## c_medellin +# b_medellin +1996 ={ + winter_severity_bias = 0.0 +} +# b_donllorente #La Serena +1998 ={ + winter_severity_bias = 0.0 +} +# b_hornachos +1997 ={ + winter_severity_bias = 0.0 +} +### d_algarve +## c_faro +# b_faro +1748 ={ + winter_severity_bias = 0.10 +} +# b_mertola +1750 ={ + winter_severity_bias = 0.10 +} +## c_silves +# b_silves +1747 ={ + winter_severity_bias = 0.10 +} +# b_ourique +1749 ={ + winter_severity_bias = 0.10 +} +# b_lagos +1746 ={ + winter_severity_bias = 0.10 +} + +#### k_valencia #Valencia +### d_valencia +## c_valencia +# b_valencia +1855 ={ + winter_severity_bias = 0.0 +} +# b_murviedro +1856 ={ + winter_severity_bias = 0.0 +} +# b_montanejos +1938 ={ + winter_severity_bias = 0.0 +} +# b_requena +1939 ={ + winter_severity_bias = 0.0 +} +## c_castellon +# b_castellon +1857 ={ + winter_severity_bias = 0.0 +} +# b_amposta +1858 ={ + winter_severity_bias = 0.0 +} +# b_segorbe +1941 ={ + winter_severity_bias = 0.40 + harsh_winter_factor_override = 0.0 +} +## c_teruel +# b_teruel +1937 ={ + winter_severity_bias = 0.40 + harsh_winter_factor_override = 0.0 +} +# b_maestrazgo +1942 ={ + winter_severity_bias = 0.40 + harsh_winter_factor_override = 0.0 +} +# b_ademuz #Alpuente +1946 ={ + winter_severity_bias = 0.20 +} +## c_denia +# b_denia +1854 ={ + winter_severity_bias = 0.0 +} +# b_almansa #Alcoy +1969 ={ + winter_severity_bias = 0.0 +} +## c_alicante +# b_alicante +1853 ={ + winter_severity_bias = 0.0 +} +# b_albacete +1940 ={ + winter_severity_bias = 0.0 +} +### d_mallorca +## c_mallorca +# b_palma +8735 ={ + winter_severity_bias = 0.0 +} +# b_alcudia +2001 ={ + winter_severity_bias = 0.0 +} +## c_menorca +# b_menorca +2002 ={ + winter_severity_bias = 0.0 +} +## c_iviza +# b_iviza +2000 ={ + winter_severity_bias = 0.0 +} +### d_murcia +## c_murcia +# b_murcia +1852 ={ + winter_severity_bias = 0.0 +} +# b_cartagena +1851 ={ + winter_severity_bias = 0.0 +} +# b_aguilas +1850 ={ + winter_severity_bias = 0.0 +} +# b_caravacadelacruz +1971 ={ + winter_severity_bias = 0.0 +} +# b_cieza +1970 ={ + winter_severity_bias = 0.0 +} +## c_alcaraz +# b_alcaraz +1967 ={ + winter_severity_bias = 0.0 +} +# b_huescar #Cotillas +1973 ={ + winter_severity_bias = 0.15 +} +# b_segura #Albacete +1968 ={ + winter_severity_bias = 0.0 +} +# b_reolid #montiel +2004 ={ + winter_severity_bias = 0.0 +} +## c_alarcon +# b_alarcon +1949 ={ + winter_severity_bias = 0.10 +} +# b_ventadelmoro #Iniesta +1950 ={ + winter_severity_bias = 0.10 +} +# b_valeria +1948 ={ + winter_severity_bias = 0.10 +} +# b_alcazar +1964 ={ + winter_severity_bias = 0.10 +} + +#### k_castille #Spain +### d_castilla +## c_burgos +# b_burgos +1906 ={ + winter_severity_bias = 0.40 +} +# b_atapuerca +1907 ={ + winter_severity_bias = 0.40 +} +# b_lerma +1908 ={ + winter_severity_bias = 0.40 +} +# b_palencia +1905 ={ + winter_severity_bias = 0.40 +} +## c_valladolid +# b_valladolid +1897 ={ + winter_severity_bias = 0.40 +} +# b_simancas +1896 ={ + winter_severity_bias = 0.40 +} +# b_arandadeduero +1898 ={ + winter_severity_bias = 0.40 +} +## c_soria +# b_soria +1901 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} +# b_osma +1900 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} +# b_sanesteban +1899 ={ + winter_severity_bias = 0.40 +} +# b_sanleonardodeyague #San Leonardo +1909 ={ + winter_severity_bias = 0.35 +} +## c_cuellar +# b_segovia +1924 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +# b_cuellar +1925 ={ + winter_severity_bias = 0.30 +} +# b_uceda +1926 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +## c_olmedo +# b_olmedo +1915 ={ + winter_severity_bias = 0.40 +} +# b_coracera +1922 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +### d_cantabria +## c_asturias_de_santillana +# b_santiallana +1801 ={ + winter_severity_bias = 0.30 +} +# b_santander +1802 ={ + winter_severity_bias = 0.30 +} +# b_reinosa +1815 ={ + winter_severity_bias = 0.30 +} +# b_medinadepomar +1812 ={ + winter_severity_bias = 0.30 +} +## c_amaya +# b_amaya +1814 ={ + winter_severity_bias = 0.40 +} +# b_mirandadeebro +1813 ={ + winter_severity_bias = 0.40 +} +# b_sedano +1904 ={ + winter_severity_bias = 0.40 +} + +#### k_aragon +### d_aragon +## c_zaragoza +# b_zaragoza +1887 ={ + winter_severity_bias = 0.10 +} +# b_ejea +1888 ={ + winter_severity_bias = 0.10 +} +# b_zuera +1886 ={ + winter_severity_bias = 0.10 +} +# b_sarinena +1885 ={ + winter_severity_bias = 0.10 +} +## c_albarracin +# b_albarracin +1936 ={ + winter_severity_bias = 0.10 +} +# b_sierradesanjust #Utrillas +1943 ={ + winter_severity_bias = 0.10 +} +# b_belchite +1891 ={ + winter_severity_bias = 0.10 +} +## c_alto_aragon +# b_alto_aragon +3221 ={ + winter_severity_bias = 0.10 +} +# b_jaca +1807 ={ + winter_severity_bias = 0.60 +} +# b_uncastillo +8793 = { + winter_severity_bias = 0.10 +} +## c_sobrarbe +# b_ainsa #Sobrarbe +1872 ={ + winter_severity_bias = 0.60 +} +# b_ribagorza +1871 ={ + winter_severity_bias = 0.60 +} +# b_biescas +8794 = { + winter_severity_bias = 0.60 +} +## c_huesca +# b_huesca +1873 ={ + winter_severity_bias = 0.10 +} +# b_barbastro +1874 ={ + winter_severity_bias = 0.10 +} +## c_calatayud +# b_calatayud +1932 ={ + winter_severity_bias = 0.20 +} +# b_daroca +1934 ={ + winter_severity_bias = 0.20 +} +## c_fraga +# b_fraga +1882 ={ + winter_severity_bias = 0.10 +} +# b_monzon +8795 = { + winter_severity_bias = 0.10 +} +## c_alcaniz +# b_alcaniz +1892 ={ + winter_severity_bias = 0.10 +} +# b_caspe +1883 ={ + winter_severity_bias = 0.10 +} +# b_calaceite +1893 ={ + winter_severity_bias = 0.40 +} +### d_barcelona +## c_barcelona +# b_barcelona +1862 ={ + winter_severity_bias = 0.10 +} +# b_loredo +1863 ={ + winter_severity_bias = 0.10 +} +# b_sitges +1861 ={ + winter_severity_bias = 0.10 +} +# b_manresa #Cardona +1877 ={ + winter_severity_bias = 0.10 +} +## c_urgell +# b_urgell +1878 ={ + winter_severity_bias = 0.10 +} +# b_berga +1876 ={ + winter_severity_bias = 0.60 +} +# b_andorra +1869 ={ + winter_severity_bias = 0.60 +} +# b_seu_d_urgell #Seu d'Urgell +8801 = { + winter_severity_bias = 0.60 +} +## c_pallas +# b_pallars_jussa +8799 = { + winter_severity_bias = 0.60 +} +# b_pallars_sobira +8800 = { + winter_severity_bias = 0.60 +} +# b_vielha +1870 ={ + winter_severity_bias = 0.60 +} +## c_puigcerda +# b_puigcerda +1868 ={ + winter_severity_bias = 0.60 +} +# b_llivia +8797 = { + winter_severity_bias = 0.60 +} +# b_vic +1875 ={ + winter_severity_bias = 0.10 +} +## c_girona +# b_girona +1864 ={ + winter_severity_bias = 0.10 +} +# b_olot +1867 ={ + winter_severity_bias = 0.50 +} +## c_rossello +# b_perpignan #Perpinya +1866 ={ + winter_severity_bias = 0.60 +} +# b_roses +1865 ={ + winter_severity_bias = 0.60 +} +# b_prades_rossello +8798 = { + winter_severity_bias = 0.60 +} +## c_lleida +# b_lleida +1881 ={ + winter_severity_bias = 0.10 +} +# b_balaguer +1884 ={ + winter_severity_bias = 0.60 +} +# b_agramunt +8796 = { + winter_severity_bias = 0.10 +} +# b_prades +1879 ={ + winter_severity_bias = 0.10 +} +## c_tarragona +# b_tarragona +1860 ={ + winter_severity_bias = 0.10 +} +# b_tortosa +1859 ={ + winter_severity_bias = 0.10 +} +# b_maials +1880 ={ + winter_severity_bias = 0.10 +} + +#### k_navarra +### d_navarra +## c_navarra +# b_pamplona +1806 ={ + winter_severity_bias = 0.45 + harsh_winter_factor_override = 0.0 +} +# b_tafalla +1889 ={ + winter_severity_bias = 0.15 +} +# b_lizarra +1809 ={ + winter_severity_bias = 0.15 +} +## c_najera +# b_najera +1811 ={ + winter_severity_bias = 0.30 +} +# b_logrono +1810 ={ + winter_severity_bias = 0.30 +} +# b_arnedo +1903 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.0 +} +## c_tudela +# b_tudela +1902 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} +# b_tarazona #Olite +1890 ={ + winter_severity_bias = 0.30 +} +### d_viscaya +## c_viscaya +# b_bilibio #Vizcaya +1803 ={ + winter_severity_bias = 0.20 +} +# b_alava +1808 ={ + winter_severity_bias = 0.20 +} +## c_ipuskoa +# b_irun +1805 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} +# b_izurum +1804 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} + +#### k_leon +### d_leon +## c_leon +# b_leon +1816 ={ + winter_severity_bias = 0.40 +} +# b_sarria +1822 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +# b_villablino +1824 ={ + winter_severity_bias = 0.40 +} +# b_guardo #Cea +1825 ={ + winter_severity_bias = 0.40 +} +# b_valenciadecampos +1911 ={ + winter_severity_bias = 0.40 +} +## c_benavente +# b_benavente +1826 ={ + winter_severity_bias = 0.30 +} +# b_alba +1827 ={ + winter_severity_bias = 0.30 +} +## c_zamora +# b_zamora +1894 ={ + winter_severity_bias = 0.30 +} +# b_toro +1895 ={ + winter_severity_bias = 0.30 +} +# b_villafafila +1910 ={ + winter_severity_bias = 0.30 +} +## c_salamanca +# b_bejar +1913 ={ + winter_severity_bias = 0.40 +} +# b_salamanca +1828 ={ + winter_severity_bias = 0.40 +} +# b_ciduadrodrigo #Ciudad Rodrigo +1829 ={ + winter_severity_bias = 0.40 +} +## c_avila +# b_avila +1912 ={ + winter_severity_bias = 0.40 +} +# b_medinadelcampo +1914 ={ + winter_severity_bias = 0.40 +} +# b_laadrada +1921 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_sierradegredos #Gredos +1916 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +### d_asturias +## c_asturias_de_oviedo +# b_oviedo +1797 ={ + winter_severity_bias = 0.40 +} +# b_riano +1817 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.10 +} +# b_villaviciosa +1798 ={ + winter_severity_bias = 0.40 +} +# b_gijon +1796 ={ + winter_severity_bias = 0.40 +} +## c_pravia +# b_pravia +1795 ={ + winter_severity_bias = 0.40 +} +# b_luarca +1794 ={ + winter_severity_bias = 0.40 +} +# b_gangasdelnarcea +1823 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.10 +} +# b_carballido +1793 ={ + winter_severity_bias = 0.40 +} + +#### k_spanish_galicia +### d_galicia +## c_coruna +# b_corunna +1787 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_ferrol + 1788 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_mondonedo + 1789 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_vilalba + 1790 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +## c_santiago +# b_santiago +1785 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_betanzos +1786 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_melide +1791 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_padron +1783 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +## c_tui +# b_monte_faro +1784 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_tui +1781 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +# b_vigo +1782 ={ + winter_severity_bias = 0.30 + harsh_winter_factor_override = 0.0 +} +## c_astorga +# b_astorga +1821 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +# b_lugo +1792 ={ + winter_severity_bias = 0.40 +} +# b_ourense +1799 ={ + winter_severity_bias = 0.40 +} +# b_monfortedelemos +1819 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +# b_ponferrada +1820 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +## c_monterrei +# b_monterrei +1818 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} +# b_limia +1800 ={ + winter_severity_bias = 0.60 + harsh_winter_factor_override = 0.05 +} + +#### k_portugal +### d_porto +## c_porto +# b_porto +1760 ={ + winter_severity_bias = 0.25 +} +# b_braga +1761 ={ + winter_severity_bias = 0.25 +} +# b_chavez #Chaves +1762 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.05 +} +# b_guimaraes +1766 ={ + winter_severity_bias = 0.25 +} +## c_braganza +# b_braganza +1763 ={ + winter_severity_bias = 0.40 +} +# b_miranda_do_duoro #Miranda do Douro +1764 ={ + winter_severity_bias = 0.40 +} +# b_villa_real +1765 ={ + winter_severity_bias = 0.40 +} +# b_mogadouro +1767 ={ + winter_severity_bias = 0.40 +} +### d_coimbra +## c_coimbra +# b_coimbra +1758 ={ + winter_severity_bias = 0.15 +} +# b_leiria +1757 ={ + winter_severity_bias = 0.15 +} +# b_obidos +1756 ={ + winter_severity_bias = 0.15 +} +## c_viseu +# b_viseu +1769 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +# b_trancoso +1770 ={ + winter_severity_bias = 0.50 + harsh_winter_factor_override = 0.10 +} +## c_aveiro +# b_aveiro +1759 ={ + winter_severity_bias = 0.15 +} +# b_gralheira #Cinfaes +2003 ={ + winter_severity_bias = 0.25 +} +# b_lamego +1768 ={ + winter_severity_bias = 0.40 +} +## c_castelo_branco +# b_castelo_branco +1773 ={ + winter_severity_bias = 0.20 +} +# b_idanha #Beira +1771 ={ + winter_severity_bias = 0.20 +} +# b_abrantes +1772 ={ + winter_severity_bias = 0.20 +} + +##### e_maghreb +#### k_maghreb +### d_marrakesh +## c_marrakesh +# b_marrakesh +4718 ={ + winter_severity_bias = 0.0 +} +# b_aitiyat +4713 ={ + winter_severity_bias = 0.0 +} +# b_aghmat +4714 ={ + winter_severity_bias = 0.20 +} +# b_ribat-shakir +4719 ={ + winter_severity_bias = 0.0 +} +# b_boulawan +4731 ={ + winter_severity_bias = 0.0 +} +## c_tadla +# b_tadla +4709 ={ + winter_severity_bias = 0.0 +} +# b_dai +4710 ={ + winter_severity_bias = 0.0 +} +# b_wazeqqur +4707 ={ + winter_severity_bias = 0.20 +} +# b_wawmana +4708 ={ + winter_severity_bias = 0.20 +} +# b_afza +4711 ={ + winter_severity_bias = 0.20 +} +# b_aititab +4712 ={ + winter_severity_bias = 0.20 +} +## c_fazaz +# b_mrira +4706 ={ + winter_severity_bias = 0.0 +} +# b_el_borouj +4746 ={ + winter_severity_bias = 0.0 +} +# b_tit-an-wagurramt +4747 ={ + winter_severity_bias = 0.0 +} +## c_tamasna +# b_anfa +4703 ={ + winter_severity_bias = 0.0 +} +# b_fadala +4702 ={ + winter_severity_bias = 0.0 +} +# b_azzamur +4704 ={ + winter_severity_bias = 0.0 +} +# b_mazaghan +4705 ={ + winter_severity_bias = 0.0 +} +## c_asfi +# b_asfi +4720 ={ + winter_severity_bias = 0.0 +} +# b_aghuz +4721 ={ + winter_severity_bias = 0.0 +} +# b_igiradyatuf +4722 ={ + winter_severity_bias = 0.20 +} +## c_tinmallal +# b_tinmallal +4716 ={ + winter_severity_bias = 0.20 +} +# b_tasgimut +4715 ={ + winter_severity_bias = 0.20 +} +# b_naffis +4717 ={ + winter_severity_bias = 0.20 +} +### d_sous +## c_sous +# b_tarudant +4724 ={ + winter_severity_bias = 0.0 +} +# b_igilliz +4725 ={ + winter_severity_bias = 0.0 +} +# b_sirwan +4732 ={ + winter_severity_bias = 0.0 +} +## c_agadir +# b_agadir +4723 ={ + winter_severity_bias = 0.0 +} +# b_massa +4726 ={ + winter_severity_bias = 0.0 +} +## c_ifni +# b_ifni +4727 ={ + winter_severity_bias = 0.0 +} +# b_nul_lamta +4728 ={ + winter_severity_bias = 0.0 +} +# b_taghmut +4729 ={ + winter_severity_bias = 0.0 +} +# b_assa +4730 ={ + winter_severity_bias = 0.0 +} +# b_tagawst +4757 ={ + winter_severity_bias = 0.0 +} +# b_iligh +4758 ={ + winter_severity_bias = 0.0 +} +## c_draa +# b_tazagourt +4735 ={ + winter_severity_bias = 0.0 +} +# b_al-talha +4740 ={ + winter_severity_bias = 0.0 +} +# b_aqqa +4741 ={ + winter_severity_bias = 0.0 +} +# b_tagmadart +4755 ={ + winter_severity_bias = 0.0 +} +# b_tidri +4756 ={ + winter_severity_bias = 0.0 +} +### d_tafilalt +## c_sijilmasa +# b_sijilmasa +4737 ={ + winter_severity_bias = 0.0 +} +# b_tafilalt +4738 ={ + winter_severity_bias = 0.0 +} +# b_taouz +4759 ={ + winter_severity_bias = 0.0 +} +## c_tudgha +# b_tudgha +4736 ={ + winter_severity_bias = 0.0 +} +# b_tasagdah +4733 ={ + winter_severity_bias = 0.0 +} +# b_warzazat +4734 ={ + winter_severity_bias = 0.0 +} +## c_ziz +# b_ziz +4739 ={ + winter_severity_bias = 0.0 +} +# b_ghazwan +4742 ={ + winter_severity_bias = 0.0 +} +### d_fes +## c_fes +# b_fes +4694 ={ + winter_severity_bias = 0.0 +} +# b_wargha +4688 ={ + winter_severity_bias = 0.0 +} +# b_warzigh +4692 ={ + winter_severity_bias = 0.0 +} +# b_al_aliya +4695 ={ + winter_severity_bias = 0.0 +} +# b_subu +4696 ={ + winter_severity_bias = 0.20 +} +## c_muluya +# b_missour +4745 ={ + winter_severity_bias = 0.0 +} +# b_tikoutamine +4743 ={ + winter_severity_bias = 0.0 +} +# b_el_ksabi +4744 ={ + winter_severity_bias = 0.20 +} +## c_taza +# b_taza +4677 ={ + winter_severity_bias = 0.0 +} +# b_nador +4748 ={ + winter_severity_bias = 0.0 +} +## c_meknes +# b_meknes +4699 ={ + winter_severity_bias = 0.0 +} +# b_baht +4693 ={ + winter_severity_bias = 0.0 +} +# b_sefrou +4697 ={ + winter_severity_bias = 0.20 +} +# b_tagragra +4698 ={ + winter_severity_bias = 0.0 +} +## c_gharb +# b_sala +4700 ={ + winter_severity_bias = 0.0 +} +# b_al-basra +4687 ={ + winter_severity_bias = 0.0 +} +# b_izerhan +4689 ={ + winter_severity_bias = 0.0 +} +# b_watit +4690 ={ + winter_severity_bias = 0.0 +} +# b_walila +4691 ={ + winter_severity_bias = 0.0 +} +# b_ribat_al-fath +4701 ={ + winter_severity_bias = 0.0 +} +## c_tangiers +# b_tangiers +4683 ={ + winter_severity_bias = 0.0 +} +# b_asila +4684 ={ + winter_severity_bias = 0.0 +} +# b_kasr_al-kabir +4685 ={ + winter_severity_bias = 0.0 +} +# b_tahlit +4686 ={ + winter_severity_bias = 0.0 +} +## c_ceuta +# b_sabta +4682 ={ + winter_severity_bias = 0.0 +} +# b_tittawan +4681 ={ + winter_severity_bias = 0.0 +} +# b_ghumira +4680 ={ + winter_severity_bias = 0.0 +} +## c_melilla +# b_melilla +4678 ={ + winter_severity_bias = 0.0 +} +# b_nakur +4679 ={ + winter_severity_bias = 0.0 +} +### d_canarias +## c_canarias +# b_grancanaria +849 ={ + winter_severity_bias = 0.0 +} +# b_tenerife +8713 ={ + winter_severity_bias = 0.0 +} +## c_fuerteventura +# b_fuerteventura +8714 ={ + winter_severity_bias = 0.0 +} +# b_lanzarote +8715 ={ + winter_severity_bias = 0.0 +} +## c_madeira +# b_madeira +8716 ={ + winter_severity_bias = 0.0 +} + +#### k_tahert +### d_tlemcen +## c_tlemcen +# b_tlemcen +4672 ={ + winter_severity_bias = 0.0 +} +# b_muaskar +4663 ={ + winter_severity_bias = 0.0 +} +# b_qasr-ibn-sinan +4667 ={ + winter_severity_bias = 0.0 +} +# b_aintekbalet #Ain Tekbalet +4671 ={ + winter_severity_bias = 0.0 +} +# b_tafraoua-sebdou #Tafraoua +4673 ={ + winter_severity_bias = 0.0 +} +## c_wajda +# b_wajda +4674 ={ + winter_severity_bias = 0.0 +} +# b_saa +4675 ={ + winter_severity_bias = 0.0 +} +# b_debdou +4676 ={ + winter_severity_bias = 0.0 +} +## c_orania +# b_oran +4666 ={ + winter_severity_bias = 0.0 +} +# b_marsafarukh +4664 ={ + winter_severity_bias = 0.0 +} +# b_arzew +4665 ={ + winter_severity_bias = 0.0 +} +## c_hunyan +# b_hunyan +4669 ={ + winter_severity_bias = 0.0 +} +# b_arsgul +4668 ={ + winter_severity_bias = 0.0 +} +# b_nadruma +4670 ={ + winter_severity_bias = 0.0 +} +### d_tahert +## c_tahert +# b_tahart +4659 ={ + winter_severity_bias = 0.0 +} +# b_al_ubbad +4658 ={ + winter_severity_bias = 0.0 +} +# b_qalaa_bsalama +4660 ={ + winter_severity_bias = 0.0 +} +# b_askedal +4661 ={ + winter_severity_bias = 0.0 +} +# b_hisn_lawata +4662 ={ + winter_severity_bias = 0.0 +} +## c_yalala +# b_yalala +4655 ={ + winter_severity_bias = 0.0 +} +# b_qalaa_bhuwara +4656 ={ + winter_severity_bias = 0.0 +} +# b_al_gabal +4657 ={ + winter_severity_bias = 0.0 +} +## c_ashir +# b_ashir_yashir +4647 ={ + winter_severity_bias = 0.0 +} +# b_bousaada +4645 ={ + winter_severity_bias = 0.0 +} +# b_ashir_banya +4646 ={ + winter_severity_bias = 0.0 +} +# b_sersou +4762 ={ + winter_severity_bias = 0.0 +} +## c_figuig +# b_figuig +4749 ={ + winter_severity_bias = 0.15 +} +# b_ainsefra #Ain Sefra +4750 ={ + winter_severity_bias = 0.15 +} +# b_mecheria +4751 ={ + winter_severity_bias = 0.15 +} +### d_alger +## c_algier +# b_algiers +4650 ={ + winter_severity_bias = 0.0 +} +# b_medea +4648 ={ + winter_severity_bias = 0.15 +} +# b_tadallis +4649 ={ + winter_severity_bias = 0.0 +} +# b_mattija +4651 ={ + winter_severity_bias = 0.0 +} +## c_tanas +# b_tanas +4653 ={ + winter_severity_bias = 0.0 +} +# b_sharshal +4652 ={ + winter_severity_bias = 0.0 +} +# b_miliyana +4654 ={ + winter_severity_bias = 0.15 +} +### d_bejaia +## c_bejaia +# b_bejaia +4637 ={ + winter_severity_bias = 0.0 +} +# b_jijel +4636 ={ + winter_severity_bias = 0.0 +} +4639 ={ + winter_severity_bias = 0.10 +} +4635 ={ + winter_severity_bias = 0.15 +} +# b_ikjan +4638 ={ + winter_severity_bias = 0.15 +} +# b_qalaa_bhammad +4640 ={ + winter_severity_bias = 0.15 +} +### d_zab +## c_hodna +# b_tubna +4644 ={ + winter_severity_bias = 0.0 +} +# b_masila +4641 ={ + winter_severity_bias = 0.0 +} +# b_magra +4642 ={ + winter_severity_bias = 0.0 +} +# b_ngaous +4643 ={ + winter_severity_bias = 0.0 +} +## c_biskra +# b_biskra +4621 ={ + winter_severity_bias = 0.15 +} +# b_badis +4622 ={ + winter_severity_bias = 0.15 +} +# b_sidi_uqba +4633 ={ + winter_severity_bias = 0.15 +} +# b_waghlanat +4754 ={ + winter_severity_bias = 0.0 +} +## c_bilizma +# b_bilizma +4634 ={ + winter_severity_bias = 0.0 +} +# b_baghaya +4627 ={ + winter_severity_bias = 0.0 +} +### d_mzab +## c_wargla +# b_wargla +4615 ={ + winter_severity_bias = 0.0 +} +# b_taghyart +4611 ={ + winter_severity_bias = 0.0 +} +# b_sadrata +4613 ={ + winter_severity_bias = 0.0 +} +# b_karima +4614 ={ + winter_severity_bias = 0.0 +} +## c_laghwat +# b_al-aghwat +4619 ={ + winter_severity_bias = 0.0 +} +# b_tilghemt +4618 ={ + winter_severity_bias = 0.0 +} +## c_ghardaia +# b_ghardaia +4616 ={ + winter_severity_bias = 0.0 +} +# b_al-qulaya +4617 ={ + winter_severity_bias = 0.0 +} +# b_tedmait +6322 ={ + winter_severity_bias = 0.0 +} +## c_arigh +# b_arigh +4609 ={ + winter_severity_bias = 0.0 +} +# b_ajlu +4608 ={ + winter_severity_bias = 0.0 +} +# b_tuggurt +4610 ={ + winter_severity_bias = 0.0 +} + +#### k_africa +### d_kairouan +## c_kairwan +# b_kairouan +4594 ={ + winter_severity_bias = 0.0 +} +# b_jalula +4592 ={ + winter_severity_bias = 0.0 +} +# b_sabiba +4593 ={ + winter_severity_bias = 0.0 +} +# b_raqqada +4595 ={ + winter_severity_bias = 0.0 +} +# b_mansuriya +4596 ={ + winter_severity_bias = 0.0 +} +# b_al_abbasiya +4597 ={ + winter_severity_bias = 0.0 +} +## c_west_qamuda +# b_al-qasrayn +4598 ={ + winter_severity_bias = 0.0 +} +# b_qafsa +4599 ={ + winter_severity_bias = 0.0 +} +# b_tala +4624 ={ + winter_severity_bias = 0.0 +} +## c_tabassa +# b_tabassa +4623 ={ + winter_severity_bias = 0.0 +} +# b_madila +4607 ={ + winter_severity_bias = 0.0 +} +# b_maydara +4625 ={ + winter_severity_bias = 0.0 +} +# b_maskiyana +4626 ={ + winter_severity_bias = 0.0 +} +### d_tunis +## c_tunis +# b_tunis +4582 ={ + winter_severity_bias = 0.0 +} +# b_zaghwan +4581 ={ + winter_severity_bias = 0.0 +} +# b_qartajana +4583 ={ + winter_severity_bias = 0.0 +} +# b_nabeul +4584 ={ + winter_severity_bias = 0.0 +} +# b_silyana +4753 ={ + winter_severity_bias = 0.0 +} +## c_satfura +# b_banzart +4585 ={ + winter_severity_bias = 0.0 +} +# b_tabarqa +4586 ={ + winter_severity_bias = 0.0 +} +# b_mansa'l-kharaz +4587 ={ + winter_severity_bias = 0.0 +} +## c_medjerda +# b_baja_medjerda +4589 ={ + winter_severity_bias = 0.0 +} +# b_siqqabanariya +4590 ={ + winter_severity_bias = 0.0 +} +# b_al_aribus +4591 ={ + winter_severity_bias = 0.0 +} +## c_mahdiya +# b_mahdiya +4578 ={ + winter_severity_bias = 0.0 +} +# b_monastir +4579 ={ + winter_severity_bias = 0.0 +} +# b_susa +4580 ={ + winter_severity_bias = 0.0 +} +### d_kroumerie +## c_constantine +# b_constantine +4631 ={ + winter_severity_bias = 0.0 +} +# b_qasr-al-ifriqi +4620 ={ + winter_severity_bias = 0.0 +} +# b_tijis +4632 ={ + winter_severity_bias = 0.0 +} +# b_tifash +4628 ={ + winter_severity_bias = 0.0 +} +# b_taburshiq +4629 ={ + winter_severity_bias = 0.0 +} +## c_annaba +# b_annaba +4588 ={ + winter_severity_bias = 0.0 +} +# b_qalama +4630 ={ + winter_severity_bias = 0.0 +} +# b_izan +4752 ={ + winter_severity_bias = 0.0 +} +### d_gabes +## c_gabes +# b_gabes +4573 ={ + winter_severity_bias = 0.0 +} +# b_al_hamma +4574 ={ + winter_severity_bias = 0.0 +} +## c_sfax +# b_sfax +4575 ={ + winter_severity_bias = 0.0 +} +# b_el_jem +4576 ={ + winter_severity_bias = 0.0 +} +# b_slakta +4577 ={ + winter_severity_bias = 0.0 +} +### d_jerid +## c_qashtiliya +# b_tozeur +4601 ={ + winter_severity_bias = 0.0 +} +# b_taqyus +4600 ={ + winter_severity_bias = 0.0 +} +# b_hamma +4602 ={ + winter_severity_bias = 0.0 +} +# b_nafta +4603 ={ + winter_severity_bias = 0.0 +} +# b_madas +4606 ={ + winter_severity_bias = 0.0 +} +## c_souf +# b_souf +4604 ={ + winter_severity_bias = 0.0 +} +# b_douz +4605 ={ + winter_severity_bias = 0.0 +} +## c_bir_amir +# b_bir_amir +4572 ={ + winter_severity_bias = 0.0 +} +# b_sinawin +6321 ={ + winter_severity_bias = 0.0 +} +## c_ghadames +# b_ghadames +4570 ={ + winter_severity_bias = 0.0 +} +# b_daradj +4571 ={ + winter_severity_bias = 0.0 +} +### d_tripolitania +## c_tripolitana +# b_libtripoli +4557 ={ + winter_severity_bias = 0.0 +} +# b_sabratha +4568 ={ + winter_severity_bias = 0.0 +} +# b_tamazda +4569 ={ + winter_severity_bias = 0.0 +} +## c_djerba +# b_jerba +4562 ={ + winter_severity_bias = 0.0 +} +# b_jarjis +4565 ={ + winter_severity_bias = 0.0 +} +# b_bughrara +4566 ={ + winter_severity_bias = 0.0 +} +## c_jafara +# b_zuwara +4561 ={ + winter_severity_bias = 0.0 +} +# b_tiri +4558 ={ + winter_severity_bias = 0.0 +} +# b_djado_jafara +4559 ={ + winter_severity_bias = 0.0 +} +# b_nalut +4560 ={ + winter_severity_bias = 0.0 +} +# b_fursata +4567 ={ + winter_severity_bias = 0.0 +} +### d_syrte +## c_syrte +# b_syrte +4552 ={ + winter_severity_bias = 0.0 +} +# b_al_aghaila +4550 ={ + winter_severity_bias = 0.0 +} +# b_ajadabiya +4551 ={ + winter_severity_bias = 0.0 +} +## c_labda +# b_labda +4556 ={ + winter_severity_bias = 0.0 +} +# b_tawurgha +4554 ={ + winter_severity_bias = 0.0 +} +# b_misurata +4555 ={ + winter_severity_bias = 0.0 +} +## c_waddan +# b_waddan +4563 ={ + winter_severity_bias = 0.0 +} +# b_tajrift +4553 ={ + winter_severity_bias = 0.0 +} +# b_tinnai +4564 ={ + winter_severity_bias = 0.0 +} + +#### k_anbiya +### d_zammour +## c_zammour +# b_zammour +6472 ={ + winter_severity_bias = 0.0 +} +# b_sequiet_el-hamra +6471 ={ + winter_severity_bias = 0.0 +} +## c_tindouf +# b_tindouf +6470 ={ + winter_severity_bias = 0.0 +} +# b_tindouf_road +6652 ={ + winter_severity_bias = 0.0 +} +# b_iguidi_west +6651 ={ + winter_severity_bias = 0.0 +} +## c_tiris +# b_bir_um-ghrein +6473 ={ + winter_severity_bias = 0.0 +} +# b_tiris +6474 ={ + winter_severity_bias = 0.0 +} +# b_tiris-south +6482 ={ + winter_severity_bias = 0.0 +} +### d_adrar +## c_wadan # AKA Ouadane +# b_wadan +6476 ={ + winter_severity_bias = 0.0 +} +# b_tingi +6477 ={ + winter_severity_bias = 0.0 +} +# b_shinqiti #AKA Chinguetti +6478 ={ + winter_severity_bias = 0.0 +} +# b_agharaf_road #empty_corridor +6650 ={ + winter_severity_bias = 0.0 +} +## c_azukki #AKA Azougi +# b_azukki #AKA Azougi +6479 ={ + winter_severity_bias = 0.0 +} +# b_ijil #AKA Idjil +6475 ={ + winter_severity_bias = 0.0 +} +## c_amatlus +# b_amatlus +6481 ={ + winter_severity_bias = 0.0 +} +# b_akjoujt +6480 ={ + winter_severity_bias = 0.0 +} +### d_touat +## c_touat +# b_adrar_timmi +6467 ={ + winter_severity_bias = 0.0 +} +# b_bouda +6468 ={ + winter_severity_bias = 0.0 +} +# b_tabalbala +4612 ={ + winter_severity_bias = 0.0 +} +## c_tamentit +# b_tamentit +6466 ={ + winter_severity_bias = 0.0 +} +# b_reggane +6465 ={ + winter_severity_bias = 0.0 +} +# b_hamadat_tinghert +6591 ={ + winter_severity_bias = 0.0 +} +# b_tidikelt +6590 ={ + winter_severity_bias = 0.0 +} +### d_taghaza +## c_taghaza +# b_taghaza +4760 ={ + winter_severity_bias = 0.0 +} +# b_taoudeni +4761 ={ + winter_severity_bias = 0.0 +} +## c_saoura +# b_wadi_daoura +6469 ={ + winter_severity_bias = 0.0 +} +# b_iguidi_east # empty_corridor +6653 ={ + winter_severity_bias = 0.0 +} +# b_saoura # empty_corridor +6655 ={ + winter_severity_bias = 0.0 +} +# b_taghaza_road # empty_corridor +6654 ={ + winter_severity_bias = 0.0 +} + +#### k_sahara +### d_tadmekka +## c_tadmekka +# b_tadmekka +6566 ={ + winter_severity_bias = 0.0 +} +# b_kidal +6567 ={ + winter_severity_bias = 0.0 +} +## c_tessalit +# b_tessalit +6564 ={ + winter_severity_bias = 0.0 +} +# b_adrar_iforas +6565 ={ + winter_severity_bias = 0.0 +} +# b_tadmekka_route #empty_corridor +6664 ={ + winter_severity_bias = 0.0 +} +### d_ghat +## c_ghat +# b_ghat +6460 ={ + winter_severity_bias = 0.0 +} +# b_al-fewet +6461 ={ + winter_severity_bias = 0.0 +} +# b_al-barkat +6462 ={ + winter_severity_bias = 0.0 +} +# b_ghat_route #empty_corridor +6661 ={ + winter_severity_bias = 0.0 +} +# b_wadi_irawan #traversable wasteland +6601 ={ + winter_severity_bias = 0.0 +} +# b_erg_ghati #traversable wasteland +6602 ={ + winter_severity_bias = 0.0 +} +## c_djanet +# b_djanet +6463 ={ + winter_severity_bias = 0.0 +} +# b_eferi +6464 ={ + winter_severity_bias = 0.0 +} +# b_ahaggar #empty_corridor +6663 ={ + winter_severity_bias = 0.0 +} +# b_east_ahaggar # empty_corridor +6662 ={ + winter_severity_bias = 0.0 +} +### d_air +## c_takkeda +# b_takkeda +6562 ={ + winter_severity_bias = 0.0 +} +# b_marandet +6560 ={ + winter_severity_bias = 0.0 +} +# b_air_route # empty_corridor +6658 ={ + winter_severity_bias = 0.0 +} +## c_air +# b_agadez +6561 ={ + winter_severity_bias = 0.0 +} +# b_air +6563 ={ + winter_severity_bias = 0.0 +} +# b_fachi_route # empty_corridor +6660 ={ + winter_severity_bias = 0.0 +} +### d_kawar +## c_bilma +# b_bilma +6457 ={ + winter_severity_bias = 0.0 +} +# b_dibela +6458 ={ + winter_severity_bias = 0.0 +} +# b_kawar_road # empty_corridor +6657 ={ + winter_severity_bias = 0.0 +} +# b_fachi +6659 ={ + winter_severity_bias = 0.0 +} +## c_dirku +# b_dirku +6456 ={ + winter_severity_bias = 0.0 +} +# b_gissebi +6455 ={ + winter_severity_bias = 0.0 +} +## c_djado +# b_djado +6452 ={ + winter_severity_bias = 0.0 +} +# b_tummo +6453 ={ + winter_severity_bias = 0.0 +} +# b_sakadame +6454 ={ + winter_severity_bias = 0.0 +} +# b_djado_route +6668 ={ + winter_severity_bias = 0.0 +} +### d_tibesti +## c_ain_galakka +# b_ain_galakka +6496 ={ + winter_severity_bias = 0.0 +} +# b_faya +6495 ={ + winter_severity_bias = 0.0 +} +## c_bodele +# b_borkou +6494 ={ + winter_severity_bias = 0.0 +} +# b_koro_toro +6493 ={ + winter_severity_bias = 0.0 +} +# b_bahr_el-ghazzal_route # empty_corridor +6665 ={ + winter_severity_bias = 0.0 +} +## c_tibesti +# b_tibesti-south +6497 ={ + winter_severity_bias = 0.0 +} +# b_tibesti-central +6498 ={ + winter_severity_bias = 0.0 +} +# b_bardai +6499 ={ + winter_severity_bias = 0.0 +} +# b_tibesti_route # empty_corridor +6666 ={ + winter_severity_bias = 0.0 +} +### d_fezzan +## c_murzuk +# b_murzuk +6451 ={ + winter_severity_bias = 0.0 +} +# b_tassawa +6450 ={ + winter_severity_bias = 0.0 +} +# b_traghan +6669 ={ + winter_severity_bias = 0.0 +} +# b_fezzan_route # empty_corridor +6667 ={ + winter_severity_bias = 0.0 +} +## c_zawila +# b_zawila +6447 ={ + winter_severity_bias = 0.0 +} +# b_zalha +6446 ={ + winter_severity_bias = 0.0 +} +## c_germa +# b_germa +6449 ={ + winter_severity_bias = 0.0 +} +# b_sabha +6448 ={ + winter_severity_bias = 0.0 +} +# b_tamzawa +6459 ={ + winter_severity_bias = 0.0 +} + +##### e_arabia +#### k_arabia +### d_jawf +## c_al_jawf +# b_al_jawf +6178 ={ + winter_severity_bias = 0.0 +} +# b_sakaka +6176 ={ + winter_severity_bias = 0.0 +} +# b_al-qara-jawf +6177 ={ + winter_severity_bias = 0.0 +} +## c_thalabiya +# b_ath-thalabiya +6168 ={ + winter_severity_bias = 0.0 +} +# b_zubala +6169 ={ + winter_severity_bias = 0.0 +} +# b_lina +6170 ={ + winter_severity_bias = 0.0 +} +# b_bitan +6175 ={ + winter_severity_bias = 0.0 +} +## c_sirhan +# b_quraqir +5989 ={ + winter_severity_bias = 0.0 +} +# b_sirhan +6180 ={ + winter_severity_bias = 0.0 +} +### d_amman +## c_balqa +# b_amman +5984 ={ + winter_severity_bias = 0.0 +} +# b_az-zarqa +5986 ={ + winter_severity_bias = 0.0 +} +# b_al-azraq +5987 ={ + winter_severity_bias = 0.0 +} +## c_maab +# b_maab +5981 ={ + winter_severity_bias = 0.0 +} +# b_zaiza +5982 ={ + winter_severity_bias = 0.0 +} +# b_mujib +5983 ={ + winter_severity_bias = 0.0 +} +## c_jilat +# b_al-jilat +5988 ={ + winter_severity_bias = 0.0 +} +# b_qasr_at-tuba +6179 ={ + winter_severity_bias = 0.0 +} +### d_shammar +## c_tabuk +# b_tabuk +6188 ={ + winter_severity_bias = 0.0 +} +# b_sarj +6186 ={ + winter_severity_bias = 0.0 +} +# b_fajr +6189 ={ + winter_severity_bias = 0.0 +} +## c_al_aqabah +# b_aqaba +5974 ={ + winter_severity_bias = 0.0 +} +# b_maqna +6183 ={ + winter_severity_bias = 0.0 +} +# b_ainun +6184 ={ + winter_severity_bias = 0.0 +} +# b_sharaf_al-bal +6185 ={ + winter_severity_bias = 0.0 +} +# b_madyan +6187 ={ + winter_severity_bias = 0.0 +} +# b_ziba +6193 ={ + winter_severity_bias = 0.0 +} +## c_maan +# b_maan +5976 ={ + winter_severity_bias = 0.0 +} +# b_al-humayma +5975 ={ + winter_severity_bias = 0.0 +} +# b_adruh +5977 ={ + winter_severity_bias = 0.0 +} +## c_tayma +# b_tayma +6192 ={ + winter_severity_bias = 0.0 +} +# b_al-aqra +6190 ={ + winter_severity_bias = 0.0 +} +# b_al-muhdatha +6191 ={ + winter_severity_bias = 0.0 +} +### d_medina +## c_medina +# b_al-madina +6212 ={ + winter_severity_bias = 0.0 +} +# b_as-sayaa +6211 ={ + winter_severity_bias = 0.0 +} +# b_batn_nakhl +6213 ={ + winter_severity_bias = 0.0 +} +# b_as-safra +6219 ={ + winter_severity_bias = 0.0 +} +## c_wajh +# b_al-wajh +6197 ={ + winter_severity_bias = 0.0 +} +# b_an-nabak +6194 ={ + winter_severity_bias = 0.0 +} +# b_al-awnid +6195 ={ + winter_severity_bias = 0.0 +} +# b_bada +6196 ={ + winter_severity_bias = 0.0 +} +## c_khaybar +# b_khaybar +6207 ={ + winter_severity_bias = 0.0 +} +# b_as-suqya +6199 ={ + winter_severity_bias = 0.0 +} +# b_al-ula +6200 ={ + winter_severity_bias = 0.0 +} +# b_al-hijr +6201 ={ + winter_severity_bias = 0.0 +} +# b_dhul-marwa +6208 ={ + winter_severity_bias = 0.0 +} +## c_yanbu +# b_yanbu +6209 ={ + winter_severity_bias = 0.0 +} +# b_al-jar +6210 ={ + winter_severity_bias = 0.0 +} +# b_al-hawra +6198 ={ + winter_severity_bias = 0.0 +} +## c_harrat_rahat +# b_as-sawariqiya +6218 ={ + winter_severity_bias = 0.0 +} +# b_as-salila +6216 ={ + winter_severity_bias = 0.0 +} +# b_madinat_sulaym +6217 ={ + winter_severity_bias = 0.0 +} +# b_sufaina +6227 ={ + winter_severity_bias = 0.0 +} +### d_mecca +## c_mecca +# b_makka +6223 ={ + winter_severity_bias = 0.0 +} +# b_rabigh +6220 ={ + winter_severity_bias = 0.0 +} +# b_khulays +6221 ={ + winter_severity_bias = 0.0 +} +# b_jidda +6222 ={ + winter_severity_bias = 0.0 +} +# b_usfain +6226 ={ + winter_severity_bias = 0.0 +} +6225 ={ + winter_severity_bias = 0.0 +} +# b_turaba +6233 ={ + winter_severity_bias = 0.0 +} +# b_tabala-hijaz +6234 ={ + winter_severity_bias = 0.0 +} +## c_tihama +# b_as-sirayn +6224 ={ + winter_severity_bias = 0.0 +} +# b_hali +6238 ={ + winter_severity_bias = 0.0 +} +# b_ash-shuqayq +6239 ={ + winter_severity_bias = 0.0 +} +## c_bisha +# b_bisha +6235 ={ + winter_severity_bias = 0.0 +} +# b_jurash +6236 ={ + winter_severity_bias = 0.0 +} +# b_kuthba +6237 ={ + winter_severity_bias = 0.0 +} +## c_aqiq +# b_aqiq_tamra +6246 ={ + winter_severity_bias = 0.0 +} +# b_dam +6245 ={ + winter_severity_bias = 0.0 +} +# b_sarba +6247 ={ + winter_severity_bias = 0.0 +} +## c_asir +# b_wadi_tathlith +6244 ={ + winter_severity_bias = 0.0 +} +# b_wadi_ghamid +6232 ={ + winter_severity_bias = 0.0 +} +### d_najd +## c_sharaf +# b_dariya +6265 ={ + winter_severity_bias = 0.0 +} +# b_hajir +6206 ={ + winter_severity_bias = 0.0 +} +# b_rabadha +6214 ={ + winter_severity_bias = 0.0 +} +# b_madin-an-naqira +6215 ={ + winter_severity_bias = 0.0 +} +# b_jadila +6266 ={ + winter_severity_bias = 0.0 +} +# b_fajla +6267 ={ + winter_severity_bias = 0.0 +} +## c_subay +# b_ad-dathina +6229 ={ + winter_severity_bias = 0.0 +} +# b_marran +6228 ={ + winter_severity_bias = 0.0 +} +# b_subay +6230 ={ + winter_severity_bias = 0.0 +} +# b_ranya +6231 ={ + winter_severity_bias = 0.0 +} +## c_hail +# b_hail +6172 ={ + winter_severity_bias = 0.0 +} +# b_jubba-hail +6181 ={ + winter_severity_bias = 0.0 +} +# b_mawqaq +6182 ={ + winter_severity_bias = 0.0 +} +# b_fadak +6203 ={ + winter_severity_bias = 0.0 +} +# b_fayd +6204 ={ + winter_severity_bias = 0.0 +} +# b_tuz +6205 ={ + winter_severity_bias = 0.0 +} +## c_shaqiq +# b_an-nibaj +6260 ={ + winter_severity_bias = 0.0 +} +# b_al-khuzaimiya +6171 ={ + winter_severity_bias = 0.0 +} +# b_as-sumaina +6174 ={ + winter_severity_bias = 0.0 +} +## c_qasim +# b_unayza +6262 ={ + winter_severity_bias = 0.0 +} +# b_al-qaryatan-qasim +6261 ={ + winter_severity_bias = 0.0 +} +# b_rama +6263 ={ + winter_severity_bias = 0.0 +} +# b_tikhfa +6264 ={ + winter_severity_bias = 0.0 +} +## c_surrah +# b_nufud-as-surrah +6257 ={ + winter_severity_bias = 0.0 +} +# b_jibal-al-urd +6258 ={ + winter_severity_bias = 0.0 +} +# b_jibala +6259 ={ + winter_severity_bias = 0.0 +} +### d_yamama +## c_yamama +# b_yamama +6253 ={ + winter_severity_bias = 0.0 +} +# b_al-khadarim +6251 ={ + winter_severity_bias = 0.0 +} +# b_al-kharj +6252 ={ + winter_severity_bias = 0.0 +} +## c_al-arid +# b_al-arid +6254 ={ + winter_severity_bias = 0.0 +} +# b_ubad +6255 ={ + winter_severity_bias = 0.0 +} +## c_falaj +# b_falaj +6250 ={ + winter_severity_bias = 0.0 +} +# b_al-haddar +6248 ={ + winter_severity_bias = 0.0 +} +# b_qasr-al-adi +6249 ={ + winter_severity_bias = 0.0 +} +### d_al-hasa +## c_al-hasa +# b_al-hasa +6154 ={ + winter_severity_bias = 0.0 +} +# b_al-hajar +6152 ={ + winter_severity_bias = 0.0 +} +# b_al-mushaqqar +6153 ={ + winter_severity_bias = 0.0 +} +## c_dhafra +# b_az-dhafra +6148 ={ + winter_severity_bias = 0.0 +} +# b_al-jiwa +6149 ={ + winter_severity_bias = 0.0 +} +## c_uqayr +# b_al-uqayr +6155 ={ + winter_severity_bias = 0.0 +} +# b_murwab +6150 ={ + winter_severity_bias = 0.0 +} +# b_mashqar +6151 ={ + winter_severity_bias = 0.0 +} +## c_yabrin +# b_yabrin +6163 ={ + winter_severity_bias = 0.0 +} +### d_bahrain +6158 ={ + winter_severity_bias = 0.0 +} +# b_al-khatt +6157 ={ + winter_severity_bias = 0.0 +} +# b_al-jubayl +6159 ={ + winter_severity_bias = 0.0 +} +# b_thaj +6160 ={ + winter_severity_bias = 0.0 +} +## c_uwal +# b_uwal +6156 ={ + winter_severity_bias = 0.0 +} +## c_samman +# b_kazima +6161 ={ + winter_severity_bias = 0.0 +} +# b_ar-ruqaii +6162 ={ + winter_severity_bias = 0.0 +} +# b_hafar +6164 ={ + winter_severity_bias = 0.0 +} +# b_al-mawiya +6165 ={ + winter_severity_bias = 0.0 +} +# b_as-samman +6166 ={ + winter_severity_bias = 0.0 +} +### d_oman +## c_nizwa +# b_nizwa +6140 ={ + winter_severity_bias = 0.0 +} +# b_bahla +6139 ={ + winter_severity_bias = 0.0 +} +# b_samad +6141 ={ + winter_severity_bias = 0.0 +} +## c_julfar +# b_julfar +6131 ={ + winter_severity_bias = 0.0 +} +# b_tawwam +6129 ={ + winter_severity_bias = 0.0 +} +# b_tawwam_west +6130 ={ + winter_severity_bias = 0.0 +} +# b_musandam +6132 ={ + winter_severity_bias = 0.0 +} +# b_dabba +6133 ={ + winter_severity_bias = 0.0 +} +## c_batina +# b_sohar +6134 ={ + winter_severity_bias = 0.0 +} +# b_batina-east +6135 ={ + winter_severity_bias = 0.0 +} +# b_rustaq-oman +6136 ={ + winter_severity_bias = 0.0 +} +## c_az-dhahira +# b_hafit +6137 ={ + winter_severity_bias = 0.0 +} +# b_dhank +6138 ={ + winter_severity_bias = 0.0 +} +## c_muscat +# b_muscat +6144 ={ + winter_severity_bias = 0.0 +} +# b_matrah +6143 ={ + winter_severity_bias = 0.0 +} +# b_qalhat +6145 ={ + winter_severity_bias = 0.0 +} +# b_sur +6146 ={ + winter_severity_bias = 0.0 +} +# b_jaalan +6147 ={ + winter_severity_bias = 0.0 +} +## c_duqm +# b_duqm +6269 ={ + winter_severity_bias = 0.0 +} +# b_wahiba +6268 ={ + winter_severity_bias = 0.0 +} + +#### k_yemen +### d_sanaa +## c_sanaa +# b_sanaa +6276 ={ + winter_severity_bias = 0.0 +} +# b_ash-sharaf +6272 ={ + winter_severity_bias = 0.0 +} +# b_huth +6273 ={ + winter_severity_bias = 0.0 +} +# b_ar-rayda +6274 ={ + winter_severity_bias = 0.0 +} +# b_shibam-sanaa +6275 ={ + winter_severity_bias = 0.0 +} +## c_tihamat-al-yamani +# b_attar +6240 ={ + winter_severity_bias = 0.0 +} +# b_harad +6241 ={ + winter_severity_bias = 0.0 +} +# b_al-mahjam +6270 ={ + winter_severity_bias = 0.0 +} +# b_kamaran +6271 ={ + winter_severity_bias = 0.0 +} +## c_najran +# b_najran +6243 ={ + winter_severity_bias = 0.0 +} +# b_sada +6242 ={ + winter_severity_bias = 0.0 +} +## c_zabid +# b_zabid +6280 ={ + winter_severity_bias = 0.0 +} +# b_fashal +6278 ={ + winter_severity_bias = 0.0 +} +# b_ghalafiqa +6279 ={ + winter_severity_bias = 0.0 +} +# b_mawza +6281 ={ + winter_severity_bias = 0.0 +} +### d_jawf-al-yamani +## c_jawf-al-yamani +# b_main +6299 ={ + winter_severity_bias = 0.0 +} +# b_shabwa +6296 ={ + winter_severity_bias = 0.0 +} +# b_bayhan +6297 ={ + winter_severity_bias = 0.0 +} +# b_baraqish +6298 ={ + winter_severity_bias = 0.0 +} +## c_wabar +# b_wabar +6300 ={ + winter_severity_bias = 0.0 +} +# b_hisn_al-abr +6301 ={ + winter_severity_bias = 0.0 +} +### d_taizz +## c_taizz +# b_taizz +6284 ={ + winter_severity_bias = 0.0 +} +# b_al-janad +6285 ={ + winter_severity_bias = 0.0 +} +# b_zafar +6286 ={ + winter_severity_bias = 0.0 +} +# b_rada +6287 ={ + winter_severity_bias = 0.0 +} +# b_lawdar +6288 ={ + winter_severity_bias = 0.0 +} +## c_mandab +# b_al-mandab +6282 ={ + winter_severity_bias = 0.0 +} +# b_al-maafir +6283 ={ + winter_severity_bias = 0.0 +} +# b_musaymir +6289 ={ + winter_severity_bias = 0.0 +} +# b_aden +6290 ={ + winter_severity_bias = 0.0 +} +## c_dathina +# b_saqra +6291 ={ + winter_severity_bias = 0.0 +} +# b_ahwan +6292 ={ + winter_severity_bias = 0.0 +} +# b_azzan +6294 ={ + winter_severity_bias = 0.0 +} +# b_nisab +6295 ={ + winter_severity_bias = 0.0 +} +### d_hadramawt +## c_hadramawt +# b_shibam +6306 ={ + winter_severity_bias = 0.0 +} +# b_barhut +6304 ={ + winter_severity_bias = 0.0 +} +# b_inat +6305 ={ + winter_severity_bias = 0.0 +} +# b_qabr_salih +6307 ={ + winter_severity_bias = 0.0 +} +# b_qutn +6308 ={ + winter_severity_bias = 0.0 +} +## c_ahqaf +# b_al-qhqaf +6302 ={ + winter_severity_bias = 0.0 +} +# b_thamud +6303 ={ + winter_severity_bias = 0.0 +} +## c_kinda_sakun +# b_hurayda +6309 ={ + winter_severity_bias = 0.0 +} +# b_khurayba +6310 ={ + winter_severity_bias = 0.0 +} +### d_mahra +## c_mahra +# b_ash-shihr +6312 ={ + winter_severity_bias = 0.0 +} +# b_balhaf +6293 ={ + winter_severity_bias = 0.0 +} +# b_mukalla +6311 ={ + winter_severity_bias = 0.0 +} +## c_al-asa +# b_al-asa +6313 ={ + winter_severity_bias = 0.0 +} +## c_dhofar +# b_raysut +6314 ={ + winter_severity_bias = 0.0 +} +# b_dhufar +6315 ={ + winter_severity_bias = 0.0 +} +# b_mirba +6316 ={ + winter_severity_bias = 0.0 +} +# b_hasik +6317 ={ + winter_severity_bias = 0.0 +} +### d_socotra +## c_socotra +# b_suq-socotra #Tamrida +1369 ={ + winter_severity_bias = 0.0 +} +# b_qualnsiyah +1310 ={ + winter_severity_bias = 0.0 +} + +#### k_egypt +### d_cyrenaica +## c_barqa +# b_barqa-al-marj +6104 ={ + winter_severity_bias = 0.0 +} +# b_wadi_masus +6102 ={ + winter_severity_bias = 0.0 +} +# b_jabal_al-gharbi +6103 ={ + winter_severity_bias = 0.0 +} +# b_benghazi +6105 ={ + winter_severity_bias = 0.0 +} +## c_awjila +# b_awjila +6106 ={ + winter_severity_bias = 0.0 +} +# b_jalu +6107 ={ + winter_severity_bias = 0.0 +} +# b_jakharrad +6108 ={ + winter_severity_bias = 0.0 +} +## c_derna +# b_derna +6099 ={ + winter_severity_bias = 0.0 +} +# b_wadi_makhil +6100 ={ + winter_severity_bias = 0.0 +} +# b_marawa +6101 ={ + winter_severity_bias = 0.0 +} +## c_tobruk +# b_tobruk +6098 ={ + winter_severity_bias = 0.0 +} +### d_alexandria +## c_alexandria +# +# b_alexandria +#pentarchy = yes +# +# b_alexandria +6053 ={ + winter_severity_bias = 0.0 +} +# b_al-hamam +6094 ={ + winter_severity_bias = 0.0 +} +# b_wadi_natrun +6116 ={ + winter_severity_bias = 0.0 +} +## c_sullum #AKA Marmarica +# b_sullum +6097 ={ + winter_severity_bias = 0.0 +} +# b_qasr_ash-shams +6095 ={ + winter_severity_bias = 0.0 +} +# b_kanais_al-hadid +6096 ={ + winter_severity_bias = 0.0 +} +## c_siwa +# b_siwa +6093 ={ + winter_severity_bias = 0.0 +} +# b_ain_al-gharbi +6092 ={ + winter_severity_bias = 0.0 +} +# b_qara +6117 ={ + winter_severity_bias = 0.0 +} +### d_delta +## c_damietta +# b_dumiyat +6046 ={ + winter_severity_bias = 0.0 +} +# b_daqahla +6043 ={ + winter_severity_bias = 0.0 +} +# b_tinnis +6045 ={ + winter_severity_bias = 0.0 +} +## c_al-buhaira +# b_rashid +6052 ={ + winter_severity_bias = 0.0 +} +# b_damanhur +6054 ={ + winter_severity_bias = 0.0 +} +# b_ramsis +6055 ={ + winter_severity_bias = 0.0 +} +## c_al-gharbiya +# b_minuf +6051 ={ + winter_severity_bias = 0.0 +} +# b_samannud +6047 ={ + winter_severity_bias = 0.0 +} +# b_burullus +6048 ={ + winter_severity_bias = 0.0 +} +# b_nastarawa +6049 ={ + winter_severity_bias = 0.0 +} +# b_ibyar +6050 ={ + winter_severity_bias = 0.0 +} +## c_sharkiya +# b_bilbays +6040 ={ + winter_severity_bias = 0.0 +} +# b_qalyub +6041 ={ + winter_severity_bias = 0.0 +} +# b_faqus +6044 ={ + winter_severity_bias = 0.0 +} +### d_cairo +## c_cairo +# b_cairo +6042 ={ + winter_severity_bias = 0.0 +} +# b_quzlum +6039 ={ + winter_severity_bias = 0.0 +} +# b_atfih +6065 ={ + winter_severity_bias = 0.0 +} +# b_hulwan-cairo +6066 ={ + winter_severity_bias = 0.0 +} +## c_giza +# b_gizeh +6057 ={ + winter_severity_bias = 0.0 +} +# b_abu_ghalib +6056 ={ + winter_severity_bias = 0.0 +} +# b_busir +6058 ={ + winter_severity_bias = 0.0 +} +## c_fayyum +# b_al-fayyum +6060 ={ + winter_severity_bias = 0.0 +} +# b_tirsa +6059 ={ + winter_severity_bias = 0.0 +} +# b_iqna +6061 ={ + winter_severity_bias = 0.0 +} +### d_al-wahat +## c_bahriya +# b_al-bahriya +6089 ={ + winter_severity_bias = 0.0 +} +# b_bawiti +6090 ={ + winter_severity_bias = 0.0 +} +# b_al-harra +6091 ={ + winter_severity_bias = 0.0 +} +## c_farafra +# b_al-farafra +6088 ={ + winter_severity_bias = 0.0 +} +## c_dakhla +# b_mut +6085 ={ + winter_severity_bias = 0.0 +} +# b_tunayda +6086 ={ + winter_severity_bias = 0.0 +} +# b_al-qasr-dakhla +6087 ={ + winter_severity_bias = 0.0 +} +## c_kharga +# b_kharga +6083 ={ + winter_severity_bias = 0.0 +} +# b_baris +6084 ={ + winter_severity_bias = 0.0 +} +### d_al-said +## c_qus +# b_qus +6077 ={ + winter_severity_bias = 0.0 +} +# b_huw +6074 ={ + winter_severity_bias = 0.0 +} +# b_faw +6075 ={ + winter_severity_bias = 0.0 +} +# b_qina +6076 ={ + winter_severity_bias = 0.0 +} +# b_armant +6078 ={ + winter_severity_bias = 0.0 +} +## c_bahnasa +# b_al-bahnasa +6063 ={ + winter_severity_bias = 0.0 +} +# b_ahnas +6062 ={ + winter_severity_bias = 0.0 +} +# b_ihrit +6064 ={ + winter_severity_bias = 0.0 +} +## c_ushmun +# b_al-ushmunain +6067 ={ + winter_severity_bias = 0.0 +} +# b_ansina +6068 ={ + winter_severity_bias = 0.0 +} +# b_manfalut +6069 ={ + winter_severity_bias = 0.0 +} +## c_asyut +# b_asyut +6070 ={ + winter_severity_bias = 0.0 +} +# b_bawit +6071 ={ + winter_severity_bias = 0.0 +} +# b_ikhmin +6072 ={ + winter_severity_bias = 0.0 +} +# b_ibshaya +6073 ={ + winter_severity_bias = 0.0 +} +## c_aswan +# b_aswan +6081 ={ + winter_severity_bias = 0.0 +} +# b_udfu +6079 ={ + winter_severity_bias = 0.0 +} +# b_zarnikh +6080 ={ + winter_severity_bias = 0.0 +} +# b_aswan-west +6082 ={ + winter_severity_bias = 0.0 +} +### d_eastern_desert +## c_qusayr +# b_qusayr +6109 ={ + winter_severity_bias = 0.0 +} +# b_safaga +6122 ={ + winter_severity_bias = 0.0 +} +## c_jabal_quzlum +# b_north_jbl_quzlum +6118 ={ + winter_severity_bias = 0.0 +} +# b_central_jbl_quzlum +6119 ={ + winter_severity_bias = 0.0 +} +# b_south_jbl_quzlum +6120 ={ + winter_severity_bias = 0.0 +} +# b_um_shashoba +6121 ={ + winter_severity_bias = 0.0 +} +### d_sinai +## c_farama +# b_farama +6038 ={ + winter_severity_bias = 0.0 +} +# b_warrada +6036 ={ + winter_severity_bias = 0.0 +} +# b_al-arish +5970 ={ + winter_severity_bias = 0.0 +} +## c_sinai +# b_at-tur +6033 ={ + winter_severity_bias = 0.0 +} +# b_stcatherine +6032 ={ + winter_severity_bias = 0.0 +} +# b_faran +6034 ={ + winter_severity_bias = 0.0 +} +# b_qalat_jundi +6035 ={ + winter_severity_bias = 0.0 +} +# b_tih +6037 ={ + winter_severity_bias = 0.0 +} +## c_firaun +# b_firaun +6030 ={ + winter_severity_bias = 0.0 +} +# b_dahab +6031 ={ + winter_severity_bias = 0.0 +} + +#### k_jerusalem +### d_oultrejourdain +## c_kerak #Al-Karak +# b_kerak #Al-Karak +5980 ={ + winter_severity_bias = 0.0 +} +# b_shawbak #AKA Monreal +5978 ={ + winter_severity_bias = 0.0 +} +# b_at-tafila +5979 ={ + winter_severity_bias = 0.0 +} +## c_negev +# b_zughar +5969 ={ + winter_severity_bias = 0.0 +} +# b_baidha-petra #Yes, this is Petra +5971 ={ + winter_severity_bias = 0.0 +} +# b_arandal +5972 ={ + winter_severity_bias = 0.0 +} +# b_aila #AKA Eilat +5973 ={ + winter_severity_bias = 0.0 +} +### d_palestine +## c_jerusalem +# b_jerusalem +5965 ={ + winter_severity_bias = 0.0 +} +# b_ar-ramla +5963 ={ + winter_severity_bias = 0.0 +} +# b_nablus +5964 ={ + winter_severity_bias = 0.0 +} +# b_hebron +5966 ={ + winter_severity_bias = 0.0 +} +## c_ghazza +# b_ghazza +5968 ={ + winter_severity_bias = 0.0 +} +# b_ascalon +5967 ={ + winter_severity_bias = 0.0 +} +## c_jaffa +# b_yaffa +5962 ={ + winter_severity_bias = 0.0 +} +# b_cesarea +5961 ={ + winter_severity_bias = 0.0 +} +### d_urdunn #AKA Galilee +## c_tiberias +# b_tiberias +5959 ={ + winter_severity_bias = 0.0 +} +# b_baniyas +5922 ={ + winter_severity_bias = 0.0 +} +## c_acre +# b_acre +5960 ={ + winter_severity_bias = 0.0 +} +# b_tyre +5921 ={ + winter_severity_bias = 0.0 +} +## c_irbid +# b_irbid +5958 ={ + winter_severity_bias = 0.0 +} +# b_jarash +5985 ={ + winter_severity_bias = 0.0 +} + +#### k_syria +### d_aleppo +## c_aleppo +# b_halab +5934 ={ + winter_severity_bias = 0.30 +} +# b_tall_afrin +5906 ={ + winter_severity_bias = 0.30 +} +# b_azaz +5907 ={ + winter_severity_bias = 0.30 +} +# b_manbij +5908 ={ + winter_severity_bias = 0.30 +} +# b_buzaa +5938 ={ + winter_severity_bias = 0.30 +} +## c_suriya +# b_suriya +5942 ={ + winter_severity_bias = 0.10 +} +# b_khunasira +5941 ={ + winter_severity_bias = 0.10 +} +## c_syrrusafa +# b_ar-rusafa +5940 ={ + winter_severity_bias = 0.10 +} +# b_siffin +5939 ={ + winter_severity_bias = 0.10 +} +## c_qinnasrin +# b_qinnasrin +5933 ={ + winter_severity_bias = 0.30 +} +# b_artah +5935 ={ + winter_severity_bias = 0.30 +} +# b_ar-rikha +5936 ={ + winter_severity_bias = 0.30 +} +### d_edessa +## c_edessa +# b_edessa +4869 ={ + winter_severity_bias = 0.20 +} +# b_al-bira +4872 ={ + winter_severity_bias = 0.20 +} +## c_samosata +# b_samosata +4894 ={ + winter_severity_bias = 0.70 +} +# b_bahasna +4892 ={ + winter_severity_bias = 0.70 +} +## c_marash +# b_marash +4893 ={ + winter_severity_bias = 0.70 +} +# b_qalat_ar-rum +4890 ={ + winter_severity_bias = 0.50 +} +# b_kaisum +4891 ={ + winter_severity_bias = 0.70 +} +## c_aintab +# b_aintab +5900 ={ + winter_severity_bias = 0.40 +} +# b_tall_bashir #AKA Turbessel +5901 ={ + winter_severity_bias = 0.40 +} +# b_jarabulus +5902 ={ + winter_severity_bias = 0.40 +} +# b_duluk-teluch +4899 ={ + winter_severity_bias = 0.40 +} +### d_homs +## c_homs +# b_hims +5929 ={ + winter_severity_bias = 0.10 +} +# b_rafaniya-krak +5917 ={ + winter_severity_bias = 0.0 +} +# b_jusiya +5928 ={ + winter_severity_bias = 0.50 +} +## c_shayzar +# b_shayzar +5915 ={ + winter_severity_bias = 0.0 +} +# b_masyaf +5914 ={ + winter_severity_bias = 0.0 +} +## c_hama +# b_hama +5930 ={ + winter_severity_bias = 0.30 +} +# b_salamiya +5931 ={ + winter_severity_bias = 0.30 +} +# b_kafartab +5932 ={ + winter_severity_bias = 0.30 +} +### d_antioch +## c_antiocheia +# b_antiocheia +5910 ={ + winter_severity_bias = 0.50 +} +# b_as-suwaydiya +5909 ={ + winter_severity_bias = 0.50 +} +# b_latakia +5912 ={ + winter_severity_bias = 0.0 +} +# b_jabala +5911 ={ + winter_severity_bias = 0.0 +} +## c_alexandretta +# b_alexandretta +5905 ={ + winter_severity_bias = 0.40 +} +# b_qurus +5903 ={ + winter_severity_bias = 0.40 +} +# b_baghras +5904 ={ + winter_severity_bias = 0.50 +} +### d_lebanon +## c_beirut +# b_beirut +5919 ={ + winter_severity_bias = 0.0 +} +# b_saida #Sidon +5920 ={ + winter_severity_bias = 0.0 +} +## c_tripoli +# b_syrtripolis +5918 ={ + winter_severity_bias = 0.0 +} +# b_antartus +5916 ={ + winter_severity_bias = 0.0 +} +### d_damascus +## c_damascus +# b_damascus +5924 ={ + winter_severity_bias = 0.10 +} +# b_nawa +5923 ={ + winter_severity_bias = 0.10 +} +# b_darayya +5953 ={ + winter_severity_bias = 0.10 +} +# b_zurra +5954 ={ + winter_severity_bias = 0.10 +} +## c_juwair +# b_juwair +5951 ={ + winter_severity_bias = 0.10 +} +# b_al-qastal +5927 ={ + winter_severity_bias = 0.30 +} +# b_marj-rahit +5952 ={ + winter_severity_bias = 0.10 +} +## c_baalbek +# b_baalbak +5926 ={ + winter_severity_bias = 0.50 +} +# b_az-zabadani +5925 ={ + winter_severity_bias = 0.50 +} +# b_anjar +5937 ={ + winter_severity_bias = 0.30 +} +## c_hauran +# b_busra +5955 ={ + winter_severity_bias = 0.0 +} +# b_sarkhad +5956 ={ + winter_severity_bias = 0.0 +} +# b_as-suwaida-hauran +5957 ={ + winter_severity_bias = 0.0 +} +### d_palmyra +## c_palmyra +# b_tadmur #AKA Palmyra +5948 ={ + winter_severity_bias = 0.10 +} +# b_arak +5947 ={ + winter_severity_bias = 0.10 +} +## c_sukhna +# b_as-sukhna +5945 ={ + winter_severity_bias = 0.0 +} +# b_dair_ar-ruman +5944 ={ + winter_severity_bias = 0.0 +} +# b_urd +5946 ={ + winter_severity_bias = 0.0 +} +## c_qaryatan +# b_al-qaryatan +5950 ={ + winter_severity_bias = 0.10 +} +# b_judr +5949 ={ + winter_severity_bias = 0.10 +} + +##### e_abyssinia +#### k_abyssinia +### d_aksum +## c_tigre +# b_aksum +8289 ={ + winter_severity_bias = 0.0 +} +# b_south_seraye +8290 ={ + winter_severity_bias = 0.0 +} +# b_tigre +8291 ={ + winter_severity_bias = 0.0 +} +# b_waldabba +8292 ={ + winter_severity_bias = 0.0 +} +# b_joha +8293 ={ + winter_severity_bias = 0.0 +} +## c_serae +# b_seraye +8283 ={ + winter_severity_bias = 0.0 +} +# b_hamasen +8282 ={ + winter_severity_bias = 0.0 +} +# b_shimazana +8285 ={ + winter_severity_bias = 0.0 +} +## c_intarta +# b_wiqro +8294 ={ + winter_severity_bias = 0.0 +} +# b_qohaito +8284 ={ + winter_severity_bias = 0.0 +} +# b_matara +8288 ={ + winter_severity_bias = 0.0 +} +# b_intarta +8295 ={ + winter_severity_bias = 0.0 +} +# b_qiha +8296 ={ + winter_severity_bias = 0.0 +} +### d_dahlaks +## c_dahlak +# b_dahlak_kebir +8280 ={ + winter_severity_bias = 0.0 +} +# b_gimhile +8281 ={ + winter_severity_bias = 0.0 +} +## c_massawa +# b_massawa +8278 ={ + winter_severity_bias = 0.0 +} +# b_dehono +8279 ={ + winter_severity_bias = 0.0 +} +## c_bur +# b_buri +8286 ={ + winter_severity_bias = 0.0 +} +# b_bur +8287 ={ + winter_severity_bias = 0.0 +} +# b_saho +8330 ={ + winter_severity_bias = 0.0 +} +### d_lasta +## c_lasta +# b_lalibela +8301 ={ + winter_severity_bias = 0.0 +} +# b_tekeze +8297 ={ + winter_severity_bias = 0.0 +} +# b_lasta +8298 ={ + winter_severity_bias = 0.0 +} +# b_adafa +8299 ={ + winter_severity_bias = 0.0 +} +# b_doba +8300 ={ + winter_severity_bias = 0.0 +} +## c_hayq +# b_hayq +8326 ={ + winter_severity_bias = 0.0 +} +# b_dabahu +8336 ={ + winter_severity_bias = 0.0 +} +## c_angot +# b_angot +8308 ={ + winter_severity_bias = 0.0 +} +# b_bashila +8318 ={ + winter_severity_bias = 0.0 +} +# b_gishe +8319 ={ + winter_severity_bias = 0.0 +} +## c_amhara +# b_amhara +8324 ={ + winter_severity_bias = 0.0 +} +# b_east_amhara +8325 ={ + winter_severity_bias = 0.0 +} +# b_wagda +8328 ={ + winter_severity_bias = 0.0 +} +# b_walaqa +8329 ={ + winter_severity_bias = 0.0 +} +### d_gondar +## c_dembiya +# b_gondar +8312 ={ + winter_severity_bias = 0.0 +} +# b_dembiya +8307 ={ + winter_severity_bias = 0.0 +} +# b_galila +8313 ={ + winter_severity_bias = 0.0 +} +## c_begemder +# b_begemdir +8309 ={ + winter_severity_bias = 0.0 +} +# b_belasa +8306 ={ + winter_severity_bias = 0.0 +} +# b_sana +8310 ={ + winter_severity_bias = 0.0 +} +# b_gouzara +8311 ={ + winter_severity_bias = 0.0 +} +# b_kibran +8317 ={ + winter_severity_bias = 0.0 +} +## c_semien +# b_kosoge +8303 ={ + winter_severity_bias = 0.0 +} +# b_semien +8304 ={ + winter_severity_bias = 0.0 +} +# b_falasha +8305 ={ + winter_severity_bias = 0.0 +} +### d_gojjam +## c_gojjam +# b_gojjam +8321 ={ + winter_severity_bias = 0.0 +} +# b_bad +8316 ={ + winter_severity_bias = 0.0 +} +# b_bahir_giyorgis +8320 ={ + winter_severity_bias = 0.0 +} +# b_warq +8322 ={ + winter_severity_bias = 0.0 +} +# b_dima +8323 ={ + winter_severity_bias = 0.0 +} +## c_gafat +# b_gafat +8366 ={ + winter_severity_bias = 0.0 +} +# b_west_gojjam +8372 ={ + winter_severity_bias = 0.0 +} +## c_agaw_meder +# b_agaw_meder +8371 ={ + winter_severity_bias = 0.0 +} +# b_upper_dinder +8314 ={ + winter_severity_bias = 0.0 +} +# b_dinder +8315 ={ + winter_severity_bias = 0.0 +} +### d_showa +## c_showa +# b_katata +8352 ={ + winter_severity_bias = 0.0 +} +# b_debre_libanos +8353 ={ + winter_severity_bias = 0.0 +} +# b_warab +8350 ={ + winter_severity_bias = 0.0 +} +# b_mugar +8367 ={ + winter_severity_bias = 0.0 +} +# b_indegabtan +8386 ={ + winter_severity_bias = 0.0 +} +## c_fetegar +# b_fatagar +8378 ={ + winter_severity_bias = 0.0 +} +# b_sarmat +8351 ={ + winter_severity_bias = 0.0 +} +# b_silalish +8349 ={ + winter_severity_bias = 0.0 +} +## c_waj +# b_waj +8364 ={ + winter_severity_bias = 0.0 +} +# b_geberge +8385 ={ + winter_severity_bias = 0.0 +} +## c_ifat +# b_ifat +8347 ={ + winter_severity_bias = 0.0 +} +# b_warjih +8348 ={ + winter_severity_bias = 0.0 +} +# b_gidim +8327 ={ + winter_severity_bias = 0.0 +} + +#### k_nubia +### d_nobatia +## c_qasr_ibrim +# b_qasr_ibrim +6334 ={ + winter_severity_bias = 0.0 +} +# b_korosko +6332 ={ + winter_severity_bias = 0.0 +} +# b_sheikh_dawud +6333 ={ + winter_severity_bias = 0.0 +} +## c_faras +# b_faras +6336 ={ + winter_severity_bias = 0.0 +} +# b_serra +6335 ={ + winter_severity_bias = 0.0 +} +## c_batn_al-hajar +# b_semna +6337 ={ + winter_severity_bias = 0.0 +} +# b_akasha +6338 ={ + winter_severity_bias = 0.0 +} +## c_qurta +# b_qurta +6329 ={ + winter_severity_bias = 0.0 +} +# b_ikhmindi +6330 ={ + winter_severity_bias = 0.0 +} +# b_sayala +6331 ={ + winter_severity_bias = 0.0 +} +## c_kalabsha +# b_kalabsha +6362 ={ + winter_severity_bias = 0.0 +} +# b_sabagura +6361 ={ + winter_severity_bias = 0.0 +} +### d_makuria +## c_dongola +# b_old_dongola +6344 ={ + winter_severity_bias = 0.0 +} +# b_tumbus +6341 ={ + winter_severity_bias = 0.0 +} +# b_kemna +6342 ={ + winter_severity_bias = 0.0 +} +# b_dongola +6343 ={ + winter_severity_bias = 0.0 +} +# b_debba +6345 ={ + winter_severity_bias = 0.0 +} +## c_sai +# b_sai +6339 ={ + winter_severity_bias = 0.0 +} +# b_delgo +6340 ={ + winter_severity_bias = 0.0 +} +# b_kassi-markol +6359 ={ + winter_severity_bias = 0.0 +} +## c_meroe +# b_grnetti +6346 ={ + winter_severity_bias = 0.0 +} +# b_tankasi +6347 ={ + winter_severity_bias = 0.0 +} +# b_kareima +6348 ={ + winter_severity_bias = 0.0 +} +# b_nuri +6349 ={ + winter_severity_bias = 0.0 +} +# b_diffar +6360 ={ + winter_severity_bias = 0.0 +} +## c_wadi_el-milk +# b_wadi_el-milk +6415 ={ + winter_severity_bias = 0.0 +} +# b_jebel_abu_negila +6427 ={ + winter_severity_bias = 0.0 +} +# b_bir_el-kai +6428 ={ + winter_severity_bias = 0.0 +} +# b_upper_milk +6896 ={ + winter_severity_bias = 0.0 +} +## c_abwab +# b_al-abwab +6363 ={ + winter_severity_bias = 0.0 +} +# b_shendi +6364 ={ + winter_severity_bias = 0.0 +} +# b_keli +6365 ={ + winter_severity_bias = 0.0 +} +# b_wad_hamid +6366 ={ + winter_severity_bias = 0.0 +} +# b_al-ghazali +6350 ={ + winter_severity_bias = 0.0 +} +## c_atbara +# b_atbara +6356 ={ + winter_severity_bias = 0.0 +} +# b_berber +6355 ={ + winter_severity_bias = 0.0 +} +# b_al-bawga +6357 ={ + winter_severity_bias = 0.0 +} +# b_ed-damer +6358 ={ + winter_severity_bias = 0.0 +} +# b_shunqayr +6389 ={ + winter_severity_bias = 0.0 +} +### d_shamir # Abu-Hammad +## c_shamir +# b_shemkhiya +6367 ={ + winter_severity_bias = 0.0 +} +# b_redab +6368 ={ + winter_severity_bias = 0.0 +} +# b_kuweib +6369 ={ + winter_severity_bias = 0.0 +} +## c_abu_hammad +# b_abu_hammad +6352 ={ + winter_severity_bias = 0.0 +} +# b_korosko_road +6354 ={ + winter_severity_bias = 0.0 +} +# b_al-hajar_nubia +6370 ={ + winter_severity_bias = 0.0 +} +## c_kurgus +# b_kurgus +6351 ={ + winter_severity_bias = 0.0 +} +# b_tarfaya +6353 ={ + winter_severity_bias = 0.0 +} +### d_alwa # Alodia +## c_alodia +# b_soba +6394 ={ + winter_severity_bias = 0.0 +} +# b_geili +6391 ={ + winter_severity_bias = 0.0 +} +# b_kadero +6392 ={ + winter_severity_bias = 0.0 +} +# b_alti +6395 ={ + winter_severity_bias = 0.0 +} +# b_kamlin +6397 ={ + winter_severity_bias = 0.0 +} +## c_naga +# b_naga +6407 ={ + winter_severity_bias = 0.0 +} +# b_basa +6408 ={ + winter_severity_bias = 0.0 +} +# b_umm_usuda +6409 ={ + winter_severity_bias = 0.0 +} +# b_jebel_geili +6410 ={ + winter_severity_bias = 0.0 +} +## c_gezira +# b_geteina +6396 ={ + winter_severity_bias = 0.0 +} +# b_arbaji +6398 ={ + winter_severity_bias = 0.0 +} +# b_um_sunt +6399 ={ + winter_severity_bias = 0.0 +} +# b_saqadi +6401 ={ + winter_severity_bias = 0.0 +} +## c_eleila +# b_el-eleila +6405 ={ + winter_severity_bias = 0.0 +} +# b_abu_geili +6404 ={ + winter_severity_bias = 0.0 +} +# b_basharga +6406 ={ + winter_severity_bias = 0.0 +} +## c_ushara +# b_ushara +6393 ={ + winter_severity_bias = 0.0 +} +# b_shaheinab +6390 ={ + winter_severity_bias = 0.0 +} +### d_sennar # Alodia +## c_sennar +# b_sennar +6400 ={ + winter_severity_bias = 0.0 +} +# b_jebel_moya +6402 ={ + winter_severity_bias = 0.0 +} +# b_singa +6403 ={ + winter_severity_bias = 0.0 +} +# b_renk +6432 ={ + winter_severity_bias = 0.0 +} +## c_fazughli +# b_fazughli +6433 ={ + winter_severity_bias = 0.0 +} +# b_al-rusayrisi +6434 ={ + winter_severity_bias = 0.0 +} +# b_fazughli_east +6435 ={ + winter_severity_bias = 0.0 +} +## c_tagali +# b_kosti +6429 ={ + winter_severity_bias = 0.0 +} +# b_tagali +6430 ={ + winter_severity_bias = 0.0 +} +# b_tagali_south +6431 ={ + winter_severity_bias = 0.0 +} +## c_gumuz +# b_gumuz_north +8514 ={ + winter_severity_bias = 0.0 +} +# b_gumuz_west +8515 ={ + winter_severity_bias = 0.0 +} +# b_gumuz_south +8516 ={ + winter_severity_bias = 0.0 +} + +#### k_blemmyia #Maikele Bahr or Bejaland +### d_naqis +## c_aydhab +# b_aydhab +6110 ={ + winter_severity_bias = 0.0 +} +# b_lower_odib +6388 ={ + winter_severity_bias = 0.0 +} +## c_allaqi +# b_allaqi +6113 ={ + winter_severity_bias = 0.0 +} +# b_derahib +6111 ={ + winter_severity_bias = 0.0 +} +# b_haimur +6112 ={ + winter_severity_bias = 0.0 +} +## c_naqis +# b_gebeit +6373 ={ + winter_severity_bias = 0.0 +} +# b_wadi_odib +6372 ={ + winter_severity_bias = 0.0 +} +# b_naqis-north +6374 ={ + winter_severity_bias = 0.0 +} +# b_naqis-south +6384 ={ + winter_severity_bias = 0.0 +} +## c_wadi_amur +# b_khawr_nubt +6375 ={ + winter_severity_bias = 0.0 +} +# b_wadi_amur +6382 ={ + winter_severity_bias = 0.0 +} +# b_upper_amur +6383 ={ + winter_severity_bias = 0.0 +} +### d_bazin +## c_bazin +# b_tokar +6378 ={ + winter_severity_bias = 0.0 +} +# b_akik +6379 ={ + winter_severity_bias = 0.0 +} +# b_bazin +6381 ={ + winter_severity_bias = 0.0 +} +## c_suakin +# b_suakin +6377 ={ + winter_severity_bias = 0.0 +} +# b_dungunab +6371 ={ + winter_severity_bias = 0.0 +} +## c_badi +# b_badi +6380 ={ + winter_severity_bias = 0.0 +} +# b_ka'abir +6441 ={ + winter_severity_bias = 0.0 +} +### d_baqlin +## c_baqlin +# b_sinkat +6376 ={ + winter_severity_bias = 0.0 +} +# b_baqlin-north +6385 ={ + winter_severity_bias = 0.0 +} +# b_baqlin-west +6386 ={ + winter_severity_bias = 0.0 +} +# b_baqlin-east +6387 ={ + winter_severity_bias = 0.0 +} +## c_djarin +# b_dherbe +6440 ={ + winter_severity_bias = 0.0 +} +# b_djarin +6414 ={ + winter_severity_bias = 0.0 +} +# b_khawr_baraka +6413 ={ + winter_severity_bias = 0.0 +} +## c_qataa +# b_qataa +6438 ={ + winter_severity_bias = 0.0 +} +# b_marya +6439 ={ + winter_severity_bias = 0.0 +} +## c_kassala +# b_kassala +6412 ={ + winter_severity_bias = 0.0 +} +# b_middle_atbara +6411 ={ + winter_severity_bias = 0.0 +} +# b_to_lus +6442 ={ + winter_severity_bias = 0.0 +} +## c_showak +# b_showak +6437 ={ + winter_severity_bias = 0.0 +} +# b_gash +6443 ={ + winter_severity_bias = 0.0 +} +# b_showak_south +6444 ={ + winter_severity_bias = 0.0 +} +## c_wolqayt +# b_wolqayt +6436 ={ + winter_severity_bias = 0.0 +} +# b_wad_abu_nahl +6445 ={ + winter_severity_bias = 0.0 +} +# b_wegera +8302 ={ + winter_severity_bias = 0.0 +} + +#### k_damot +### d_damot +## c_damot +# b_gambo +8387 ={ + winter_severity_bias = 0.0 +} +# b_bosha +8388 ={ + winter_severity_bias = 0.0 +} +# b_gurage +8363 ={ + winter_severity_bias = 0.0 +} +# b_bizamo +8365 ={ + winter_severity_bias = 0.0 +} +# b_jibat +8369 ={ + winter_severity_bias = 0.0 +} +# b_damot-west +8370 ={ + winter_severity_bias = 0.0 +} +## c_berta +# b_berta +8376 ={ + winter_severity_bias = 0.0 +} +# b_abbay-agaw +8375 ={ + winter_severity_bias = 0.0 +} +## c_wellega +# b_didesa +8377 ={ + winter_severity_bias = 0.0 +} +# b_wellega-south +8437 ={ + winter_severity_bias = 0.0 +} +# b_wellega-north +8438 ={ + winter_severity_bias = 0.0 +} +## c_innarya +# b_innarya +8362 ={ + winter_severity_bias = 0.0 +} +# b_gibe_innarya +8389 ={ + winter_severity_bias = 0.0 +} +# b_gomma +8433 ={ + winter_severity_bias = 0.0 +} +### d_kaffa +## c_kaffa +# b_bonga +8435 ={ + winter_severity_bias = 0.0 +} +# b_kaffa +8436 ={ + winter_severity_bias = 0.0 +} +## c_welamo +# b_welamo +8358 ={ + winter_severity_bias = 0.0 +} +# b_gojeb +8361 ={ + winter_severity_bias = 0.0 +} +# b_janjero +8373 ={ + winter_severity_bias = 0.0 +} +# b_welamo-west +8434 ={ + winter_severity_bias = 0.0 +} +## c_gamo +# b_gamo +8360 ={ + winter_severity_bias = 0.0 +} +# b_omo +8390 ={ + winter_severity_bias = 0.0 +} +# b_lower_omo +8518 ={ + winter_severity_bias = 0.0 +} +### d_sharka +## c_sharka +# b_sharka +8355 ={ + winter_severity_bias = 0.0 +} +# b_munesa +8357 ={ + winter_severity_bias = 0.0 +} +# b_kambata +8368 ={ + winter_severity_bias = 0.0 +} +## c_burji +# b_burji +8379 ={ + winter_severity_bias = 0.0 +} +# b_yabelo +8450 ={ + winter_severity_bias = 0.0 +} +## c_dara +# b_dara-sharka +8517 ={ + winter_severity_bias = 0.0 +} +# b_abaya +8359 ={ + winter_severity_bias = 0.0 +} +# b_borama +8380 ={ + winter_severity_bias = 0.0 +} +# b_jam-jam +8381 ={ + winter_severity_bias = 0.0 +} +## c_hadya +# b_hadya +8356 ={ + winter_severity_bias = 0.0 +} +# b_ganz +8374 ={ + winter_severity_bias = 0.0 +} + +#### k_adal +### d_dawaro +## c_dawaro +# b_karayu +8354 ={ + winter_severity_bias = 0.0 +} +# b_dawaro +8414 ={ + winter_severity_bias = 0.0 +} +# b_dawaro-west +8415 ={ + winter_severity_bias = 0.0 +} +## c_gabal +# b_bate +8395 ={ + winter_severity_bias = 0.0 +} +# b_gendebelo +8396 ={ + winter_severity_bias = 0.0 +} +# b_gabal +8397 ={ + winter_severity_bias = 0.0 +} +# b_gabal_south +8409 ={ + winter_severity_bias = 0.0 +} +## c_arusi +# b_arusi +8413 ={ + winter_severity_bias = 0.0 +} +# b_boke +8384 ={ + winter_severity_bias = 0.0 +} +# b_arusi-north +8412 ={ + winter_severity_bias = 0.0 +} +### d_adal +## c_dakkar +# b_dakkar +8406 ={ + winter_severity_bias = 0.0 +} +# b_adal +8393 ={ + winter_severity_bias = 0.0 +} +# b_aw_barre +8402 ={ + winter_severity_bias = 0.0 +} +## c_harar +# b_harar +8407 ={ + winter_severity_bias = 0.0 +} +# b_west_adal +8394 ={ + winter_severity_bias = 0.0 +} +# b_jebel_ahmar +8410 ={ + winter_severity_bias = 0.0 +} +## c_hargaya +# b_hargaya +8408 ={ + winter_severity_bias = 0.0 +} +# b_hargaya-west +8411 ={ + winter_severity_bias = 0.0 +} +# b_hargaya-south +8416 ={ + winter_severity_bias = 0.0 +} +## c_fafan +# b_fafan +8420 ={ + winter_severity_bias = 0.0 +} +# b_hargeisa +8405 ={ + winter_severity_bias = 0.0 +} +# b_fafan-south +8500 ={ + winter_severity_bias = 0.0 +} +### d_mora +## c_awssa +# b_awssa +8344 ={ + winter_severity_bias = 0.0 +} +# b_mora-awssa +8343 ={ + winter_severity_bias = 0.0 +} +# b_awash +8345 ={ + winter_severity_bias = 0.0 +} +# b_abbe +8391 ={ + winter_severity_bias = 0.0 +} +## c_sitti +# b_sitti +8392 ={ + winter_severity_bias = 0.0 +} +# b_middle_awash +8346 ={ + winter_severity_bias = 0.0 +} +### d_danakil +## c_danakil +# b_amarta +8334 ={ + winter_severity_bias = 0.0 +} +# b_ragali +8333 ={ + winter_severity_bias = 0.0 +} +# b_afera +8335 ={ + winter_severity_bias = 0.0 +} +## c_edd +# b_edd +8332 ={ + winter_severity_bias = 0.0 +} +# b_edd-north +8331 ={ + winter_severity_bias = 0.0 +} +## c_afar +# b_afar +8339 ={ + winter_severity_bias = 0.0 +} +# b_south_danakil +8337 ={ + winter_severity_bias = 0.0 +} +# b_north_afar +8338 ={ + winter_severity_bias = 0.0 +} +### d_zaila +## c_zaila +# b_zaila +8400 ={ + winter_severity_bias = 0.0 +} +# b_abasa +8398 ={ + winter_severity_bias = 0.0 +} +# b_ghoubet +8399 ={ + winter_severity_bias = 0.0 +} +## c_tadjoura +# b_tadjoura +8342 ={ + winter_severity_bias = 0.0 +} +# b_assab +8340 ={ + winter_severity_bias = 0.0 +} +# b_awbuk +8341 ={ + winter_severity_bias = 0.0 +} +## c_berbera +# b_berbera +8404 ={ + winter_severity_bias = 0.0 +} +# b_amud +8401 ={ + winter_severity_bias = 0.0 +} +# b_gogesa +8403 ={ + winter_severity_bias = 0.0 +} +### d_sanaag +## c_mait +# b_mait +8425 ={ + winter_severity_bias = 0.0 +} +# b_laas_qoray +8426 ={ + winter_severity_bias = 0.0 +} +# b_haylan +8427 ={ + winter_severity_bias = 0.0 +} +## c_makhir +# b_makhir +8424 ={ + winter_severity_bias = 0.0 +} +# b_sheikh +8502 ={ + winter_severity_bias = 0.0 +} +# b_togdheer +8503 ={ + winter_severity_bias = 0.0 +} +## c_busaso +# b_busaso +8430 ={ + winter_severity_bias = 0.0 +} +# b_qumbucul +8428 ={ + winter_severity_bias = 0.0 +} +# b_el-ayo +8429 ={ + winter_severity_bias = 0.0 +} + +##### e_ajuraan +#### k_ajuraan +### d_hafun +## c_ras_hafun +# b_ras_hafun +8432 ={ + winter_severity_bias = 0.0 +} +# b_gardafuul +8431 ={ + winter_severity_bias = 0.0 +} +# b_jaceyl_bid +8508 ={ + winter_severity_bias = 0.0 +} +## c_barbacadle +# b_barbacadle +8509 ={ + winter_severity_bias = 0.0 +} +# b_lower_nugaal +8506 ={ + winter_severity_bias = 0.0 +} +# b_dhuudo +8507 ={ + winter_severity_bias = 0.0 +} +## c_nugaal +# b_lower_togdheer +8504 ={ + winter_severity_bias = 0.0 +} +# b_upper_nugaal +8505 ={ + winter_severity_bias = 0.0 +} +## c_mudug +# b_mudug-south +8512 ={ + winter_severity_bias = 0.0 +} +# b_mudug-north +8513 ={ + winter_severity_bias = 0.0 +} +### d_mogadishu +## c_mogadishu +# b_mogadishu +8463 ={ + winter_severity_bias = 0.0 +} +# b_marka +8461 ={ + winter_severity_bias = 0.0 +} +# b_afgooye +8462 ={ + winter_severity_bias = 0.0 +} +# b_warsheikh +8464 ={ + winter_severity_bias = 0.0 +} +# b_jowhaar +8475 ={ + winter_severity_bias = 0.0 +} +## c_hobyo +# b_hobyo +8466 ={ + winter_severity_bias = 0.0 +} +# b_galkayo +8510 ={ + winter_severity_bias = 0.0 +} +# b_hobyo-north +8511 ={ + winter_severity_bias = 0.0 +} +## c_mareeg +# b_mareeg +8470 ={ + winter_severity_bias = 0.0 +} +# b_el_dere +8465 ={ + winter_severity_bias = 0.0 +} +# b_el_buur +8471 ={ + winter_severity_bias = 0.0 +} +# b_dhusamareb +8472 ={ + winter_severity_bias = 0.0 +} +## c_hiraab +# b_hiraab +8469 ={ + winter_severity_bias = 0.0 +} +# b_beletweyne +8467 ={ + winter_severity_bias = 0.0 +} +# b_shabelle-hiran +8497 ={ + winter_severity_bias = 0.0 +} +# b_hudur +8474 ={ + winter_severity_bias = 0.0 +} +### d_west_ajuraan +## c_jubba +# b_jubba-ajuraan +8457 ={ + winter_severity_bias = 0.0 +} +# b_jubba-north +8491 ={ + winter_severity_bias = 0.0 +} +## c_baydhabo +# b_baydhabo +8458 ={ + winter_severity_bias = 0.0 +} +# b_buur_heybe +8476 ={ + winter_severity_bias = 0.0 +} +# b_bug +8477 ={ + winter_severity_bias = 0.0 +} +# b_wajid +8496 ={ + winter_severity_bias = 0.0 +} +## c_qalaafe +# b_qalaafe +8468 ={ + winter_severity_bias = 0.0 +} +# b_reewin +8495 ={ + winter_severity_bias = 0.0 +} +## c_jilib +# b_jilib +8473 ={ + winter_severity_bias = 0.0 +} +# b_bardhere +8459 ={ + winter_severity_bias = 0.0 +} +# b_baraawe +8460 ={ + winter_severity_bias = 0.0 +} +## c_luuq +# b_luuq +8455 ={ + winter_severity_bias = 0.0 +} +# b_marehan-north +8478 ={ + winter_severity_bias = 0.0 +} +# b_marehan-south +8479 ={ + winter_severity_bias = 0.0 +} + +#### k_bale +### d_shabelle +## c_gode +# b_gode +8499 ={ + winter_severity_bias = 0.0 +} +# b_mustahil +8498 ={ + winter_severity_bias = 0.0 +} +# b_hanan +8501 ={ + winter_severity_bias = 0.0 +} +## c_ganale +# b_ganale +8492 ={ + winter_severity_bias = 0.0 +} +# b_gestro +8490 ={ + winter_severity_bias = 0.0 +} +# b_audo +8493 ={ + winter_severity_bias = 0.0 +} +# b_middle_shebelle +8494 ={ + winter_severity_bias = 0.0 +} +## c_gidaya +# b_gidaya +8421 ={ + winter_severity_bias = 0.0 +} +# b_shabelle +8417 ={ + winter_severity_bias = 0.0 +} +# b_gidaya-north +8422 ={ + winter_severity_bias = 0.0 +} +# b_gidaya-east +8423 ={ + winter_severity_bias = 0.0 +} +### d_bali +## c_sidamo +# b_west_sidamo +8452 ={ + winter_severity_bias = 0.0 +} +# b_east_sidamo +8453 ={ + winter_severity_bias = 0.0 +} +# b_lower_dawa +8454 ={ + winter_severity_bias = 0.0 +} +# b_sidamo-south +8456 ={ + winter_severity_bias = 0.0 +} +## c_bali +# b_dumali +8383 ={ + winter_severity_bias = 0.0 +} +# b_bali-west +8382 ={ + winter_severity_bias = 0.0 +} +# b_bali-east +8418 ={ + winter_severity_bias = 0.0 +} +# b_bali +8419 ={ + winter_severity_bias = 0.0 +} +### d_samalo +## c_marsabit +# b_lagh_bogal +8488 ={ + winter_severity_bias = 0.0 +} +# b_marsabit +8489 ={ + winter_severity_bias = 0.0 +} +## c_fudalhi +# b_fudalhi +8451 ={ + winter_severity_bias = 0.0 +} +# b_upper_kutulo +8484 ={ + winter_severity_bias = 0.0 +} +# b_lak_bor +8487 ={ + winter_severity_bias = 0.0 +} +## c_el_waak +# b_el_waak +8480 ={ + winter_severity_bias = 0.0 +} +# b_dawa_south +8483 ={ + winter_severity_bias = 0.0 +} +# b_kutulo +8485 ={ + winter_severity_bias = 0.0 +} +## c_lag_dera +# b_lag_dera +8481 ={ + winter_severity_bias = 0.0 +} +# b_lower_jubba +8482 ={ + winter_severity_bias = 0.0 +} +# b_lower_kutulo +8486 ={ + winter_severity_bias = 0.0 +} + +##### e_kanem_bornu +#### k_kanem +### d_kanem +## c_kanem +# b_manan #capital of Duguwa dynasty +6485 ={ + winter_severity_bias = 0.0 +} +# b_nguigmi +6484 ={ + winter_severity_bias = 0.0 +} +# b_kanem +6486 ={ + winter_severity_bias = 0.0 +} +# b_kagusti +6490 ={ + winter_severity_bias = 0.0 +} +## c_jimi +# b_jimi +6487 ={ + winter_severity_bias = 0.0 +} +# b_tie +6488 ={ + winter_severity_bias = 0.0 +} +# b_tarazki #unknown location city in Kanem +6489 ={ + winter_severity_bias = 0.0 +} +# b_madan +6491 ={ + winter_severity_bias = 0.0 +} +# b_auno +6492 ={ + winter_severity_bias = 0.0 +} +### d_bornu +## c_bornu +# b_gazargamo +6511 ={ + winter_severity_bias = 0.0 +} +# b_gambaru +6512 ={ + winter_severity_bias = 0.0 +} +# b_diakam +6513 ={ + winter_severity_bias = 0.0 +} +## c_garumele +# b_garumele +6483 ={ + winter_severity_bias = 0.0 +} +# b_ajere +6500 ={ + winter_severity_bias = 0.0 +} +# b_balbelec +6501 ={ + winter_severity_bias = 0.0 +} +# b_gaskeru +6502 ={ + winter_severity_bias = 0.0 +} +# b_diffa +6503 ={ + winter_severity_bias = 0.0 +} +## c_yau +# b_yau +6504 ={ + winter_severity_bias = 0.0 +} +# b_kukawa +6505 ={ + winter_severity_bias = 0.0 +} +# b_garu_kime +6506 ={ + winter_severity_bias = 0.0 +} +# b_dikwa +6507 ={ + winter_severity_bias = 0.0 +} +# b_mege +6508 ={ + winter_severity_bias = 0.0 +} +## c_munio +# b_munio +6515 ={ + winter_severity_bias = 0.0 +} +# b_zamtam +6514 ={ + winter_severity_bias = 0.0 +} +# b_nguru +6516 ={ + winter_severity_bias = 0.0 +} +### d_kagha +## c_kagha +# b_yerwa +6509 ={ + winter_severity_bias = 0.0 +} +# b_galaga +6510 ={ + winter_severity_bias = 0.0 +} +# b_biu +6822 ={ + winter_severity_bias = 0.0 +} +# b_margi +6826 ={ + winter_severity_bias = 0.0 +} +## c_fika +# b_fika +6534 ={ + winter_severity_bias = 0.0 +} +# b_gombe +6522 ={ + winter_severity_bias = 0.0 +} +# b_gongola +6532 ={ + winter_severity_bias = 0.0 +} +## c_katagum +# b_katagum +6527 ={ + winter_severity_bias = 0.0 +} +# b_azare +6526 ={ + winter_severity_bias = 0.0 +} +# b_kudu +6528 ={ + winter_severity_bias = 0.0 +} +# b_gabas +6535 ={ + winter_severity_bias = 0.0 +} + +#### k_sao +### d_baguirmi +## c_baguirmi +# b_massenya +6806 ={ + winter_severity_bias = 0.0 +} +# b_baguirmi-west +6804 ={ + winter_severity_bias = 0.0 +} +# b_baguirmi +6805 ={ + winter_severity_bias = 0.0 +} +# b_biddiri +6807 ={ + winter_severity_bias = 0.0 +} +## c_banre +# b_banre +6811 ={ + winter_severity_bias = 0.0 +} +# b_migri +6810 ={ + winter_severity_bias = 0.0 +} +# b_logone-birni +6812 ={ + winter_severity_bias = 0.0 +} +## c_barma +# b_barma2 +6809 ={ + winter_severity_bias = 0.0 +} +# b_dam_barma +6808 ={ + winter_severity_bias = 0.0 +} +# b_sarwa +6843 ={ + winter_severity_bias = 0.0 +} +## c_masa +# b_masa +6835 ={ + winter_severity_bias = 0.0 +} +# b_mbara +6836 ={ + winter_severity_bias = 0.0 +} +# b_lafana +6837 ={ + winter_severity_bias = 0.0 +} +## c_kuku +# b_kwang +6834 ={ + winter_severity_bias = 0.0 +} +# b_kim +6832 ={ + winter_severity_bias = 0.0 +} +# b_bousso +6838 ={ + winter_severity_bias = 0.0 +} +## c_tumak +# b_tumak +6839 ={ + winter_severity_bias = 0.0 +} +# b_miltou +6833 ={ + winter_severity_bias = 0.0 +} +# b_sumray +6840 ={ + winter_severity_bias = 0.0 +} +# b_niellim +6841 ={ + winter_severity_bias = 0.0 +} +### d_salamat +## c_salamat +# b_salamat +6859 ={ + winter_severity_bias = 0.0 +} +# b_iro +6858 ={ + winter_severity_bias = 0.0 +} +## c_dar_rashid +# b_dar_rashid +6857 ={ + winter_severity_bias = 0.0 +} +# b_boa +6842 ={ + winter_severity_bias = 0.0 +} +# b_melfi_sao +6844 ={ + winter_severity_bias = 0.0 +} +### d_wandala +## c_wandala +# b_duolo +6817 ={ + winter_severity_bias = 0.0 +} +# b_bama +6815 ={ + winter_severity_bias = 0.0 +} +# b_dagwamba +6821 ={ + winter_severity_bias = 0.0 +} +## c_kotoko +# b_makari +6813 ={ + winter_severity_bias = 0.0 +} +# b_ngala +6814 ={ + winter_severity_bias = 0.0 +} +# b_kousseri +6816 ={ + winter_severity_bias = 0.0 +} +## c_diamare +# b_bogo +6818 ={ + winter_severity_bias = 0.0 +} +6819 ={ + winter_severity_bias = 0.0 +} +# b_kalfou +6820 ={ + winter_severity_bias = 0.0 +} +# b_bindir +6825 ={ + winter_severity_bias = 0.0 +} +# b_gizey +6829 ={ + winter_severity_bias = 0.0 +} +## c_garoua +# b_garoua +6823 ={ + winter_severity_bias = 0.0 +} +# b_bibemi +6824 ={ + winter_severity_bias = 0.0 +} +# b_babur +6827 ={ + winter_severity_bias = 0.0 +} +## c_kera +# b_kera +6828 ={ + winter_severity_bias = 0.0 +} +# b_marba +6830 ={ + winter_severity_bias = 0.0 +} +# b_ngambay +6831 ={ + winter_severity_bias = 0.0 +} + +#### k_hausaland +### d_kano +## c_kano +# b_kano +6519 ={ + winter_severity_bias = 0.0 +} +# b_hadejia +6517 ={ + winter_severity_bias = 0.0 +} +# b_kufan_kanawa +6518 ={ + winter_severity_bias = 0.0 +} +## c_daura +# b_daura +6536 ={ + winter_severity_bias = 0.0 +} +# b_zinder +6559 ={ + winter_severity_bias = 0.0 +} +## c_rano +# b_rano +6529 ={ + winter_severity_bias = 0.0 +} +# b_kura +6520 ={ + winter_severity_bias = 0.0 +} +### d_katsina +## c_katsina +# b_katsina +6537 ={ + winter_severity_bias = 0.0 +} +# b_marandi +6538 ={ + winter_severity_bias = 0.0 +} +## c_zaria +# b_zazzau +6544 ={ + winter_severity_bias = 0.0 +} +# b_gusau +6543 ={ + winter_severity_bias = 0.0 +} +## c_kaduna +# b_kaduna +6550 ={ + winter_severity_bias = 0.0 +} +# b_turunku +6545 ={ + winter_severity_bias = 0.0 +} +### d_kebbi +## c_kebbi +# b_kebbi +6555 ={ + winter_severity_bias = 0.0 +} +# b_gummi #anachronistic +6554 ={ + winter_severity_bias = 0.0 +} +# b_sokoto-north +6556 ={ + winter_severity_bias = 0.0 +} +## c_sokoto +# b_sokoto +6541 ={ + winter_severity_bias = 0.0 +} +# b_dutsi +6540 ={ + winter_severity_bias = 0.0 +} +# b_anka +6542 ={ + winter_severity_bias = 0.0 +} +# b_zuru +6551 ={ + winter_severity_bias = 0.0 +} +## c_yauri +# b_yauri +6553 ={ + winter_severity_bias = 0.0 +} +# b_kontokoro +6552 ={ + winter_severity_bias = 0.0 +} +# b_ulaira +6905 ={ + winter_severity_bias = 0.0 +} +### d_gobir +## c_gobir +# b_gobir +6539 ={ + winter_severity_bias = 0.0 +} +# b_gobir-east +6558 ={ + winter_severity_bias = 0.0 +} +# b_konni +8996 ={ + winter_severity_bias = 0.0 +} +## c_tahoua +# b_tahoua +6557 ={ + winter_severity_bias = 0.0 +} +# b_ader +8997 ={ + winter_severity_bias = 0.0 +} +# b_matankari +8998 ={ + winter_severity_bias = 0.0 +} + +#### k_darfur +### d_darfur +## c_el_fasher +# b_el_fasher +6869 ={ + winter_severity_bias = 0.0 +} +# b_turra +6870 ={ + winter_severity_bias = 0.0 +} +# b_masa_fasher +6873 ={ + winter_severity_bias = 0.0 +} +# b_hileila +6877 ={ + winter_severity_bias = 0.0 +} +# b_simiat +6890 ={ + winter_severity_bias = 0.0 +} +## c_dar_al-said +# b_dar_wona +6871 ={ + winter_severity_bias = 0.0 +} +# b_kundi +6872 ={ + winter_severity_bias = 0.0 +} +# b_hurayz +6878 ={ + winter_severity_bias = 0.0 +} +## c_dar-al-rih +# b_mao_darfur +6876 ={ + winter_severity_bias = 0.0 +} +# b_malha +6885 ={ + winter_severity_bias = 0.0 +} +# b_kerker +6886 ={ + winter_severity_bias = 0.0 +} +# b_tagabo +6888 ={ + winter_severity_bias = 0.0 +} +# b_teiga +6889 ={ + winter_severity_bias = 0.0 +} +## c_east_darfur +# b_umm_gafala +6879 ={ + winter_severity_bias = 0.0 +} +# b_ghubaysh +6880 ={ + winter_severity_bias = 0.0 +} +# b_umm_kedada +6887 ={ + winter_severity_bias = 0.0 +} +# b_east_darfur +6895 ={ + winter_severity_bias = 0.0 +} +### d_west_darfur +## c_ayn_farah +# b_ain_farah +6875 ={ + winter_severity_bias = 0.0 +} +# b_kubayh +6868 ={ + winter_severity_bias = 0.0 +} +# b_uri +6874 ={ + winter_severity_bias = 0.0 +} +## c_qimr +# b_tureiq +6891 ={ + winter_severity_bias = 0.0 +} +# b_qimr +6892 ={ + winter_severity_bias = 0.0 +} +# b_tama +6893 ={ + winter_severity_bias = 0.0 +} +## c_masalit +# b_masalit +6865 ={ + winter_severity_bias = 0.0 +} +# b_wadi_azwa +6866 ={ + winter_severity_bias = 0.0 +} +# b_kabkabiya +6867 ={ + winter_severity_bias = 0.0 +} +### d_wadai +## c_wadai +# b_wara +6863 ={ + winter_severity_bias = 0.0 +} +# b_abeche +6862 ={ + winter_severity_bias = 0.0 +} +# b_wadai +6864 ={ + winter_severity_bias = 0.0 +} +## c_dar_sila +# b_goz_beida +6860 ={ + winter_severity_bias = 0.0 +} +# b_dar_sila +6861 ={ + winter_severity_bias = 0.0 +} +# b_east_sila +6894 ={ + winter_severity_bias = 0.0 +} +## c_kadam +# b_kadam +6854 ={ + winter_severity_bias = 0.0 +} +# b_kadam-west +6855 ={ + winter_severity_bias = 0.0 +} +# b_kadam-south +6856 ={ + winter_severity_bias = 0.0 +} +## c_fitri +# b_yao_fitri +6852 ={ + winter_severity_bias = 0.0 +} +# b_kouki +6848 ={ + winter_severity_bias = 0.0 +} +# b_gasga +6853 ={ + winter_severity_bias = 0.0 +} +## c_fellata +# b_fellata +6846 ={ + winter_severity_bias = 0.0 +} +# b_ngama +6845 ={ + winter_severity_bias = 0.0 +} +# b_lairi +6847 ={ + winter_severity_bias = 0.0 +} +## c_ghazzal +# b_ghazzal +6850 ={ + winter_severity_bias = 0.0 +} +# b_wagna +6849 ={ + winter_severity_bias = 0.0 +} +# b_manga +6851 ={ + winter_severity_bias = 0.0 +} +### d_kordofan +## c_kordofan +# b_el-obeid +6883 ={ + winter_severity_bias = 0.0 +} +# b_east_kordofan +6884 ={ + winter_severity_bias = 0.0 +} +# b_sidrah +6901 ={ + winter_severity_bias = 0.0 +} +## c_west_kordofan +# b_en-nahud +6881 ={ + winter_severity_bias = 0.0 +} +# b_west_kordofan +6882 ={ + winter_severity_bias = 0.0 +} +# b_lagowa +6897 ={ + winter_severity_bias = 0.0 +} +## c_south_kordofan +# b_shatt +6898 ={ + winter_severity_bias = 0.0 +} +# b_liguri +6899 ={ + winter_severity_bias = 0.0 +} +# b_central_kordofan +6900 ={ + winter_severity_bias = 0.0 +} + +##### e_mali +#### k_songhay +### d_kawkaw +## c_gao +# b_gao +6577 ={ + winter_severity_bias = 0.0 +} +# b_gadei +6576 ={ + winter_severity_bias = 0.0 +} +# b_sarnah +6578 ={ + winter_severity_bias = 0.0 +} +# b_koima +6579 ={ + winter_severity_bias = 0.0 +} +# b_bourem +6580 ={ + winter_severity_bias = 0.0 +} +## c_ansongo +# b_ansongo +6575 ={ + winter_severity_bias = 0.0 +} +# b_kamgala +6574 ={ + winter_severity_bias = 0.0 +} +## c_kukiya +# b_kukiya +6572 ={ + winter_severity_bias = 0.0 +} +# b_tillaberi +6571 ={ + winter_severity_bias = 0.0 +} +# b_tando_husubiya +6573 ={ + winter_severity_bias = 0.0 +} +### d_timbuktu +## c_tirakka +# b_tirakka +6581 ={ + winter_severity_bias = 0.0 +} +# b_kabara +6608 ={ + winter_severity_bias = 0.0 +} +# b_timbuktu +6609 ={ + winter_severity_bias = 0.0 +} +# b_killi +6612 ={ + winter_severity_bias = 0.0 +} +## c_arawan +# b_arawan +6610 ={ + winter_severity_bias = 0.0 +} +# b_arawan_road +6656 ={ + winter_severity_bias = 0.0 +} +### d_dendi +## c_dendi +# b_birnin_lafiya +6715 ={ + winter_severity_bias = 0.0 +} +# b_pekinga +6714 ={ + winter_severity_bias = 0.0 +} +# b_sota +6716 ={ + winter_severity_bias = 0.0 +} +## c_dyamare +# b_rozi +6570 ={ + winter_severity_bias = 0.0 +} +# b_dosso +6568 ={ + winter_severity_bias = 0.0 +} +# b_gaya2 +6569 ={ + winter_severity_bias = 0.0 +} +## c_zarma +# b_zarmaganda +8994 ={ + winter_severity_bias = 0.0 +} +# b_zarmatarey +8993 ={ + winter_severity_bias = 0.0 +} +# b_sargan +8995 ={ + winter_severity_bias = 0.0 +} + +#### k_gurma +### d_lower_gurma +## c_gurma +# b_bilanga +6689 ={ + winter_severity_bias = 0.0 +} +# b_sirba +6686 ={ + winter_severity_bias = 0.0 +} +# b_tondikwarey +6687 ={ + winter_severity_bias = 0.0 +} +# b_gurma-west +6690 ={ + winter_severity_bias = 0.0 +} +# b_nungu +6691 ={ + winter_severity_bias = 0.0 +} +# b_tenkudugo +6692 ={ + winter_severity_bias = 0.0 +} +## c_bura +# b_bura +6684 ={ + winter_severity_bias = 0.0 +} +# b_gabou_bura +6683 ={ + winter_severity_bias = 0.0 +} +## c_say +# b_say +6688 ={ + winter_severity_bias = 0.0 +} +# b_burunfongo +6713 ={ + winter_severity_bias = 0.0 +} +## c_biun +# b_biun +6721 ={ + winter_severity_bias = 0.0 +} +# b_gobnangou +6719 ={ + winter_severity_bias = 0.0 +} +# b_pentenga +6720 ={ + winter_severity_bias = 0.0 +} +### d_upper_gurma +## c_oudalan +# b_kissi +6680 ={ + winter_severity_bias = 0.0 +} +# b_dinde #anachronistic +6678 ={ + winter_severity_bias = 0.0 +} +# b_oursi +6679 ={ + winter_severity_bias = 0.0 +} +# b_saouga +6681 ={ + winter_severity_bias = 0.0 +} +# b_dori +6682 ={ + winter_severity_bias = 0.0 +} +## c_kurumba +# b_aribinda +6685 ={ + winter_severity_bias = 0.0 +} +# b_burzanga +6693 ={ + winter_severity_bias = 0.0 +} +# b_mergao +6695 ={ + winter_severity_bias = 0.0 +} +## c_upper_gurma +# b_gurma-rharous +6582 ={ + winter_severity_bias = 0.0 +} +# b_zampia +6674 ={ + winter_severity_bias = 0.0 +} +# b_hombori +6677 ={ + winter_severity_bias = 0.0 +} +### d_yatenga +## c_yatenga +# b_giti +6694 ={ + winter_severity_bias = 0.0 +} +# b_walguyo +6696 ={ + winter_severity_bias = 0.0 +} +# b_zondoma +6697 ={ + winter_severity_bias = 0.0 +} +# b_gursi +6698 ={ + winter_severity_bias = 0.0 +} +# b_rim +6702 ={ + winter_severity_bias = 0.0 +} +# b_sanga +6703 ={ + winter_severity_bias = 0.0 +} +## c_gondo +# b_douentza +6675 ={ + winter_severity_bias = 0.0 +} +# b_samyere +6676 ={ + winter_severity_bias = 0.0 +} +## c_seno +# b_bankass +6706 ={ + winter_severity_bias = 0.0 +} +# b_douna +6701 ={ + winter_severity_bias = 0.0 +} +# b_seno-south +6707 ={ + winter_severity_bias = 0.0 +} +## c_bandiagara +# b_bandiagara +6705 ={ + winter_severity_bias = 0.0 +} +# b_ounjougou +6704 ={ + winter_severity_bias = 0.0 +} + +#### k_ghana +### d_wagadu +## c_awkar +# b_al-ghaba +6628 ={ + winter_severity_bias = 0.0 +} +# b_niara +6623 ={ + winter_severity_bias = 0.0 +} +# b_bou_khzama +6624 ={ + winter_severity_bias = 0.0 +} +# b_kumbi +6627 ={ + winter_severity_bias = 0.0 +} +# b_gumbu +6629 ={ + winter_severity_bias = 0.0 +} +## c_walata +# b_walata +6625 ={ + winter_severity_bias = 0.0 +} +# b_biru_walata +6630 ={ + winter_severity_bias = 0.0 +} +# b_awgham +6631 ={ + winter_severity_bias = 0.0 +} +## c_masin +# b_kedama +6760 ={ + winter_severity_bias = 0.0 +} +# b_masin +6761 ={ + winter_severity_bias = 0.0 +} +# b_timbedra +6626 ={ + winter_severity_bias = 0.0 +} +### d_mema +## c_mema +# b_kolima +6616 ={ + winter_severity_bias = 0.0 +} +# b_akumbu +6615 ={ + winter_severity_bias = 0.0 +} +# b_toladie +6617 ={ + winter_severity_bias = 0.0 +} +# b_boulel +6618 ={ + winter_severity_bias = 0.0 +} +# b_west_mema +6622 ={ + winter_severity_bias = 0.0 +} +## c_kouga +# b_kouga +6613 ={ + winter_severity_bias = 0.0 +} +# b_ras_el-ma +6611 ={ + winter_severity_bias = 0.0 +} +# b_tondiaru +6614 ={ + winter_severity_bias = 0.0 +} +## c_massina +# b_dia +6619 ={ + winter_severity_bias = 0.0 +} +# b_mara +6620 ={ + winter_severity_bias = 0.0 +} +# b_shoma +6621 ={ + winter_severity_bias = 0.0 +} +### d_tagant +## c_hodh +# b_awdaghost +6764 ={ + winter_severity_bias = 0.0 +} +# b_hodh_south +6765 ={ + winter_severity_bias = 0.0 +} +# b_hodh_west +6766 ={ + winter_severity_bias = 0.0 +} +## c_tichitt +# b_tichitt +6763 ={ + winter_severity_bias = 0.0 +} +# b_akrijit +6762 ={ + winter_severity_bias = 0.0 +} +## c_tagant +# b_tagant +6767 ={ + winter_severity_bias = 0.0 +} +# b_tagant_west +6768 ={ + winter_severity_bias = 0.0 +} +### d_diafunu +## c_guidimaka +# b_guidimaka +6772 ={ + winter_severity_bias = 0.0 +} +# b_diafunu +6773 ={ + winter_severity_bias = 0.0 +} +# b_karakoro +6774 ={ + winter_severity_bias = 0.0 +} +## c_yelimane +# b_yelimane +6770 ={ + winter_severity_bias = 0.0 +} +# b_sorma +6756 ={ + winter_severity_bias = 0.0 +} +# b_sero +6771 ={ + winter_severity_bias = 0.0 +} +## c_kingui +# b_nioro +6759 ={ + winter_severity_bias = 0.0 +} +# b_kingui +6799 ={ + winter_severity_bias = 0.0 +} +### d_kaniaga +## c_kaniaga +# b_diara +6758 ={ + winter_severity_bias = 0.0 +} +# b_kaniaga +6769 ={ + winter_severity_bias = 0.0 +} +# b_bakunu +6757 ={ + winter_severity_bias = 0.0 +} +## c_kaarta +# b_farabugu +6755 ={ + winter_severity_bias = 0.0 +} +# b_gemukura +6754 ={ + winter_severity_bias = 0.0 +} +## c_kita +# b_kita +6752 ={ + winter_severity_bias = 0.0 +} +# b_birgo +6753 ={ + winter_severity_bias = 0.0 +} +# b_bangasi +6641 ={ + winter_severity_bias = 0.0 +} +## c_soso +# b_banamba +6633 ={ + winter_severity_bias = 0.0 +} +# b_kolokani +6636 ={ + winter_severity_bias = 0.0 +} +# b_lanba +6642 ={ + winter_severity_bias = 0.0 +} + +#### k_mali +### d_manding +## c_niani +# b_niani +6729 ={ + winter_severity_bias = 0.0 +} +# b_figuira +6728 ={ + winter_severity_bias = 0.0 +} +# b_wasulu +6730 ={ + winter_severity_bias = 0.0 +} +# b_yanfolila +6731 ={ + winter_severity_bias = 0.0 +} +# b_kamaro +6732 ={ + winter_severity_bias = 0.0 +} +## c_dakajalan +# b_dakajalan +6727 ={ + winter_severity_bias = 0.0 +} +# b_mani +6725 ={ + winter_severity_bias = 0.0 +} +# b_moribugu +6726 ={ + winter_severity_bias = 0.0 +} +## c_kankan +# b_kankan +6733 ={ + winter_severity_bias = 0.0 +} +# b_jelibakoro +6734 ={ + winter_severity_bias = 0.0 +} +# b_fadama +6735 ={ + winter_severity_bias = 0.0 +} +# b_amana +6736 ={ + winter_severity_bias = 0.0 +} +## c_sibi_mali +# b_sibi_mali +6637 ={ + winter_severity_bias = 0.0 +} +# b_koulikoro +6635 ={ + winter_severity_bias = 0.0 +} +# b_kirina +6638 ={ + winter_severity_bias = 0.0 +} +## c_tabon +# b_tabon +6640 ={ + winter_severity_bias = 0.0 +} +# b_kangaba +6639 ={ + winter_severity_bias = 0.0 +} +# b_konfara +6741 ={ + winter_severity_bias = 0.0 +} +## c_bure +# b_siguiri +6739 ={ + winter_severity_bias = 0.0 +} +# b_koroussa +6737 ={ + winter_severity_bias = 0.0 +} +# b_balato +6738 ={ + winter_severity_bias = 0.0 +} +# b_tinkisso +6740 ={ + winter_severity_bias = 0.0 +} +# b_diakha +6742 ={ + winter_severity_bias = 0.0 +} +### d_bambuk +## c_bambuk +# b_yaresna +6747 ={ + winter_severity_bias = 0.0 +} +# b_goundafa +6744 ={ + winter_severity_bias = 0.0 +} +# b_diouboye +6745 ={ + winter_severity_bias = 0.0 +} +# b_ghiyaru +6748 ={ + winter_severity_bias = 0.0 +} +## c_gangaran +# b_badumbe +6751 ={ + winter_severity_bias = 0.0 +} +# b_nyeningo +6743 ={ + winter_severity_bias = 0.0 +} +# b_bafulabe +6749 ={ + winter_severity_bias = 0.0 +} +# b_kunjan +6750 ={ + winter_severity_bias = 0.0 +} +## c_konko +# b_konko +6801 ={ + winter_severity_bias = 0.0 +} +# b_sangalan +6802 ={ + winter_severity_bias = 0.0 +} +# b_upper_gambia +6803 ={ + winter_severity_bias = 0.0 +} +# b_woora_saabe +8236 ={ + winter_severity_bias = 0.0 +} +## c_bundu +# b_bundu +8232 ={ + winter_severity_bias = 0.0 +} +# b_tenda +8233 ={ + winter_severity_bias = 0.0 +} +# b_niokolo +8234 ={ + winter_severity_bias = 0.0 +} +# b_damantan +8235 ={ + winter_severity_bias = 0.0 +} +# b_busura +8197 ={ + winter_severity_bias = 0.0 +} +### d_futa_jalon +## c_futa_jalon +# b_labe +8184 ={ + winter_severity_bias = 0.0 +} +# b_kokunya +8177 ={ + winter_severity_bias = 0.0 +} +# b_timbo +8183 ={ + winter_severity_bias = 0.0 +} +# b_upper_bafing +8182 ={ + winter_severity_bias = 0.0 +} +## c_timbi +# b_timbi_tunni +8186 ={ + winter_severity_bias = 0.0 +} +# b_kula +8185 ={ + winter_severity_bias = 0.0 +} +# b_kompela +8192 ={ + winter_severity_bias = 0.0 +} +# b_ndama +8198 ={ + winter_severity_bias = 0.0 +} +## c_kokoli +# b_kaade +8196 ={ + winter_severity_bias = 0.0 +} +# b_bambaya +8193 ={ + winter_severity_bias = 0.0 +} +# b_waasu +8194 ={ + winter_severity_bias = 0.0 +} +# b_geme +8195 ={ + winter_severity_bias = 0.0 +} +### d_loma +## c_kuranko +# b_kuranka +8175 ={ + winter_severity_bias = 0.0 +} +# b_seradu +8169 ={ + winter_severity_bias = 0.0 +} +# b_mafindi-kabaya +8170 ={ + winter_severity_bias = 0.0 +} +# b_nyada +6995 ={ + winter_severity_bias = 0.0 +} +## c_kisi +# b_falanko +8163 ={ + winter_severity_bias = 0.0 +} +# b_kisi +8164 ={ + winter_severity_bias = 0.0 +} +# b_mara_kisi +8165 ={ + winter_severity_bias = 0.0 +} +# b_lele +8166 ={ + winter_severity_bias = 0.0 +} +## c_solimana +# b_firiya +8171 ={ + winter_severity_bias = 0.0 +} +# b_musala +8172 ={ + winter_severity_bias = 0.0 +} +# b_solimana +8173 ={ + winter_severity_bias = 0.0 +} +# b_limba +8174 ={ + winter_severity_bias = 0.0 +} + +#### k_takrur +### d_takrur +## c_takrur +# b_takrur +6782 ={ + winter_severity_bias = 0.0 +} +# b_waram +6784 ={ + winter_severity_bias = 0.0 +} +# b_awlil +6785 ={ + winter_severity_bias = 0.0 +} +## c_podor +# b_podor +6781 ={ + winter_severity_bias = 0.0 +} +# b_dagana +6787 ={ + winter_severity_bias = 0.0 +} +## c_dhraina +# b_dhraina +6797 ={ + winter_severity_bias = 0.0 +} +# b_anate +6798 ={ + winter_severity_bias = 0.0 +} +### d_silla +## c_silla +# b_silla +6778 ={ + winter_severity_bias = 0.0 +} +# b_ogo +6780 ={ + winter_severity_bias = 0.0 +} +# b_cubalel +6786 ={ + winter_severity_bias = 0.0 +} +## c_jowol +# b_jowol +6776 ={ + winter_severity_bias = 0.0 +} +# b_wompu +6775 ={ + winter_severity_bias = 0.0 +} +# b_ngoppugu +6777 ={ + winter_severity_bias = 0.0 +} +## c_galam +# b_bakel +6779 ={ + winter_severity_bias = 0.0 +} +# b_arondo +6746 ={ + winter_severity_bias = 0.0 +} +# b_galam +6800 ={ + winter_severity_bias = 0.0 +} +### d_djolof +## c_jolof +# b_tyeng +8251 ={ + winter_severity_bias = 0.0 +} +# b_danki +8249 ={ + winter_severity_bias = 0.0 +} +# b_mboynane +8258 ={ + winter_severity_bias = 0.0 +} +## c_namandiru +# b_namandirou +8248 ={ + winter_severity_bias = 0.0 +} +# b_mboune +8241 ={ + winter_severity_bias = 0.0 +} +# b_linguere +8250 ={ + winter_severity_bias = 0.0 +} +## c_kayor +# b_mbul +8255 ={ + winter_severity_bias = 0.0 +} +# b_waalo +6783 ={ + winter_severity_bias = 0.0 +} +# b_yoff +8254 ={ + winter_severity_bias = 0.0 +} +# b_ouarak +8257 ={ + winter_severity_bias = 0.0 +} +## c_baol +# b_sine +8246 ={ + winter_severity_bias = 0.0 +} +# b_laa_baol +8252 ={ + winter_severity_bias = 0.0 +} +# b_lambaye +8253 ={ + winter_severity_bias = 0.0 +} + +#### k_jenne +### d_jenne +## c_jenne +# b_jenne-jeno +6711 ={ + winter_severity_bias = 0.0 +} +# b_kaniana +6647 ={ + winter_severity_bias = 0.0 +} +# b_mopti +6710 ={ + winter_severity_bias = 0.0 +} +# b_kiri-bara +6712 ={ + winter_severity_bias = 0.0 +} +## c_dodugu +# b_segou +6645 ={ + winter_severity_bias = 0.0 +} +# b_kri +6632 ={ + winter_severity_bias = 0.0 +} +# b_niamina +6634 ={ + winter_severity_bias = 0.0 +} +# b_tamani +6643 ={ + winter_severity_bias = 0.0 +} +# b_sanado +6644 ={ + winter_severity_bias = 0.0 +} +## c_bindugu +# b_soum +6646 ={ + winter_severity_bias = 0.0 +} +# b_taba +6648 ={ + winter_severity_bias = 0.0 +} +# b_san +6649 ={ + winter_severity_bias = 0.0 +} +## c_kurmina +# b_korienza +6673 ={ + winter_severity_bias = 0.0 +} +# b_bangu +6670 ={ + winter_severity_bias = 0.0 +} +# b_safare +6671 ={ + winter_severity_bias = 0.0 +} +# b_nguma +6672 ={ + winter_severity_bias = 0.0 +} +### d_bobo +## c_sikasso +# b_sikasso +6722 ={ + winter_severity_bias = 0.0 +} +# b_kumya +6723 ={ + winter_severity_bias = 0.0 +} +# b_baninko +6724 ={ + winter_severity_bias = 0.0 +} +## c_bena +# b_bena +6708 ={ + winter_severity_bias = 0.0 +} +# b_dourola +6709 ={ + winter_severity_bias = 0.0 +} + +#### k_kaabu +### d_kaabu +## c_kaabu +# b_gabou +8265 ={ + winter_severity_bias = 0.0 +} +# b_bajar +8237 ={ + winter_severity_bias = 0.0 +} +# b_kensala +8238 ={ + winter_severity_bias = 0.0 +} +# b_toumana +8264 ={ + winter_severity_bias = 0.0 +} +# b_pakane +8267 ={ + winter_severity_bias = 0.0 +} +## c_jara +# b_niamina_jara +8263 ={ + winter_severity_bias = 0.0 +} +# b_kiang +8262 ={ + winter_severity_bias = 0.0 +} +# b_pakao +8266 ={ + winter_severity_bias = 0.0 +} +### d_wuli +## c_wuli +# b_wuli +8242 ={ + winter_severity_bias = 0.0 +} +# b_kantor +8239 ={ + winter_severity_bias = 0.0 +} +# b_naani +8240 ={ + winter_severity_bias = 0.0 +} +## c_saalum +# b_saalum +8244 ={ + winter_severity_bias = 0.0 +} +# b_kahone +8247 ={ + winter_severity_bias = 0.0 +} +# b_pakala +8256 ={ + winter_severity_bias = 0.0 +} +## c_niomi +# b_niumi +8245 ={ + winter_severity_bias = 0.0 +} +# b_badibu +8243 ={ + winter_severity_bias = 0.0 +} +### d_kasa +## c_kasa +# b_kasa +8277 ={ + winter_severity_bias = 0.0 +} +# b_bijagos +8271 ={ + winter_severity_bias = 0.0 +} +# b_pepel +8272 ={ + winter_severity_bias = 0.0 +} +# b_jagara +8276 ={ + winter_severity_bias = 0.0 +} +## c_jame +# b_kombo +8259 ={ + winter_severity_bias = 0.0 +} +# b_fogny +8260 ={ + winter_severity_bias = 0.0 +} +# b_bainuk +8261 ={ + winter_severity_bias = 0.0 +} +## c_geba +# b_achum +8269 ={ + winter_severity_bias = 0.0 +} +# b_birasu +8268 ={ + winter_severity_bias = 0.0 +} +# b_mansoa +8270 ={ + winter_severity_bias = 0.0 +} +# b_guinala +8274 ={ + winter_severity_bias = 0.0 +} + +##### e_guinea +#### k_guinea +### d_sapi +## c_temne +# b_benna +8189 ={ + winter_severity_bias = 0.0 +} +# b_tonko +8179 ={ + winter_severity_bias = 0.0 +} +# b_kaneya +8190 ={ + winter_severity_bias = 0.0 +} +## c_nalu +# b_nalu +8275 ={ + winter_severity_bias = 0.0 +} +# b_bake +8273 ={ + winter_severity_bias = 0.0 +} +# b_konkure +8191 ={ + winter_severity_bias = 0.0 +} +## c_tamiso +# b_tamiso +8178 ={ + winter_severity_bias = 0.0 +} +# b_bilima +8187 ={ + winter_severity_bias = 0.0 +} +# b_gomba +8188 ={ + winter_severity_bias = 0.0 +} +## c_sanda +# b_tombo +8199 ={ + winter_severity_bias = 0.0 +} +# b_kamabai-sanda +8180 ={ + winter_severity_bias = 0.0 +} +# b_bombali +8181 ={ + winter_severity_bias = 0.0 +} +### d_kono +## c_kono +# b_kono +8204 ={ + winter_severity_bias = 0.0 +} +# b_kuniki +8176 ={ + winter_severity_bias = 0.0 +} +# b_kuramora +8201 ={ + winter_severity_bias = 0.0 +} +## c_sherbro +# b_bolm +8205 ={ + winter_severity_bias = 0.0 +} +# b_boulom +8200 ={ + winter_severity_bias = 0.0 +} +# b_zilm +8202 ={ + winter_severity_bias = 0.0 +} +## c_gola +# b_kokasu +8203 ={ + winter_severity_bias = 0.0 +} +# b_kondo +8212 ={ + winter_severity_bias = 0.0 +} +# b_folgue_karu +8213 ={ + winter_severity_bias = 0.0 +} +# b_kpelle +8214 ={ + winter_severity_bias = 0.0 +} +### d_bassa +## c_bassa +# b_bassa +8217 ={ + winter_severity_bias = 0.0 +} +# b_gebba +8216 ={ + winter_severity_bias = 0.0 +} +## c_nuon +# b_nuon +8218 ={ + winter_severity_bias = 0.0 +} +# b_gbanshay +8215 ={ + winter_severity_bias = 0.0 +} +# b_manon +8219 ={ + winter_severity_bias = 0.0 +} +# b_guerze +8162 ={ + winter_severity_bias = 0.0 +} +## c_man +# b_man +8168 ={ + winter_severity_bias = 0.0 +} +# b_da +8167 ={ + winter_severity_bias = 0.0 +} +# b_tura +8153 ={ + winter_severity_bias = 0.0 +} +### d_toro +## c_toro +# b_bisandugu +6992 ={ + winter_severity_bias = 0.0 +} +# b_basando +6993 ={ + winter_severity_bias = 0.0 +} +# b_kuliya +6994 ={ + winter_severity_bias = 0.0 +} +## c_kabarasana +# b_odienne +6988 ={ + winter_severity_bias = 0.0 +} +# b_samatigila +6990 ={ + winter_severity_bias = 0.0 +} +# b_sanafula +6991 ={ + winter_severity_bias = 0.0 +} +## c_konyan +# b_fwala-konyan +6996 ={ + winter_severity_bias = 0.0 +} +# b_barala +8150 ={ + winter_severity_bias = 0.0 +} +# b_beyta +8157 ={ + winter_severity_bias = 0.0 +} +# b_musadugu +8158 ={ + winter_severity_bias = 0.0 +} +## c_mau +# b_mau +8151 ={ + winter_severity_bias = 0.0 +} +# b_bafinko +8152 ={ + winter_severity_bias = 0.0 +} +# b_touba +8154 ={ + winter_severity_bias = 0.0 +} +# b_karagawa +8156 ={ + winter_severity_bias = 0.0 +} +## c_toma +# b_macenta +8159 ={ + winter_severity_bias = 0.0 +} +# b_toma_toro +8160 ={ + winter_severity_bias = 0.0 +} +# b_buzye +8161 ={ + winter_severity_bias = 0.0 +} +### d_wenyon +## c_wenyon +# b_wenyon +8222 ={ + winter_severity_bias = 0.0 +} +# b_tabu +8224 ={ + winter_severity_bias = 0.0 +} +# b_nzo +8228 ={ + winter_severity_bias = 0.0 +} +## c_grebo +# b_krawi +8220 ={ + winter_severity_bias = 0.0 +} +# b_grebo +8221 ={ + winter_severity_bias = 0.0 +} +# b_putu +8223 ={ + winter_severity_bias = 0.0 +} +# b_lower_grebo +8225 ={ + winter_severity_bias = 0.0 +} +### d_kru +## c_kru +# b_east_kru +8229 ={ + winter_severity_bias = 0.0 +} +# b_west_kru +8226 ={ + winter_severity_bias = 0.0 +} +# b_sassandra +8227 ={ + winter_severity_bias = 0.0 +} +## c_dibri +# b_dibri +8231 ={ + winter_severity_bias = 0.0 +} +# b_neyo +8230 ={ + winter_severity_bias = 0.0 +} +## c_lobo +# b_gagnoa +8208 ={ + winter_severity_bias = 0.0 +} +# b_upper_lobo +8210 ={ + winter_severity_bias = 0.0 +} +# b_lower_lobo +8211 ={ + winter_severity_bias = 0.0 +} +## c_boubo +# b_boubo +8207 ={ + winter_severity_bias = 0.0 +} +# b_bandama-west +8206 ={ + winter_severity_bias = 0.0 +} +# b_davo +8209 ={ + winter_severity_bias = 0.0 +} + +#### k_kong +### d_worodugu +## c_worodugu +# b_worodugu +8147 ={ + winter_severity_bias = 0.0 +} +# b_bou +8143 ={ + winter_severity_bias = 0.0 +} +# b_seguela +8148 ={ + winter_severity_bias = 0.0 +} +# b_koro +8149 ={ + winter_severity_bias = 0.0 +} +# b_worodugu_east +8155 ={ + winter_severity_bias = 0.0 +} +# b_tyeme +6989 ={ + winter_severity_bias = 0.0 +} +## c_tyendugu +# b_banifing +6984 ={ + winter_severity_bias = 0.0 +} +# b_baoule +6985 ={ + winter_severity_bias = 0.0 +} +# b_degou +6986 ={ + winter_severity_bias = 0.0 +} +# b_tudugu +6987 ={ + winter_severity_bias = 0.0 +} +## c_nyene +# b_folona +6980 ={ + winter_severity_bias = 0.0 +} +# b_bandama_springs +6981 ={ + winter_severity_bias = 0.0 +} +# b_upper_nyene +6982 ={ + winter_severity_bias = 0.0 +} +# b_lower_nyene +6983 ={ + winter_severity_bias = 0.0 +} +### d_kong +## c_kong +# b_kong-north +6977 ={ + winter_severity_bias = 0.0 +} +# b_kong +8127 ={ + winter_severity_bias = 0.0 +} +# b_dabakala +8128 ={ + winter_severity_bias = 0.0 +} +# b_gyimini +8129 ={ + winter_severity_bias = 0.0 +} +# b_senufo +8130 ={ + winter_severity_bias = 0.0 +} +## c_leraba +# b_leraba +6976 ={ + winter_severity_bias = 0.0 +} +# b_upper_nzi +6978 ={ + winter_severity_bias = 0.0 +} +# b_korhogo +6979 ={ + winter_severity_bias = 0.0 +} +## c_boron +# b_boron +8139 ={ + winter_severity_bias = 0.0 +} +# b_boron-north +8140 ={ + winter_severity_bias = 0.0 +} +# b_kweni-east +8142 ={ + winter_severity_bias = 0.0 +} +# b_kweni +8146 ={ + winter_severity_bias = 0.0 +} +## c_nzi +# b_bouake +8131 ={ + winter_severity_bias = 0.0 +} +# b_middle_nzi +8132 ={ + winter_severity_bias = 0.0 +} +# b_eastern_nzi +8134 ={ + winter_severity_bias = 0.0 +} +# b_bandama +8141 ={ + winter_severity_bias = 0.0 +} +### d_lobi +## c_lobi +# b_boromo +6954 ={ + winter_severity_bias = 0.0 +} +# b_lobi +6951 ={ + winter_severity_bias = 0.0 +} +# b_pura +6952 ={ + winter_severity_bias = 0.0 +} +# b_kirikongo +6953 ={ + winter_severity_bias = 0.0 +} +## c_loropeni +# b_loropeni +6960 ={ + winter_severity_bias = 0.0 +} +# b_iringu +6974 ={ + winter_severity_bias = 0.0 +} +# b_komoe +6975 ={ + winter_severity_bias = 0.0 +} +## c_dyulaso +# b_bobo_dyulasso +6973 ={ + winter_severity_bias = 0.0 +} +# b_buguriba +6972 ={ + winter_severity_bias = 0.0 +} +## c_wa +# b_wa +6956 ={ + winter_severity_bias = 0.0 +} +# b_mouhoun +6955 ={ + winter_severity_bias = 0.0 +} +# b_bouna +6959 ={ + winter_severity_bias = 0.0 +} +# b_kulango +8126 ={ + winter_severity_bias = 0.0 +} + +#### k_akan +### d_ashanti +## c_kumasi +# b_kumasi +8009 ={ + winter_severity_bias = 0.0 +} +# b_asante_manso +8008 ={ + winter_severity_bias = 0.0 +} +# b_bekwai +8010 ={ + winter_severity_bias = 0.0 +} +# b_manso_nkwanta +8011 ={ + winter_severity_bias = 0.0 +} +## c_adanse +# b_adanse_manso +8013 ={ + winter_severity_bias = 0.0 +} +# b_adaboye +8012 ={ + winter_severity_bias = 0.0 +} +# b_assin +8023 ={ + winter_severity_bias = 0.0 +} +## c_kwahu-akyem +# b_kwahu-south +8006 ={ + winter_severity_bias = 0.0 +} +# b_bukuruwa +8014 ={ + winter_severity_bias = 0.0 +} +# b_shai +8015 ={ + winter_severity_bias = 0.0 +} +# b_accra +8016 ={ + winter_severity_bias = 0.0 +} +## c_fante +# b_elmina +8018 ={ + winter_severity_bias = 0.0 +} +# b_mankessim +8017 ={ + winter_severity_bias = 0.0 +} +# b_shama +8019 ={ + winter_severity_bias = 0.0 +} +## c_wassa +# b_tarkwa +8022 ={ + winter_severity_bias = 0.0 +} +# b_beyin +8020 ={ + winter_severity_bias = 0.0 +} +# b_wassa +8021 ={ + winter_severity_bias = 0.0 +} +### d_adiukru +## c_attie +# b_attie +8137 ={ + winter_severity_bias = 0.0 +} +# b_east_attie +8135 ={ + winter_severity_bias = 0.0 +} +# b_north_attie +8136 ={ + winter_severity_bias = 0.0 +} +# b_west_attie +8138 ={ + winter_severity_bias = 0.0 +} +## c_dabou +# b_dabou +8144 ={ + winter_severity_bias = 0.0 +} +# b_tiagba +8145 ={ + winter_severity_bias = 0.0 +} +## c_aowin +# b_aowin +8025 ={ + winter_severity_bias = 0.0 +} +# b_sanwi +8024 ={ + winter_severity_bias = 0.0 +} +# b_sehwi +8026 ={ + winter_severity_bias = 0.0 +} +### d_gyaman +## c_bonduku +# b_bonduku +6962 ={ + winter_severity_bias = 0.0 +} +# b_bohi +8123 ={ + winter_severity_bias = 0.0 +} +# b_zanzan +8124 ={ + winter_severity_bias = 0.0 +} +# b_nassian +8125 ={ + winter_severity_bias = 0.0 +} +## c_ndenye +# b_ndenye +8027 ={ + winter_severity_bias = 0.0 +} +# b_diabe +8029 ={ + winter_severity_bias = 0.0 +} +# b_satama-sokoro +8133 ={ + winter_severity_bias = 0.0 +} +### d_brong +## c_bono +# b_bono_manso +6970 ={ + winter_severity_bias = 0.0 +} +# b_kintampo +6971 ={ + winter_severity_bias = 0.0 +} +# b_prang +8007 ={ + winter_severity_bias = 0.0 +} +## c_begho +# b_begho +6964 ={ + winter_severity_bias = 0.0 +} +# b_banda +6961 ={ + winter_severity_bias = 0.0 +} +# b_sampa +6963 ={ + winter_severity_bias = 0.0 +} +# b_wenchi +6965 ={ + winter_severity_bias = 0.0 +} +## c_upper_bono +# b_atebubu +8001 ={ + winter_severity_bias = 0.0 +} +# b_donkoro_nkwanta +8002 ={ + winter_severity_bias = 0.0 +} +# b_mampon +8003 ={ + winter_severity_bias = 0.0 +} +## c_bonoso +# b_ahwene_koko +6967 ={ + winter_severity_bias = 0.0 +} +# b_upper_tano +6968 ={ + winter_severity_bias = 0.0 +} +# b_tekyiman +6969 ={ + winter_severity_bias = 0.0 +} +# b_middle_tano +8028 ={ + winter_severity_bias = 0.0 +} +### d_eweland +## c_ewe +# b_wusuta +8031 ={ + winter_severity_bias = 0.0 +} +# b_amezdofe +8032 ={ + winter_severity_bias = 0.0 +} +# b_lome +8035 ={ + winter_severity_bias = 0.0 +} +# b_keta +8036 ={ + winter_severity_bias = 0.0 +} +## c_afram +# b_ganeboafo +8000 ={ + winter_severity_bias = 0.0 +} +# b_bassa-afram +8004 ={ + winter_severity_bias = 0.0 +} +# b_afram +8005 ={ + winter_severity_bias = 0.0 +} +## c_nanumba +# b_akpafu +8030 ={ + winter_severity_bias = 0.0 +} +# b_nanumba +8037 ={ + winter_severity_bias = 0.0 +} +# b_kete-karachi +8038 ={ + winter_severity_bias = 0.0 +} + +#### k_gur +### d_dagomba +## c_dagomba +# b_yendi +6942 ={ + winter_severity_bias = 0.0 +} +# b_salaga +6943 ={ + winter_severity_bias = 0.0 +} +# b_mawli +6945 ={ + winter_severity_bias = 0.0 +} +## c_gonja +# b_buipe +6966 ={ + winter_severity_bias = 0.0 +} +# b_mole_south +6944 ={ + winter_severity_bias = 0.0 +} +# b_bole2 +6958 ={ + winter_severity_bias = 0.0 +} +## c_daboya +# b_daboya +6946 ={ + winter_severity_bias = 0.0 +} +# b_leo +6950 ={ + winter_severity_bias = 0.0 +} +# b_upper_mole +6957 ={ + winter_severity_bias = 0.0 +} +### d_wagadugu +## c_wagadugu +# b_wagadugu +6700 ={ + winter_severity_bias = 0.0 +} +# b_guilongu +6699 ={ + winter_severity_bias = 0.0 +} +# b_kayao +6997 ={ + winter_severity_bias = 0.0 +} +## c_po +# b_po +6948 ={ + winter_severity_bias = 0.0 +} +# b_gurunsi +6949 ={ + winter_severity_bias = 0.0 +} +# b_nakanbe +6947 ={ + winter_severity_bias = 0.0 +} +### d_mamprusi +## c_mamprusi +# b_bawku +6935 ={ + winter_severity_bias = 0.0 +} +# b_sansane_mango +6933 ={ + winter_severity_bias = 0.0 +} +# b_pusuga +6934 ={ + winter_severity_bias = 0.0 +} +# b_jimbale +6940 ={ + winter_severity_bias = 0.0 +} +# b_sakogu +6941 ={ + winter_severity_bias = 0.0 +} +## c_kuisugu +# b_kuisugu +6937 ={ + winter_severity_bias = 0.0 +} +# b_dikutateni +6936 ={ + winter_severity_bias = 0.0 +} +# b_perma +6938 ={ + winter_severity_bias = 0.0 +} +## c_pendjari +# b_mekrou +6930 ={ + winter_severity_bias = 0.0 +} +# b_alibori +6929 ={ + winter_severity_bias = 0.0 +} +# b_kouande +6931 ={ + winter_severity_bias = 0.0 +} +# b_yohongou +6932 ={ + winter_severity_bias = 0.0 +} + +#### k_borgu +### d_borgu +## c_nikki +# b_nikki +6919 ={ + winter_severity_bias = 0.0 +} +# b_kandi +6917 ={ + winter_severity_bias = 0.0 +} +# b_segbana +6918 ={ + winter_severity_bias = 0.0 +} +# b_borgu +6926 ={ + winter_severity_bias = 0.0 +} +# b_nikki_west +6928 ={ + winter_severity_bias = 0.0 +} +## c_bussa +# b_busa +6718 ={ + winter_severity_bias = 0.0 +} +# b_kaiama +6914 ={ + winter_severity_bias = 0.0 +} +# b_moshi +6927 ={ + winter_severity_bias = 0.0 +} +## c_ilo +# b_ilo +6916 ={ + winter_severity_bias = 0.0 +} +# b_madekali +6717 ={ + winter_severity_bias = 0.0 +} +# b_kaoje +6915 ={ + winter_severity_bias = 0.0 +} +## c_ilesa +# b_ilesa +6922 ={ + winter_severity_bias = 0.0 +} +# b_okuta +6920 ={ + winter_severity_bias = 0.0 +} +# b_kenu +6921 ={ + winter_severity_bias = 0.0 +} +## c_djugu +# b_djugu +6939 ={ + winter_severity_bias = 0.0 +} +# b_parakou +6924 ={ + winter_severity_bias = 0.0 +} +### d_savalu +## c_savalu +# b_savalu +8046 ={ + winter_severity_bias = 0.0 +} +# b_kpessi +8045 ={ + winter_severity_bias = 0.0 +} +# b_weme +8047 ={ + winter_severity_bias = 0.0 +} +## c_sokode +# b_sokode +8042 ={ + winter_severity_bias = 0.0 +} +# b_kotokol +8043 ={ + winter_severity_bias = 0.0 +} +# b_upper_mono +8044 ={ + winter_severity_bias = 0.0 +} +## c_todo +# b_todo +8034 ={ + winter_severity_bias = 0.0 +} +# b_notse +8033 ={ + winter_severity_bias = 0.0 +} +# b_atakpame +8039 ={ + winter_severity_bias = 0.0 +} +## c_shabe +# b_shabe +8048 ={ + winter_severity_bias = 0.0 +} +# b_save +8049 ={ + winter_severity_bias = 0.0 +} +# b_odo-akaba +6925 ={ + winter_severity_bias = 0.0 +} + +#### k_yorubaland +### d_ibadan +## c_ibadan +# b_ibadan +8062 ={ + winter_severity_bias = 0.0 +} +# b_ijaye +8061 ={ + winter_severity_bias = 0.0 +} +# b_abeokuta +8063 ={ + winter_severity_bias = 0.0 +} +## c_abomey +# b_abomey +8040 ={ + winter_severity_bias = 0.0 +} +# b_whyidah +8041 ={ + winter_severity_bias = 0.0 +} +## c_ifonyin +# b_ifonyin +8051 ={ + winter_severity_bias = 0.0 +} +# b_badagry +8052 ={ + winter_severity_bias = 0.0 +} +# b_ilaro +8053 ={ + winter_severity_bias = 0.0 +} +## c_ketu +# b_ketu +8050 ={ + winter_severity_bias = 0.0 +} +# b_ibarapa +8054 ={ + winter_severity_bias = 0.0 +} +### d_oyo +## c_oyo +# b_oyo-ile +6912 ={ + winter_severity_bias = 0.0 +} +# b_otefan +8058 ={ + winter_severity_bias = 0.0 +} +# b_ogbomoso +8059 ={ + winter_severity_bias = 0.0 +} +# b_oyo +8060 ={ + winter_severity_bias = 0.0 +} +# b_igboho +6923 ={ + winter_severity_bias = 0.0 +} +## c_igana +# b_igana +8055 ={ + winter_severity_bias = 0.0 +} +# b_iseyin +8056 ={ + winter_severity_bias = 0.0 +} +# b_igbodo-saki +8057 ={ + winter_severity_bias = 0.0 +} +## c_ilorin +# b_ilorin +6911 ={ + winter_severity_bias = 0.0 +} +# b_tada +6910 ={ + winter_severity_bias = 0.0 +} +# b_jebba +6913 ={ + winter_severity_bias = 0.0 +} +## c_igbomina +# b_ajase_ipo +8081 ={ + winter_severity_bias = 0.0 +} +# b_idofian +8082 ={ + winter_severity_bias = 0.0 +} +# b_giragi +8083 ={ + winter_severity_bias = 0.0 +} +## c_yagba +# b_ikare +8079 ={ + winter_severity_bias = 0.0 +} +# b_ekiti +8080 ={ + winter_severity_bias = 0.0 +} +# b_yagba +8084 ={ + winter_severity_bias = 0.0 +} +### d_ife +## c_ife +# b_ile-ife +8068 ={ + winter_severity_bias = 0.0 +} +# b_ijesha +8069 ={ + winter_severity_bias = 0.0 +} +# b_owo +8074 ={ + winter_severity_bias = 0.0 +} +# b_ondo +8075 ={ + winter_severity_bias = 0.0 +} +## c_ijebu +# b_ijebu +8065 ={ + winter_severity_bias = 0.0 +} +# b_ikorodu +8064 ={ + winter_severity_bias = 0.0 +} +## c_owu +# b_owu +8066 ={ + winter_severity_bias = 0.0 +} +# b_oshun +8067 ={ + winter_severity_bias = 0.0 +} +# b_siluko +8070 ={ + winter_severity_bias = 0.0 +} +### d_benin +## c_benin +# b_benin-city +8072 ={ + winter_severity_bias = 0.0 +} +# b_benin +8071 ={ + winter_severity_bias = 0.0 +} +# b_benin_marshes +8088 ={ + winter_severity_bias = 0.0 +} +## c_edo +# b_edo +8073 ={ + winter_severity_bias = 0.0 +} +# b_osse +8076 ={ + winter_severity_bias = 0.0 +} +# b_ode_itseriki +8086 ={ + winter_severity_bias = 0.0 +} + +#### k_igbo-benue +### d_igboland +## c_igbo +# b_igbo-ukwu +8110 ={ + winter_severity_bias = 0.0 +} +# b_onitsha +8111 ={ + winter_severity_bias = 0.0 +} +# b_nsukka +8112 ={ + winter_severity_bias = 0.0 +} +# b_south_igbo +8114 ={ + winter_severity_bias = 0.0 +} +## c_idoma +# b_idoma +8121 ={ + winter_severity_bias = 0.0 +} +# b_abakaliki +8109 ={ + winter_severity_bias = 0.0 +} +# b_uburu +8119 ={ + winter_severity_bias = 0.0 +} +# b_otukpo +8120 ={ + winter_severity_bias = 0.0 +} +## c_igala +# b_igala +8107 ={ + winter_severity_bias = 0.0 +} +# b_ibah +8108 ={ + winter_severity_bias = 0.0 +} +# b_east_igala +8113 ={ + winter_severity_bias = 0.0 +} +## c_ijaw +# b_bonny +8115 ={ + winter_severity_bias = 0.0 +} +# b_okrika +8116 ={ + winter_severity_bias = 0.0 +} +# b_nembe +8087 ={ + winter_severity_bias = 0.0 +} +## c_ibibo +# b_calabar +8117 ={ + winter_severity_bias = 0.0 +} +# b_chukwu +8118 ={ + winter_severity_bias = 0.0 +} +# b_bende +8122 ={ + winter_severity_bias = 0.0 +} +### d_nupe +## c_nupe +# b_raba +6908 ={ + winter_severity_bias = 0.0 +} +# b_bida +6548 ={ + winter_severity_bias = 0.0 +} +# b_kulfo +6906 ={ + winter_severity_bias = 0.0 +} +# b_kutigi +6907 ={ + winter_severity_bias = 0.0 +} +# b_gbajigbo +6909 ={ + winter_severity_bias = 0.0 +} +## c_guwari +# b_guwari +8103 ={ + winter_severity_bias = 0.0 +} +# b_taruga +6547 ={ + winter_severity_bias = 0.0 +} +# b_minna +6549 ={ + winter_severity_bias = 0.0 +} +## c_opanda +# b_umaisha +8101 ={ + winter_severity_bias = 0.0 +} +# b_lower_guara +8100 ={ + winter_severity_bias = 0.0 +} +# b_opanda +8102 ={ + winter_severity_bias = 0.0 +} +# b_nok +6546 ={ + winter_severity_bias = 0.0 +} +## c_kyadya +# b_kyadya +8085 ={ + winter_severity_bias = 0.0 +} +# b_lokoja +8077 ={ + winter_severity_bias = 0.0 +} +# b_kakanda +8078 ={ + winter_severity_bias = 0.0 +} +### d_kwararafa +## c_kwararafa +# b_kwararafa +6533 ={ + winter_severity_bias = 0.0 +} +# b_wukari +6523 ={ + winter_severity_bias = 0.0 +} +# b_muri +6525 ={ + winter_severity_bias = 0.0 +} +## c_keffi +# b_keffi +8105 ={ + winter_severity_bias = 0.0 +} +# b_moda +8104 ={ + winter_severity_bias = 0.0 +} +# b_wase +6524 ={ + winter_severity_bias = 0.0 +} +## c_bauchi +# b_bauchi +6521 ={ + winter_severity_bias = 0.0 +} +# b_durum +6530 ={ + winter_severity_bias = 0.0 +} +# b_jos +6531 ={ + winter_severity_bias = 0.0 +} +# b_gbagye +8106 ={ + winter_severity_bias = 0.0 +} + +##### e_rajastan +#### k_sindh +### d_sauvira +## c_debul +# b_debul +1297 ={ + winter_severity_bias = 0.0 +} +# b_thatta +3402 ={ + winter_severity_bias = 0.0 +} +# b_shahbandar +3400 ={ + winter_severity_bias = 0.0 +} +# b_nirun +3401 ={ + winter_severity_bias = 0.0 +} +# b_kolachi +3403 ={ + winter_severity_bias = 0.0 +} +## c_sonda +# b_sonda +1331 ={ + winter_severity_bias = 0.0 +} +# b_amarkot +3398 ={ + winter_severity_bias = 0.0 +} +# b_badin +3399 ={ + winter_severity_bias = 0.0 +} +# b_karoonjar +3971 ={ + winter_severity_bias = 0.0 +} +## c_mansura +# b_mansura +1137 ={ + winter_severity_bias = 0.0 +} +# b_mirpur_khas +3395 ={ + winter_severity_bias = 0.0 +} +# b_matiari +3397 ={ + winter_severity_bias = 0.0 +} +# b_nasarpur +3396 ={ + winter_severity_bias = 0.0 +} +## c_ranikot +# b_ranikot +1303 ={ + winter_severity_bias = 0.0 +} +# b_sharusan +3404 ={ + winter_severity_bias = 0.0 +} +# b_khudabad +3405 ={ + winter_severity_bias = 0.0 +} +## c_siwistan +# b_siwistan +1333 ={ + winter_severity_bias = 0.0 +} +# b_mir_rukan +3394 ={ + winter_severity_bias = 0.0 +} +### d_bhakkar +## c_bhakkar +# b_bhakkar +1138 ={ + winter_severity_bias = 0.0 +} +# b_shikarpur +3406 ={ + winter_severity_bias = 0.0 +} +# b_larkana +1371 ={ + winter_severity_bias = 0.0 +} +# b_mohenjo_daro +1370 ={ + winter_severity_bias = 0.0 +} +## c_aror +# b_aror +1175 ={ + winter_severity_bias = 0.0 +} +# b_siraj_ji_takri +3392 ={ + winter_severity_bias = 0.0 +} +## c_rajanpur +# b_rajanpur +1339 ={ + winter_severity_bias = 0.0 +} +# b_rojhan +1374 ={ + winter_severity_bias = 0.0 +} +# b_dajal +3407 ={ + winter_severity_bias = 0.0 +} +# b_badah +1372 ={ + winter_severity_bias = 0.0 +} +## c_vijnot +# b_vijnot +1336 ={ + winter_severity_bias = 0.0 +} +# b_ghotki +3393 ={ + winter_severity_bias = 0.0 +} +# b_bhatiya +3391 ={ + winter_severity_bias = 0.0 +} +## c_sibi +# b_sibi +4513 ={ + winter_severity_bias = 0.0 +} +# b_pul +4497 ={ + winter_severity_bias = 0.0 +} +# b_asfanjay +4510 ={ + winter_severity_bias = 0.0 +} +# b_mastang +4511 ={ + winter_severity_bias = 0.0 +} +# b_shal +4512 ={ + winter_severity_bias = 0.0 +} + +#### k_punjab +### d_multan +## c_multan +# b_multan +1338 ={ + winter_severity_bias = 0.0 +} +# b_kabirwala +3413 ={ + winter_severity_bias = 0.0 +} +# b_tulamba +3412 ={ + winter_severity_bias = 0.0 +} +# b_alipur +3414 ={ + winter_severity_bias = 0.0 +} +## c_kafirkot +# b_kafirkot +1375 ={ + winter_severity_bias = 0.0 +} +# b_dera_ghazi_khan +3417 ={ + winter_severity_bias = 0.0 +} +# b_daraban +1376 ={ + winter_severity_bias = 0.0 +} +## c_uch +# b_uch +1337 ={ + winter_severity_bias = 0.0 +} +# b_derawar +3409 ={ + winter_severity_bias = 0.0 +} +# b_chachran +3408 ={ + winter_severity_bias = 0.0 +} +## c_karur +# b_karur +1178 ={ + winter_severity_bias = 0.0 +} +# b_askhanda +3410 ={ + winter_severity_bias = 0.0 +} +# b_vehari +3411 ={ + winter_severity_bias = 0.0 +} +## c_karor +# b_karor +1340 ={ + winter_severity_bias = 0.0 +} +# b_mankera +3415 ={ + winter_severity_bias = 0.0 +} +# b_wan_bhachran +3416 ={ + winter_severity_bias = 0.0 +} +## c_kalat +# b_loralai +4517 ={ + winter_severity_bias = 0.0 +} +# b_kohlu +4518 ={ + winter_severity_bias = 0.0 +} +# b_mekhtar +4519 ={ + winter_severity_bias = 0.0 +} +# b_zhob +4520 ={ + winter_severity_bias = 0.0 +} +### d_lahore +## c_lahur +# b_lahur +1362 ={ + winter_severity_bias = 0.0 +} +# b_kasur +3418 ={ + winter_severity_bias = 0.0 +} +# b_sangla +3420 ={ + winter_severity_bias = 0.0 +} +# b_chunian +3419 ={ + winter_severity_bias = 0.0 +} +## c_dipalpur +# b_pancapura +3421 ={ + winter_severity_bias = 0.0 +} +# b_dipalpur +1363 ={ + winter_severity_bias = 0.0 +} +# b_ajodhan +3424 ={ + winter_severity_bias = 0.0 +} +# b_abohar +3423 ={ + winter_severity_bias = 0.0 +} +# b_satghara +3422 ={ + winter_severity_bias = 0.0 +} +## c_bhera +# b_bhera +1192 ={ + winter_severity_bias = 0.0 +} +# b_katasraj +3428 ={ + winter_severity_bias = 0.0 +} +# b_phalia +3425 ={ + winter_severity_bias = 0.0 +} +## c_shorkot +# b_bhirr +3427 ={ + winter_severity_bias = 0.0 +} +# b_shorkot +1361 ={ + winter_severity_bias = 0.0 +} +# b_kamalia +3426 ={ + winter_severity_bias = 0.0 +} +## c_sakala +# b_sakala +1179 ={ + winter_severity_bias = 0.0 +} +# b_jammu +3430 ={ + winter_severity_bias = 0.0 +} +# b_bhuttar +3429 ={ + winter_severity_bias = 0.0 +} +# b_campa2 +7946 ={ + winter_severity_bias = 0.0 +} +## c_trigarta +# b_jalandhar +1193 ={ + winter_severity_bias = 0.0 +} +# b_rahon +3431 ={ + winter_severity_bias = 0.0 +} +# b_pathankot +3432 ={ + winter_severity_bias = 0.0 +} +# b_kahlur +3433 ={ + winter_severity_bias = 0.0 +} +# b_kangra +3434 ={ + winter_severity_bias = 0.0 +} +# b_brahmapura +7945 ={ + winter_severity_bias = 0.0 +} +## c_gurjaratra +# b_gurjaratra +1190 ={ + winter_severity_bias = 0.0 +} +# b_jhelum +3435 ={ + winter_severity_bias = 0.0 +} +# b_kunjah +3436 ={ + winter_severity_bias = 0.0 +} +### d_gandhara +## c_udabhanda +# b_udabhanda +1180 ={ + winter_severity_bias = 0.0 +} +# b_attak +3437 ={ + winter_severity_bias = 0.0 +} +# b_oddiyana +3438 ={ + winter_severity_bias = 0.0 +} +# b_mankiala +3439 ={ + winter_severity_bias = 0.0 +} +## c_purushapura +# b_purushapura +1342 ={ + winter_severity_bias = 0.0 +} +# b_nowshera +3441 ={ + winter_severity_bias = 0.0 +} +# b_shergarh +3440 ={ + winter_severity_bias = 0.0 +} +## c_nandana +# b_nandana +1341 ={ + winter_severity_bias = 0.0 +} +# b_lund_nandana +3442 ={ + winter_severity_bias = 0.0 +} +## c_bannu +# b_bannu +1191 ={ + winter_severity_bias = 0.0 +} +# b_kalabagh +3443 ={ + winter_severity_bias = 0.0 +} +# b_hangu +3444 ={ + winter_severity_bias = 0.0 +} +## c_urgun +# b_urgun +4521 ={ + winter_severity_bias = 0.0 +} +# b_shakin +4522 ={ + winter_severity_bias = 0.0 +} +# b_khost +4523 ={ + winter_severity_bias = 0.0 +} + +#### k_delhi +### d_kuru +## c_delhi +# b_indraprastha +1365 ={ + winter_severity_bias = 0.0 +} +# b_dhilika +3447 ={ + winter_severity_bias = 0.0 +} +# b_jahanpanah +3448 ={ + winter_severity_bias = 0.0 +} +# b_rohtak +3475 ={ + winter_severity_bias = 0.0 +} +## c_hastinapura +# b_hastinapura +1368 ={ + winter_severity_bias = 0.0 +} +# b_mirath +3449 ={ + winter_severity_bias = 0.0 +} +# b_indrasthana +3450 ={ + winter_severity_bias = 0.0 +} +# b_hapur +3451 ={ + winter_severity_bias = 0.0 +} +## c_sthanisvara +# b_saharanpur +1367 ={ + winter_severity_bias = 0.0 +} +# b_sthanisvara +3453 ={ + winter_severity_bias = 0.0 +} +# b_sirhind +3452 ={ + winter_severity_bias = 0.0 +} +# b_samana +3454 ={ + winter_severity_bias = 0.0 +} +# b_sadhaura +7944 ={ + winter_severity_bias = 0.0 +} +### d_haritanaka +## c_tribandapura +# b_tribandapura +1364 ={ + winter_severity_bias = 0.0 +} +# b_sunam +3457 ={ + winter_severity_bias = 0.0 +} +# b_jajjanir +3458 ={ + winter_severity_bias = 0.0 +} +## c_hisar +# b_asigarh +1366 ={ + winter_severity_bias = 0.0 +} +# b_asika +3455 ={ + winter_severity_bias = 0.0 +} +# b_narabhata +3456 ={ + winter_severity_bias = 0.0 +} +## c_sarasvati +# b_sarasvati +1352 ={ + winter_severity_bias = 0.0 +} +# b_bhatnir +3459 ={ + winter_severity_bias = 0.0 +} +### d_mathura +## c_mathura +# b_mathura +1359 ={ + winter_severity_bias = 0.0 +} +# b_krishnajanmabhoomi +3460 ={ + winter_severity_bias = 0.0 +} +# b_govardhan +3461 ={ + winter_severity_bias = 0.0 +} +# b_agra +3462 ={ + winter_severity_bias = 0.0 +} +## c_kol +# b_kol +1141 ={ + winter_severity_bias = 0.0 +} +# b_soron +3463 ={ + winter_severity_bias = 0.0 +} +# b_etah +3464 ={ + winter_severity_bias = 0.0 +} +## c_sripatha +# b_sripatha +1357 ={ + winter_severity_bias = 0.0 +} +# b_bayana +3466 ={ + winter_severity_bias = 0.0 +} +# b_dhavalapuri +3465 ={ + winter_severity_bias = 0.0 +} +### d_vodamayutja +## c_vodamayutja +# b_vodamayutja +1358 ={ + winter_severity_bias = 0.0 +} +# b_ahichatra +3469 ={ + winter_severity_bias = 0.0 +} +# b_tilokpur +3468 ={ + winter_severity_bias = 0.0 +} +# b_bareily +3467 ={ + winter_severity_bias = 0.0 +} +## c_sambhal +# b_sambhal +1173 ={ + winter_severity_bias = 0.0 +} +# b_amroha +3471 ={ + winter_severity_bias = 0.0 +} +# b_ujhani +3470 ={ + winter_severity_bias = 0.0 +} +# b_bachhraon +3472 ={ + winter_severity_bias = 0.0 +} +## c_katehar +# b_mandawar +1168 ={ + winter_severity_bias = 0.0 +} +# b_bijnor +3474 ={ + winter_severity_bias = 0.0 +} +# b_gangadvara +3473 ={ + winter_severity_bias = 0.0 +} + +#### k_gujarat +### d_gurjara_mandala +## c_sarasvata_mandala +# b_anahilapataka +1292 ={ + winter_severity_bias = 0.0 +} +# b_vadnagar +3371 ={ + winter_severity_bias = 0.0 +} +# b_siddhapura +3372 ={ + winter_severity_bias = 0.0 +} +# b_modhera +3370 ={ + winter_severity_bias = 0.0 +} +# b_kamboika +3369 ={ + winter_severity_bias = 0.0 +} +## c_khetaka +# b_khetaka +1290 ={ + winter_severity_bias = 0.0 +} +# b_khambhat +3375 ={ + winter_severity_bias = 0.0 +} +# b_dholka +3377 ={ + winter_severity_bias = 0.0 +} +# b_ashaval +3376 ={ + winter_severity_bias = 0.0 +} +## c_mohadavasaka +# b_mohadavasaka +1291 ={ + winter_severity_bias = 0.0 +} +# b_jhalod +3374 ={ + winter_severity_bias = 0.0 +} +# b_idar +3373 ={ + winter_severity_bias = 0.0 +} +### d_anartta +## c_dvaraka +# b_dvaraka +1136 ={ + winter_severity_bias = 0.0 +} +# b_lalpur +3352 ={ + winter_severity_bias = 0.0 +} +# b_bhanvad +3353 ={ + winter_severity_bias = 0.0 +} +## c_dhamalpur +# b_dhamalpur +1268 ={ + winter_severity_bias = 0.0 +} +# b_morvi +3355 ={ + winter_severity_bias = 0.0 +} +# b_lakhota +3354 ={ + winter_severity_bias = 0.0 +} +# b_halvad +3356 ={ + winter_severity_bias = 0.0 +} +## c_kutch +# b_kanthakota +1295 ={ + winter_severity_bias = 0.0 +} +# b_bhuj +3350 ={ + winter_severity_bias = 0.0 +} +# b_anjar_kutch +3351 ={ + winter_severity_bias = 0.0 +} +### d_saurashtra +## c_bhumilka +# b_vamanasthali +1134 ={ + winter_severity_bias = 0.0 +} +# b_bhumilka +3360 ={ + winter_severity_bias = 0.0 +} +# b_shrinagar +3361 ={ + winter_severity_bias = 0.0 +} +# b_mangrol +3362 ={ + winter_severity_bias = 0.0 +} +# b_uperkot +3359 ={ + winter_severity_bias = 0.0 +} +## c_somnath +# b_somnath +1266 ={ + winter_severity_bias = 0.0 +} +# b_delvada +3364 ={ + winter_severity_bias = 0.0 +} +# b_saymur +3363 ={ + winter_severity_bias = 0.0 +} +# b_moherak +3365 ={ + winter_severity_bias = 0.0 +} +## c_vardhamana +# b_vardhamana +1267 ={ + winter_severity_bias = 0.0 +} +# b_ranpur +3357 ={ + winter_severity_bias = 0.0 +} +# b_amarvalli +3358 ={ + winter_severity_bias = 0.0 +} +## c_valabhi +# b_valabhi +1135 ={ + winter_severity_bias = 0.0 +} +# b_shatrunjaya +3366 ={ + winter_severity_bias = 0.0 +} +# b_dhandhuka +3367 ={ + winter_severity_bias = 0.0 +} +# b_sihor +3368 ={ + winter_severity_bias = 0.0 +} +### d_lata +## c_vadodara +# b_vadodara +1133 ={ + winter_severity_bias = 0.0 +} +# b_kayavarohan +3379 ={ + winter_severity_bias = 0.0 +} +# b_darbhavati +3378 ={ + winter_severity_bias = 0.0 +} +## c_navasarika +# b_akruresvara +1127 ={ + winter_severity_bias = 0.0 +} +# b_navasarika +3383 ={ + winter_severity_bias = 0.0 +} +# b_bharuch +3380 ={ + winter_severity_bias = 0.0 +} +# b_tadkeshwar +3381 ={ + winter_severity_bias = 0.0 +} +# b_rajpipla +3382 ={ + winter_severity_bias = 0.0 +} +# b_nandurbar +1264 ={ + winter_severity_bias = 0.0 +} +## c_daman +# b_daman +1126 ={ + winter_severity_bias = 0.0 +} +# b_sanjan +3384 ={ + winter_severity_bias = 0.0 +} + +#### k_rajputana +### d_maru +## c_mandavyapura +# b_mandavyapura +1130 ={ + winter_severity_bias = 0.0 +} +# b_siwana +3486 ={ + winter_severity_bias = 0.0 +} +# b_osian +3484 ={ + winter_severity_bias = 0.0 +} +# b_sanderaka +3485 ={ + winter_severity_bias = 0.0 +} +## c_medantaka +# b_medantaka +1176 ={ + winter_severity_bias = 0.0 +} +# b_purnatallakapura +3487 ={ + winter_severity_bias = 0.0 +} +## c_godwad +# b_candravati +1174 ={ + winter_severity_bias = 0.0 +} +# b_bhillamala +3489 ={ + winter_severity_bias = 0.0 +} +# b_jalor +3488 ={ + winter_severity_bias = 0.0 +} +# b_achalgarh +3490 ={ + winter_severity_bias = 0.0 +} +## c_naddula +# b_naddula +3342 ={ + winter_severity_bias = 0.0 +} +# b_ranakpur +3343 ={ + winter_severity_bias = 0.0 +} +# b_bhilwara +3345 ={ + winter_severity_bias = 0.0 +} +### d_jangladesh +## c_nagauda +# b_nagauda +1354 ={ + winter_severity_bias = 0.0 +} +# b_ladnu +3478 ={ + winter_severity_bias = 0.0 +} +# b_makrana +3480 ={ + winter_severity_bias = 0.0 +} +# b_kuchaman +3479 ={ + winter_severity_bias = 0.0 +} +## c_vikramapura +# b_vikramapura +1349 ={ + winter_severity_bias = 0.0 +} +# b_kolayat +3476 ={ + winter_severity_bias = 0.0 +} +## c_reni +# b_reni +1350 ={ + winter_severity_bias = 0.0 +} +# b_dadrewa +3477 ={ + winter_severity_bias = 0.0 +} +### d_stravani +## c_ludrava +# b_ludrava +1304 ={ + winter_severity_bias = 0.0 +} +# b_jaisalmer +3387 ={ + winter_severity_bias = 0.0 +} +# b_phalavardhika +3388 ={ + winter_severity_bias = 0.0 +} +# b_juna_barmer +3389 ={ + winter_severity_bias = 0.0 +} +## c_satyapura +# b_satyapura +1294 ={ + winter_severity_bias = 0.0 +} +# b_kiratakupa +3386 ={ + winter_severity_bias = 0.0 +} +# b_kasara +3385 ={ + winter_severity_bias = 0.0 +} +### d_medapata +## c_medapata +# b_aghata +1345 ={ + winter_severity_bias = 0.0 +} +# b_eklingji +3491 ={ + winter_severity_bias = 0.0 +} +# b_nagahrada +3492 ={ + winter_severity_bias = 0.0 +} +# b_jagadamba +3494 ={ + winter_severity_bias = 0.0 +} +# b_rishabhdeo +3493 ={ + winter_severity_bias = 0.0 +} +## c_chitrakut +# b_chitrakut +1302 ={ + winter_severity_bias = 0.0 +} +# b_rampura +3495 ={ + winter_severity_bias = 0.0 +} +# b_baroli +3496 ={ + winter_severity_bias = 0.0 +} +# b_bhainsrorgarh +3497 ={ + winter_severity_bias = 0.0 +} +## c_kota +# b_kota +1300 ={ + winter_severity_bias = 0.0 +} +# b_ramgarh +3498 ={ + winter_severity_bias = 0.0 +} +# b_bundi +3499 ={ + winter_severity_bias = 0.0 +} +### d_ajmer +## c_ajayameru +# b_shakambhari +1346 ={ + winter_severity_bias = 0.0 +} +# b_pushkar +3349 ={ + winter_severity_bias = 0.0 +} +# b_ajayameru +3347 ={ + winter_severity_bias = 0.0 +} +# b_dhanop +3348 ={ + winter_severity_bias = 0.0 +} +## c_ranthambore +# b_ranthambore +1355 ={ + winter_severity_bias = 0.0 +} +# b_mandrael +3346 ={ + winter_severity_bias = 0.0 +} +# b_gangapur +3344 ={ + winter_severity_bias = 0.0 +} +# b_sheopur +3338 ={ + winter_severity_bias = 0.0 +} +## c_vairata +# b_harshnath +1353 ={ + winter_severity_bias = 0.0 +} +# b_vairata +3481 ={ + winter_severity_bias = 0.0 +} +# b_sanganer +3482 ={ + winter_severity_bias = 0.0 +} +# b_amer +3483 ={ + winter_severity_bias = 0.0 +} +## c_gwalior +# b_gwalior +1172 ={ + winter_severity_bias = 0.0 +} +# b_dabra +3341 ={ + winter_severity_bias = 0.0 +} +# b_narwar +3339 ={ + winter_severity_bias = 0.0 +} +# b_sabalgarh +3340 ={ + winter_severity_bias = 0.0 +} +## c_sakarai +# b_sakarai +3968 ={ + winter_severity_bias = 0.0 +} +# b_khaluvana +3969 ={ + winter_severity_bias = 0.0 +} + +#### k_malwa +### d_dadhipadra # Avanti +## c_ujjayini +# b_ujjayini +1288 ={ + winter_severity_bias = 0.0 +} +# b_agar +3337 ={ + winter_severity_bias = 0.0 +} +# b_mehidpur +3336 ={ + winter_severity_bias = 0.0 +} +# b_maksi +3335 ={ + winter_severity_bias = 0.0 +} +# b_dewas +3334 ={ + winter_severity_bias = 0.0 +} +## c_dadhipadra +# b_dadhipadra +1289 ={ + winter_severity_bias = 0.0 +} +# b_champaner +3333 ={ + winter_severity_bias = 0.0 +} +## c_dhara +# b_dhara +1149 ={ + winter_severity_bias = 0.0 +} +# b_dharampuri +3332 ={ + winter_severity_bias = 0.0 +} +# b_depalpur +3331 ={ + winter_severity_bias = 0.0 +} +# b_betma +3330 ={ + winter_severity_bias = 0.0 +} +## c_dasapura +# b_dasapura +1148 ={ + winter_severity_bias = 0.0 +} +# b_dharmrajeshwar +3328 ={ + winter_severity_bias = 0.0 +} +# b_vatapadraka +3329 ={ + winter_severity_bias = 0.0 +} +### d_akara_dasarna +## c_vidisa +# b_vidisa +1170 ={ + winter_severity_bias = 0.0 +} +# b_raisin +3321 ={ + winter_severity_bias = 0.0 +} +# b_sironj +3322 ={ + winter_severity_bias = 0.0 +} +# b_sanchi +3323 ={ + winter_severity_bias = 0.0 +} +# b_bhojpur +3324 ={ + winter_severity_bias = 0.0 +} +## c_sarangpur +# b_sarangpur +1150 ={ + winter_severity_bias = 0.0 +} +# b_ashta +3325 ={ + winter_severity_bias = 0.0 +} +# b_gagraun +3327 ={ + winter_severity_bias = 0.0 +} +# b_jhalawar +3326 ={ + winter_severity_bias = 0.0 +} +## c_chanderi +# b_chanderi +1298 ={ + winter_severity_bias = 0.0 +} +# b_jhansi +3315 ={ + winter_severity_bias = 0.0 +} +# b_luacchagiri +3316 ={ + winter_severity_bias = 0.0 +} +# b_garh_kundar +3318 ={ + winter_severity_bias = 0.0 +} +# b_jarai_ka_math +3319 ={ + winter_severity_bias = 0.0 +} +## c_candhoba +# b_candhoba +1299 ={ + winter_severity_bias = 0.0 +} +# b_guna +3317 ={ + winter_severity_bias = 0.0 +} +# b_kadwaya +3320 ={ + winter_severity_bias = 0.0 +} +### d_anupa +## c_mandapika +# b_mandapika +1147 ={ + winter_severity_bias = 0.0 +} +# b_bawangaja +1182 ={ + winter_severity_bias = 0.0 +} +# b_borgarh +1183 ={ + winter_severity_bias = 0.0 +} +## c_asirgarh +# b_asirgarh +1287 ={ + winter_severity_bias = 0.0 +} +# b_khandwa +1185 ={ + winter_severity_bias = 0.0 +} +# b_khargone +1184 ={ + winter_severity_bias = 0.0 +} +## c_burhanpur +# b_burhanpur +1263 ={ + winter_severity_bias = 0.0 +} +# b_erandol +1188 ={ + winter_severity_bias = 0.0 +} +# b_changdev +1187 ={ + winter_severity_bias = 0.0 +} +## c_thalner +# b_thalner +1262 ={ + winter_severity_bias = 0.0 +} +# b_sindkheda +1194 ={ + winter_severity_bias = 0.0 +} +# b_bhamer +1195 ={ + winter_severity_bias = 0.0 +} +# b_amalner +1189 ={ + winter_severity_bias = 0.0 +} + +#### k_kosala +### d_kanyakubja +## c_kanyakubja +# b_kanyakubja +1356 ={ + winter_severity_bias = 0.0 +} +# b_jajmau +1275 ={ + winter_severity_bias = 0.0 +} +# b_etawah +1215 ={ + winter_severity_bias = 0.0 +} +## c_lakhnau +# b_lakhnau +1167 ={ + winter_severity_bias = 0.0 +} +# b_jasnaul +1377 ={ + winter_severity_bias = 0.0 +} +# b_hardoi +1279 ={ + winter_severity_bias = 0.0 +} +## c_kalpi +# b_kalpi +1169 ={ + winter_severity_bias = 0.0 +} +# b_jalaun +3972 ={ + winter_severity_bias = 0.0 +} +## c_manikpur +# b_manikpur +1284 ={ + winter_severity_bias = 0.0 +} +# b_lalganj +1282 ={ + winter_severity_bias = 0.0 +} +## c_asni +# b_asni +1283 ={ + winter_severity_bias = 0.0 +} +# b_kora +1414 ={ + winter_severity_bias = 0.0 +} +# b_musanagar +1139 ={ + winter_severity_bias = 0.0 +} +## c_prayaga +# b_prayaga +1328 ={ + winter_severity_bias = 0.0 +} +# b_kara +1113 ={ + winter_severity_bias = 0.0 +} +### d_saryupara +## c_ayodhya +# b_ayodhya +1250 ={ + winter_severity_bias = 0.0 +} +# b_faizabad +3953 ={ + winter_severity_bias = 0.0 +} +# b_gonda +3954 ={ + winter_severity_bias = 0.0 +} +## c_naimisa +# b_naimisa +1422 ={ + winter_severity_bias = 0.0 +} +# b_bahraich +3955 ={ + winter_severity_bias = 0.0 +} +# b_lakhimpur +3956 ={ + winter_severity_bias = 0.0 +} +## c_sravasti +# b_sravasti +1421 ={ + winter_severity_bias = 0.0 +} +# b_amorha +904 ={ + winter_severity_bias = 0.0 +} +# b_gorakhpur +3958 ={ + winter_severity_bias = 0.0 +} +### d_jejakabhukti +## c_mahoba +# b_mahoba +1301 ={ + winter_severity_bias = 0.0 +} +# b_ajaigarh +3959 ={ + winter_severity_bias = 0.0 +} +# b_chitrakuta +3960 ={ + winter_severity_bias = 0.0 +} +# b_rath +3961 ={ + winter_severity_bias = 0.0 +} +## c_kalanjara +# b_kalinjar +1171 ={ + winter_severity_bias = 0.0 +} +# b_khajuraho +3962 ={ + winter_severity_bias = 0.0 +} +# b_bhatta +3963 ={ + winter_severity_bias = 0.0 +} +# b_umri +3964 ={ + winter_severity_bias = 0.0 +} +## c_damoh +# b_damoh +1274 ={ + winter_severity_bias = 0.0 +} +# b_dhamoni +3965 ={ + winter_severity_bias = 0.0 +} +# b_nohta +3966 ={ + winter_severity_bias = 0.0 +} +## c_gurgi +# b_gurgi +1278 ={ + winter_severity_bias = 0.0 +} +# b_chandrehi +3967 ={ + winter_severity_bias = 0.0 +} + +#### k_himalaya +### d_kurmanchal +## c_kumaon +# b_kartikeyapura +9091 ={ + winter_severity_bias = 0.50 +} +# b_almora +9093 ={ + winter_severity_bias = 0.50 +} +# b_askot +9097 ={ + winter_severity_bias = 0.60 +} +## c_garwhal +# b_devalgarh +9090 ={ + winter_severity_bias = 0.60 +} +# b_srinagar +9089 ={ + winter_severity_bias = 0.60 +} +# b_dehradun +9087 ={ + winter_severity_bias = 0.30 +} +# b_uttarkashi +9088 ={ + winter_severity_bias = 0.60 +} +## c_kali_kumaon +# b_champawat +9092 ={ + winter_severity_bias = 0.0 +} +# b_bhimtal +9094 ={ + winter_severity_bias = 0.0 +} +## c_doti +# b_doti +9095 ={ + winter_severity_bias = 0.60 +} +# b_godawari +9096 ={ + winter_severity_bias = 0.0 +} +# b_baitadi +9098 ={ + winter_severity_bias = 0.60 +} +### d_khasa +## c_jumla +# b_sinja +9101 ={ + winter_severity_bias = 0.75 +} +# b_jumla +9102 ={ + winter_severity_bias = 0.50 +} +# b_dullu +9103 ={ + winter_severity_bias = 0.25 +} +## c_bajura +# b_bajura +9099 ={ + winter_severity_bias = 0.75 +} +# b_simikot +9100 ={ + winter_severity_bias = 0.75 +} +## c_jagatipur +# b_jagatipur +9104 ={ + winter_severity_bias = 0.25 +} +# b_rukum +9106 ={ + winter_severity_bias = 0.50 +} +# b_gautamkot +9105 ={ + winter_severity_bias = 0.50 +} +## c_dang +# b_dang +9108 ={ + winter_severity_bias = 0.0 +} +# b_gulariya +9107 ={ + winter_severity_bias = 0.0 +} +## c_lumbini +# b_lumbini +9109 ={ + winter_severity_bias = 0.0 +} +# b_gulmi +9110 ={ + winter_severity_bias = 0.25 +} +## c_kaski +# b_kaski +9111 ={ + winter_severity_bias = 0.50 +} +# b_tanahun +9112 ={ + winter_severity_bias = 0.50 +} +# b_gorkha +9113 ={ + winter_severity_bias = 0.60 +} +### d_nepal +## c_kathmandu +# b_kathmandu +9116 ={ + winter_severity_bias = 0.50 +} +# b_kirtipur +9130 ={ + winter_severity_bias = 0.25 +} +# b_hetauda +9115 ={ + winter_severity_bias = 0.0 +} +# b_bharatpur +9123 ={ + winter_severity_bias = 0.0 +} +## c_bhaktapur +# b_bhaktapur +9117 ={ + winter_severity_bias = 0.50 +} +# b_lalitpur +9131 ={ + winter_severity_bias = 0.0 +} +# b_dhulikhel +9132 ={ + winter_severity_bias = 0.0 +} +## c_janakpur +# b_janakpur +9118 ={ + winter_severity_bias = 0.0 +} +# b_rajbiraj +9122 ={ + winter_severity_bias = 0.50 +} +### d_limbuwan +## c_ilam +# b_ilam +9125 ={ + winter_severity_bias = 0.50 +} +# b_panchthar +9127 ={ + winter_severity_bias = 0.50 +} +# b_gograha +9124 ={ + winter_severity_bias = 0.50 +} +## c_yangwarok +# b_yangwarok +9136 ={ + winter_severity_bias = 0.70 +} +# b_dhankuta +9126 ={ + winter_severity_bias = 0.50 +} +# b_bhojpur_tibet +9121 ={ + winter_severity_bias = 0.70 +} +## c_khotang +# b_khotang +9120 ={ + winter_severity_bias = 0.25 +} +# b_okhaldhunga +9119 ={ + winter_severity_bias = 0.25 +} +# b_dolakha +9114 ={ + winter_severity_bias = 0.50 +} + +#### k_kashmir +### d_kasmira +## c_kasmira +# b_srinagara +1161 ={ + winter_severity_bias = 0.45 +} +# b_parihasapura +3446 ={ + winter_severity_bias = 0.70 +} +# b_amaresvara +3445 ={ + winter_severity_bias = 0.70 +} +## c_allai +# b_allai +7948 ={ + winter_severity_bias = 0.70 +} +# b_waihind +7947 ={ + winter_severity_bias = 0.70 +} +# b_kaghan +7949 ={ + winter_severity_bias = 0.70 +} +# b_chilas +7950 ={ + winter_severity_bias = 0.70 +} +## c_astore +# b_astore +9024 ={ + winter_severity_bias = 0.80 +} +# b_minimarg +9025 ={ + winter_severity_bias = 0.80 +} +### d_pamir +## c_gilgit +# b_gilgit +1351 ={ + winter_severity_bias = 0.65 +} +# b_baltit +7956 ={ + winter_severity_bias = 0.80 +} +# b_tashkurgan +7957 ={ + winter_severity_bias = 1.0 +} +## c_yasin +# b_yasin +7954 ={ + winter_severity_bias = 0.80 +} +# b_naltar +7955 ={ + winter_severity_bias = 0.80 +} +## c_golaghmuli +# b_golaghmuli +7953 ={ + winter_severity_bias = 0.70 +} +# b_kalam_TARIM +7951 ={ + winter_severity_bias = 0.70 +} +# b_shandur +7952 ={ + winter_severity_bias = 0.70 +} + +##### e_bengal +#### k_bengal +### d_gauda +## c_laksmanavati +# b_laksmanavati +1151 ={ + winter_severity_bias = 0.0 +} +# b_gaur +837 ={ + winter_severity_bias = 0.0 +} +# b_hazrat_pandua +838 ={ + winter_severity_bias = 0.0 +} +# b_rampur_boalia +839 ={ + winter_severity_bias = 0.0 +} +## c_kotivarsa +# b_ramavati +840 ={ + winter_severity_bias = 0.0 +} +# b_devkot +841 ={ + winter_severity_bias = 0.0 +} +# b_kotivarsa +1153 ={ + winter_severity_bias = 0.0 +} +## c_gauda +# b_karnasubarna +1243 ={ + winter_severity_bias = 0.0 +} +# b_raktamrittika +842 ={ + winter_severity_bias = 0.0 +} +# b_agmahl +843 ={ + winter_severity_bias = 0.0 +} +## c_radha +# b_lakhnor +1242 ={ + winter_severity_bias = 0.0 +} +# b_kalyaneshwari +844 ={ + winter_severity_bias = 0.0 +} +# b_gopbhum +845 ={ + winter_severity_bias = 0.0 +} +# b_kashipur +913 ={ + winter_severity_bias = 0.0 +} +### d_varendra +## c_pundravardhana +# b_pundravardhana +1381 ={ + winter_severity_bias = 0.0 +} +# b_mahasthangarh +846 ={ + winter_severity_bias = 0.0 +} +# b_ghoraghat +847 ={ + winter_severity_bias = 0.0 +} +## c_suvarnagram +# b_suvarnagram +1324 ={ + winter_severity_bias = 0.0 +} +# b_bokainagar +850 ={ + winter_severity_bias = 0.0 +} +# b_dhakeshwari_jatiya_mandir +851 ={ + winter_severity_bias = 0.0 +} +# b_nasirabad +852 ={ + winter_severity_bias = 0.0 +} +## c_madhupur +# b_madhupur +1325 ={ + winter_severity_bias = 0.0 +} +# b_pabna +861 ={ + winter_severity_bias = 0.0 +} +# b_somapur +848 ={ + winter_severity_bias = 0.0 +} +### d_vanga +## c_bikrampur +# b_bikrampur +1319 ={ + winter_severity_bias = 0.0 +} +# b_ekdala +833 ={ + winter_severity_bias = 0.0 +} +# b_fathabad +1240 ={ + winter_severity_bias = 0.0 +} +# b_chandpur +834 ={ + winter_severity_bias = 0.0 +} +## c_candradvipa +# b_candradvipa +1236 ={ + winter_severity_bias = 0.0 +} +# b_bagerhat +835 ={ + winter_severity_bias = 0.0 +} +# b_ishwaripur +836 ={ + winter_severity_bias = 0.0 +} +## c_karmanta +# b_karmanta +1131 ={ + winter_severity_bias = 0.0 +} +# b_tripura +831 ={ + winter_severity_bias = 0.0 +} +# b_mainamati +832 ={ + winter_severity_bias = 0.0 +} +# b_udaipur +9657 ={ + winter_severity_bias = 0.0 +} +## c_samatata +# b_devaparvata +1318 ={ + winter_severity_bias = 0.0 +} +# b_chatigama +828 ={ + winter_severity_bias = 0.0 +} +# b_candranatha +829 ={ + winter_severity_bias = 0.0 +} +# b_pattikera +830 ={ + winter_severity_bias = 0.0 +} +# b_karnaphuli +8722 ={ + winter_severity_bias = 0.0 +} +## c_harikela +# b_unakoti +853 ={ + winter_severity_bias = 0.0 +} +# b_tlawng +854 ={ + winter_severity_bias = 0.0 +} +### d_nadia +## c_nabadwipa +# b_nabadwipa +1323 ={ + winter_severity_bias = 0.0 +} +# b_attahasa +855 ={ + winter_severity_bias = 0.0 +} +# b_santipura +856 ={ + winter_severity_bias = 0.0 +} +## c_saptagrama +# b_saptagrama +1233 ={ + winter_severity_bias = 0.0 +} +# b_pandua +857 ={ + winter_severity_bias = 0.0 +} +# b_kumarhati +858 ={ + winter_severity_bias = 0.0 +} +## c_vijayapura +# b_vijayapura +1239 ={ + winter_severity_bias = 0.0 +} +# b_visnupura +859 ={ + winter_severity_bias = 0.0 +} +# b_umardan +860 ={ + winter_severity_bias = 0.0 +} +### d_suhma +## c_mallabhum +# b_bishnupur +1238 ={ + winter_severity_bias = 0.0 +} +# b_baghmundi +866 ={ + winter_severity_bias = 0.0 +} +## c_tamralipti +# b_tamralipti +1235 ={ + winter_severity_bias = 0.0 +} +# b_sagardwip #AKA Sagar Island, or Gangasagar +862 ={ + winter_severity_bias = 0.0 +} +# b_chatrabhog +863 ={ + winter_severity_bias = 0.0 +} +# b_chandraketugarh +864 ={ + winter_severity_bias = 0.0 +} +## c_midnapore +# b_midnapore +1232 ={ + winter_severity_bias = 0.0 +} +# b_dantan +865 ={ + winter_severity_bias = 0.0 +} + +#### k_kamarupa +### d_kamarupanagara +## c_kamarupanagara +# b_kamarupanagara +1321 ={ + winter_severity_bias = 0.0 +} +# b_manikuta +814 ={ + winter_severity_bias = 0.0 +} +# b_pragyotisapura +815 ={ + winter_severity_bias = 0.0 +} +# b_dhubri +816 ={ + winter_severity_bias = 0.0 +} +## c_kamatapur +# b_kamatapur +1244 ={ + winter_severity_bias = 0.0 +} +# b_nalrajar_garh +817 ={ + winter_severity_bias = 0.0 +} +# b_bhitagarh +818 ={ + winter_severity_bias = 0.0 +} +### d_sutiya +## c_haruppeswara +# b_haruppeswara +1418 ={ + winter_severity_bias = 0.0 +} +# b_numaligarh +813 ={ + winter_severity_bias = 0.0 +} +# b_narayanpur +812 ={ + winter_severity_bias = 0.0 +} +## c_charaideo +# b_charaideo +810 ={ + winter_severity_bias = 0.0 +} +# b_carguya +811 ={ + winter_severity_bias = 0.0 +} +## c_kundina +# b_kundina +1177 ={ + winter_severity_bias = 0.0 +} +# b_tinsukia +808 ={ + winter_severity_bias = 0.0 +} +# b_ghuguha_dol +809 ={ + winter_severity_bias = 0.0 +} +### d_para_lauhitya +## c_goalpara +# b_goalpara +1246 ={ + winter_severity_bias = 0.0 +} +# b_sri_surya_pahar +819 ={ + winter_severity_bias = 0.0 +} +# b_kamakhya +820 ={ + winter_severity_bias = 0.0 +} +## c_dimapur +# b_dimapur +1296 ={ + winter_severity_bias = 0.0 +} +# b_herombial +821 ={ + winter_severity_bias = 0.0 +} +# b_maibong +822 ={ + winter_severity_bias = 0.0 +} +# b_oddiyana2 +823 ={ + winter_severity_bias = 0.0 +} +## c_srihatta +# b_srihatta +1245 ={ + winter_severity_bias = 0.0 +} +# b_jangalbari +824 ={ + winter_severity_bias = 0.0 +} +# b_habiganj +825 ={ + winter_severity_bias = 0.0 +} +## c_manipur +# b_manipur +826 ={ + winter_severity_bias = 0.0 +} +# b_khoupum +827 ={ + winter_severity_bias = 0.0 +} + +#### k_bihar +### d_magadha +## c_magadha +# b_pataliputra +1154 ={ + winter_severity_bias = 0.0 +} +# b_odantapuri +867 ={ + winter_severity_bias = 0.0 +} +# b_rajagrha +868 ={ + winter_severity_bias = 0.0 +} +# b_maner +869 ={ + winter_severity_bias = 0.0 +} +870 ={ + winter_severity_bias = 0.0 +} +## c_mudgagiri +# b_mudgagiri +1152 ={ + winter_severity_bias = 0.0 +} +# b_campa +871 ={ + winter_severity_bias = 0.0 +} +# b_vikramasila +872 ={ + winter_severity_bias = 0.0 +} +## c_gaya +# b_gaya +1276 ={ + winter_severity_bias = 0.0 +} +# b_bodh_gaya +873 ={ + winter_severity_bias = 0.0 +} +# b_kukkutapada +874 ={ + winter_severity_bias = 0.0 +} +## c_sasaram +# b_sasaram +1251 ={ + winter_severity_bias = 0.0 +} +# b_jaund +875 ={ + winter_severity_bias = 0.0 +} +# b_arrah +876 ={ + winter_severity_bias = 0.0 +} +### d_tirabhukti +## c_mithila +# b_mithila +1419 ={ + winter_severity_bias = 0.0 +} +# b_sugauna +877 ={ + winter_severity_bias = 0.0 +} +# b_darbhanga +878 ={ + winter_severity_bias = 0.0 +} +# b_hajipur +879 ={ + winter_severity_bias = 0.0 +} +## c_simaramapura +# b_simaramapura +1420 ={ + winter_severity_bias = 0.0 +} +# b_kesaria +880 ={ + winter_severity_bias = 0.0 +} +# b_barohiya +3957 ={ + winter_severity_bias = 0.0 +} +## c_kusinagara +# b_kusinagara +1162 ={ + winter_severity_bias = 0.0 +} +# b_pava +881 ={ + winter_severity_bias = 0.0 +} +# b_chapra +882 ={ + winter_severity_bias = 0.0 +} +## c_bangaon +# b_bangaon +9654 ={ + winter_severity_bias = 0.0 +} +# b_jalalghar +9655 ={ + winter_severity_bias = 0.0 +} +# b_burhi_gandak +9656 ={ + winter_severity_bias = 0.0 +} +### d_kasi +## c_jaunpur +# b_jaunpur +1166 ={ + winter_severity_bias = 0.0 +} +# b_gadhipuri +883 ={ + winter_severity_bias = 0.0 +} +# b_haldi2 +884 ={ + winter_severity_bias = 0.0 +} +## c_varanasi +# b_varanasi +1163 ={ + winter_severity_bias = 0.0 +} +# b_bhadohi +885 ={ + winter_severity_bias = 0.0 +} +## c_chunar +# b_chunar +1281 ={ + winter_severity_bias = 0.0 +} +# b_kantit +905 ={ + winter_severity_bias = 0.0 +} +### d_jharkand +## c_munda +# b_chutia +1248 ={ + winter_severity_bias = 0.0 +} +# b_ratu +911 ={ + winter_severity_bias = 0.0 +} +## c_jharkand +# b_koriya +1241 ={ + winter_severity_bias = 0.0 +} +# b_ambikapur +906 ={ + winter_severity_bias = 0.0 +} +# b_beohari +907 ={ + winter_severity_bias = 0.0 +} +## c_rothas +# b_rohtas +1327 ={ + winter_severity_bias = 0.0 +} +# b_betla +908 ={ + winter_severity_bias = 0.0 +} +# b_palamau +909 ={ + winter_severity_bias = 0.0 +} +## c_rajrappa +# b_rajrappa +1237 ={ + winter_severity_bias = 0.0 +} +# b_kenduli +910 ={ + winter_severity_bias = 0.0 +} +## c_damin_i_koh +# b_deogarh2 +1234 ={ + winter_severity_bias = 0.0 +} +# b_shikarji +912 ={ + winter_severity_bias = 0.0 +} + +#### k_gondwana +### d_dahala +## c_tripuri +# b_tripuri +1271 ={ + winter_severity_bias = 0.0 +} +# b_mandla +914 ={ + winter_severity_bias = 0.0 +} +# b_banjar +915 ={ + winter_severity_bias = 0.0 +} +# b_bohani +916 ={ + winter_severity_bias = 0.0 +} +# b_moti_mahal +924 ={ + winter_severity_bias = 0.0 +} +## c_chauragarh +# b_chauragarh +1164 ={ + winter_severity_bias = 0.0 +} +# b_barman +917 ={ + winter_severity_bias = 0.0 +} +# b_hoshangabad +918 ={ + winter_severity_bias = 0.0 +} +# b_handia +919 ={ + winter_severity_bias = 0.0 +} +### d_ratanpur +## c_ratanpur +# b_ratanpur +1272 ={ + winter_severity_bias = 0.0 +} +# b_savarinarayana +921 ={ + winter_severity_bias = 0.0 +} +# b_pali +922 ={ + winter_severity_bias = 0.0 +} +## c_tummana +# b_tummana +1277 ={ + winter_severity_bias = 0.0 +} +# b_amarkantak +923 ={ + winter_severity_bias = 0.0 +} +## c_bandhugadha +# b_bandhugadha +1165 ={ + winter_severity_bias = 0.0 +} +# b_bahoriband +925 ={ + winter_severity_bias = 0.0 +} +# b_soubhagyapura +926 ={ + winter_severity_bias = 0.0 +} + +#### k_orissa +### d_tosali +## c_kataka +# b_katak +1129 ={ + winter_severity_bias = 0.0 +} +# b_bhubaneswar +927 ={ + winter_severity_bias = 0.0 +} #Temple +# b_konarak +928 ={ + winter_severity_bias = 0.0 +} +# b_dhauli +929 ={ + winter_severity_bias = 0.0 +} +# b_sakshigopal +930 ={ + winter_severity_bias = 0.0 +} #Temple +# b_athgarh +931 ={ + winter_severity_bias = 0.0 +} +## c_viraja +# b_viraja +1231 ={ + winter_severity_bias = 0.0 +} +# b_ratnagiri +932 ={ + winter_severity_bias = 0.0 +} #Temple +# b_bhadrak +3980 ={ + winter_severity_bias = 0.0 +} +# b_baleshvara +3981 ={ + winter_severity_bias = 0.0 +} +# b_raibania +3982 ={ + winter_severity_bias = 0.0 +} +## c_khinjali_mandala +# b_khinjali +1229 ={ + winter_severity_bias = 0.0 +} +# b_nilamadhav +3989 ={ + winter_severity_bias = 0.0 +} +# b_nayagarh +3990 ={ + winter_severity_bias = 0.0 +} +## c_kodalaka_mandala +# b_kodalaka +1156 ={ + winter_severity_bias = 0.0 +} +# b_bajrakot +3987 ={ + winter_severity_bias = 0.0 +} +# b_deogarh +3988 ={ + winter_severity_bias = 0.0 +} +## c_khijjingakota +# b_khijjinga +1247 ={ + winter_severity_bias = 0.0 +} +# b_asanapat +3983 ={ + winter_severity_bias = 0.0 +} +# b_bahalda +3984 ={ + winter_severity_bias = 0.0 +} +# b_ghatagaon +3985 ={ + winter_severity_bias = 0.0 +} +# b_malayagiri +3986 ={ + winter_severity_bias = 0.0 +} +### d_daksina_kosala +## c_rayapura +# b_rayapura +1160 ={ + winter_severity_bias = 0.0 +} +# b_shivapura +3991 ={ + winter_severity_bias = 0.0 +} +# b_camparanya +3992 ={ + winter_severity_bias = 0.0 +} +## c_sripuri +# b_sripuri +1155 ={ + winter_severity_bias = 0.0 +} +# b_rajiva_lochana +3993 ={ + winter_severity_bias = 0.0 +} +## c_suvarnapura +# b_suvarnapura +1230 ={ + winter_severity_bias = 0.0 +} +# b_yajatinagara +3994 ={ + winter_severity_bias = 0.0 +} +# b_vinitapura +3995 ={ + winter_severity_bias = 0.0 +} +# b_ranipur +3996 ={ + winter_severity_bias = 0.0 +} +## c_sambalpur +# b_sambalpur +1249 ={ + winter_severity_bias = 0.0 +} +# b_rajgangpur +3997 ={ + winter_severity_bias = 0.0 +} +# b_bikramkhol +3998 ={ + winter_severity_bias = 0.0 +} +## c_kiranapura +# b_kiranapura +1270 ={ + winter_severity_bias = 0.0 +} +# b_lanjika +7932 ={ + winter_severity_bias = 0.0 +} +# b_mungeli +7933 ={ + winter_severity_bias = 0.0 +} +# b_nandgram +7934 ={ + winter_severity_bias = 0.0 +} +### d_kalinga +## c_kalinganagar +# b_mandasa +1224 ={ + winter_severity_bias = 0.0 +} +# b_kalinganagara +9648 ={ + winter_severity_bias = 0.0 +} +# b_srikakulam +9649 ={ + winter_severity_bias = 0.0 +} +## c_puri +# b_puri +1225 ={ + winter_severity_bias = 0.0 +} +# b_ganjam +9650 ={ + winter_severity_bias = 0.0 +} +# b_gopalpur +9651 ={ + winter_severity_bias = 0.0 +} +## c_swetaka_mandala +# b_swetakapura +1228 ={ + winter_severity_bias = 0.0 +} +# b_rayagada +9652 ={ + winter_severity_bias = 0.0 +} +# b_asurgarh +9653 ={ + winter_severity_bias = 0.0 +} +## c_vizagipatam +# b_vizagipatam +1128 ={ + winter_severity_bias = 0.0 +} +# b_nandapur +1226 ={ + winter_severity_bias = 0.0 +} +### d_dandakaranya +## c_cakrakuta +# b_cakrakuta +1227 ={ + winter_severity_bias = 0.0 +} +# b_umerkote +3999 ={ + winter_severity_bias = 0.0 +} +# b_kanker +9659 ={ + winter_severity_bias = 0.0 +} +## c_barasuru +# b_barasuru +1252 ={ + winter_severity_bias = 0.0 +} +# b_bhadracala +7913 ={ + winter_severity_bias = 0.0 +} +# b_malkangiri +7914 ={ + winter_severity_bias = 0.0 +} +# b_chutur +7915 ={ + winter_severity_bias = 0.0 +} + +#### k_pagan +### d_pagan +## c_pagan +# b_pagan +9550 ={ + winter_severity_bias = 0.0 +} +# b_popa +9551 ={ + winter_severity_bias = 0.0 +} +# b_myitche +9554 ={ + winter_severity_bias = 0.0 +} +# b_tantkyitaung +9553 ={ + winter_severity_bias = 0.0 +} +# b_nyaung_u +9552 ={ + winter_severity_bias = 0.0 +} +# b_powundaung +9555 ={ + winter_severity_bias = 0.0 +} +## c_ava +# b_ava +9556 ={ + winter_severity_bias = 0.0 +} +# b_pinya +9557 ={ + winter_severity_bias = 0.0 +} +# b_taungbyon +9558 ={ + winter_severity_bias = 0.0 +} +## c_kyaukse +# b_kyaukse +9559 ={ + winter_severity_bias = 0.0 +} +# b_maingmaw +9560 ={ + winter_severity_bias = 0.0 +} +# b_mekkhaya +9561 ={ + winter_severity_bias = 0.0 +} +# b_yawnghwe +9570 ={ + winter_severity_bias = 0.0 +} +## c_minbu +# b_minbu +9562 ={ + winter_severity_bias = 0.0 +} +# b_salin +9563 ={ + winter_severity_bias = 0.0 +} +# b_ngape +9564 ={ + winter_severity_bias = 0.0 +} +# b_shwesettaw +9565 ={ + winter_severity_bias = 0.0 +} +## c_sagaing +# b_sagaing +9568 ={ + winter_severity_bias = 0.0 +} +# b_halin +9569 ={ + winter_severity_bias = 0.0 +} +# b_myinmu +9639 ={ + winter_severity_bias = 0.0 +} +## c_yamethin +# b_yamethin +9571 ={ + winter_severity_bias = 0.0 +} +# b_peikthanomyo +9574 ={ + winter_severity_bias = 0.0 +} +# b_binnaka +9573 ={ + winter_severity_bias = 0.0 +} +### d_tagaung +## c_takon +# b_takon #AKA Tagaung +9643 ={ + winter_severity_bias = 0.0 +} +# b_wuntho +9644 ={ + winter_severity_bias = 0.0 +} +# b_htigyaing +9645 ={ + winter_severity_bias = 0.0 +} +# b_myedu +9646 ={ + winter_severity_bias = 0.0 +} +## c_madaya +# b_madaya +9640 ={ + winter_severity_bias = 0.0 +} +# b_momeik +9642 ={ + winter_severity_bias = 0.0 +} +# b_singu +9641 ={ + winter_severity_bias = 0.0 +} +## c_hanlan +# b_hanlan +9647 ={ + winter_severity_bias = 0.0 +} +# b_maukkadaw +9622 ={ + winter_severity_bias = 0.0 +} +# b_mingiu +9623 ={ + winter_severity_bias = 0.0 +} +## c_kale +# b_kale +9624 ={ + winter_severity_bias = 0.0 +} +# b_chin +9625 ={ + winter_severity_bias = 0.0 +} +# b_hsawnghsup +9658 ={ + winter_severity_bias = 0.0 +} +### d_sriksetra +## c_sriksetra +# b_sriksetra +9588 ={ + winter_severity_bias = 0.0 +} +# b_myede +9589 ={ + winter_severity_bias = 0.0 +} +# b_thayetmyo +9590 ={ + winter_severity_bias = 0.0 +} +# b_taungdwingyi +9634 ={ + winter_severity_bias = 0.0 +} +## c_magwe +# b_magwe +9575 ={ + winter_severity_bias = 0.0 +} +# b_shwemyo +9572 ={ + winter_severity_bias = 0.0 +} +## c_hinthada +# b_hinthada +9591 ={ + winter_severity_bias = 0.0 +} +# b_myanaung +9592 ={ + winter_severity_bias = 0.0 +} +## c_toungoo +# b_toungoo +9593 ={ + winter_severity_bias = 0.0 +} +# b_mong_pai +9594 ={ + winter_severity_bias = 0.0 +} +# b_swa +9595 ={ + winter_severity_bias = 0.0 +} +### d_arakan +## c_vaisali +# b_vaisali +9576 ={ + winter_severity_bias = 0.0 +} +# b_launggyet +9577 ={ + winter_severity_bias = 0.0 +} +# b_mrauk_u +9578 ={ + winter_severity_bias = 0.0 +} +# b_mahamuni +9579 ={ + winter_severity_bias = 0.0 +} +# b_akyab +9580 ={ + winter_severity_bias = 0.0 +} +## c_ramu +# b_ramu +9581 ={ + winter_severity_bias = 0.0 +} +# b_dianga +9582 ={ + winter_severity_bias = 0.0 +} +## c_thabeik_taung +# b_thabeik_taung +9583 ={ + winter_severity_bias = 0.0 +} +# b_matamuhuri +9584 ={ + winter_severity_bias = 0.0 +} +## c_sandoway +# b_sandoway +9585 ={ + winter_severity_bias = 0.0 +} +# b_ramree +9586 ={ + winter_severity_bias = 0.0 +} +# b_an +9587 ={ + winter_severity_bias = 0.0 +} +### d_ramannadesa +## c_thaton +# b_thaton +9627 ={ + winter_severity_bias = 0.0 +} +# b_muttina +9628 ={ + winter_severity_bias = 0.0 +} +# b_mawlamyine +9629 ={ + winter_severity_bias = 0.0 +} +# b_taikkala +9630 ={ + winter_severity_bias = 0.0 +} +## c_sittaung +# b_sittaung +9637 ={ + winter_severity_bias = 0.0 +} +# b_shwegyin +9638 ={ + winter_severity_bias = 0.0 +} +## c_pegu +# b_pegu +9596 ={ + winter_severity_bias = 0.0 +} +# b_tharrawaddy +9635 ={ + winter_severity_bias = 0.0 +} +# b_phyu +9636 ={ + winter_severity_bias = 0.0 +} +## c_dagon +# b_dagon +9598 ={ + winter_severity_bias = 0.0 +} +# b_syriam +9597 ={ + winter_severity_bias = 0.0 +} +# b_krapan +9599 ={ + winter_severity_bias = 0.0 +} +# b_bogale +9626 ={ + winter_severity_bias = 0.0 +} +## c_kusumi +# b_kusumi #AKA Bassein +9632 ={ + winter_severity_bias = 0.0 +} +# b_myaungmya +9633 ={ + winter_severity_bias = 0.0 +} +# b_negrais +9631 ={ + winter_severity_bias = 0.0 +} + +##### e_deccan +#### k_maharastra +### d_devagiri +## c_devagiri +# b_devagiri +1145 ={ + winter_severity_bias = 0.0 +} +# b_elapura +7899 ={ + winter_severity_bias = 0.0 +} +# b_jhodga +7900 ={ + winter_severity_bias = 0.0 +} +# b_jalna +7917 ={ + winter_severity_bias = 0.0 +} +## c_mulaka +# b_pratishthana +1142 ={ + winter_severity_bias = 0.0 +} +# b_sindkhed +7918 ={ + winter_severity_bias = 0.0 +} +# b_bhainsa +7919 ={ + winter_severity_bias = 0.0 +} +## c_vatsagulma +# b_vatsagulma +1259 ={ + winter_severity_bias = 0.0 +} +# b_parnakheta +1261 ={ + winter_severity_bias = 0.0 +} +# b_mekhar +7924 ={ + winter_severity_bias = 0.0 +} +## c_mahur +# b_mahur +7921 ={ + winter_severity_bias = 0.0 +} +# b_nirmal +7920 ={ + winter_severity_bias = 0.0 +} +# b_kerimeri +7922 ={ + winter_severity_bias = 0.0 +} +# b_mancherial +7923 ={ + winter_severity_bias = 0.0 +} +### d_vidharba +## c_acalapura +# b_acalapura +1285 ={ + winter_severity_bias = 0.0 +} +# b_amraoti +7925 ={ + winter_severity_bias = 0.0 +} +# b_kalam +7926 ={ + winter_severity_bias = 0.0 +} +# b_wun +7927 ={ + winter_severity_bias = 0.0 +} +# b_gawilgarh +920 ={ + winter_severity_bias = 0.0 +} +## c_ramagiri +# b_ramagiri +1159 ={ + winter_severity_bias = 0.0 +} +# b_kherla +1286 ={ + winter_severity_bias = 0.0 +} +# b_seoni +7931 ={ + winter_severity_bias = 0.0 +} +## c_canda +# b_canda +1269 ={ + winter_severity_bias = 0.0 +} +# b_kundina_SOUTHINDIA +7928 ={ + winter_severity_bias = 0.0 +} +# b_nagpur +7929 ={ + winter_severity_bias = 0.0 +} +# b_bhandara +7930 ={ + winter_severity_bias = 0.0 +} +## c_vairagara +# b_vairagara +1254 ={ + winter_severity_bias = 0.0 +} +# b_gondia +7935 ={ + winter_severity_bias = 0.0 +} +### d_konkana +## c_surparaka +# b_thana +1125 ={ + winter_severity_bias = 0.0 +} +# b_suraparaka +7788 ={ + winter_severity_bias = 0.0 +} +# b_ambaranatha +7789 ={ + winter_severity_bias = 0.0 +} +# b_chaul +7790 ={ + winter_severity_bias = 0.0 +} +## c_panaji +# b_panaji +7794 ={ + winter_severity_bias = 0.0 +} +# b_dabhol +7791 ={ + winter_severity_bias = 0.0 +} +# b_chiplun +7792 ={ + winter_severity_bias = 0.0 +} +# b_kollapura +7793 ={ + winter_severity_bias = 0.0 +} +## c_kanara +# b_honnore +1124 ={ + winter_severity_bias = 0.0 +} +# b_gopakapattana +1220 ={ + winter_severity_bias = 0.0 +} +# b_hinawr +7795 ={ + winter_severity_bias = 0.0 +} +### d_nasikya +## c_kondana +# b_kondana +1213 ={ + winter_severity_bias = 0.0 +} +# b_jirnanagara +7888 ={ + winter_severity_bias = 0.0 +} +# b_bhimashankara +7880 ={ + winter_severity_bias = 0.0 +} +# b_patkapur +7889 ={ + winter_severity_bias = 0.0 +} +## c_trikuta +# b_nasikya +1260 ={ + winter_severity_bias = 0.0 +} +# b_seunapura +7897 ={ + winter_severity_bias = 0.0 +} +# b_ankai +7898 ={ + winter_severity_bias = 0.0 +} +# b_ahmadnagar +7893 ={ + winter_severity_bias = 0.0 +} +### d_rattapadi +## c_taradavadi +# b_taradavadi +1206 ={ + winter_severity_bias = 0.0 +} +# b_pundarika +7881 ={ + winter_severity_bias = 0.0 +} +# b_karhada +7882 ={ + winter_severity_bias = 0.0 +} +# b_miraj +7883 ={ + winter_severity_bias = 0.0 +} +# b_hastikundi +7884 ={ + winter_severity_bias = 0.0 +} +## c_ashmaka +# b_lattalura +1212 ={ + winter_severity_bias = 0.0 +} +# b_nanded +1258 ={ + winter_severity_bias = 0.0 +} +# b_bhid +7894 ={ + winter_severity_bias = 0.0 +} +# b_darur +7895 ={ + winter_severity_bias = 0.0 +} +# b_qandhar +7896 ={ + winter_severity_bias = 0.0 +} +## c_naldurg +# b_naldurg +1146 ={ + winter_severity_bias = 0.0 +} +# b_sholapur +7890 ={ + winter_severity_bias = 0.0 +} +# b_purnagiri +7891 ={ + winter_severity_bias = 0.0 +} +# b_ausa +7892 ={ + winter_severity_bias = 0.0 +} +## c_kolhapur +# b_kolhapur +1416 ={ + winter_severity_bias = 0.0 +} +# b_kurundaka +7868 ={ + winter_severity_bias = 0.0 +} +# b_pranala +7869 ={ + winter_severity_bias = 0.0 +} +# b_karahataka +7879 ={ + winter_severity_bias = 0.0 +} + +#### k_karnata +### d_kalyani +## c_kalyani +# b_kalyani +1143 ={ + winter_severity_bias = 0.0 +} +# b_manyakheta +1210 ={ + winter_severity_bias = 0.0 +} +# b_bidar +1158 ={ + winter_severity_bias = 0.0 +} +# b_gulbarga +7901 ={ + winter_severity_bias = 0.0 +} +## c_sagar +# b_sagar +1265 ={ + winter_severity_bias = 0.0 +} +# b_vijayapura_bis +7885 ={ + winter_severity_bias = 0.0 +} +# b_bagavi +7886 ={ + winter_severity_bias = 0.0 +} +# b_kembavi +7887 ={ + winter_severity_bias = 0.0 +} +### d_gangavadi +## c_srirangapatna +# b_srirangapatna +1196 ={ + winter_severity_bias = 0.0 +} +# b_manyapura +1118 ={ + winter_severity_bias = 0.0 +} +# b_nandagiri +1217 ={ + winter_severity_bias = 0.0 +} +# b_parivi +7864 ={ + winter_severity_bias = 0.0 +} +# b_belapura +7865 ={ + winter_severity_bias = 0.0 +} +## c_mahishaka +# b_dwarasamudra +1197 ={ + winter_severity_bias = 0.0 +} +# b_honnavalli +7863 ={ + winter_severity_bias = 0.0 +} +# b_shravana_belgola +7866 ={ + winter_severity_bias = 0.0 +} +# b_sosavur +7867 ={ + winter_severity_bias = 0.0 +} +## c_talakad +# b_talakad +1216 ={ + winter_severity_bias = 0.0 +} +# b_mercara +7847 ={ + winter_severity_bias = 0.0 +} +# b_moyar +7848 ={ + winter_severity_bias = 0.0 +} +# b_seringapatam +7849 ={ + winter_severity_bias = 0.0 +} +### d_nulambavadi +## c_uchangidurga +# b_uchangidurga +1121 ={ + winter_severity_bias = 0.0 +} +# b_vijayanagara +7858 ={ + winter_severity_bias = 0.0 +} +# b_kampili +7859 ={ + winter_severity_bias = 0.0 +} +# b_basavapattana +7861 ={ + winter_severity_bias = 0.0 +} +## c_gutti +# b_gutti +7857 ={ + winter_severity_bias = 0.0 +} +# b_kandanavolu +7854 ={ + winter_severity_bias = 0.0 +} +# b_adavani +7856 ={ + winter_severity_bias = 0.0 +} +## c_adoni +# b_adoni +7855 ={ + winter_severity_bias = 0.0 +} +# b_nidugallu +7860 ={ + winter_severity_bias = 0.0 +} +# b_hemavati +7862 ={ + winter_severity_bias = 0.0 +} +## c_banavasi +# b_masur +7850 ={ + winter_severity_bias = 0.0 +} +# b_shringeri +7851 ={ + winter_severity_bias = 0.0 +} +# b_arka +7852 ={ + winter_severity_bias = 0.0 +} +# b_kudala +7853 ={ + winter_severity_bias = 0.0 +} +### d_raichur_doab +## c_idatarainadu +# b_mudgal +1203 ={ + winter_severity_bias = 0.0 +} +# b_alampur +1218 ={ + winter_severity_bias = 0.0 +} +# b_mushangi +7877 ={ + winter_severity_bias = 0.0 +} +# b_raichur +7878 ={ + winter_severity_bias = 0.0 +} +## c_vatapi +# b_vatapi +1198 ={ + winter_severity_bias = 0.0 +} +# b_kudalasangama +1202 ={ + winter_severity_bias = 0.0 +} +# b_belgaum +7870 ={ + winter_severity_bias = 0.0 +} +# b_keladi +7871 ={ + winter_severity_bias = 0.0 +} +## c_vaijayanti +# b_vaijayanti +1140 ={ + winter_severity_bias = 0.0 +} +# b_hubli +7872 ={ + winter_severity_bias = 0.0 +} +# b_hangal +7873 ={ + winter_severity_bias = 0.0 +} +## c_koppam +# b_koppam +7874 ={ + winter_severity_bias = 0.0 +} +# b_vankapura +7875 ={ + winter_severity_bias = 0.0 +} +# b_anegandi +7876 ={ + winter_severity_bias = 0.0 +} + +#### k_tamilakam +### d_pandya_nadu +## c_madurai +# b_madurai +1112 ={ + winter_severity_bias = 0.0 +} +# b_tirunelveli +1214 ={ + winter_severity_bias = 0.0 +} +# b_rameshvaram +7809 ={ + winter_severity_bias = 0.0 +} +# b_virudhukkalvetti +7810 ={ + winter_severity_bias = 0.0 +} +# b_sivakasi +7811 ={ + winter_severity_bias = 0.0 +} +# b_korkai +7812 ={ + winter_severity_bias = 0.0 +} +# b_kayal +7813 ={ + winter_severity_bias = 0.0 +} +## c_kongu +# b_karavur +1201 ={ + winter_severity_bias = 0.0 +} +# b_tenkasi +1116 ={ + winter_severity_bias = 0.0 +} +# b_kovai +7804 ={ + winter_severity_bias = 0.0 +} +# b_tiruppur +7805 ={ + winter_severity_bias = 0.0 +} +## c_uraiyur +# b_uraiyur +7807 ={ + winter_severity_bias = 0.0 +} +# b_dindigul +7806 ={ + winter_severity_bias = 0.0 +} +# b_sivaganga +7808 ={ + winter_severity_bias = 0.0 +} +### d_chola_nadu +## c_cholamandalam +# b_tanjavur +1115 ={ + winter_severity_bias = 0.0 +} +# b_tirukoilur +7835 ={ + winter_severity_bias = 0.0 +} +# b_kannanur_2 +7836 ={ + winter_severity_bias = 0.0 +} +# b_gangaikondacolapuram +7837 ={ + winter_severity_bias = 0.0 +} +# b_nagapattinam +7838 ={ + winter_severity_bias = 0.0 +} +## c_tagadur +# b_tagadur +1120 ={ + winter_severity_bias = 0.0 +} +# b_kelrayan +7833 ={ + winter_severity_bias = 0.0 +} +# b_srirangam +7834 ={ + winter_severity_bias = 0.0 +} +## c_tiruvannamalai +# b_tiruvannamalai +7830 ={ + winter_severity_bias = 0.0 +} +# b_kuvalala +7828 ={ + winter_severity_bias = 0.0 +} +# b_kudalasangama_bis +7829 ={ + winter_severity_bias = 0.0 +} +# b_uttaramerur +7831 ={ + winter_severity_bias = 0.0 +} +# b_jinji +7832 ={ + winter_severity_bias = 0.0 +} +### d_chera_nadu +## c_kerala +# b_mahoyadapuram +1114 ={ + winter_severity_bias = 0.0 +} +# b_malappuram +7799 ={ + winter_severity_bias = 0.0 +} +# b_palakkad +7800 ={ + winter_severity_bias = 0.0 +} +# b_kunjakari +7801 ={ + winter_severity_bias = 0.0 +} +# b_kottayam +7802 ={ + winter_severity_bias = 0.0 +} +## c_venadu +# b_kollam +7803 ={ + winter_severity_bias = 0.0 +} +# b_vizhinjam +1413 ={ + winter_severity_bias = 0.0 +} +# b_kottar +7814 ={ + winter_severity_bias = 0.0 +} +## c_alupa +# b_calicut +1117 ={ + winter_severity_bias = 0.0 +} +# b_udayavara +1200 ={ + winter_severity_bias = 0.0 +} +# b_mangalur +7797 ={ + winter_severity_bias = 0.0 +} +# b_kannanur +7798 ={ + winter_severity_bias = 0.0 +} +## c_maldives +# b_mahal +1360 ={ + winter_severity_bias = 0.0 +} +# b_thiladhunmathi +8712 ={ + winter_severity_bias = 0.0 +} +### d_tondai_nadu +## c_kanchipuram +# b_kanchipuram +1119 ={ + winter_severity_bias = 0.0 +} +# b_muluvagil +7824 ={ + winter_severity_bias = 0.0 +} +# b_takkaloma +7826 ={ + winter_severity_bias = 0.0 +} +# b_mamallapuram +7827 ={ + winter_severity_bias = 0.0 +} +## c_penugonda +# b_penugonda +1199 ={ + winter_severity_bias = 0.0 +} +# b_mangalavada +7819 ={ + winter_severity_bias = 0.0 +} +# b_melpadi +7820 ={ + winter_severity_bias = 0.0 +} +# b_nandi +7822 ={ + winter_severity_bias = 0.0 +} +# b_nangali +7823 ={ + winter_severity_bias = 0.0 +} +# b_padaividu +7825 ={ + winter_severity_bias = 0.0 +} +## c_nellore +# b_nellore +1204 ={ + winter_severity_bias = 0.0 +} +# b_vallurapura +7818 ={ + winter_severity_bias = 0.0 +} +# b_kalahasti +7821 ={ + winter_severity_bias = 0.0 +} +# b_potapi +1219 ={ + winter_severity_bias = 0.0 +} +## c_renandu +# b_togarakunta +7815 ={ + winter_severity_bias = 0.0 +} +# b_anantapur +7816 ={ + winter_severity_bias = 0.0 +} +# b_puspagiri +7817 ={ + winter_severity_bias = 0.0 +} + +#### k_andhra +### d_udayagiri +## c_palakka +# b_udayagiri +1122 ={ + winter_severity_bias = 0.0 +} +# b_nilagiri +1253 ={ + winter_severity_bias = 0.0 +} +# b_bhairavunikonda +7845 ={ + winter_severity_bias = 0.0 +} +# b_mutfili +7846 ={ + winter_severity_bias = 0.0 +} +## c_cumbum +# b_ittagi +7840 ={ + winter_severity_bias = 0.0 +} +# b_sriparvata +7841 ={ + winter_severity_bias = 0.0 +} +# b_mudivemu +7843 ={ + winter_severity_bias = 0.0 +} +# b_ahobalam +7844 ={ + winter_severity_bias = 0.0 +} +## c_nallamala +# b_amaravati +1207 ={ + winter_severity_bias = 0.0 +} +# b_pondugala +7839 ={ + winter_severity_bias = 0.0 +} +# b_addanki +7842 ={ + winter_severity_bias = 0.0 +} +### d_vengi +## c_vengipura +# b_vengipura +1123 ={ + winter_severity_bias = 0.0 +} +# b_vijayawada +1221 ={ + winter_severity_bias = 0.0 +} +# b_polavaram +7911 ={ + winter_severity_bias = 0.0 +} +# b_ellur +7912 ={ + winter_severity_bias = 0.0 +} +## c_mosala +# b_pithapuram +1415 ={ + winter_severity_bias = 0.0 +} +# b_rajamahendravaram +1222 ={ + winter_severity_bias = 0.0 +} +# b_draksharama +7916 ={ + winter_severity_bias = 0.0 +} + +#### k_telingana +### d_warangal +## c_orangallu +# b_warangal +1256 ={ + winter_severity_bias = 0.0 +} +# b_medak +1257 ={ + winter_severity_bias = 0.0 +} +# b_kollipake +1144 ={ + winter_severity_bias = 0.0 +} +# b_kaulas +7907 ={ + winter_severity_bias = 0.0 +} +## c_kambampet +# b_kambampet +1208 ={ + winter_severity_bias = 0.0 +} +# b_palampet +7908 ={ + winter_severity_bias = 0.0 +} +# b_vinukonda +7909 ={ + winter_severity_bias = 0.0 +} +# b_palwancha +7910 ={ + winter_severity_bias = 0.0 +} +## c_balkonda +# b_balkonda +1157 ={ + winter_severity_bias = 0.0 +} +# b_vemulavada +1255 ={ + winter_severity_bias = 0.0 +} +# b_indur +7906 ={ + winter_severity_bias = 0.0 +} +### d_racakonda +## c_racakonda +# b_racakonda +1209 ={ + winter_severity_bias = 0.0 +} +# b_golkonda +7903 ={ + winter_severity_bias = 0.0 +} +# b_nalgonda +7904 ={ + winter_severity_bias = 0.0 +} +## c_pannagallu +# b_pannagallu +1211 ={ + winter_severity_bias = 0.0 +} +# b_yetagiri +7902 ={ + winter_severity_bias = 0.0 +} +# b_devarakonda +7905 ={ + winter_severity_bias = 0.0 +} + +#### k_lanka +### d_dakhina_desa +## c_dakhina_desa +# b_gimhathiththa +3271 ={ + winter_severity_bias = 0.0 +} +# b_sitawaka +3277 ={ + winter_severity_bias = 0.0 +} +# b_malaya_rata +3288 ={ + winter_severity_bias = 0.0 +} +## c_kotte +# b_kotte +3276 ={ + winter_severity_bias = 0.0 +} +# b_dambadeniya +3274 ={ + winter_severity_bias = 0.0 +} +### d_ruhunu +## c_rohana +# b_magampura +3266 ={ + winter_severity_bias = 0.0 +} +# b_katargama +3267 ={ + winter_severity_bias = 0.0 +} +# b_godawaya +3268 ={ + winter_severity_bias = 0.0 +} +## c_batticaloa +# b_batticaloa +3280 ={ + winter_severity_bias = 0.0 +} +# b_dighavapi +3270 ={ + winter_severity_bias = 0.0 +} +# b_mahiyangana +3269 ={ + winter_severity_bias = 0.0 +} +### d_sinhala +## c_phiti # Pihiti +# b_anuradhapura +3272 ={ + winter_severity_bias = 0.0 +} +# b_puttalam +3283 ={ + winter_severity_bias = 0.0 +} +# b_kurunagala +3284 ={ + winter_severity_bias = 0.0 +} +## c_kandy +# b_senkadagalapura +3278 ={ + winter_severity_bias = 0.0 +} +# b_polonnaruwa +3273 ={ + winter_severity_bias = 0.0 +} +# b_matale +3279 ={ + winter_severity_bias = 0.0 +} +## c_trincomalee +# b_trincomalee +3281 ={ + winter_severity_bias = 0.0 +} +# b_dhamballai +3282 ={ + winter_severity_bias = 0.0 +} +# b_vavuniya +3285 ={ + winter_severity_bias = 0.0 +} +## c_jaffna +# b_jaffna +3275 ={ + winter_severity_bias = 0.0 +} +# b_mullaitivu +3287 ={ + winter_severity_bias = 0.0 +} +# b_mannar +3286 ={ + winter_severity_bias = 0.0 +} + +##### e_tibet +#### k_u +### d_yarlung +## c_zetang +# b_zetang +9230 ={ + winter_severity_bias = 0.70 +} +# b_taktse +9226 ={ + winter_severity_bias = 0.70 +} +# b_yumbu_lakhang +9229 ={ + winter_severity_bias = 0.70 +} +# b_tradruk +9227 ={ + winter_severity_bias = 0.70 +} +# b_qusum +9231 ={ + winter_severity_bias = 0.70 +} +## c_nagarze +# b_nagarze +9223 ={ + winter_severity_bias = 0.70 +} +# b_gonggar +9232 ={ + winter_severity_bias = 0.70 +} +## c_comai +# b_comai +9225 ={ + winter_severity_bias = 0.70 +} +# b_lhozhag +9224 ={ + winter_severity_bias = 0.70 +} +## c_gyaca +# b_gyaca +9233 ={ + winter_severity_bias = 0.70 +} +# b_daklha_gampo +9234 ={ + winter_severity_bias = 0.70 +} +# b_sangri +9236 ={ + winter_severity_bias = 0.70 +} +## c_nang +# b_nang +9235 ={ + winter_severity_bias = 0.70 +} +# b_gedang +9265 ={ + winter_severity_bias = 0.70 +} +### d_lhasa +## c_lhasa +# b_potala +9238 ={ + winter_severity_bias = 0.80 +} +# b_lhasa +9237 ={ + winter_severity_bias = 0.80 +} +# b_samye +9228 ={ + winter_severity_bias = 0.80 +} +# b_doilungdeqen +9246 ={ + winter_severity_bias = 0.80 +} +# b_quxu +9245 ={ + winter_severity_bias = 0.80 +} +## c_gyama +# b_gyama +9239 ={ + winter_severity_bias = 0.80 +} +# b_kunggar +9240 ={ + winter_severity_bias = 0.80 +} +# b_drigung +9241 ={ + winter_severity_bias = 0.80 +} +# b_paga +9267 ={ + winter_severity_bias = 0.80 +} +# b_mila_tibet +9266 ={ + winter_severity_bias = 0.80 +} +## c_lhunzhub +# b_lhunzhub +9242 ={ + winter_severity_bias = 0.80 +} +# b_ngarnang +9243 ={ + winter_severity_bias = 0.80 +} +# b_reting +9244 ={ + winter_severity_bias = 0.80 +} +## c_nyemo +# b_nyemo +9247 ={ + winter_severity_bias = 0.80 +} +# b_qewa +9251 ={ + winter_severity_bias = 0.80 +} +## c_damxung +# b_damquka +9248 ={ + winter_severity_bias = 0.80 +} +# b_nyinhzhong +9249 ={ + winter_severity_bias = 0.80 +} +# b_yangpachen +9250 ={ + winter_severity_bias = 0.80 +} +### d_nagchu +## c_nagchu +# b_nagchu +9255 ={ + winter_severity_bias = 0.90 +} +# b_lhomar +9256 ={ + winter_severity_bias = 0.90 +} +# b_taksar +9257 ={ + winter_severity_bias = 0.90 +} +# b_qangma +9258 ={ + winter_severity_bias = 0.90 +} +## c_baingoin +# b_pukpa +9253 ={ + winter_severity_bias = 0.90 +} +# b_xenkyer +9252 ={ + winter_severity_bias = 0.90 +} +# b_balla +9254 ={ + winter_severity_bias = 0.90 +} +## c_lhari +# b_lhari +9270 ={ + winter_severity_bias = 0.90 +} +# b_codoi +9268 ={ + winter_severity_bias = 0.90 +} +# b_lingti +9269 ={ + winter_severity_bias = 0.90 +} +### d_conyi +## c_cozhelhoma +# b_cozhelhoma +9261 ={ + winter_severity_bias = 0.90 +} +# b_xibde +9260 ={ + winter_severity_bias = 0.90 +} +# b_cozhedangma +9264 ={ + winter_severity_bias = 0.90 +} +## c_garco +# b_garco +9262 ={ + winter_severity_bias = 0.90 +} +# b_parling +9259 ={ + winter_severity_bias = 0.90 +} +# b_dorsoidong +9263 ={ + winter_severity_bias = 0.90 +} +## c_garkung +# b_garkung +9219 ={ + winter_severity_bias = 0.90 +} +# b_margai +9220 ={ + winter_severity_bias = 0.90 +} +# b_yurba +9221 ={ + winter_severity_bias = 0.90 +} +## c_sewa +# b_sewa +9363 ={ + winter_severity_bias = 0.90 +} +# b_dokecoring +9365 ={ + winter_severity_bias = 0.90 +} +# b_yuyico +9367 ={ + winter_severity_bias = 0.90 +} +# b_dokecoring_qangco +9366 ={ + winter_severity_bias = 0.90 +} + +#### k_tsang +### d_xigaze +## c_xigaze +# b_xigaze +9194 ={ + winter_severity_bias = 0.70 +} +# b_nyamo +9198 ={ + winter_severity_bias = 0.70 +} +# b_banam +9193 ={ + winter_severity_bias = 0.70 +} +# b_namling +9209 ={ + winter_severity_bias = 0.70 +} +# b_tobgyai +9210 ={ + winter_severity_bias = 0.70 +} +## c_gyangze +# b_gyangze +9197 ={ + winter_severity_bias = 0.70 +} +# b_rinbung +9196 ={ + winter_severity_bias = 0.70 +} +## c_kangmar +# b_kangmar +9195 ={ + winter_severity_bias = 0.70 +} +# b_kamru_2 +9192 ={ + winter_severity_bias = 0.70 +} +### d_sagya +## c_sagya +# b_sagya +9190 ={ + winter_severity_bias = 0.70 +} +# b_se +9191 ={ + winter_severity_bias = 0.70 +} +# b_lhaze +9189 ={ + winter_severity_bias = 0.70 +} +# b_kamba +9188 ={ + winter_severity_bias = 0.70 +} +# b_dinggye +9187 ={ + winter_severity_bias = 0.70 +} +## c_nyalam +# b_tsongdu +9183 ={ + winter_severity_bias = 0.70 +} +# b_mainpu +9184 ={ + winter_severity_bias = 0.70 +} +# b_tingri +9185 ={ + winter_severity_bias = 0.70 +} +# b_shelkar +9186 ={ + winter_severity_bias = 0.70 +} +## c_gyirong +# b_kungtang +9180 ={ + winter_severity_bias = 0.70 +} +# b_gyirong +9181 ={ + winter_severity_bias = 0.70 +} +# b_chagne +9182 ={ + winter_severity_bias = 0.70 +} +## c_kyakyaru +# b_kyakyaru +9083 ={ + winter_severity_bias = 0.70 +} +# b_changgo +9081 ={ + winter_severity_bias = 0.70 +} +# b_lhagcang +9082 ={ + winter_severity_bias = 0.70 +} +### d_ngamring +## c_kagar +# b_kagar +9199 ={ + winter_severity_bias = 0.70 +} +# b_sangsang +9200 ={ + winter_severity_bias = 0.70 +} +# b_quog +9206 ={ + winter_severity_bias = 0.70 +} +# b_goingyibug +9205 ={ + winter_severity_bias = 0.70 +} +## c_caze +# b_caze +9201 ={ + winter_severity_bias = 0.70 +} +# b_rusar +9203 ={ + winter_severity_bias = 0.70 +} +# b_kunglung +9204 ={ + winter_severity_bias = 0.70 +} +## c_xaitongmoin +# b_tongmoin +9207 ={ + winter_severity_bias = 0.70 +} +# b_qingtu +9211 ={ + winter_severity_bias = 0.70 +} +# b_leba +9208 ={ + winter_severity_bias = 0.70 +} +### d_nyima +## c_nyima +# b_nyima +9215 ={ + winter_severity_bias = 0.90 +} +# b_ladoi +9217 ={ + winter_severity_bias = 0.90 +} +# b_sinya +9214 ={ + winter_severity_bias = 0.90 +} +# b_gyagog +9222 ={ + winter_severity_bias = 0.90 +} +## c_aso +# b_aso +9216 ={ + winter_severity_bias = 0.90 +} +# b_ngoqu +9218 ={ + winter_severity_bias = 0.90 +} +## c_xainza +# b_xainza +9212 ={ + winter_severity_bias = 0.90 +} +# b_shyungme +9213 ={ + winter_severity_bias = 0.90 +} + +#### k_kham +### d_qamdo +## c_qamdo +# b_qamdo +9302 ={ + winter_severity_bias = 0.90 +} +# b_karub +9301 ={ + winter_severity_bias = 0.90 +} +# b_riwoqe +9300 ={ + winter_severity_bias = 0.90 +} +# b_yiqen +9284 ={ + winter_severity_bias = 0.90 +} +## c_dengqen +# b_dengqen +9299 ={ + winter_severity_bias = 0.90 +} +# b_qizhu #ancient Bon temple +9290 ={ + winter_severity_bias = 0.90 +} +# b_damdoi +9291 ={ + winter_severity_bias = 0.90 +} +## c_baqen +# b_baqen +9297 ={ + winter_severity_bias = 0.90 +} +# b_lhaxi +9298 ={ + winter_severity_bias = 0.90 +} +# b_arxog +9296 ={ + winter_severity_bias = 0.90 +} +## c_sog +# b_sog +9294 ={ + winter_severity_bias = 0.90 +} +# b_riwar +9295 ={ + winter_severity_bias = 0.90 +} +# b_biru +9293 ={ + winter_severity_bias = 0.90 +} +# b_xamqu +9292 ={ + winter_severity_bias = 0.90 +} +## c_banbar +# b_banbar +9287 ={ + winter_severity_bias = 0.90 +} +# b_jaggang +9288 ={ + winter_severity_bias = 0.90 +} +# b_lhorong +9289 ={ + winter_severity_bias = 0.90 +} +### d_boyul +## c_bome +# b_bome +9279 ={ + winter_severity_bias = 0.90 +} +# b_zhamog +9277 ={ + winter_severity_bias = 0.90 +} +# b_kangyu +9285 ={ + winter_severity_bias = 0.90 +} +# b_qundo +9286 ={ + winter_severity_bias = 0.90 +} +## c_baxoi +# b_baxoi +9281 ={ + winter_severity_bias = 0.90 +} +# b_rawu +9278 ={ + winter_severity_bias = 0.90 +} +## c_zogang +# b_zogang +9282 ={ + winter_severity_bias = 0.90 +} +# b_kagong +9283 ={ + winter_severity_bias = 0.90 +} +### d_nyingchi +## c_nyingchi +# b_nyingchi +9275 ={ + winter_severity_bias = 0.90 +} +# b_burqug +9271 ={ + winter_severity_bias = 0.90 +} +# b_lunang +9276 ={ + winter_severity_bias = 0.90 +} +# b_yiong +9280 ={ + winter_severity_bias = 0.90 +} +## c_gongbo +# b_gongbo +9273 ={ + winter_severity_bias = 0.90 +} +# b_nyang +9272 ={ + winter_severity_bias = 0.90 +} +# b_pagsum +9274 ={ + winter_severity_bias = 0.90 +} +### d_nangqen +## c_nangqen +# b_nangqen +9304 ={ + winter_severity_bias = 0.90 +} +# b_nyangla +9305 ={ + winter_severity_bias = 0.90 +} +## c_gyegumdo +# b_gyegumdo +9306 ={ + winter_severity_bias = 0.90 +} +# b_longbaoco +9307 ={ + winter_severity_bias = 0.90 +} +### d_lhatok +## c_lhatok +# b_lhatok +9303 ={ + winter_severity_bias = 0.90 +} +# b_jomda +9308 ={ + winter_severity_bias = 0.90 +} +# b_derdoin +9309 ={ + winter_severity_bias = 0.90 +} +## c_zhagyab +# b_yendum +9312 ={ + winter_severity_bias = 0.90 +} +# b_rongzhub +9313 ={ + winter_severity_bias = 0.90 +} +## c_gonjo +# b_bolo +9310 ={ + winter_severity_bias = 0.90 +} +# b_bumgye +9311 ={ + winter_severity_bias = 0.90 +} +### d_lingtsang +## c_lingtsang +# b_lingtsang +9349 ={ + winter_severity_bias = 0.90 +} +# b_serxu +9348 ={ + winter_severity_bias = 0.90 +} +## c_ariksar +# b_ariksar +9350 ={ + winter_severity_bias = 0.90 +} +# b_tromsa_genma +9351 ={ + winter_severity_bias = 0.90 +} +### d_dege +## c_dege +# b_dege +9343 ={ + winter_severity_bias = 0.90 +} +# b_palpung +9344 ={ + winter_severity_bias = 0.90 +} +# b_dzogchen +9345 ={ + winter_severity_bias = 0.90 +} +## c_pelyul +# b_pelyul +9352 ={ + winter_severity_bias = 0.90 +} +# b_katok +9326 ={ + winter_severity_bias = 0.90 +} +# b_manigango +9346 ={ + winter_severity_bias = 0.90 +} +## c_garze +# b_garze +9340 ={ + winter_severity_bias = 0.90 +} +# b_axu +9347 ={ + winter_severity_bias = 0.90 +} +### d_batang +## c_batang +# b_batang +9323 ={ + winter_severity_bias = 0.90 +} +# b_dewu +9353 ={ + winter_severity_bias = 0.90 +} +# b_qagcheng +9321 ={ + winter_severity_bias = 0.90 +} +## c_markam +# b_markam +9314 ={ + winter_severity_bias = 0.90 +} +# b_jangpa +9315 ={ + winter_severity_bias = 0.90 +} +## c_deqen +# b_deqen +9316 ={ + winter_severity_bias = 0.90 +} +# b_balung +9317 ={ + winter_severity_bias = 0.90 +} +## c_gyaitang +# b_gyaitang +9318 ={ + winter_severity_bias = 0.90 +} +# b_takchongrong +9322 ={ + winter_severity_bias = 0.90 +} +# b_derong +9319 ={ + winter_severity_bias = 0.90 +} +### d_litang +## c_litang +# b_litang +9325 ={ + winter_severity_bias = 0.90 +} +# b_nyagqu +9327 ={ + winter_severity_bias = 0.90 +} +## c_lenggu +# b_lenggu +9324 ={ + winter_severity_bias = 0.90 +} +# b_dabba_tibet +9320 ={ + winter_severity_bias = 0.90 +} +## c_nyagrong +# b_nyagrong +9336 ={ + winter_severity_bias = 0.90 +} +# b_jalhaxi +9339 ={ + winter_severity_bias = 0.90 +} + +#### k_amdo +### d_xining +## c_xining +# b_rusar_huangzhong #Huangzhong +9421 ={ + winter_severity_bias = 0.90 +} +# b_xining +9422 ={ + winter_severity_bias = 0.90 +} +# b_tongkor #Chengguan +9414 ={ + winter_severity_bias = 0.90 +} +## c_datong +# b_datong +9413 ={ + winter_severity_bias = 0.90 +} +# b_serkok #Chengguan +9412 ={ + winter_severity_bias = 0.90 +} +### d_tuyuhun +## c_fuqi +# b_fuqi +9406 ={ + winter_severity_bias = 0.90 +} +# b_temqen #Tianjun +9407 ={ + winter_severity_bias = 0.90 +} +# b_yagkeng #Yangkang +9409 ={ + winter_severity_bias = 0.90 +} +# b_gangca #Gangcha +9410 ={ + winter_severity_bias = 0.90 +} +## c_gerqen +# b_qabqa #Qiabuqia +9423 ={ + winter_severity_bias = 0.90 +} +# b_changzhi #Jiangxigou +9426 ={ + winter_severity_bias = 0.90 +} +# b_haeyan #Haiyan +9411 ={ + winter_severity_bias = 0.90 +} +## c_xigortang #Xinghai +# b_xigortang #Heyuan +9427 ={ + winter_severity_bias = 0.90 +} +# b_namtang #Hekou +9428 ={ + winter_severity_bias = 0.90 +} +## c_derlenka #Delingha/Delhihot +# b_derlenka #Delingha/Delhihot +9399 ={ + winter_severity_bias = 0.90 +} +# b_conak #Halahu +9468 ={ + winter_severity_bias = 0.90 +} +# b_ngor #Suli +9408 ={ + winter_severity_bias = 0.90 +} +## c_ulam #Ulan +# b_ulam #Ulan +9404 ={ + winter_severity_bias = 0.90 +} +# b_cakha #Chaka +9405 ={ + winter_severity_bias = 0.90 +} +## c_tuulain #Dulan +# b_tuulain #Dulan +9403 ={ + winter_severity_bias = 0.90 +} +# b_balung_dulan #Balong +9402 ={ + winter_severity_bias = 0.90 +} +### d_nagormo #Golmud/Ge'ermu +## c_nagormo #Golmud/Ge'ermu +# b_nagormo #Golmud/Ge'ermu +9396 ={ + winter_severity_bias = 0.70 +} +# b_dagelhe #Dagele +9400 ={ + winter_severity_bias = 0.70 +} +# b_zhiteu #Xitieshan +9398 ={ + winter_severity_bias = 0.70 +} +## c_hohaseco #Kusai +# b_hohaseco #Kusai +9369 ={ + winter_severity_bias = 0.70 +} +# b_ragbangadung #Kanba'angridong +9388 ={ + winter_severity_bias = 0.70 +} +## c_lenghu #Lenghu +# b_lenghu #Lenghu +9395 ={ + winter_severity_bias = 0.70 +} +# b_urtmoron #Wutumeiren +9394 ={ + winter_severity_bias = 0.70 +} +# b_qaidam #Chaidan +9397 ={ + winter_severity_bias = 0.70 +} +## c_mangnai #Mang'ai +# b_mangnai #Mang'ai +9393 ={ + winter_severity_bias = 0.70 +} +# b_bokalik #Bukadaban +9392 ={ + winter_severity_bias = 0.70 +} +## c_kumkol #Kumukuli +# b_ayakkum #Ayakkum +9389 ={ + winter_severity_bias = 0.70 +} +# b_aqqikkol #Aqqikkol +9390 ={ + winter_severity_bias = 0.70 +} +# b_kytkol #Kytkol +9391 ={ + winter_severity_bias = 0.70 +} +### d_amdo +## c_amdo +# b_amdo +9355 ={ + winter_severity_bias = 0.90 +} +# b_gangnyi +9356 ={ + winter_severity_bias = 0.90 +} +# b_sibnak_chenchungo +9357 ={ + winter_severity_bias = 0.90 +} +## c_nyainrong +# b_nyainrong +9354 ={ + winter_severity_bias = 0.90 +} +# b_marrong +9358 ={ + winter_severity_bias = 0.90 +} +## c_yenshipin +# b_yenshipin +9360 ={ + winter_severity_bias = 0.90 +} +# b_changco +9359 ={ + winter_severity_bias = 0.90 +} +## c_dangla +# b_dangla +9370 ={ + winter_severity_bias = 0.90 +} +# b_marchu +9362 ={ + winter_severity_bias = 0.90 +} +# b_quemoco +9361 ={ + winter_severity_bias = 0.90 +} +## c_aqenganggyai +# b_aqenganggyai +9368 ={ + winter_severity_bias = 0.90 +} +# b_ulenulaco +9364 ={ + winter_severity_bias = 0.90 +} +# b_drakbuk +9372 ={ + winter_severity_bias = 0.90 +} +## c_chumarho +# b_chumarho +9373 ={ + winter_severity_bias = 0.90 +} +# b_nengyi +9371 ={ + winter_severity_bias = 0.90 +} +### d_zadoi +## c_zadoi +# b_qapugtang +9378 ={ + winter_severity_bias = 0.90 +} +# b_ato +9377 ={ + winter_severity_bias = 0.90 +} +# b_mukzhung +9379 ={ + winter_severity_bias = 0.90 +} +## c_trandam +# b_trandam +9375 ={ + winter_severity_bias = 0.90 +} +# b_damzhung +9376 ={ + winter_severity_bias = 0.90 +} +# b_toma +9374 ={ + winter_severity_bias = 0.90 +} +## c_zhidoi +# b_gyaijepozhangge +9382 ={ + winter_severity_bias = 0.90 +} +# b_drakgur +9381 ={ + winter_severity_bias = 0.90 +} +# b_zokya +9380 ={ + winter_severity_bias = 0.90 +} +### d_qumarleb +## c_qumarleb +# b_qumarleb +9385 ={ + winter_severity_bias = 0.90 +} +# b_chikdril +9387 ={ + winter_severity_bias = 0.90 +} +## c_chindu +# b_triwang +9383 ={ + winter_severity_bias = 0.90 +} +# b_damda +9384 ={ + winter_severity_bias = 0.90 +} +## c_ngoring +# b_ngoring +9401 ={ + winter_severity_bias = 0.90 +} +# b_mato +9386 ={ + winter_severity_bias = 0.90 +} + +#### k_gyalrong +### d_gyalrong +## c_barkam #Ma'erkang/Muerkvua +# b_barkam #Ma'erkang/Muerkvua +9463 ={ + winter_severity_bias = 0.90 +} +# b_rongbur #Ribu +9462 ={ + winter_severity_bias = 0.90 +} +# b_zamtang #Rangtang +9461 ={ + winter_severity_bias = 0.90 +} +## c_ngawa #Aba/Ggabba +# b_soxiq #Hezhi +9452 ={ + winter_severity_bias = 0.90 +} +# b_ngawa +9451 ={ + winter_severity_bias = 0.90 +} +# b_khyungchu #Hongyuan +9455 ={ + winter_severity_bias = 0.90 +} +## c_maowun #Mao/Shgvini +# b_maowun #Fengyi/Shgvini +9458 ={ + winter_severity_bias = 0.90 +} +# b_sumshul #Diexi +9459 ={ + winter_severity_bias = 0.90 +} +# b_wunchoin #Wenchuan +9460 ={ + winter_severity_bias = 0.90 +} +## c_sungqu #Songpan +# b_sungqu #Songpan +9456 ={ + winter_severity_bias = 0.90 +} +# b_choqu #Heishui/Kezheb +9457 ={ + winter_severity_bias = 0.90 +} +## c_zoige #Ruo'ergai +# b_zoige #Ruo'ergai +9453 ={ + winter_severity_bias = 0.90 +} +# b_yunglro #Jiuzhaigou +9454 ={ + winter_severity_bias = 0.90 +} +## c_quqen #Jinchuan +# b_quqen #Jinchuan +9464 ={ + winter_severity_bias = 0.90 +} +# b_kharsa #Kasa +9467 ={ + winter_severity_bias = 0.90 +} +# b_zainlha #Xiaojin +9466 ={ + winter_severity_bias = 0.90 +} +# b_trashingling #Li/Pauxugv +9465 ={ + winter_severity_bias = 0.90 +} +### d_chakla +## c_chakla +# b_darzedo +9330 ={ + winter_severity_bias = 0.90 +} +# b_jagsam +9329 ={ + winter_severity_bias = 0.90 +} +# b_shade +9332 ={ + winter_severity_bias = 0.90 +} +# b_rongzhag +9333 ={ + winter_severity_bias = 0.90 +} +## c_lhagang +# b_lhagang +9331 ={ + winter_severity_bias = 0.90 +} +# b_gyezil +9328 ={ + winter_severity_bias = 0.90 +} +## c_dawu +# b_dawu +9334 ={ + winter_severity_bias = 0.90 +} +# b_nyatsho +9335 ={ + winter_severity_bias = 0.90 +} +# b_draggo +9337 ={ + winter_severity_bias = 0.90 +} +## c_sertar +# b_sertar +9342 ={ + winter_severity_bias = 0.90 +} +# b_larung +9341 ={ + winter_severity_bias = 0.90 +} +# b_niba +9338 ={ + winter_severity_bias = 0.90 +} +### d_golog +## c_maqen +# b_maqen +9446 ={ + winter_severity_bias = 0.90 +} +# b_gade +9447 ={ + winter_severity_bias = 0.90 +} +## c_madoi +# b_madoi +9429 ={ + winter_severity_bias = 0.90 +} +# b_dzogenrabar +9430 ={ + winter_severity_bias = 0.90 +} +# b_machu +9431 ={ + winter_severity_bias = 0.90 +} +## c_baima +# b_seretang #Baima +9449 ={ + winter_severity_bias = 0.90 +} +# b_gyumai #Darlag +9448 ={ + winter_severity_bias = 0.90 +} +# b_jigzhi +9450 ={ + winter_severity_bias = 0.90 +} +### d_malho #Huangnan +## c_rebgong #Tongren +# b_rebgong #Tongren +9434 ={ + winter_severity_bias = 0.90 +} +# b_jainca #Jainzha +9424 ={ + winter_severity_bias = 0.90 +} +# b_triga #Guide +9425 ={ + winter_severity_bias = 0.90 +} +## c_mangra #Guinan +# b_mangra #Guinan +9432 ={ + winter_severity_bias = 0.90 +} +# b_gabasumdo #Tongde +9433 ={ + winter_severity_bias = 0.90 +} +## c_zekog #Zeku +# b_zekog #Zeku +9435 ={ + winter_severity_bias = 0.90 +} +# b_yegainnyin #Henan +9436 ={ + winter_severity_bias = 0.90 +} +### d_gainlho #Gannan +## c_jone #Zhuoni +# b_jone #Zhouni +9443 ={ + winter_severity_bias = 0.90 +} +# b_linten #Lintan +9442 ={ + winter_severity_bias = 0.90 +} +# b_hzo #Hezuo +9441 ={ + winter_severity_bias = 0.90 +} +## c_sangqu #Xiahe +# b_sangqu #Xiahe +9440 ={ + winter_severity_bias = 0.90 +} +# b_luqu #Luqu +9439 ={ + winter_severity_bias = 0.90 +} +## c_tewo #Diebu +# b_tewo #Diebu +9444 ={ + winter_severity_bias = 0.90 +} +# b_zhugqu #Zhouqu +9445 ={ + winter_severity_bias = 0.90 +} +## c_maqu #Maqu +# b_maqu #Maqu +9437 ={ + winter_severity_bias = 0.90 +} +# b_murje #Muxihe +9438 ={ + winter_severity_bias = 0.90 +} + +#### k_guge +### d_ngari #Guge +## c_tsaparang +# b_tsaparang +9052 ={ + winter_severity_bias = 0.90 +} +# b_tholing +9053 ={ + winter_severity_bias = 0.90 +} +# b_trashigang +9051 ={ + winter_severity_bias = 0.90 +} +# b_busin +9054 ={ + winter_severity_bias = 0.90 +} +## c_kyunglung +# b_kyunglung +9055 ={ + winter_severity_bias = 0.90 +} +# b_monicer +9086 ={ + winter_severity_bias = 0.90 +} +## c_gar +# b_gar +9056 ={ + winter_severity_bias = 0.90 +} +# b_zoco +9057 ={ + winter_severity_bias = 0.90 +} +## c_gegyai +# b_gegyai +9058 ={ + winter_severity_bias = 0.90 +} +# b_xungba +9059 ={ + winter_severity_bias = 0.90 +} +# b_chaka +9060 ={ + winter_severity_bias = 0.90 +} +## c_gerze +# b_gerze +9061 ={ + winter_severity_bias = 0.90 +} +# b_dongco +9062 ={ + winter_severity_bias = 0.90 +} +# b_chagboco +9064 ={ + winter_severity_bias = 0.90 +} +## c_gomoco +# b_gomoco +9063 ={ + winter_severity_bias = 0.90 +} +# b_burogco +9065 ={ + winter_severity_bias = 0.90 +} +### d_kinnaur +## c_kamru +# b_kamru +9050 ={ + winter_severity_bias = 0.90 +} +# b_kalpa +9049 ={ + winter_severity_bias = 0.90 +} +# b_poo +9048 ={ + winter_severity_bias = 0.90 +} +# b_nako +9044 ={ + winter_severity_bias = 0.90 +} +## c_dhankar +# b_dhankar +9046 ={ + winter_severity_bias = 0.90 +} +# b_tabo +9045 ={ + winter_severity_bias = 0.90 +} +# b_kardang +9047 ={ + winter_severity_bias = 0.90 +} +### d_purang +## c_purang +# b_teglakar +9068 ={ + winter_severity_bias = 0.90 +} +# b_simbiling +9067 ={ + winter_severity_bias = 0.90 +} +# b_hor +9069 ={ + winter_severity_bias = 0.90 +} +## c_cuonaco +# b_cuonaco +9070 ={ + winter_severity_bias = 0.90 +} +# b_argogco +9071 ={ + winter_severity_bias = 0.90 +} +## c_lunggar +# b_lunggar +9074 ={ + winter_severity_bias = 0.90 +} +# b_ringtor +9072 ={ + winter_severity_bias = 0.90 +} +# b_barma +9073 ={ + winter_severity_bias = 0.90 +} +## c_zhongba +# b_labrang +9075 ={ + winter_severity_bias = 0.90 +} +# b_baryang +9076 ={ + winter_severity_bias = 0.90 +} +# b_penchi +9077 ={ + winter_severity_bias = 0.90 +} +# b_yagra +9078 ={ + winter_severity_bias = 0.90 +} +## c_manthang +# b_manthang +9079 ={ + winter_severity_bias = 0.80 +} +# b_muktinath +9080 ={ + winter_severity_bias = 0.80 +} +# b_dolpo +9085 ={ + winter_severity_bias = 0.80 +} +## c_coqen +# b_coqen +9066 ={ + winter_severity_bias = 0.90 +} +# b_qulho +9202 ={ + winter_severity_bias = 0.90 +} +# b_gyesarco +9084 ={ + winter_severity_bias = 0.90 +} + +#### k_maryul +### d_ladakh +## c_leh +# b_leh +9002 ={ + winter_severity_bias = 0.90 +} +# b_shey +9003 ={ + winter_severity_bias = 0.90 +} +# b_khalatse +9004 ={ + winter_severity_bias = 0.90 +} +# b_tangtse +9005 ={ + winter_severity_bias = 0.90 +} +## c_demchok +# b_demchok +9006 ={ + winter_severity_bias = 0.90 +} +# b_hanle +9007 ={ + winter_severity_bias = 0.90 +} +# b_chusul +9008 ={ + winter_severity_bias = 0.90 +} +## c_diskit +# b_diskit +9009 ={ + winter_severity_bias = 0.90 +} +# b_panamik +9010 ={ + winter_severity_bias = 0.90 +} +# b_turtuk +9011 ={ + winter_severity_bias = 0.90 +} +# b_dipsang +9012 ={ + winter_severity_bias = 0.90 +} +### d_zanskar +## c_padum +# b_padum +9013 ={ + winter_severity_bias = 0.90 +} +# b_zangla +9014 ={ + winter_severity_bias = 0.90 +} +# b_lingshet +9015 ={ + winter_severity_bias = 0.90 +} +## c_darcha +# b_darcha +9016 ={ + winter_severity_bias = 0.90 +} +# b_karzok +9017 ={ + winter_severity_bias = 0.90 +} +## c_purig +# b_purig +9018 ={ + winter_severity_bias = 0.90 +} +# b_dras +9019 ={ + winter_severity_bias = 0.90 +} +### d_baltiyul # Baltistan +## c_skardu +# b_skardu +9020 ={ + winter_severity_bias = 0.90 +} +# b_roundu +9021 ={ + winter_severity_bias = 0.90 +} +# b_tolti +9022 ={ + winter_severity_bias = 0.90 +} +# b_gultari +9023 ={ + winter_severity_bias = 0.90 +} +## c_shigar +# b_shigar +9026 ={ + winter_severity_bias = 0.90 +} +# b_askole +9027 ={ + winter_severity_bias = 0.90 +} +## c_khaplu +# b_khaplu +9028 ={ + winter_severity_bias = 0.90 +} +# b_haldi +9029 ={ + winter_severity_bias = 0.90 +} +### d_aksai_chin +## c_khurnak +# b_khurnak +9030 ={ + winter_severity_bias = 0.90 +} +# b_nischu +9031 ={ + winter_severity_bias = 0.90 +} +# b_sumna +9032 ={ + winter_severity_bias = 0.90 +} +## c_thaldat +# b_thaldat +9033 ={ + winter_severity_bias = 0.90 +} +# b_sumnal +9034 ={ + winter_severity_bias = 0.90 +} +## c_sumdo +# b_sumdo +9035 ={ + winter_severity_bias = 0.90 +} +# b_chungtash +9036 ={ + winter_severity_bias = 0.90 +} +### d_rutog +## c_rutog +# b_rutog +9037 ={ + winter_severity_bias = 0.90 +} +# b_risum +9038 ={ + winter_severity_bias = 0.90 +} +# b_rebang +9039 ={ + winter_severity_bias = 0.90 +} +# b_changmar +9040 ={ + winter_severity_bias = 0.90 +} +## c_memar +# b_memar +9041 ={ + winter_severity_bias = 0.90 +} +# b_bangdag +9042 ={ + winter_severity_bias = 0.90 +} +# b_bairab +9043 ={ + winter_severity_bias = 0.90 +} + +#### k_lhomon +### d_bumthang +## c_bumthang +# b_bumthang +9145 ={ + winter_severity_bias = 0.75 +} +# b_lhuentse +9146 ={ + winter_severity_bias = 0.75 +} +# b_kurtoed +9179 ={ + winter_severity_bias = 0.75 +} +## c_kurmaed +# b_kurmaed +9149 ={ + winter_severity_bias = 0.50 +} +# b_pemagatsel +9148 ={ + winter_severity_bias = 0.30 +} +# b_mongar +9147 ={ + winter_severity_bias = 0.50 +} +## c_trongsa +# b_trongsa +9143 ={ + winter_severity_bias = 0.50 +} +# b_zhemgang +9144 ={ + winter_severity_bias = 0.30 +} +### d_paro +## c_paro +# b_paro +9137 ={ + winter_severity_bias = 0.60 +} +# b_thimpu +9138 ={ + winter_severity_bias = 0.50 +} +# b_daga +9139 ={ + winter_severity_bias = 0.20 +} +# b_sarpang +9142 ={ + winter_severity_bias = 0.0 +} +## c_punakha +# b_punakha +9140 ={ + winter_severity_bias = 0.75 +} +# b_gasa +9141 ={ + winter_severity_bias = 0.75 +} +## c_daramdin +# b_daramdin +9129 ={ + winter_severity_bias = 0.75 +} +# b_darjeeling +9128 ={ + winter_severity_bias = 0.50 +} +## c_chungthang +# b_chungthang +9133 ={ + winter_severity_bias = 0.75 +} +# b_kalimpong +9134 ={ + winter_severity_bias = 0.50 +} +# b_dromo +9135 ={ + winter_severity_bias = 0.75 +} +### d_monyul +## c_tawang +# b_tawang +9154 ={ + winter_severity_bias = 0.75 +} +# b_morshing +9155 ={ + winter_severity_bias = 0.75 +} +# b_sepla +9156 ={ + winter_severity_bias = 0.75 +} +## c_cona +# b_cona_tibet +9150 ={ + winter_severity_bias = 0.75 +} +# b_nariyong +9151 ={ + winter_severity_bias = 0.75 +} +## c_lhunze +# b_lhunze +9152 ={ + winter_severity_bias = 0.75 +} +# b_yumai +9153 ={ + winter_severity_bias = 0.75 +} +### d_lhoyul +## c_itanagar +# b_itanagar +9157 ={ + winter_severity_bias = 0.75 +} +# b_ziro +9158 ={ + winter_severity_bias = 0.75 +} +# b_daporijo +9159 ={ + winter_severity_bias = 0.75 +} +## c_along +# b_along +9160 ={ + winter_severity_bias = 0.75 +} +# b_mechuka +9161 ={ + winter_severity_bias = 0.75 +} +# b_tuting +9162 ={ + winter_severity_bias = 0.75 +} +## c_mainling +# b_mainling +9170 ={ + winter_severity_bias = 0.75 +} +# b_wolong +9169 ={ + winter_severity_bias = 0.75 +} +## c_pemako +# b_medog +9172 ={ + winter_severity_bias = 0.75 +} +# b_bokthang +9171 ={ + winter_severity_bias = 0.75 +} +# b_yingkiong +9163 ={ + winter_severity_bias = 0.75 +} +### d_dzayul +## c_rima +# b_rima +9175 ={ + winter_severity_bias = 0.75 +} +# b_dzayul +9173 ={ + winter_severity_bias = 0.75 +} +# b_zayu +9174 ={ + winter_severity_bias = 0.75 +} +## c_golag +# b_golag +9176 ={ + winter_severity_bias = 0.75 +} +# b_cawarong +9177 ={ + winter_severity_bias = 0.75 +} +# b_goyu +9178 ={ + winter_severity_bias = 0.75 +} +## c_roing +# b_roing +9165 ={ + winter_severity_bias = 0.75 +} +# b_anini +9164 ={ + winter_severity_bias = 0.75 +} +## c_tezu +# b_tezu +9166 ={ + winter_severity_bias = 0.75 +} +# b_kibithu +9167 ={ + winter_severity_bias = 0.75 +} +# b_hawai +9168 ={ + winter_severity_bias = 0.75 +} + +#### k_xia # Minya/Minyak +### d_xia +## c_xingqing +# b_xingqing #Yinchuan/Iryai +9546 ={ + winter_severity_bias = 0.70 +} +# b_dingzhou #Helan +9544 ={ + winter_severity_bias = 0.70 +} +# b_shizuizi #Shizuishan +9543 ={ + winter_severity_bias = 0.70 +} +# b_dingyuanying #Bayanhot +9536 ={ + winter_severity_bias = 0.70 +} +## c_shunzhou +# b_shunzhou #Qingtongxia +9545 ={ + winter_severity_bias = 0.70 +} +# b_shapotou +9534 ={ + winter_severity_bias = 0.70 +} +# b_xiping +9547 ={ + winter_severity_bias = 0.70 +} +### d_wuluhai +## c_wuluhai +# b_wuluhai +9537 ={ + winter_severity_bias = 0.70 +} +# b_wuyuan +9538 ={ + winter_severity_bias = 0.70 +} +# b_dengkou +9539 ={ + winter_severity_bias = 0.70 +} +## c_wuda +# b_wuda #Ud +9542 ={ + winter_severity_bias = 0.70 +} +# b_zhongcun +9540 ={ + winter_severity_bias = 0.70 +} +# b_wuliji +9541 ={ + winter_severity_bias = 0.70 +} +### d_zhenfan +## c_zhenfan #Minqin/Sogo Khoto +# b_zhenfan #Minqin/Sogo Khoto +9518 ={ + winter_severity_bias = 0.70 +} +# b_jiahe +9519 ={ + winter_severity_bias = 0.70 +} +## c_tenggeli #Tengger +# b_nanhu +9532 ={ + winter_severity_bias = 0.70 +} +# b_chaganbulage +9533 ={ + winter_severity_bias = 0.70 +} +# b_chaogetuhure +9535 ={ + winter_severity_bias = 0.70 +} +## c_alxa +# b_alxa +9509 ={ + winter_severity_bias = 0.70 +} +# b_yabulai +9520 ={ + winter_severity_bias = 0.70 +} +# b_tamusubulage +9549 ={ + winter_severity_bias = 0.70 +} +### d_liangzhou +## c_liangzhou #Wuwei +# b_gulang +9523 ={ + winter_severity_bias = 0.70 +} +# b_liangzhou #Wuwei +9521 ={ + winter_severity_bias = 0.70 +} +# b_huangcheng +9522 ={ + winter_severity_bias = 0.70 +} +## c_fanhe +# b_fanhe #Yongchang +9516 ={ + winter_severity_bias = 0.70 +} +# b_jinchang +9517 ={ + winter_severity_bias = 0.70 +} +## c_dajing +# b_dajing +9525 ={ + winter_severity_bias = 0.70 +} +# b_jingtai +9529 ={ + winter_severity_bias = 0.70 +} +## c_baiyin +# b_baiyin +9531 ={ + winter_severity_bias = 0.70 +} +# b_gaolan +9530 ={ + winter_severity_bias = 0.70 +} +# b_anning +9527 ={ + winter_severity_bias = 0.70 +} +## c_yongdeng +# b_yongdeng +9528 ={ + winter_severity_bias = 0.70 +} +# b_wushengyi +9526 ={ + winter_severity_bias = 0.70 +} +# b_tianzhu +9524 ={ + winter_severity_bias = 0.70 +} +### d_shanzhou +## c_shanzhou +# b_shanzhou #Ping'an +9418 ={ + winter_severity_bias = 0.70 +} +# b_chuankou #Minhe +9417 ={ + winter_severity_bias = 0.70 +} +# b_ledu +9416 ={ + winter_severity_bias = 0.70 +} +# b_gonglung #Huzhu +9415 ={ + winter_severity_bias = 0.70 +} +## c_kuozhou +# b_kuozhou #Hualong +9419 ={ + winter_severity_bias = 0.70 +} +# b_yadzi #Xunhua +9420 ={ + winter_severity_bias = 0.70 +} +### d_qilin +## c_qilin +# b_babao #Qilin +9511 ={ + winter_severity_bias = 0.70 +} +# b_semnyi #Menyuan +9512 ={ + winter_severity_bias = 0.70 +} +## c_yalong +# b_yalong +9490 ={ + winter_severity_bias = 0.70 +} +# b_yeniugou +9497 ={ + winter_severity_bias = 0.70 +} +### d_ganzhou +## c_ganzhou +# b_ganzhou #Zhangye +9513 ={ + winter_severity_bias = 0.70 +} +# b_shandan +9514 ={ + winter_severity_bias = 0.70 +} +# b_minle +9515 ={ + winter_severity_bias = 0.70 +} +## c_linze +# b_linze +9501 ={ + winter_severity_bias = 0.70 +} +# b_ganjun +9500 ={ + winter_severity_bias = 0.70 +} +# b_pingchuan +9503 ={ + winter_severity_bias = 0.70 +} +## c_gaotai +# b_gaotai +9502 ={ + winter_severity_bias = 0.70 +} +# b_sunan +9499 ={ + winter_severity_bias = 0.70 +} +## c_jinta +# b_jinta +9496 ={ + winter_severity_bias = 0.70 +} +# b_xiba +9495 ={ + winter_severity_bias = 0.70 +} +## c_suzhou +# b_jiayuguan +9493 ={ + winter_severity_bias = 0.70 +} +# b_suzhou #Jiuquan +9494 ={ + winter_severity_bias = 0.70 +} +# b_qingshui +9498 ={ + winter_severity_bias = 0.70 +} +## c_yumen +# b_chijin +9491 ={ + winter_severity_bias = 0.70 +} +# b_yumen +9487 ={ + winter_severity_bias = 0.70 +} +# b_huahai +9492 ={ + winter_severity_bias = 0.70 +} +### d_yijinai +## c_yijinai +# b_yijinai #Khara Khoto/Heicheng +9506 ={ + winter_severity_bias = 0.70 +} +# b_juyan #Sogo +9507 ={ + winter_severity_bias = 0.70 +} +## c_wentugaole +# b_wentugaole +9510 ={ + winter_severity_bias = 0.70 +} +# b_gurinai +9548 ={ + winter_severity_bias = 0.70 +} +## c_heihe +# b_jinguan +9505 ={ + winter_severity_bias = 0.70 +} +# b_heihe +9504 ={ + winter_severity_bias = 0.70 +} +## c_mazongshan +# b_mazongshan +9489 ={ + winter_severity_bias = 0.70 +} +# b_saihantaolai +9508 ={ + winter_severity_bias = 0.70 +} +### d_guiyi #Guazhou +## c_guazhou +# b_anxi #Guazhou +9482 ={ + winter_severity_bias = 0.70 +} +# b_guazhou #Suoyang +9481 ={ + winter_severity_bias = 0.70 +} +# b_yulin +9478 ={ + winter_severity_bias = 0.70 +} +## c_changma +# b_changma +9485 ={ + winter_severity_bias = 0.70 +} +# b_hedong +9486 ={ + winter_severity_bias = 0.70 +} +## c_hongliuyuan +# b_hongliuyuan +9483 ={ + winter_severity_bias = 0.70 +} +# b_qidun +9488 ={ + winter_severity_bias = 0.70 +} +# b_xihu +9484 ={ + winter_severity_bias = 0.70 +} +## c_shazhou +# b_shazhou #Dunhuang/Dukhan +9476 ={ + winter_severity_bias = 0.70 +} +# b_mogao +9477 ={ + winter_severity_bias = 0.70 +} +## c_yumenguan +# b_yumenguan +9474 ={ + winter_severity_bias = 0.70 +} +# b_yangguan +9473 ={ + winter_severity_bias = 0.70 +} +# b_akeqi +9475 ={ + winter_severity_bias = 0.70 +} +## c_subei +# b_subei +9479 ={ + winter_severity_bias = 0.70 +} +# b_yanchiwan +9480 ={ + winter_severity_bias = 0.70 +} +### d_aksay +## c_aksay +# b_aksay_tibet #Gonghe +9472 ={ + winter_severity_bias = 0.70 +} +# b_hahaeci +9471 ={ + winter_severity_bias = 0.70 +} +## c_haltang +# b_haltang #Dahaleteng +9469 ={ + winter_severity_bias = 0.70 +} +# b_takoerpasitao #Jianshe +9470 ={ + winter_severity_bias = 0.70 +} + +##### e_andong +#### k_shiwei +### d_SW_heicheziguo +## c_SW_zhongcheziguo +# b_FIC_Mong_Zuunbuir +11570 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Xisaiyin +11571 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Beiheisha +11577 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Nanchezi +11576 ={ + winter_severity_bias = 1.00 +} +## c_SW_dongcheziguo +# b_FIC_Mong_Jiasaihe +11572 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Dongheisha +11573 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Chezier +11574 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Kharulagai +11575 ={ + winter_severity_bias = 1.00 +} +## c_SW_hulunbuir +# b_FIC_Mong_Oyuhulun +11623 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Khailangol +11624 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Kharbuir +11625 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Khalkagol +11626 ={ + winter_severity_bias = 1.00 +} +## c_SW_hongxingan +# b_Liao_Wuzhou +11724 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Liquan +11723 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Wuluan +11722 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Shangwulu +11656 ={ + winter_severity_bias = 0.90 +} +### d_SW_mengwuguo +## c_SW_mengwuo +# b_FIC_Mong_Banukhol +11609 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Kamaraekh +11611 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Ilkuriuul +11612 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Xiailehuli +11613 ={ + winter_severity_bias = 1.00 +} +## c_SW_heiergun +# b_FIC_Mong_Huraalin +11608 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Oyuulvzar +11606 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Emurgol +11607 ={ + winter_severity_bias = 1.00 +} +### d_SW_dashiweiguo +## c_SW_pibeihe +# b_Mong_Pibeihe +11622 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Genhegol +11620 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Olanuur +11621 ={ + winter_severity_bias = 1.00 +} +## c_SW_ergunia +# b_FIC_Mong_Telburgol +11619 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Gangoluul +11617 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Nyurgol +11618 ={ + winter_severity_bias = 1.00 +} +## c_SW_hailar +# b_FIC_Mong_Hailargol +11616 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Gaoxuanya +11614 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Hailarekh +11615 ={ + winter_severity_bias = 1.00 +} +### d_SW_lingxiguo +## c_SW_lingxiguo +# b_FIC_Amur_Jialingxi +11631 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yuancao +11629 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Hurka +11630 ={ + winter_severity_bias = 1.00 +} +## c_SW_heiheguo +# b_FIC_Amur_Beihelin +11627 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Humari +11628 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Mong_Banouhe +11610 ={ + winter_severity_bias = 1.00 +} +## c_SW_powoguo +# b_FIC_Amur_Jiapowo +11632 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Iskenhe +11633 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Ganyijiang +11634 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Ganhejiang +11635 ={ + winter_severity_bias = 1.00 +} +### d_SW_qingxingan +## c_SW_huangtouguo +# b_FIC_Amur_Jiahuangtou +11638 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Caoqiu +11639 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Ganheyang +11637 ={ + winter_severity_bias = 1.00 +} +## c_SW_xinghuangtou +# b_FIC_Amur_Xinener +11640 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Xinganling +11641 ={ + winter_severity_bias = 1.00 +} +## c_SW_nabeiguo +# b_FIC_Amur_Zhongnenjiang +11647 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Baihetudi +11646 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Jindiaotudi +11645 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Bailangtudi +11644 ={ + winter_severity_bias = 1.00 +} +## c_SW_xingnabei +# b_FIC_Amur_Xianbeishan +11642 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Gaocaoer +11643 ={ + winter_severity_bias = 1.00 +} +## c_SW_luotuoguo +# b_FIC_Amur_Jialuotuo +11650 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Jinshujiang +11649 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yalujiang +11648 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Nendadu +11651 ={ + winter_severity_bias = 0.90 +} +### d_SW_ruzheguo +## c_SW_jiqin_hari +# b_Jiqin_Hari +11657 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Jiaruzhe +11658 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Xuduohubo +11659 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Nenshidi +11667 ={ + winter_severity_bias = 0.90 +} +## c_SW_ruzhejiang +# b_FIC_Amur_Ruzhejiang +11661 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Dalukou +11660 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Heyucun +11662 ={ + winter_severity_bias = 0.90 +} +## c_SW_dongruzhe +# b_FIC_Amur_Fanlinan +11665 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Pilutidu +11663 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Nenshuide +11666 ={ + winter_severity_bias = 1.00 +} +### d_SW_puyudao +## c_SW_puyuzhou +# b_Amur_Puyu +11671 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Xipuyu +11670 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Fulunshan +11672 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yemaotudi +11673 ={ + winter_severity_bias = 1.00 +} +## c_SW_damoguo +#b_Amur_Mergen +11680 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Xijiadamo +11678 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Xiaoqiu +11679 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Luhean +11677 ={ + winter_severity_bias = 1.00 +} +## c_SW_shanbeiguo +# b_FIC_Amur_Jiashanbei +11682 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Dongweian +11681 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Nemorjiang +11668 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Jinshuhe +11669 ={ + winter_severity_bias = 1.00 +} +## c_SW_heilonghean +# b_FIC_Amur_Heisenlin +11674 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Linyuan +11675 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yuanlin +11676 ={ + winter_severity_bias = 1.00 +} +### d_SW_sushenguo +## c_SW_suihua +# b_Amur_Suihua +11690 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Lindu +11689 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yingcao +11698 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yingsenlin +11684 ={ + winter_severity_bias = 1.00 +} +## c_SW_heilonglin +# b_FIC_Amur_Heilonglin +11688 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Longcaoan +11687 ={ + winter_severity_bias = 1.00 +} +## c_SW_lupingyuan +# b_FIC_Amur_Lupingyuan +11683 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yemantudi +11685 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Yerencao +11686 ={ + winter_severity_bias = 1.00 +} +## c_SW_fancao +# b_FIC_Amur_Fancao +11699 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Erliuyu +11700 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Cangcao +11701 ={ + winter_severity_bias = 1.00 +} +## c_SW_gonghejiang +# b_FIC_Amur_Gonghejiang +11702 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Dasenlin +11664 ={ + winter_severity_bias = 1.00 +} +#### k_khitan +### d_LIAO_linhuang +## c_LIAO_linhuang +# b_Liao_Linhuang +11709 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Huaizhou +11708 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Songzhanzhou +11710 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Zuzhou +11711 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Yungzhou +11717 ={ + winter_severity_bias = 0.80 +} +## c_LIAO_raozhou +# b_Liao_Raozhou +11712 ={ + winter_severity_bias = 0.90 +} +# b_Liao_Qingzhou +11707 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Xilin +11706 ={ + winter_severity_bias = 0.90 +} +## c_LIAO_ulagaian +# b_FIC_Liao_Ulanulagai +11703 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Ulanuer +11704 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Charnoer +11705 ={ + winter_severity_bias = 0.90 +} +## c_LIAO_longhuazhou +# b_Liao_Longhuazhou +11756 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Jiangshengzhou +11755 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Huopingan +11728 ={ + winter_severity_bias = 0.70 +} +## c_LIAO_heicaoan +# b_FIC_Liao_Matudi +11725 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Baicaoer +11726 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Caoyuanan +11727 ={ + winter_severity_bias = 0.80 +} +## c_LIAO_dalian +# b_FIC_Liao_Dalinuor +11713 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Hongdali +11714 ={ + winter_severity_bias = 0.90 +} +### d_LIAO_zhongjing +## c_LIAO_dading +# b_Liao_Dading +11721 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Enzhou +11720 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Songshanzhou +11719 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Gaozhou +11718 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Fengzhou +11716 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Yikunzhou +11715 ={ + winter_severity_bias = 0.80 +} +## c_LIAO_chaoyang +# b_Liao_Chaoyang +11759 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Chengzhou +11758 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Liping +11760 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Jianzhou +11753 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Wuanzhou +11754 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_jinzhou +# b_Liao_Jinzhou +11774 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Xizhou +11776 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Andefu +11775 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Yizhou3 +11773 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Qianzhou2 +11772 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_liaozhou +# b_Liao_Liaozhou +11765 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Qianzhou +11764 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Suizhou +11766 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Shuangzhou +11771 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_xianzhou +# b_Liao_Xianzhou +11762 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Chuanzhou +11761 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Haibeizhou +11763 ={ + winter_severity_bias = 0.60 +} +### d_LIAO_shangjing +## c_LIAO_wuzhou +# b_Liao_Wuzhou2 +11769 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Weizhou2 +11767 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Fuzhou +11768 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Yuanzhou +11770 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Yizhou2 +11757 ={ + winter_severity_bias = 0.70 +} +## c_LIAO_taizhou +# b_Amur_Taizhou +11654 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Amur_Jianali +11652 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Amur_Nalidu +11653 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Amur_Hongan +11655 ={ + winter_severity_bias = 0.80 +} +## c_LIAO_ningzhou +# b_Liao_Ningzhou +11733 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Fengzhou2 +11732 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Taonan +11731 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Chunzhou +11734 ={ + winter_severity_bias = 0.70 +} +## c_LIAO_changchun +# b_Liao_Changchun +11735 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Yumitudi +11737 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Heihorqin +11738 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Shuangliao +11740 ={ + winter_severity_bias = 0.70 +} +## c_LIAO_horqinan +# b_FIC_Liao_Horqin +11739 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Bayintailai +11729 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Zhanyu +11730 ={ + winter_severity_bias = 0.70 +} +### d_LIAO_dongjing +## c_LIAO_shenyang +# b_Liao_Shenyang +11785 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Tangzhou +11784 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Liaoyang +11786 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Haizhou +11787 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Yaozhou +11788 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_yinzhou +# b_Liao_Yinzhou +11782 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Qizhou +11781 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Guangzhou +11783 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Huangcaocun +11803 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_zhenzhou +# b_Liao_Zhenzhou +11790 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Fuping +11791 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Suning +11792 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Biliujiang +11793 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_diezhou +# b_Liao_Diezhou +11794 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Tongzhou +11789 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Kaizhou +11795 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Dandong +11796 ={ + winter_severity_bias = 0.60 +} +## c_LIAO_guidezhou +# b_Liao_Guidezhou +11799 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Xiyuan +11798 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Fengcheng +11800 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Shaozijiang +11797 ={ + winter_severity_bias = 0.60 +} + +#### k_balhae +### d_BAL_parhae +## c_BAL_yongcheon +# b_Liao_Shangjing +11828 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Bozhou +11827 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Daguokuishan +11818 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Mudanjiang +11825 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Qingquan +11853 ={ + winter_severity_bias = 0.80 +} +## c_BAL_west_hyeondeok +# b_Liao_Zhongjing +11834 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Tangzhou2 +11824 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Nansuan +11822 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Erdaojiang +11823 ={ + winter_severity_bias = 0.80 +} +## c_BAL_east_hyeondeok +# b_Liao_Xingzhou +11838 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Helong +11839 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Yanji +11832 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Luzhou +11833 ={ + winter_severity_bias = 0.80 +} +## c_BAL_dongju +# b_Liao_Tongzhou2 +11830 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Tongan +11852 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Sushen +11829 ={ + winter_severity_bias = 0.80 +} +## c_BAL_yeongju +#b_Liao_Yingzhou +11817 ={ + winter_severity_bias = 0.80 +} +#b_FIC_Liao_Yingan +11826 ={ + winter_severity_bias = 0.80 +} +### d_BAL_moe_su +## c_BAL_makhil +# b_Liao_Mozhou +11813 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Gaozhou2 +11814 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Nanmoan +11929 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Longfengshan +11819 ={ + winter_severity_bias = 0.80 +} +## c_BAL_west_makhil +# b_Liao_Ningjiang +11812 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Moedu +11810 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Ximoan +11811 ={ + winter_severity_bias = 0.80 +} +## c_BAL_sokju +# b_Liao_Suzhou2 +11821 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Suping +11820 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Yongji +11747 ={ + winter_severity_bias = 0.80 +} +### d_BAL_buyeo +## c_BAL_fuzhou +# b_Liao_Fuzhou2 +11779 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Suzhou +11777 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Tonghua +11778 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Xianzhou2 +11780 ={ + winter_severity_bias = 0.70 +} +## c_BAL_changchun +# b_Liao_Changchun2 +11746 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Weizhou +11743 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Binzhou +11745 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Xiangzhou +11744 ={ + winter_severity_bias = 0.70 +} +## c_BAL_yizhou +# b_Liao_Yizhou +11736 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Fengzhou3 +11741 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Jizhou +11742 ={ + winter_severity_bias = 0.70 +} +## c_BAL_xinzhou +# b_Liao_Xinzhou +11752 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Fuyunan +11749 ={ + winter_severity_bias = 0.70 +} +### d_BAL_amnok_jangryeong +## c_BAL_east_amnok +# b_Liao_Xijing +11806 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Luzhou2 +11840 ={ + winter_severity_bias = 0.70 +} +# b_Liao_Fusong +11835 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Changbaishan +11836 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Tianchi +11837 ={ + winter_severity_bias = 0.70 +} +## c_BAL_west_amnok +# b_Liao_Zhengzhou +11802 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Kuandianzi +11801 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Huanzhou +11805 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Yaluan +11807 ={ + winter_severity_bias = 0.60 +} +## c_BAL_east_jangryeong +# b_Liao_Changling +11809 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Quliuan +11748 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Beichang +11750 ={ + winter_severity_bias = 0.70 +} +## c_BAL_west_jangryeong +# b_Liao_Hezhou +11808 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Hongfucun +11751 ={ + winter_severity_bias = 0.70 +} +# b_FIC_Liao_Baichang +11804 ={ + winter_severity_bias = 0.70 +} +### d_BAL_southern_balhae +## c_BAL_namhae +# b_Liao_Nanjing +11842 ={ + winter_severity_bias = 0.60 +} +# b_Liao_Tianqing +11841 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Nanhaikou +11843 ={ + winter_severity_bias = 0.60 +} +## c_BAL_fengzhou +# b_Liao_Fengzhou4 +11844 ={ + winter_severity_bias = 0.60 +} +# b_FIC_Liao_Nandongkou +11845 ={ + winter_severity_bias = 0.60 +} +## c_BAL_southyongwon +# b_Liao_Dongjing +11848 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Helan +11846 ={ + winter_severity_bias = 0.80 +} +# b_Liao_Wanhaifu +11847 ={ + winter_severity_bias = 0.80 +} +## c_BAL_northyongwon +# b_Liao_Lungyuanfu +11849 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Huanghekou +11850 ={ + winter_severity_bias = 0.80 +} +# b_FIC_Liao_Tumen +11831 ={ + winter_severity_bias = 0.80 +} +### d_BAL_cheolli +## c_BAL_delizhen +# b_Liao_Delizhen +11816 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Liao_Xitielian +11815 ={ + winter_severity_bias = 0.90 +} +# b_FIC_EMan_Zhongtieli +11855 ={ + winter_severity_bias = 0.90 +} +## c_BAL_huligai +# b_EMan_Huligai +11854 ={ + winter_severity_bias = 0.90 +} +# b_FIC_EMan_Hulilusean +11857 ={ + winter_severity_bias = 0.90 +} +# b_FIC_EMan_Qiligashan +11861 ={ + winter_severity_bias = 0.90 +} +## c_BAL_west_cheolli +# b_FIC_Amur_Dahedu +11696 ={ + winter_severity_bias = 0.90 +} +# b_FIC_Amur_Henghetieli +11697 ={ + winter_severity_bias = 0.90 +} +### d_BAL_hoewon +## c_BAL_dazhou +# b_Amur_Dazhou +11695 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Haixidu +11692 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Helincun +11694 ={ + winter_severity_bias = 1.00 +} +## c_BAL_ilanshan +# b_FIC_Amur_Ilanshan +11691 ={ + winter_severity_bias = 1.00 +} +# b_FIC_Amur_Senlincun +11693 ={ + winter_severity_bias = 1.00 +} +## c_BAL_south_hoewon +# b_FIC_EMan_Baihuaicun +11858 ={ + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Songhuajiang +11859 ={ + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Huaicao +11860 ={ + winter_severity_bias = 1.00 +} +## c_BAL_central_hoewon +# b_FIC_EMan_Dacun +11864 ={ + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Huanghuai +11863 ={ + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Beihuaicun +11865 ={ + winter_severity_bias = 1.00 +} +## c_BAL_east_hoewon +# b_FIC_EMan_Naolijiang +11868 ={ + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Bixinjiang +11895 ={ + winter_severity_bias = 1.00 +} +### d_BAL_dongpyeong +## c_BAL_dongpyeong_yizhou +# b_EMan_Yizhou +11870 ={ + winter_severity_bias = 0.90 +} +# b_FIC_EMan_Beidongan +11869 ={ + winter_severity_bias = 0.90 +} +# b_FIC_EMan_Heihubo +11862 ={ + winter_severity_bias = 0.90 +} +## c_BAL_jixi +# b_EMan_Jixi +11871 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Dongxian +11872 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Dongying +11856 ={ + winter_severity_bias = 0.80 +} +### d_BAL_yeojintang +## c_BAL_solbin +# b_Liao_Jianzhou2 +11851 ={ + winter_severity_bias = 0.80 +} +# b_EMan_Huazhou +11913 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Shuaibinan +11914 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Nanxingkai +11873 ={ + winter_severity_bias = 0.80 +} +## c_BAL_jeongni +# b_EMan_Dingzhou +11911 ={ + winter_severity_bias = 0.80 +} +# b_EMan_Yongmingcheng +11912 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Dinglian +11910 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Shanganjugu +11909 ={ + winter_severity_bias = 0.80 +} +## c_BAL_anbyeon +# b_EMan_Anzhou +11905 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Silata_an +11906 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Luseqiu +11907 ={ + winter_severity_bias = 0.80 +} +## c_BAL_north_anbyeon +# b_FIC_EMan_Beiqiulin +11902 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Zhenzhuhai +11904 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Heizhuhai +11903 ={ + winter_severity_bias = 0.80 +} +### d_BAL_anwon +## c_BAL_ningzhou +# b_EMan_Ningzhou +11899 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Qingshancun +11900 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Huangyuan +11901 ={ + winter_severity_bias = 0.80 +} +## c_BAL_supin +# b_EMan_Supin +11876 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Xuduohe +11874 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Dongxingkai +11875 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Sanhean +11908 ={ + winter_severity_bias = 0.80 +} +## c_BAL_north_anwon +# b_FIC_EMan_Alimenyang +11896 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Zhonganyuan +11897 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Dongning +11898 ={ + winter_severity_bias = 0.80 +} +## c_BAL_heuksu_anwon +# b_FIC_EMan_Yozejiang +11890 ={ + winter_severity_bias = 0.80 +} +# b_FIC_EMan_Shuilinhai +11889 ={ + winter_severity_bias = 0.80 +} + + + +#### k_amur +### d_EMan_boli +## c_EMan_boli +# b_EMan_Boli +11877 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Nanshuian +11866 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Alimenan +11867 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Khorhe +11894 = { + winter_severity_bias = 1.00 +} + +## c_EMan_molihewen +# b_EMan_Molihewen +11881 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Shangkhor +11880 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Heishanan +11882 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Bolon +12479 = { + winter_severity_bias = 1.00 +} + +## c_EMan_mohean +# b_FIC_EMan_Mohean +11893 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Wuguijiang +11878 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Yemanshui +11879 = { + winter_severity_bias = 1.00 +} + +### d_EMan_sikhotebei ################################### +## c_EMan_yerenhe +# b_FIC_EMan_Yerenhe +11892 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Elejiang +11888 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Bixinshang +11891 = { + winter_severity_bias = 1.00 +} + +## c_EMan_wuguihai +# b_FIC_EMan_Wuguihai +11887 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Shuishanpu +11885 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Xiaoheijiang +11886 = { + winter_severity_bias = 1.00 +} + +## c_EMan_heishuiyang +# b_FIC_EMan_Heishuiyang +11884 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Senkele +12455 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Melersuki +12456 = { + winter_severity_bias = 1.00 +} + +## c_EMan_beihean +# b_FIC_EMan_Beihean +11883 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Silbaki +12457 = { + winter_severity_bias = 1.00 +} + + + +### d_EMan_samagero +## c_EMan_tudali +# b_FIC_EMan_Tudali +12478 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Evoron +12476 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Bureya +12477 = { + winter_severity_bias = 1.00 +} + +## c_EMan_yam_alin +# b_FIC_EMan_Yam_Alin +12472 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Imelen +12471 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Dusse_Alin +12473 = { + winter_severity_bias = 1.00 +} + +## c_EMan_khadul +# b_FIC_EMan_Khadul +12474 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Chayatin +12475 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Henkon +12464 = { + winter_severity_bias = 1.00 +} + +## c_EMan_kerin +# b_FIC_EMan_Kerin +12467 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Pilda +12466 = { + winter_severity_bias = 1.00 +} + + + +### d_EMan_nivkhia +## c_EMan_nurgan +# b_EMan_Nurgan +12460 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Kamer +12458 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Ekiti +12459 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Chagal +12465 = { + winter_severity_bias = 1.00 +} + +## c_EMan_amgun +# b_FIC_EMan_Amgun +12463 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Chlya +12461 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Orel +12462 = { + winter_severity_bias = 1.00 +} + +## c_EMan_tugur +# b_FIC_EMan_Tugur +12469 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Usalgin +12468 = { + winter_severity_bias = 1.00 +} +# b_FIC_EMan_Ymila +12470 = { + winter_severity_bias = 1.00 +} + +### d_EMan_amar +## c_EMan_nimen +# b_fic_EMan_oronmu +12436 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_nimen +12437 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_hara +12438 = { + winter_severity_bias = 1.00 +} + +## c_EMan_vanda +# b_fic_EMan_konnovanda +10489 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_vandakin +12439 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_hulavanda +10490 = { + winter_severity_bias = 1.00 +} + +## c_EMan_murkonno +# b_fic_EMan_pichan +10491 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_khimin +10492 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_bira +10493 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_chulabira +10494 = { + winter_severity_bias = 1.00 +} + +## c_EMan_choripi +# b_fic_EMan_uada_alin +12480 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_choripi +12481 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_kuru +12482 = { + winter_severity_bias = 1.00 +} + +## c_EMan_urmi +# b_fic_EMan_urmi +10495 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_Nurgan +10496 = { + winter_severity_bias = 1.00 +} + +### d_EMan_bureya +## c_EMan_turma +# b_fic_EMan_turma +12435 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_uroure +12434 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_molamu +10499 = { + winter_severity_bias = 1.00 +} + +## c_EMan_urehokto +# b_fic_EMan_kulikansiggu +10500 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_umilimo +10497 = { + winter_severity_bias = 1.00 +} + +## c_EMan_birija +# b_fic_EMan_birija +12433 = { + winter_severity_bias = 1.00 +} +# b_fic_EMan_birigugda +12432 = { + winter_severity_bias = 1.00 +} + + +############# +# SEA ZONES +############# +# European Seas +632 = { + winter_severity_bias = 0.0 +} +633 = { + winter_severity_bias = 0.0 +} +634 = { + winter_severity_bias = 0.0 +} +635 = { + winter_severity_bias = 0.0 +} +636 = { + winter_severity_bias = 0.0 +} +637 = { + winter_severity_bias = 0.0 +} +638 = { + winter_severity_bias = 0.0 +} +639 = { + winter_severity_bias = 0.0 +} +640 = { + winter_severity_bias = 0.0 +} +641 = { + winter_severity_bias = 0.0 +} +643 = { + winter_severity_bias = 0.0 +} +644 = { + winter_severity_bias = 0.0 +} +645 = { + winter_severity_bias = 0.0 +} +646 = { + winter_severity_bias = 0.0 +} +647 = { + winter_severity_bias = 0.0 +} +648 = { + winter_severity_bias = 0.0 +} +649 = { + winter_severity_bias = 0.0 +} +661 = { + winter_severity_bias = 0.0 +} +662 = { + winter_severity_bias = 0.0 +} +663 = { + winter_severity_bias = 0.0 +} +664 = { + winter_severity_bias = 0.0 +} +665 = { + winter_severity_bias = 0.0 +} +666 = { + winter_severity_bias = 0.0 +} +667 = { + winter_severity_bias = 0.0 +} +683 = { + winter_severity_bias = 0.0 +} +684 = { + winter_severity_bias = 0.0 +} +685 = { + winter_severity_bias = 0.0 +} +686 = { + winter_severity_bias = 0.0 +} +687 = { + winter_severity_bias = 0.0 +} +688 = { + winter_severity_bias = 0.0 +} +690 = { + winter_severity_bias = 0.0 +} +691 = { + winter_severity_bias = 0.0 +} +692 = { + winter_severity_bias = 0.0 +} +693 = { + winter_severity_bias = 0.0 +} +694 = { + winter_severity_bias = 0.0 +} +695 = { + winter_severity_bias = 0.0 +} +696 = { + winter_severity_bias = 0.0 +} +697 = { + winter_severity_bias = 0.0 +} +698 = { + winter_severity_bias = 0.0 +} +699 = { + winter_severity_bias = 0.0 +} +700 = { + winter_severity_bias = 0.0 +} +708 = { + winter_severity_bias = 0.0 +} +709 = { + winter_severity_bias = 0.0 +} +710 = { + winter_severity_bias = 0.0 +} +711 = { + winter_severity_bias = 0.0 +} +712 = { + winter_severity_bias = 0.0 +} +713 = { + winter_severity_bias = 0.0 +} +714 = { + winter_severity_bias = 0.0 +} +715 = { + winter_severity_bias = 0.0 +} +722 = { + winter_severity_bias = 0.0 +} +723 = { + winter_severity_bias = 0.0 +} +724 = { + winter_severity_bias = 0.0 +} +725 = { + winter_severity_bias = 0.0 +} +726 = { + winter_severity_bias = 0.0 +} +727 = { + winter_severity_bias = 0.0 +} +728 = { + winter_severity_bias = 0.0 +} +729 = { + winter_severity_bias = 0.0 +} +936 = { + winter_severity_bias = 0.0 +} +937 = { + winter_severity_bias = 0.0 +} +938 = { + winter_severity_bias = 0.0 +} +939 = { + winter_severity_bias = 0.0 +} +940 = { + winter_severity_bias = 0.0 +} +941 = { + winter_severity_bias = 0.0 +} +942 = { + winter_severity_bias = 0.0 +} +945 = { + winter_severity_bias = 0.0 +} +946 = { + winter_severity_bias = 0.0 +} +947 = { + winter_severity_bias = 0.0 +} +948 = { + winter_severity_bias = 0.0 +} +949 = { + winter_severity_bias = 0.0 +} +950 = { + winter_severity_bias = 0.0 +} +951 = { + winter_severity_bias = 0.0 +} +952 = { + winter_severity_bias = 0.0 +} +953 = { + winter_severity_bias = 0.0 +} +954 = { + winter_severity_bias = 0.0 +} +958 = { + winter_severity_bias = 0.0 +} +959 = { + winter_severity_bias = 0.0 +} +960 = { + winter_severity_bias = 0.0 +} +964 = { + winter_severity_bias = 0.0 +} +965 = { + winter_severity_bias = 0.0 +} +966 = { + winter_severity_bias = 0.0 +} +967 = { + winter_severity_bias = 0.0 +} +968 = { + winter_severity_bias = 0.0 +} +969 = { + winter_severity_bias = 0.0 +} +970 = { + winter_severity_bias = 0.0 +} +973 = { + winter_severity_bias = 0.0 +} +974 = { + winter_severity_bias = 0.0 +} +975 = { + winter_severity_bias = 0.0 +} +977 = { + winter_severity_bias = 0.0 +} +980 = { + winter_severity_bias = 0.0 +} +981 = { + winter_severity_bias = 0.0 +} +982 = { + winter_severity_bias = 0.0 +} +985 = { + winter_severity_bias = 0.0 +} +986 = { + winter_severity_bias = 0.0 +} +987 = { + winter_severity_bias = 0.0 +} +988 = { + winter_severity_bias = 0.0 +} +989 = { + winter_severity_bias = 0.0 +} +990 = { + winter_severity_bias = 0.0 +} +991 = { + winter_severity_bias = 0.0 +} +992 = { + winter_severity_bias = 0.0 +} +993 = { + winter_severity_bias = 0.0 +} +994 = { + winter_severity_bias = 0.0 +} +995 = { + winter_severity_bias = 0.0 +} +996 = { + winter_severity_bias = 0.0 +} +997 = { + winter_severity_bias = 0.0 +} +999 = { + winter_severity_bias = 0.0 +} +1000 = { + winter_severity_bias = 0.0 +} +1001 = { + winter_severity_bias = 0.0 +} +1002 = { + winter_severity_bias = 0.0 +} +1003 = { + winter_severity_bias = 0.0 +} +1004 = { + winter_severity_bias = 0.0 +} +1005 = { + winter_severity_bias = 0.0 +} +1006 = { + winter_severity_bias = 0.0 +} +1007 = { + winter_severity_bias = 0.0 +} +1008 = { + winter_severity_bias = 0.0 +} +1009 = { + winter_severity_bias = 0.0 +} +1010 = { + winter_severity_bias = 0.0 +} +1011 = { + winter_severity_bias = 0.0 +} +1012 = { + winter_severity_bias = 0.0 +} +1014 = { + winter_severity_bias = 0.0 +} +1015 = { + winter_severity_bias = 0.0 +} +1016 = { + winter_severity_bias = 0.0 +} +1017 = { + winter_severity_bias = 0.0 +} +1019 = { + winter_severity_bias = 0.0 +} +1020 = { + winter_severity_bias = 0.0 +} +1021 = { + winter_severity_bias = 0.0 +} +1022 = { + winter_severity_bias = 0.0 +} +1023 = { + winter_severity_bias = 0.0 +} +1024 = { + winter_severity_bias = 0.0 +} +1025 = { + winter_severity_bias = 0.0 +} +1027 = { + winter_severity_bias = 0.0 +} +1028 = { + winter_severity_bias = 0.0 +} +1029 = { + winter_severity_bias = 0.0 +} +1030 = { + winter_severity_bias = 0.0 +} +1031 = { + winter_severity_bias = 0.0 +} +1032 = { + winter_severity_bias = 0.0 +} +1033 = { + winter_severity_bias = 0.0 +} +1034 = { + winter_severity_bias = 0.0 +} +1035 = { + winter_severity_bias = 0.0 +} +1036 = { + winter_severity_bias = 0.0 +} +1037 = { + winter_severity_bias = 0.0 +} +1038 = { + winter_severity_bias = 0.0 +} +1109 = { + winter_severity_bias = 0.0 +} +1110 = { + winter_severity_bias = 0.0 +} +1111 = { + winter_severity_bias = 0.0 +} +3229 = { + winter_severity_bias = 0.0 +} +3230 = { + winter_severity_bias = 0.0 +} + +#North European Seas +8613 = { + winter_severity_bias = 0.0 +} +8614 = { + winter_severity_bias = 0.0 +} +8615 = { + winter_severity_bias = 0.0 +} +8616 = { + winter_severity_bias = 0.0 +} +8617 = { + winter_severity_bias = 0.0 +} +8618 = { + winter_severity_bias = 0.0 +} +8619 = { + winter_severity_bias = 0.0 +} +8620 = { + winter_severity_bias = 0.0 +} +8621 = { + winter_severity_bias = 0.0 +} +8622 = { + winter_severity_bias = 0.0 +} + +#Mediterranean Seas +8626 = { + winter_severity_bias = 0.0 +} +8627 = { + winter_severity_bias = 0.0 +} +8628 = { + winter_severity_bias = 0.0 +} +8629 = { + winter_severity_bias = 0.0 +} +8630 = { + winter_severity_bias = 0.0 +} +8631 = { + winter_severity_bias = 0.0 +} +8632 = { + winter_severity_bias = 0.0 +} +8633 = { + winter_severity_bias = 0.0 +} +8634 = { + winter_severity_bias = 0.0 +} +8635 = { + winter_severity_bias = 0.0 +} +8636 = { + winter_severity_bias = 0.0 +} +8637 = { + winter_severity_bias = 0.0 +} +8638 = { + winter_severity_bias = 0.0 +} +8639 = { + winter_severity_bias = 0.0 +} +8640 = { + winter_severity_bias = 0.0 +} +8641 = { + winter_severity_bias = 0.0 +} +8642 = { + winter_severity_bias = 0.0 +} +8643 = { + winter_severity_bias = 0.0 +} +8644 = { + winter_severity_bias = 0.0 +} +8645 = { + winter_severity_bias = 0.0 +} +8646 = { + winter_severity_bias = 0.0 +} +8647 = { + winter_severity_bias = 0.0 +} +8648 = { + winter_severity_bias = 0.0 +} +8649 = { + winter_severity_bias = 0.0 +} +8650 = { + winter_severity_bias = 0.0 +} +8651 = { + winter_severity_bias = 0.0 +} +8652 = { + winter_severity_bias = 0.0 +} +8653 = { + winter_severity_bias = 0.0 +} +8654 = { + winter_severity_bias = 0.0 +} +8655 = { + winter_severity_bias = 0.0 +} +8656 = { + winter_severity_bias = 0.0 +} +8657 = { + winter_severity_bias = 0.0 +} +8658 = { + winter_severity_bias = 0.0 +} +8659 = { + winter_severity_bias = 0.0 +} +8660 = { + winter_severity_bias = 0.0 +} +8661 = { + winter_severity_bias = 0.0 +} +8662 = { + winter_severity_bias = 0.0 +} +8663 = { + winter_severity_bias = 0.0 +} +8664 = { + winter_severity_bias = 0.0 +} +8665 = { + winter_severity_bias = 0.0 +} +8666 = { + winter_severity_bias = 0.0 +} +8740 = { + winter_severity_bias = 0.0 +} + +#Black, Azov, Caspian & Aral Seas +8667 = { + winter_severity_bias = 0.0 +} +8668 = { + winter_severity_bias = 0.0 +} +8669 = { + winter_severity_bias = 0.0 +} +8670 = { + winter_severity_bias = 0.0 +} +8671 = { + winter_severity_bias = 0.0 +} +8672 = { + winter_severity_bias = 0.0 +} + +#Middle Eastern Seas +8673 = { + winter_severity_bias = 0.0 +} +8674 = { + winter_severity_bias = 0.0 +} +8675 = { + winter_severity_bias = 0.0 +} +8676 = { + winter_severity_bias = 0.0 +} +8677 = { + winter_severity_bias = 0.0 +} +8678 = { + winter_severity_bias = 0.0 +} +8679 = { + winter_severity_bias = 0.0 +} +8680 = { + winter_severity_bias = 0.0 +} +8681 = { + winter_severity_bias = 0.0 +} +8682 = { + winter_severity_bias = 0.0 +} + +#Indian Seas +1382 = { + winter_severity_bias = 0.0 +} +1383 = { + winter_severity_bias = 0.0 +} +1384 = { + winter_severity_bias = 0.0 +} +1385 = { + winter_severity_bias = 0.0 +} +1386 = { + winter_severity_bias = 0.0 +} +1387 = { + winter_severity_bias = 0.0 +} +1388 = { + winter_severity_bias = 0.0 +} +1389 = { + winter_severity_bias = 0.0 +} +1390 = { + winter_severity_bias = 0.0 +} +1391 = { + winter_severity_bias = 0.0 +} +1392 = { + winter_severity_bias = 0.0 +} +1393 = { + winter_severity_bias = 0.0 +} +1394 = { + winter_severity_bias = 0.0 +} +1395 = { + winter_severity_bias = 0.0 +} +1396 = { + winter_severity_bias = 0.0 +} +1397 = { + winter_severity_bias = 0.0 +} +1398 = { + winter_severity_bias = 0.0 +} +1399 = { + winter_severity_bias = 0.0 +} +1400 = { + winter_severity_bias = 0.0 +} +1401 = { + winter_severity_bias = 0.0 +} +1402 = { + winter_severity_bias = 0.0 +} +1403 = { + winter_severity_bias = 0.0 +} +1404 = { + winter_severity_bias = 0.0 +} +1405 = { + winter_severity_bias = 0.0 +} +1406 = { + winter_severity_bias = 0.0 +} +1407 = { + winter_severity_bias = 0.0 +} +1409 = { + winter_severity_bias = 0.0 +} +1410 = { + winter_severity_bias = 0.0 +} +1411 = { + winter_severity_bias = 0.0 +} +1412 = { + winter_severity_bias = 0.0 +} +8683 = { + winter_severity_bias = 0.0 +} +8684 = { + winter_severity_bias = 0.0 +} +8685 = { + winter_severity_bias = 0.0 +} +8686 = { + winter_severity_bias = 0.0 +} +8687 = { + winter_severity_bias = 0.0 +} +8688 = { + winter_severity_bias = 0.0 +} +8689 = { + winter_severity_bias = 0.0 +} + +#African Seas +8692 = { + winter_severity_bias = 0.0 +} +8693 = { + winter_severity_bias = 0.0 +} +8694 = { + winter_severity_bias = 0.0 +} +8695 = { + winter_severity_bias = 0.0 +} +8696 = { + winter_severity_bias = 0.0 +} +8697 = { + winter_severity_bias = 0.0 +} +8698 = { + winter_severity_bias = 0.0 +} +8699 = { + winter_severity_bias = 0.0 +} +8700 = { + winter_severity_bias = 0.0 +} +1062 = { + winter_severity_bias = 0.0 +} +1064 = { + winter_severity_bias = 0.0 +} + +# Non-accessible sea zones +944 = { + winter_severity_bias = 0.0 +} +1470 = { + winter_severity_bias = 0.0 +} +8623 = { + winter_severity_bias = 0.0 +} +8624 = { + winter_severity_bias = 0.0 +} +8625 = { + winter_severity_bias = 0.0 +} + +############### +# MAJOR RIVERS +############### +#European rivers +628 = { + winter_severity_bias = 0.0 +} +629 = { + winter_severity_bias = 0.0 +} +630 = { + winter_severity_bias = 0.0 +} +456 = { + winter_severity_bias = 0.0 +} +457 = { + winter_severity_bias = 0.0 +} +5855 = { + winter_severity_bias = 0.0 +} +5856 = { + winter_severity_bias = 0.0 +} +5857 = { + winter_severity_bias = 0.0 +} +1052 = { + winter_severity_bias = 0.0 +} +1053 = { + winter_severity_bias = 0.0 +} +1054 = { + winter_severity_bias = 0.0 +} +1055 = { + winter_severity_bias = 0.0 +} +1056 = { + winter_severity_bias = 0.0 +} +1057 = { + winter_severity_bias = 0.0 +} +1058 = { + winter_severity_bias = 0.0 +} +1059 = { + winter_severity_bias = 0.0 +} +1060 = { + winter_severity_bias = 0.0 +} +1061 = { + winter_severity_bias = 0.0 +} +1070 = { + winter_severity_bias = 0.0 +} +1071 = { + winter_severity_bias = 0.0 +} +1072 = { + winter_severity_bias = 0.0 +} +1073 = { + winter_severity_bias = 0.0 +} +1074 = { + winter_severity_bias = 0.0 +} +1075 = { + winter_severity_bias = 0.0 +} +1085 = { + winter_severity_bias = 0.0 +} +1086 = { + winter_severity_bias = 0.0 +} +1087 = { + winter_severity_bias = 0.0 +} +1090 = { + winter_severity_bias = 0.0 +} +1091 = { + winter_severity_bias = 0.0 +} +1092 = { + winter_severity_bias = 0.0 +} +1093 = { + winter_severity_bias = 0.0 +} +1094 = { + winter_severity_bias = 0.0 +} +1095 = { + winter_severity_bias = 0.0 +} +1096 = { + winter_severity_bias = 0.0 +} +1097 = { + winter_severity_bias = 0.0 +} +1098 = { + winter_severity_bias = 0.0 +} +1099 = { + winter_severity_bias = 0.0 +} +1100 = { + winter_severity_bias = 0.0 +} +1101 = { + winter_severity_bias = 0.0 +} +1102 = { + winter_severity_bias = 0.0 +} +1103 = { + winter_severity_bias = 0.0 +} +1104 = { + winter_severity_bias = 0.0 +} +1105 = { + winter_severity_bias = 0.0 +} +1106 = { + winter_severity_bias = 0.0 +} +3223 = { + winter_severity_bias = 0.0 +} +3224 = { + winter_severity_bias = 0.0 +} +3225 = { + winter_severity_bias = 0.0 +} +3226 = { + winter_severity_bias = 0.0 +} +3227 = { + winter_severity_bias = 0.0 +} +3228 = { + winter_severity_bias = 0.0 +} +3231 = { + winter_severity_bias = 0.0 +} +3232 = { + winter_severity_bias = 0.0 +} +3233 = { + winter_severity_bias = 0.0 +} +3234 = { + winter_severity_bias = 0.0 +} +3235 = { + winter_severity_bias = 0.0 +} +3236 = { + winter_severity_bias = 0.0 +} +3237 = { + winter_severity_bias = 0.0 +} +3238 = { + winter_severity_bias = 0.0 +} +3239 = { + winter_severity_bias = 0.0 +} +3240 = { + winter_severity_bias = 0.0 +} +3241 = { + winter_severity_bias = 0.0 +} +3242 = { + winter_severity_bias = 0.0 +} +3243 = { + winter_severity_bias = 0.0 +} +3244 = { + winter_severity_bias = 0.0 +} +3245 = { + winter_severity_bias = 0.0 +} +3246 = { + winter_severity_bias = 0.0 +} +3247 = { + winter_severity_bias = 0.0 +} +3248 = { + winter_severity_bias = 0.0 +} +3249 = { + winter_severity_bias = 0.0 +} +3250 = { + winter_severity_bias = 0.0 +} +3251 = { + winter_severity_bias = 0.0 +} +3252 = { + winter_severity_bias = 0.0 +} +3253 = { + winter_severity_bias = 0.0 +} +3254 = { + winter_severity_bias = 0.0 +} +8586 = { + winter_severity_bias = 0.0 +} +8587 = { + winter_severity_bias = 0.0 +} +8558 = { + winter_severity_bias = 0.0 +} +8559 = { + winter_severity_bias = 0.0 +} + +#Russian rivers +8561 = { + winter_severity_bias = 0.0 +} +8562 = { + winter_severity_bias = 0.0 +} +8563 = { + winter_severity_bias = 0.0 +} +8564 = { + winter_severity_bias = 0.0 +} +8565 = { + winter_severity_bias = 0.0 +} +8566 = { + winter_severity_bias = 0.0 +} +8567 = { + winter_severity_bias = 0.0 +} +8569 = { + winter_severity_bias = 0.0 +} +8570 = { + winter_severity_bias = 0.0 +} +8583 = { + winter_severity_bias = 0.0 +} +8584 = { + winter_severity_bias = 0.0 +} +8585 = { + winter_severity_bias = 0.0 +} +8578 = { + winter_severity_bias = 0.0 +} +8579 = { + winter_severity_bias = 0.0 +} +8580 = { + winter_severity_bias = 0.0 +} +8581 = { + winter_severity_bias = 0.0 +} +8582 = { + winter_severity_bias = 0.0 +} +8574 = { + winter_severity_bias = 0.0 +} +8575 = { + winter_severity_bias = 0.0 +} +8576 = { + winter_severity_bias = 0.0 +} + +#Indian rivers +1307 = { + winter_severity_bias = 0.0 +} +1308 = { + winter_severity_bias = 0.0 +} +1309 = { + winter_severity_bias = 0.0 +} +1311 = { + winter_severity_bias = 0.0 +} +1312 = { + winter_severity_bias = 0.0 +} +1313 = { + winter_severity_bias = 0.0 +} +1314 = { + winter_severity_bias = 0.0 +} +1315 = { + winter_severity_bias = 0.0 +} +1316 = { + winter_severity_bias = 0.0 +} +8588 = { + winter_severity_bias = 0.0 +} +8589 = { + winter_severity_bias = 0.0 +} +8590 = { + winter_severity_bias = 0.0 +} +8591 = { + winter_severity_bias = 0.0 +} +8592 = { + winter_severity_bias = 0.0 +} +8593 = { + winter_severity_bias = 0.0 +} +8594 = { + winter_severity_bias = 0.0 +} +8595 = { + winter_severity_bias = 0.0 +} +8596 = { + winter_severity_bias = 0.0 +} +8597 = { + winter_severity_bias = 0.0 +} +8598 = { + winter_severity_bias = 0.0 +} +8599 = { + winter_severity_bias = 0.0 +} +8600 = { + winter_severity_bias = 0.0 +} +8601 = { + winter_severity_bias = 0.0 +} +8603 = { + winter_severity_bias = 0.0 +} +8604 = { + winter_severity_bias = 0.0 +} +8605 = { + winter_severity_bias = 0.0 +} +8606 = { + winter_severity_bias = 0.0 +} +8607 = { + winter_severity_bias = 0.0 +} +8608 = { + winter_severity_bias = 0.0 +} +8609 = { + winter_severity_bias = 0.0 +} +8610 = { + winter_severity_bias = 0.0 +} +8611 = { + winter_severity_bias = 0.0 +} + +#African rivers +8612 = { + winter_severity_bias = 0.0 +} +8702 = { + winter_severity_bias = 0.0 +} +1317 = { + winter_severity_bias = 0.0 +} +6026 = { + winter_severity_bias = 0.0 +} +6027 = { + winter_severity_bias = 0.0 +} +6028 = { + winter_severity_bias = 0.0 +} +6029 = { + winter_severity_bias = 0.0 +} +6126 = { + winter_severity_bias = 0.0 +} +6127 = { + winter_severity_bias = 0.0 +} +6128 = { + winter_severity_bias = 0.0 +} +6791 = { + winter_severity_bias = 0.0 +} +6792 = { + winter_severity_bias = 0.0 +} +6793 = { + winter_severity_bias = 0.0 +} +6794 = { + winter_severity_bias = 0.0 +} +6795 = { + winter_severity_bias = 0.0 +} +6796 = { + winter_severity_bias = 0.0 +} +8092 = { + winter_severity_bias = 0.0 +} +8093 = { + winter_severity_bias = 0.0 +} +8094 = { + winter_severity_bias = 0.0 +} +8095 = { + winter_severity_bias = 0.0 +} +8096 = { + winter_severity_bias = 0.0 +} +626 = { + winter_severity_bias = 0.0 +} +689 = { + winter_severity_bias = 0.0 +} +1063 = { + winter_severity_bias = 0.0 +} +1065 = { + winter_severity_bias = 0.0 +} +1066 = { + winter_severity_bias = 0.0 +} +1067 = { + winter_severity_bias = 0.0 +} +1077 = { + winter_severity_bias = 0.0 +} +1078 = { + winter_severity_bias = 0.0 +} +1079 = { + winter_severity_bias = 0.0 +} +1081 = { + winter_severity_bias = 0.0 +} +1082 = { + winter_severity_bias = 0.0 +} +1083 = { + winter_severity_bias = 0.0 +} +1084 = { + winter_severity_bias = 0.0 +} +1487 = { + winter_severity_bias = 0.0 +} +5510 = { + winter_severity_bias = 0.0 +} +5511 = { + winter_severity_bias = 0.0 +} +6125 = { + winter_severity_bias = 0.0 +} +8560 = { + winter_severity_bias = 0.0 +} +8568 = { + winter_severity_bias = 0.0 +} +8571 = { + winter_severity_bias = 0.0 +} +8572 = { + winter_severity_bias = 0.0 +} +8573 = { + winter_severity_bias = 0.0 +} +8577 = { + winter_severity_bias = 0.0 +} +8602 = { + winter_severity_bias = 0.0 +} +11915 = { + winter_severity_bias = 0.0 +} +11916 = { + winter_severity_bias = 0.0 +} +11917 = { + winter_severity_bias = 0.0 +} +11918 = { + winter_severity_bias = 0.0 +} +11919 = { + winter_severity_bias = 0.0 +} +11920 = { + winter_severity_bias = 0.0 +} +11921 = { + winter_severity_bias = 0.0 +} +11922 = { + winter_severity_bias = 0.0 +} +11923 = { + winter_severity_bias = 0.0 +} +11924 = { + winter_severity_bias = 0.0 +} +11925 = { + winter_severity_bias = 0.0 +} +11926 = { + winter_severity_bias = 0.0 +} +11927 = { + winter_severity_bias = 0.0 +} +11928 = { + winter_severity_bias = 0.0 +} + +######## +# LAKES +######## +943 = { + winter_severity_bias = 0.0 +} +955 = { + winter_severity_bias = 0.0 +} +956 = { + winter_severity_bias = 0.0 +} +957 = { + winter_severity_bias = 0.0 +} +979 = { + winter_severity_bias = 0.0 +} +983 = { + winter_severity_bias = 0.0 +} +1018 = { + winter_severity_bias = 0.0 +} +1026 = { + winter_severity_bias = 0.0 +} +1069 = { + winter_severity_bias = 0.0 +} +1076 = { + winter_severity_bias = 0.0 +} +1080 = { + winter_severity_bias = 0.0 +} +1088 = { + winter_severity_bias = 0.0 +} +1107 = { + winter_severity_bias = 0.0 +} +1108 = { + winter_severity_bias = 0.0 +} +1305 = { + winter_severity_bias = 0.0 +} +1348 = { + winter_severity_bias = 0.0 +} +1486 = { + winter_severity_bias = 0.0 +} +1488 = { + winter_severity_bias = 0.0 +} +3265 = { + winter_severity_bias = 0.0 +} +8736 = { + winter_severity_bias = 0.0 +} +8737 = { + winter_severity_bias = 0.0 +} +8738 = { + winter_severity_bias = 0.0 +} +961 = { + winter_severity_bias = 0.0 +} +962 = { + winter_severity_bias = 0.0 +} +963 = { + winter_severity_bias = 0.0 +} +1472 = { + winter_severity_bias = 0.0 +} +1473 = { + winter_severity_bias = 0.0 +} +1474 = { + winter_severity_bias = 0.0 +} +1475 = { + winter_severity_bias = 0.0 +} +1476 = { + winter_severity_bias = 0.0 +} +1477 = { + winter_severity_bias = 0.0 +} +1478 = { + winter_severity_bias = 0.0 +} +1479 = { + winter_severity_bias = 0.0 +} +1480 = { + winter_severity_bias = 0.0 +} +1481 = { + winter_severity_bias = 0.0 +} +1482 = { + winter_severity_bias = 0.0 +} +1483 = { + winter_severity_bias = 0.0 +} +1484 = { + winter_severity_bias = 0.0 +} +1490 = { + winter_severity_bias = 0.0 +} +1491 = { + winter_severity_bias = 0.0 +} +1492 = { + winter_severity_bias = 0.0 +} +1493 = { + winter_severity_bias = 0.0 +} +1494 = { + winter_severity_bias = 0.0 +} +1496 = { + winter_severity_bias = 0.0 +} +1497 = { + winter_severity_bias = 0.0 +} +1498 = { + winter_severity_bias = 0.0 +} +5854 = { + winter_severity_bias = 0.0 +} +5858 = { + winter_severity_bias = 0.0 +} +7208 = { + winter_severity_bias = 0.0 +} +7513 = { + winter_severity_bias = 0.0 +} +8519 = { + winter_severity_bias = 0.0 +} +8520 = { + winter_severity_bias = 0.0 +} +8521 = { + winter_severity_bias = 0.0 +} +8522 = { + winter_severity_bias = 0.0 +} +8523 = { + winter_severity_bias = 0.0 +} +8524 = { + winter_severity_bias = 0.0 +} +8525 = { + winter_severity_bias = 0.0 +} +9000 = { + winter_severity_bias = 0.0 +} +9001 = { + winter_severity_bias = 0.0 +} +11527 = { + winter_severity_bias = 0.0 +} +11528 = { + winter_severity_bias = 0.0 +} + +##################### +# IMPASSABLE TERRAIN +##################### +#Africa +790 = { + winter_severity_bias = 0.0 +} +791 = { + winter_severity_bias = 0.0 +} +792 = { + winter_severity_bias = 0.0 +} +793 = { + winter_severity_bias = 0.0 +} +794 = { + winter_severity_bias = 0.0 +} +795 = { + winter_severity_bias = 0.0 +} +796 = { + winter_severity_bias = 0.0 +} +797 = { + winter_severity_bias = 0.0 +} +798 = { + winter_severity_bias = 0.0 +} +799 = { + winter_severity_bias = 0.0 +} +800 = { + winter_severity_bias = 0.0 +} +801 = { + winter_severity_bias = 0.0 +} +802 = { + winter_severity_bias = 0.0 +} +803 = { + winter_severity_bias = 0.0 +} +804 = { + winter_severity_bias = 0.0 +} +805 = { + winter_severity_bias = 0.0 +} +806 = { + winter_severity_bias = 0.0 +} +807 = { + winter_severity_bias = 0.0 +} +1045 = { + winter_severity_bias = 0.0 +} +1046 = { + winter_severity_bias = 0.0 +} +1047 = { + winter_severity_bias = 0.0 +} +1048 = { + winter_severity_bias = 0.0 +} +1049 = { + winter_severity_bias = 0.0 +} +1050 = { + winter_severity_bias = 0.0 +} +1051 = { + winter_severity_bias = 0.0 +} +1068 = { + winter_severity_bias = 0.0 +} +1089 = { + winter_severity_bias = 0.0 +} +1334 = { + winter_severity_bias = 0.0 +} +3294 = { + winter_severity_bias = 0.0 +} +6416 = { + winter_severity_bias = 0.0 +} +6417 = { + winter_severity_bias = 0.0 +} +6418 = { + winter_severity_bias = 0.0 +} +6419 = { + winter_severity_bias = 0.0 +} +6420 = { + winter_severity_bias = 0.0 +} +6421 = { + winter_severity_bias = 0.0 +} +6422 = { + winter_severity_bias = 0.0 +} +6423 = { + winter_severity_bias = 0.0 +} +6424 = { + winter_severity_bias = 0.0 +} +6425 = { + winter_severity_bias = 0.0 +} +6426 = { + winter_severity_bias = 0.0 +} +6583 = { + winter_severity_bias = 0.0 +} +6584 = { + winter_severity_bias = 0.0 +} +6585 = { + winter_severity_bias = 0.0 +} +6586 = { + winter_severity_bias = 0.0 +} +6587 = { + winter_severity_bias = 0.0 +} +6588 = { + winter_severity_bias = 0.0 +} +6589 = { + winter_severity_bias = 0.0 +} +6592 = { + winter_severity_bias = 0.0 +} +6593 = { + winter_severity_bias = 0.0 +} +6594 = { + winter_severity_bias = 0.0 +} +6595 = { + winter_severity_bias = 0.0 +} +6596 = { + winter_severity_bias = 0.0 +} +6597 = { + winter_severity_bias = 0.0 +} +6598 = { + winter_severity_bias = 0.0 +} +6599 = { + winter_severity_bias = 0.0 +} +6600 = { + winter_severity_bias = 0.0 +} +6603 = { + winter_severity_bias = 0.0 +} +6604 = { + winter_severity_bias = 0.0 +} +6605 = { + winter_severity_bias = 0.0 +} +6606 = { + winter_severity_bias = 0.0 +} +6607 = { + winter_severity_bias = 0.0 +} +6788 = { + winter_severity_bias = 0.0 +} +6789 = { + winter_severity_bias = 0.0 +} +6790 = { + winter_severity_bias = 0.0 +} +6902 = { + winter_severity_bias = 0.0 +} +6903 = { + winter_severity_bias = 0.0 +} +6904 = { + winter_severity_bias = 0.0 +} +6998 = { + winter_severity_bias = 0.0 +} +6999 = { + winter_severity_bias = 0.0 +} +8089 = { + winter_severity_bias = 0.0 +} +8090 = { + winter_severity_bias = 0.0 +} +8091 = { + winter_severity_bias = 0.0 +} +8097 = { + winter_severity_bias = 0.0 +} +8098 = { + winter_severity_bias = 0.0 +} +8099 = { + winter_severity_bias = 0.0 +} +8439 = { + winter_severity_bias = 0.0 +} +8440 = { + winter_severity_bias = 0.0 +} +8441 = { + winter_severity_bias = 0.0 +} +8442 = { + winter_severity_bias = 0.0 +} +8443 = { + winter_severity_bias = 0.0 +} +8444 = { + winter_severity_bias = 0.0 +} +8445 = { + winter_severity_bias = 0.0 +} +8446 = { + winter_severity_bias = 0.0 +} +8447 = { + winter_severity_bias = 0.0 +} +8448 = { + winter_severity_bias = 0.0 +} +8449 = { + winter_severity_bias = 0.0 +} + +#Anatolia +5685 = { + winter_severity_bias = 0.0 +} +5686 = { + winter_severity_bias = 0.0 +} +5687 = { + winter_severity_bias = 0.0 +} +5688 = { + winter_severity_bias = 0.0 +} + +#Armenia & Georgia +5795 = { + winter_severity_bias = @azerbaijan_mountains +} +5796 = { + winter_severity_bias = @azerbaijan_mountains +} +5797 = { + winter_severity_bias = @azerbaijan_mountains +} + +#Balkans +1039 = { + winter_severity_bias = 0.0 +} +1040 = { + winter_severity_bias = 0.0 +} +1041 = { + winter_severity_bias = 0.0 +} +1042 = { + winter_severity_bias = 0.0 +} +1043 = { + winter_severity_bias = 0.0 +} +1044 = { + winter_severity_bias = 0.0 +} +3295 = { + winter_severity_bias = 0.0 +} +3296 = { + winter_severity_bias = 0.0 +} +3297 = { + winter_severity_bias = 0.0 +} +3298 = { + winter_severity_bias = 0.0 +} +3299 = { + winter_severity_bias = 0.0 +} + +#Bjarmaland +5852 = { + winter_severity_bias = 0.80 +} +5853 = { + winter_severity_bias = 0.80 +} + +#Bohemia, France, Germany, Italy +763 = { + winter_severity_bias = 0.0 +} +764 = { + winter_severity_bias = 0.0 +} +765 = { + winter_severity_bias = 0.0 +} +766 = { + winter_severity_bias = 0.0 +} +767 = { + winter_severity_bias = 0.0 +} +768 = { + winter_severity_bias = 0.0 +} +769 = { + winter_severity_bias = 0.0 +} +770 = { + winter_severity_bias = 0.0 +} +771 = { + winter_severity_bias = 0.0 +} +772 = { + winter_severity_bias = 0.0 +} +773 = { + winter_severity_bias = 0.0 +} +774 = { + winter_severity_bias = 0.0 +} +775 = { + winter_severity_bias = 0.0 +} +776 = { + winter_severity_bias = 0.0 +} +777 = { + winter_severity_bias = 0.0 +} +778 = { + winter_severity_bias = 0.0 +} +779 = { + winter_severity_bias = 0.0 +} +780 = { + winter_severity_bias = 0.0 +} +781 = { + winter_severity_bias = 0.0 +} +782 = { + winter_severity_bias = 0.0 +} +783 = { + winter_severity_bias = 0.0 +} +784 = { + winter_severity_bias = 0.0 +} +785 = { + winter_severity_bias = 0.0 +} +786 = { + winter_severity_bias = 0.0 +} +787 = { + winter_severity_bias = 0.0 +} +788 = { + winter_severity_bias = 0.0 +} +789 = { + winter_severity_bias = 0.0 +} + +#Burma +9566 = { + winter_severity_bias = 0.0 +} +9567 = { + winter_severity_bias = 0.0 +} + +#Carpathia +642 = { + winter_severity_bias = 0.0 +} +716 = { + winter_severity_bias = 0.0 +} +717 = { + winter_severity_bias = 0.0 +} +718 = { + winter_severity_bias = 0.0 +} +719 = { + winter_severity_bias = 0.0 +} +720 = { + winter_severity_bias = 0.0 +} +721 = { + winter_severity_bias = 0.0 +} +732 = { + winter_severity_bias = 0.0 +} +733 = { + winter_severity_bias = 0.0 +} +894 = { + winter_severity_bias = 0.0 +} +3949 = { + winter_severity_bias = 0.0 +} +3950 = { + winter_severity_bias = 0.0 +} +3951 = { + winter_severity_bias = 0.0 +} +3952 = { + winter_severity_bias = 0.0 +} +4898 = { + winter_severity_bias = 0.0 +} + +#Caucasus +1417 = { + winter_severity_bias = @azerbaijan_mountains +} +1428 = { + winter_severity_bias = @azerbaijan_mountains +} +1429 = { + winter_severity_bias = @azerbaijan_mountains +} +1436 = { + winter_severity_bias = @azerbaijan_mountains +} +5515 = { + winter_severity_bias = @azerbaijan_mountains +} +8557 = { + winter_severity_bias = @azerbaijan_mountains +} + +#Iberia +659 = { + winter_severity_bias = 0.0 +} +3300 = { + winter_severity_bias = 0.0 +} +3301 = { + winter_severity_bias = 0.0 +} +3302 = { + winter_severity_bias = 0.0 +} +3303 = { + winter_severity_bias = 0.0 +} +3304 = { + winter_severity_bias = 0.0 +} +3305 = { + winter_severity_bias = 0.0 +} +3306 = { + winter_severity_bias = 0.0 +} + +#Indian ghats +7796 = { + winter_severity_bias = 0.0 +} +7936 = { + winter_severity_bias = 0.0 +} +7937 = { + winter_severity_bias = 0.0 +} +7938 = { + winter_severity_bias = 0.0 +} +7939 = { + winter_severity_bias = 0.0 +} +7940 = { + winter_severity_bias = 0.0 +} +7942 = { + winter_severity_bias = 0.0 +} +7943 = { + winter_severity_bias = 0.0 +} + +#Kazakh Steppe +7352 = { + winter_severity_bias = 0.30 +} +7353 = { + winter_severity_bias = 0.60 +} +7354 = { + winter_severity_bias = 0.70 +} +8710 = { + winter_severity_bias = 0.30 +} + +#Mongolia, Tarim & Dzungaria +7512 = { + winter_severity_bias = 0.85 +} +7781 = { + winter_severity_bias = 0.90 +} +7782 = { + winter_severity_bias = 0.90 +} +7783 = { + winter_severity_bias = 0.90 +} +7784 = { + winter_severity_bias = 0.90 +} +7785 = { + winter_severity_bias = 0.90 +} +7786 = { + winter_severity_bias = 0.90 +} + +#Persia +1437 = { + winter_severity_bias = 0.0 +} +1471 = { + winter_severity_bias = 0.0 +} +1485 = { + winter_severity_bias = 0.0 +} +2580 = { + winter_severity_bias = 0.60 +} +2601 = { + winter_severity_bias = 0.0 +} +2667 = { + winter_severity_bias = 0.0 +} +2668 = { + winter_severity_bias = 0.0 +} +2702 = { + winter_severity_bias = 0.0 +} +2716 = { + winter_severity_bias = 0.0 +} +2718 = { + winter_severity_bias = @afghan_mountains +} +12922 = { + winter_severity_bias = @afghan_mountains +} +2734 = { + winter_severity_bias = @afghan_mountains +} +2740 = { + winter_severity_bias = @afghan_mountains +} +2754 = { + winter_severity_bias = @afghan_mountains +} +2881 = { + winter_severity_bias = @afghan_mountains +} +2884 = { + winter_severity_bias = 0.0 +} +2908 = { + winter_severity_bias = @afghan_mountains +} +2929 = { + winter_severity_bias = @afghan_mountains +} +2930 = { + winter_severity_bias = @afghan_mountains +} +2944 = { + winter_severity_bias = 0.30 +} +2974 = { + winter_severity_bias = 0.30 +} +2996 = { + winter_severity_bias = @afghan_mountains +} +3002 = { + winter_severity_bias = 0.30 +} +3011 = { + winter_severity_bias = 0.0 +} +3022 = { + winter_severity_bias = 0.0 +} +3026 = { + winter_severity_bias = 0.0 +} +3029 = { + winter_severity_bias = 0.0 +} +3031 = { + winter_severity_bias = 0.0 +} +3036 = { + winter_severity_bias = 0.0 +} +3289 = { + winter_severity_bias = 0.0 +} +3290 = { + winter_severity_bias = 0.0 +} +3291 = { + winter_severity_bias = 0.0 +} +3292 = { + winter_severity_bias = 0.0 +} + +#Russia +972 = { + winter_severity_bias = 0.70 +} +5516 = { + winter_severity_bias = 0.90 +} +5517 = { + winter_severity_bias = 0.80 +} +5518 = { + winter_severity_bias = 0.0 +} +8703 = { + winter_severity_bias = 0.90 +} + +#Scandinavia & Finland & +281 = { + winter_severity_bias = 0.70 +} +299 = { + winter_severity_bias = 0.70 +} +650 = { + winter_severity_bias = 0.70 +} +651 = { + winter_severity_bias = 0.70 +} +652 = { + winter_severity_bias = 0.70 +} +653 = { + winter_severity_bias = 0.90 +} +654 = { + winter_severity_bias = 0.80 +} +655 = { + winter_severity_bias = 0.80 +} +656 = { + winter_severity_bias = 0.70 +} +657 = { + winter_severity_bias = 0.70 +} +658 = { + winter_severity_bias = 0.70 +} +899 = { + winter_severity_bias = 0.90 +} +902 = { + winter_severity_bias = 0.90 +} +935 = { + winter_severity_bias = 0.90 +} +3260 = { + winter_severity_bias = 0.70 +} +3261 = { + winter_severity_bias = 0.70 +} +3262 = { + winter_severity_bias = 0.70 +} +3263 = { + winter_severity_bias = 0.70 +} +3264 = { + winter_severity_bias = 0.90 +} +3307 = { + winter_severity_bias = 0.80 +} + +#Siberia & Tartaria +5859 = { + winter_severity_bias = 0.90 +} +5860 = { + winter_severity_bias = 0.90 +} +5861 = { + winter_severity_bias = 0.70 +} +5862 = { + winter_severity_bias = 0.80 +} +5863 = { + winter_severity_bias = 0.70 +} +5864 = { + winter_severity_bias = 0.70 +} +7055 = { + winter_severity_bias = 0.80 +} +7056 = { + winter_severity_bias = 0.70 +} +7452 = { + winter_severity_bias = 0.90 +} +7453 = { + winter_severity_bias = 0.80 +} +7454 = { + winter_severity_bias = 0.70 +} + +#Tarim Basin +1347 = { + winter_severity_bias = 0.40 +} +1408 = { + winter_severity_bias = 0.60 +} +9621 = { + winter_severity_bias = 0.60 +} +12293 = { + winter_severity_bias = 0.40 +} +12294 = { + winter_severity_bias = 0.40 +} + +#Tartaria Mountains +734 = { + winter_severity_bias = 0.85 +} +971 = { + winter_severity_bias = @tibetan_mountains +} +1495 = { + winter_severity_bias = 0.90 +} +1501 = { + winter_severity_bias = 0.0 +} +1550 = { + winter_severity_bias = 0.0 +} +1614 = { + winter_severity_bias = 0.0 +} +2486 = { + winter_severity_bias = 0.85 +} +2539 = { + winter_severity_bias = 0.85 +} +3037 = { + winter_severity_bias = @himalayan_mountains +} +3071 = { + winter_severity_bias = @himalayan_mountains +} +3104 = { + winter_severity_bias = @himalayan_mountains +} +3123 = { + winter_severity_bias = @himalayan_mountains +} +3150 = { + winter_severity_bias = @himalayan_mountains +} +3179 = { + winter_severity_bias = @himalayan_mountains +} +3255 = { + winter_severity_bias = @himalayan_mountains +} +3293 = { + winter_severity_bias = @himalayan_mountains +} +3612 = { + winter_severity_bias = @tibetan_mountains +} +4059 = { + winter_severity_bias = @tibetan_mountains +} +4255 = { + winter_severity_bias = @tibetan_mountains +} +4281 = { + winter_severity_bias = @tibetan_mountains +} +4282 = { + winter_severity_bias = @tibetan_mountains +} +5913 = { + winter_severity_bias = @tibetan_mountains +} +5997 = { + winter_severity_bias = @tibetan_mountains +} +7787 = { + winter_severity_bias = @tibetan_mountains +} +7941 = { + winter_severity_bias = @tibetan_mountains +} +8526 = { + winter_severity_bias = @tibetan_mountains +} +8527 = { + winter_severity_bias = @tibetan_mountains +} +8528 = { + winter_severity_bias = @tibetan_mountains +} +8529 = { + winter_severity_bias = @tibetan_mountains +} +8530 = { + winter_severity_bias = @tibetan_mountains +} +8531 = { + winter_severity_bias = @tibetan_mountains +} +8532 = { + winter_severity_bias = @tibetan_mountains +} +8533 = { + winter_severity_bias = @tibetan_mountains +} +8534 = { + winter_severity_bias = @tibetan_mountains +} +8535 = { + winter_severity_bias = @tibetan_mountains +} +8536 = { + winter_severity_bias = @tibetan_mountains +} +8537 = { + winter_severity_bias = @tibetan_mountains +} +8538 = { + winter_severity_bias = @tibetan_mountains +} +8539 = { + winter_severity_bias = 0.50 +} +8540 = { + winter_severity_bias = 0.50 +} +8541 = { + winter_severity_bias = 0.50 +} +8542 = { + winter_severity_bias = 0.50 +} +8543 = { + winter_severity_bias = 0.50 +} +8544 = { + winter_severity_bias = @himalayan_mountains +} +8545 = { + winter_severity_bias = @himalayan_mountains +} +8546 = { + winter_severity_bias = @himalayan_mountains +} +8547 = { + winter_severity_bias = @himalayan_mountains +} +8548 = { + winter_severity_bias = @himalayan_mountains +} +8549 = { + winter_severity_bias = @himalayan_mountains +} +8550 = { + winter_severity_bias = @himalayan_mountains +} +8551 = { + winter_severity_bias = @himalayan_mountains +} +8552 = { + winter_severity_bias = @himalayan_mountains +} +8553 = { + winter_severity_bias = @himalayan_mountains +} +8554 = { + winter_severity_bias = @himalayan_mountains +} +8555 = { + winter_severity_bias = @himalayan_mountains +} +8556 = { + winter_severity_bias = @himalayan_mountains +} +8704 = { + winter_severity_bias = 0.0 +} +8705 = { + winter_severity_bias = 0.90 +} +8706 = { + winter_severity_bias = 0.90 +} +8707 = { + winter_severity_bias = 0.85 +} +8708 = { + winter_severity_bias = 0.90 +} +8709 = { + winter_severity_bias = 0.85 +} + +#Turkestan +1489 = { + winter_severity_bias = 0.40 +} +7209 = { + winter_severity_bias = 0.20 +} +7210 = { + winter_severity_bias = 0.20 +} +7211 = { + winter_severity_bias = 0.40 +} +7212 = { + winter_severity_bias = 0.40 +} +7213 = { + winter_severity_bias = 0.70 +} +7214 = { + winter_severity_bias = 0.70 +} +7215 = { + winter_severity_bias = 0.0 +} + +#Western Europe +2484 = { + winter_severity_bias = 0.0 +} +3256 = { + winter_severity_bias = @the_alps +} +3257 = { + winter_severity_bias = @the_alps +} +3259 = { + winter_severity_bias = 0.0 +} +3308 = { + winter_severity_bias = @the_alps +} +3309 = { + winter_severity_bias = @the_alps +} +3310 = { + winter_severity_bias = @the_alps +} +3311 = { + winter_severity_bias = @the_alps +} +3312 = { + winter_severity_bias = @the_alps +} +3313 = { + winter_severity_bias = @the_alps +} +3314 = { + winter_severity_bias = @the_alps +} +11501 = { + winter_severity_bias = 0.85 +} +11502 = { + winter_severity_bias = 0.85 +} +11503 = { + winter_severity_bias = 0.85 +} +11504 = { + winter_severity_bias = 0.85 +} +11505 = { + winter_severity_bias = @khingan_mountains +} +11506 = { + winter_severity_bias = @khingan_mountains +} +11507 = { + winter_severity_bias = @khingan_mountains +} +11508 = { + winter_severity_bias = @khingan_mountains +} +11509 = { + winter_severity_bias = @khingan_mountains +} +11510 = { + winter_severity_bias = @khingan_mountains +} +11511 = { + winter_severity_bias = 0.90 +} +11512 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11513 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11514 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11515 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11516 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11517 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11518 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11519 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11520 = { + winter_severity_bias = @changbai_sikhote_mountains +} +11521 = { + winter_severity_bias = 0.90 +} +11522 = { + winter_severity_bias = 1.00 +} +11523 = { + winter_severity_bias = 1.00 +} +11524 = { + winter_severity_bias = 1.00 +} +11525 = { + winter_severity_bias = 0.85 +} +11526 = { + winter_severity_bias = 1.00 +} +11930 = { + winter_severity_bias = 1.00 +} +11931 = { + winter_severity_bias = 1.00 +} +11932 = { + winter_severity_bias = 1.00 +} +12483 = { #northeast Manchurians mountains + winter_severity_bias = 1.00 +} +12484 = { #northeast Manchurians mountains + winter_severity_bias = 1.00 +} +12485 = { #northeast Manchurians mountains + winter_severity_bias = 1.00 +} +12486 = { #northeast Manchurians mountains + winter_severity_bias = 1.00 +} + +############ +# WASTELAND +############ +730 = { + winter_severity_bias = 0.0 +} +731 = { + winter_severity_bias = 0.0 +} +1280 = { + winter_severity_bias = 0.0 +} +1320 = { + winter_severity_bias = 0.0 +} +1322 = { + winter_severity_bias = 0.0 +} +1326 = { + winter_severity_bias = 0.0 +} +1330 = { + winter_severity_bias = 0.0 +} +1332 = { + winter_severity_bias = 0.0 +} +1335 = { + winter_severity_bias = 0.0 +} +1343 = { + winter_severity_bias = 0.0 +} +1344 = { + winter_severity_bias = 0.0 +} +1373 = { + winter_severity_bias = 0.0 +} +1379 = { + winter_severity_bias = 0.0 +} +1380 = { + winter_severity_bias = 0.0 +} +1464 = { + winter_severity_bias = 1.0 +} +1466 = { + winter_severity_bias = 0.0 +} +1468 = { + winter_severity_bias = 0.0 +} +1469 = { + winter_severity_bias = 0.0 +} +3390 = { + winter_severity_bias = 0.0 +} +3970 = { + winter_severity_bias = 0.0 +} +5512 = { + winter_severity_bias = 0.70 +} +5513 = { + winter_severity_bias = 0.40 +} +5514 = { + winter_severity_bias = 0.40 +} +5755 = { + winter_severity_bias = @azerbaijan_mountains +} +6114 = { + winter_severity_bias = 0.0 +} +6115 = { + winter_severity_bias = 0.0 +} +6123 = { + winter_severity_bias = 0.0 +} +6124 = { + winter_severity_bias = 0.0 +} +6142 = { + winter_severity_bias = 0.0 +} +6167 = { + winter_severity_bias = 0.0 +} +6173 = { + winter_severity_bias = 0.0 +} +6202 = { + winter_severity_bias = 0.0 +} +6256 = { + winter_severity_bias = 0.0 +} +6277 = { + winter_severity_bias = 0.0 +} +6318 = { + winter_severity_bias = 0.0 +} +6319 = { + winter_severity_bias = 0.0 +} +6320 = { + winter_severity_bias = 0.0 +} +6323 = { + winter_severity_bias = 0.0 +} +6324 = { + winter_severity_bias = 0.0 +} +6325 = { + winter_severity_bias = 0.0 +} +6326 = { + winter_severity_bias = 0.0 +} +6327 = { + winter_severity_bias = 0.0 +} +6328 = { + winter_severity_bias = 0.0 +} +8711 = { + winter_severity_bias = 0.0 +} +9661 = { + winter_severity_bias = 0.0 +} + +####################### +# IMPASSABLE SEA ZONES +####################### +660 = { + winter_severity_bias = 0.0 +} +976 = { + winter_severity_bias = 0.0 +} +978 = { + winter_severity_bias = 0.0 +} +984 = { + winter_severity_bias = 0.0 +} +998 = { + winter_severity_bias = 0.0 +} +1293 = { + winter_severity_bias = 0.0 +} +1465 = { + winter_severity_bias = 0.0 +} +1467 = { + winter_severity_bias = 0.0 +} +8690 = { + winter_severity_bias = 0.0 +} +8691 = { + winter_severity_bias = 0.0 +} +8701 = { + winter_severity_bias = 0.0 +} + +################### +# UNUSED PROVINCES +################### + +8802 = { + winter_severity_bias = 0.0 +} +8803 = { + winter_severity_bias = 0.0 +} +8804 = { + winter_severity_bias = 0.0 +} +8805 = { + winter_severity_bias = 0.0 +} +8806 = { + winter_severity_bias = 0.0 +} +8807 = { + winter_severity_bias = 0.0 +} +8808 = { + winter_severity_bias = 0.0 +} +8809 = { + winter_severity_bias = 0.0 +} +8810 = { + winter_severity_bias = 0.0 +} +8811 = { + winter_severity_bias = 0.0 +} +8812 = { + winter_severity_bias = 0.0 +} +8813 = { + winter_severity_bias = 0.0 +} +8814 = { + winter_severity_bias = 0.0 +} +8815 = { + winter_severity_bias = 0.0 +} +8816 = { + winter_severity_bias = 0.0 +} +8817 = { + winter_severity_bias = 0.0 +} +8818 = { + winter_severity_bias = 0.0 +} +8819 = { + winter_severity_bias = 0.0 +} +8820 = { + winter_severity_bias = 0.0 +} +8821 = { + winter_severity_bias = 0.0 +} +8822 = { + winter_severity_bias = 0.0 +} +8823 = { + winter_severity_bias = 0.0 +} +8824 = { + winter_severity_bias = 0.0 +} +8825 = { + winter_severity_bias = 0.0 +} +8826 = { + winter_severity_bias = 0.0 +} +8827 = { + winter_severity_bias = 0.0 +} +8828 = { + winter_severity_bias = 0.0 +} +8829 = { + winter_severity_bias = 0.0 +} +8830 = { + winter_severity_bias = 0.0 +} +8831 = { + winter_severity_bias = 0.0 +} +8832 = { + winter_severity_bias = 0.0 +} +8833 = { + winter_severity_bias = 0.0 +} +8834 = { + winter_severity_bias = 0.0 +} +8835 = { + winter_severity_bias = 0.0 +} +8836 = { + winter_severity_bias = 0.0 +} +8837 = { + winter_severity_bias = 0.0 +} +8838 = { + winter_severity_bias = 0.0 +} +8839 = { + winter_severity_bias = 0.0 +} +8840 = { + winter_severity_bias = 0.0 +} +8841 = { + winter_severity_bias = 0.0 +} +8842 = { + winter_severity_bias = 0.0 +} +8843 = { + winter_severity_bias = 0.0 +} +8844 = { + winter_severity_bias = 0.0 +} +8845 = { + winter_severity_bias = 0.0 +} +8846 = { + winter_severity_bias = 0.0 +} +8847 = { + winter_severity_bias = 0.0 +} +8848 = { + winter_severity_bias = 0.0 +} +8849 = { + winter_severity_bias = 0.0 +} +8850 = { + winter_severity_bias = 0.0 +} +8851 = { + winter_severity_bias = 0.0 +} +8852 = { + winter_severity_bias = 0.0 +} +8853 = { + winter_severity_bias = 0.0 +} +8854 = { + winter_severity_bias = 0.0 +} +8855 = { + winter_severity_bias = 0.0 +} +8856 = { + winter_severity_bias = 0.0 +} +8857 = { + winter_severity_bias = 0.0 +} +8858 = { + winter_severity_bias = 0.0 +} +8859 = { + winter_severity_bias = 0.0 +} +8860 = { + winter_severity_bias = 0.0 +} +8861 = { + winter_severity_bias = 0.0 +} +8862 = { + winter_severity_bias = 0.0 +} +8863 = { + winter_severity_bias = 0.0 +} +8864 = { + winter_severity_bias = 0.0 +} +8865 = { + winter_severity_bias = 0.0 +} +8866 = { + winter_severity_bias = 0.0 +} +8867 = { + winter_severity_bias = 0.0 +} +8868 = { + winter_severity_bias = 0.0 +} +8869 = { + winter_severity_bias = 0.0 +} +8870 = { + winter_severity_bias = 0.0 +} +8871 = { + winter_severity_bias = 0.0 +} +8872 = { + winter_severity_bias = 0.0 +} +8873 = { + winter_severity_bias = 0.0 +} +8874 = { + winter_severity_bias = 0.0 +} +8875 = { + winter_severity_bias = 0.0 +} +8876 = { + winter_severity_bias = 0.0 +} +8877 = { + winter_severity_bias = 0.0 +} +8878 = { + winter_severity_bias = 0.0 +} +8879 = { + winter_severity_bias = 0.0 +} +8880 = { + winter_severity_bias = 0.0 +} +8881 = { + winter_severity_bias = 0.0 +} +8882 = { + winter_severity_bias = 0.0 +} +8883 = { + winter_severity_bias = 0.0 +} +8884 = { + winter_severity_bias = 0.0 +} +8885 = { + winter_severity_bias = 0.0 +} +8886 = { + winter_severity_bias = 0.0 +} +8887 = { + winter_severity_bias = 0.0 +} +8888 = { + winter_severity_bias = 0.0 +} +8889 = { + winter_severity_bias = 0.0 +} +8890 = { + winter_severity_bias = 0.0 +} +8891 = { + winter_severity_bias = 0.0 +} +8892 = { + winter_severity_bias = 0.0 +} +8893 = { + winter_severity_bias = 0.0 +} +8894 = { + winter_severity_bias = 0.0 +} +8895 = { + winter_severity_bias = 0.0 +} +8896 = { + winter_severity_bias = 0.0 +} +8897 = { + winter_severity_bias = 0.0 +} +8898 = { + winter_severity_bias = 0.0 +} +8899 = { + winter_severity_bias = 0.0 +} +8900 = { + winter_severity_bias = 0.0 +} +8901 = { + winter_severity_bias = 0.0 +} +8902 = { + winter_severity_bias = 0.0 +} +8903 = { + winter_severity_bias = 0.0 +} +8904 = { + winter_severity_bias = 0.0 +} +8905 = { + winter_severity_bias = 0.0 +} +8906 = { + winter_severity_bias = 0.0 +} +8907 = { + winter_severity_bias = 0.0 +} +8908 = { + winter_severity_bias = 0.0 +} +8909 = { + winter_severity_bias = 0.0 +} +8910 = { + winter_severity_bias = 0.0 +} +8911 = { + winter_severity_bias = 0.0 +} +8912 = { + winter_severity_bias = 0.0 +} +8913 = { + winter_severity_bias = 0.0 +} +8914 = { + winter_severity_bias = 0.0 +} +8915 = { + winter_severity_bias = 0.0 +} +8916 = { + winter_severity_bias = 0.0 +} +8917 = { + winter_severity_bias = 0.0 +} +8918 = { + winter_severity_bias = 0.0 +} +8919 = { + winter_severity_bias = 0.0 +} +8920 = { + winter_severity_bias = 0.0 +} +8921 = { + winter_severity_bias = 0.0 +} +8922 = { + winter_severity_bias = 0.0 +} +8923 = { + winter_severity_bias = 0.0 +} +8924 = { + winter_severity_bias = 0.0 +} +8925 = { + winter_severity_bias = 0.0 +} +8926 = { + winter_severity_bias = 0.0 +} +8927 = { + winter_severity_bias = 0.0 +} +8928 = { + winter_severity_bias = 0.0 +} +8929 = { + winter_severity_bias = 0.0 +} +8930 = { + winter_severity_bias = 0.0 +} +8931 = { + winter_severity_bias = 0.0 +} +8932 = { + winter_severity_bias = 0.0 +} +8933 = { + winter_severity_bias = 0.0 +} +8934 = { + winter_severity_bias = 0.0 +} +8935 = { + winter_severity_bias = 0.0 +} +8936 = { + winter_severity_bias = 0.0 +} +8937 = { + winter_severity_bias = 0.0 +} +8938 = { + winter_severity_bias = 0.0 +} +8939 = { + winter_severity_bias = 0.0 +} +8940 = { + winter_severity_bias = 0.0 +} +8941 = { + winter_severity_bias = 0.0 +} +8942 = { + winter_severity_bias = 0.0 +} +8943 = { + winter_severity_bias = 0.0 +} +8944 = { + winter_severity_bias = 0.0 +} +8945 = { + winter_severity_bias = 0.0 +} +8946 = { + winter_severity_bias = 0.0 +} +8947 = { + winter_severity_bias = 0.0 +} +8948 = { + winter_severity_bias = 0.0 +} +8949 = { + winter_severity_bias = 0.0 +} +8950 = { + winter_severity_bias = 0.0 +} +8951 = { + winter_severity_bias = 0.0 +} +8952 = { + winter_severity_bias = 0.0 +} +8953 = { + winter_severity_bias = 0.0 +} +8954 = { + winter_severity_bias = 0.0 +} +8955 = { + winter_severity_bias = 0.0 +} +8956 = { + winter_severity_bias = 0.0 +} +8957 = { + winter_severity_bias = 0.0 +} +8958 = { + winter_severity_bias = 0.0 +} +8959 = { + winter_severity_bias = 0.0 +} +8960 = { + winter_severity_bias = 0.0 +} +8961 = { + winter_severity_bias = 0.0 +} +8962 = { + winter_severity_bias = 0.0 +} +8963 = { + winter_severity_bias = 0.0 +} +8964 = { + winter_severity_bias = 0.0 +} +8965 = { + winter_severity_bias = 0.0 +} +8966 = { + winter_severity_bias = 0.0 +} +8967 = { + winter_severity_bias = 0.0 +} +8968 = { + winter_severity_bias = 0.0 +} +8969 = { + winter_severity_bias = 0.0 +} +8970 = { + winter_severity_bias = 0.0 +} +8971 = { + winter_severity_bias = 0.0 +} +8972 = { + winter_severity_bias = 0.0 +} +8973 = { + winter_severity_bias = 0.0 +} +8974 = { + winter_severity_bias = 0.0 +} +8975 = { + winter_severity_bias = 0.0 +} +8976 = { + winter_severity_bias = 0.0 +} +8977 = { + winter_severity_bias = 0.0 +} +8978 = { + winter_severity_bias = 0.0 +} +8979 = { + winter_severity_bias = 0.0 +} +8980 = { + winter_severity_bias = 0.0 +} +8981 = { + winter_severity_bias = 0.0 +} +8982 = { + winter_severity_bias = 0.0 +} +8983 = { + winter_severity_bias = 0.0 +} +8984 = { + winter_severity_bias = 0.0 +} +8985 = { + winter_severity_bias = 0.0 +} +8986 = { + winter_severity_bias = 0.0 +} +8987 = { + winter_severity_bias = 0.0 +} +8988 = { + winter_severity_bias = 0.0 +} +8989 = { + winter_severity_bias = 0.0 +} +8990 = { + winter_severity_bias = 0.0 +} +8991 = { + winter_severity_bias = 0.0 +} +8992 = { + winter_severity_bias = 0.0 +} +# korea +# c_myeongju +9858 = { winter_severity_bias = 0.60 } +9859 = { winter_severity_bias = 0.50 } +9860 = { winter_severity_bias = 0.60 } +# c_goseong +9862 = { winter_severity_bias = 0.50 } +9863 = { winter_severity_bias = 0.50 } +9864 = { winter_severity_bias = 0.40 } +# c_deungju +9865 = { winter_severity_bias = 0.50 } +9866 = { winter_severity_bias = 0.50 } +9867 = { winter_severity_bias = 0.60 } +9868 = { winter_severity_bias = 0.40 } +# c_inje +9870 = { winter_severity_bias = 0.60 } +9872 = { winter_severity_bias = 0.60 } +# c_gyoju +9873 = { winter_severity_bias = 0.50 } +9874 = { winter_severity_bias = 0.50 } +9875 = { winter_severity_bias = 0.50 } +# c_dongju +9876 = { winter_severity_bias = 0.60 } +9877 = { winter_severity_bias = 0.50 } +9878 = { winter_severity_bias = 0.50 } +9879 = { winter_severity_bias = 0.50 } +# c_chunju +9880 = { winter_severity_bias = 0.50 } +9881 = { winter_severity_bias = 0.50 } +9882 = { winter_severity_bias = 0.50 } +# c_yeongwon +9883 = { winter_severity_bias = 0.60 } +9884 = { winter_severity_bias = 0.60 } +9885 = { winter_severity_bias = 0.60 } +9886 = { winter_severity_bias = 0.60 } +# c_jangjeong +9887 = { winter_severity_bias = 0.60 } +9888 = { winter_severity_bias = 0.60 } +12454 = { winter_severity_bias = 0.60 } +# c_ulju +9889 = { winter_severity_bias = 0.60 } +9890 = { winter_severity_bias = 0.50 } +# c_gwiju +9891 = { winter_severity_bias = 0.60 } +9892 = { winter_severity_bias = 0.50 } +9893 = { winter_severity_bias = 0.60 } +# c_taeju +9894 = { winter_severity_bias = 0.60 } +9895 = { winter_severity_bias = 0.60 } +9896 = { winter_severity_bias = 0.60 } +# c_seogyeong +9897 = { winter_severity_bias = 0.50 } +9898 = { winter_severity_bias = 0.50 } +9899 = { winter_severity_bias = 0.50 } +9900 = { winter_severity_bias = 0.50 } +# c_seongju +9901 = { winter_severity_bias = 0.50 } +9902 = { winter_severity_bias = 0.50 } +9903 = { winter_severity_bias = 0.60 } +9904 = { winter_severity_bias = 0.60 } +# c_gaeseong +9905 = { winter_severity_bias = 0.50 } +9906 = { winter_severity_bias = 0.50 } +9907 = { winter_severity_bias = 0.50 } +9945 = { winter_severity_bias = 0.50 } +# c_gokju +9908 = { winter_severity_bias = 0.50 } +9909 = { winter_severity_bias = 0.50 } +9910 = { winter_severity_bias = 0.50 } +9911 = { winter_severity_bias = 0.50 } +# c_hwangju +9912 = { winter_severity_bias = 0.50 } +9913 = { winter_severity_bias = 0.50 } +9914 = { winter_severity_bias = 0.50 } +9915 = { winter_severity_bias = 0.50 } +# c_pungju +9916 = { winter_severity_bias = 0.50 } +9917 = { winter_severity_bias = 0.50 } +9918 = { winter_severity_bias = 0.50 } +# c_haeju +9919 = { winter_severity_bias = 0.50 } +9920 = { winter_severity_bias = 0.50 } +# c_pyeongju +9921 = { winter_severity_bias = 0.50 } +9922 = { winter_severity_bias = 0.50 } +# c_gwangju +9923 = { winter_severity_bias = 0.50 } +9924 = { winter_severity_bias = 0.50 } +9925 = { winter_severity_bias = 0.40 } +9939 = { winter_severity_bias = 0.40 } +# c_wonju +9926 = { winter_severity_bias = 0.60 } +9928 = { winter_severity_bias = 0.50 } +9929 = { winter_severity_bias = 0.50 } +# c_yeongwol +9930 = { winter_severity_bias = 0.60 } +9931 = { winter_severity_bias = 0.50 } +9932 = { winter_severity_bias = 0.50 } +9871 = { winter_severity_bias = 0.60 } +# c_chungju +9933 = { winter_severity_bias = 0.40 } +9934 = { winter_severity_bias = 0.40 } +9935 = { winter_severity_bias = 0.40 } +9983 = { winter_severity_bias = 0.40 } +# c_cheongju +9936 = { winter_severity_bias = 0.40 } +9937 = { winter_severity_bias = 0.40 } +9938 = { winter_severity_bias = 0.40 } +9940 = { winter_severity_bias = 0.40 } +# c_hongju +9927 = { winter_severity_bias = 0.40 } +9941 = { winter_severity_bias = 0.40 } +9942 = { winter_severity_bias = 0.40 } +9943 = { winter_severity_bias = 0.40 } +9944 = { winter_severity_bias = 0.40 } +# c_dangseong +9946 = { winter_severity_bias = 0.40 } +9947 = { winter_severity_bias = 0.40 } +9948 = { winter_severity_bias = 0.40 } +# c_hampyeong +9949 = { winter_severity_bias = 0.40 } +9950 = { winter_severity_bias = 0.30 } +9966 = { winter_severity_bias = 0.30 } +9967 = { winter_severity_bias = 0.40 } +# c_jeonju +9951 = { winter_severity_bias = 0.40 } +9952 = { winter_severity_bias = 0.40 } +9953 = { winter_severity_bias = 0.40 } +# c_jangheung +9954 = { winter_severity_bias = 0.30 } +9955 = { winter_severity_bias = 0.30 } +9956 = { winter_severity_bias = 0.30 } +# c_jillye +9957 = { winter_severity_bias = 0.40 } +9958 = { winter_severity_bias = 0.40 } +9959 = { winter_severity_bias = 0.40 } +# c_namwon +9960 = { winter_severity_bias = 0.40 } +9961 = { winter_severity_bias = 0.40 } +9962 = { winter_severity_bias = 0.40 } +# c_boseong +9963 = { winter_severity_bias = 0.40 } +9964 = { winter_severity_bias = 0.40 } +9965 = { winter_severity_bias = 0.30 } +# c_tamna +9856 = { winter_severity_bias = 0.30 } +9969 = { winter_severity_bias = 0.30 } +# c_ulleong +9869 = { winter_severity_bias = 0.50 } +# c_gyeongju +9970 = { winter_severity_bias = 0.40 } +9971 = { winter_severity_bias = 0.50 } +9972 = { winter_severity_bias = 0.40 } +9973 = { winter_severity_bias = 0.40 } +# c_ulju +9974 = { winter_severity_bias = 0.40 } +9975 = { winter_severity_bias = 0.40 } +9976 = { winter_severity_bias = 0.40 } +# c_andong +9977 = { winter_severity_bias = 0.60 } +9978 = { winter_severity_bias = 0.60 } +9979 = { winter_severity_bias = 0.50 } +# c_jinju +9980 = { winter_severity_bias = 0.40 } +9981 = { winter_severity_bias = 0.40 } +9982 = { winter_severity_bias = 0.40 } +# c_sangju +9984 = { winter_severity_bias = 0.40 } +9985 = { winter_severity_bias = 0.40 } +9986 = { winter_severity_bias = 0.50 } +# c_hamyang +9987 = { winter_severity_bias = 0.40 } +9988 = { winter_severity_bias = 0.40 } +9989 = { winter_severity_bias = 0.40 } +9990 = { winter_severity_bias = 0.40 } +# c_ilseon +9991 = { winter_severity_bias = 0.40 } +9992 = { winter_severity_bias = 0.40 } +9993 = { winter_severity_bias = 0.40 } +# yeongsan +9994 = { winter_severity_bias = 0.40 } +9995 = { winter_severity_bias = 0.40 } +# mountains +9664 = { winter_severity_bias = 0.60 } +9968 = { winter_severity_bias = 0.60 } +12917 = { winter_severity_bias = 0.60 } +12918 = { winter_severity_bias = 0.50 } +12919 = { winter_severity_bias = 0.60 } +12920 = { winter_severity_bias = 0.50 } +# japan +# c_tosa +10501 = { winter_severity_bias = 0.40 } +10502 = { winter_severity_bias = 0.40 } +10503 = { winter_severity_bias = 0.40 } +10504 = { winter_severity_bias = 0.30 } +10505 = { winter_severity_bias = 0.30 } +# c_iyo +10506 = { winter_severity_bias = 0.40 } +10507 = { winter_severity_bias = 0.40 } +10508 = { winter_severity_bias = 0.40 } +10509 = { winter_severity_bias = 0.40 } +10510 = { winter_severity_bias = 0.30 } +# c_awa +10511 = { winter_severity_bias = 0.40 } +10512 = { winter_severity_bias = 0.40 } +10513 = { winter_severity_bias = 0.40 } +10514 = { winter_severity_bias = 0.40 } +# c_sanuki +10515 = { winter_severity_bias = 0.40 } +10516 = { winter_severity_bias = 0.40 } +10517 = { winter_severity_bias = 0.40 } +# c_bungo +10518 = { winter_severity_bias = 0.40 } +10520 = { winter_severity_bias = 0.40 } +10522 = { winter_severity_bias = 0.40 } +10523 = { winter_severity_bias = 0.40 } +10524 = { winter_severity_bias = 0.40 } +# c_buzen +10525 = { winter_severity_bias = 0.30 } +10526 = { winter_severity_bias = 0.30 } +10527 = { winter_severity_bias = 0.30 } +# c_chikuzen +10528 = { winter_severity_bias = 0.30 } +10529 = { winter_severity_bias = 0.30 } +10530 = { winter_severity_bias = 0.30 } +10531 = { winter_severity_bias = 0.30 } +# c_chikugo +10532 = { winter_severity_bias = 0.30 } +10533 = { winter_severity_bias = 0.30 } +# c_hizen +10534 = { winter_severity_bias = 0.30 } +10536 = { winter_severity_bias = 0.30 } +10538 = { winter_severity_bias = 0.30 } +10539 = { winter_severity_bias = 0.30 } +# c_hyuga +10540 = { winter_severity_bias = 0.40 } +10541 = { winter_severity_bias = 0.40 } +10542 = { winter_severity_bias = 0.30 } +10543 = { winter_severity_bias = 0.30 } +10544 = { winter_severity_bias = 0.30 } +# c_osumi +10545 = { winter_severity_bias = 0.20 } +10546 = { winter_severity_bias = 0.30 } +10547 = { winter_severity_bias = 0.20 } +10560 = { winter_severity_bias = 0.20 } +# c_higo +10550 = { winter_severity_bias = 0.40 } +10551 = { winter_severity_bias = 0.30 } +10552 = { winter_severity_bias = 0.40 } +10554 = { winter_severity_bias = 0.30 } +10555 = { winter_severity_bias = 0.30 } +10556 = { winter_severity_bias = 0.30 } +# c_satsuma +10557 = { winter_severity_bias = 0.20 } +10558 = { winter_severity_bias = 0.30 } +10559 = { winter_severity_bias = 0.30 } +10561 = { winter_severity_bias = 0.20 } +# c_tsushima +10563 = { winter_severity_bias = 0.50 } +# c_nagato +10566 = { winter_severity_bias = 0.40 } +10567 = { winter_severity_bias = 0.40 } +10568 = { winter_severity_bias = 0.60 } +10569 = { winter_severity_bias = 0.60 } +# c_suo +10570 = { winter_severity_bias = 0.40 } +10571 = { winter_severity_bias = 0.40 } +10572 = { winter_severity_bias = 0.40 } +10573 = { winter_severity_bias = 0.40 } +# c_aki +10574 = { winter_severity_bias = 0.60 } +10575 = { winter_severity_bias = 0.40 } +10576 = { winter_severity_bias = 0.40 } +10577 = { winter_severity_bias = 0.60 } +# c_bingo +10578 = { winter_severity_bias = 0.50 } +10579 = { winter_severity_bias = 0.50 } +10580 = { winter_severity_bias = 0.60 } +10581 = { winter_severity_bias = 0.60 } +# c_bitchu +10583 = { winter_severity_bias = 0.50 } +10584 = { winter_severity_bias = 0.60 } +10585 = { winter_severity_bias = 0.60 } +# c_bizen +10587 = { winter_severity_bias = 0.50 } +10589 = { winter_severity_bias = 0.50 } +# c_mimasaka +10590 = { winter_severity_bias = 0.60 } +10591 = { winter_severity_bias = 0.60 } +10592 = { winter_severity_bias = 0.70 } +# c_harima +10593 = { winter_severity_bias = 0.50 } +10594 = { winter_severity_bias = 0.50 } +10595 = { winter_severity_bias = 0.50 } +10596 = { winter_severity_bias = 0.60 } +10597 = { winter_severity_bias = 0.60 } +# c_settsu +10598 = { winter_severity_bias = 0.50 } +10599 = { winter_severity_bias = 0.50 } +10600 = { winter_severity_bias = 0.60 } +# c_kawachi +10601 = { winter_severity_bias = 0.50 } +10602 = { winter_severity_bias = 0.50 } +10606 = { winter_severity_bias = 0.50 } +# c_yamashiro +10603 = { winter_severity_bias = 0.50 } +10604 = { winter_severity_bias = 0.50 } +# c_awaji +10608 = { winter_severity_bias = 0.50 } +# c_yamato +10609 = { winter_severity_bias = 0.50 } +10610 = { winter_severity_bias = 0.60 } +10611 = { winter_severity_bias = 0.50 } +10613 = { winter_severity_bias = 0.50 } +# c_kii +10614 = { winter_severity_bias = 0.50 } +10615 = { winter_severity_bias = 0.60 } +10616 = { winter_severity_bias = 0.40 } +10617 = { winter_severity_bias = 0.40 } +10618 = { winter_severity_bias = 0.40 } +# c_iwami +10619 = { winter_severity_bias = 0.60 } +10620 = { winter_severity_bias = 0.70 } +10621 = { winter_severity_bias = 0.60 } +10622 = { winter_severity_bias = 0.60 } +# c_izumo +10623 = { winter_severity_bias = 0.60 } +10624 = { winter_severity_bias = 0.60 } +10625 = { winter_severity_bias = 0.70 } +10626 = { winter_severity_bias = 0.70 } +# c_oki +10641 = { winter_severity_bias = 0.70 } +# c_hoki +10627 = { winter_severity_bias = 0.60 } +10628 = { winter_severity_bias = 0.60 } +10629 = { winter_severity_bias = 0.60 } +# c_inaba +10630 = { winter_severity_bias = 0.60 } +10631 = { winter_severity_bias = 0.60 } +10632 = { winter_severity_bias = 0.60 } +# c_tajima +10633 = { winter_severity_bias = 0.60 } +10634 = { winter_severity_bias = 0.60 } +10635 = { winter_severity_bias = 0.60 } +# c_tango +10636 = { winter_severity_bias = 0.60 } +10637 = { winter_severity_bias = 0.60 } +# c_tanba +10638 = { winter_severity_bias = 0.60 } +10639 = { winter_severity_bias = 0.60 } +10640 = { winter_severity_bias = 0.60 } +# c_amami +10643 = { winter_severity_bias = 0.25 } +# c_ucinaa +10645 = { winter_severity_bias = 0.10 } +10646 = { winter_severity_bias = 0.10 } +10647 = { winter_severity_bias = 0.10 } +# c_echigo +10649 = { winter_severity_bias = 0.70 } +10650 = { winter_severity_bias = 0.80 } +10651 = { winter_severity_bias = 0.80 } +10652 = { winter_severity_bias = 0.70 } +10653 = { winter_severity_bias = 0.80 } +10696 = { winter_severity_bias = 0.80 } +# c_hida +10654 = { winter_severity_bias = 0.70 } +10655 = { winter_severity_bias = 0.70 } +10656 = { winter_severity_bias = 0.60 } +# c_shinano +10660 = { winter_severity_bias = 0.60 } +10662 = { winter_severity_bias = 0.70 } +10663 = { winter_severity_bias = 0.60 } +10664 = { winter_severity_bias = 0.70 } +# c_kozuke +10670 = { winter_severity_bias = 0.70 } +10671 = { winter_severity_bias = 0.60 } +10672 = { winter_severity_bias = 0.60 } +10673 = { winter_severity_bias = 0.70 } +# c_etchu +10676 = { winter_severity_bias = 0.70 } +10677 = { winter_severity_bias = 0.70 } +# c_kaga +10678 = { winter_severity_bias = 0.70 } +10679 = { winter_severity_bias = 0.70 } +# c_shimotsuke +10665 = { winter_severity_bias = 0.60 } +10666 = { winter_severity_bias = 0.50 } +10667 = { winter_severity_bias = 0.50 } +10668 = { winter_severity_bias = 0.60 } +10669 = { winter_severity_bias = 0.60 } +# c_noto +10674 = { winter_severity_bias = 0.70 } +10675 = { winter_severity_bias = 0.60 } +# c_kai +10680 = { winter_severity_bias = 0.60 } +10682 = { winter_severity_bias = 0.60 } +10683 = { winter_severity_bias = 0.60 } +# c_suruga +10685 = { winter_severity_bias = 0.60 } +10686 = { winter_severity_bias = 0.50 } +10687 = { winter_severity_bias = 0.50 } +# c_totomi +10688 = { winter_severity_bias = 0.50 } +10690 = { winter_severity_bias = 0.50 } +10691 = { winter_severity_bias = 0.50 } +# c_isawa +10692 = { winter_severity_bias = 0.60 } +10693 = { winter_severity_bias = 0.70 } +10694 = { winter_severity_bias = 0.60 } +10697 = { winter_severity_bias = 0.60 } +# C_korehari +10698 = { winter_severity_bias = 0.70 } +10699 = { winter_severity_bias = 0.60 } +10770 = { winter_severity_bias = 0.60 } +10771 = { winter_severity_bias = 0.60 } +10773 = { winter_severity_bias = 0.60 } +# c_tsugaru +10700 = { winter_severity_bias = 0.80 } +10701 = { winter_severity_bias = 0.80 } +10702 = { winter_severity_bias = 0.80 } +10703 = { winter_severity_bias = 0.80 } +# c_akita +10704 = { winter_severity_bias = 0.70 } +10705 = { winter_severity_bias = 0.80 } +10706 = { winter_severity_bias = 0.80 } +10707 = { winter_severity_bias = 0.80 } +10708 = { winter_severity_bias = 0.70 } +# c_tokisara +10709 = { winter_severity_bias = 0.70 } +10710 = { winter_severity_bias = 0.80 } +10711 = { winter_severity_bias = 0.80 } +# c_iwase +10712 = { winter_severity_bias = 0.80 } +10714 = { winter_severity_bias = 0.80 } +10716 = { winter_severity_bias = 0.70 } +10717 = { winter_severity_bias = 0.70 } +# c_iwaki +10718 = { winter_severity_bias = 0.60 } +10719 = { winter_severity_bias = 0.60 } +10720 = { winter_severity_bias = 0.70 } +# c_hitachi +10722 = { winter_severity_bias = 0.50 } +10724 = { winter_severity_bias = 0.60 } +10725 = { winter_severity_bias = 0.60 } +10726 = { winter_severity_bias = 0.50 } +10772 = { winter_severity_bias = 0.50 } +# c_musashi +10727 = { winter_severity_bias = 0.50 } +10729 = { winter_severity_bias = 0.60 } +10730 = { winter_severity_bias = 0.50 } +10731 = { winter_severity_bias = 0.50 } +10732 = { winter_severity_bias = 0.50 } +# c_echizen +10733 = { winter_severity_bias = 0.80 } +10734 = { winter_severity_bias = 0.70 } +10735 = { winter_severity_bias = 0.70 } +10736 = { winter_severity_bias = 0.60 } +10737 = { winter_severity_bias = 0.60 } +# c_ise +10738 = { winter_severity_bias = 0.40 } +10755 = { winter_severity_bias = 0.50 } +10756 = { winter_severity_bias = 0.40 } +10757 = { winter_severity_bias = 0.40 } +10758 = { winter_severity_bias = 0.40 } +# c_owari +10739 = { winter_severity_bias = 0.60 } +10740 = { winter_severity_bias = 0.60 } +10741 = { winter_severity_bias = 0.50 } +10742 = { winter_severity_bias = 0.50 } +# c_mino +10743 = { winter_severity_bias = 0.60 } +10744 = { winter_severity_bias = 0.60 } +10746 = { winter_severity_bias = 0.60 } +10747 = { winter_severity_bias = 0.50 } +# c_mikawa +10748 = { winter_severity_bias = 0.50 } +10749 = { winter_severity_bias = 0.50 } +10750 = { winter_severity_bias = 0.50 } +10751 = { winter_severity_bias = 0.50 } +# c_owari +10752 = { winter_severity_bias = 0.50 } +10753 = { winter_severity_bias = 0.50 } +10754 = { winter_severity_bias = 0.50 } +# c_kazusa +10760 = { winter_severity_bias = 0.50 } +10761 = { winter_severity_bias = 0.50 } +10762 = { winter_severity_bias = 0.50 } +# c_shimosa +10721 = { winter_severity_bias = 0.50 } +10767 = { winter_severity_bias = 0.50 } +10768 = { winter_severity_bias = 0.50 } +10769 = { winter_severity_bias = 0.50 } +# c_sagami +10684 = { winter_severity_bias = 0.50 } +10765 = { winter_severity_bias = 0.50 } +10766 = { winter_severity_bias = 0.50 } +# c_izu +10763 = { winter_severity_bias = 0.50 } +10764 = { winter_severity_bias = 0.50 } +# mountains +10562 = { winter_severity_bias = 0.60 } +10582 = { winter_severity_bias = 0.70 } +10586 = { winter_severity_bias = 0.70 } +10588 = { winter_severity_bias = 0.60 } +10605 = { winter_severity_bias = 0.60 } +10607 = { winter_severity_bias = 0.70 } +10612 = { winter_severity_bias = 0.70 } +10648 = { winter_severity_bias = 0.60 } +10689 = { winter_severity_bias = 0.70 } +12904 = { winter_severity_bias = 0.70 } +12905 = { winter_severity_bias = 0.70 } +12906 = { winter_severity_bias = 0.70 } +12907 = { winter_severity_bias = 0.70 } +12908 = { winter_severity_bias = 0.70 } +12909 = { winter_severity_bias = 0.70 } +12910 = { winter_severity_bias = 0.70 } +12911 = { winter_severity_bias = 0.70 } +12912 = { winter_severity_bias = 0.70 } +12913 = { winter_severity_bias = 0.70 } +12914 = { winter_severity_bias = 0.60 } +12915 = { winter_severity_bias = 0.60 } +12916 = { winter_severity_bias = 0.60 } +12921 = { winter_severity_bias = 0.60 } +# hokkaido/sakhalin +# c_uskes +10774 = { winter_severity_bias = 0.70 } +10775 = { winter_severity_bias = 0.70 } +10776 = { winter_severity_bias = 0.70 } +10782 = { winter_severity_bias = 0.70 } +# c_ioci +10777 = { winter_severity_bias = 0.80 } +10779 = { winter_severity_bias = 0.80 } +10780 = { winter_severity_bias = 0.70 } +10781 = { winter_severity_bias = 0.80 } +# c_sum +10783 = { winter_severity_bias = 0.70 } +10784 = { winter_severity_bias = 0.70 } +10785 = { winter_severity_bias = 0.70 } +10786 = { winter_severity_bias = 0.70 } +# c_menas +10787 = { winter_severity_bias = 0.70 } +10788 = { winter_severity_bias = 0.70 } +10789 = { winter_severity_bias = 0.70 } +# c_simenas +10790 = { winter_severity_bias = 0.70 } +10791 = { winter_severity_bias = 0.70 } +10792 = { winter_severity_bias = 0.70 } +10793 = { winter_severity_bias = 0.70 } +# c_soya +10794 = { winter_severity_bias = 0.70 } +10795 = { winter_severity_bias = 0.80 } +10796 = { winter_severity_bias = 0.80 } +10797 = { winter_severity_bias = 0.80 } +# c_iskar +10798 = { winter_severity_bias = 0.80 } +10799 = { winter_severity_bias = 0.80 } +10800 = { winter_severity_bias = 0.80 } +10801 = { winter_severity_bias = 0.80 } +# c_tarayka +12811 = { winter_severity_bias = 1.00 } +12810 = { winter_severity_bias = 1.00 } +12812 = { winter_severity_bias = 1.00 } +# c_pogibi +12813 = { winter_severity_bias = 1.00 } +12814 = { winter_severity_bias = 1.00 } +12815 = { winter_severity_bias = 1.00 } +# c_kusunkotan +12816 = { winter_severity_bias = 1.00 } +12817 = { winter_severity_bias = 1.00 } +12818 = { winter_severity_bias = 1.00 } +# c_kinasir +12819 = { winter_severity_bias = 0.90 } +12820 = { winter_severity_bias = 1.00 } + +3222 = { + winter_severity_bias = 0.0 +} +9663 = { + winter_severity_bias = 0.0 +} +9665 = { + winter_severity_bias = 0.70 +} +9667 = { + winter_severity_bias = 0.70 +} +9668 = { + winter_severity_bias = 0.70 +} +9669 = { + winter_severity_bias = 0.0 +} +9670 = { + winter_severity_bias = 0.70 +} +9671 = { + winter_severity_bias = 0.0 +} +9672 = { + winter_severity_bias = 0.0 +} +9673 = { + winter_severity_bias = 0.0 +} +9674 = { + winter_severity_bias = 0.0 +} +9675 = { + winter_severity_bias = 0.0 +} +9676 = { + winter_severity_bias = 0.0 +} +9679 = { + winter_severity_bias = 0.0 +} +9680 = { + winter_severity_bias = 0.0 +} +9681 = { + winter_severity_bias = 0.0 +} +9682 = { + winter_severity_bias = 0.0 +} +9683 = { + winter_severity_bias = 0.0 +} +9684 = { + winter_severity_bias = 0.10 +} +9685 = { + winter_severity_bias = 0.20 +} +9686 = { + winter_severity_bias = 0.70 +} +9687 = { + winter_severity_bias = 0.70 +} +9688 = { + winter_severity_bias = 0.70 +} +9689 = { + winter_severity_bias = 0.70 +} +9690 = { + winter_severity_bias = 0.70 +} +9691 = { + winter_severity_bias = 0.70 +} +9692 = { + winter_severity_bias = 0.70 +} +9693 = { + winter_severity_bias = 0.70 +} +9694 = { + winter_severity_bias = 0.70 +} +9695 = { + winter_severity_bias = 0.70 +} +9696 = { + winter_severity_bias = 0.70 +} +9697 = { + winter_severity_bias = 0.70 +} +9698 = { + winter_severity_bias = 0.70 +} +9699 = { + winter_severity_bias = 0.70 +} +9700 = { + winter_severity_bias = 0.70 +} +9701 = { + winter_severity_bias = 0.70 +} +9702 = { + winter_severity_bias = 0.70 +} +9703 = { + winter_severity_bias = 0.70 +} +9704 = { + winter_severity_bias = 0.70 +} +9705 = { + winter_severity_bias = 0.70 +} +9706 = { + winter_severity_bias = 0.70 +} +9707 = { + winter_severity_bias = 0.70 +} +9708 = { + winter_severity_bias = 0.70 +} +9709 = { + winter_severity_bias = 0.70 +} +9710 = { + winter_severity_bias = 0.70 +} +9711 = { + winter_severity_bias = 0.70 +} +9712 = { + winter_severity_bias = 0.70 +} +9713 = { + winter_severity_bias = 1.0 +} +9714 = { + winter_severity_bias = 0.10 +} +9715 = { + winter_severity_bias = 0.0 +} +9716 = { + winter_severity_bias = 0.10 +} +9717 = { + winter_severity_bias = 0.10 +} +9718 = { + winter_severity_bias = 0.10 +} +9719 = { + winter_severity_bias = 0.10 +} +9720 = { + winter_severity_bias = 0.10 +} +9721 = { + winter_severity_bias = 0.0 +} +9722 = { + winter_severity_bias = 0.0 +} +9724 = { + winter_severity_bias = 0.0 +} +9725 = { + winter_severity_bias = 0.0 +} +9726 = { + winter_severity_bias = 0.0 +} +9727 = { + winter_severity_bias = 0.0 +} +9728 = { + winter_severity_bias = 0.0 +} +9729 = { + winter_severity_bias = 0.0 +} +9730 = { + winter_severity_bias = 0.0 +} +9731 = { + winter_severity_bias = 0.0 +} +9732 = { + winter_severity_bias = 0.0 +} +9733 = { + winter_severity_bias = 0.0 +} +9734 = { + winter_severity_bias = 0.0 +} +9735 = { + winter_severity_bias = 0.0 +} +9736 = { + winter_severity_bias = 0.0 +} +9737 = { + winter_severity_bias = 0.10 +} +9738 = { + winter_severity_bias = 0.70 +} +9739 = { + winter_severity_bias = 0.10 +} +9740 = { + winter_severity_bias = 0.20 +} +9741 = { + winter_severity_bias = 0.20 +} +9742 = { + winter_severity_bias = 0.20 +} +9743 = { + winter_severity_bias = 0.20 +} +9744 = { + winter_severity_bias = 0.10 +} +9745 = { + winter_severity_bias = 0.10 +} +9746 = { + winter_severity_bias = 0.20 +} +9747 = { + winter_severity_bias = 0.20 +} +9748 = { + winter_severity_bias = 0.70 +} +9749 = { + winter_severity_bias = 0.20 +} +9750 = { + winter_severity_bias = 0.70 +} +9751 = { + winter_severity_bias = 0.70 +} +9752 = { + winter_severity_bias = 0.70 +} +9753 = { + winter_severity_bias = 0.70 +} +9754 = { + winter_severity_bias = 0.10 +} +9755 = { + winter_severity_bias = 0.20 +} +9756 = { + winter_severity_bias = 0.10 +} +9757 = { + winter_severity_bias = 0.0 +} +9758 = { + winter_severity_bias = 0.10 +} +9759 = { + winter_severity_bias = 0.10 +} +9760 = { + winter_severity_bias = 0.10 +} +9761 = { + winter_severity_bias = 0.70 +} +9762 = { + winter_severity_bias = 0.0 +} +9763 = { + winter_severity_bias = 0.70 +} +9764 = { + winter_severity_bias = 0.70 +} +9765 = { + winter_severity_bias = 0.70 +} +9766 = { + winter_severity_bias = 0.70 +} +9767 = { + winter_severity_bias = 0.70 +} +9768 = { + winter_severity_bias = 0.70 +} +9769 = { + winter_severity_bias = 0.70 +} +9770 = { + winter_severity_bias = 0.70 +} +9771 = { + winter_severity_bias = 0.70 +} +9772 = { + winter_severity_bias = 0.70 +} +9773 = { + winter_severity_bias = 0.70 +} +9774 = { + winter_severity_bias = 0.70 +} +9775 = { + winter_severity_bias = 0.70 +} +9776 = { + winter_severity_bias = 0.20 +} +9777 = { + winter_severity_bias = 0.20 +} +9778 = { + winter_severity_bias = 0.20 +} +9779 = { + winter_severity_bias = 0.20 +} +9780 = { + winter_severity_bias = 0.70 +} +9781 = { + winter_severity_bias = 0.0 +} +9782 = { + winter_severity_bias = 0.70 +} +9783 = { + winter_severity_bias = 0.0 +} +9784 = { + winter_severity_bias = 0.0 +} +9785 = { + winter_severity_bias = 0.0 +} +9786 = { + winter_severity_bias = 0.70 +} +9787 = { + winter_severity_bias = 0.70 +} +9788 = { + winter_severity_bias = 0.70 +} +9789 = { + winter_severity_bias = 0.70 +} +9790 = { + winter_severity_bias = 0.70 +} +9791 = { + winter_severity_bias = 0.70 +} +9792 = { + winter_severity_bias = 0.70 +} +9793 = { + winter_severity_bias = 0.70 +} +9794 = { + winter_severity_bias = 0.70 +} +9795 = { + winter_severity_bias = 0.70 +} +9796 = { + winter_severity_bias = 0.70 +} +9797 = { + winter_severity_bias = 0.70 +} +9798 = { + winter_severity_bias = 0.70 +} +9800 = { + winter_severity_bias = 0.70 +} +9801 = { + winter_severity_bias = 0.70 +} +9802 = { + winter_severity_bias = 0.0 +} +9803 = { + winter_severity_bias = 0.0 +} +9804 = { + winter_severity_bias = 0.70 +} +9805 = { + winter_severity_bias = 0.70 +} +9806 = { + winter_severity_bias = 0.70 +} +9807 = { + winter_severity_bias = 0.70 +} +9808 = { + winter_severity_bias = 0.70 +} +9809 = { + winter_severity_bias = 0.70 +} +9810 = { + winter_severity_bias = 0.70 +} +9811 = { + winter_severity_bias = 0.70 +} +9812 = { + winter_severity_bias = 0.70 +} +9813 = { + winter_severity_bias = 0.70 +} +9814 = { + winter_severity_bias = 0.70 +} +9815 = { + winter_severity_bias = 0.0 +} +9816 = { + winter_severity_bias = 0.0 +} +9817 = { + winter_severity_bias = 0.0 +} +9818 = { + winter_severity_bias = 0.70 +} +9819 = { + winter_severity_bias = 0.70 +} +9820 = { + winter_severity_bias = 0.70 +} +9821 = { + winter_severity_bias = 0.70 +} +9822 = { + winter_severity_bias = 0.70 +} +9823 = { + winter_severity_bias = 0.70 +} +9824 = { + winter_severity_bias = 0.70 +} +9825 = { + winter_severity_bias = 0.70 +} +9826 = { + winter_severity_bias = 0.20 +} +9827 = { + winter_severity_bias = 0.10 +} +9828 = { + winter_severity_bias = 0.0 +} +9830 = { + winter_severity_bias = 0.0 +} +9831 = { + winter_severity_bias = 0.0 +} +9832 = { + winter_severity_bias = 0.0 +} +9833 = { + winter_severity_bias = 0.0 +} +9834 = { + winter_severity_bias = 0.0 +} +9835 = { + winter_severity_bias = 0.0 +} +9836 = { + winter_severity_bias = 0.0 +} +9837 = { + winter_severity_bias = 0.0 +} +9838 = { + winter_severity_bias = 0.0 +} +9839 = { + winter_severity_bias = 0.0 +} +9840 = { + winter_severity_bias = 0.0 +} +9841 = { + winter_severity_bias = 0.0 +} +9842 = { + winter_severity_bias = 0.0 +} +9843 = { + winter_severity_bias = 0.0 +} +9844 = { + winter_severity_bias = 0.0 +} +9845 = { + winter_severity_bias = 0.0 +} +9846 = { + winter_severity_bias = 0.0 +} +9847 = { + winter_severity_bias = 0.0 +} +9848 = { + winter_severity_bias = 0.0 +} +9849 = { + winter_severity_bias = 0.0 +} +9850 = { + winter_severity_bias = 0.0 +} +9851 = { + winter_severity_bias = 0.0 +} +9852 = { + winter_severity_bias = 0.0 +} +9857 = { + winter_severity_bias = 0.0 +} +9996 = { + winter_severity_bias = 0.0 +} +9997 = { + winter_severity_bias = 0.0 +} +9998 = { + winter_severity_bias = 0.0 +} +9999 = { + winter_severity_bias = 0.0 +} +10000 = { + winter_severity_bias = 0.0 +} +10001 = { + winter_severity_bias = 0.10 +} +10002 = { + winter_severity_bias = 0.0 +} +10003 = { + winter_severity_bias = 0.0 +} +10004 = { + winter_severity_bias = 0.0 +} +10005 = { + winter_severity_bias = 0.0 +} +10006 = { + winter_severity_bias = 0.0 +} +10007 = { + winter_severity_bias = 0.0 +} +10008 = { + winter_severity_bias = 0.0 +} +10009 = { + winter_severity_bias = 0.0 +} +10010 = { + winter_severity_bias = 0.0 +} +10011 = { + winter_severity_bias = 0.0 +} +10012 = { + winter_severity_bias = 0.0 +} +10013 = { + winter_severity_bias = 0.0 +} +10014 = { + winter_severity_bias = 0.70 +} +10015 = { + winter_severity_bias = 0.70 +} +10016 = { + winter_severity_bias = 0.70 +} +10017 = { + winter_severity_bias = 0.70 +} +10018 = { + winter_severity_bias = 0.70 +} +10019 = { + winter_severity_bias = 0.70 +} +10020 = { + winter_severity_bias = 0.70 +} +10021 = { + winter_severity_bias = 0.20 +} +10022 = { + winter_severity_bias = 0.70 +} +10023 = { + winter_severity_bias = 0.70 +} +10024 = { + winter_severity_bias = 0.20 +} +10025 = { + winter_severity_bias = 0.20 +} +10027 = { + winter_severity_bias = 0.20 +} +10028 = { + winter_severity_bias = 0.10 +} +10029 = { + winter_severity_bias = 0.70 +} +10030 = { + winter_severity_bias = 0.70 +} +10031 = { + winter_severity_bias = 0.70 +} +10032 = { + winter_severity_bias = 0.70 +} +10033 = { + winter_severity_bias = 0.70 +} +10034 = { + winter_severity_bias = 0.70 +} +10035 = { + winter_severity_bias = 0.70 +} +10036 = { + winter_severity_bias = 0.70 +} +10037 = { + winter_severity_bias = 0.70 +} +10038 = { + winter_severity_bias = 0.70 +} +10039 = { + winter_severity_bias = 0.70 +} +10040 = { + winter_severity_bias = 0.70 +} +10041 = { + winter_severity_bias = 0.70 +} +10042 = { + winter_severity_bias = 0.70 +} +10043 = { + winter_severity_bias = 0.70 +} +10044 = { + winter_severity_bias = 0.70 +} +10045 = { + winter_severity_bias = 0.70 +} +10046 = { + winter_severity_bias = 0.70 +} +10047 = { + winter_severity_bias = 0.70 +} +10048 = { + winter_severity_bias = 0.70 +} +10049 = { + winter_severity_bias = 0.70 +} +10050 = { + winter_severity_bias = 0.70 +} +10051 = { + winter_severity_bias = 0.70 +} +10052 = { + winter_severity_bias = 0.70 +} +10053 = { + winter_severity_bias = 0.70 +} +10054 = { + winter_severity_bias = 0.70 +} +10055 = { + winter_severity_bias = 0.0 +} +10056 = { + winter_severity_bias = 0.0 +} +10057 = { + winter_severity_bias = 0.0 +} +10058 = { + winter_severity_bias = 0.0 +} +10059 = { + winter_severity_bias = 0.70 +} +10061 = { + winter_severity_bias = 0.70 +} +10062 = { + winter_severity_bias = 0.70 +} +10063 = { + winter_severity_bias = 0.70 +} +10064 = { + winter_severity_bias = 0.70 +} +10065 = { + winter_severity_bias = 0.70 +} +10066 = { + winter_severity_bias = 0.70 +} +10067 = { + winter_severity_bias = 0.70 +} +10068 = { + winter_severity_bias = 0.70 +} +10069 = { + winter_severity_bias = 0.70 +} +10070 = { + winter_severity_bias = 0.70 +} +10071 = { + winter_severity_bias = 0.70 +} +10072 = { + winter_severity_bias = 0.70 +} +10073 = { + winter_severity_bias = 0.70 +} +10074 = { + winter_severity_bias = 0.70 +} +10075 = { + winter_severity_bias = 0.70 +} +10076 = { + winter_severity_bias = 0.70 +} +10077 = { + winter_severity_bias = 0.70 +} +10078 = { + winter_severity_bias = 0.70 +} +10079 = { + winter_severity_bias = 0.70 +} +10080 = { + winter_severity_bias = 0.70 +} +10081 = { + winter_severity_bias = 0.70 +} +10082 = { + winter_severity_bias = 0.70 +} +10083 = { + winter_severity_bias = 0.70 +} +10084 = { + winter_severity_bias = 0.70 +} +10085 = { + winter_severity_bias = 0.70 +} +10086 = { + winter_severity_bias = 0.70 +} +10087 = { + winter_severity_bias = 0.70 +} +10088 = { + winter_severity_bias = 0.70 +} +10089 = { + winter_severity_bias = 0.70 +} +10090 = { + winter_severity_bias = 0.70 +} +10091 = { + winter_severity_bias = 0.70 +} +10092 = { + winter_severity_bias = 0.70 +} +10093 = { + winter_severity_bias = 0.70 +} +10094 = { + winter_severity_bias = 0.70 +} +10095 = { + winter_severity_bias = 0.70 +} +10096 = { + winter_severity_bias = 0.70 +} +10097 = { + winter_severity_bias = 0.70 +} +10098 = { + winter_severity_bias = 0.70 +} +10099 = { + winter_severity_bias = 0.70 +} +10100 = { + winter_severity_bias = 0.70 +} +10101 = { + winter_severity_bias = 0.70 +} +10102 = { + winter_severity_bias = 0.70 +} +10103 = { + winter_severity_bias = 0.70 +} +10104 = { + winter_severity_bias = 0.70 +} +10105 = { + winter_severity_bias = 0.70 +} +10106 = { + winter_severity_bias = 0.70 +} +10107 = { + winter_severity_bias = 0.70 +} +10108 = { + winter_severity_bias = 0.70 +} +10109 = { + winter_severity_bias = 0.70 +} +10110 = { + winter_severity_bias = 0.70 +} +10111 = { + winter_severity_bias = 0.70 +} +10112 = { + winter_severity_bias = 0.70 +} +10113 = { + winter_severity_bias = 0.70 +} +10114 = { + winter_severity_bias = 0.70 +} +10115 = { + winter_severity_bias = 0.70 +} +10116 = { + winter_severity_bias = 0.70 +} +10117 = { + winter_severity_bias = 0.70 +} +10118 = { + winter_severity_bias = 0.70 +} +10119 = { + winter_severity_bias = 0.70 +} +10120 = { + winter_severity_bias = 0.70 +} +10121 = { + winter_severity_bias = 0.70 +} +10122 = { + winter_severity_bias = 0.70 +} +10123 = { + winter_severity_bias = 0.70 +} +10124 = { + winter_severity_bias = 0.70 +} +10125 = { + winter_severity_bias = 0.70 +} +10126 = { + winter_severity_bias = 0.70 +} +10127 = { + winter_severity_bias = 0.70 +} +10128 = { + winter_severity_bias = 0.70 +} +10129 = { + winter_severity_bias = 0.70 +} +10130 = { + winter_severity_bias = 0.70 +} +10131 = { + winter_severity_bias = 0.70 +} +10132 = { + winter_severity_bias = 0.70 +} +10133 = { + winter_severity_bias = 0.70 +} +10134 = { + winter_severity_bias = 0.70 +} +10135 = { + winter_severity_bias = 0.70 +} +10136 = { + winter_severity_bias = 0.70 +} +10137 = { + winter_severity_bias = 0.70 +} +10138 = { + winter_severity_bias = 0.70 +} +10139 = { + winter_severity_bias = 0.70 +} +10140 = { + winter_severity_bias = 0.70 +} +10141 = { + winter_severity_bias = 0.70 +} +10142 = { + winter_severity_bias = 0.70 +} +10143 = { + winter_severity_bias = 0.70 +} +10144 = { + winter_severity_bias = 0.70 +} +10145 = { + winter_severity_bias = 0.70 +} +10146 = { + winter_severity_bias = 0.70 +} +10147 = { + winter_severity_bias = 0.70 +} +10148 = { + winter_severity_bias = 0.70 +} +10149 = { + winter_severity_bias = 0.70 +} +10150 = { + winter_severity_bias = 0.70 +} +10151 = { + winter_severity_bias = 0.70 +} +10152 = { + winter_severity_bias = 0.70 +} +10153 = { + winter_severity_bias = 0.70 +} +10154 = { + winter_severity_bias = 0.70 +} +10155 = { + winter_severity_bias = 0.70 +} +10156 = { + winter_severity_bias = 0.70 +} +10157 = { + winter_severity_bias = 0.70 +} +10158 = { + winter_severity_bias = 0.70 +} +10159 = { + winter_severity_bias = 0.70 +} +10160 = { + winter_severity_bias = 0.70 +} +10161 = { + winter_severity_bias = 0.70 +} +10162 = { + winter_severity_bias = 0.70 +} +10163 = { + winter_severity_bias = 0.70 +} +10164 = { + winter_severity_bias = 0.70 +} +10165 = { + winter_severity_bias = 0.70 +} +10166 = { + winter_severity_bias = 0.70 +} +10167 = { + winter_severity_bias = 0.70 +} +10168 = { + winter_severity_bias = 0.70 +} +10169 = { + winter_severity_bias = 0.70 +} +10170 = { + winter_severity_bias = 0.70 +} +10171 = { + winter_severity_bias = 0.70 +} +10172 = { + winter_severity_bias = 0.70 +} +10173 = { + winter_severity_bias = 0.70 +} +10174 = { + winter_severity_bias = 0.70 +} +10175 = { + winter_severity_bias = 0.70 +} +10176 = { + winter_severity_bias = 0.70 +} +10177 = { + winter_severity_bias = 0.70 +} +10178 = { + winter_severity_bias = 0.70 +} +10179 = { + winter_severity_bias = 0.70 +} +10180 = { + winter_severity_bias = 0.70 +} +10181 = { + winter_severity_bias = 0.70 +} +10182 = { + winter_severity_bias = 0.70 +} +10183 = { + winter_severity_bias = 0.70 +} +10184 = { + winter_severity_bias = 0.70 +} +10185 = { + winter_severity_bias = 0.70 +} +10187 = { + winter_severity_bias = 0.70 +} +10188 = { + winter_severity_bias = 0.0 +} +10189 = { + winter_severity_bias = 0.0 +} +10190 = { + winter_severity_bias = 0.0 +} +10191 = { + winter_severity_bias = 0.0 +} +10192 = { + winter_severity_bias = 0.0 +} +10193 = { + winter_severity_bias = 0.0 +} +10194 = { + winter_severity_bias = 0.0 +} +10195 = { + winter_severity_bias = 0.0 +} +10196 = { + winter_severity_bias = 0.0 +} +10197 = { + winter_severity_bias = 0.0 +} +10198 = { + winter_severity_bias = 0.0 +} +10199 = { + winter_severity_bias = 1.0 +} +10200 = { + winter_severity_bias = 0.0 +} +10201 = { + winter_severity_bias = 0.0 +} +10202 = { + winter_severity_bias = 0.0 +} +10203 = { + winter_severity_bias = 0.0 +} +10204 = { + winter_severity_bias = 0.0 +} +10205 = { + winter_severity_bias = 0.0 +} +10206 = { + winter_severity_bias = 0.0 +} +10207 = { + winter_severity_bias = 0.0 +} +10209 = { + winter_severity_bias = 0.0 +} +10210 = { + winter_severity_bias = 1.0 +} +10211 = { + winter_severity_bias = 1.0 +} +10212 = { + winter_severity_bias = 0.0 +} +10213 = { + winter_severity_bias = 0.0 +} +10214 = { + winter_severity_bias = 1.0 +} +10215 = { + winter_severity_bias = 1.0 +} +10216 = { + winter_severity_bias = 0.0 +} +10217 = { + winter_severity_bias = 1.0 +} +10218 = { + winter_severity_bias = 1.0 +} +10219 = { + winter_severity_bias = 1.0 +} +10220 = { + winter_severity_bias = 1.0 +} +10221 = { + winter_severity_bias = 0.0 +} +10222 = { + winter_severity_bias = 0.0 +} +10223 = { + winter_severity_bias = 0.0 +} +10224 = { + winter_severity_bias = 0.0 +} +10225 = { + winter_severity_bias = 0.0 +} +10226 = { + winter_severity_bias = 0.0 +} +10227 = { + winter_severity_bias = 0.0 +} +10228 = { + winter_severity_bias = 0.0 +} +10229 = { + winter_severity_bias = 0.0 +} +10230 = { + winter_severity_bias = 0.0 +} +10231 = { + winter_severity_bias = 0.0 +} +10232 = { + winter_severity_bias = 0.0 +} +10233 = { + winter_severity_bias = 0.0 +} +10234 = { + winter_severity_bias = 0.0 +} +10235 = { + winter_severity_bias = 0.0 +} +10236 = { + winter_severity_bias = 0.0 +} +10237 = { + winter_severity_bias = 0.0 +} +10238 = { + winter_severity_bias = 0.0 +} +10239 = { + winter_severity_bias = 0.0 +} +10240 = { + winter_severity_bias = 0.0 +} +10241 = { + winter_severity_bias = 0.0 +} +10242 = { + winter_severity_bias = 0.0 +} +10243 = { + winter_severity_bias = 0.0 +} +10244 = { + winter_severity_bias = 0.0 +} +10245 = { + winter_severity_bias = 0.0 +} +10246 = { + winter_severity_bias = 0.0 +} +10247 = { + winter_severity_bias = 0.0 +} +10248 = { + winter_severity_bias = 0.0 +} +10249 = { + winter_severity_bias = 0.70 +} +10250 = { + winter_severity_bias = 0.70 +} +10251 = { + winter_severity_bias = 0.70 +} +10252 = { + winter_severity_bias = 0.70 +} +10253 = { + winter_severity_bias = 0.70 +} +10254 = { + winter_severity_bias = 0.70 +} +10255 = { + winter_severity_bias = 0.70 +} +10256 = { + winter_severity_bias = 0.70 +} +10257 = { + winter_severity_bias = 0.70 +} +10258 = { + winter_severity_bias = 0.70 +} +10259 = { + winter_severity_bias = 0.70 +} +10260 = { + winter_severity_bias = 0.0 +} +10261 = { + winter_severity_bias = 0.0 +} +10262 = { + winter_severity_bias = 0.0 +} +10263 = { + winter_severity_bias = 0.0 +} +10264 = { + winter_severity_bias = 0.70 +} +10265 = { + winter_severity_bias = 0.70 +} +10266 = { + winter_severity_bias = 0.70 +} +10267 = { + winter_severity_bias = 0.70 +} +10268 = { + winter_severity_bias = 0.70 +} +10269 = { + winter_severity_bias = 0.70 +} +10270 = { + winter_severity_bias = 0.0 +} +10271 = { + winter_severity_bias = 0.0 +} +10272 = { + winter_severity_bias = 0.0 +} +10273 = { + winter_severity_bias = 0.0 +} +10274 = { + winter_severity_bias = 0.0 +} +10275 = { + winter_severity_bias = 0.0 +} +10276 = { + winter_severity_bias = 0.0 +} +10277 = { + winter_severity_bias = 0.0 +} +10278 = { + winter_severity_bias = 0.0 +} +10279 = { + winter_severity_bias = 0.0 +} +10280 = { + winter_severity_bias = 0.0 +} +10281 = { + winter_severity_bias = 0.0 +} +10282 = { + winter_severity_bias = 0.0 +} +10283 = { + winter_severity_bias = 0.0 +} +10284 = { + winter_severity_bias = 0.0 +} +10285 = { + winter_severity_bias = 0.0 +} +10286 = { + winter_severity_bias = 0.0 +} +10287 = { + winter_severity_bias = 0.0 +} +10288 = { + winter_severity_bias = 0.0 +} +10289 = { + winter_severity_bias = 0.0 +} +10290 = { + winter_severity_bias = 0.0 +} +10291 = { + winter_severity_bias = 0.0 +} +10292 = { + winter_severity_bias = 0.0 +} +10293 = { + winter_severity_bias = 0.0 +} +10294 = { + winter_severity_bias = 0.0 +} +10295 = { + winter_severity_bias = 0.0 +} +10296 = { + winter_severity_bias = 0.0 +} +10297 = { + winter_severity_bias = 0.0 +} +10298 = { + winter_severity_bias = 0.70 +} +10299 = { + winter_severity_bias = 0.70 +} +10300 = { + winter_severity_bias = 0.70 +} +10301 = { + winter_severity_bias = 0.70 +} +10302 = { + winter_severity_bias = 0.70 +} +10303 = { + winter_severity_bias = 0.70 +} +10304 = { + winter_severity_bias = 0.70 +} +10305 = { + winter_severity_bias = 0.70 +} +10306 = { + winter_severity_bias = 0.70 +} +10307 = { + winter_severity_bias = 0.70 +} +10308 = { + winter_severity_bias = 0.70 +} +10309 = { + winter_severity_bias = 0.70 +} +10310 = { + winter_severity_bias = 0.70 +} +10311 = { + winter_severity_bias = 0.70 +} +10312 = { + winter_severity_bias = 0.70 +} +10313 = { + winter_severity_bias = 0.70 +} +10314 = { + winter_severity_bias = 0.70 +} +10315 = { + winter_severity_bias = 0.70 +} +10316 = { + winter_severity_bias = 0.0 +} +10317 = { + winter_severity_bias = 0.0 +} +10318 = { + winter_severity_bias = 1.0 +} +10319 = { + winter_severity_bias = 0.0 +} +10320 = { + winter_severity_bias = 1.0 +} +10321 = { + winter_severity_bias = 1.0 +} +10322 = { + winter_severity_bias = 1.0 +} +10323 = { + winter_severity_bias = 0.20 +} +10324 = { + winter_severity_bias = 0.20 +} +10325 = { + winter_severity_bias = 0.20 +} +10326 = { + winter_severity_bias = 0.10 +} +10327 = { + winter_severity_bias = 0.20 +} +10328 = { + winter_severity_bias = 0.10 +} +10329 = { + winter_severity_bias = 0.10 +} +10330 = { + winter_severity_bias = 0.20 +} +10331 = { + winter_severity_bias = 0.20 +} +10332 = { + winter_severity_bias = 0.20 +} +10333 = { + winter_severity_bias = 0.20 +} +10334 = { + winter_severity_bias = 0.10 +} +10335 = { + winter_severity_bias = 0.0 +} +10336 = { + winter_severity_bias = 0.0 +} +10337 = { + winter_severity_bias = 0.20 +} +10338 = { + winter_severity_bias = 0.10 +} +10339 = { + winter_severity_bias = 0.20 +} +10340 = { + winter_severity_bias = 0.10 +} +10341 = { + winter_severity_bias = 0.10 +} +10342 = { + winter_severity_bias = 0.10 +} +10343 = { + winter_severity_bias = 0.0 +} +10344 = { + winter_severity_bias = 0.0 +} +10345 = { + winter_severity_bias = 0.0 +} +10346 = { + winter_severity_bias = 0.0 +} +10347 = { + winter_severity_bias = 0.0 +} +10348 = { + winter_severity_bias = 0.0 +} +10349 = { + winter_severity_bias = 0.0 +} +10350 = { + winter_severity_bias = 0.0 +} +10351 = { + winter_severity_bias = 0.0 +} +10352 = { + winter_severity_bias = 0.70 +} +10353 = { + winter_severity_bias = 0.70 +} +10354 = { + winter_severity_bias = 0.70 +} +10355 = { + winter_severity_bias = 0.70 +} +10356 = { + winter_severity_bias = 0.70 +} +10357 = { + winter_severity_bias = 0.70 +} +10358 = { + winter_severity_bias = 0.70 +} +10359 = { + winter_severity_bias = 0.70 +} +10360 = { + winter_severity_bias = 0.70 +} +10361 = { + winter_severity_bias = 0.70 +} +10362 = { + winter_severity_bias = 0.70 +} +10363 = { + winter_severity_bias = 0.70 +} +10364 = { + winter_severity_bias = 0.70 +} +10365 = { + winter_severity_bias = 0.70 +} +10366 = { + winter_severity_bias = 0.20 +} +10367 = { + winter_severity_bias = 0.10 +} +10368 = { + winter_severity_bias = 0.10 +} +10369 = { + winter_severity_bias = 0.10 +} +10370 = { + winter_severity_bias = 0.20 +} +10371 = { + winter_severity_bias = 0.10 +} +10372 = { + winter_severity_bias = 0.10 +} +10373 = { + winter_severity_bias = 0.10 +} +10374 = { + winter_severity_bias = 0.20 +} +10375 = { + winter_severity_bias = 0.20 +} +10376 = { + winter_severity_bias = 0.70 +} +10377 = { + winter_severity_bias = 0.70 +} +10378 = { + winter_severity_bias = 0.70 +} +10379 = { + winter_severity_bias = 0.70 +} +10380 = { + winter_severity_bias = 0.70 +} +10381 = { + winter_severity_bias = 0.0 +} +10382 = { + winter_severity_bias = 0.0 +} +10383 = { + winter_severity_bias = 0.0 +} +10384 = { + winter_severity_bias = 0.0 +} +10385 = { + winter_severity_bias = 0.70 +} +10386 = { + winter_severity_bias = 0.0 +} +10387 = { + winter_severity_bias = 0.0 +} +10388 = { + winter_severity_bias = 0.0 +} +10389 = { + winter_severity_bias = 0.0 +} +10390 = { + winter_severity_bias = 0.0 +} +10391 = { + winter_severity_bias = 0.0 +} +10392 = { + winter_severity_bias = 0.0 +} +10393 = { + winter_severity_bias = 0.0 +} +10394 = { + winter_severity_bias = 0.70 +} +10395 = { + winter_severity_bias = 0.20 +} +10396 = { + winter_severity_bias = 0.20 +} +10397 = { + winter_severity_bias = 0.20 +} +10398 = { + winter_severity_bias = 0.20 +} +10400 = { + winter_severity_bias = 0.10 +} +10401 = { + winter_severity_bias = 0.20 +} +10402 = { + winter_severity_bias = 0.70 +} +10403 = { + winter_severity_bias = 0.70 +} +10404 = { + winter_severity_bias = 0.70 +} +10405 = { + winter_severity_bias = 0.70 +} +10406 = { + winter_severity_bias = 0.10 +} +10407 = { + winter_severity_bias = 0.0 +} +10408 = { + winter_severity_bias = 0.0 +} +10409 = { + winter_severity_bias = 0.0 +} +10410 = { + winter_severity_bias = 0.0 +} +10411 = { + winter_severity_bias = 0.0 +} +10412 = { + winter_severity_bias = 0.0 +} +10413 = { + winter_severity_bias = 0.0 +} +10414 = { + winter_severity_bias = 0.0 +} +10415 = { + winter_severity_bias = 0.0 +} +10416 = { + winter_severity_bias = 0.0 +} +10417 = { + winter_severity_bias = 0.70 +} +10418 = { + winter_severity_bias = 0.70 +} +10419 = { + winter_severity_bias = 0.70 +} +10421 = { + winter_severity_bias = 0.0 +} +10422 = { + winter_severity_bias = 0.70 +} +10423 = { + winter_severity_bias = 0.70 +} +10424 = { + winter_severity_bias = 0.0 +} +10425 = { + winter_severity_bias = 0.0 +} +10426 = { + winter_severity_bias = 0.0 +} +10427 = { + winter_severity_bias = 0.0 +} +10428 = { + winter_severity_bias = 0.70 +} +10429 = { + winter_severity_bias = 0.70 +} +10430 = { + winter_severity_bias = 0.70 +} +10431 = { + winter_severity_bias = 0.70 +} +10432 = { + winter_severity_bias = 0.0 +} +10433 = { + winter_severity_bias = 0.0 +} +10434 = { + winter_severity_bias = 0.0 +} +10435 = { + winter_severity_bias = 0.0 +} +10436 = { + winter_severity_bias = 0.0 +} +10437 = { + winter_severity_bias = 0.0 +} +10438 = { + winter_severity_bias = 0.0 +} +10439 = { + winter_severity_bias = 0.10 +} +10440 = { + winter_severity_bias = 0.20 +} +10441 = { + winter_severity_bias = 0.70 +} +10442 = { + winter_severity_bias = 0.70 +} +10443 = { + winter_severity_bias = 0.10 +} +10444 = { + winter_severity_bias = 0.0 +} +10445 = { + winter_severity_bias = 0.0 +} +10446 = { + winter_severity_bias = 0.0 +} +10447 = { + winter_severity_bias = 0.20 +} +10448 = { + winter_severity_bias = 0.0 +} +10449 = { + winter_severity_bias = 0.0 +} +10450 = { + winter_severity_bias = 0.0 +} +10451 = { + winter_severity_bias = 0.0 +} +10452 = { + winter_severity_bias = 0.0 +} +10453 = { + winter_severity_bias = 0.70 +} +10455 = { + winter_severity_bias = 0.70 +} +10456 = { + winter_severity_bias = 0.0 +} +10457 = { + winter_severity_bias = 0.0 +} +10458 = { + winter_severity_bias = 0.0 +} +10459 = { + winter_severity_bias = 0.0 +} +10460 = { + winter_severity_bias = 0.0 +} +10461 = { + winter_severity_bias = 0.0 +} +10463 = { + winter_severity_bias = 0.0 +} +10464 = { + winter_severity_bias = 0.0 +} +10465 = { + winter_severity_bias = 0.0 +} +10466 = { + winter_severity_bias = 0.0 +} +10467 = { + winter_severity_bias = 0.0 +} +10473 = { + winter_severity_bias = 0.0 +} +10486 = { + winter_severity_bias = 0.0 +} +10487 = { + winter_severity_bias = 0.0 +} +10488 = { + winter_severity_bias = 0.0 +} +10802 = { + winter_severity_bias = 0.0 +} +10803 = { + winter_severity_bias = 0.0 +} +10804 = { + winter_severity_bias = 0.0 +} +10805 = { + winter_severity_bias = 0.0 +} +10806 = { + winter_severity_bias = 0.0 +} +10807 = { + winter_severity_bias = 0.0 +} +10808 = { + winter_severity_bias = 0.0 +} +10809 = { + winter_severity_bias = 0.0 +} +10810 = { + winter_severity_bias = 0.0 +} +10811 = { + winter_severity_bias = 0.0 +} +10812 = { + winter_severity_bias = 0.0 +} +10813 = { + winter_severity_bias = 0.0 +} +10814 = { + winter_severity_bias = 0.0 +} +10815 = { + winter_severity_bias = 0.0 +} +10816 = { + winter_severity_bias = 0.0 +} +10817 = { + winter_severity_bias = 0.0 +} +10818 = { + winter_severity_bias = 0.0 +} +10819 = { + winter_severity_bias = 0.0 +} +10820 = { + winter_severity_bias = 0.0 +} +10821 = { + winter_severity_bias = 0.0 +} +10822 = { + winter_severity_bias = 0.0 +} +10823 = { + winter_severity_bias = 0.0 +} +10824 = { + winter_severity_bias = 0.0 +} +10825 = { + winter_severity_bias = 0.0 +} +10826 = { + winter_severity_bias = 0.0 +} +10827 = { + winter_severity_bias = 0.0 +} +10828 = { + winter_severity_bias = 0.0 +} +10829 = { + winter_severity_bias = 0.0 +} +10830 = { + winter_severity_bias = 0.0 +} +10831 = { + winter_severity_bias = 0.0 +} +10832 = { + winter_severity_bias = 0.0 +} +10833 = { + winter_severity_bias = 0.0 +} +10834 = { + winter_severity_bias = 0.0 +} +10835 = { + winter_severity_bias = 0.0 +} +10836 = { + winter_severity_bias = 0.0 +} +10837 = { + winter_severity_bias = 0.0 +} +10838 = { + winter_severity_bias = 0.0 +} +10839 = { + winter_severity_bias = 0.0 +} +10840 = { + winter_severity_bias = 0.0 +} +10841 = { + winter_severity_bias = 0.0 +} +10842 = { + winter_severity_bias = 0.0 +} +10843 = { + winter_severity_bias = 0.0 +} +10844 = { + winter_severity_bias = 0.0 +} +10845 = { + winter_severity_bias = 0.0 +} +10846 = { + winter_severity_bias = 0.0 +} +10847 = { + winter_severity_bias = 0.0 +} +10848 = { + winter_severity_bias = 0.0 +} +10849 = { + winter_severity_bias = 0.0 +} +10850 = { + winter_severity_bias = 0.0 +} +10851 = { + winter_severity_bias = 0.0 +} +10852 = { + winter_severity_bias = 0.0 +} +10853 = { + winter_severity_bias = 0.0 +} +10854 = { + winter_severity_bias = 0.0 +} +10855 = { + winter_severity_bias = 0.0 +} +10856 = { + winter_severity_bias = 0.0 +} +10857 = { + winter_severity_bias = 0.0 +} +10858 = { + winter_severity_bias = 0.0 +} +10859 = { + winter_severity_bias = 0.0 +} +10860 = { + winter_severity_bias = 0.0 +} +10861 = { + winter_severity_bias = 0.0 +} +10862 = { + winter_severity_bias = 0.0 +} +10863 = { + winter_severity_bias = 0.0 +} +10864 = { + winter_severity_bias = 0.0 +} +10865 = { + winter_severity_bias = 0.0 +} +10866 = { + winter_severity_bias = 0.0 +} +10867 = { + winter_severity_bias = 0.0 +} +10868 = { + winter_severity_bias = 0.0 +} +10869 = { + winter_severity_bias = 0.0 +} +10870 = { + winter_severity_bias = 0.0 +} +10871 = { + winter_severity_bias = 0.0 +} +10872 = { + winter_severity_bias = 0.0 +} +10873 = { + winter_severity_bias = 0.0 +} +10874 = { + winter_severity_bias = 1.0 +} +10875 = { + winter_severity_bias = 0.0 +} +10876 = { + winter_severity_bias = 0.0 +} +10877 = { + winter_severity_bias = 0.0 +} +10880 = { + winter_severity_bias = 0.0 +} +10881 = { + winter_severity_bias = 0.0 +} +10882 = { + winter_severity_bias = 0.0 +} +10883 = { + winter_severity_bias = 0.0 +} +10884 = { + winter_severity_bias = 0.0 +} +10885 = { + winter_severity_bias = 1.0 +} +10886 = { + winter_severity_bias = 1.0 +} +10887 = { + winter_severity_bias = 0.0 +} +10888 = { + winter_severity_bias = 1.0 +} +10889 = { + winter_severity_bias = 0.0 +} +10890 = { + winter_severity_bias = 0.0 +} +10891 = { + winter_severity_bias = 0.0 +} +10892 = { + winter_severity_bias = 0.0 +} +10893 = { + winter_severity_bias = 0.0 +} +10894 = { + winter_severity_bias = 0.0 +} +10895 = { + winter_severity_bias = 0.0 +} +10896 = { + winter_severity_bias = 0.0 +} +10897 = { + winter_severity_bias = 0.0 +} +10898 = { + winter_severity_bias = 0.0 +} +10899 = { + winter_severity_bias = 0.0 +} +10900 = { + winter_severity_bias = 0.0 +} +10901 = { + winter_severity_bias = 0.0 +} +10902 = { + winter_severity_bias = 0.0 +} +10903 = { + winter_severity_bias = 0.0 +} +10904 = { + winter_severity_bias = 0.0 +} +10905 = { + winter_severity_bias = 0.0 +} +10906 = { + winter_severity_bias = 0.0 +} +10907 = { + winter_severity_bias = 0.0 +} +10908 = { + winter_severity_bias = 0.0 +} +10909 = { + winter_severity_bias = 0.0 +} +10910 = { + winter_severity_bias = 0.0 +} +10911 = { + winter_severity_bias = 0.0 +} +10912 = { + winter_severity_bias = 0.0 +} +10913 = { + winter_severity_bias = 0.0 +} +10914 = { + winter_severity_bias = 0.0 +} +10915 = { + winter_severity_bias = 0.0 +} +10916 = { + winter_severity_bias = 0.0 +} +10917 = { + winter_severity_bias = 0.0 +} +10918 = { + winter_severity_bias = 0.0 +} +10919 = { + winter_severity_bias = 0.0 +} +10920 = { + winter_severity_bias = 0.0 +} +10921 = { + winter_severity_bias = 0.0 +} +10922 = { + winter_severity_bias = 0.0 +} +10923 = { + winter_severity_bias = 0.0 +} +10924 = { + winter_severity_bias = 0.0 +} +10925 = { + winter_severity_bias = 0.0 +} +10926 = { + winter_severity_bias = 0.0 +} +10927 = { + winter_severity_bias = 0.0 +} +10928 = { + winter_severity_bias = 0.0 +} +10929 = { + winter_severity_bias = 0.0 +} +10930 = { + winter_severity_bias = 0.0 +} +10931 = { + winter_severity_bias = 0.0 +} +10932 = { + winter_severity_bias = 0.0 +} +10933 = { + winter_severity_bias = 0.0 +} +10934 = { + winter_severity_bias = 0.0 +} +10935 = { + winter_severity_bias = 0.0 +} +10936 = { + winter_severity_bias = 0.0 +} +10937 = { + winter_severity_bias = 0.0 +} +10938 = { + winter_severity_bias = 0.0 +} +10939 = { + winter_severity_bias = 0.0 +} +10940 = { + winter_severity_bias = 0.0 +} +10941 = { + winter_severity_bias = 0.0 +} +10942 = { + winter_severity_bias = 0.0 +} +10943 = { + winter_severity_bias = 0.0 +} +10944 = { + winter_severity_bias = 0.0 +} +10945 = { + winter_severity_bias = 0.0 +} +10946 = { + winter_severity_bias = 0.0 +} +10947 = { + winter_severity_bias = 0.0 +} +10948 = { + winter_severity_bias = 0.0 +} +10949 = { + winter_severity_bias = 0.0 +} +10950 = { + winter_severity_bias = 0.0 +} +10951 = { + winter_severity_bias = 0.0 +} +10952 = { + winter_severity_bias = 0.0 +} +10953 = { + winter_severity_bias = 0.0 +} +10954 = { + winter_severity_bias = 0.0 +} +10955 = { + winter_severity_bias = 0.0 +} +10956 = { + winter_severity_bias = 0.0 +} +10957 = { + winter_severity_bias = 0.0 +} +10958 = { + winter_severity_bias = 0.0 +} +10959 = { + winter_severity_bias = 0.0 +} +10960 = { + winter_severity_bias = 0.0 +} +10961 = { + winter_severity_bias = 0.0 +} +10962 = { + winter_severity_bias = 0.0 +} +10963 = { + winter_severity_bias = 0.0 +} +10964 = { + winter_severity_bias = 0.0 +} +10965 = { + winter_severity_bias = 0.0 +} +10966 = { + winter_severity_bias = 0.0 +} +10967 = { + winter_severity_bias = 0.0 +} +10968 = { + winter_severity_bias = 0.0 +} +10969 = { + winter_severity_bias = 0.0 +} +10970 = { + winter_severity_bias = 0.0 +} +10971 = { + winter_severity_bias = 0.0 +} +10972 = { + winter_severity_bias = 0.0 +} +10973 = { + winter_severity_bias = 0.0 +} +10974 = { + winter_severity_bias = 0.0 +} +10975 = { + winter_severity_bias = 0.0 +} +10976 = { + winter_severity_bias = 0.0 +} +10977 = { + winter_severity_bias = 0.0 +} +10978 = { + winter_severity_bias = 0.0 +} +10979 = { + winter_severity_bias = 0.0 +} +10980 = { + winter_severity_bias = 0.0 +} +10981 = { + winter_severity_bias = 0.0 +} +10982 = { + winter_severity_bias = 0.0 +} +10983 = { + winter_severity_bias = 0.0 +} +10984 = { + winter_severity_bias = 0.0 +} +10985 = { + winter_severity_bias = 0.0 +} +10986 = { + winter_severity_bias = 0.0 +} +10987 = { + winter_severity_bias = 0.0 +} +10988 = { + winter_severity_bias = 0.0 +} +10989 = { + winter_severity_bias = 0.0 +} +10990 = { + winter_severity_bias = 0.0 +} +10991 = { + winter_severity_bias = 0.0 +} +10992 = { + winter_severity_bias = 0.0 +} +10993 = { + winter_severity_bias = 0.0 +} +10994 = { + winter_severity_bias = 0.0 +} +10995 = { + winter_severity_bias = 0.0 +} +10996 = { + winter_severity_bias = 0.0 +} +10997 = { + winter_severity_bias = 0.0 +} +10998 = { + winter_severity_bias = 0.0 +} +10999 = { + winter_severity_bias = 0.0 +} +11000 = { + winter_severity_bias = 0.0 +} +11001 = { + winter_severity_bias = 0.0 +} +11002 = { + winter_severity_bias = 0.0 +} +11003 = { + winter_severity_bias = 0.0 +} +11004 = { + winter_severity_bias = 0.0 +} +11005 = { + winter_severity_bias = 0.0 +} +11006 = { + winter_severity_bias = 0.0 +} +11007 = { + winter_severity_bias = 0.0 +} +11008 = { + winter_severity_bias = 0.0 +} +11009 = { + winter_severity_bias = 0.0 +} +11010 = { + winter_severity_bias = 0.0 +} +11011 = { + winter_severity_bias = 0.0 +} +11012 = { + winter_severity_bias = 0.0 +} +11013 = { + winter_severity_bias = 0.0 +} +11014 = { + winter_severity_bias = 0.0 +} +11015 = { + winter_severity_bias = 0.0 +} +11016 = { + winter_severity_bias = 0.0 +} +11017 = { + winter_severity_bias = 0.0 +} +11018 = { + winter_severity_bias = 0.0 +} +11019 = { + winter_severity_bias = 0.0 +} +11020 = { + winter_severity_bias = 0.0 +} +11021 = { + winter_severity_bias = 0.0 +} +11022 = { + winter_severity_bias = 0.0 +} +11023 = { + winter_severity_bias = 0.0 +} +11024 = { + winter_severity_bias = 0.0 +} +11025 = { + winter_severity_bias = 0.0 +} +11026 = { + winter_severity_bias = 0.0 +} +11027 = { + winter_severity_bias = 0.0 +} +11028 = { + winter_severity_bias = 0.0 +} +11029 = { + winter_severity_bias = 0.0 +} +11030 = { + winter_severity_bias = 0.0 +} +11031 = { + winter_severity_bias = 0.0 +} +11032 = { + winter_severity_bias = 0.0 +} +11033 = { + winter_severity_bias = 0.0 +} +11034 = { + winter_severity_bias = 0.0 +} +11035 = { + winter_severity_bias = 0.0 +} +11036 = { + winter_severity_bias = 0.0 +} +11037 = { + winter_severity_bias = 0.0 +} +11038 = { + winter_severity_bias = 0.0 +} +11039 = { + winter_severity_bias = 0.0 +} +11040 = { + winter_severity_bias = 0.0 +} +11041 = { + winter_severity_bias = 0.0 +} +11042 = { + winter_severity_bias = 0.0 +} +11043 = { + winter_severity_bias = 0.0 +} +11044 = { + winter_severity_bias = 0.0 +} +11045 = { + winter_severity_bias = 0.0 +} +11046 = { + winter_severity_bias = 0.0 +} +11047 = { + winter_severity_bias = 0.0 +} +11048 = { + winter_severity_bias = 0.0 +} +11049 = { + winter_severity_bias = 0.0 +} +11050 = { + winter_severity_bias = 0.0 +} +11051 = { + winter_severity_bias = 0.0 +} +11052 = { + winter_severity_bias = 0.0 +} +11053 = { + winter_severity_bias = 0.0 +} +11054 = { + winter_severity_bias = 0.0 +} +11055 = { + winter_severity_bias = 0.0 +} +11056 = { + winter_severity_bias = 0.0 +} +11057 = { + winter_severity_bias = 0.0 +} +11058 = { + winter_severity_bias = 0.0 +} +11059 = { + winter_severity_bias = 0.0 +} +11060 = { + winter_severity_bias = 0.0 +} +11061 = { + winter_severity_bias = 0.0 +} +11062 = { + winter_severity_bias = 0.0 +} +11063 = { + winter_severity_bias = 0.0 +} +11064 = { + winter_severity_bias = 0.0 +} +11065 = { + winter_severity_bias = 0.0 +} +11066 = { + winter_severity_bias = 0.0 +} +11067 = { + winter_severity_bias = 0.0 +} +11068 = { + winter_severity_bias = 0.0 +} +11069 = { + winter_severity_bias = 0.0 +} +11070 = { + winter_severity_bias = 0.0 +} +11071 = { + winter_severity_bias = 0.0 +} +11072 = { + winter_severity_bias = 0.0 +} +11073 = { + winter_severity_bias = 0.0 +} +11074 = { + winter_severity_bias = 0.0 +} +11075 = { + winter_severity_bias = 0.0 +} +11076 = { + winter_severity_bias = 0.0 +} +11077 = { + winter_severity_bias = 0.0 +} +11078 = { + winter_severity_bias = 0.0 +} +11079 = { + winter_severity_bias = 0.0 +} +11080 = { + winter_severity_bias = 0.0 +} +11081 = { + winter_severity_bias = 0.0 +} +11082 = { + winter_severity_bias = 0.0 +} +11083 = { + winter_severity_bias = 0.0 +} +11084 = { + winter_severity_bias = 0.0 +} +11085 = { + winter_severity_bias = 0.0 +} +11086 = { + winter_severity_bias = 0.0 +} +11087 = { + winter_severity_bias = 0.0 +} +11088 = { + winter_severity_bias = 0.0 +} +11089 = { + winter_severity_bias = 0.0 +} +11090 = { + winter_severity_bias = 0.0 +} +11091 = { + winter_severity_bias = 0.0 +} +11092 = { + winter_severity_bias = 0.0 +} +11093 = { + winter_severity_bias = 0.0 +} +11094 = { + winter_severity_bias = 0.0 +} +11095 = { + winter_severity_bias = 0.0 +} +11096 = { + winter_severity_bias = 0.0 +} +11097 = { + winter_severity_bias = 0.0 +} +11098 = { + winter_severity_bias = 0.0 +} +11099 = { + winter_severity_bias = 0.0 +} +11100 = { + winter_severity_bias = 0.0 +} +11101 = { + winter_severity_bias = 0.0 +} +11102 = { + winter_severity_bias = 0.0 +} +11103 = { + winter_severity_bias = 0.0 +} +11104 = { + winter_severity_bias = 0.0 +} +11105 = { + winter_severity_bias = 0.0 +} +11106 = { + winter_severity_bias = 0.0 +} +11107 = { + winter_severity_bias = 0.0 +} +11108 = { + winter_severity_bias = 0.0 +} +11109 = { + winter_severity_bias = 0.0 +} +11110 = { + winter_severity_bias = 0.0 +} +11111 = { + winter_severity_bias = 0.0 +} +11112 = { + winter_severity_bias = 0.0 +} +11113 = { + winter_severity_bias = 0.0 +} +11114 = { + winter_severity_bias = 0.0 +} +11115 = { + winter_severity_bias = 0.0 +} +11116 = { + winter_severity_bias = 0.0 +} +11117 = { + winter_severity_bias = 0.0 +} +11118 = { + winter_severity_bias = 0.0 +} +11119 = { + winter_severity_bias = 0.0 +} +11120 = { + winter_severity_bias = 0.0 +} +11121 = { + winter_severity_bias = 0.0 +} +11122 = { + winter_severity_bias = 0.0 +} +11123 = { + winter_severity_bias = 0.0 +} +11124 = { + winter_severity_bias = 0.0 +} +11125 = { + winter_severity_bias = 0.0 +} +11126 = { + winter_severity_bias = 0.0 +} +11127 = { + winter_severity_bias = 0.0 +} +11128 = { + winter_severity_bias = 0.0 +} +11129 = { + winter_severity_bias = 0.0 +} +11130 = { + winter_severity_bias = 0.0 +} +11131 = { + winter_severity_bias = 0.0 +} +11132 = { + winter_severity_bias = 0.0 +} +11133 = { + winter_severity_bias = 0.0 +} +11134 = { + winter_severity_bias = 0.0 +} +11135 = { + winter_severity_bias = 0.0 +} +11136 = { + winter_severity_bias = 0.0 +} +11137 = { + winter_severity_bias = 0.0 +} +11138 = { + winter_severity_bias = 0.0 +} +11139 = { + winter_severity_bias = 0.0 +} +11140 = { + winter_severity_bias = 0.0 +} +11141 = { + winter_severity_bias = 0.0 +} +11142 = { + winter_severity_bias = 0.0 +} +11143 = { + winter_severity_bias = 0.0 +} +11144 = { + winter_severity_bias = 0.0 +} +11145 = { + winter_severity_bias = 0.0 +} +11146 = { + winter_severity_bias = 0.0 +} +11147 = { + winter_severity_bias = 0.0 +} +11148 = { + winter_severity_bias = 0.0 +} +11149 = { + winter_severity_bias = 0.0 +} +11150 = { + winter_severity_bias = 0.0 +} +11151 = { + winter_severity_bias = 0.0 +} +11152 = { + winter_severity_bias = 0.0 +} +11153 = { + winter_severity_bias = 0.0 +} +11154 = { + winter_severity_bias = 0.0 +} +11155 = { + winter_severity_bias = 0.0 +} +11156 = { + winter_severity_bias = 0.0 +} +11157 = { + winter_severity_bias = 0.0 +} +11158 = { + winter_severity_bias = 0.0 +} +11159 = { + winter_severity_bias = 0.0 +} +11160 = { + winter_severity_bias = 0.0 +} +11161 = { + winter_severity_bias = 0.0 +} +11162 = { + winter_severity_bias = 0.0 +} +11163 = { + winter_severity_bias = 0.0 +} +11164 = { + winter_severity_bias = 0.0 +} +11165 = { + winter_severity_bias = 0.0 +} +11166 = { + winter_severity_bias = 0.0 +} +11167 = { + winter_severity_bias = 0.0 +} +11168 = { + winter_severity_bias = 0.0 +} +11169 = { + winter_severity_bias = 0.0 +} +11170 = { + winter_severity_bias = 0.0 +} +11171 = { + winter_severity_bias = 0.0 +} +11172 = { + winter_severity_bias = 0.0 +} +11173 = { + winter_severity_bias = 0.0 +} +11174 = { + winter_severity_bias = 0.0 +} +11175 = { + winter_severity_bias = 0.0 +} +11176 = { + winter_severity_bias = 0.0 +} +11177 = { + winter_severity_bias = 0.0 +} +11178 = { + winter_severity_bias = 0.0 +} +11179 = { + winter_severity_bias = 0.0 +} +11180 = { + winter_severity_bias = 0.0 +} +11181 = { + winter_severity_bias = 0.0 +} +11182 = { + winter_severity_bias = 0.0 +} +11183 = { + winter_severity_bias = 0.0 +} +11184 = { + winter_severity_bias = 0.0 +} +11185 = { + winter_severity_bias = 0.0 +} +11186 = { + winter_severity_bias = 0.0 +} +11187 = { + winter_severity_bias = 0.0 +} +11188 = { + winter_severity_bias = 0.0 +} +11189 = { + winter_severity_bias = 0.0 +} +11190 = { + winter_severity_bias = 0.0 +} +11191 = { + winter_severity_bias = 0.0 +} +11192 = { + winter_severity_bias = 0.0 +} +11193 = { + winter_severity_bias = 0.0 +} +11194 = { + winter_severity_bias = 0.0 +} +11195 = { + winter_severity_bias = 0.0 +} +11196 = { + winter_severity_bias = 0.0 +} +11197 = { + winter_severity_bias = 0.0 +} +11198 = { + winter_severity_bias = 0.0 +} +11199 = { + winter_severity_bias = 0.0 +} +11200 = { + winter_severity_bias = 0.0 +} +11201 = { + winter_severity_bias = 0.0 +} +11202 = { + winter_severity_bias = 0.0 +} +11203 = { + winter_severity_bias = 0.0 +} +11204 = { + winter_severity_bias = 0.0 +} +11205 = { + winter_severity_bias = 0.0 +} +11206 = { + winter_severity_bias = 0.0 +} +11207 = { + winter_severity_bias = 0.0 +} +11208 = { + winter_severity_bias = 0.0 +} +11209 = { + winter_severity_bias = 0.0 +} +11210 = { + winter_severity_bias = 0.0 +} +11211 = { + winter_severity_bias = 0.0 +} +11212 = { + winter_severity_bias = 0.0 +} +11213 = { + winter_severity_bias = 0.0 +} +11214 = { + winter_severity_bias = 0.0 +} +11215 = { + winter_severity_bias = 0.0 +} +11216 = { + winter_severity_bias = 0.0 +} +11217 = { + winter_severity_bias = 0.0 +} +11218 = { + winter_severity_bias = 0.0 +} +11219 = { + winter_severity_bias = 0.0 +} +11220 = { + winter_severity_bias = 0.0 +} +11221 = { + winter_severity_bias = 0.0 +} +11222 = { + winter_severity_bias = 0.0 +} +11223 = { + winter_severity_bias = 0.0 +} +11224 = { + winter_severity_bias = 0.0 +} +11225 = { + winter_severity_bias = 0.0 +} +11226 = { + winter_severity_bias = 0.0 +} +11227 = { + winter_severity_bias = 0.0 +} +11228 = { + winter_severity_bias = 0.0 +} +11229 = { + winter_severity_bias = 0.0 +} +11230 = { + winter_severity_bias = 0.0 +} +11231 = { + winter_severity_bias = 0.0 +} +11232 = { + winter_severity_bias = 0.0 +} +11233 = { + winter_severity_bias = 0.0 +} +11234 = { + winter_severity_bias = 0.0 +} +11235 = { + winter_severity_bias = 0.0 +} +11236 = { + winter_severity_bias = 0.0 +} +11237 = { + winter_severity_bias = 0.0 +} +11238 = { + winter_severity_bias = 0.0 +} +11239 = { + winter_severity_bias = 0.0 +} +11240 = { + winter_severity_bias = 0.0 +} +11241 = { + winter_severity_bias = 0.0 +} +11242 = { + winter_severity_bias = 0.0 +} +11243 = { + winter_severity_bias = 0.0 +} +11244 = { + winter_severity_bias = 0.0 +} +11245 = { + winter_severity_bias = 0.0 +} +11246 = { + winter_severity_bias = 0.0 +} +11247 = { + winter_severity_bias = 0.0 +} +11248 = { + winter_severity_bias = 0.0 +} +11249 = { + winter_severity_bias = 0.0 +} +11250 = { + winter_severity_bias = 0.0 +} +11251 = { + winter_severity_bias = 0.0 +} +11252 = { + winter_severity_bias = 0.0 +} +11253 = { + winter_severity_bias = 0.0 +} +11254 = { + winter_severity_bias = 0.0 +} +11255 = { + winter_severity_bias = 0.0 +} +11256 = { + winter_severity_bias = 0.0 +} +11257 = { + winter_severity_bias = 0.0 +} +11258 = { + winter_severity_bias = 0.0 +} +11259 = { + winter_severity_bias = 0.0 +} +11260 = { + winter_severity_bias = 0.0 +} +11261 = { + winter_severity_bias = 0.0 +} +11262 = { + winter_severity_bias = 0.0 +} +11263 = { + winter_severity_bias = 0.0 +} +11264 = { + winter_severity_bias = 0.0 +} +11265 = { + winter_severity_bias = 0.0 +} +11266 = { + winter_severity_bias = 0.0 +} +11267 = { + winter_severity_bias = 0.0 +} +11268 = { + winter_severity_bias = 0.0 +} +11269 = { + winter_severity_bias = 0.0 +} +11270 = { + winter_severity_bias = 0.0 +} +11271 = { + winter_severity_bias = 0.0 +} +11272 = { + winter_severity_bias = 0.0 +} +11273 = { + winter_severity_bias = 0.0 +} +11274 = { + winter_severity_bias = 0.0 +} +11275 = { + winter_severity_bias = 0.0 +} +11276 = { + winter_severity_bias = 0.0 +} +11277 = { + winter_severity_bias = 0.0 +} +11278 = { + winter_severity_bias = 0.0 +} +11279 = { + winter_severity_bias = 0.0 +} +11280 = { + winter_severity_bias = 0.0 +} +11281 = { + winter_severity_bias = 0.0 +} +11282 = { + winter_severity_bias = 0.0 +} +11283 = { + winter_severity_bias = 0.0 +} +11284 = { + winter_severity_bias = 0.0 +} +11285 = { + winter_severity_bias = 0.0 +} +11286 = { + winter_severity_bias = 0.0 +} +11287 = { + winter_severity_bias = 0.0 +} +11288 = { + winter_severity_bias = 0.0 +} +11289 = { + winter_severity_bias = 0.0 +} +11290 = { + winter_severity_bias = 0.0 +} +11291 = { + winter_severity_bias = 0.0 +} +11292 = { + winter_severity_bias = 0.0 +} +11293 = { + winter_severity_bias = 0.0 +} +11294 = { + winter_severity_bias = 0.0 +} +11295 = { + winter_severity_bias = 0.0 +} +11296 = { + winter_severity_bias = 0.0 +} +11297 = { + winter_severity_bias = 0.0 +} +11298 = { + winter_severity_bias = 0.0 +} +11299 = { + winter_severity_bias = 0.0 +} +11300 = { + winter_severity_bias = 0.0 +} +11301 = { + winter_severity_bias = 0.0 +} +11302 = { + winter_severity_bias = 0.0 +} +11303 = { + winter_severity_bias = 0.0 +} +11304 = { + winter_severity_bias = 0.0 +} +11305 = { + winter_severity_bias = 0.0 +} +11306 = { + winter_severity_bias = 0.0 +} +11307 = { + winter_severity_bias = 0.0 +} +11308 = { + winter_severity_bias = 0.0 +} +11309 = { + winter_severity_bias = 0.0 +} +11310 = { + winter_severity_bias = 0.0 +} +11311 = { + winter_severity_bias = 0.0 +} +11312 = { + winter_severity_bias = 0.0 +} +11313 = { + winter_severity_bias = 0.0 +} +11314 = { + winter_severity_bias = 0.0 +} +11315 = { + winter_severity_bias = 0.0 +} +11316 = { + winter_severity_bias = 0.0 +} +11317 = { + winter_severity_bias = 0.0 +} +11318 = { + winter_severity_bias = 0.0 +} +11319 = { + winter_severity_bias = 0.0 +} +11320 = { + winter_severity_bias = 0.0 +} +11321 = { + winter_severity_bias = 0.0 +} +11322 = { + winter_severity_bias = 0.0 +} +11323 = { + winter_severity_bias = 0.0 +} +11324 = { + winter_severity_bias = 0.0 +} +11325 = { + winter_severity_bias = 0.0 +} +11326 = { + winter_severity_bias = 0.0 +} +11327 = { + winter_severity_bias = 0.0 +} +11328 = { + winter_severity_bias = 0.0 +} +11329 = { + winter_severity_bias = 0.0 +} +11330 = { + winter_severity_bias = 0.0 +} +11331 = { + winter_severity_bias = 0.0 +} +11332 = { + winter_severity_bias = 0.0 +} +11333 = { + winter_severity_bias = 0.0 +} +11334 = { + winter_severity_bias = 0.0 +} +11335 = { + winter_severity_bias = 0.0 +} +11336 = { + winter_severity_bias = 0.0 +} +11337 = { + winter_severity_bias = 0.0 +} +11338 = { + winter_severity_bias = 0.0 +} +11339 = { + winter_severity_bias = 0.0 +} +11340 = { + winter_severity_bias = 0.0 +} +11341 = { + winter_severity_bias = 0.0 +} +11342 = { + winter_severity_bias = 0.0 +} +11343 = { + winter_severity_bias = 0.0 +} +11344 = { + winter_severity_bias = 0.0 +} +11345 = { + winter_severity_bias = 0.0 +} +11346 = { + winter_severity_bias = 0.0 +} +11347 = { + winter_severity_bias = 0.0 +} +11348 = { + winter_severity_bias = 0.0 +} +11349 = { + winter_severity_bias = 0.0 +} +11350 = { + winter_severity_bias = 0.0 +} +11351 = { + winter_severity_bias = 0.0 +} +11352 = { + winter_severity_bias = 0.0 +} +11353 = { + winter_severity_bias = 0.0 +} +11354 = { + winter_severity_bias = 0.0 +} +11355 = { + winter_severity_bias = 0.0 +} +11356 = { + winter_severity_bias = 0.0 +} +11357 = { + winter_severity_bias = 0.0 +} +11358 = { + winter_severity_bias = 0.0 +} +11359 = { + winter_severity_bias = 0.0 +} +11360 = { + winter_severity_bias = 0.0 +} +11361 = { + winter_severity_bias = 0.0 +} +11362 = { + winter_severity_bias = 0.0 +} +11363 = { + winter_severity_bias = 0.0 +} +11364 = { + winter_severity_bias = 0.0 +} +11365 = { + winter_severity_bias = 0.0 +} +11366 = { + winter_severity_bias = 0.0 +} +11367 = { + winter_severity_bias = 0.0 +} +11368 = { + winter_severity_bias = 0.0 +} +11369 = { + winter_severity_bias = 0.0 +} +11370 = { + winter_severity_bias = 0.0 +} +11371 = { + winter_severity_bias = 0.0 +} +11372 = { + winter_severity_bias = 0.0 +} +11373 = { + winter_severity_bias = 0.0 +} +11374 = { + winter_severity_bias = 0.0 +} +11375 = { + winter_severity_bias = 0.0 +} +11376 = { + winter_severity_bias = 0.0 +} +11377 = { + winter_severity_bias = 0.0 +} +11378 = { + winter_severity_bias = 0.0 +} +11379 = { + winter_severity_bias = 0.0 +} +11380 = { + winter_severity_bias = 0.0 +} +11381 = { + winter_severity_bias = 0.0 +} +11382 = { + winter_severity_bias = 0.0 +} +11383 = { + winter_severity_bias = 0.0 +} +11384 = { + winter_severity_bias = 0.0 +} +11385 = { + winter_severity_bias = 0.0 +} +11386 = { + winter_severity_bias = 0.0 +} +11387 = { + winter_severity_bias = 0.0 +} +11388 = { + winter_severity_bias = 0.0 +} +11389 = { + winter_severity_bias = 0.0 +} +11390 = { + winter_severity_bias = 0.0 +} +11391 = { + winter_severity_bias = 0.0 +} +11392 = { + winter_severity_bias = 0.0 +} +11393 = { + winter_severity_bias = 0.0 +} +11394 = { + winter_severity_bias = 0.0 +} +11395 = { + winter_severity_bias = 0.0 +} +11396 = { + winter_severity_bias = 0.0 +} +11397 = { + winter_severity_bias = 0.0 +} +11398 = { + winter_severity_bias = 0.0 +} +11399 = { + winter_severity_bias = 0.0 +} +11400 = { + winter_severity_bias = 0.0 +} +11401 = { + winter_severity_bias = 0.0 +} +11402 = { + winter_severity_bias = 0.0 +} +11403 = { + winter_severity_bias = 0.0 +} +11404 = { + winter_severity_bias = 0.0 +} +11405 = { + winter_severity_bias = 0.0 +} +11406 = { + winter_severity_bias = 0.0 +} +11407 = { + winter_severity_bias = 0.0 +} +11408 = { + winter_severity_bias = 0.0 +} +11409 = { + winter_severity_bias = 0.0 +} +11410 = { + winter_severity_bias = 0.0 +} +11411 = { + winter_severity_bias = 0.0 +} +11412 = { + winter_severity_bias = 0.0 +} +11413 = { + winter_severity_bias = 0.0 +} +11414 = { + winter_severity_bias = 0.0 +} +11415 = { + winter_severity_bias = 0.0 +} +11416 = { + winter_severity_bias = 0.0 +} +11417 = { + winter_severity_bias = 0.0 +} +11418 = { + winter_severity_bias = 0.0 +} +11419 = { + winter_severity_bias = 0.0 +} +11420 = { + winter_severity_bias = 0.0 +} +11421 = { + winter_severity_bias = 0.0 +} +11422 = { + winter_severity_bias = 0.0 +} +11423 = { + winter_severity_bias = 0.0 +} +11424 = { + winter_severity_bias = 0.0 +} +11425 = { + winter_severity_bias = 0.0 +} +11426 = { + winter_severity_bias = 0.0 +} +11427 = { + winter_severity_bias = 0.0 +} +11428 = { + winter_severity_bias = 0.0 +} +11429 = { + winter_severity_bias = 0.0 +} +11430 = { + winter_severity_bias = 0.0 +} +11431 = { + winter_severity_bias = 0.0 +} +11432 = { + winter_severity_bias = 0.0 +} +11433 = { + winter_severity_bias = 0.0 +} +11434 = { + winter_severity_bias = 0.0 +} +11435 = { + winter_severity_bias = 0.0 +} +11436 = { + winter_severity_bias = 0.0 +} +11437 = { + winter_severity_bias = 0.0 +} +11438 = { + winter_severity_bias = 0.0 +} +11439 = { + winter_severity_bias = 0.0 +} +11440 = { + winter_severity_bias = 0.0 +} +11441 = { + winter_severity_bias = 0.0 +} +11442 = { + winter_severity_bias = 0.0 +} +11443 = { + winter_severity_bias = 0.0 +} +11444 = { + winter_severity_bias = 0.0 +} +11445 = { + winter_severity_bias = 0.0 +} +11446 = { + winter_severity_bias = 0.0 +} +11447 = { + winter_severity_bias = 0.0 +} +11448 = { + winter_severity_bias = 0.0 +} +11449 = { + winter_severity_bias = 0.0 +} +11450 = { + winter_severity_bias = 0.0 +} +11451 = { + winter_severity_bias = 0.0 +} +11452 = { + winter_severity_bias = 0.0 +} +11454 = { + winter_severity_bias = 1.0 +} +11459 = { + winter_severity_bias = 0.0 +} +11460 = { + winter_severity_bias = 0.0 +} +11461 = { + winter_severity_bias = 0.0 +} +11462 = { + winter_severity_bias = 0.0 +} +11463 = { + winter_severity_bias = 0.0 +} +11464 = { + winter_severity_bias = 0.0 +} +11465 = { + winter_severity_bias = 0.0 +} +11466 = { + winter_severity_bias = 0.0 +} +11467 = { + winter_severity_bias = 0.0 +} +11468 = { + winter_severity_bias = 0.0 +} +11470 = { + winter_severity_bias = 0.0 +} +11471 = { + winter_severity_bias = 0.0 +} +11472 = { + winter_severity_bias = 0.0 +} +11473 = { + winter_severity_bias = 0.0 +} +11474 = { + winter_severity_bias = 0.0 +} +11475 = { + winter_severity_bias = 0.0 +} +11476 = { + winter_severity_bias = 0.0 +} +11477 = { + winter_severity_bias = 0.0 +} +11478 = { + winter_severity_bias = 0.0 +} +11479 = { + winter_severity_bias = 0.0 +} +11480 = { + winter_severity_bias = 0.0 +} +11481 = { + winter_severity_bias = 0.0 +} +11482 = { + winter_severity_bias = 0.0 +} +11483 = { + winter_severity_bias = 0.0 +} +11484 = { + winter_severity_bias = 0.0 +} +11485 = { + winter_severity_bias = 0.0 +} +11486 = { + winter_severity_bias = 0.0 +} +11487 = { + winter_severity_bias = 0.0 +} +11488 = { + winter_severity_bias = 0.0 +} +11489 = { + winter_severity_bias = 0.0 +} +11490 = { + winter_severity_bias = 0.0 +} +11491 = { + winter_severity_bias = 0.0 +} +11492 = { + winter_severity_bias = 0.0 +} +11493 = { + winter_severity_bias = 0.0 +} +11494 = { + winter_severity_bias = 0.0 +} +11495 = { + winter_severity_bias = 0.0 +} +11496 = { + winter_severity_bias = 0.0 +} +11497 = { + winter_severity_bias = 0.0 +} +11498 = { + winter_severity_bias = 0.0 +} +11499 = { + winter_severity_bias = 0.0 +} +11500 = { + winter_severity_bias = 0.0 +} +11933 = { + winter_severity_bias = 0.0 +} +11934 = { + winter_severity_bias = 0.0 +} +11935 = { + winter_severity_bias = 0.0 +} +11936 = { + winter_severity_bias = 0.0 +} +11937 = { + winter_severity_bias = 0.0 +} +11938 = { + winter_severity_bias = 0.0 +} +11939 = { + winter_severity_bias = 0.0 +} +11940 = { + winter_severity_bias = 0.0 +} +11942 = { + winter_severity_bias = 0.70 +} +11944 = { + winter_severity_bias = 0.70 +} +11945 = { + winter_severity_bias = 0.70 +} +11948 = { + winter_severity_bias = 0.70 +} +12170 = { + winter_severity_bias = 0.70 +} +12172 = { + winter_severity_bias = 0.70 +} +12174 = { + winter_severity_bias = 0.70 +} +12176 = { + winter_severity_bias = 0.70 +} +12177 = { + winter_severity_bias = 0.70 +} +12247 = { + winter_severity_bias = 0.70 +} +12339 = { + winter_severity_bias = 0.70 +} +12348 = { + winter_severity_bias = 0.70 +} +12349 = { + winter_severity_bias = 0.70 +} +12351 = { + winter_severity_bias = 0.70 +} +12352 = { + winter_severity_bias = 0.70 +} +12353 = { + winter_severity_bias = 0.70 +} +12354 = { + winter_severity_bias = 0.70 +} +12355 = { + winter_severity_bias = 0.70 +} +12356 = { + winter_severity_bias = 0.70 +} +12357 = { + winter_severity_bias = 0.70 +} +12358 = { + winter_severity_bias = 0.70 +} +12359 = { + winter_severity_bias = 0.70 +} +12360 = { + winter_severity_bias = 0.70 +} +12361 = { + winter_severity_bias = 0.70 +} +12362 = { + winter_severity_bias = 0.70 +} +12363 = { + winter_severity_bias = 0.70 +} +12364 = { + winter_severity_bias = 0.70 +} +12365 = { + winter_severity_bias = 0.70 +} +12366 = { + winter_severity_bias = 0.70 +} +12367 = { + winter_severity_bias = 0.70 +} +12368 = { + winter_severity_bias = 0.70 +} +12386 = { + winter_severity_bias = 0.70 +} +12387 = { + winter_severity_bias = 0.70 +} +12391 = { + winter_severity_bias = 0.70 +} +12392 = { + winter_severity_bias = 0.70 +} +12393 = { + winter_severity_bias = 0.70 +} +12394 = { + winter_severity_bias = 0.70 +} +12395 = { + winter_severity_bias = 0.70 +} +12396 = { + winter_severity_bias = 0.70 +} +12398 = { + winter_severity_bias = 0.70 +} +12401 = { + winter_severity_bias = 0.70 +} +12402 = { + winter_severity_bias = 0.70 +} +12403 = { + winter_severity_bias = 0.70 +} +12404 = { + winter_severity_bias = 0.70 +} +12405 = { + winter_severity_bias = 0.70 +} +12406 = { + winter_severity_bias = 0.70 +} +12407 = { + winter_severity_bias = 0.70 +} +12408 = { + winter_severity_bias = 0.70 +} +12409 = { + winter_severity_bias = 0.70 +} +12410 = { + winter_severity_bias = 0.70 +} +12411 = { + winter_severity_bias = 0.70 +} +12412 = { + winter_severity_bias = 0.70 +} +12413 = { + winter_severity_bias = 0.70 +} +12414 = { + winter_severity_bias = 0.70 +} +12415 = { + winter_severity_bias = 0.70 +} +12416 = { + winter_severity_bias = 0.70 +} +12417 = { + winter_severity_bias = 0.70 +} +12418 = { + winter_severity_bias = 0.70 +} +12419 = { + winter_severity_bias = 0.70 +} +12420 = { + winter_severity_bias = 0.70 +} +12421 = { + winter_severity_bias = 0.70 +} +12422 = { + winter_severity_bias = 0.70 +} +12423 = { + winter_severity_bias = 0.70 +} +12424 = { + winter_severity_bias = 0.70 +} +12425 = { + winter_severity_bias = 0.70 +} +12426 = { + winter_severity_bias = 0.70 +} +12427 = { + winter_severity_bias = 0.70 +} +12428 = { + winter_severity_bias = 0.70 +} +12429 = { + winter_severity_bias = 0.70 +} +12430 = { + winter_severity_bias = 0.70 +} +12487 = { + winter_severity_bias = 0.0 +} +12488 = { + winter_severity_bias = 0.0 +} +12489 = { + winter_severity_bias = 0.0 +} +12490 = { + winter_severity_bias = 0.0 +} +12491 = { + winter_severity_bias = 0.0 +} +12492 = { + winter_severity_bias = 0.0 +} +12493 = { + winter_severity_bias = 0.0 +} +12494 = { + winter_severity_bias = 0.0 +} +12495 = { + winter_severity_bias = 0.0 +} +12496 = { + winter_severity_bias = 0.0 +} +12497 = { + winter_severity_bias = 0.0 +} +12498 = { + winter_severity_bias = 0.0 +} +12499 = { + winter_severity_bias = 0.0 +} +12500 = { + winter_severity_bias = 0.0 +} +12501 = { + winter_severity_bias = 0.0 +} +12502 = { + winter_severity_bias = 0.0 +} +12503 = { + winter_severity_bias = 0.0 +} +12504 = { + winter_severity_bias = 0.0 +} +12505 = { + winter_severity_bias = 0.0 +} +12506 = { + winter_severity_bias = 0.0 +} +12507 = { + winter_severity_bias = 0.0 +} +12508 = { + winter_severity_bias = 0.0 +} +12509 = { + winter_severity_bias = 0.0 +} +12510 = { + winter_severity_bias = 0.0 +} +12511 = { + winter_severity_bias = 0.0 +} +12512 = { + winter_severity_bias = 0.0 +} +12513 = { + winter_severity_bias = 0.0 +} +12514 = { + winter_severity_bias = 0.0 +} +12515 = { + winter_severity_bias = 0.0 +} +12516 = { + winter_severity_bias = 0.0 +} +12517 = { + winter_severity_bias = 0.0 +} +12518 = { + winter_severity_bias = 0.0 +} +12519 = { + winter_severity_bias = 0.0 +} +12520 = { + winter_severity_bias = 0.0 +} +12521 = { + winter_severity_bias = 0.0 +} +12522 = { + winter_severity_bias = 0.0 +} +12523 = { + winter_severity_bias = 0.0 +} +12524 = { + winter_severity_bias = 0.0 +} +12525 = { + winter_severity_bias = 0.0 +} +12526 = { + winter_severity_bias = 0.0 +} +12527 = { + winter_severity_bias = 0.0 +} +12528 = { + winter_severity_bias = 0.0 +} +12529 = { + winter_severity_bias = 0.0 +} +12530 = { + winter_severity_bias = 0.0 +} +12531 = { + winter_severity_bias = 0.0 +} +12532 = { + winter_severity_bias = 0.0 +} +12533 = { + winter_severity_bias = 0.0 +} +12540 = { + winter_severity_bias = 0.0 +} +12541 = { + winter_severity_bias = 0.0 +} +12542 = { + winter_severity_bias = 0.0 +} +12543 = { + winter_severity_bias = 0.0 +} +12544 = { + winter_severity_bias = 0.0 +} +12545 = { + winter_severity_bias = 0.0 +} +12546 = { + winter_severity_bias = 0.0 +} +12547 = { + winter_severity_bias = 0.0 +} +12548 = { + winter_severity_bias = 0.0 +} +12549 = { + winter_severity_bias = 0.0 +} +12550 = { + winter_severity_bias = 0.0 +} +12552 = { + winter_severity_bias = 0.70 +} +12553 = { + winter_severity_bias = 0.70 +} +12554 = { + winter_severity_bias = 0.70 +} +12555 = { + winter_severity_bias = 0.70 +} +12556 = { + winter_severity_bias = 0.70 +} +12557 = { + winter_severity_bias = 0.70 +} +12558 = { + winter_severity_bias = 0.70 +} +12559 = { + winter_severity_bias = 0.70 +} +12560 = { + winter_severity_bias = 0.70 +} +12561 = { + winter_severity_bias = 0.70 +} +12562 = { + winter_severity_bias = 0.70 +} +12563 = { + winter_severity_bias = 0.70 +} +12564 = { + winter_severity_bias = 0.70 +} +12565 = { + winter_severity_bias = 0.70 +} +12566 = { + winter_severity_bias = 0.70 +} +12567 = { + winter_severity_bias = 0.70 +} +12568 = { + winter_severity_bias = 0.70 +} +12569 = { + winter_severity_bias = 0.70 +} +12570 = { + winter_severity_bias = 0.70 +} +12571 = { + winter_severity_bias = 0.70 +} +12572 = { + winter_severity_bias = 0.70 +} +12573 = { + winter_severity_bias = 0.70 +} +12574 = { + winter_severity_bias = 0.0 +} +12575 = { + winter_severity_bias = 0.0 +} +12576 = { + winter_severity_bias = 0.0 +} +12577 = { + winter_severity_bias = 0.0 +} +12578 = { + winter_severity_bias = 0.0 +} +12579 = { + winter_severity_bias = 0.0 +} +12580 = { + winter_severity_bias = 0.0 +} +12581 = { + winter_severity_bias = 0.0 +} +12582 = { + winter_severity_bias = 0.0 +} +12583 = { + winter_severity_bias = 0.0 +} +12584 = { + winter_severity_bias = 0.0 +} +12585 = { + winter_severity_bias = 0.0 +} +12586 = { + winter_severity_bias = 0.0 +} +12587 = { + winter_severity_bias = 0.0 +} +12588 = { + winter_severity_bias = 0.0 +} +12589 = { + winter_severity_bias = 0.0 +} +12590 = { + winter_severity_bias = 0.0 +} +12591 = { + winter_severity_bias = 0.0 +} +12592 = { + winter_severity_bias = 0.0 +} +12593 = { + winter_severity_bias = 0.0 +} +12594 = { + winter_severity_bias = 0.0 +} +12595 = { + winter_severity_bias = 0.0 +} +12596 = { + winter_severity_bias = 0.0 +} +12597 = { + winter_severity_bias = 0.0 +} +12598 = { + winter_severity_bias = 0.0 +} +12599 = { + winter_severity_bias = 0.0 +} +12600 = { + winter_severity_bias = 0.0 +} +12601 = { + winter_severity_bias = 0.0 +} +12602 = { + winter_severity_bias = 0.0 +} +12603 = { + winter_severity_bias = 0.0 +} +12604 = { + winter_severity_bias = 0.0 +} +12605 = { + winter_severity_bias = 0.0 +} +12606 = { + winter_severity_bias = 0.0 +} +12607 = { + winter_severity_bias = 0.0 +} +12608 = { + winter_severity_bias = 0.0 +} +12609 = { + winter_severity_bias = 0.0 +} +12610 = { + winter_severity_bias = 0.0 +} +12613 = { + winter_severity_bias = 0.0 +} +12614 = { + winter_severity_bias = 0.0 +} +12615 = { + winter_severity_bias = 0.0 +} +12616 = { + winter_severity_bias = 0.0 +} +12617 = { + winter_severity_bias = 0.0 +} +12618 = { + winter_severity_bias = 0.0 +} +12619 = { + winter_severity_bias = 0.0 +} +12620 = { + winter_severity_bias = 0.0 +} +12621 = { + winter_severity_bias = 0.0 +} +12622 = { + winter_severity_bias = 0.0 +} +12623 = { + winter_severity_bias = 0.0 +} +12624 = { + winter_severity_bias = 0.0 +} +12625 = { + winter_severity_bias = 0.0 +} +12626 = { + winter_severity_bias = 0.0 +} +12627 = { + winter_severity_bias = 0.0 +} +12628 = { + winter_severity_bias = 0.0 +} +12629 = { + winter_severity_bias = 0.0 +} +12630 = { + winter_severity_bias = 0.0 +} +12631 = { + winter_severity_bias = 0.0 +} +12632 = { + winter_severity_bias = 0.0 +} +12633 = { + winter_severity_bias = 0.0 +} +12634 = { + winter_severity_bias = 0.0 +} +12635 = { + winter_severity_bias = 0.0 +} +12636 = { + winter_severity_bias = 0.0 +} +12637 = { + winter_severity_bias = 0.0 +} +12638 = { + winter_severity_bias = 0.0 +} +12639 = { + winter_severity_bias = 0.0 +} +12640 = { + winter_severity_bias = 0.0 +} +12641 = { + winter_severity_bias = 0.0 +} +12642 = { + winter_severity_bias = 0.0 +} +12643 = { + winter_severity_bias = 0.0 +} +12644 = { + winter_severity_bias = 0.0 +} +12645 = { + winter_severity_bias = 0.0 +} +12646 = { + winter_severity_bias = 0.0 +} +12647 = { + winter_severity_bias = 0.0 +} +12648 = { + winter_severity_bias = 0.0 +} +12649 = { + winter_severity_bias = 0.0 +} +12650 = { + winter_severity_bias = 0.0 +} +12651 = { + winter_severity_bias = 0.0 +} +12652 = { + winter_severity_bias = 0.0 +} +12653 = { + winter_severity_bias = 0.0 +} +12654 = { + winter_severity_bias = 0.0 +} +12655 = { + winter_severity_bias = 0.0 +} +12656 = { + winter_severity_bias = 0.0 +} +12657 = { + winter_severity_bias = 0.0 +} +12658 = { + winter_severity_bias = 0.0 +} +12659 = { + winter_severity_bias = 0.0 +} +12660 = { + winter_severity_bias = 0.0 +} +12661 = { + winter_severity_bias = 0.0 +} +12662 = { + winter_severity_bias = 0.0 +} +12663 = { + winter_severity_bias = 0.0 +} +12664 = { + winter_severity_bias = 0.0 +} +12665 = { + winter_severity_bias = 0.0 +} +12666 = { + winter_severity_bias = 0.0 +} +12667 = { + winter_severity_bias = 0.0 +} +12668 = { + winter_severity_bias = 0.0 +} +12669 = { + winter_severity_bias = 0.0 +} +12670 = { + winter_severity_bias = 0.0 +} +12671 = { + winter_severity_bias = 0.0 +} +12672 = { + winter_severity_bias = 0.0 +} +12673 = { + winter_severity_bias = 0.0 +} +12674 = { + winter_severity_bias = 0.0 +} +12675 = { + winter_severity_bias = 0.0 +} +12676 = { + winter_severity_bias = 0.0 +} +12677 = { + winter_severity_bias = 0.0 +} +12678 = { + winter_severity_bias = 0.0 +} +12679 = { + winter_severity_bias = 0.0 +} +12680 = { + winter_severity_bias = 0.0 +} +12681 = { + winter_severity_bias = 0.0 +} +12682 = { + winter_severity_bias = 0.0 +} +12683 = { + winter_severity_bias = 0.0 +} +12684 = { + winter_severity_bias = 0.0 +} +12685 = { + winter_severity_bias = 0.0 +} +12686 = { + winter_severity_bias = 0.0 +} +12687 = { + winter_severity_bias = 0.0 +} +12688 = { + winter_severity_bias = 0.0 +} +12689 = { + winter_severity_bias = 0.0 +} +12690 = { + winter_severity_bias = 0.0 +} +12691 = { + winter_severity_bias = 0.0 +} +12692 = { + winter_severity_bias = 0.0 +} +12693 = { + winter_severity_bias = 0.0 +} +12694 = { + winter_severity_bias = 0.0 +} +12695 = { + winter_severity_bias = 0.0 +} +12696 = { + winter_severity_bias = 0.0 +} +12697 = { + winter_severity_bias = 0.0 +} +12698 = { + winter_severity_bias = 0.0 +} +12699 = { + winter_severity_bias = 0.0 +} +12700 = { + winter_severity_bias = 0.0 +} +12701 = { + winter_severity_bias = 0.0 +} +12702 = { + winter_severity_bias = 0.0 +} +12703 = { + winter_severity_bias = 0.0 +} +12704 = { + winter_severity_bias = 0.0 +} +12705 = { + winter_severity_bias = 0.0 +} +12706 = { + winter_severity_bias = 0.0 +} +12707 = { + winter_severity_bias = 0.0 +} +12708 = { + winter_severity_bias = 0.0 +} +12709 = { + winter_severity_bias = 0.0 +} +12710 = { + winter_severity_bias = 0.0 +} +12711 = { + winter_severity_bias = 0.0 +} +12712 = { + winter_severity_bias = 0.0 +} +12713 = { + winter_severity_bias = 0.0 +} +12714 = { + winter_severity_bias = 0.0 +} +12715 = { + winter_severity_bias = 0.0 +} +12716 = { + winter_severity_bias = 0.0 +} +12717 = { + winter_severity_bias = 0.0 +} +12718 = { + winter_severity_bias = 0.0 +} +12719 = { + winter_severity_bias = 0.0 +} +12720 = { + winter_severity_bias = 0.0 +} +12721 = { + winter_severity_bias = 0.0 +} +12722 = { + winter_severity_bias = 0.0 +} +12723 = { + winter_severity_bias = 0.0 +} +12724 = { + winter_severity_bias = 0.0 +} +12725 = { + winter_severity_bias = 0.0 +} +12726 = { + winter_severity_bias = 0.0 +} +12727 = { + winter_severity_bias = 0.0 +} +12728 = { + winter_severity_bias = 0.0 +} +12729 = { + winter_severity_bias = 0.0 +} +12730 = { + winter_severity_bias = 0.0 +} +12731 = { + winter_severity_bias = 0.0 +} +12732 = { + winter_severity_bias = 0.0 +} +12733 = { + winter_severity_bias = 0.0 +} +12734 = { + winter_severity_bias = 0.0 +} +12735 = { + winter_severity_bias = 0.0 +} +12736 = { + winter_severity_bias = 0.0 +} +12737 = { + winter_severity_bias = 0.0 +} +12738 = { + winter_severity_bias = 0.0 +} +12739 = { + winter_severity_bias = 0.0 +} +12740 = { + winter_severity_bias = 0.0 +} +12741 = { + winter_severity_bias = 0.0 +} +12742 = { + winter_severity_bias = 0.0 +} +12743 = { + winter_severity_bias = 0.0 +} +12744 = { + winter_severity_bias = 0.0 +} +12745 = { + winter_severity_bias = 0.0 +} +12746 = { + winter_severity_bias = 0.0 +} +12747 = { + winter_severity_bias = 0.0 +} +12748 = { + winter_severity_bias = 0.0 +} +12749 = { + winter_severity_bias = 0.0 +} +12750 = { + winter_severity_bias = 0.0 +} +12751 = { + winter_severity_bias = 0.0 +} +12752 = { + winter_severity_bias = 0.0 +} +12753 = { + winter_severity_bias = 0.0 +} +12754 = { + winter_severity_bias = 0.0 +} +12755 = { + winter_severity_bias = 0.0 +} +12756 = { + winter_severity_bias = 0.0 +} +12757 = { + winter_severity_bias = 0.0 +} +12758 = { + winter_severity_bias = 0.0 +} +12759 = { + winter_severity_bias = 0.0 +} +12760 = { + winter_severity_bias = 0.0 +} +12761 = { + winter_severity_bias = 0.0 +} +12762 = { + winter_severity_bias = 0.0 +} +12763 = { + winter_severity_bias = 0.0 +} +12764 = { + winter_severity_bias = 0.0 +} +12765 = { + winter_severity_bias = 0.0 +} +12766 = { + winter_severity_bias = 0.0 +} +12767 = { + winter_severity_bias = 0.0 +} +12768 = { + winter_severity_bias = 0.0 +} +12769 = { + winter_severity_bias = 0.0 +} +12771 = { + winter_severity_bias = 0.0 +} +12772 = { + winter_severity_bias = 0.0 +} +12773 = { + winter_severity_bias = 0.0 +} +12774 = { + winter_severity_bias = 0.0 +} +12775 = { + winter_severity_bias = 0.0 +} +12776 = { + winter_severity_bias = 0.0 +} +12777 = { + winter_severity_bias = 0.0 +} +12778 = { + winter_severity_bias = 0.0 +} +12779 = { + winter_severity_bias = 0.0 +} +12780 = { + winter_severity_bias = 0.0 +} +12781 = { + winter_severity_bias = 0.0 +} +12782 = { + winter_severity_bias = 0.0 +} +12783 = { + winter_severity_bias = 0.0 +} +12784 = { + winter_severity_bias = 0.0 +} +12785 = { + winter_severity_bias = 0.0 +} +12786 = { + winter_severity_bias = 0.0 +} +12787 = { + winter_severity_bias = 0.0 +} +12788 = { + winter_severity_bias = 0.0 +} +12789 = { + winter_severity_bias = 0.0 +} +12790 = { + winter_severity_bias = 0.0 +} +12791 = { + winter_severity_bias = 0.0 +} +12792 = { + winter_severity_bias = 0.0 +} +12793 = { + winter_severity_bias = 0.0 +} +12794 = { + winter_severity_bias = 0.0 +} +12795 = { + winter_severity_bias = 0.0 +} +12796 = { + winter_severity_bias = 0.0 +} +12797 = { + winter_severity_bias = 0.0 +} +12798 = { + winter_severity_bias = 0.0 +} +12799 = { + winter_severity_bias = 0.0 +} +12800 = { + winter_severity_bias = 0.0 +} +12801 = { + winter_severity_bias = 0.0 +} +12802 = { + winter_severity_bias = 0.0 +} +12803 = { + winter_severity_bias = 0.0 +} +12804 = { + winter_severity_bias = 0.0 +} +12805 = { + winter_severity_bias = 0.0 +} +12806 = { + winter_severity_bias = 0.0 +} +12807 = { + winter_severity_bias = 0.0 +} +12808 = { + winter_severity_bias = 0.0 +} +12809 = { + winter_severity_bias = 0.0 +} +12821 = { + winter_severity_bias = 0.0 +} +12822 = { + winter_severity_bias = 0.0 +} +12823 = { + winter_severity_bias = 0.0 +} +12824 = { + winter_severity_bias = 0.0 +} +12825 = { + winter_severity_bias = 0.0 +} +12827 = { + winter_severity_bias = 0.0 +} +12828 = { + winter_severity_bias = 0.0 +} +12829 = { + winter_severity_bias = 0.0 +} +12830 = { + winter_severity_bias = 0.0 +} +12831 = { + winter_severity_bias = 0.0 +} +12832 = { + winter_severity_bias = 0.0 +} +12833 = { + winter_severity_bias = 0.0 +} +12834 = { + winter_severity_bias = 0.0 +} +12835 = { + winter_severity_bias = 0.0 +} +12836 = { + winter_severity_bias = 0.0 +} +12837 = { + winter_severity_bias = 0.0 +} +12838 = { + winter_severity_bias = 0.0 +} +12839 = { + winter_severity_bias = 0.0 +} +12840 = { + winter_severity_bias = 0.0 +} +12841 = { + winter_severity_bias = 0.0 +} +12842 = { + winter_severity_bias = 0.0 +} +12843 = { + winter_severity_bias = 0.0 +} +12844 = { + winter_severity_bias = 0.0 +} +12845 = { + winter_severity_bias = 0.0 +} +12846 = { + winter_severity_bias = 0.0 +} +12847 = { + winter_severity_bias = 0.0 +} +12848 = { + winter_severity_bias = 0.0 +} +12849 = { + winter_severity_bias = 0.0 +} +12850 = { + winter_severity_bias = 0.0 +} +12851 = { + winter_severity_bias = 0.0 +} +12852 = { + winter_severity_bias = 0.0 +} +12853 = { + winter_severity_bias = 0.0 +} +12854 = { + winter_severity_bias = 0.0 +} +12855 = { + winter_severity_bias = 0.0 +} +12856 = { + winter_severity_bias = 0.0 +} +12857 = { + winter_severity_bias = 0.0 +} +12858 = { + winter_severity_bias = 0.0 +} +12859 = { + winter_severity_bias = 0.0 +} +12860 = { + winter_severity_bias = 0.0 +} +12861 = { + winter_severity_bias = 0.0 +} +12862 = { + winter_severity_bias = 0.0 +} +12863 = { + winter_severity_bias = 0.0 +} +12864 = { + winter_severity_bias = 0.0 +} +12865 = { + winter_severity_bias = 0.0 +} +12866 = { + winter_severity_bias = 0.0 +} +12867 = { + winter_severity_bias = 0.0 +} +12868 = { + winter_severity_bias = 0.0 +} +12869 = { + winter_severity_bias = 0.0 +} +12870 = { + winter_severity_bias = 0.0 +} +12871 = { + winter_severity_bias = 0.0 +} +12872 = { + winter_severity_bias = 0.0 +} +12873 = { + winter_severity_bias = 0.0 +} +12874 = { + winter_severity_bias = 0.0 +} +12875 = { + winter_severity_bias = 0.0 +} +12876 = { + winter_severity_bias = 0.0 +} +12877 = { + winter_severity_bias = 0.0 +} +12878 = { + winter_severity_bias = 0.0 +} +12879 = { + winter_severity_bias = 0.0 +} +12880 = { + winter_severity_bias = 0.0 +} +12900 = { + winter_severity_bias = 0.0 +} +12901 = { + winter_severity_bias = 0.0 +} +12902 = { + winter_severity_bias = 0.0 +} +12903 = { + winter_severity_bias = 0.0 +} +12926 = { + winter_severity_bias = 0.0 +} +12927 = { + winter_severity_bias = 0.0 +} +12928 = { + winter_severity_bias = 0.0 +} +12930 = { + winter_severity_bias = 0.0 +} +12931 = { + winter_severity_bias = 0.0 +} +12932 = { + winter_severity_bias = 0.0 +} +12933 = { + winter_severity_bias = 0.0 +} +12934 = { + winter_severity_bias = 0.0 +} +12935 = { + winter_severity_bias = 0.0 +} +12936 = { + winter_severity_bias = 0.0 +} +12937 = { + winter_severity_bias = 0.0 +} +12938 = { + winter_severity_bias = 0.0 +} +12939 = { + winter_severity_bias = 0.0 +} +12940 = { + winter_severity_bias = 0.0 +} +12941 = { + winter_severity_bias = 0.0 +} +12942 = { + winter_severity_bias = 0.0 +} +12943 = { + winter_severity_bias = 0.0 +} +12944 = { + winter_severity_bias = 0.0 +} +12947 = { + winter_severity_bias = 0.0 +} +12949 = { + winter_severity_bias = 0.0 +} +12950 = { + winter_severity_bias = 0.20 +} +12951 = { + winter_severity_bias = 0.20 +} +12952 = { + winter_severity_bias = 0.0 +} +12953 = { + winter_severity_bias = 0.20 +} +12954 = { + winter_severity_bias = 0.70 +} +12955 = { + winter_severity_bias = 0.0 +} +12956 = { + winter_severity_bias = 0.0 +} +12957 = { + winter_severity_bias = 0.70 +} +12958 = { + winter_severity_bias = 0.0 +} +12959 = { + winter_severity_bias = 0.70 +} +12960 = { + winter_severity_bias = 0.70 +} +12961 = { + winter_severity_bias = 0.70 +} +12962 = { + winter_severity_bias = 0.70 +} +12963 = { + winter_severity_bias = 0.70 +} +12964 = { + winter_severity_bias = 0.70 +} +12966 = { + winter_severity_bias = 0.70 +} +12967 = { + winter_severity_bias = 0.70 +} +12968 = { + winter_severity_bias = 0.0 +} +12969 = { + winter_severity_bias = 0.0 +} +12970 = { + winter_severity_bias = 0.0 +} +12971 = { + winter_severity_bias = 0.0 +} +12972 = { + winter_severity_bias = 0.0 +} +12973 = { + winter_severity_bias = 0.70 +} +12974 = { + winter_severity_bias = 0.70 +} +12975 = { + winter_severity_bias = 0.70 +} +12976 = { + winter_severity_bias = 0.70 +} +12977 = { + winter_severity_bias = 0.0 +} +12978 = { + winter_severity_bias = 0.0 +} +12979 = { + winter_severity_bias = 0.0 +} +12980 = { + winter_severity_bias = 0.0 +} +12981 = { + winter_severity_bias = 0.0 +} +12982 = { + winter_severity_bias = 0.0 +} +12983 = { + winter_severity_bias = 0.0 +} +12984 = { + winter_severity_bias = 0.20 +} +12986 = { + winter_severity_bias = 0.10 +} +12988 = { + winter_severity_bias = 0.0 +} +12989 = { + winter_severity_bias = 0.0 +} +12990 = { + winter_severity_bias = 0.0 +} +12991 = { + winter_severity_bias = 0.0 +} +12992 = { + winter_severity_bias = 0.0 +} +12993 = { + winter_severity_bias = 0.0 +} +12994 = { + winter_severity_bias = 0.10 +} +12995 = { + winter_severity_bias = 0.10 +} +12996 = { + winter_severity_bias = 0.0 +} +12997 = { + winter_severity_bias = 0.0 +} +12998 = { + winter_severity_bias = 0.0 +} +12999 = { + winter_severity_bias = 0.0 +} +13000 = { + winter_severity_bias = 0.0 +} +13001 = { + winter_severity_bias = 0.70 +} +13002 = { + winter_severity_bias = 0.70 +} +13003 = { + winter_severity_bias = 0.70 +} +13004 = { + winter_severity_bias = 0.70 +} +13005 = { + winter_severity_bias = 0.70 +} +13006 = { + winter_severity_bias = 0.70 +} +13007 = { + winter_severity_bias = 0.70 +} +13008 = { + winter_severity_bias = 0.70 +} +13009 = { + winter_severity_bias = 0.70 +} +13010 = { + winter_severity_bias = 0.70 +} +13011 = { + winter_severity_bias = 0.70 +} +13012 = { + winter_severity_bias = 0.70 +} +13013 = { + winter_severity_bias = 0.70 +} +13014 = { + winter_severity_bias = 0.20 +} +13015 = { + winter_severity_bias = 0.10 +} +13016 = { + winter_severity_bias = 0.0 +} +13017 = { + winter_severity_bias = 0.70 +} +13018 = { + winter_severity_bias = 0.70 +} +13019 = { + winter_severity_bias = 0.0 +} +13020 = { + winter_severity_bias = 0.0 +} +13021 = { + winter_severity_bias = 0.10 +} +13022 = { + winter_severity_bias = 0.10 +} +13023 = { + winter_severity_bias = 0.70 +} +13024 = { + winter_severity_bias = 0.0 +} +13025 = { + winter_severity_bias = 0.70 +} +13026 = { + winter_severity_bias = 0.70 +} +13027 = { + winter_severity_bias = 0.70 +} +13028 = { + winter_severity_bias = 0.70 +} +13029 = { + winter_severity_bias = 0.70 +} +13030 = { + winter_severity_bias = 0.70 +} +13031 = { + winter_severity_bias = 0.70 +} +13032 = { + winter_severity_bias = 0.70 +} +13033 = { + winter_severity_bias = 0.70 +} +13034 = { + winter_severity_bias = 0.70 +} +13035 = { + winter_severity_bias = 0.0 +} +13036 = { + winter_severity_bias = 0.10 +} +13037 = { + winter_severity_bias = 0.0 +} +13038 = { + winter_severity_bias = 0.70 +} +13039 = { + winter_severity_bias = 0.70 +} +13040 = { + winter_severity_bias = 0.70 +} +13041 = { + winter_severity_bias = 0.70 +} +13042 = { + winter_severity_bias = 0.10 +} +13043 = { + winter_severity_bias = 0.10 +} +13044 = { + winter_severity_bias = 0.70 +} +13045 = { + winter_severity_bias = 0.70 +} +13046 = { + winter_severity_bias = 0.70 +} +13047 = { + winter_severity_bias = 0.70 +} +13048 = { + winter_severity_bias = 0.70 +} +13049 = { + winter_severity_bias = 0.20 +} +13050 = { + winter_severity_bias = 0.10 +} +13051 = { + winter_severity_bias = 0.10 +} +13052 = { + winter_severity_bias = 0.0 +} +13053 = { + winter_severity_bias = 0.0 +} +13054 = { + winter_severity_bias = 0.20 +} +13055 = { + winter_severity_bias = 0.0 +} +13056 = { + winter_severity_bias = 0.0 +} +13057 = { + winter_severity_bias = 0.0 +} +13058 = { + winter_severity_bias = 0.0 +} +13059 = { + winter_severity_bias = 0.0 +} +13060 = { + winter_severity_bias = 0.0 +} +13061 = { + winter_severity_bias = 0.70 +} +13062 = { + winter_severity_bias = 0.70 +} +13063 = { + winter_severity_bias = 0.70 +} +13064 = { + winter_severity_bias = 0.70 +} +13065 = { + winter_severity_bias = 0.70 +} +13066 = { + winter_severity_bias = 0.70 +} +13067 = { + winter_severity_bias = 0.70 +} +13068 = { + winter_severity_bias = 0.70 +} +13069 = { + winter_severity_bias = 0.70 +} +13070 = { + winter_severity_bias = 0.70 +} +13071 = { + winter_severity_bias = 0.70 +} +13072 = { + winter_severity_bias = 0.70 +} +13073 = { + winter_severity_bias = 0.70 +} +13074 = { + winter_severity_bias = 0.20 +} +13075 = { + winter_severity_bias = 0.70 +} +13076 = { + winter_severity_bias = 0.70 +} +13077 = { + winter_severity_bias = 0.70 +} +13078 = { + winter_severity_bias = 0.70 +} +13079 = { + winter_severity_bias = 0.70 +} +13080 = { + winter_severity_bias = 0.70 +} +13081 = { + winter_severity_bias = 0.70 +} +13082 = { + winter_severity_bias = 0.70 +} +13083 = { + winter_severity_bias = 0.0 +} +13084 = { + winter_severity_bias = 0.70 +} +13085 = { + winter_severity_bias = 0.70 +} +13086 = { + winter_severity_bias = 0.70 +} +13087 = { + winter_severity_bias = 0.70 +} +13088 = { + winter_severity_bias = 0.70 +} +13089 = { + winter_severity_bias = 0.70 +} +13090 = { + winter_severity_bias = 0.0 +} +13091 = { + winter_severity_bias = 0.0 +} +13092 = { + winter_severity_bias = 0.0 +} +13093 = { + winter_severity_bias = 0.0 +} +13094 = { + winter_severity_bias = 0.70 +} +13095 = { + winter_severity_bias = 0.70 +} +13096 = { + winter_severity_bias = 0.70 +} +13097 = { + winter_severity_bias = 0.10 +} +13098 = { + winter_severity_bias = 0.10 +} +13099 = { + winter_severity_bias = 0.0 +} +13100 = { + winter_severity_bias = 0.0 +} +13101 = { + winter_severity_bias = 0.0 +} +13102 = { + winter_severity_bias = 0.0 +} +13103 = { + winter_severity_bias = 0.10 +} +13104 = { + winter_severity_bias = 0.10 +} +13105 = { + winter_severity_bias = 0.0 +} +13106 = { + winter_severity_bias = 0.70 +} +13107 = { + winter_severity_bias = 0.70 +} +13108 = { + winter_severity_bias = 0.0 +} +13109 = { + winter_severity_bias = 0.0 +} +13110 = { + winter_severity_bias = 0.70 +} +13111 = { + winter_severity_bias = 0.70 +} +13112 = { + winter_severity_bias = 0.70 +} +13113 = { + winter_severity_bias = 0.70 +} +13114 = { + winter_severity_bias = 0.70 +} +13115 = { + winter_severity_bias = 0.70 +} +13116 = { + winter_severity_bias = 0.0 +} +13117 = { + winter_severity_bias = 0.0 +} +13118 = { + winter_severity_bias = 0.0 +} +13119 = { + winter_severity_bias = 0.70 +} +13120 = { + winter_severity_bias = 0.70 +} +13121 = { + winter_severity_bias = 0.70 +} +13122 = { + winter_severity_bias = 0.0 +} +13123 = { + winter_severity_bias = 0.0 +} +13124 = { + winter_severity_bias = 0.70 +} +13125 = { + winter_severity_bias = 0.70 +} +13126 = { + winter_severity_bias = 0.70 +} +13127 = { + winter_severity_bias = 0.70 +} +13128 = { + winter_severity_bias = 0.70 +} +13130 = { + winter_severity_bias = 0.0 +} +13131 = { + winter_severity_bias = 0.0 +} +13132 = { + winter_severity_bias = 0.0 +} +13133 = { + winter_severity_bias = 0.0 +} +13135 = { + winter_severity_bias = 0.0 +} +13136 = { + winter_severity_bias = 0.70 +} +13137 = { + winter_severity_bias = 0.0 +} +13138 = { + winter_severity_bias = 0.0 +} +13139 = { + winter_severity_bias = 0.70 +} +13140 = { + winter_severity_bias = 0.70 +} +13141 = { + winter_severity_bias = 0.0 +} +13142 = { + winter_severity_bias = 0.0 +} +13143 = { + winter_severity_bias = 0.0 +} +13144 = { + winter_severity_bias = 0.0 +} +13145 = { + winter_severity_bias = 0.10 +} +13146 = { + winter_severity_bias = 0.10 +} +13147 = { + winter_severity_bias = 0.10 +} +13148 = { + winter_severity_bias = 0.0 +} +13149 = { + winter_severity_bias = 0.0 +} +13150 = { + winter_severity_bias = 0.0 +} +13151 = { + winter_severity_bias = 0.0 +} +13152 = { + winter_severity_bias = 0.0 +} +13153 = { + winter_severity_bias = 0.0 +} +13154 = { + winter_severity_bias = 0.10 +} +13155 = { + winter_severity_bias = 0.0 +} +13156 = { + winter_severity_bias = 0.70 +} +13157 = { + winter_severity_bias = 0.70 +} +13161 = { + winter_severity_bias = 0.70 +} +13162 = { + winter_severity_bias = 0.70 +} +13163 = { + winter_severity_bias = 0.70 +} +13164 = { + winter_severity_bias = 0.70 +} +13165 = { + winter_severity_bias = 0.70 +} +13166 = { + winter_severity_bias = 0.70 +} +13167 = { + winter_severity_bias = 0.70 +} +13168 = { + winter_severity_bias = 0.70 +} +13169 = { + winter_severity_bias = 0.70 +} +13170 = { + winter_severity_bias = 0.70 +} +13171 = { + winter_severity_bias = 0.70 +} +13172 = { + winter_severity_bias = 0.70 +} +13173 = { + winter_severity_bias = 0.70 +} +13174 = { + winter_severity_bias = 0.70 +} +13175 = { + winter_severity_bias = 0.70 +} +13176 = { + winter_severity_bias = 0.70 +} +13177 = { + winter_severity_bias = 0.70 +} +13178 = { + winter_severity_bias = 0.70 +} +13179 = { + winter_severity_bias = 0.70 +} +13180 = { + winter_severity_bias = 0.70 +} +13181 = { + winter_severity_bias = 0.70 +} +13182 = { + winter_severity_bias = 0.70 +} +13183 = { + winter_severity_bias = 0.70 +} +13184 = { + winter_severity_bias = 0.70 +} +13185 = { + winter_severity_bias = 0.70 +} +13186 = { + winter_severity_bias = 0.70 +} +13187 = { + winter_severity_bias = 0.70 +} +13188 = { + winter_severity_bias = 0.70 +} +13189 = { + winter_severity_bias = 0.70 +} +13190 = { + winter_severity_bias = 0.70 +} +13191 = { + winter_severity_bias = 0.70 +} +13192 = { + winter_severity_bias = 0.70 +} +13193 = { + winter_severity_bias = 0.70 +} +13194 = { + winter_severity_bias = 0.70 +} +13195 = { + winter_severity_bias = 0.70 +} +13196 = { + winter_severity_bias = 0.70 +} +13197 = { + winter_severity_bias = 0.70 +} +13198 = { + winter_severity_bias = 0.70 +} +13199 = { + winter_severity_bias = 0.70 +} +13200 = { + winter_severity_bias = 0.70 +} +13201 = { + winter_severity_bias = 0.70 +} +13202 = { + winter_severity_bias = 0.70 +} +13203 = { + winter_severity_bias = 0.70 +} +13204 = { + winter_severity_bias = 0.20 +} +13205 = { + winter_severity_bias = 0.0 +} +13206 = { + winter_severity_bias = 0.70 +} +13207 = { + winter_severity_bias = 0.70 +} +13208 = { + winter_severity_bias = 0.0 +} +13209 = { + winter_severity_bias = 0.10 +} +13210 = { + winter_severity_bias = 0.70 +} +13211 = { + winter_severity_bias = 0.0 +} +13212 = { + winter_severity_bias = 0.0 +} +13213 = { + winter_severity_bias = 0.0 +} +13214 = { + winter_severity_bias = 0.0 +} +13215 = { + winter_severity_bias = 0.20 +} +13216 = { + winter_severity_bias = 0.70 +} +13217 = { + winter_severity_bias = 0.0 +} +13218 = { + winter_severity_bias = 1.0 +} +13219 = { + winter_severity_bias = 0.10 +} +13220 = { + winter_severity_bias = 0.0 +} +13221 = { + winter_severity_bias = 0.10 +} +13222 = { + winter_severity_bias = 0.10 +} +13223 = { + winter_severity_bias = 0.0 +} +13224 = { + winter_severity_bias = 0.0 +} +13225 = { + winter_severity_bias = 0.10 +} +13226 = { + winter_severity_bias = 0.0 +} +13227 = { + winter_severity_bias = 0.0 +} +13228 = { + winter_severity_bias = 0.0 +} +13229 = { + winter_severity_bias = 0.0 +} +13230 = { + winter_severity_bias = 0.0 +} +13231 = { + winter_severity_bias = 1.0 +} +13232 = { + winter_severity_bias = 0.0 +} +13233 = { + winter_severity_bias = 0.0 +} +13234 = { + winter_severity_bias = 0.0 +} +13235 = { + winter_severity_bias = 0.0 +} +13236 = { + winter_severity_bias = 0.0 +} +13237 = { + winter_severity_bias = 0.0 +} +13238 = { + winter_severity_bias = 0.0 +} +13239 = { + winter_severity_bias = 0.0 +} +13240 = { + winter_severity_bias = 0.0 +} +13241 = { + winter_severity_bias = 0.0 +} +13242 = { + winter_severity_bias = 0.0 +} +13243 = { + winter_severity_bias = 0.0 +} +13244 = { + winter_severity_bias = 0.0 +} +13245 = { + winter_severity_bias = 0.0 +} +13246 = { + winter_severity_bias = 0.0 +} +13247 = { + winter_severity_bias = 0.0 +} +13248 = { + winter_severity_bias = 0.0 +} +13249 = { + winter_severity_bias = 0.0 +} +13250 = { + winter_severity_bias = 0.0 +} +13251 = { + winter_severity_bias = 0.0 +} +13252 = { + winter_severity_bias = 0.0 +} +13253 = { + winter_severity_bias = 0.0 +} +13254 = { + winter_severity_bias = 0.0 +} +13255 = { + winter_severity_bias = 0.0 +} +13256 = { + winter_severity_bias = 0.0 +} +13257 = { + winter_severity_bias = 0.0 +} +13258 = { + winter_severity_bias = 0.0 +} +13259 = { + winter_severity_bias = 0.0 +} +13260 = { + winter_severity_bias = 0.0 +} +13261 = { + winter_severity_bias = 0.0 +} +13262 = { + winter_severity_bias = 0.0 +} +13263 = { + winter_severity_bias = 0.0 +} +13264 = { + winter_severity_bias = 0.0 +} +13265 = { + winter_severity_bias = 0.0 +} +13266 = { + winter_severity_bias = 0.0 +} +13267 = { + winter_severity_bias = 0.0 +} +13268 = { + winter_severity_bias = 0.0 +} +13269 = { + winter_severity_bias = 0.0 +} diff --git a/N3OW/common/subject_contracts/contracts/_subject_contracts.info b/N3OW/common/subject_contracts/contracts/_subject_contracts.info index 0ae9c983..210d813b 100644 --- a/N3OW/common/subject_contracts/contracts/_subject_contracts.info +++ b/N3OW/common/subject_contracts/contracts/_subject_contracts.info @@ -4,12 +4,29 @@ subject_contract = { uses_opinion_of_liege = yes/no # if set to yes, scope:opinion_of_liege can be used in the levies and tax script math (it's a value that's updated daily for player contracts, for AI it uses NSubjectContract::OPINION_OF_LIEGE_UPDATE_INTERVAL. No by default for performance reasons. - display_mode = tree/list/radiobutton # How are the obligations displayed in the negotiate contract UI, default is radiobutton + is_shown = trigger to determine whether this obligation should be shown or not, uses the same scopes as obligation_levels + + display_mode = tree/radiobutton/checkbox/hidden # How are the obligations displayed in the negotiate contract UI, default is radiobutton + + # If this contract obligation should default to the (in score) level, instead to a specific one + # Default: no + defaults_to_highest_valid_level = yes/no + + # Trigger that checks whether this option can be modified. Blockers will be shown in the tooltip and the option won't be clickable, but it will still be visible. + # Scope support: + # liege + # subject / vassal (for backward compatibility) + # tax_slot + # tax_collector + # opinion_of_liege = current opinion of the liege towards the subject, if uses opinion_of_liege is set to yes + # + can_be_changed = { + } # Modifiable contract with multiple levels: obligation_levels = { # Scopes available: - # scope:liege the liege in the contract + # scope:liege the liege or suzerain in the contract # scope:subject the subject in the contract # scope:vassal the subject in the contract. Same as scope:subject. Kept in for backwards compatability. # scope:opinion_of_liege set if uses_opinion_of_liege = yes @@ -17,19 +34,21 @@ subject_contract = { # scope:tax_collector the collector for the above/the potential new collector subject_obligation_low = { # choose a key for the level, it will be used for localization - levies = 0.5 # % of levies (0..1), default 0; can also use script math - tax = 0.2 # % of gold income (0..1), default 0; Can also use script math - herd = 0.2 # % of herd income (0..1), default 0; Can also use script math - min_levies = 0.1 # Optional min floor on levies. Can also use script math - min_tax = 0.0 # Optional min floor on tax. Can also use script math - min_herd = 0.0 # Optional min floor on herd. Can also use script math + levies = 0.5 # % of levies (0..1), default 0; can also use script math + tax = 0.2 # % of gold income (0..1), default 0; Can also use script math + herd = 0.2 # % of herd income (0..1), default 0; Can also use script math + barter_goods = 0.2 # % of barter goods income (0..1), default 0; Can also use script math + min_levies = 0.1 # Optional min floor on levies. Can also use script math + min_tax = 0.0 # Optional min floor on tax. Can also use script math + min_herd = 0.0 # Optional min floor on herd. Can also use script math + min_barter_goods = 0.0 # Optional min floor on barter goods. Can also use script math contribution_desc = { ... } # Optional dynamic description used for the breakdown of the tax, levies and herd contribution - + tax_contribution_postfix = "..." # Optional postfix added to the tax contribution breakdown levies_contribution_postfix = "..." # Optional postfix added to the levies contribution breakdown herd_contribution_postfix = "..." # Optional postfix added to the herd contribution breakdown - + unclamped_contribution_label = "..." # Breakdown label for the unclamped tax/levies/herd contribution min_contribution_label = "..." # Breakdown label for the minimum tax/levies/herd contribution the value is clamped to @@ -37,6 +56,8 @@ subject_contract = { flag = token # Arbitrary flag, can be checked in script to see if any obligation level in the current subject contract has a flag + gui_tags = { tag_1 tag_2 ... } # List of gui tags, used to set size, color etc in gui views + score = int # Positive means it is better for the subject to have, 0 means neutral, negative is better for liege # When changing obligations the current score and new score are compared to see if it is in favour of the subject or liege # and by how much. @@ -48,12 +69,25 @@ subject_contract = { liege_modifier = { } # Modifiers applied to the liege in the contract subject_modifier = { } # Modifiers applied to the subject in the contract + is_shown = { } # Is this obligation level visible for a subject (invisible levels are also not valid) is_valid = { } # Is this obligation level valid for a subject - # Multiplier against the total tax/levies in a contract, be careful you do not get weird stacking beavhour if multiple are on at once + # Can disable men at arms based on the title or the governor for the contract + # (Requires government to have the 'administrative' rule too) + # Default: yes - if defined in multiple obligations, will take first obligation in contract group + enable_title_maa = yes/no + # Can disable character men at arms + # Default: yes - if defined in multiple obligations, will take first obligation in contract group + enable_character_maa = yes/no + + # Multiplier against the total tax/levies in a contract, be careful you do not get weird stacking behavior if multiple are on at once tax_factor =