From c2a10ca2ea6f26defc41b4a3c57aac49d37453ef Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Thu, 20 Feb 2025 16:42:52 +0000 Subject: [PATCH] fixes --- .../domiciles/buildings/00_camp_buildings.txt | 4666 +++++++++++++++++ common/domiciles/types/00_domicile_types.txt | 1602 ++++++ common/vassal_contracts/administrative.txt | 9 +- 3 files changed, 6274 insertions(+), 3 deletions(-) create mode 100644 common/domiciles/buildings/00_camp_buildings.txt create mode 100644 common/domiciles/types/00_domicile_types.txt diff --git a/common/domiciles/buildings/00_camp_buildings.txt b/common/domiciles/buildings/00_camp_buildings.txt new file mode 100644 index 00000000..66eefa41 --- /dev/null +++ b/common/domiciles/buildings/00_camp_buildings.txt @@ -0,0 +1,4666 @@ +@camp_building_main_slot_construction_duration_t1 = 180 +@camp_building_main_slot_construction_duration_t2 = 210 +@camp_building_main_slot_construction_duration_t3 = 240 +@camp_building_main_slot_construction_duration_t4 = 300 +@camp_building_main_slot_construction_duration_t5 = 360 +@camp_building_main_slot_construction_duration_t6 = 420 + +@camp_building_internal_slot_construction_duration_t1 = 180 +@camp_building_internal_slot_construction_duration_t2 = 240 +@camp_building_internal_slot_construction_duration_t3 = 300 + +################## +# CAMP BUILDINGS +################## +### Camp Main Building - Pavilion +camp_main_01 = { + slot_type = main + # Always built, so construction time doesn't matter. + construction_time = 1 + allowed_domicile_types = { camp } + + character_modifier = { + health = 0.5 + domicile_external_slots_capacity_add = 2 + } + + 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 } + + ### WESTERN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_01_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### TRIBAL + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_norse_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_01_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### STEPPE + asset = { + trigger = { + owner.culture = { + has_graphical_steppe_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_01_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### DESERT + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_mena_culture_group_trigger = yes + has_graphical_iranian_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + has_graphical_mediterranean_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_01_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } +} +camp_main_02 = { + slot_type = main + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = camp_main_01 + + cost = { gold = camp_main_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_main_02_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_external_slots_capacity_add = 1 + men_at_arms_cap = 1 + enemy_hostile_scheme_phase_duration_add = miniscule_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + provisions_capacity_add = 100 + } + + parameters = { + camp_unlocks_second_officer = yes + } + + ai_value = { + value = camp_main_main_path_value + if = { + limit = { + num_domicile_buildings >= 4 + } + multiply = 10 + } + } + + ### WESTERN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### TRIBAL + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_norse_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### STEPPE + asset = { + trigger = { + owner.culture = { + has_graphical_steppe_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### DESERT + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_mena_culture_group_trigger = yes + has_graphical_iranian_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + has_graphical_mediterranean_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } +} +camp_main_03 = { + slot_type = main + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = camp_main_02 + + cost = { gold = camp_main_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_main_03_domicile_building_gold_cost_value + add = camp_main_02_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_toughness_mult = 0.05 + domicile_external_slots_capacity_add = 1 + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + provisions_capacity_add = 150 + } + + parameters = { + camp_unlocks_second_officer = yes + } + + ai_value = { + value = camp_main_main_path_value + if = { + limit = { + num_domicile_buildings >= 8 + } + multiply = 10 + } + } + + ### WESTERN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### TRIBAL + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_norse_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### STEPPE + asset = { + trigger = { + owner.culture = { + has_graphical_steppe_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### DESERT + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_mena_culture_group_trigger = yes + has_graphical_iranian_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + has_graphical_mediterranean_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_02_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } +} +camp_main_04 = { + slot_type = main + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = camp_main_03 + + cost = { gold = camp_main_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_main_04_domicile_building_gold_cost_value + add = camp_main_03_domicile_building_gold_cost_value + add = camp_main_02_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_toughness_mult = 0.05 + men_at_arms_cap = 1 + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + provisions_capacity_add = 250 + } + + parameters = { + camp_unlocks_second_officer = yes + } + + ai_value = { + value = camp_main_main_path_value + if = { + limit = { + num_domicile_buildings >= 12 + } + multiply = 10 + } + } + + ### WESTERN + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_level_03_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### TRIBAL + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_norse_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_tribal_level_03_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### STEPPE + asset = { + trigger = { + owner.culture = { + has_graphical_steppe_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_steppe_level_03_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } + + ### DESERT + asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_mena_culture_group_trigger = yes + has_graphical_iranian_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + has_graphical_mediterranean_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/domicile_building_pavillion.dds" + texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_pavillion_desert_level_03_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_main_building" + } +} + +### Supply Tent - Smithing & Provisions +supply_tent_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = supply_tent_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.5 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + internal_slots = 2 + + cost = { gold = supply_tent_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_02_domicile_building_gold_cost_value + add = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.25 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = supply_tent_02 + internal_slots = 3 + + cost = { gold = supply_tent_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_03_domicile_building_gold_cost_value + add = supply_tent_02_domicile_building_gold_cost_value + add = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.25 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = supply_tent_03 + internal_slots = 4 + + cost = { gold = supply_tent_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_04_domicile_building_gold_cost_value + add = supply_tent_03_domicile_building_gold_cost_value + add = supply_tent_02_domicile_building_gold_cost_value + add = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.35 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = supply_tent_04 + internal_slots = 5 + + cost = { gold = supply_tent_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_05_domicile_building_gold_cost_value + add = supply_tent_04_domicile_building_gold_cost_value + add = supply_tent_03_domicile_building_gold_cost_value + add = supply_tent_02_domicile_building_gold_cost_value + add = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.35 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = supply_tent_05 + internal_slots = 6 + + cost = { gold = supply_tent_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_06_domicile_building_gold_cost_value + add = supply_tent_05_domicile_building_gold_cost_value + add = supply_tent_04_domicile_building_gold_cost_value + add = supply_tent_03_domicile_building_gold_cost_value + add = supply_tent_02_domicile_building_gold_cost_value + add = supply_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.5 + supply_capacity_mult = 0.25 + } + + parameters = { + camp_unlocks_quartermaster_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = supply_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_supply_tent.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +# Upgrades +supply_tent_sutler = { # Sutler + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_sutler_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_sutler_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + monthly_stewardship_lifestyle_xp_gain_mult = 0.25 + supply_capacity_mult = 0.5 + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_sutler.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_mender = { # Mender + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_mender_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_mender_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + skirmishers_toughness_mult = 0.15 + heavy_infantry_toughness_mult = 0.15 + archers_toughness_mult = 0.15 + pikemen_toughness_mult = 0.15 + } + + ai_value = { + value = camp_building_ai_base_t2 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mender.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_smithy = { # Smithy + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_smithy_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_smithy_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + hard_casualty_modifier = -0.2 + light_cavalry_toughness_mult = 0.2 + heavy_cavalry_toughness_mult = 0.1 + camel_cavalry_toughness_mult = 0.2 + archer_cavalry_toughness_mult = 0.1 + # Not elephantry for obvious reasons. + } + + parameters = { + camp_unlocks_armorer_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t4 + if = { + limit = { + owner = { + OR = { + has_lifestyle = martial_lifestyle + has_lifestyle = stewardship_lifestyle + has_lifestyle = learning_lifestyle + } + } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_smithy.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_arsenal = { # Arsenal + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_arsenal_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_arsenal_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + men_at_arms_limit = 1 + army_damage_mult = 0.1 + } + + parameters = { + camp_unlocks_armorer_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_arsenal.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_reserve_provisions = { # Reserve Provisions + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_reserve_provisions_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_reserve_provisions_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = supply_tent_reserve_provisions.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_supply_tent_reserve_provisions + } + } + + character_modifier = { + jungle_provisions_use_mult = -0.25 + taiga_provisions_use_mult = -0.25 + oasis_provisions_use_mult = -0.2 + mountains_provisions_use_mult = -0.1 + steppe_provisions_use_mult = -0.1 + drylands_provisions_use_mult = -0.1 + } + + parameters = { + camp_unlocks_chief_forager_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_provisions.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_reserve_water = { # Reserve Water + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_reserve_water_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_reserve_water_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = supply_tent_reserve_water.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_supply_tent_reserve_water + } + } + + character_modifier = { + desert_provisions_use_mult = -0.25 + desert_mountains_provisions_use_mult = -0.25 + mountains_provisions_use_mult = -0.1 + steppe_provisions_use_mult = -0.1 + drylands_provisions_use_mult = -0.1 + } + + parameters = { + camp_unlocks_chief_forager_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reserve_water.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_climbing_gear = { # Climbing Gear + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_climbing_gear_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_climbing_gear_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = supply_tent_climbing_gear.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_supply_tent_climbing_gear + } + } + + character_modifier = { + mountains_travel_danger = -20 + desert_mountains_travel_danger = -20 + mountains_advantage = 10 + desert_mountains_advantage = 10 + mountains_min_combat_roll = 5 + desert_mountains_min_combat_roll = 5 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_climbing.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +supply_tent_subdued_gear = { # Subdued Gear + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = supply_tent_01 + + cost = { gold = supply_tent_subdued_gear_domicile_building_gold_cost_value } + refund = { + gold = { + value = supply_tent_subdued_gear_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = supply_tent_subdued_gear.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_supply_tent_subdued_gear + } + } + + character_modifier = { + owned_scheme_secrecy_add = 20 + } + + parameters = { + camp_unlocks_master_thief_officer = yes + camp_reduced_criminal_contract_xp_gain = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_subdued_gear.dds" + texture = "gfx/interface/window_domiciles/laamp_building_supply_tent.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_supply_tent_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_supply_tent" + } +} +### Barber Tent - Remedies & Torture +barber_tent_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = barber_tent_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -10 + negate_health_penalty_add = 0.2 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_1 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + internal_slots = 2 + + cost = { gold = barber_tent_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_02_domicile_building_gold_cost_value + add = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -5 + negate_health_penalty_add = 0.2 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_2 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = barber_tent_02 + internal_slots = 3 + + cost = { gold = barber_tent_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_03_domicile_building_gold_cost_value + add = barber_tent_02_domicile_building_gold_cost_value + add = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -5 + negate_health_penalty_add = 0.2 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_3 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = barber_tent_03 + internal_slots = 3 + + cost = { gold = barber_tent_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_04_domicile_building_gold_cost_value + add = barber_tent_03_domicile_building_gold_cost_value + add = barber_tent_02_domicile_building_gold_cost_value + add = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -7 + negate_health_penalty_add = 0.2 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_4 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = barber_tent_04 + internal_slots = 3 + + cost = { gold = barber_tent_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_05_domicile_building_gold_cost_value + add = barber_tent_04_domicile_building_gold_cost_value + add = barber_tent_03_domicile_building_gold_cost_value + add = barber_tent_02_domicile_building_gold_cost_value + add = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -7 + negate_health_penalty_add = 0.2 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_5 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = barber_tent_05 + internal_slots = 3 + + cost = { gold = barber_tent_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_06_domicile_building_gold_cost_value + add = barber_tent_05_domicile_building_gold_cost_value + add = barber_tent_04_domicile_building_gold_cost_value + add = barber_tent_03_domicile_building_gold_cost_value + add = barber_tent_02_domicile_building_gold_cost_value + add = barber_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -10 + negate_health_penalty_add = 0.5 + hard_casualty_modifier = -0.03 + domicile_monthly_gold_add = 0.2 + } + + parameters = { + camp_infection_chance_buff_6 = yes + } + + ai_value = { value = barber_tent_main_path_value } + + 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" + } +} +# Upgrades +barber_tent_surgeons_tools = { # Surgeon's Tools + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + + cost = { gold = barber_tent_surgeons_tools_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_surgeons_tools_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + negate_health_penalty_add = 0.50 + hard_casualty_modifier = -0.2 + } + + parameters = { + camp_improved_court_physician_aptitude = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_surgeons_tools.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_dentists_tools = { # Dentist's Tools + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + + cost = { gold = barber_tent_dentists_tools_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_dentists_tools_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + negate_health_penalty_add = 0.25 + hard_casualty_modifier = -0.1 + } + + ai_value = { + value = camp_building_ai_base_t2 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_dentist.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_torturers_tools = { # Torturer's Tools + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + + cost = { gold = barber_tent_torturers_tools_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_torturers_tools_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + monthly_intrigue_lifestyle_xp_gain_add = 25 + knight_effectiveness_per_dread = 0.001 + dread_baseline_add = 10 + prisoner_opinion = -30 + } + + parameters = { + camp_unlocks_torture_interaction = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { has_trait = compassionate } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_torture.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_reference_corpus = { # Reference Corpus + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + + cost = { gold = barber_tent_reference_corpus_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_reference_corpus_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = barber_tent_reference_corpus.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_barber_tent_reference_corpus + } + } + + character_modifier = { + negate_health_penalty_add = 0.25 + monthly_learning_lifestyle_xp_gain_mult = 0.25 + learning_scheme_phase_duration = -10 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_reference_corpus.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_morticians_tools = { # Mortician's Tools + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = barber_tent_01 + + cost = { gold = barber_tent_morticians_tools_domicile_building_gold_cost_value } + refund = { + gold = { + value = barber_tent_morticians_tools_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = barber_tent_morticians_tools.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_barber_tent_morticians_tools + } + } + + character_modifier = { + dread_baseline_add = 30 + } + + parameters = { + camp_gold_from_victories_or_nearby_battles = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_morticians_tools.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" + } +} +### Baggage Train - Travel & Escorting +baggage_train_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = baggage_train_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + skirmishers_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + internal_slots = 2 + + cost = { gold = baggage_train_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_02_domicile_building_gold_cost_value + add = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + archers_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = baggage_train_02 + internal_slots = 3 + + cost = { gold = baggage_train_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_03_domicile_building_gold_cost_value + add = baggage_train_02_domicile_building_gold_cost_value + add = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + heavy_infantry_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = baggage_train_03 + internal_slots = 4 + + cost = { gold = baggage_train_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_04_domicile_building_gold_cost_value + add = baggage_train_03_domicile_building_gold_cost_value + add = baggage_train_02_domicile_building_gold_cost_value + add = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + light_cavalry_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = baggage_train_04 + internal_slots = 5 + + cost = { gold = baggage_train_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_05_domicile_building_gold_cost_value + add = baggage_train_04_domicile_building_gold_cost_value + add = baggage_train_03_domicile_building_gold_cost_value + add = baggage_train_02_domicile_building_gold_cost_value + add = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + heavy_cavalry_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = baggage_train_05 + internal_slots = 6 + + cost = { gold = baggage_train_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_06_domicile_building_gold_cost_value + add = baggage_train_05_domicile_building_gold_cost_value + add = baggage_train_04_domicile_building_gold_cost_value + add = baggage_train_03_domicile_building_gold_cost_value + add = baggage_train_02_domicile_building_gold_cost_value + add = baggage_train_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_speed_mult = 0.02 + provisions_capacity_mult = 0.1 + supply_capacity_mult = 0.2 + siege_weapon_max_size_add = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + camp_unlocks_head_porter_officer = yes + receives_more_escort_contracts = yes + } + + ai_value = { value = baggage_train_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bagage.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +# Upgrades +baggage_train_ample_steeds = { # Ample Steeds + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_ample_steeds_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_ample_steeds_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_ample_steeds.tt.ate_steeds + NOT = { has_character_flag = recently_ate_horses } + } + } + + character_modifier = { + character_travel_speed = 10 + light_cavalry_pursuit_mult = 0.1 + heavy_cavalry_pursuit_mult = 0.1 + archer_cavalry_pursuit_mult = 0.1 + } + + parameters = { + camp_unlocks_head_groom_officer = yes + camp_cheaper_cavalry_reinforcement = yes + } + + ai_value = { + value = camp_building_ai_base_t2 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ample_steeds.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_porters = { # Porters + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_porters_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_porters_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + provisions_capacity_mult = 0.25 + supply_capacity_mult = 0.25 + knight_effectiveness_per_stewardship = 0.01 + } + + parameters = { + camp_recruit_porters_events = yes + camp_improved_reinforcement_from_gold = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { + OR = { + has_lifestyle = stewardship_lifestyle + has_lifestyle = martial_lifestyle + } + } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_porters.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_trackers = { # Trackers + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_trackers_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_trackers_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + movement_speed = 0.1 + plains_provisions_use_mult = -0.25 + jungle_provisions_use_mult = -0.25 + forest_provisions_use_mult = -0.25 + taiga_provisions_use_mult = -0.25 + drylands_provisions_use_mult = -0.25 + } + + parameters = { + camp_unlocks_huntperson_officer = yes + camp_improved_tracker_contract_success = yes + camp_improves_gather_provisions_hunting = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trackers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_kennel = { # Kennel + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_kennel_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_kennel_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_kennel.tt.ate_dogs + NOT = { has_character_flag = recently_ate_dogs } + } + } + + character_modifier = { + courtier_opinion = 5 + skirmishers_damage_mult = 0.2 + skirmishers_pursuit_mult = 0.2 + } + + parameters = { + camp_unlocks_kennelperson_officer = yes + camp_unlocks_adopt_a_kennel_dog_decision = yes + } + + ai_value = { value = camp_building_ai_base_t1 } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_kennel.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_siege_engineers = { # Siege Engineers + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_siege_engineers_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_siege_engineers_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_siege_engineers.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_siege_engineers + } + } + + character_modifier = { + siege_weapon_siege_value_mult = 0.25 + } + + parameters = { + camp_unlocks_chief_engineer_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_siege_engineers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_shrine = { # Shrine + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_shrine_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_shrine_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_piety_add = 0.25 + same_faith_opinion = 5 + learning = 1 + } + + parameters = { + camp_enable_conversion = yes + } + + parameters = { + camp_unlocks_camp_priest_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { has_trait = cynical } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_shrine.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_scribes = { # Scribes + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_scribes_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_scribes_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_scribes.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_scribes + } + } + + character_modifier = { + learning_per_prestige_level = 1 + } + + parameters = { + camp_improved_learning_contract_rewards = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_scribes.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_bartering_grounds = { # Bartering Grounds + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_bartering_grounds_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_bartering_grounds_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + monthly_stewardship_lifestyle_xp_gain_mult = 0.25 + } + + parameters = { + camp_improved_stewardship_contract_rewards = yes + camp_unlocks_pawn_gear_interaction = yes + } + + ai_value = { + value = camp_building_ai_base_t4 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bartering_grounds.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_proof_of_claims = { # Proof of Claims + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_proof_of_claims_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_proof_of_claims_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_proof_of_claims.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_proof_of_claims + } + } + + character_modifier = { + diplomacy_per_prestige_level = 1 + } + + parameters = { + camp_unlocks_witness_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proof_of_claims.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_ransom_cages = { # Ransom Cages + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_ransom_cages_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_ransom_cages_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_ransom_cages.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_ransom_cages + } + } + + character_modifier = {} + + parameters = { + camp_unlocks_person_haggler_officer = yes + camp_reduced_prisoner_escape_chance = yes + camp_unlocks_abduct_scheme = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ransom_cages.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_negotiators = { # Negotiators + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_negotiators_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_negotiators_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_negotiators.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_negotiators + } + } + + character_modifier = { + monthly_diplomacy_lifestyle_xp_gain_mult = 0.25 + } + + parameters = { + camp_improves_wipe_slate_decision = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_negotiators.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_ascetics = { # Ascetics + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_ascetics_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_ascetics_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = baggage_train_ascetics.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_baggage_train_ascetics + } + } + + character_modifier = { + monthly_learning_lifestyle_xp_gain_mult = 0.25 + domicile_monthly_piety_add = 3 + holy_order_hire_cost_mult = -0.5 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ascetics.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +baggage_train_pleasure_tents = { # Pleasure Tents + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = baggage_train_01 + + cost = { gold = baggage_train_pleasure_tents_domicile_building_gold_cost_value } + refund = { + gold = { + value = baggage_train_pleasure_tents_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_opinion = 10 + stress_loss_mult = 0.1 + intrigue_scheme_phase_duration = -10 + monthly_intrigue_lifestyle_xp_gain_mult = 0.25 + fertility = 0.2 + } + + parameters = { + camp_pleasure_tent_recruitment_events = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_pleasure_tents.dds" + texture = "gfx/interface/window_domiciles/laamp_building_baggage_train.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_baggage_train_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_baggage_train" + } +} +### Mess Tent - Morsels & Morale +mess_tent_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = mess_tent_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + internal_slots = 1 + + cost = { gold = mess_tent_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_02_domicile_building_gold_cost_value + add = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = mess_tent_02 + internal_slots = 2 + + cost = { gold = mess_tent_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_03_domicile_building_gold_cost_value + add = mess_tent_02_domicile_building_gold_cost_value + add = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = mess_tent_03 + internal_slots = 2 + + cost = { gold = mess_tent_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_04_domicile_building_gold_cost_value + add = mess_tent_03_domicile_building_gold_cost_value + add = mess_tent_02_domicile_building_gold_cost_value + add = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = mess_tent_04 + internal_slots = 3 + + cost = { gold = mess_tent_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_05_domicile_building_gold_cost_value + add = mess_tent_04_domicile_building_gold_cost_value + add = mess_tent_03_domicile_building_gold_cost_value + add = mess_tent_02_domicile_building_gold_cost_value + add = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = mess_tent_05 + internal_slots = 3 + + cost = { gold = mess_tent_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_06_domicile_building_gold_cost_value + add = mess_tent_05_domicile_building_gold_cost_value + add = mess_tent_04_domicile_building_gold_cost_value + add = mess_tent_03_domicile_building_gold_cost_value + add = mess_tent_02_domicile_building_gold_cost_value + add = mess_tent_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_and_guest_opinion = 3 + stress_loss_mult = 0.05 + prowess_scheme_phase_duration = miniscule_scheme_phase_duration_bonus_value + } + + parameters = { + camp_unlocks_camp_cook_officer = yes + camp_improves_gather_provisions_decision = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { value = mess_tent_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mess.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +# Upgrades +mess_tent_herbalists = { # Herbalists + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + + cost = { gold = mess_tent_herbalists_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_herbalists_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.1 + } + + parameters = { + camp_unlocks_chief_forager_officer = yes + camp_unlocks_poisoner_scheme_agents = yes + camp_improves_gather_provisions_foraging = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_herbalists.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_brewers = { # Brewers + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + + cost = { gold = mess_tent_brewers_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_brewers_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.3 + courtier_opinion = 10 + epidemic_resistance = 5 + } + + parameters = { + camp_unlocks_chief_forager_officer = yes + camp_unlocks_camp_party_food_option = yes + } + + ai_value = { + value = camp_building_ai_base_t2 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_brewers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_curers = { # Curers + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + + cost = { gold = mess_tent_curers_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_curers_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + provisions_capacity_mult = 0.5 + supply_capacity_mult = 0.25 + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_curers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_bakers = { # Bakers + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + + cost = { gold = mess_tent_bakers_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_bakers_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_monthly_gold_add = 0.2 + courtier_opinion = 10 + skirmishers_pursuit_mult = 0.4 + light_cavalry_pursuit_mult = 0.4 + archer_cavalry_pursuit_mult = 0.4 + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bakers.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +mess_tent_cooks = { # Cooks + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = mess_tent_01 + + cost = { gold = mess_tent_cooks_domicile_building_gold_cost_value } + refund = { + gold = { + value = mess_tent_cooks_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_opinion = 20 + provisions_use_mult = -0.25 + heavy_cavalry_pursuit_mult = 0.4 + heavy_infantry_pursuit_add = 5 + } + + parameters = { + camp_improved_camp_party_activity_gains = yes + } + + ai_value = { + value = camp_building_ai_base_t4 + if = { + limit = { + owner = { has_lifestyle = stewardship_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_cooks.dds" + texture = "gfx/interface/window_domiciles/laamp_building_mess.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_mess_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_mess_tent" + } +} +### Campfire - Entertainment & Intrigue +camp_fire_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = camp_fire_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + men_at_arms_cap = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + internal_slots = 1 + + cost = { gold = camp_fire_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_02_domicile_building_gold_cost_value + add = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_fire_02 + internal_slots = 2 + + cost = { gold = camp_fire_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_03_domicile_building_gold_cost_value + add = camp_fire_02_domicile_building_gold_cost_value + add = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = camp_fire_03 + internal_slots = 2 + + cost = { gold = camp_fire_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_04_domicile_building_gold_cost_value + add = camp_fire_03_domicile_building_gold_cost_value + add = camp_fire_02_domicile_building_gold_cost_value + add = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + men_at_arms_cap = 1 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = camp_fire_04 + internal_slots = 3 + + cost = { gold = camp_fire_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_05_domicile_building_gold_cost_value + add = camp_fire_04_domicile_building_gold_cost_value + add = camp_fire_03_domicile_building_gold_cost_value + add = camp_fire_02_domicile_building_gold_cost_value + add = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = camp_fire_05 + internal_slots = 3 + + cost = { gold = camp_fire_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_06_domicile_building_gold_cost_value + add = camp_fire_05_domicile_building_gold_cost_value + add = camp_fire_04_domicile_building_gold_cost_value + add = camp_fire_03_domicile_building_gold_cost_value + add = camp_fire_02_domicile_building_gold_cost_value + add = camp_fire_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.02 + } + + parameters = { + camp_better_scout_for_talent = yes + fireside_chat_intent_unlock = yes + } + + ai_value = { value = camp_fire_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_campfire.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +# Upgrades +camp_fire_trailing_musicians = { # Trailing Musicians + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_trailing_musicians_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_trailing_musicians_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_effectiveness_per_diplomacy = 0.01 + } + + parameters = { + camp_unlocks_master_bard_officer = yes + camp_improved_musician_scheme_agent = yes + } + + ai_value = { + value = camp_building_ai_base_t4 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_trailing_musicians.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_wandering_poets = { # Wandering Poets + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_wandering_poets_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_wandering_poets_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + knight_effectiveness_per_intrigue = 0.01 + } + + parameters = { + camp_unlocks_master_bard_officer = yes + camp_more_likely_to_become_poet = yes + camp_improved_poet_scheme_agent = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_wandering_poets.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_capering_fools = { # Capering Fools + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_capering_fools_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_capering_fools_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + stress_loss_mult = 0.1 + } + + parameters = { + camp_improves_stooge_officer = yes + camp_recruit_fool_events = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_capering_fools.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_libations_for_the_lost = { # Libations for the Lost + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_libations_for_the_lost_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_libations_for_the_lost_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + courtier_opinion = 5 + stress_gain_mult = -0.2 + domicile_monthly_piety_add = 0.1 + knight_effectiveness_per_learning = 0.01 + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_libations_for_the_lost.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_local_hangers_on = { # Local Hangers-On + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_local_hangers_on_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_local_hangers_on_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_fire_local_hangers_on.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_fire_local_hangers_on + } + } + + character_modifier = { + contract_scheme_phase_duration_add = -10 + monthly_intrigue_lifestyle_xp_gain_add = 25 + } + + parameters = { + camp_recruit_locals_events = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_local_hangers_on.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_future_dreams = { # Future Dreams + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_future_dreams_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_future_dreams_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_fire_future_dreams.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_fire_future_dreams + } + } + + character_modifier = { + knight_limit = 2 + knight_effectiveness_per_diplomacy = 0.02 + } + + parameters = { + camp_unlock_trade_oath_interaction = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = diplomacy_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_future_dreams.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_nightly_debates = { # Nightly Debates + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_nightly_debates_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_nightly_debates_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_fire_nightly_debates.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_fire_nightly_debates + } + } + + character_modifier = { + 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 = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_debates.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +camp_fire_juicy_rumors = { # Juicy Rumors + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = camp_fire_01 + + cost = { gold = camp_fire_juicy_rumors_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_fire_juicy_rumors_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_fire_juicy_rumors.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_fire_juicy_rumors + } + } + + character_modifier = { + intrigue = 4 + } + + parameters = { + camp_improved_criminal_contract_rewards = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_juicy_rumors.dds" + texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_roaring_campfire_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_campfire" + } +} +### Proving Grounds - Training & Recruitment +proving_grounds_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = proving_grounds_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + men_at_arms_limit = 1 + maa_damage_mult = 0.01 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + internal_slots = 2 + + cost = { gold = proving_grounds_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_02_domicile_building_gold_cost_value + add = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_damage_mult = 0.01 + men_at_arms_recruitment_cost = -0.05 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_02 + internal_slots = 3 + + cost = { gold = proving_grounds_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_03_domicile_building_gold_cost_value + add = proving_grounds_02_domicile_building_gold_cost_value + add = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_damage_mult = 0.02 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = proving_grounds_03 + internal_slots = 4 + + cost = { gold = proving_grounds_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_04_domicile_building_gold_cost_value + add = proving_grounds_03_domicile_building_gold_cost_value + add = proving_grounds_02_domicile_building_gold_cost_value + add = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + men_at_arms_limit = 1 + maa_damage_mult = 0.02 + men_at_arms_recruitment_cost = -0.05 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = proving_grounds_04 + internal_slots = 5 + + cost = { gold = proving_grounds_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_05_domicile_building_gold_cost_value + add = proving_grounds_04_domicile_building_gold_cost_value + add = proving_grounds_03_domicile_building_gold_cost_value + add = proving_grounds_02_domicile_building_gold_cost_value + add = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_damage_mult = 0.04 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = proving_grounds_05 + internal_slots = 6 + + cost = { gold = proving_grounds_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_06_domicile_building_gold_cost_value + add = proving_grounds_05_domicile_building_gold_cost_value + add = proving_grounds_04_domicile_building_gold_cost_value + add = proving_grounds_03_domicile_building_gold_cost_value + add = proving_grounds_02_domicile_building_gold_cost_value + add = proving_grounds_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + maa_damage_mult = 0.04 + men_at_arms_recruitment_cost = -0.05 + } + + parameters = { + camp_unlocks_master_of_arms_officer = yes + } + + ai_value = { value = proving_grounds_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_proving.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +# Upgrades +proving_grounds_horse_run = { # Horse Run + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_horse_run_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_horse_run_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + light_cavalry_damage_mult = 0.3 + light_cavalry_screen_mult = 0.3 + } + + parameters = { + camp_unlocks_light_cavalry_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:light_cavalry <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_horse_run.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_camel_run = { # Camel Run + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_camel_run_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_camel_run_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + culture ?= { has_innovation = innovation_war_camels } + } + + character_modifier = { + camel_cavalry_toughness_mult = 0.3 + camel_cavalry_screen_mult = 0.3 + } + + parameters = { + camp_unlocks_camelry_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:camel_cavalry <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camel_run.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_elephantry_reserve = { # Elephantry Reserve + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_elephantry_reserve_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_elephantry_reserve_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + domicile.domicile_location ?= { geographical_region = world_innovation_elephants } + custom_tooltip = { + text = proving_grounds_elephantry_reserve.tt.ate_elephants + NOT = { has_character_flag = recently_ate_elephants } + } + } + + character_modifier = {} + + parameters = { + camp_unlocks_elephantry_captain_officer = yes + camp_reinforce_elephant_regiments_anywhere = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_elephantry_reserves.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_nightly_barding_drills = { # Nightly Barding Drills + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + heavy_cavalry_toughness_mult = 0.1 + heavy_cavalry_damage_mult = 0.1 + } + + parameters = { + camp_unlocks_heavy_cavalry_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:heavy_cavalry <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_nightly_barding_drills.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_life_in_the_saddle = { # Life in the Saddle + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + culture = { has_cultural_parameter = unlock_maa_horse_archers } + } + + character_modifier = { + archer_cavalry_damage_mult = 0.15 + archer_cavalry_toughness_mult = 0.15 + archer_cavalry_screen_mult = 0.4 + } + + parameters = { + camp_unlocks_horse_archer_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:archer_cavalry <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_life_in_the_saddle.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_the_stump = { # The Stump + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_the_stump_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_the_stump_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + archers_damage_mult = 0.3 + archers_pursuit_add = 5 + } + + parameters = { + camp_unlocks_archer_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:archers <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stump.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_personal_bouts = { # Personal Bouts + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_personal_bouts_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_personal_bouts_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + heavy_infantry_toughness_mult = 0.2 + heavy_infantry_damage_mult = 0.3 + heavy_infantry_screen_mult = 0.4 + } + + parameters = { + camp_unlocks_heavy_infantry_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:heavy_infantry <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_personal_bouts.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_training_circle = { # Training Circle + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_training_circle_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_training_circle_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + skirmishers_toughness_mult = 0.3 + skirmishers_pursuit_mult = 0.3 + skirmishers_damage_mult = 0.3 + } + + parameters = { + camp_unlocks_light_infantry_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:skirmishers <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_training_circle.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_mock_battle_drills = { # Mock Battle Drills + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_mock_battle_drills_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_mock_battle_drills_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + pikemen_toughness_mult = 0.3 + pikemen_damage_mult = 0.2 + } + + parameters = { + camp_unlocks_pike_captain_officer = yes + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + if = { + limit = { + owner = { + number_maa_regiments_of_base_type:pikemen <= 0 + } + } + multiply = 0 + } + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_mock_battle_drill.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_lockwagon = { # Lockwagon + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_lockwagon_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_lockwagon_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = proving_grounds_lockwagon.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_proving_grounds_lockwagon + } + } + + character_modifier = { + men_at_arms_limit = 1 + } + + parameters = { + camp_unlocks_master_of_spoils_officer = yes + camp_improved_mercenary_contract_rewards = yes + camp_improved_entice_local_mercenaries = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_lock_wagons.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_martial_study = { # Martial Study + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_martial_study_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_martial_study_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = proving_grounds_martial_study.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_proving_grounds_martial_study + } + } + + character_modifier = { + max_combat_roll = 5 + monthly_martial_lifestyle_xp_gain_add = 1 + monthly_learning_lifestyle_xp_gain_add = 1 + knight_effectiveness_per_learning = 0.01 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_martial_study.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_the_stick_game = { # The Stick Game + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_the_stick_game_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_the_stick_game_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = proving_grounds_the_stick_game.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_proving_grounds_the_stick_game + } + } + + character_modifier = { + knight_effectiveness_per_intrigue = 0.01 + owned_scheme_secrecy_add = 20 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_the_stick_game.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +proving_grounds_bodyguard_drills = { # Bodyguard Drills + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = proving_grounds_01 + + cost = { gold = proving_grounds_bodyguard_drills_domicile_building_gold_cost_value } + refund = { + gold = { + value = proving_grounds_bodyguard_drills_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = proving_grounds_bodyguard_drills.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_proving_grounds_bodyguard_drills + } + } + + character_modifier = { + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + scheme_discovery_chance_mult = 0.15 + } + + parameters = { + camp_unlocks_handpicked_faithful_maa_type = yes + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_bodyguard_drills.dds" + texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_proving_grounds_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_proving_ground" + } +} +### Perimeter - Defence & Counter-espionage +camp_perimeter_01 = { + internal_slots = 1 + construction_time = @camp_building_main_slot_construction_duration_t1 + allowed_domicile_types = { camp } + + cost = { gold = camp_perimeter_01_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_02 = { + construction_time = @camp_building_main_slot_construction_duration_t2 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + internal_slots = 2 + + cost = { gold = camp_perimeter_02_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_02_domicile_building_gold_cost_value + add = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_03 = { + construction_time = @camp_building_main_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_02 + internal_slots = 3 + + cost = { gold = camp_perimeter_03_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_03_domicile_building_gold_cost_value + add = camp_perimeter_02_domicile_building_gold_cost_value + add = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_04 = { + construction_time = @camp_building_main_slot_construction_duration_t4 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_03 + internal_slots = 3 + + cost = { gold = camp_perimeter_04_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_04_domicile_building_gold_cost_value + add = camp_perimeter_03_domicile_building_gold_cost_value + add = camp_perimeter_02_domicile_building_gold_cost_value + add = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_05 = { + construction_time = @camp_building_main_slot_construction_duration_t5 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_04 + internal_slots = 3 + + cost = { gold = camp_perimeter_05_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_05_domicile_building_gold_cost_value + add = camp_perimeter_04_domicile_building_gold_cost_value + add = camp_perimeter_03_domicile_building_gold_cost_value + add = camp_perimeter_02_domicile_building_gold_cost_value + add = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_06 = { + construction_time = @camp_building_main_slot_construction_duration_t6 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_05 + internal_slots = 3 + + cost = { gold = camp_perimeter_06_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_06_domicile_building_gold_cost_value + add = camp_perimeter_05_domicile_building_gold_cost_value + add = camp_perimeter_04_domicile_building_gold_cost_value + add = camp_perimeter_03_domicile_building_gold_cost_value + add = camp_perimeter_02_domicile_building_gold_cost_value + add = camp_perimeter_01_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + character_travel_safety = 3 + enemy_hostile_scheme_success_chance_max_add = -5 + character_travel_speed = 5 + domicile_travel_speed = 0.05 + } + + parameters = { + camp_unlocks_forward_scouts = yes + } + + ai_value = { value = camp_perimeter_main_path_value } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_perimiter.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +# Upgrades +camp_perimeter_good_siting = { # Good Siting + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_good_siting_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_good_siting_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + 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 = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_good_siting.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_fixed_layout = { # Fixed Layout + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_fixed_layout_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_fixed_layout_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + domicile_travel_speed = 0.25 + men_at_arms_limit = 1 + } + + ai_value = { + value = camp_building_ai_base_t2 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_fixed_layout.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_extra_watch = { # Extra Watch + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_extra_watch_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_extra_watch_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_perimeter_extra_watch.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_perimeter_extra_watch + } + } + + character_modifier = { + enemy_hostile_scheme_phase_duration_add = major_scheme_phase_duration_malus_value + scheme_discovery_chance_mult = 0.1 + archers_damage_mult = 0.1 + archer_cavalry_damage_mult = 0.05 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_extra_watch.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_palisade = { # Palisade + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_palisade_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_palisade_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_perimeter_palisade.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_perimeter_palisade + } + } + + character_modifier = { + enemy_hostile_scheme_success_chance_max_add = -10 + character_travel_safety_mult = 0.1 + hard_casualty_modifier = -0.1 + } + + ai_value = { + value = camp_building_ai_base_t3 + if = { + limit = { + owner = { has_lifestyle = intrigue_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_palisade.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_palisade.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_ditch = { # Ditch + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t3 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_ditch_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_ditch_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + can_construct = { + custom_tooltip = { + text = camp_perimeter_ditch.tt.unlocked_by_purpose + has_realm_law_flag = unlocks_camp_perimeter_ditch + } + } + + character_modifier = { + retreat_losses = -0.3 + defender_advantage = 5 + } + + ai_value = { + value = camp_building_ai_base_t5 + if = { + limit = { + owner = { has_lifestyle = martial_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_ditches.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter_ditch.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} +camp_perimeter_camp_hygiene = { # Camp Hygiene + slot_type = internal + construction_time = @camp_building_internal_slot_construction_duration_t1 + allowed_domicile_types = { camp } + previous_building = camp_perimeter_01 + + cost = { gold = camp_perimeter_camp_hygiene_domicile_building_gold_cost_value } + refund = { + gold = { + value = camp_perimeter_camp_hygiene_domicile_building_gold_cost_value + multiply = camp_refund_mult_value + floor = yes + } + } + + character_modifier = { + epidemic_travel_danger = -15 + } + + ai_value = { + value = camp_building_ai_base_t1 + if = { + limit = { + owner = { has_lifestyle = learning_lifestyle } + } + add = camp_building_ai_lifestyle_bias_value + } + multiply = 10 + } + + asset = { + icon = "gfx/interface/icons/domicile_building/domicile_building_camp_hygiene.dds" + texture = "gfx/interface/window_domiciles/laamp_building_perimeter.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_perimeter_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/camp_buildings/ep3_ui_domicile_buildings_perimeter" + } +} diff --git a/common/domiciles/types/00_domicile_types.txt b/common/domiciles/types/00_domicile_types.txt new file mode 100644 index 00000000..48795199 --- /dev/null +++ b/common/domiciles/types/00_domicile_types.txt @@ -0,0 +1,1602 @@ +camp = { + rename_window = primary_title + + illustration = "gfx/interface/illustrations/event_scenes/ep3_camp_arid_terrain.dds" + icon = "gfx/interface/icons/flat_icons/flat_camp.dds" + map_pin_texture = "gfx/interface/icons/map_icons/map_icon_camp.dds" + map_pin_anchor = up + + provisions = yes + + domicile_temperament_low_modifier = { + name = domicile_temperament_low + army_damage_mult = -0.1 + contract_scheme_phase_duration_add = 10 + scale = { + add = default_temperament_low_value_scale + min = 1 + } + } + + map_entity = { + trigger = { + owner ?= { is_alive = yes } + owner.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 + } + } + } + reference = "building_mena_hunt_01_entity" + } + map_entity = { + trigger = { + owner ?= { is_alive = yes } + owner.culture = { + has_graphical_india_culture_group_trigger = yes + } + } + reference = "building_indian_hunt_01_entity" + } + map_entity = { + trigger = { + owner ?= { is_alive = yes } + } + reference = "building_western_hunt_01_entity" + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + army_toughness_mult = 0.05 + owned_contract_scheme_success_chance_growth_add = 0.4 + scale = { + add = default_temperament_high_value_scale + min = 1 + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + tolerance_advantage_mod = 1 + scale = { + add = default_temperament_high_value_scale + min = 1 + max = 10 + if = { + limit = { + NOT = { has_perk = faithful_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + knight_effectiveness_mult = 0.1 + scale = { + add = default_temperament_high_value_scale + min = 1 + if = { + limit = { + NOT = { has_perk = absolute_control_perk } + } + multiply = 0 + } + } + } + + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + personal_scheme_phase_duration_add = -25 + scale = { + add = default_temperament_high_value_scale + min = 1 + if = { + limit = { + NOT = { has_perk = writing_history_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + monthly_piety = 0.4 + scale = { + add = { + every_courtier = { + limit = { + faith = root.faith + } + add = 1 + } + } + if = { + limit = { + NOT = { has_perk = religious_icon_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + diplomacy = 0.34 + intrigue = 0.34 + martial = 0.34 + stewardship = 0.34 + learning = 0.34 + scale = { + add = { + every_courtier = { + limit = { + is_imprisoned = no + } + faith = { + if = { + limit = { + NOT = { is_in_list = unique_faiths } + add_to_temporary_list = unique_faiths + } + } + } + } + every_in_list = { + list = unique_faiths + add = 1 + } + max = 15 + } + if = { + limit = { + NOT = { has_perk = apostate_perk } + } + multiply = 0 + } + } + } + + base_external_slots = 2 + + domicile_building_slots = { + main_slot = { + slot_type = main + position = { 29% 4% } + size = { 28% 52% } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction_pavillion.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_pavillion_mask.png" + } + } + + external_slot_1 = { + position = { 4% 18% } + size = { 20% 42% } + + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_04_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_04_mask.png" + } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_04_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_01_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_04_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_01_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_02_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_mask.png" + } + } + + external_slot_2 = { + position = { 19% 40% } + size = { 20% 42% } + + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_03_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_03_mask.png" + } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_03_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_03_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_03_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_02_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_01_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_mask.png" + } + } + + external_slot_3 = { + position = { 65% 10% } + size = { 20% 42% } + + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_01_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_01_mask.png" + } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_04_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_04_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_04_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_mask.png" + } + } + + external_slot_4 = { + position = { 49% 40% } + size = { 20% 42% } + + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02_mask.png" + } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_02_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_03_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_03_mask.png" + } + + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_under_construction.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_under_construction_mask.png" + } + } + } + + ### MOUNTAIN SNOW BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_snow_mountains_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_snow_mountains_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + ### SNOW BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_snow_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_snow_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + + + ### JUNGLE BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + background = "gfx/interface/window_domiciles/camp_terrain_jungle_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_jungle_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" + } + + ### DESERT BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_dry_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_dry_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" + } + + ### GREEN BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_green_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_green_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } + + ### ROUGH BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_rough_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_rough_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + ### WETLANDS BACKGROUND + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + background = "gfx/interface/window_domiciles/camp_terrain_green_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_green_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" + } + + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/camp_terrain_dry_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_dry_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" + } + + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/camp_terrain_rough_bg.dds" + foreground = "gfx/interface/window_domiciles/camp_terrain_rough_fg.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } +} + +estate = { + allowed_for_character = { + has_government = administrative_government + } + + 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 + + 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" + } +} diff --git a/common/vassal_contracts/administrative.txt b/common/vassal_contracts/administrative.txt index 22f30841..d2cf69da 100644 --- a/common/vassal_contracts/administrative.txt +++ b/common/vassal_contracts/administrative.txt @@ -20,7 +20,7 @@ administrative_themes = { display_mode = radiobutton is_shown = { - scope:vassal.primary_title.tier >= tier_duchy + scope:vassal.primary_title.tier >= tier_county } obligation_levels = { admin_theme_balanced = { @@ -89,9 +89,9 @@ administrative_themes = { tax_factor = 0.5 vassal_modifier = { + city_holding_build_speed = -0.15 + city_holding_build_gold_cost = -0.15 development_growth_factor = 0.2 - build_gold_cost = -0.1 - build_speed = -0.1 men_at_arms_title_limit = -2 men_at_arms_title_cap = -2 } @@ -143,6 +143,9 @@ administrative_themes = { levies_factor = 0.75 vassal_modifier = { + levy_size = 0.1 + castle_holding_build_speed = -0.15 + castle_holding_build_gold_cost = -0.15 development_growth_factor = -0.25 monthly_county_control_growth_factor = 0.1 maa_damage_mult = 0.1