N3OW/N3OW/gui/window_domicile.gui
2025-10-30 11:25:16 +00:00

4520 lines
114 KiB
Text

window = {
datacontext = "[DomicileWindow.GetDomicile]"
datacontext = "[DomicileWindow.GetDomicileSettings]"
datacontext = "[DomicileWindow.GetCharacter]"
name = "domicile_window"
widgetid = "domicile_window"
layer = middle
parentanchor = center
size = { 1390 694 }
allow_outside = yes
using = Window_Movable
### TABS
widget = {
visible = "[Not(GetVariableSystem.Exists( 'hide_ui' ))]"
parentanchor = top|left
position = { -49 25 }
size = { 60 140 }
allow_outside = yes
### DOMCILE BOOKMARK TABS
flowcontainer = {
direction = vertical
spacing = 2
ignoreinvisible = yes
### DOMCILE BOOKMARK OVERVIEW
button_tab_vertical_bookmark = {
down = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
blockoverride "tab_button"
{
onclick = "[GetVariableSystem.Toggle( 'bookmark_overview' )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_patrons' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_followers' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_disciples' )]"
datacontext = "[DomicileWindow.GetCharacter]"
tooltip = "DOMICILE_WINDOW_BOOKMARK_OVERVIEW_TT"
}
blockoverride = "tab_glow"
{
visible = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
}
blockoverride "tab_active"
{
trigger_when = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
}
blockoverride "tab_inactive"
{
trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_overview' ) )]"
}
blockoverride "tab_texture"
{
datacontext = "[DomicileWindow.GetDomicile]"
texture = "[Domicile.GetType.GetIcon]"
down = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
}
blockoverride "tab_frame_texture"
{
down = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
}
}
### DOMICILE BOOKMARK PATRONS
button_tab_vertical_bookmark = {
visible = "[IsLandlessAdventurer( DomicileWindow.GetCharacter )]"
down = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
blockoverride "tab_button"
{
onclick = "[GetVariableSystem.Toggle( 'bookmark_patrons' )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_overview' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_followers' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_disciples' )]"
tooltip = "DOMICILE_WINDOW_BOOKMARK_PATRONS_TT"
}
blockoverride = "tab_glow"
{
visible = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
}
blockoverride "tab_active"
{
trigger_when = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
}
blockoverride "tab_inactive"
{
trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_patrons' ) )]"
}
blockoverride "tab_texture"
{
texture = "gfx/interface/icons/flat_icons/outliner.dds"
down = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
}
blockoverride "tab_frame_texture"
{
down = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
}
}
### DOMICILE BOOKMARK FOLLOWERS
button_tab_vertical_bookmark = {
visible = "[IsLandlessAdventurer( DomicileWindow.GetCharacter )]"
down = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
blockoverride "tab_button"
{
onclick = "[GetVariableSystem.Toggle( 'bookmark_followers' )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_overview' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_patrons' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_disciples' )]"
onclick = "[DomicileWindow.RebuildTemperamentWindow]"
tooltip = "DOMICILE_WINDOW_BOOKMARK_FOLLOWERS_TT"
}
blockoverride = "tab_glow"
{
visible = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
}
blockoverride "tab_active"
{
trigger_when = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
}
blockoverride "tab_inactive"
{
trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_followers' ) )]"
}
blockoverride "tab_texture"
{
texture = "gfx/interface/icons/flat_icons/three_people.dds"
down = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
}
blockoverride "tab_frame_texture"
{
down = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
}
}
### DOMICILE BOOKMARK DISCIPLES
button_tab_vertical_bookmark = {
visible = "[Character.GetGovernment.HasRule('merit')]"
down = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
blockoverride "tab_button"
{
onclick = "[GetVariableSystem.Toggle( 'bookmark_disciples' )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_overview' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_patrons' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_followers' )]"
onclick = "[DomicileWindow.RebuildTemperamentWindow]"
tooltip = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_TT"
}
blockoverride = "tab_glow"
{
visible = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
}
blockoverride "tab_active"
{
trigger_when = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
}
blockoverride "tab_inactive"
{
trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_disciples' ) )]"
}
blockoverride "tab_texture"
{
texture = "gfx/interface/icons/flat_icons/three_people.dds"
down = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
}
blockoverride "tab_frame_texture"
{
down = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
}
}
}
}
widget = {
allow_outside = yes
parentanchor = center
size = { 100% 100% }
using = Window_Background
using = Window_Decoration
}
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
on_start = "[GetVariableSystem.Clear( 'bookmark_overview' )]"
on_start = "[GetVariableSystem.Clear( 'bookmark_patrons' )]"
on_start = "[GetVariableSystem.Clear( 'bookmark_followers' )]"
on_start = "[GetVariableSystem.Clear( 'bookmark_disciples' )]"
on_start = "[GetVariableSystem.Clear( 'show_building_panel' )]"
on_start = "[DomicileWindow.ClearConstructionStartedNotification]"
on_start = "[DomicileWindow.CacheRelationOfType( GetRelation( 'elder' ) ) ]"
on_start = "[DomicileWindow.CacheRelationOfType( GetRelation( 'disciple' ) ) ]"
on_start = "[DomicileWindow.CacheRelationOfType( GetRelation( 'fellow_disciple' ) ) ]"
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
using = Window_Margins
vbox = {
datamodel = "[DomicileWindow.GetBuildingSlots]"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
background = {
name = "paper_texture_shadow"
texture = "gfx/interface/window_domiciles/tile_letter_shadow.dds"
spriteType = Corneredtiled
spriteborder = { 200 200 }
}
background = {
name = "paper_texture_flat"
texture = "gfx/interface/window_domiciles/tile_letter_flat.dds"
spriteType = Corneredtiled
spriteborder = { 200 200 }
modify_texture = {
name = "paper_texture_overlay"
texture = "gfx/interface/window_domiciles/overlay_letter_texture.dds"
spriteType = Corneredstretched
blend_mode = overlay
}
}
}
}
### FRAME
widget = {
name = "domicile_frame"
visible = "[And( Not( IsNomad( GetPlayer ) ), Not( Or( Or( GetPlayer.GetGovernment.IsType( 'celestial_government' ), GetPlayer.GetGovernment.IsType( 'meritocratic_government' ) ), Or( GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ), GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ) ) ) ) )]"
parentanchor = center
position = { 0 -2 }
size = { 1274 624 }
background = {
texture = "gfx/interface/window_domiciles/domicile_frame.dds"
}
}
widget = {
name = "domicile_frame_asian"
visible = "[Or( IsNomad( GetPlayer ), Or( Or( GetPlayer.GetGovernment.IsType( 'celestial_government' ), GetPlayer.GetGovernment.IsType( 'meritocratic_government' ) ), Or( GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ), GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ) ) ) )]"
parentanchor = center
position = { 0 -2 }
size = { 1274 624 }
background = {
texture = "gfx/interface/window_domiciles/domicile_frame_asia.dds"
}
}
### BACKGROUND
widget = {
parentanchor = center
position = { 0 -2 }
size = { 1206 556 }
background = {
texture = "[DomicileSettings.GetBackgroundTexture]"
}
}
### BUILDINGS
widget = {
name = "domicile_buildings"
visible = "[Domicile.IsValid]"
parentanchor = center
position = { 0 -2 }
size = { 1206 556 }
allow_outside = yes
datamodel = "[DomicileWindow.GetBuildingSlots]"
item = {
domicile_building_button = {
name = "domicile_building_item"
datacontext = "[DomicileBuildingSlot.GetAsset]"
visible = "[Not( And( And(DomicileBuildingSlot.IsFree, Not(DomicileBuildingSlot.IsUnderConstruction) ), Not(DomicileWindow.IsEditMode) ) )]"
allow_outside = yes
blockoverride "locale_texture"
{
position = "[DomicileBuildingSlot.GetPositionInPercent( PdxGuiWidget.AccessParent.Self )]"
size = "[DomicileBuildingSlot.GetSizeInPercent( PdxGuiWidget.AccessParent.Self )]"
intersectionmask_texture = "[DomicileBuildingAsset.GetTextureMask]"
}
}
}
}
### FOREGROUND
widget = {
parentanchor = center
position = { 0 -2 }
size = { 1206 556 }
background = {
texture = "[DomicileSettings.GetForegroundTexture]"
}
}
### PAPER RIPPLE NOISE VFX
# The size and position should be same as domicile_frame
widget = {
name = "ripple_noise_vfx"
parentanchor = center
size = { 1274 624 }
icon_ripple_noise = {
size = { 100% 100% }
}
}
## HEADER
widget = {
parentanchor = top|hcenter
position = { 0 18 }
size = { 1274 66 }
# Header Western
widget = {
visible = "[Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ))))))]"
size = { 444 66 }
parentanchor = center
icon = {
parentanchor = center
size = { 444 66 }
texture = "gfx/interface/window_domiciles/domicile_header_background.dds"
}
text_single = {
margin = { 80 10 }
parentanchor = center
text = "[Domicile.GetName|U]"
align = nobaseline
default_format = "#light_background"
max_width = 460
using = Font_Size_Big
using = Font_Type_Flavor
}
### Parent button to make area that trigger show/hide animation bigger
button = {
visible = "[DomicileWindow.IsEditMode]"
parentanchor = center
size = { 100% 100% }
state = {
name = _mouse_hierarchy_enter
on_start = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
on_finish = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
}
state = {
name = _mouse_hierarchy_leave
on_start = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
on_finish = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
}
button_edit_text = {
visible = "[And( DomicileWindow.HasRenameWindow, GetVariableSystem.Exists( 'open_edit_domicile_name_contextual_button' ) )]"
parentanchor = right|vcenter
position = { -40 -2 }
onclick = "[DomicileWindow.OpenRenameWindow]"
tooltip = "DOMICILE_WINDOW_CUSTOMIZE_NAME"
# ### Hover animation - used when hovering banner texture
state = {
name = _show
using = Animation_FadeIn_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Standard
}
background = {
using = Background_Area_Dark
margin = { 2 2 }
}
}
}
}
# Header Asia
widget = {
visible = "[Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))]"
position = { 0 -2 }
size = { 444 66 }
parentanchor = center
icon = {
parentanchor = center
size = { 444 66 }
texture = "gfx/interface/window_domiciles/domicile_header_background_asia.dds"
}
widget = {
parentanchor = center
size = { 444 66 }
text_single = {
parentanchor = top|hcenter
position = { 0 8 }
text = "[Domicile.GetName|U]"
align = nobaseline
default_format = "#light_background"
max_width = 460
using = Font_Size_Big
using = Font_Type_Flavor
margin = { 80 0 }
}
text_single = {
visible = "[Domicile.GetType.UsesCultureAndFaith]"
parentanchor = bottom|hcenter
position = { 0 -5}
text = "domicile_header_faith_culture"
align = nobaseline
default_format = "#light_background"
max_width = 460
using = Font_Size_Medium
using = Font_Type_Flavor
}
}
### Parent button to make area that trigger show/hide animation bigger
button = {
visible = "[DomicileWindow.IsEditMode]"
parentanchor = center
position = { 0 -10 }
size = { 100% 34 }
state = {
name = _mouse_hierarchy_enter
on_start = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
on_finish = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
}
state = {
name = _mouse_hierarchy_leave
on_start = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
on_finish = "[GetVariableSystem.Toggle( 'open_edit_domicile_name_contextual_button' )]"
}
button_edit_text = {
visible = "[And( DomicileWindow.HasRenameWindow, GetVariableSystem.Exists( 'open_edit_domicile_name_contextual_button' ) )]"
parentanchor = right|vcenter
position = { -25 0 }
size = { 25 25 }
onclick = "[DomicileWindow.OpenRenameWindow]"
tooltip = "DOMICILE_WINDOW_CUSTOMIZE_NAME"
# ### Hover animation - used when hovering banner texture
state = {
name = _show
using = Animation_FadeIn_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Standard
}
background = {
using = Background_Area_Dark
alpha = 0.8
margin = { 5 5 }
modify_texture = {
texture = "gfx/interface/component_masks/mask_glow.dds"
blend_mode = alphamultiply
}
}
}
}
}
## WINDOW CONTROL BUTTONS
widget = {
parentanchor = right|vcenter
position = { 8 0 }
size = { 124 54 }
icon = {
visible = "[Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ))))))]"
size = { 124 54 }
texture = "gfx/interface/window_domiciles/domicile_window_control_background.dds"
spriteType = Corneredtiled
spriteborder = { 72 10 }
texture_density = 2
}
icon = {
visible = "[Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))]"
size = { 124 54 }
texture = "gfx/interface/window_domiciles/domicile_window_control_background_asia.dds"
spriteType = Corneredtiled
spriteborder = { 72 10 }
texture_density = 2
}
hbox = {
spacing = 5
margin = { 10 0 }
button_hide_ui = {
visible = "[Not( GetVariableSystem.Exists( 'hide_ui' ) )]"
size = { 30 30 }
onclick = "[GetVariableSystem.Toggle( 'hide_ui' )]"
tooltip = "HIDE_UI_BUTON_TEXT_HIDE"
using = tooltip_ne
background = {
using = Background_Area_Dark
margin = { 2 2 }
}
}
button_show_ui = {
visible = "[GetVariableSystem.Exists( 'hide_ui' )]"
size = { 30 30 }
onclick = "[GetVariableSystem.Toggle( 'hide_ui' )]"
tooltip = "HIDE_UI_BUTTON_TEXT_SHOW"
using = tooltip_ne
background = {
using = Background_Area_Dark
margin = { 2 2 }
}
}
button_go_to_my_location = {
size = { 30 30 }
onclick = "[Domicile.GetLocation.PanCameraTo]"
using = Animation_ShowHide_Quick
tooltip = "[DomicileWindow.GetGoToLocationTooltip]"
using = tooltip_ne
background = {
using = Background_Area_Dark
margin = { 2 2 }
}
}
button_close = {
size = { 30 30 }
onclick = "[DomicileWindow.Close]"
shortcut = "close_window"
using = Animation_ShowHide_Quick
tooltip = "CLOSE_TOOLTIP"
using = tooltip_ne
background = {
using = Background_Area_Dark
margin = { 2 2 }
}
}
}
}
}
### MOVE DOMICILE BUTTON
widget = {
name = "move_domicile"
visible = "[And( DomicileWindow.CanMoveManually(), And( DomicileWindow.IsEditMode, Not( GetVariableSystem.Exists( 'hide_ui' ) ) ) )]"
parentanchor = bottom|hcenter
position = { 0 -28 }
size = { 200 54 }
background = {
visible = "[And( Not( GetVariableSystem.Exists( 'hide_ui' ) ), Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))))]"
texture = "gfx/interface/window_domiciles/domicile_window_control_background.dds"
spriteType = Corneredtiled
spriteborder = { 72 10 }
texture_density = 2
}
background = {
visible = "[And( Not( GetVariableSystem.Exists( 'hide_ui' )), Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ))))))]"
texture = "gfx/interface/window_domiciles/domicile_window_control_background_asia.dds"
spriteType = Corneredtiled
spriteborder = { 72 10 }
texture_density = 2
}
button_standard = {
name = "move_domcicle_button"
datacontext = "[DomicileWindow.GetDomicile]"
parentanchor = center
text = "DOMICILE_OVERVIEW_MOVE_BUTTON_TEXT"
onclick = "[OpenGameView( 'move_domicile_planner' )]"
onclick = "[DomicileWindow.Close]"
enabled = "[Domicile.CanMove]"
tooltip = "[Domicile.GetType.GetMoveTooltip( Character.Self )]"
tooltip_when_disabled = "[Domicile.GetMoveTooltip]"
using = tooltip_ne
background = {
using = Background_Area_Light
alpha = 0.8
}
}
}
### DEBUG INTERACTIONS
widget = {
name = "debug_interactions"
visible = "[InDebugMode]"
parentanchor = bottom|right
position = { -70 -28 }
size = { 480 54 }
flowcontainer = {
parentanchor = center
spacing = 5
using = Background_Letter
margin = { 10 10 }
text_single = {
visible = "[Domicile.GetType.UsesCultureAndFaith]"
text = "[Domicile.GetCulture.GetName]"
default_format = "#D"
}
text_single = {
visible = "[Domicile.GetType.UsesCultureAndFaith]"
text = "[Domicile.GetFaith.GetName]"
default_format = "#D"
}
button_standard = {
size = { 140 33 }
raw_text = "Refresh Data"
raw_tooltip = "DEBUG: Click to reload domicile database changes"
using = tooltip_ne
onclick = "[DomicileWindow.RefreshBuildingSlots]"
}
button_standard = {
size = { 110 33 }
text = "[DomicileSettings.GetType.GetName]"
default_format = "#D"
raw_tooltip = "DEBUG: Click to toggle between Camp and Estate"
using = tooltip_ne
onclick = "[DomicileSettings.ToggleType]"
}
dropdown_menu_standard = {
blockoverride "dropdown_properties"
{
datamodel = "[DomicileWindow.GetCultureSets]"
onselectionchanged = "[DomicileWindow.OnSelectCultureSet]"
selectedindex = "[DomicileWindow.GetHoveredCultureSetIndex]"
}
blockoverride "dropdown_size"
{
size = { 135 32 }
}
blockoverride "dropdown_list_maxsize"
{
maximumsize = { 127 550 }
}
blockoverride "dropdown_active_item_properties"
{
text = "[DomicileCultureSet.GetName]"
}
blockoverride "dropdown_item_properties"
{
text = "[DomicileCultureSet.GetName]"
}
raw_tooltip = "DEBUG: Click to toggle between culture sets"
using = tooltip_ne
}
}
}
### CONSTRUCT BUILDING PANELS
widget = {
name = "construction_panel"
visible = "[GetVariableSystem.Exists( 'show_building_panel' )]"
parentanchor = top|right
allow_outside = yes
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
### RIGHT SIDE PANELS
widget = {
datacontext = "[DomicileWindow.GetSelectedBuildingSlot]"
visible = "[And( Not(DomicileWindow.IsInspectLineTreeBuilding), And( DomicileBuildingSlot.IsFree, Not(DomicileBuildingSlot.IsUnderConstruction) ) )]"
widgetanchor = right
position = { 0 2 }
size = { 600 690 }
using = Window_Background
### EMPTY SLOT PANEL
vbox_domicile_empty_slot_panel = {}
}
widget = {
datacontext = "[DomicileWindow.GetSelectedBuildingSlot]"
visible = "[Or( Or( DomicileBuildingSlot.HasBaseBuilding, DomicileWindow.IsInspectLineTreeBuilding ), DomicileBuildingSlot.IsUnderConstruction )]"
parentanchor = vcenter
widgetanchor = right
position = { 0 2 }
size = { 600 688 }
using = Window_Background
### UPGRADE PANEL
vbox_domicile_upgrade_panel = {}
}
}
### BOOKMARK PANEL - OVERVIEW
widget = {
name = "bookmark_overview"
visible = "[GetVariableSystem.Exists( 'bookmark_overview' )]"
parentanchor = left
allow_outside = yes
size = { 600 690 }
position = { 0 1 }
alwaystransparent = yes
# we want to be able to click the tab buttons,
# but we don't want to be able to click the buildings
# that are behind this panel...
widget = {
parentanchor = top|left
position = { 5% 0 }
size = { 90% 100% }
alwaystransparent = yes
}
using = Window_Background
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
datacontext = "[DomicileWindow.GetDomicile]"
using = Window_Margins
### Header ###
header_pattern = {
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "DOMICILE_WINDOW_BOOKMARK_OVERVIEW_TITLE"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Toggle( 'bookmark_overview' )]"
}
}
vbox = {
datacontext = "[DomicileWindow.GetDomicile]"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
### Domicile background illustration
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = end
alpha = 0.3
using = Mask_Rough_Edges
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
### Overview Resources
vbox = {
datacontext = "[DomicileWindow.GetDomicile]"
layoutpolicy_horizontal = expanding
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_OVERVIEW_RESOURCES"
}
hbox = {
layoutpolicy_horizontal = expanding
margin_left = 10
margin_top = 5
margin_bottom = 5
spacing = 10
expand = {}
### Overview Resources Gold
hbox = {
spacing = 5
tooltip = "[Domicile.GetGoldResourceTooltip]"
using = tooltip_ne
icon = {
name = "gold_icon"
size = { 30 30 }
texture = "gfx/interface/icons/icon_gold.dds"
}
text_single = {
name = "balance_positive"
visible = "[GreaterThanOrEqualTo_CFixedPoint(Domicile.GetGoldResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_GOLD_BALANCE"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "balance_negative"
visible = "[LessThan_CFixedPoint(Domicile.GetGoldResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_GOLD_BALANCE"
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
vbox = {
layoutpolicy_vertical = expanding
divider_light = {
layoutpolicy_vertical = expanding
}
}
### Overview Resources Provisions
hbox = {
visible = "[IsLandlessAdventurer( DomicileWindow.GetCharacter )]"
spacing = 5
tooltip = "[Domicile.GetProvisionsBreakdown]"
using = tooltip_ne
icon = {
name = "icon_provisions"
size = { 30 30 }
framesize = { 60 60 }
frame = 0
texture = "gfx/interface/icons/icon_camp_supply.dds"
}
text_single = {
name = "provisions_value_positive"
visible = "[Not( Or( Domicile.IsProvisionsLow, Domicile.IsProvisionsCritical ) )]"
text = "[Domicile.GetProvisions|0]"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "provisions_value_low"
visible = "[Domicile.IsProvisionsLow]"
text = "[Domicile.GetProvisions|0]"
align = nobaseline
max_width = 50
default_format = "#color_yellow"
using = Font_Size_Small
}
text_single = {
name = "provisions_value_critical"
visible = "[Domicile.IsProvisionsCritical]"
text = "[Domicile.GetProvisions|0]"
align = nobaseline
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
vbox = {
visible = "[IsLandlessAdventurer( DomicileWindow.GetCharacter )]"
layoutpolicy_vertical = expanding
divider_light = {
layoutpolicy_vertical = expanding
}
}
### Overview Resources Prestige
hbox = {
spacing = 5
tooltip = "[Domicile.GetPrestigeResourceTooltip]"
using = tooltip_ne
icon = {
name = "prestige_icon"
size = { 30 30 }
texture = "[GetPlayer.GetPrestigeLevelTexture]"
}
text_single = {
name = "balance_positive"
visible = "[GreaterThanOrEqualTo_CFixedPoint(Domicile.GetPrestigeResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_PRESTIGE_BALANCE"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "balance_negative"
visible = "[LessThan_CFixedPoint(Domicile.GetPrestigeResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_PRESTIGE_BALANCE"
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
vbox = {
layoutpolicy_vertical = expanding
divider_light = {
layoutpolicy_vertical = expanding
}
}
### Overview Resources Piety
hbox = {
spacing = 5
tooltip = "[Domicile.GetPietyResourceTooltip]"
using = tooltip_ne
icon = {
name = "piety_icon"
size = { 30 30 }
texture = "[GetPlayer.GetPietyLevelTexture]"
}
text_single = {
name = "balance_positive"
visible = "[GreaterThanOrEqualTo_CFixedPoint(Domicile.GetPietyResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_PIETY_BALANCE"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "balance_negative"
visible = "[LessThan_CFixedPoint(Domicile.GetPietyResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_PIETY_BALANCE"
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
vbox = {
visible = "[IsAdministrativeRuler( DomicileWindow.GetCharacter )]"
layoutpolicy_vertical = expanding
divider_light = {
layoutpolicy_vertical = expanding
}
}
### Overview Resources Influence
hbox = {
visible = "[IsAdministrativeRuler( DomicileWindow.GetCharacter )]"
spacing = 5
tooltip = "[Domicile.GetInfluenceResourceTooltip]"
using = tooltip_ne
icon = {
name = "influence_icon"
size = { 30 30 }
texture = "[GetPlayer.GetInfluenceLevelTexture]"
}
text_single = {
name = "balance_positive"
visible = "[GreaterThanOrEqualTo_CFixedPoint(Domicile.GetInfluenceResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_INFLUENCE_BALANCE"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "balance_negative"
visible = "[LessThan_CFixedPoint(Domicile.GetInfluenceResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_INFLUENCE_BALANCE"
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
### Overview Resources Herd
hbox = {
visible = "[IsNomad( DomicileWindow.GetCharacter )]"
spacing = 5
tooltip = "[Domicile.GetHerdResourceTooltip]"
using = tooltip_ne
icon = {
name = "herd_icon"
size = { 30 30 }
texture = "gfx/interface/icons/icon_herd.dds"
}
text_single = {
name = "balance_positive"
visible = "[GreaterThanOrEqualTo_CFixedPoint(Domicile.GetHerdResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_HERD_BALANCE"
align = nobaseline
max_width = 50
default_format = "#high"
using = Font_Size_Small
}
text_single = {
name = "balance_negative"
visible = "[LessThan_CFixedPoint(Domicile.GetHerdResource, '(CFixedPoint)0')]"
text = "DOMICILE_RESOURCE_HERD_BALANCE"
max_width = 50
default_format = "#N"
using = Font_Size_Small
}
}
expand = {}
}
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
spacing = 5
scrollbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_margins"
{
margin = { 10 10 }
margin_right = 20
}
blockoverride "scrollbox_content"
{
vbox = {
margin_bottom = 20
layoutpolicy_horizontal = expanding
datamodel = "[DomicileWindow.GetOverviewBuildings]"
### Overview Buildings
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_OVERVIEW_BUILDINGS_LIST"
}
item = {
vbox_domicile_building_overview_group_foldout = {}
}
}
}
}
}
}
}
}
### BOOKMARK PANEL - PATRONS
widget = {
name = "bookmark_patrons"
visible = "[GetVariableSystem.Exists( 'bookmark_patrons' )]"
parentanchor = left
allow_outside = yes
position = { 0 1 }
size = { 600 690 }
alwaystransparent = yes
# we want to be able to click the tab buttons,
# but we don't want to be able to click the buildings
# that are behind this panel...
widget = {
parentanchor = top|left
position = { 5% 0 }
size = { 90% 100% }
alwaystransparent = yes
}
using = Window_Background
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
using = Window_Margins
### Domicile background illustration
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = end
alpha = 0.3
margin = { -40 0 }
margin_bottom = -20
using = Mask_Rough_Edges
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
### Header ###
header_pattern = {
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "DOMICILE_WINDOW_BOOKMARK_PATRONS_TITLE"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Toggle( 'bookmark_patrons' )]"
}
}
scrollbox = {
name = "patrons_list"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_content"
{
vbox = {
layoutpolicy_horizontal = expanding
spacing = 15
vbox = {
layoutpolicy_horizontal = expanding
ignoreinvisible = yes
spacing = 5
datamodel = "[GetPlayer.GetTaskContractEmployers]"
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_PATRONS_INFO"
}
item = {
hbox_patron_item = {
visible = "[Not( DomicileWindow.IsPatronTooFarAway( Character.Self ) )]"
}
}
}
vbox = {
layoutpolicy_horizontal = expanding
ignoreinvisible = yes
spacing = 5
datamodel = "[GetPlayer.GetTaskContractEmployers]"
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_PATRONS_FAR_AWAY"
}
item = {
hbox_patron_item = {
visible = "[DomicileWindow.IsPatronTooFarAway( Character.Self )]"
}
}
}
}
}
}
}
}
### BOOKMARK PANEL - FOLLOWERS
widget = {
name = "bookmark_followers"
visible = "[GetVariableSystem.Exists( 'bookmark_followers' )]"
parentanchor = center
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
allow_outside = yes
alwaystransparent = no
size = { 1350 689 }
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
background = {
texture = "gfx/interface/component_tiles/tile_window_background.dds"
spriteType = Corneredtiled
spriteborder = { 18 0 }
texture_density = 2
margin = { -10 -17 }
modify_texture = {
texture = "gfx/interface/component_overlay/overlay_effect.dds"
blend_mode = overlay
}
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
margin = { 20 18}
### Header ###
header_pattern = {
datacontext = "[DomicileWindow.GetCharacter]"
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "[DomicileSettings.GetType.GetTitleText( Character.Self )]"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Toggle( 'bookmark_followers' )]"
}
}
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = centercrop
using = Mask_Rough_Edges
margin = { -20 -16 }
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds"
blend_mode = alphamultiply
}
}
portrait_button = {
name = "solo_leader"
datacontext = "[DomicileWindow.GetCharacter]"
visible = "[IsDataModelEmpty( Character.GetCourt )]"
size = { 360 560 }
using = portrait_base
alwaystransparent = yes
portrait_texture = "[Character.GetAnimatedPortrait( 'environment_body', 'shop_camera_main_near_angle_30', 'personality_honorable', PdxGetWidgetScreenSize( PdxGuiWidget.Self ) )]"
mask = "gfx/portraits/portrait_mask_solid.dds"
blockoverride "grayscale" {}
blockoverride "portrait_button_template_onmouseenter" {}
blockoverride "portrait_button_template_onmouseleave" {}
blockoverride "portrait_button_template_onclick" {}
blockoverride "portrait_button_template_onrightclick" {}
blockoverride "portrait_button_template_tooltip" {}
}
hbox = {
name = "follower_cards_container"
spacing = 20
datamodel = "[DomicileWindow.GetFollowerCardItems]"
item = {
widget_domicile_follower_card = {}
}
}
expand = {}
}
widget = {
datacontext = "[DomicileWindow.GetCharacter]"
visible = "[Not( IsDataModelEmpty( Character.GetCourt ) )]"
allow_outside = yes
parentanchor = hcenter
position = { 0 100 }
tooltip = "[DomicileWindow.GetTemperamentModifierDesc]"
tooltip_offset = { 0 20 }
using = tooltip_ne
hbox = {
parentanchor = center
layoutpolicy_horizontal = expanding
spacing = 5
text_label_center = {
text = "[DomicileWindow.GetTemperamentText]"
using = Font_Size_Medium
}
icon = {
size = { 30 30 }
framesize = { 60 60 }
frame = "[DomicileWindow.GetTemperamentFrame]"
texture = "gfx/interface/icons/loyalty.dds"
}
}
}
widget = {
datacontext = "[DomicileWindow.GetCharacter]"
visible = "[IsDataModelEmpty( Character.GetCourt )]"
allow_outside = yes
parentanchor = hcenter
position = { 0 100 }
hbox = {
parentanchor = center
layoutpolicy_horizontal = expanding
spacing = 5
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_FOLLOWERS_MISSING"
using = Font_Size_Medium
}
}
}
}
### BOOKMARK PANEL - DISCIPLES
widget = {
name = "bookmark_disciples"
visible = "[GetVariableSystem.Exists( 'bookmark_disciples' )]"
allow_outside = yes
size = { 600 690 }
alwaystransparent = yes
# we want to be able to click the tab buttons,
# but we don't want to be able to click the buildings
# that are behind this panel...
widget = {
parentanchor = top|left
position = { 5% 0 }
size = { 90% 100% }
alwaystransparent = yes
}
using = Window_Background
state = {
name = _show
using = Animation_FadeIn_Quick
using = Sound_WindowShow_Standard
}
state = {
name = _hide
using = Animation_FadeOut_Quick
using = Sound_WindowHide_Standard
}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
using = Window_Margins
### Domicile background illustration
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = end
alpha = 0.3
margin = { -40 0 }
margin_bottom = -20
using = Mask_Rough_Edges
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
### Header ###
header_pattern = {
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_TITLE"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Toggle( 'bookmark_disciples' )]"
}
}
scrollbox = {
name = "disciples_list"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_content"
{
vbox = {
layoutpolicy_horizontal = expanding
spacing = 15
vbox = {
layoutpolicy_horizontal = expanding
ignoreinvisible = yes
spacing = 5
visible = "[Not( ObjectsEqual( GetSituation('dynastic_cycle').GetParticipantGroupByCharacter(Character.Self), GetSituation('dynastic_cycle').GetTopParticipantGroupByKey('hegemon_ruler') ) )]"
datamodel = "[DomicileWindow.GetRelationOfType( GetRelation( 'elder' ))]"
hbox = {
layoutpolicy_horizontal = expanding
expand = {}
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_ELDER"
}
expand = {}
button_round = {
visible = "[Character.IsPlayerInteractionShown('find_elder_interaction') ]"
enabled = "[Character.GetTopLiege.IsPlayerInteractionValid('find_elder_interaction' ) ]"
onclick = "[Character.GetTopLiege.OpenPlayerInteraction( 'find_elder_interaction' )]"
tooltip = "[Character.GetTopLiege.GetPlayerInteractionTooltip( 'find_elder_interaction' )]"
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 24 24 }
texture = "gfx/interface/icons/flat_icons/add_character.dds"
}
}
}
item = {
visible = "[Not( IsDataModelEmpty( DomicileWindow.GetRelationOfType( GetRelation( 'elder' ) ) ) ) ]"
hbox_elder_item = {
}
}
}
vbox = {
layoutpolicy_horizontal = expanding
ignoreinvisible = yes
spacing = 5
datamodel = "[DomicileWindow.GetRelationOfType( GetRelation( 'disciple' ))]"
hbox = {
layoutpolicy_horizontal = expanding
expand = {}
text_label_center = {
datacontext = [DomicileWindow.GetCharacter]
datacontext = "[GuiScope.SetRoot( DomicileWindow.GetCharacter.MakeScope ).GetScriptValueBreakdown( 'disciples_limit_value' )]"
text = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_DISCIPLE"
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {
blockoverride "header_text"
{
text = "disciples_limit_value_name"
}
}
}
}
expand = {}
button_round = {
visible = "[Character.IsPlayerInteractionShown('request_mentoring_interaction') ]"
enabled = "[Character.IsPlayerInteractionValid('request_mentoring_interaction' )]"
onclick = "[Character.OpenPlayerInteraction( 'request_mentoring_interaction' )]"
tooltip = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_FIND"
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 24 24 }
texture = "gfx/interface/icons/flat_icons/add_character.dds"
}
}
}
item = {
visible = "[Not( IsDataModelEmpty( DomicileWindow.GetRelationOfType( GetRelation( 'disciple' ) ) ) ) ]"
hbox_disciple_item = {
}
}
}
vbox = {
layoutpolicy_horizontal = expanding
ignoreinvisible = yes
spacing = 5
visible = "[Not( IsDataModelEmpty( DomicileWindow.GetRelationOfType( GetRelation( 'fellow_disciple' ) ) ) ) ]"
datamodel = "[DomicileWindow.GetRelationOfType( GetRelation( 'fellow_disciple' ) ) ]"
text_label_center = {
text = "DOMICILE_WINDOW_BOOKMARK_DISCIPLES_DISCIPLE_FELLOW"
}
item = {
hbox_disciple_item = {
}
}
}
}
}
}
}
}
}
template domicile_building_slot_tooltip {
container = {
alwaystransparent = no
object_tooltip_pop_out = {
blockoverride "header_additions"
{
hbox = {
visible = "[Or( Not( DomicileBuildingSlot.IsFree ), DomicileBuildingSlot.IsUnderConstruction )]"
margin_right = 10
margin_top = 8
margin_left = -4
icon_building = {
datacontext = "[DomicileBuilding.GetRandomAsset]"
size = { 52 52 }
texture = "[DomicileBuildingAsset.GetIcon]"
}
}
}
blockoverride "title_text"
{
margin = { 0 8 }
text = "[DomicileBuildingSlot.GetName]"
default_format = "#T"
}
blockoverride "concept_link" {
text = "[domicile_building|E]"
}
blockoverride "description_text"
{
text = "[DomicileBuildingSlot.GetSlotModifierDesc]"
}
}
}
}
types DomicileWindowTypes {
type widget_domicile_follower_card = widget {
datacontext = "[DomicileFollowerCardItem.GetFeaturedCharacter]"
visible = "[Not( DomicileFollowerCardItem.IsEmpty )]"
size = { 330 588 }
portrait_button = {
visible = "[Character.IsValid]"
parentanchor = top|hcenter
size = { 330 300 }
using = portrait_base
portrait_texture = "[Character.GetAnimatedPortrait( 'environment_council', 'camera_council', DomicileFollowerCardItem.GetAnimation, PdxGetWidgetScreenSize( PdxGuiWidget.Self ) )]"
mask = "gfx/portraits/portrait_mask_council.dds"
effectname = "NoHighlight"
background = {
margin_top = -40
margin_bottom = 10
using = Background_Area_Dark
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
text_label_center = {
parentanchor = bottom|hcenter
position = { 0 -34 }
text = "[Character.GetNameNoTooltip]"
}
}
widget = {
parentanchor = bottom|hcenter
position = { 0 -15 }
size = { 330 226 }
background = {
texture = "gfx/interface/component_tiles/tile_window_background_subwindow.dds"
spriteType = Corneredtiled
spriteborder = { 18 18 }
texture_density = 2
margin_top = 30
modify_texture = {
name = "overlay"
texture = "gfx/interface/component_overlay/overlay_effect.dds"
spriteType = Corneredstretched
spriteborder = { 0 0 }
blend_mode = overlay
}
}
scrollbox = {
name = "follower_scroll_area"
position = { 0 -8}
size = { 295 216 }
parentanchor = top|hcenter
scrollbarpolicy_horizontal = always_off
blockoverride "scrollbox_margins" {
margin_top = 15
margin_bottom = 10
}
blockoverride "scrollbox_content" {
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
fixedgridbox = {
flipdirection = yes
addcolumn = 90
addrow = 95
datamodel_wrap = 3
datamodel = "[DomicileFollowerCardItem.GetFollowers]"
item = {
portrait_head_small = {
blockoverride "portrait_button"
{
using = tooltip_ne
}
blockoverride "glow_visible"
{
visible = no
}
}
}
}
expand = {}
}
}
}
}
widget = {
parentanchor = center
position = { 0 14 }
size = { 350 68 }
icon = {
parentanchor = center
size = { 350 68 }
texture = "gfx/interface/window_domiciles/camp_follower_opinion_banner_bg.dds"
frame = "[DomicileFollowerCardItem.GetIconFrame]"
framesize = { 700 136 }
}
widget = {
position = { 37 -18 }
allow_outside = yes
icon = {
size = { 60 100 }
framesize = { 120 200 }
frame = "[DomicileFollowerCardItem.GetIconFrame]"
texture = "gfx/interface/window_domiciles/camp_follower_opinion_bg.dds"
icon = {
size = { 26 26 }
parentanchor = center
alpha = 0.7
framesize = { 60 60 }
frame = "[DomicileFollowerCardItem.GetIconFrame]"
texture = "gfx/interface/icons/loyalty.dds"
}
}
}
widget = {
size = { 350 68 }
tooltip = "[DomicileFollowerCardItem.GetTemperamentDesc]"
text_single = {
parentanchor = top|hcenter
position = { 0 7 }
text = "[DomicileFollowerCardItem.GetTitle]"
using = Font_Size_Medium
}
text_single = {
parentanchor = bottom|hcenter
position = { 0 -13 }
text = "[DomicileFollowerCardItem.GetAmountText]"
default_format = "#weak"
}
}
}
}
type domicile_building_button = button
{
name = "building_slot"
effectname = "NoDisabled"
onclick = "[GetVariableSystem.Set( 'show_building_panel', 'true' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_overview' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_patrons' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_followers' )]"
onclick = "[GetVariableSystem.Clear( 'bookmark_disciples' )]"
onclick = "[DomicileWindow.SelectBuildingSlot( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.PlayBuildingNotificationSfx( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.ClearNewBuildingEffectFor( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.ClearConstructionStartedNotification]"
alwaystransparent = "[Not( DomicileBuildingSlot.IsUnlocked )]"
allow_outside = yes
tooltipwidget = {
container = {
name = "BuildingSlotTooltip"
datacontext = "[DomicileBuildingSlot.GetBuilding]"
alwaystransparent = no
using = domicile_building_slot_tooltip
}
}
tooltip_visible = "[Or( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileBuildingSlot.IsFree ) )]"
using = tooltip_ws
### Mouse enter animation built slot
state = {
name = _mouse_enter
on_start = "[PdxGuiWidget.FindChild('building_banner').TriggerAnimation('mouse_enter_domicile')]"
}
state = {
name = _mouse_leave
on_start = "[PdxGuiWidget.FindChild('building_banner').TriggerAnimation('mouse_leave_domicile')]"
}
### Mouse enter animation built slot asia - Needs separate animation cause the banner is another type
state = {
name = _mouse_enter
on_start = "[PdxGuiWidget.FindChild('building_banner_asia').TriggerAnimation('mouse_enter_domicile')]"
}
state = {
name = _mouse_leave
on_start = "[PdxGuiWidget.FindChild('building_banner_asia').TriggerAnimation('mouse_leave_domicile')]"
}
### Mouse enter animation empty building slot
state = {
name = _mouse_enter
on_start = "[PdxGuiWidget.FindChild('building_slot_empty').TriggerAnimation('mouse_enter_empty_slot')]"
}
state = {
name = _mouse_leave
on_start = "[PdxGuiWidget.FindChild('building_slot_empty').TriggerAnimation('mouse_leave_empty_slot')]"
}
### Display the original texture when the transition animation is not playing.
# Display it when slot is free.
highlight_icon = {
visible = "[And( DomicileBuildingSlot.IsFree, Not( DomicileBuildingSlot.IsUnderConstruction ) )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
}
# Display it when slot is construction.
highlight_icon = {
visible = "[And( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileWindow.ShowConstructionStartedNotification( DomicileBuildingSlot.Self ) ) )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
}
# Display it when slot is building.
# There is a one-frame bug in this part. Perhaps the issue lies in the order of setting the state. TIT-51102
highlight_icon = {
visible = "[And( And( Not( DomicileBuildingSlot.IsUnderConstruction ), Not( DomicileBuildingSlot.IsFree ) ), Not( DomicileWindow.ShowNewBuildingEffect( DomicileBuildingSlot.Self ) ) )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
}
### Before playing the fade-out animation, there will be one frame missing, so these are uesd to add the frame at beginning
highlight_icon = {
visible = "[And( DomicileBuildingSlot.IsUnderConstruction, DomicileWindow.ShowConstructionStartedNotification( DomicileBuildingSlot.Self ) )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetPreviousAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
alpha = 1.0
state = {
name = _show
duration = 0.5
alpha = 0.0
}
state = {
name = _hide
alpha = 1.0
}
}
highlight_icon = {
visible = "[DomicileWindow.ShowNewBuildingEffect( DomicileBuildingSlot.Self )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetPreviousAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
alpha = 1.0
state = {
name = _show
duration = 0.5
alpha = 0.0
}
state = {
name = _hide
alpha = 1.0
}
}
### Fadeout animation
highlight_icon = {
visible = "[DomicileWindow.ShowConstructionStartedNotification( DomicileBuildingSlot.Self )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetPreviousAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
modify_texture = {
name = "construction_fadeout"
gfxtype = videogfx
video = "gfx/interface/video/brush_stroke_erase.bk2"
loop = no
restart_on_show = yes
blend_mode = alphamultiply
}
}
highlight_icon = {
visible = "[DomicileWindow.ShowNewBuildingEffect( DomicileBuildingSlot.Self )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetPreviousAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
modify_texture = {
name = "building_fadeout"
gfxtype = videogfx
video = "gfx/interface/video/brush_stroke_erase.bk2"
loop = no
restart_on_show = yes
blend_mode = alphamultiply
}
}
### Fadein animation
highlight_icon = {
visible = "[And( DomicileBuildingSlot.IsUnderConstruction, DomicileWindow.ShowConstructionStartedNotification( DomicileBuildingSlot.Self ) )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
alpha = 0.0
modify_texture = {
name = "construction_fadein"
gfxtype = videogfx
video = "gfx/interface/video/brush_stroke_paint.bk2"
loop = no
restart_on_show = yes
blend_mode = alphamultiply
}
# Here is used to fix flickering during switching. Before fade in animation shows up, there is one frame pop up. Try to decrease the alpha at beginning.
state = {
name = _show
duration = 0.7
alpha = 1.0
}
state = {
name = _hide
alpha = 0.0
}
}
highlight_icon = {
visible = "[DomicileWindow.ShowNewBuildingEffect( DomicileBuildingSlot.Self )]"
size = { 100% 100% }
position = { 0 0 }
datacontext = "[DomicileBuildingSlot.GetAsset]"
texture = "[DomicileBuildingAsset.GetTexture]"
alpha = 0.0
modify_texture = {
name = "building_fadein"
gfxtype = videogfx
video = "gfx/interface/video/brush_stroke_paint.bk2"
loop = no
restart_on_show = yes
blend_mode = alphamultiply
}
# Here is used to fix flickering during switching. Before fade in animation shows up, there is one frame pop up. Try to decrease the alpha at beginning.
state = {
name = _show
duration = 0.7
alpha = 1.0
}
state = {
name = _hide
alpha = 0.0
}
}
block "locale_texture"
{
}
block "locale_vfx"
{
}
domicile_building_empty_slot_button = {
visible = "[And( And( And( DomicileWindow.IsEditMode, Not( GetVariableSystem.Exists( 'hide_ui' ) ) ), DomicileBuildingSlot.IsFree), Not( DomicileBuildingSlot.IsUnderConstruction ) )]"
parentanchor = center
position = { -30 -30 }
enabled = "[DomicileBuildingSlot.IsUnlocked]"
}
domicile_building_banner_button = {
visible = "[And( Not( GetVariableSystem.Exists( 'hide_ui' ) ), Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))))]"
parentanchor = top|hcenter
allow_outside = yes
}
domicile_building_banner_asia_button = {
visible = "[And( Not( GetVariableSystem.Exists( 'hide_ui' )), Or(GetPlayer.GetGovernment.IsType( 'celestial_government'), Or(GetPlayer.GetGovernment.IsType( 'meritocratic_government'), Or(GetPlayer.GetGovernment.IsType( 'nomad_government' ), Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ), GetPlayer.GetGovernment.IsType( 'japan_feudal_government' ))))))]"
parentanchor = top|hcenter
allow_outside = yes
}
}
type domicile_building_banner_button = button {
name = "building_banner"
onclick = "[GetVariableSystem.Set( 'show_building_panel', 'true' )]"
onclick = "[DomicileWindow.SelectBuildingSlot( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.ClearNewBuildingEffectFor( DomicileBuildingSlot.Self )]"
alwaystransparent = "[And( And( Not( DomicileBuildingSlot.CanBuild ), DomicileBuildingSlot.IsFree), Not( DomicileBuildingSlot.IsUnderConstruction ) )]"
allow_outside = yes
### Hover animation - used when hovering banner texture
state = {
name = _mouse_enter
using = Animation_Curve_Default
duration = 0.05
position = { 0 -5 }
scale = 1.15
}
state = {
name = _mouse_leave
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Hover animation - used when hovering building texture
state = {
name = "mouse_enter_domicile"
using = Animation_Curve_Default
duration = 0.05
position = { 0 -5 }
scale = 1.15
}
state = {
name = "mouse_leave_domicile"
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Construction progress bar
widget = {
visible = "[DomicileBuildingSlot.IsUnderConstruction]"
parentanchor = bottom|hcenter
size = { 84% 30 }
position = { 10 16 }
allow_outside = yes
background = {
texture = "gfx/interface/window_domiciles/domicile_progress_bar_bg.dds"
}
domicile_progress_bar = {
parentanchor = center
size = { 70% 13 }
position = { 4 -3 }
}
}
hbox = {
set_parent_size_to_minimum = yes
minimumsize = { 220 0 }
margin_right = 10
background = {
texture = "gfx/interface/window_domiciles/domicile_banner.dds"
spriteType = Corneredtiled
spriteborder = { 72 0 }
texture_density = 4
margin = { 0 -8 }
margin_left = -20
}
widget = {
visible = "[Or( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileBuildingSlot.IsFree ) )]"
size = { 58 58 }
### Icon background tier 1
icon = {
visible = "[LessThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)2' )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_01.dds"
}
### Icon background tier 2
icon = {
visible = "[And( GreaterThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)3' ), Not( EqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)5' ) ) )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_02.dds"
}
### Icon background tier 3
icon = {
visible = "[GreaterThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)5' )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_03.dds"
}
### Can upgrade color
button_domicile_building_can_upgrade = {
datacontext = "[DomicileBuildingSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[DomicileBuildingSlot.CanBuild]"
size = { 25 25 }
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileBuildingSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[Not( DomicileBuildingSlot.CanBuild )]"
size = { 25 25 }
}
}
### Banner text
text_single = {
visible = "[Or( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileBuildingSlot.IsFree ) )]"
layoutpolicy_vertical = expanding
text = "[DomicileBuildingSlot.GetName]"
max_width = 170
default_format = "#light_background"
using = Font_Type_Flavor
margin_bottom = 3
}
expand = {
minimumsize = { 20 0 }
}
### Banner level
text_single = {
visible = "[Not( DomicileBuildingSlot.IsFree )]"
layoutpolicy_vertical = expanding
text = "[DomicileBuildingSlot.GetLevelText]"
max_width = 70
alpha = 0.8
default_format = "#light_background"
using = Font_Size_Tiny
margin_bottom = 3
}
}
}
type domicile_building_banner_asia_button = button {
name = "building_banner_asia"
onclick = "[GetVariableSystem.Set( 'show_building_panel', 'true' )]"
onclick = "[DomicileWindow.SelectBuildingSlot( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.ClearNewBuildingEffectFor( DomicileBuildingSlot.Self )]"
alwaystransparent = "[And( And( Not( DomicileBuildingSlot.CanBuild ), DomicileBuildingSlot.IsFree), Not( DomicileBuildingSlot.IsUnderConstruction ) )]"
allow_outside = yes
### Hover animation - used when hovering banner texture
state = {
name = _mouse_enter
using = Animation_Curve_Default
duration = 0.05
position = { 0 -5 }
scale = 1.15
}
state = {
name = _mouse_leave
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Hover animation - used when hovering building texture
state = {
name = "mouse_enter_domicile"
using = Animation_Curve_Default
duration = 0.05
position = { 0 -5 }
scale = 1.15
}
state = {
name = "mouse_leave_domicile"
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Construction progress bar
widget = {
visible = "[DomicileBuildingSlot.IsUnderConstruction]"
parentanchor = bottom|hcenter
size = { 84% 30 }
position = { 10 16 }
allow_outside = yes
background = {
texture = "gfx/interface/window_domiciles/domicile_progress_bar_bg_asia.dds"
}
domicile_progress_bar = {
parentanchor = center
size = { 70% 13 }
position = { 4 -3 }
}
}
hbox = {
set_parent_size_to_minimum = yes
minimumsize = { 220 0 }
margin_right = 10
background = {
texture = "gfx/interface/window_domiciles/domicile_banner_asia.dds"
spriteType = Corneredtiled
spriteborder = { 72 0 }
texture_density = 4
margin = { 0 -8 }
margin_left = -20
}
widget = {
visible = "[Or( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileBuildingSlot.IsFree ) )]"
size = { 58 58 }
### Icon background tier 1
icon = {
visible = "[LessThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)2' )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_01.dds"
}
### Icon background tier 2
icon = {
visible = "[And( GreaterThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)3' ), Not( EqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)5' ) ) )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_02.dds"
}
### Icon background tier 3
icon = {
visible = "[GreaterThanOrEqualTo_int32( DomicileBuildingSlot.GetLevel, '(int32)5' )]"
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_03.dds"
}
### Can upgrade color
button_domicile_building_can_upgrade = {
datacontext = "[DomicileBuildingSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[DomicileBuildingSlot.CanBuild]"
size = { 25 25 }
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileBuildingSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[Not( DomicileBuildingSlot.CanBuild )]"
size = { 25 25 }
}
}
### Banner text
text_single = {
visible = "[Or( DomicileBuildingSlot.IsUnderConstruction, Not( DomicileBuildingSlot.IsFree ) )]"
layoutpolicy_vertical = expanding
text = "[DomicileBuildingSlot.GetName]"
max_width = 170
default_format = "#light_background"
using = Font_Type_Flavor
margin_bottom = 3
}
expand = {
minimumsize = { 20 0 }
}
### Banner level
text_single = {
visible = "[Not( DomicileBuildingSlot.IsFree )]"
layoutpolicy_vertical = expanding
text = "[DomicileBuildingSlot.GetLevelText]"
max_width = 70
alpha = 0.8
default_format = "#light_background"
using = Font_Type_Flavor
margin_bottom = 3
}
}
}
type domicile_building_empty_slot_button = button {
allow_outside = yes
button = {
name = "building_slot_empty"
size = { 56 56 }
onclick = "[GetVariableSystem.Set( 'show_building_panel', 'true' )]"
onclick = "[DomicileWindow.SelectBuildingSlot( DomicileBuildingSlot.Self )]"
onclick = "[DomicileWindow.ClearNewBuildingEffectFor( DomicileBuildingSlot.Self )]"
state = {
name = _mouse_enter
using = Animation_Curve_Default
duration = 0.05
position = { -3 -5 }
scale = 1.15
}
state = {
name = _mouse_leave
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Hover animation - used when hovering building texture
state = {
name = "mouse_enter_empty_slot"
using = Animation_Curve_Default
duration = 0.05
position = { -3 -5 }
scale = 1.15
}
state = {
name = "mouse_leave_empty_slot"
using = Animation_Curve_Default
duration = 0.05
position = { 0 0 }
scale = 1
}
### Visible when construction is available, has floating animation on widget
widget = {
visible = "[DomicileBuildingSlot.IsUnlocked]"
parentanchor = center
size = { 56 56 }
tooltip = "DOMICILE_WINDOW_CONSTRUCT_BUILDING_TT"
### Float animation
state = {
name = float_a
next = float_b
trigger_when = "[DomicileBuildingSlot.IsUnlocked]"
position = { 0 -4 }
duration = 2
using = Animation_Curve_Default
}
state = {
name = float_b
next = float_a
position = { 0 0 }
duration = 2
using = Animation_Curve_Default
}
### Temporary Glow
icon = {
name = "temporary_glow"
parentanchor = center
size = { 90 90 }
color = { 0.9 0.8 0.6 1 }
texture = "gfx/interface/window_roco_grandeur/pin_highlight.dds"
alpha = 0.8
modify_texture = {
texture = "gfx/interface/component_masks/mask_clouds_solid.dds"
blend_mode = alphamultiply
}
state = {
name = a
next = b
trigger_on_create = yes
alpha = 0
duration = 1
using = Animation_Curve_Default
}
state = {
name = b
next = a
alpha = 1
duration = 1
using = Animation_Curve_Default
}
}
icon = {
parentanchor = center
size = { 58 58 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_01.dds"
}
button_icon = {
visible = "[DomicileBuildingSlot.IsUnlocked]"
parentanchor = center
texture = "gfx/interface/icons/flat_icons/plus.dds"
size = { 30 30 }
alwaystransparent = yes
}
}
### Visible when construction is locked, has no animation on widget
widget = {
visible = "[Not( DomicileBuildingSlot.IsUnlocked )]"
parentanchor = center
size = { 56 56 }
alwaystransparent = "[DomicileBuildingSlot.IsUnlocked]"
tooltip = "DOMICILE_WINDOW_CONSTRUCT_BUILDING_LOCKED_TT"
icon = {
parentanchor = center
size = { 56 56 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg.dds"
}
icon_flat_standard_gold = {
parentanchor = center
texture = "gfx/interface/window_activities/tournament/contest_selection_locked_icon.dds"
size = { 30 30 }
}
}
}
}
type domicile_progress_bar = progressbar_standard {
name = "construct_progressbar"
visible = "[DomicileBuildingSlot.IsUnderConstruction]"
size = { 204 13 }
layoutpolicy_horizontal = expanding
layoutstretchfactor_horizontal = 1
alwaystransparent = yes
value = "[DomicileWindow.GetDomicile.GetConstructionProgress]"
min = 0
max = 1
progresstexture = "gfx/interface/progressbars/progress_domicile_banner.dds"
noprogresstexture = "gfx/interface/progressbars/progress_domicile_banner_bg.dds"
text_single = {
parentanchor = center
text = "[DomicileBuildingSlot.GetConstructionDaysLeft]"
default_format = "#high"
align = nobaseline
fontsize = 14
position = { 0 -1 }
max_width = 120
}
}
type domicile_construct_item = vbox {
datacontext = "[PotentialBuildingItem.GetBuilding]"
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
}
background = {
using = Background_Frame
}
### Building Icon, Name and Preview Button ###
hbox = {
layoutpolicy_horizontal = expanding
margin = { 0 10 }
margin_right = 15
margin_left = 10
spacing = 5
background = {
using = Background_Area_Dark
margin = { -4 -2 }
}
icon_building = {
name = "building_icon"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
size = { 45 45 }
texture = "[DomicileBuildingAsset.GetIcon]"
}
text_single = {
text = "[DomicileBuilding.GetNameNoTooltip]"
}
expand = {}
icon_flat_standard = {
visible = "[And( Not( DomicileBuilding.IsInternal ), PotentialBuildingItem.HasInternalUpgrades )]"
size = { 30 30 }
texture = "gfx/interface/icons/flat_icons/internal_building.dds"
tooltip = "[PotentialBuildingItem.GetInternalBuildingsList]"
using = tooltip_ne
}
button_tertiary = {
size = { 155 33 }
text = "DOMICILE_WINDOW_PREVIEW"
onclick = "[DomicileWindow.InspectLineTreeBuilding( DomicileBuilding.Self )]"
tooltip = "[DomicileBuilding.GetInspectLineTreeTooltip]"
using = tooltip_ne
}
}
### Building Description ###
vbox = {
name = "construct_description"
layoutpolicy_horizontal = expanding
text_multi = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
text = "[DomicileBuilding.GetModifierDesc]"
max_width = 500
autoresize = yes
margin = { 15 10 }
}
}
### Building Costs ###
hbox = {
layoutpolicy_horizontal = expanding
margin = { 15 15 }
spacing = 15
background = {
using = Background_Area
}
expand = {}
hbox_domicile_building_cost_bar = {
blockoverride "upgrade_cost_text_visibility" {}
}
allow_outside = yes
button_standard = {
name = "construct_button"
size = { 155 33 }
text = "CONSTRUCT"
onclick = "[DomicileWindow.SetShowConstructionStartedNotification( DomicileWindow.GetSelectedSlotIndex )]"
onclick = "[PostCommand( Domicile.BuildBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
enabled = "[IsValidCommand( Domicile.BuildBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
tooltip = "[DomicileBuilding.GetBuildTooltip( Character.Self )]"
using = tooltip_ne
}
}
}
type vbox_domicile_empty_slot_panel = vbox {
name = "empty_slot_construction_panel"
alwaystransparent = no
using = Window_Margins
### Domicile background illustration
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = end
alpha = 0.3
margin = { -40 0 }
margin_bottom = -16
using = Mask_Rough_Edges
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
### Header ###
header_pattern = {
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "DOMICILE_WINDOW_FREE_BUILDING_SLOT"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
}
}
### Building List ###
scrollbox = {
name = "construct_building_list" #used in lesson_china_estate_intro
widgetid = "construct_building_list" #used in lesson_china_estate_intro
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_margins"
{
margin_top = 10
margin_bottom = 10
margin_left = 10
margin_right = 15
}
blockoverride "scrollbox_content"
{
### Instructions
text_label_center = {
text = "DOMICILE_WINDOW_SELECT_BUILDING"
default_format = "#I"
}
vbox = {
layoutpolicy_horizontal = expanding
spacing = 5
datamodel = "[DomicileWindow.GetPotentialBuildings]"
item = {
domicile_construct_item = {
visible = "[DomicileBuildingSlot.IsSameSlotType( DomicileBuilding.Self )]"
}
}
expand = {}
}
}
}
expand = {}
}
type domicile_internal_construct_panel = vbox {
name = "internal_slot_construction_panel"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
alwaystransparent = no
### Building List ###
scrollbox = {
name = "construct_building_list"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_margins"
{
margin_top = 10
margin_bottom = 10
margin_left = 10
margin_right = 15
}
blockoverride "scrollbox_content"
{
### Instructions
text_label_center = {
text = "DOMICILE_WINDOW_SELECT_INTERNAL_BUILDING"
default_format = "#I"
}
vbox = {
layoutpolicy_horizontal = expanding
spacing = 5
datamodel = "[DomicileBuildingSlot.GetPotentialInternalUpgrades]"
item = {
domicile_construct_item = {
datacontext = "[PotentialBuildingItem.GetBuilding]"
visible = "[DomicileBuilding.IsRootOfTrack]"
}
}
expand = {}
}
}
}
expand = {}
}
type vbox_domicile_upgrade_panel = vbox {
name = "upgrade_panel"
widgetid = "domicile_upgrade_panel" #used in lesson_china_estate_manor
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
alwaystransparent = no
using = Window_Margins
background = {
texture = "[Domicile.GetType.GetIllustration]"
fittype = end
alpha = 0.3
margin = { -40 0 }
margin_bottom = -16
using = Mask_Rough_Edges
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
blend_mode = alphamultiply
mirror = vertical
}
}
### Header ###
header_pattern = {
datacontext = "[DomicileWindow.GetSelectedTreePreview]"
layoutpolicy_horizontal = expanding
blockoverride "header_text" {
text = "[DomicileBuildingSlot.GetName]"
}
blockoverride "button_back" {
name = "back_button"
visible = "[Or( Or( DomicileWindow.IsInspectLineTreeBuilding, DomicileBuildingSlot.HasSelectedFreeInternalSlot ), DomicileBuilding.IsInternal )]"
oversound = "event:/SFX/UI/Generic/sfx_ui_generic_pointer_over"
clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_close"
onclick = "[DomicileWindow.NavigateBack]"
tooltip = "BACK_TOOLTIP"
}
blockoverride "button_close" {
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
}
}
hbox = {
visible = "[And( And( DomicileBuildingSlot.HasInternalSlots, Not( DomicileWindow.IsInspectLineTreeBuilding ) ), Or( Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ), DomicileBuildingSlot.HasSelectedInternalSlotUnderConstruction ) )]"
margin = { 15 0 }
background = {
texture = "gfx/interface/window_scheme/scheme_countermeasures_bg.dds"
margin = { 0 -13 }
margin_left = -15
margin_right = 15
spriteType = Corneredtiled
spriteborder = { 72 0 }
texture_density = 2
}
### Reset tree view to main/external ###
button = {
name = "reset_tree_button"
size = { 65 65 }
allow_outside = yes
onclick = "[DomicileWindow.ResetLineTreeToSelectedSlot]"
onclick = "[DomicileWindow.ClearInternalBuildingSelected]"
tooltip = "DOMICILE_WINDOW_RESET_TREE_TT"
using = tooltip_ne
icon = {
alwaystransparent = yes
parentanchor = center
size = { 65 65 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_01.dds"
}
button_domicile_building_can_upgrade = {
datacontext = "[DomicileBuildingSlot.GetAsset]"
visible = "[DomicileBuildingSlot.CanUpgradeExternal]"
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileBuildingSlot.GetAsset]"
visible = "[Not( DomicileBuildingSlot.CanUpgradeExternal )]"
}
}
### Scroll internal buildings left button ###
widget = {
size = { 30 30 }
button = {
size = { 30 30 }
visible = "[DomicileBuildingSlot.CanScrollInternalUpgradesLeft]"
onclick = "[DomicileBuildingSlot.ScrollInternalUpgradesLeft]"
tooltip = "DOMICILE_WINDOW_INTERNAL_SCROLL_LEFT"
using = tooltip_ne
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 20 20 }
texture = "gfx/interface/icons/flat_icons/window_back.dds"
}
}
}
### Internal Upgrades Scrollbar ###
fixedgridbox = {
visible = "[Not( DomicileBuildingSlot.IsDirty )]"
datamodel = "[DomicileBuildingSlot.GetInternalSlots]"
addcolumn = 45
addrow = 45
maxverticalslots = 1
maxhorizontalslots = 10
flipdirection = yes
layoutpolicy_horizontal = expanding
item = {
widget = {
enabled = "[DomicileInternalGuiSlot.IsUnlocked]"
allow_outside = yes
### Locked Internal Slot
vbox = {
visible = "[Or( Not( DomicileInternalGuiSlot.IsUnlocked ), DomicileBuildingSlot.IsUnderConstruction )]"
button = {
name = "internal_slot_locked"
size = { 45 45 }
enabled = no
tooltip = "[DomicileBuildingSlot.GetInternalSlotTooltip( DomicileInternalGuiSlot.Self )]"
using = tooltip_ne
icon_round_button_base = {
parentanchor = center
size = { 42 42 }
}
button_domicile_building_unavailable = {
blockoverride "icon_texture"
{
texture = "gfx/interface/window_activities/tournament/contest_selection_locked_icon.dds"
}
}
}
}
### Unlocked Internal Slot
vbox = {
visible = "[DomicileInternalGuiSlot.IsUnlocked]"
### Internal Slot Empty ###
button = {
name = "internal_slot_empty"
visible = "[And( DomicileInternalGuiSlot.IsFree, Not( DomicileBuildingSlot.IsUnderConstruction ) )]"
size = { 45 45 }
enabled = "[DomicileWindow.IsEditMode]"
onclick = "[DomicileBuildingSlot.SelectInternalSlot( DomicileInternalGuiSlot.GetSlotIndex )]"
tooltip = "DOMICILE_WINDOW_INTERNAL_SLOT_UNLOCKED_TT"
using = tooltip_ne
icon_round_button_base = {
parentanchor = center
size = { 42 42 }
}
button_domicile_building_can_upgrade = {
blockoverride "icon_texture"
{
texture = "gfx/interface/icons/flat_icons/plus.dds"
}
}
}
### Internal Slot Under Construction ###
button = {
name = "internal_slot_under_construction"
visible = "[And( DomicileInternalGuiSlot.IsFree, DomicileBuildingSlot.IsInternalSlotUnderConstruction( DomicileInternalGuiSlot.GetSlotIndex ) )]"
size = { 45 45 }
onclick = "[DomicileBuildingSlot.SelectInternalSlot( DomicileInternalGuiSlot.GetSlotIndex )]"
tooltip = "[DomicileBuildingSlot.GetInternalSlotTooltip( DomicileInternalGuiSlot.Self )]"
using = tooltip_ne
icon_round_button_base = {
parentanchor = center
size = { 42 42 }
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileBuildingSlot.GetBuildingTypeUnderConstruction]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
}
}
### Internal Slot Taken ###
button = {
name = "internal_slot_taken"
visible = "[Not( DomicileInternalGuiSlot.IsFree )]"
size = { 45 45 }
onclick = "[DomicileBuildingSlot.SelectInternalSlot( DomicileInternalGuiSlot.GetSlotIndex )]"
tooltip = "[DomicileBuildingSlot.GetInternalSlotTooltip( DomicileInternalGuiSlot.Self )]"
using = tooltip_ne
### Selected glow ###
icon = {
visible = "[DomicileBuildingSlot.IsInternalSlotSelected( DomicileInternalGuiSlot.GetSlotIndex )]"
parentanchor = center
size = { 65 65 }
color = { 0.9 0.8 0.6 1 }
texture = "gfx/interface/component_masks/mask_fade_circle.dds"
alpha = 1
modify_texture = {
texture = "gfx/interface/component_masks/mask_glow.dds"
blend_mode = alphamultiply
}
state = {
name = a
next = b
trigger_on_create = yes
alpha = 0.7
duration = 1.5
using = Animation_Curve_Default
}
state = {
name = b
next = a
alpha = 1
duration = 1.5
using = Animation_Curve_Default
}
}
icon_round_button_base = {
parentanchor = center
size = { 42 42 }
}
button_domicile_building_can_upgrade = {
datacontext = "[DomicileInternalGuiSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[DomicileInternalGuiSlot.CanUpgrade]"
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileInternalGuiSlot.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[Not( DomicileInternalGuiSlot.CanUpgrade )]"
}
}
}
}
}
}
### Scroll internal buildings right button ###
widget = {
size = { 30 30 }
button = {
visible = "[DomicileBuildingSlot.CanScrollInternalUpgradesRight]"
size = { 30 30 }
onclick = "[DomicileBuildingSlot.ScrollInternalUpgradesRight]"
tooltip = "DOMICILE_WINDOW_INTERNAL_SCROLL_RIGHT"
using = tooltip_ne
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 20 20 }
mirror = horizontal
texture = "gfx/interface/icons/flat_icons/window_back.dds"
}
}
}
}
hbox = {
visible = "[And( DomicileBuildingSlot.HasInternalSlots, And( Not( DomicileWindow.IsInspectLineTreeBuilding ), Or( Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ), DomicileBuildingSlot.HasSelectedInternalSlotUnderConstruction ) ) )]"
layoutpolicy_horizontal = expanding
margin_top = 5
divider = {
layoutpolicy_horizontal = expanding
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds"
blend_mode = alphamultiply
}
}
}
hbox = {
name = "domicile_building_upgrade_track" #used by lesson_china_estate_manor_selected
visible = "[Or( Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ), DomicileBuildingSlot.HasSelectedInternalSlotUnderConstruction )]"
layoutpolicy_horizontal = expanding
margin_bottom = 5
### Domicile Upgrade Tree ###
scrollbox = {
autoresizescrollarea = yes
layoutpolicy_horizontal = expanding
scrollbarpolicy_horizontal = as_needed
scrollbarpolicy_vertical = as_needed
scrollbar_horizontal = {
using = Scrollbar_Horizontal
}
scrollbar_vertical = {
using = Scrollbar_Vertical
}
blockoverride "scrollbox_content"
{
set_parent_size_to_minimum = yes
vbox_domicile_upgrade_tree = {}
}
blockoverride "scrollbox_margins" {
margin_left = 23
margin_bottom = 10
}
blockoverride "scrollbox_background" {}
blockoverride "scrollbox_background_fade" {}
}
}
hbox = {
name = "construct_internal_building"
visible = "[And( DomicileBuildingSlot.HasSelectedFreeInternalSlot, Not( DomicileBuildingSlot.HasSelectedInternalSlotUnderConstruction ) )]"
layoutpolicy_vertical = expanding
layoutpolicy_horizontal = expanding
domicile_internal_construct_panel = {}
}
vbox = {
datacontext = "[DomicileWindow.GetSelectedTreePreview]"
visible = "[Or( Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ), DomicileBuildingSlot.HasSelectedInternalSlotUnderConstruction )]"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
margin_bottom = 5
background = {
using = Background_Area
}
### Upgrade Header Text ###
hbox = {
layoutpolicy_horizontal = expanding
margin = { 10 5 }
margin_right = 5
spacing = 10
background = {
using = Background_Area_Dark
alpha = 0.6
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_horizontal.dds"
blend_mode = alphamultiply
mirror = horizontal
}
}
icon_building = {
name = "building_icon"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
size = { 48 48 }
texture = "[DomicileBuildingAsset.GetIcon]"
}
text_single = {
visible = "[Not( DomicileBuilding.HasParameter( 'can_receive_artifacts' ) )]"
text = "[DomicileBuilding.GetNameAndLevel]"
align = nobaseline
using = Font_Size_Medium
max_width = 360
}
text_single = {
visible = "[DomicileBuilding.HasParameter( 'can_receive_artifacts' )]"
text = "[DomicileBuilding.GetNameAndLevel]"
align = nobaseline
using = Font_Size_Medium
max_width = 260
}
expand = {}
### House of Curiosities widget ###
hbox = {
visible = "[DomicileBuilding.HasParameter( 'can_receive_artifacts' )]"
spacing = 5
tooltip = "DOMICILE_ARTIFACT_COUNTER_TOOLTIP"
using = tooltip_se
text_single = {
text = "CABINET_OF_CURIOSITIES_ARTIFACT_HEADER"
align = nobaseline
using = Font_Size_Small
max_width = 80
}
text_single = {
text = "[DomicileWindow.GetCharacter.GetHouse.MakeScope.ScriptValue('cabinet_of_curiosities_artifact_score')|0]"
align = nobaseline
using = Font_Size_Small
max_width = 30
}
button_round = {
datacontext = "[DomicileWindow.GetCharacter.GetInventory]"
name = "cabinet_of_curiosities_button"
size = { 40 40 }
enabled = "[Not( IsDataModelEmpty( Inventory.GetArtifacts ) )]"
onclick = "[Character.OpenPlayerInteraction( 'cabinet_of_curiosities_interaction' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'cabinet_of_curiosities_interaction' )]"
using = tooltip_se
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 30 30 }
texture = "gfx/interface/icons/flat_icons/plus.dds"
}
}
expand = {}
}
}
### Upgrade Desc ###
scrollbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
blockoverride "scrollbox_background" {}
blockoverride "scrollbox_background_fade" {}
blockoverride "scrollbox_margins" {}
blockoverride "scrollbox_content"
{
hbox = {
layoutpolicy_horizontal = expanding
hbox_domicile_building_cost_bar = {
datacontext = "[DomicileWindow.GetPreviewCostBreakdown]"
visible = "[And( DomicileWindow.IsEditMode, Not( DomicileWindow.GetDomicile.HasBuildingOrHigherTier( DomicileWindow.GetSelectedTreePreview ) ) )]"
}
expand = {}
}
text_multi = {
margin = { 15 10 }
max_width = 520
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
text = "[DomicileBuilding.GetModifierDesc]"
autoresize = yes
}
}
}
hbox = {
layoutpolicy_horizontal = expanding
margin_bottom = 10
divider = {
layoutpolicy_horizontal = expanding
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds"
blend_mode = alphamultiply
}
}
}
### Cost & Upgrade/Construct/Demolish ###
vbox = {
datacontext = "[DomicileWindow.GetNextUpgrade]"
visible = "[Not( DomicileBuildingSlot.IsUnderConstruction )]"
layoutpolicy_horizontal = expanding
spacing = 5
### Upgrade Costs ###
hbox_domicile_building_cost_bar = {
blockoverride "upgrade_cost_text_visibility" {}
datacontext = "[DomicileWindow.GetNextUpgradeCostBreakdown]"
visible = "[And( DomicileWindow.IsEditMode, DomicileWindow.IsSelectedUpgradeValid )]"
}
### Upgrade Buttons ###
hbox = {
spacing = 10
button_standard = {
name = "construct_button"
size = { 155 33 }
visible = "[And( DomicileWindow.IsEditMode, Or( DomicileWindow.IsInspectLineTreeBuilding, DomicileBuildingSlot.HasSelectedFreeInternalSlot ) )]"
text = "CONSTRUCT"
onclick = "[DomicileWindow.SetShowConstructionStartedNotification( DomicileWindow.GetSelectedSlotIndex )]"
onclick = "[PostCommand( Domicile.BuildBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
enabled = "[IsValidCommand( Domicile.BuildBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
tooltip = "[DomicileBuilding.GetBuildTooltip( Character.Self )]"
using = tooltip_ne
}
button_primary = {
datacontext = "[DomicileWindow.GetNextUpgrade]"
name = "upgrade_button"
visible = "[And( And( DomicileWindow.IsEditMode, Not( DomicileWindow.IsInspectLineTreeBuilding ) ), Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ) )]"
size = { 250 33 }
text = "UPGRADE_DOMICILE"
onclick = "[PostCommand( Domicile.UpgradeBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
enabled = "[IsValidCommand( Domicile.UpgradeBuilding( DomicileBuilding.Self, DomicileWindow.Self ) )]"
tooltip = "[DomicileBuilding.GetUpgradeTooltip( Character.Self )]"
using = tooltip_se
}
button_round= {
name = "demolish_button"
datacontext = "[DomicileWindow.GetConstructedBuildingInSelectedSlot]"
visible = "[And( Not( DomicileBuilding.IsMain ), And( And( DomicileWindow.IsEditMode, Not( DomicileWindow.IsInspectLineTreeBuilding ) ), Not( DomicileBuildingSlot.HasSelectedFreeInternalSlot ) ) )]"
size = { 40 40 }
onclick = "[DomicileWindow.ClearInternalBuildingSelected]"
onclick = "[DomicileWindow.ResetLineTreeToSelectedSlot]"
onclick = "[CreateCommandPopup( Domicile.DemolishBuilding( DomicileBuilding.Self ) )]"
enabled = "[IsValidCommand( Domicile.DemolishBuilding( DomicileBuilding.Self ) )]"
tooltip = "[DomicileBuilding.GetDemolishTooltip]"
using = tooltip_se
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 25 25 }
texture = "gfx/interface/icons/flat_icons/reforge.dds"
}
}
}
}
vbox = {
visible = "[DomicileBuildingSlot.IsUnderConstruction]"
layoutpolicy_horizontal = expanding
margin = { 10 0 }
spacing = 5
text_label_center = {
text = "[Domicile.GetConstructionStatusText]"
align = nobaseline
margin = { 0 5 }
}
hbox = {
spacing = 5
### Under Construction ###
progressbar_standard = {
visible = "[DomicileBuildingSlot.IsUnderConstruction]"
name = "construct_progressbar"
size = { 250 30 }
layoutstretchfactor_horizontal = 1
alwaystransparent = yes
value = "[DomicileWindow.GetDomicile.GetConstructionProgress]"
min = 0
max = 1
text_single = {
parentanchor = center
text = "[DomicileBuildingSlot.GetConstructionDaysLeft]"
default_format = "#high"
align = nobaseline
max_width = 120
}
}
button_round = {
name = "abort_button"
visible = "[DomicileWindow.IsEditMode]"
size = { 42 42 }
onclick = "[GetVariableSystem.Clear( 'show_building_panel' )]"
onclick = "[CreateCommandPopup( Domicile.CancelConstruction )]"
enabled = "[IsValidCommand( Domicile.CancelConstruction )]"
tooltip = "[DomicileWindow.GetCancelConstructionTooltip]"
using = tooltip_ne
button_icon = {
parentanchor = center
size = { 26 26 }
texture = "gfx/interface/icons/flat_icons/window_close.dds"
alwaystransparent = yes
}
}
}
}
}
}
type vbox_domicile_upgrade_tree = vbox {
datacontext = "[DomicileWindow.GetDomicileLineTree]"
allow_outside = yes
container = {
container = {
name = "domicile_tree_item_line_area" # Name used in code do not change
parentanchor = hcenter
position = { -5 -50 }
allow_outside = yes
datamodel = "[DomicileLineTree.GetItems]"
widget = {
name = "connection_lines"
visible = "[DomicileLineTree.SetupLinesContainer( PdxGuiWidget.Self )]"
position = { 22 30 } # HERE YOU MODIFY LINE START POSITION
allow_outside = yes
datamodel = "[DomicileLineTree.GetConnections]"
item = {
container = {
datacontext = "[DomicileLineConnection.GetChild.GetItem]"
# Upgrades that are unlocked
line = {
visible = "[DomicileTreeNode.IsUnlocked]"
using = Line_Domicile_Constructed
from = "[DomicileLineConnection.GetLineFrom]"
to = "[DomicileLineConnection.GetLineTo]"
}
# Upgrades that can be constructed
line = {
visible = "[And( Not(DomicileTreeNode.IsUnlocked), Not(DomicileTreeNode.IsUnAvailable) )]"
using = Line_Domicile_CanConstruct
from = "[DomicileLineConnection.GetLineFrom]"
to = "[DomicileLineConnection.GetLineTo]"
}
# Upgrades that are unavailable
line = {
visible = "[And( Not(DomicileTreeNode.IsUnlocked), DomicileTreeNode.IsUnAvailable )]"
using = Line_Domicile_Unavailable
from = "[DomicileLineConnection.GetLineFrom]"
to = "[DomicileLineConnection.GetLineTo]"
}
}
}
}
item = {
button_domicile_upgrade_tree_node = {}
}
}
}
}
type button_domicile_upgrade_tree_node = button {
datacontext = "[DomicileLineItem.GetItem]"
position = "[DomicileLineTree.GetItemPosition( DomicileTreeNode.Self )]"
size = { 60 60 }
### Upgrade Button ###
datacontext = "[DomicileTreeNode.GetBuilding]"
allow_outside = yes
onclick = "[DomicileWindow.ClearInternalBuildingSelected]"
onclick = "[DomicileTreeNode.OnClick]"
tooltip = "[DomicileTreeNode.GetNodeTooltip]"
using = tooltip_ne
container = {
parentanchor = center
widget = {
name = "top_pin"
visible = "[DomicileLineItem.SetupTopWidget( PdxGuiWidget.Self )]"
position = { 0 -38 }
}
widget = {
name = "bottom_pin"
visible = "[DomicileLineItem.SetupBottomWidget( PdxGuiWidget.Self )]"
position = { 0 -15 }
}
}
### Temporary Glow when selected External Building ###
icon = {
name = "temporary_glow_external"
visible = "[And( DomicileTreeNode.IsSelected, Not( DomicileBuilding.IsInternal ) )]"
parentanchor = center
size = { 90 90 }
color = { 0.9 0.8 0.6 1 }
texture = "gfx/interface/window_roco_grandeur/pin_highlight.dds"
alpha = 0.5
modify_texture = {
texture = "gfx/interface/component_masks/mask_clouds_solid.dds"
blend_mode = alphamultiply
}
state = {
name = a
next = b
trigger_on_create = yes
alpha = 0.3
duration = 1.5
using = Animation_Curve_Default
}
state = {
name = b
next = a
alpha = 0.5
duration = 1.5
using = Animation_Curve_Default
}
}
### Temporary Glow when selected Internal Building###
icon = {
name = "temporary_glow_internal"
visible = "[And( DomicileTreeNode.IsSelected, DomicileBuilding.IsInternal )]"
parentanchor = center
size = { 75 75 }
color = { 0.9 0.8 0.6 1 }
texture = "gfx/interface/component_masks/mask_fade_circle.dds"
alpha = 1
modify_texture = {
texture = "gfx/interface/component_masks/mask_glow.dds"
blend_mode = alphamultiply
}
state = {
name = a
next = b
trigger_on_create = yes
alpha = 0.7
duration = 1.5
using = Animation_Curve_Default
}
state = {
name = b
next = a
alpha = 1
duration = 1.5
using = Animation_Curve_Default
}
}
button = {
parentanchor = center
size = { 65 65 }
onclick = "[DomicileWindow.ClearInternalBuildingSelected]"
onclick = "[DomicileTreeNode.OnClick]"
tooltip = "[DomicileTreeNode.GetNodeTooltip]"
using = tooltip_ne
button = {
alwaystransparent = yes
parentanchor = top|hcenter
size = { 65 65 }
highlight_icon = {
#visible = "[Not( DomicileBuilding.IsInternal )]"
alwaystransparent = yes
parentanchor = center
size = { 65 65 }
texture = "gfx/interface/window_domiciles/domicile_icon_bg_level_01.dds"
}
### Icon color ###
button_domicile_building_can_upgrade = {
name = "building_icon_can_constructed"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[And( Not(DomicileTreeNode.IsUnlocked), Not(DomicileTreeNode.IsUnAvailable) )]"
}
button_domicile_building_cannot_upgrade = {
name = "building_icon_is_constructed"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[DomicileTreeNode.IsUnlocked]"
}
button_domicile_building_unavailable = {
name = "building_icon_unavailable"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
visible = "[And( Not(DomicileTreeNode.IsUnlocked), DomicileTreeNode.IsUnAvailable )]"
}
}
### Building Tier ###
widget = {
parentanchor = bottom|hcenter
size = { 45 16 }
background = {
texture = "gfx/interface/component_tiles/tile_title_bg_01.dds"
spriteType = Corneredtiled
spriteborder = { 40 8 }
texture_density = 2
modify_texture = {
name = "mask"
texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds"
spriteType = Corneredstretched
spriteborder = { 0 0 }
blend_mode = alphamultiply
}
}
text_single = {
name = "upgrade_tier"
parentanchor = center
text = "[DomicileTreeNode.GetTier]"
align = nobaseline
fontsize = 13
}
}
}
}
type vbox_domicile_building_overview_group_foldout = vbox {
datacontext = "[DomicileOverviewBuildingItem.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
spacing = 4
layoutpolicy_horizontal = expanding
oncreate = "[BindFoldOutContext]"
oncreate = "[PdxGuiFoldOut.Unfold]"
button_expandable_toggle_field = {
visible = "[Not( IsDataModelEmpty( DomicileOverviewBuildingItem.GetInternalOverviewBuildings ) )]"
min_height = 68
hbox_domicile_building_overview_item = {}
}
button_expandable_toggle_field = {
visible = "[IsDataModelEmpty( DomicileOverviewBuildingItem.GetInternalOverviewBuildings )]"
min_height = 68
hbox_domicile_building_overview_item = {}
blockoverride "foldout_button" {
visible = no
}
}
vbox = {
visible = "[And( PdxGuiFoldOut.IsUnfolded, Not( IsDataModelEmpty( DomicileOverviewBuildingItem.GetInternalOverviewBuildings ) ) )]"
layoutpolicy_horizontal = expanding
fixedgridbox = {
name = "internal_building_items"
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
addcolumn = 195
addrow = 68
datamodel = "[DomicileOverviewBuildingItem.GetInternalOverviewBuildings]"
item = {
vbox = {
layoutpolicy_horizontal = expanding
hbox_domicile_building_overview_item = {}
expand = {}
}
}
}
}
}
type hbox_domicile_building_overview_item = hbox {
datacontext = "[DomicileOverviewBuildingItem.GetBuilding]"
datacontext = "[DomicileBuilding.GetAsset( DomicileWindow.GetDomicile.Self )]"
margin_left = "[Select_float( DomicileBuilding.IsInternal, '(float)90.0', '(float)40.0' )]"
margin_right = 20
spacing = 5
layoutpolicy_horizontal = expanding
background = {
visible = "[DomicileBuilding.IsInternal]"
margin_left = -82
using = Background_Area
modify_texture = {
texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds"
blend_mode = alphamultiply
}
}
tooltipwidget = {
container = {
using = domicile_building_tooltip
}
}
widget = {
size = { 60 60 }
button_domicile_building_can_upgrade = {
datacontext = "[DomicileBuilding.GetAsset( Domicile.Self )]"
visible = "[DomicileOverviewBuildingItem.CanUpgrade]"
parentanchor = center
size = { 42 42 }
texture = "[DomicileBuildingAsset.GetIcon]"
}
button_domicile_building_cannot_upgrade = {
datacontext = "[DomicileBuilding.GetAsset( Domicile.Self )]"
visible = "[Not( DomicileOverviewBuildingItem.CanUpgrade )]"
parentanchor = center
size = { 42 42 }
texture = "[DomicileBuildingAsset.GetIcon]"
}
widget = {
visible = "[And( DomicileWindow.IsEditMode, DomicileOverviewBuildingItem.CanUpgrade )]"
parentanchor = top|right
size = { 30 30 }
tooltip = "DOMICILE_WINDOW_UPGRADE_AVAILABLE"
widget = {
size = { 100% 100% }
alpha = 0
state = {
name = a
next = b
trigger_on_create = yes
alpha = 1
duration = 1.5
using = Animation_Curve_Default
}
state = {
name = b
next = c
alpha = 0
duration = 1.5
using = Animation_Curve_Default
}
state = {
name = c
next = a
alpha = 0
delay = 2
using = Animation_Curve_Default
}
background = {
using = Background_Area_Dark
alpha = 0.5
modify_texture = {
texture = "gfx/interface/component_masks/mask_glow.dds"
blend_mode = alphamultiply
}
}
}
icon = {
parentanchor = center
position = { 0 0 }
size = { 16 16 }
texture = "gfx/interface/icons/flat_icons/arrow_vertical.dds"
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 2
}
alpha = 0
state = {
name = a
next = b
trigger_on_create = yes
alpha = 1
duration = 1
using = Animation_Curve_Default
}
state = {
name = b
next = c
alpha = 0
duration = 1
using = Animation_Curve_Default
}
state = {
name = c
next = a
alpha = 0
delay = 3
using = Animation_Curve_Default
}
}
icon = {
parentanchor = center
position = { 0 -5 }
size = { 16 16 }
texture = "gfx/interface/icons/flat_icons/arrow_vertical.dds"
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 2
}
alpha = 0
state = {
name = a
next = b
trigger_on_create = yes
alpha = 1
delay = 0.5
duration = 1
using = Animation_Curve_Default
}
state = {
name = b
next = c
alpha = 0
duration = 1
using = Animation_Curve_Default
}
state = {
name = c
next = a
alpha = 0
delay = 2.5
using = Animation_Curve_Default
}
}
icon = {
parentanchor = center
position = { 0 -10 }
size = { 16 16 }
texture = "gfx/interface/icons/flat_icons/arrow_vertical.dds"
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 2
}
alpha = 0
state = {
name = a
next = b
trigger_on_create = yes
alpha = 1
delay = 1
duration = 1
using = Animation_Curve_Default
}
state = {
name = b
next = c
alpha = 0
duration = 1
using = Animation_Curve_Default
}
state = {
name = c
next = a
alpha = 0
delay = 2
using = Animation_Curve_Default
}
}
}
}
text_single = {
max_width = 200
min_width = 200
layoutpolicy_vertical = expanding
text = "[DomicileBuilding.GetNameNoTooltip]"
align = nobaseline
}
expand = {}
text_single = {
raw_text = "Level"
align = nobaseline|hcenter
}
text_single = {
name = "upgrade_tier"
align = nobaseline
text = "[DomicileOverviewBuildingItem.GetTier]"
}
}
type hbox_domicile_building_cost_bar = hbox {
name = "building_costs"
margin = { 3 3 }
min_width = 120
spacing = 10
background = {
margin_left = 40
margin_right = 40
texture = "gfx/interface/component_tiles/tile_title_bg_01.dds"
spriteType = Corneredtiled
spriteborder = { 40 8 }
texture_density = 2
modify_texture = {
name = "mask"
texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds"
spriteType = Corneredstretched
spriteborder = { 0 0 }
blend_mode = alphamultiply
}
}
### AI Will Do ###
debug_square = {
name = "tributary"
visible = "[AIWatchWindowsEnabled]"
size = { 20 20 }
raw_tooltip = "#D AI will build: [PotentialBuildingItem.GetAIWillDo]#!"
}
block "upgrade_cost_text_visibility"
{
vbox = {
text_single = {
text = "UPGRADE_COST"
align = nobaseline
visible = "[Not( PotentialBuildingItem.GetBuilding.IsRootOfTrack )]"
}
text_single = {
text = "CONSTRUCT_COST"
align = nobaseline
visible = "[PotentialBuildingItem.GetBuilding.IsRootOfTrack]"
}
}
}
### Gold Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetGoldCost]"
visible = "[PotentialBuildingItem.HasGoldCost]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
background = {
visible = "[LessThan_CFixedPoint(GetPlayer.GetGold, ValueBreakdown.GetFixedPointValue)]"
using = Status_Bad
}
}
### Prestige Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetPrestigeCost]"
visible = "[PotentialBuildingItem.HasPrestigeCost]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
background = {
visible = "[LessThan_CFixedPoint(GetPlayer.GetPrestige, ValueBreakdown.GetFixedPointValue)]"
using = Status_Bad
}
}
### Piety Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetPietyCost]"
visible = "[PotentialBuildingItem.HasPietyCost]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
background = {
visible = "[LessThan_CFixedPoint(GetPlayer.GetPiety, ValueBreakdown.GetFixedPointValue)]"
using = Status_Bad
}
}
### Influence Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetInfluenceCost]"
visible = "[PotentialBuildingItem.HasInfluenceCost]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
background = {
visible = "[LessThan_CFixedPoint(GetPlayer.GetInfluence, ValueBreakdown.GetFixedPointValue)]"
using = Status_Bad
}
}
### Herd Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetHerdCost]"
visible = "[PotentialBuildingItem.HasHerdCost]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
background = {
visible = "[LessThan_CFixedPoint(GetPlayer.GetDomicile.GetHerd, ValueBreakdown.GetFixedPointValue)]"
using = Status_Bad
}
}
### Time Cost ###
text_single = {
datacontext = "[PotentialBuildingItem.GetConstructionTime]"
layoutpolicy_horizontal = expanding
text = "[ValueBreakdown.GetValue]"
align = nobaseline
tooltip_visible = "[ValueBreakdown.HasTooltip]"
tooltipwidget = {
widget_value_breakdown_tooltip = {}
}
}
}
type hbox_patron_item = hbox {
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
}
portrait_head_small = {}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
hbox = {
margin = { 5 8 }
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
margin_left = 10
}
text_single = {
layoutpolicy_horizontal = expanding
text = "[Character.GetShortUINameNoTooltip]"
align = nobaseline
}
expand = {}
}
hbox = {
layoutpolicy_horizontal = expanding
margin = { 5 0 }
text_single = {
layoutpolicy_horizontal = expanding
text = "CHARACTER_LOCATION_TOOLTIP"
align = nobaseline
max_width = 350
}
expand = {}
vbox = {
margin_top = 5
margin_right = 5
button_round = {
visible = "[Not( DomicileWindow.IsPatronTooFarAway( Character.Self ) )]"
enabled = "[Character.IsPlayerInteractionValid('contact_list_request_interaction')]"
onclick = "[Character.OpenPlayerInteraction( 'contact_list_request_interaction' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'contact_list_request_interaction' )]"
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 24 24 }
texture = "gfx/interface/icons/flat_icons/election_window.dds"
}
}
}
}
expand = {}
}
}
type hbox_disciple_item = hbox {
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
}
portrait_head_small = {}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
hbox = {
margin = { 5 8 }
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
margin_left = 10
}
text_single = {
layoutpolicy_horizontal = expanding
text = "[Character.GetShortUINameNoTooltip]"
align = nobaseline
}
expand = {}
}
hbox = {
layoutpolicy_horizontal = expanding
margin = { 5 0 }
text_single = {
layoutpolicy_horizontal = expanding
text = "CHARACTER_LOCATION_TOOLTIP"
align = nobaseline
max_width = 350
}
hbox = {
button_round = {
datacontext = "[DomicileWindow.GetDomicile]"
visible = "[Character.IsPlayerInteractionShown('celestial_request_elders_support_interaction') ]"
enabled = "[Character.IsPlayerInteractionValid('celestial_request_elders_support_interaction')]"
onclick = "[Character.OpenPlayerInteraction( 'celestial_request_elders_support_interaction' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'celestial_request_elders_support_interaction' )]"
button_icon = {
size = { 25 25 }
parentanchor = center
alwaystransparent = yes
texture = "[Domicile.GetType.GetIcon]"
}
}
button_round = {
visible = "[Character.IsPlayerInteractionShown('break_with_disciple') ]"
enabled = "[Character.IsPlayerInteractionValid('break_with_disciple')]"
onclick = "[Character.OpenPlayerInteraction( 'break_with_disciple' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'break_with_disciple' )]"
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 24 24 }
texture = "gfx/interface/icons/flat_icons/army_disband.dds"
}
}
}
expand = {}
}
expand = {}
}
}
type hbox_elder_item = hbox {
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
}
portrait_head_small = {}
vbox = {
layoutpolicy_horizontal = expanding
layoutpolicy_vertical = expanding
hbox = {
margin = { 5 8 }
layoutpolicy_horizontal = expanding
background = {
using = Background_Area
margin_left = 10
}
text_single = {
layoutpolicy_horizontal = expanding
text = "[Character.GetShortUINameNoTooltip]"
align = nobaseline
}
expand = {}
}
hbox = {
layoutpolicy_horizontal = expanding
margin = { 5 0 }
text_single = {
layoutpolicy_horizontal = expanding
text = "CHARACTER_LOCATION_TOOLTIP"
align = nobaseline
max_width = 350
}
hbox = {
button_round = {
datacontext = "[DomicileWindow.GetDomicile]"
visible = "[Character.IsPlayerInteractionShown('celestial_request_elders_support_interaction') ]"
enabled = "[Character.IsPlayerInteractionValid('celestial_request_elders_support_interaction')]"
onclick = "[Character.OpenPlayerInteraction( 'celestial_request_elders_support_interaction' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'celestial_request_elders_support_interaction' )]"
button_icon = {
size = { 25 25 }
parentanchor = center
alwaystransparent = yes
texture = "[Domicile.GetType.GetIcon]"
}
}
button_round = {
visible = "[Character.IsPlayerInteractionShown('break_with_elder') ]"
enabled = "[Character.IsPlayerInteractionValid('break_with_elder')]"
onclick = "[Character.OpenPlayerInteraction( 'break_with_elder' )]"
tooltip = "[Character.GetPlayerInteractionTooltip( 'break_with_elder' )]"
button_icon = {
alwaystransparent = yes
parentanchor = center
size = { 24 24 }
texture = "gfx/interface/icons/flat_icons/army_disband.dds"
}
}
}
expand = {}
}
expand = {}
}
}
### Golden color
type button_domicile_building_can_upgrade = button {
size = { 30 30 }
alwaystransparent = yes
parentanchor = center
block "icon_texture"
{
texture = "[DomicileBuildingAsset.GetIcon]"
}
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 1
}
}
### Blue color
type button_domicile_building_cannot_upgrade = button {
size = { 30 30 }
alwaystransparent = yes
parentanchor = center
block "icon_texture"
{
texture = "[DomicileBuildingAsset.GetIcon]"
}
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 7
}
}
### Gray color
type button_domicile_building_unavailable = button {
size = { 30 30 }
alwaystransparent = yes
parentanchor = center
block "icon_texture"
{
texture = "[DomicileBuildingAsset.GetIcon]"
}
modify_texture = {
texture = "gfx/interface/window_domiciles/colors_textured_domiciles.dds"
blend_mode = add
framesize = { 96 96 }
frame = 4
}
}
}