delectable

This commit is contained in:
Magpie490 2025-10-30 11:25:16 +00:00
parent 908308c1b9
commit 0f3bedb8ff
10 changed files with 48369 additions and 0 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,188 @@

### Brief: <key> ( database key )
# Flavor text description of building defaults to
# "<key>_domicile_building_desc".
#
# All buildings automatically inherit the character modifiers of its
# previous buildings of the same track
#
<key> = {
### Brief: can_construct ( trigger )
# Is the scoped owner able to construct this building?
#
# Supported scopes:
# root ( Character )
#
can_construct = {
<triggers>
}
### Brief: can_construct_potential ( trigger )
# Is the scoped owner able to consider constructing this building?
#
# Supported scopes:
# root ( Character )
#
can_construct_potential = {
<triggers>
}
### Brief: on_start/on_cancelled/on_completed ( effect )
# Effects fired when construction begins, is cancelled or finishes.
#
# Available scopes:
# root -- Domicile it is built in
# scope:owner -- Owner of the Domicile
#
on_start/on_cancelled/on_complete = { }
# How many days it takes to construct the building
# Note: Affected by modifiers 'build_speed' and 'domicile_build_speed'
construction_time = 720
### Brief: parameters ( parameter list )
# Arbitrary parameters that can be checked with the trigger
# 'has_domicile_parameter'
#
# Note: The above trigger just checks for existence, so it does not
# matter if the value is set to 'yes' or 'no'.
#
# Parameters are not inherited from previous_building and has to be
# repeated to not get lost on upgrading.
#
parameters = {
some_parameter = yes
}
### Brief: slot_type ( parameter list )
# This building may only be constructed in selected slot type
#
# Internal slots cannot be base buildings and requires a previous
# building. They may only be constructed within a main or external
# building.
#
# If slot type is 'main' and it doesn't have a previous building,
# it will automatically be constructed on start
#
# Slot types are: 'main', 'external' or 'internal'.
# Default type is 'external'
#
slot_type = external
### Brief: internal_slots ( int32 )
# Set the amount of unlocked internal building slots this building
# has.
#
# Default is 0
#
internal_slots = 0
### Brief: allowed_domicile_types ( list of database key )
# List the domicile types which can build this building.
#
# UNSET WILL NOT SHOW UP!
#
allowed_domicile_types = {
<key>
<key>
}
### Brief: previous_building ( database key )
# If the 'previous_building'-statement is missing, this building
# will be treated as a base building meaning the first tier of a
# potentional chain of building upgrades.
#
# To define an upgrade, type the key name of the building before
# it, marking this building as it's upgrade.
#
# A building will get diverging upgrade paths if two upgrades has
# the same 'previous_building'-key
#
previous_building = <key>
### Brief: cost ( scripted cost )
# How much does this building cost?
#
# Ex: { gold = 500, prestige = 100 }
#
cost = {
<scripted_cost>
}
### Brief: refund ( optional scripted cost )
# How much do you get by refunding this building?
# Note: If not entered, will use cost directly as fallback
#
# Ex: { gold = 500, prestige = 100 }
#
refund = {
<scripted_cost>
}
### Brief: character_modifier ( modifiers )
# Modifiers applied to the Domicile owner of this building.
# Ex: { county_opinion_add = 2, stress_loss_mult = 0.15 }
#
# Note: Please do not use holdings monthly_income, etc..!
# Instead use: domicile_monthly_gold_add or
# domicile_monthly_gold_mult (same for: _prestige / _piety /
# _influence )
#
character_modifier = {
<modifier>
}
### Brief: province_modifier ( modifiers )
# Modifiers applied to the Province this building is in.
# Ex: { stationed_camel_cavalry_damage_mult = high_maa_damage_tier_6 }
province_modifier = {
<modifier>
}
### Brief: ai_value ( script value )
# How desirable is the building for the AI. Evaluated alongside
# regular buildings.
#
# Available scopes:
# root -- Domicile it is built in
# scope:owner -- Owner of the Domicile
#
ai_value = {
value = 100
}
### Brief: asset ( asset definition )
# Which asset does the building use
#
asset = {
### Brief: trigger ( trigger )
# Trigger for scoped domicile when to pick this asset over
# another, remove it to always pick this asset
#
trigger = { ... }
### Brief: icon ( string path )
# Building icon used in UI
#
icon = "path/to/image.dds"
### Brief: texture ( string path )
# Path to texture shown in the domicile window
#
texture = "path/to/image.dds"
### Brief: intersectionmask_texture ( string path )
# Mask used with texture
#
intersectionmask_texture = "path/to/mask.png"
### Brief: soundeffect ( string soundbank reference )
# Associated sound effect. Supports soundparameters where they
# will be automatically appended based on building's current
# tier: soundparameter = { "Tier" = 1 }
#
soundeffect = "event:/DLC/EP2/SFX/UI/Grand_Activity/Tournaments/ep2_ui_grand_tournament_farrier"
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,978 @@
japanese_manor = {
allowed_for_character = {
any_held_title = {
is_noble_family_title = yes
}
}
rename_window = house
illustration = "gfx/interface/illustrations/event_scenes/tgp_asia_estate.dds"
icon = "gfx/interface/icons/flat_icons/domicile_japan.dds"
map_pin_texture = "gfx/interface/icons/map_icons/map_icon_japanese_manor.dds"
map_pin_anchor = up
map_pin_lobby = yes
can_move_manually = yes
move_cooldown = { days = japanese_manor_move_cooldown_value }
move_cost = {
gold = {
value = {
value = 20
format = "BASE_VALUE_FORMAT"
desc = "BASE_VALUE"
}
domicile ?= {
switch = {
trigger = has_domicile_building_or_higher
japanese_manor_main_03 = { add = 40 }
japanese_manor_main_02 = { add = 20 }
japanese_manor_main_04 = { add = 60 }
japanese_manor_main_05 = { add = 80 }
}
}
}
}
base_external_slots = 2
domicile_building_slots = {
external_slot_1 = {
position = { 19.7% 5.5% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_05_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
external_slot_4 = {
position = { 52.3% 3% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_04_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_jungle_empty_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_05_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_03_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_03_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_03_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
main_slot = {
slot_type = main
position = { 29.7% 14.2% }
size = { 28% 34.5% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_01.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_01_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = hills
terrain = mountains
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine_mask.png"
}
}
external_slot_2 = {
position = { 4.5% 20% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_02.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_02_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_jungle_empty_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_06_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_06_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_06_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_06_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
external_slot_3 = {
position = { 13.5% 45% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_03_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_jungle_empty_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_04_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_04_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_04_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty_04.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_04_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
external_slot_5 = {
position = { 64% 29% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_05_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_jungle_empty_03.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_03_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_05_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
terrain = terraced_hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty_02.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_02_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty_02.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_02_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
external_slot_6 = {
position = { 39% 47% }
size = { 15% 30% }
# Empty slot in city
empty_slot_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/asian_empty_slot_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/asian_empty_slot_06_mask.png"
}
# Empty slot
empty_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_jungle_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_drylands_empty_02.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_02_mask.png"
}
empty_slot_asset = {
trigger = {
domicile_location = {
OR = {
terrain = mountains
terrain = hills
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_rough_empty_05.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_05_mask.png"
}
empty_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_mask.png"
}
# Under Construction
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_mena_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png"
}
construction_slot_asset = {
trigger = {
domicile_location.culture = {
has_graphical_western_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png"
}
construction_slot_asset = {
trigger = {
owner.culture = {
OR = {
has_graphical_chinese_culture_group_trigger = yes
has_graphical_japanese_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png"
}
construction_slot_asset = {
icon = "gfx/interface/icons/flat_icons/plus.dds"
texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png"
}
}
}
# Backgrounds
domicile_asset = {
trigger = {
domicile_location = {
this = root.owner.top_liege.capital_province
}
}
background = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain.dds"
foreground = "gfx/interface/window_domiciles/asian_domicile_background_urban_terrain_foreground.dds"
ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_byzantine_urban"
}
domicile_asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds"
foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds"
ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt"
}
domicile_asset = {
trigger = {
domicile_location = {
OR = {
terrain = jungle
terrain = wetlands
terrain = floodplains
}
}
}
background = "gfx/interface/window_domiciles/estate_background_jungle_terrain.dds"
foreground = "gfx/interface/window_domiciles/estate_background_jungle_terrain_foreground.dds"
ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands"
}
domicile_asset = {
trigger = {
domicile_location = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = steppe
}
}
}
background = "gfx/interface/window_domiciles/estate_background_dry_terrain.dds"
foreground = "gfx/interface/window_domiciles/estate_background_dry_terrain_foreground.dds"
ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands"
}
domicile_asset = {
trigger = {
domicile_location = {
OR = {
terrain = hills
terrain = mountains
terrain = terraced_hills
}
}
}
background = "gfx/interface/window_domiciles/estate_background_rough_terrain.dds"
foreground = "gfx/interface/window_domiciles/estate_background_rough_terrain_foreground.dds"
ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands"
}
domicile_asset = {
background = "gfx/interface/window_domiciles/estate_background_green_terrain.dds"
foreground = "gfx/interface/window_domiciles/estate_background_green_terrain_foreground.dds"
ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands"
}
}

View file

@ -0,0 +1,148 @@
domicile_type = {
# Is this domicile type allowed for character
# root = character
allowed_for_character = {
<triggers>
}
# Shortcut to rename the domicile window
# Rename windows are: 'primary_title' or 'house'. Default type is 'none'
rename_window = none
# Texture used in the realm tab access
illustration = "path/to/image.dds"
# Flat icon texture representing the domicile type in various places
icon = "path/to/image.dds"
# Texture for map pin
map_pin_texture = "path/to/image.dds"
# Where to anchor the domicile map pin in relation to it's province
# Anchor types are: 'up' or 'right'. Default type is 'right'
map_pin_anchor = right
# Will this domicile show up in the game lobby
map_pin_lobby = yes
# Does this domicile manage the provisions resource
# Domiciles that use provisions travel to a new location, otherwise it's moved instantly
provisions = no
# Is this domicile allowed to travel?
travel = no
# Does this domicile manage the herd resource
herd = no
# Does this domicile store a culture and faith? (default: no)
culture_and_faith = no
# Should this domicile also move when you move your realm capital? (default: no)
move_with_realm_capital = no
# Can you move this domicile without bespoke features?
#
can_move_manually = yes
# After moving the domicile, how many days before you can move again?
# days/weeks/months/years = X
move_cooldown = { days = 7 }
# How much does it cost to move the domicile? Ex: { gold = 500, prestige = 100 }
move_cost = {
<scripted_cost>
}
# Modifier applied to the domicile owner when disliked by the majority of their court
# Can take a "scale" parameter to scale by (a script value; see _script_values.info)
domicile_temperament_low_modifier = {}
# Modifier applied to the domicile owner when liked by the majority of their court
# Can take a "scale" parameter to scale by (a script value; see _script_values.info)
domicile_temperament_high_modifier = {}
# How many unlocked external building slots domicile starts out with
base_external_slots = 2
# List all available main and external slots, they will be unlocked in order of appearance here
# Note: Internal slots are handled separately by the buildings themselves
# Layering of slots (in front/behind) matches order of definition
domicile_building_slots = {
main_slot = { # any name you want
# Set what domicile building may be constructed here based on their slot type
# Types are: 'main' or 'external'. The 'internal' slot type is handled within the buildings themselves
# Main buildings without a previous building will attempt to be constructed automatically in found main slots
# Default type is 'external'
slot_type = main
# Building position in the domicile window, supports both % and direct values
position = { ... }
# Size of buildings placed in this slot, supports both % and direct values
size = { ... }
# Define assets used when slot is empty, will pick first valid match
empty_slot_asset = {
# Trigger for scoped domicile when to pick this asset over another, remove trigger part to always pick this asset
trigger = { ... }
# Building icon used in UI
icon = "path/to/image.dds"
# Path to texture shown in the domicile window
texture = "path/to/image.dds"
# Mask used with texture
intersectionmask_texture = "path/to/mask.png"
}
# Define assets used when building is under construction in this slot, will pick first valid match
construction_slot_asset = {
# Trigger for scoped domicile when to pick this asset over another, remove trigger part to always pick this asset
trigger = { ... }
# Building icon used in UI
icon = "path/to/image.dds"
# Path to texture shown in the domicile window
texture = "path/to/image.dds"
# Mask used with texture
intersectionmask_texture = "path/to/mask.png"
}
}
external_slot_1 = { # any name you want
...
}
}
# What background assets does the domicile use, will pick first valid match
domicile_asset = {
# Trigger for scoped domicile when to pick this asset over another, remove trigger part to always pick this asset
trigger = { ... }
# Path to background texture shown in the domicile window
background = "path/to/image.dds"
# Path to foreground texture shown in the front of domicile window
foreground = "path/to/image.dds"
# Path to ambience sound
ambience = "path/to/ambience"
}
# Map entity for the domicile, multiple can be read in, first one is picked from order they are read in.
#
# If the location of the domicile has no holding, it takes the place of the holding (on the 'Buildings' locator).
# Else they will be placed on the 'Activity' locator, but only if there is nothing there at that time.
map_entity = {
# root = the domicile
# scope:owner = domicile owner
trigger = {
<triggers>
}
reference = "name" # Entity name
}
map_entity = "name" # Short hand for a single constant entity name
}

View file

@ -0,0 +1,432 @@
@provisions_cost_minimal = 25
@provisions_cost_light = 50
@provisions_cost_medium = 80
@provisions_cost_high = 100
@provisions_cost_extreme = 150
plains = {
color = hsv { 0.1 0.5 0.8 }
travel_danger_color = hsv { 0.1 0.5 0.8 }
travel_danger_score = 10
provision_cost = @provisions_cost_light
county_fertility = 30
province_modifier = {
supply_limit_mult = 0
travel_danger = 10
county_fertility_growth_add = plains_county_fertility_value
}
audio_parameter = 1.0
}
sea = {
color = hsv { 0.0 0.0 0.1 0 }
travel_danger_color = hsv { 0.00 0.00 1.00 0.00 }
travel_danger_score = 20
provision_cost = @provisions_cost_high
province_modifier = {
travel_danger = 75
}
}
coastal_sea = {
color = hsv { 0.0 0.0 0.1 0 }
travel_danger_color = hsv { 0.00 0.00 1.00 0.00 }
travel_danger_score = 20
provision_cost = @provisions_cost_medium
province_modifier = {
travel_danger = 50
}
}
farmlands = {
color = hsv { 0 1 1 }
provision_cost = @provisions_cost_minimal
county_fertility = 40
province_modifier = {
supply_limit_mult = 0.5
county_fertility_growth_add = farmlands_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = 0.2
}
audio_parameter = 1.0
}
hills = {
color = hsv { 29 0.867 0.353 }
travel_danger_color = hsv { 29 0.6 0.353 }
travel_danger_score = hills_danger_value
provision_cost = @provisions_cost_light
county_fertility = 20
province_modifier = {
supply_limit_mult = -0.1
travel_danger = hills_danger_value
county_fertility_growth_add = hills_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.1
}
defender_combat_effects = {
name = combat_hills
image = combat_hills
advantage = 5
}
movement_speed = 0.8
combat_width = 0.8
audio_parameter = 1.0
}
mountains = {
color = hsv { 0 0 0.392 }
travel_danger_color = hsv { 0 0 0.392 }
travel_danger_score = mountains_danger_value
provision_cost = @provisions_cost_extreme
county_fertility = 15
province_modifier = {
supply_limit_mult = -0.5
travel_danger = mountains_danger_value
county_fertility_growth_add = mountains_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.25
}
defender_combat_effects = {
name = combat_mountain
image = combat_mountain
advantage = 12
}
movement_speed = 0.5
combat_width = 0.5
audio_parameter = 6.0
}
desert = {
color = hsv { 0.15 1 1 } #{ 225 255 0 }
travel_danger_color = hsv { 0.16 0.7 0.8 }
travel_danger_score = desert_danger_value
provision_cost = @provisions_cost_extreme
county_fertility = 20
province_modifier = {
supply_limit_mult = -0.3
travel_danger = desert_danger_value
county_fertility_growth_add = desert_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.5
}
movement_speed = 0.7
audio_parameter = 2.0
}
desert_mountains = {
color = hsv { 0.7 0.5 0.15 }
travel_danger_color = hsv { 0 0 0.392 }
travel_danger_score = desert_mountains_danger_value
provision_cost = @provisions_cost_extreme
county_fertility = 20
province_modifier = {
supply_limit_mult = -0.6
travel_danger = desert_mountains_danger_value
county_fertility_growth_add = desert_mountains_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.5
}
defender_combat_effects = {
name = combat_desert_mountains
image = defender_desert_mountains
advantage = 12
}
defender_modifier = {
retreat_losses = -0.3
}
movement_speed = 0.5
combat_width = 0.5
audio_parameter = 7.0
}
oasis = {
color = hsv { 0.7 0.3 0.8 }
travel_danger_color = hsv { 0.16 0.7 0.8 }
travel_danger_score = 10
provision_cost = @provisions_cost_minimal
county_fertility = 30
province_modifier = {
supply_limit_mult = 0.1
travel_danger = 10
county_fertility_growth_add = oasis_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = 0.1
}
movement_speed = 1
audio_parameter = 10.0
}
jungle = {
color = { 10 60 35 }
travel_danger_color = { 10 60 35 }
travel_danger_score = jungle_danger_value
provision_cost = @provisions_cost_high
county_fertility = 10
province_modifier = {
supply_limit_mult = -0.25
travel_danger = jungle_danger_value
county_fertility_growth_add = jungle_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.4
}
defender_combat_effects = {
name = combat_jungle
image = defender_jungle
advantage = 6
}
movement_speed = 0.5
combat_width = 0.7
audio_parameter = 8.0
}
forest = {
color = hsv { 0.3 0.75 0.7 } #50 255 25
travel_danger_color = hsv { 0.37 0.8 0.5 }
travel_danger_score = forest_danger_value
provision_cost = @provisions_cost_light
county_fertility = 15
province_modifier = {
supply_limit_mult = -0.1
travel_danger = forest_danger_value
county_fertility_growth_add = forest_county_fertility_value
}
defender_combat_effects = {
name = combat_forest
image = defender_forest
advantage = 3
}
movement_speed = 0.8
combat_width = 0.9
audio_parameter = 4.0
entity = "forest_birds_01"
}
taiga = {
color = hsv { 0.4 0.7 0.6 } #0 90 0
travel_danger_color = hsv { 0.37 0.8 0.5 }
travel_danger_score = taiga_danger_value
provision_cost = @provisions_cost_high
county_fertility = 15
province_modifier = {
supply_limit_mult = -0.2
travel_danger = taiga_danger_value
county_fertility_growth_add = taiga_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.05
}
defender_combat_effects = {
name = combat_taiga
image = defender_taiga
advantage = 4
}
movement_speed = 0.8
combat_width = 0.8
audio_parameter = 9.0
}
wetlands = {
color = hsv { 0.5 0.5 0.6 } #75 200 200
travel_danger_color = { 47 128 97 }
travel_danger_score = wetlands_danger_value
provision_cost = @provisions_cost_medium
county_fertility = 20
province_modifier = {
supply_limit_mult = -0.25
travel_danger = wetlands_danger_value
county_fertility_growth_add = wetlands_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.25
}
attacker_modifier = {
hard_casualty_modifier = 0.2
retreat_losses = 0.25
}
defender_modifier = {
hard_casualty_modifier = 0.2
retreat_losses = 0.25
}
defender_combat_effects = {
name = combat_wetlands
image = defender_wetlands
advantage = 5
}
movement_speed = 0.7
combat_width = 0.6
audio_parameter = 3.0
}
steppe = {
color = { 200 100 25 }
travel_danger_color = hsv { 0.16 0.7 0.8 }
travel_danger_score = steppe_danger_value
provision_cost = @provisions_cost_medium
county_fertility = 30
province_modifier = {
supply_limit_mult = 0
travel_danger = steppe_danger_value
county_fertility_growth_add = steppe_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.5
}
audio_parameter = 5.0
}
floodplains = {
color = hsv { 0.7 0.8 0.6 } #200 50 100
travel_danger_color = { 47 128 97 }
travel_danger_score = floodplains_danger_value
provision_cost = @provisions_cost_minimal
county_fertility = 30
province_modifier = {
supply_limit_mult = 0.35
travel_danger = floodplains_danger_value
county_fertility_growth_add = floodplains_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = 0.2
}
combat_width = 0.75
audio_parameter = 2.0
}
drylands = {
color = { 220 45 120 }
travel_danger_color = hsv { 0.16 0.7 0.8 }
travel_danger_score = drylands_danger_value
provision_cost = @provisions_cost_medium
county_fertility = 25
province_modifier = {
supply_limit_mult = 0
travel_danger = drylands_danger_value
county_fertility_growth_add = drylands_county_fertility_value
}
county_capital_modifier = {
development_growth_factor = -0.05
}
audio_parameter = 1.0
}
tells = {
color = { 161 102 95 }
travel_danger_color = { 61 102 95 }
travel_danger_score = hills_danger_value
provision_cost = @provisions_cost_medium
county_fertility = 25
province_modifier = {
supply_limit_mult = -0.1
travel_danger = hills_danger_value
county_fertility_growth_add = hills_county_fertility_value
}
defender_combat_effects = {
name = combat_tells
image = combat_tells
advantage = 8
}
movement_speed = 0.75
combat_width = 0.8
audio_parameter = 1.0
}
terraced_hills = {
color = rgb { 225 35 40 }
travel_danger_color = rgb { 225 35 40 }
travel_danger_score = hills_danger_value
provision_cost = @provisions_cost_light
province_modifier = {
supply_limit_mult = 0.1
}
county_capital_modifier = {
development_growth_factor = 0.1
}
defender_combat_effects = {
name = combat_hills
image = combat_hills
advantage = 5
}
movement_speed = 0.8
combat_width = 0.8
audio_parameter = 1.0
}

View file

View file

@ -0,0 +1 @@