unfucking the mod

This commit is contained in:
trashmasteruni 2026-01-06 14:25:21 +01:00
parent cbe3fbcda2
commit d887392b56
1167 changed files with 26982 additions and 13 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

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
}