Created
November 30, 2020 21:05
-
-
Save mindryu/7af56a9effd7f350d779d7c80624f15f to your computer and use it in GitHub Desktop.
window_character.gui
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ###################################################### | |
| ################# CHARACTER WINDOW ################### | |
| ###################################################### | |
| window = { | |
| name = "character_window" | |
| datacontext = "[GetVariableSystem]" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| movable = no | |
| layer = middle | |
| using = Window_Size_Sidebar | |
| using = Window_Background_Sidebar | |
| state = { | |
| name = _show | |
| using = Animation_FadeIn_Quick | |
| using = Sound_WindowShow_Standard | |
| position_x = 0 | |
| on_start = "[GetVariableSystem.Set( 'hide_bottom_left_HUD', 'true' )]" | |
| } | |
| state = { | |
| name = _hide | |
| using = Animation_FadeOut_Quick | |
| using = Sound_WindowHide_Standard | |
| position_x = -60 | |
| on_start = "[GetVariableSystem.Clear( 'hide_bottom_left_HUD' )]" | |
| } | |
| vbox = { | |
| name = "main_content" | |
| using = Window_Margins_Sidebar | |
| ############### | |
| # Character box | |
| widget = { | |
| name = "main_characters" | |
| datacontext = "[GetIllustration( 'character_view_bg' )]" | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 305 } | |
| widget = { | |
| size = { 100% 100% } | |
| using = Animation_Character_Window_Refresh | |
| background = { | |
| texture = "[Illustration.GetTexture( Character.Self )]" | |
| fittype = centercrop | |
| margin_bottom = 5 | |
| margin_left = 1 | |
| modify_texture = { | |
| texture = "gfx/interface/component_masks/mask_rough_edges_down_right.dds" | |
| spriteType = Corneredtiled | |
| spriteborder = { 20 20 } | |
| blend_mode = alphamultiply | |
| texture_density = 2 | |
| } | |
| } | |
| } | |
| buttons_window_control = { | |
| parentanchor = top|right | |
| blockoverride "button_close" | |
| { | |
| onclick = "[CharacterWindow.Close]" | |
| } | |
| blockoverride "button_back" | |
| { | |
| visible = "[HasViewHistory]" | |
| onclick = "[OpenFromViewHistory]" | |
| tooltip = "[GetViewHistoryTooltip]" | |
| } | |
| blockoverride "button_me" | |
| { | |
| visible = "[Not(Character.IsLocalPlayer)]" | |
| onclick = "[DefaultOnCharacterClick(GetPlayer.GetID)]" | |
| } | |
| blockoverride "button_pin" {} | |
| } | |
| ### Primary Spouse | |
| container = { | |
| visible = "[CharacterWindow.ShouldShowSpouses]" | |
| parentanchor = bottom|hcenter | |
| position = { 15 0 } | |
| using = Animation_Character_Window_Refresh_Short | |
| button = { | |
| name = "marry_off_button" | |
| visible = "[And(And( Not( ObjectsEqual( GetPlayer, Character.Self ) ), CharacterWindow.ShouldShowFindSpouse ), Not(Character.IsConcubine))]" | |
| parentanchor = center | |
| position = { 0 35 } | |
| onclick = "[Character.OpenPlayerInteraction('marry_off_interaction')]" | |
| tooltip = "CHARACTER_WINDOW_FIND_SPOUSE" | |
| enabled = "[Character.IsPlayerInteractionValid('marry_off_interaction')]" | |
| gfxtype = framedbuttongfx | |
| effectname = "NoHighlight" | |
| texture = "gfx/portraits/unknown_portraits/unknown_spouse.dds" | |
| size = { 195 282 } | |
| framesize = { 554 780 } | |
| upframe = 1 | |
| overframe = 2 | |
| alpha = 0.8 | |
| button_icon = { | |
| parentanchor = center | |
| alwaystransparent = yes | |
| size = { 50 50 } | |
| position = { 0 45 } | |
| texture = "gfx/interface/icons/faith_doctrine_groups/doctrine_marriage_type.dds" | |
| } | |
| } | |
| button = { | |
| name = "marry_off_button_player" | |
| visible = "[And( ObjectsEqual( GetPlayer, Character.Self ), CharacterWindow.ShouldShowFindSpouse)]" | |
| parentanchor = center | |
| position = { 0 35 } | |
| onclick = "[Character.OpenPlayerInteraction('marry_off_interaction')]" | |
| tooltip = "CHARACTER_WINDOW_FIND_SPOUSE_SELF" | |
| gfxtype = framedbuttongfx | |
| effectname = "NoHighlight" | |
| texture = "gfx/portraits/unknown_portraits/unknown_spouse.dds" | |
| size = { 195 282 } | |
| framesize = { 554 780 } | |
| upframe = 1 | |
| overframe = 2 | |
| alpha = 0.8 | |
| button_icon = { | |
| parentanchor = center | |
| alwaystransparent = yes | |
| size = { 50 50 } | |
| position = { 0 45 } | |
| texture = "gfx/interface/icons/faith_doctrine_groups/doctrine_marriage_type.dds" | |
| } | |
| } | |
| portrait_character_view_spouse = { | |
| datacontext = "[CharacterWindow.GetSpouse]" | |
| visible = "[CharacterWindow.GetSpouse.IsValid]" | |
| state = { | |
| name = cw_spouse_cycle | |
| using = Animation_Refresh_FadeOut | |
| } | |
| state = { | |
| using = Animation_Refresh_FadeIn | |
| } | |
| } | |
| widget = { | |
| parentanchor = bottom|hcenter | |
| size = { 145 40 } | |
| flowcontainer = { | |
| parentanchor = bottom|hcenter | |
| widgetanchor = bottom|left | |
| position = { -20 -3 } | |
| ignoreinvisible = yes | |
| text_label_center = { | |
| visible = "[Not(CharacterWindow.GetCharacter.IsBetrothed)]" | |
| text = "[CharacterWindow.GetSpouseText]" | |
| align = nobaseline | |
| } | |
| text_label_center = { | |
| visible = "[CharacterWindow.GetCharacter.IsBetrothed]" | |
| text = "BETROTHED" | |
| align = nobaseline | |
| } | |
| flowcontainer = { | |
| visible = "[CharacterWindow.ShouldShowSpouseButtons]" | |
| margin_top = 2 | |
| spacing = -5 | |
| using = Animation_ShowHide_Standard | |
| button_expand = { | |
| enabled = "[CharacterWindow.IsShowPrevious]" | |
| onclick = "[CharacterWindow.PreviousSpouse]" | |
| onclick = "[PdxGuiTriggerAllAnimations('cw_spouse_cycle')]" | |
| tooltip = "[CharacterWindow.GetPreviousSpouseTooltip]" | |
| mirror = horizontal | |
| } | |
| button_expand = { | |
| enabled = "[CharacterWindow.IsShowNext]" | |
| onclick = "[CharacterWindow.NextSpouse]" | |
| onclick = "[PdxGuiTriggerAllAnimations('cw_spouse_cycle')]" | |
| tooltip = "[CharacterWindow.GetNextSpouseTooltip]" | |
| } | |
| } | |
| } | |
| icon = { | |
| name = "marriage_type_icon" | |
| visible = "[CharacterWindow.ShowMarriageIcon]" | |
| position = { 20 7 } | |
| size = { 30 30 } | |
| framesize = { 60 60 } | |
| texture = "gfx/interface/icons/marriage_types.dds" | |
| frame = "[CharacterWindow.GetMarriageIcon]" | |
| tooltip = "[CharacterWindow.GetMarriageIconTooltip]" | |
| } | |
| } | |
| } | |
| ### Main Character | |
| portrait_character_view_main = { | |
| name = "tutorial_highlight_main_character_button" | |
| parentanchor = bottom|left | |
| position = { 0 0 } | |
| using = Animation_Character_Window_Refresh_Short | |
| # icon_button_small_round = { | |
| # name = "interact_button" | |
| # visible = "[Character.IsAlive]" | |
| # parentanchor = bottom|right | |
| # position = { -30 0 } | |
| # size = { 35 35 } | |
| # onclick = "[DefaultOnCharacterRightClick(Character.GetID)]" | |
| # tooltip = "CV_TT_INTERACT" | |
| # using = tooltip_ne | |
| # icon = { | |
| # name = "icon" | |
| # texture = "gfx/interface/prototype/interact_temp.png" | |
| # size = {18 18} | |
| # parentanchor = center | |
| # } | |
| # } | |
| } | |
| ### Jailor / Imprisoner / Imprisoned by | |
| container = { | |
| name = "imprisoned_by" | |
| datacontext = "[CharacterWindow.GetCharacter.GetImprisonedBy]" | |
| visible = "[Character.IsValid]" | |
| parentanchor = bottom|right | |
| widgetanchor = top|left | |
| position = { -195 -250 } | |
| using = Animation_Character_Window_Refresh | |
| portrait_head_small = { | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| } | |
| text_label_center = { | |
| parentanchor = top|hcenter | |
| position = { 0 85 } | |
| text = "IMPRISONED_BY" | |
| } | |
| } | |
| ### Liege | |
| container = { | |
| name = "liege" | |
| datacontext = "[CharacterWindow.GetCharacter.GetLiegeEvenWhenDead]" | |
| visible = "[CharacterWindow.HasLiegeEvenWhenDead]" | |
| parentanchor = bottom|right | |
| widgetanchor = top|left | |
| position = { -105 -250 } | |
| allow_outside = yes | |
| using = Animation_Character_Window_Refresh | |
| portrait_head_small = { | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| blockoverride "coa" { | |
| coa_realm_tiny = { | |
| visible = "[And(CharacterWindow.GetCharacter.IsAlive, CharacterWindow.HasLiegeTitleEvenWhenDead)]" | |
| parentanchor = bottom|left | |
| position = { 3 -2 } | |
| scale = 0.85 | |
| } | |
| coa_title_tiny = { | |
| visible = "[And(Not(CharacterWindow.GetCharacter.IsAlive), CharacterWindow.HasLiegeTitleEvenWhenDead)]" | |
| datacontext = "[CharacterWindow.GetCharacter.GetLiegeTitleEvenWhenDead]" | |
| parentanchor = bottom|left | |
| position = { 3 -2 } | |
| scale = 0.85 | |
| } | |
| } | |
| } | |
| text_label_center = { | |
| parentanchor = top|hcenter | |
| position = { 0 85 } | |
| text = "[liege|E]" | |
| allow_outside = yes | |
| icon = { | |
| name = "non_dejure_liege" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| visible = "[Not( Character.GetVassalContract.IsRightfulLiege )]" | |
| position = { 3 0 } | |
| parentanchor = right | |
| widgetanchor = left | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/levy_tax_reduction.dds" | |
| using = tooltip_ws | |
| tooltip = "MRW_TT_NOT_RIGHTFUL_LIEGE" | |
| } | |
| } | |
| portrait_opinion = { | |
| name = "liege_opinion" | |
| parentanchor = top|hcenter | |
| position = { 0 110 } | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| visible = "[And( Character.GetLiege.IsValid, And( Character.IsAlive, Not(Character.IsLocalPlayer ) ) )]" | |
| blockoverride "dread_logic" { | |
| visible = "[Character.ShouldShowDreadEffectIconFor( Character.GetLiege )]" | |
| frame = "[Character.GetDreadEffectIconFrameFor( Character.GetLiege )]" | |
| tooltip = "[Character.GetDreadEffectTooltipFor( Character.GetLiege )]" | |
| } | |
| blockoverride "opinion_text" | |
| { | |
| text = "[Character.GetOpinionOf( Character.GetLiege )|=]" | |
| fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCharacter.GetLiege )]" | |
| } | |
| blockoverride "ott_heading_text" | |
| { | |
| text = "[Character.GetOpinionHeadingText( CharacterWindow.GetCharacter.GetLiege )]" | |
| } | |
| blockoverride "ott_opinion_value_text" | |
| { | |
| text = "[Character.GetOpinionOf( Character.GetLiege )|=]" | |
| fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCharacter.GetLiege )]" | |
| } | |
| blockoverride "ott_opinion_breakdown_text" | |
| { | |
| text = "[Character.GetOpinionBreakdownText( CharacterWindow.GetCharacter.GetLiege )]" | |
| } | |
| } | |
| } | |
| ### Host | |
| container = { | |
| name = "host" | |
| datacontext = "[CharacterWindow.GetCourtOwner]" | |
| visible = "[And( Not( CharacterWindow.HasLiegeEvenWhenDead ), And( CharacterWindow.GetCourtOwner.IsValid, Not( CharacterWindow.GetCharacter.IsRuler ) ) )]" | |
| parentanchor = bottom|right | |
| widgetanchor = top|left | |
| position = { -105 -250 } | |
| using = Animation_Character_Window_Refresh | |
| portrait_head_small = { | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| } | |
| text_label_center = { | |
| parentanchor = top|hcenter | |
| position = { 0 85 } | |
| text = "[host|E]" | |
| } | |
| portrait_opinion = { | |
| name = "liege_opinion" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| visible = "[And(Character.IsAlive, Not(Character.IsLocalPlayer))]" | |
| parentanchor = top|hcenter | |
| position = { -10 110 } | |
| blockoverride "dread_logic" { | |
| visible = "[Character.ShouldShowDreadEffectIconFor( CharacterWindow.GetCourtOwner )]" | |
| frame = "[Character.GetDreadEffectIconFrameFor( CharacterWindow.GetCourtOwner )]" | |
| tooltip = "[Character.GetDreadEffectTooltipFor( CharacterWindow.GetCourtOwner )]" | |
| } | |
| blockoverride "opinion_text" | |
| { | |
| text = "[Character.GetOpinionOf( CharacterWindow.GetCourtOwner )|=]" | |
| fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCourtOwner )]" | |
| } | |
| blockoverride "ott_heading_text" | |
| { | |
| text = "[Character.GetOpinionHeadingText( CharacterWindow.GetCourtOwner )]" | |
| } | |
| blockoverride "ott_opinion_value_text" | |
| { | |
| text = "[Character.GetOpinionOf( CharacterWindow.GetCourtOwner )|=]" | |
| fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCourtOwner )]" | |
| } | |
| blockoverride "ott_opinion_breakdown_text" | |
| { | |
| text = "[Character.GetOpinionBreakdownText( CharacterWindow.GetCourtOwner )]" | |
| } | |
| } | |
| } | |
| container = { # Player Heir for the local player | |
| name = "heir_player" | |
| datacontext = "[CharacterWindow.GetCharacter.GetPlayerHeir]" | |
| visible = "[And( Character.IsValid, CharacterWindow.GetCharacter.IsLocalPlayer )]" | |
| parentanchor = bottom|right | |
| position = { -20 -6 } | |
| using = Animation_Character_Window_Refresh | |
| portrait_head_small = { | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| } | |
| text_label_center = { | |
| parentanchor = top|hcenter | |
| position = { 0 85 } | |
| text = "[player_heir|E]" | |
| multiline = yes | |
| autoresize = yes | |
| max_width = 100 | |
| } | |
| } | |
| container = { # Primary Heir for everyone else | |
| name = "heir_primary" | |
| datacontext = "[CharacterWindow.GetCharacter.GetPrimaryTitle.GetHeir]" | |
| visible = "[And( And( Character.IsValid, Not(CharacterWindow.GetCharacter.IsLocalPlayer) ), CharacterWindow.GetCharacter.IsAlive )]" | |
| parentanchor = bottom|right | |
| position = { -20 -6 } | |
| using = Animation_Character_Window_Refresh | |
| portrait_head_small = { | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| } | |
| text_label_center = { | |
| parentanchor = top|hcenter | |
| position = { 0 85 } | |
| text = "[primary_heir|E]" | |
| } | |
| } | |
| ### DEBUG STUFF, please make sure those are visible and usable, especially the watch button, type "watch" into the console to show it | |
| flowcontainer = { | |
| name = "debug_buttons" | |
| parentanchor = top|left | |
| position = { 200 20 } | |
| ignoreinvisible = yes | |
| # Debug personality | |
| text_single = { | |
| visible = "[InDebugMode]" | |
| tooltip = "CHARACTER_AI_VALUES_DEBUG_TOOLTIP" | |
| text = "#D AIValue#!" | |
| align = nobaseline | |
| } | |
| button = { | |
| using = editor_button | |
| name = "ai_watch_button" | |
| size = { 60 40 } | |
| text = "AI Watch" | |
| align = center|nobaseline | |
| onclick = "[CharacterWindow.OnAIWatch]" | |
| visible = "[AIWatchWindowsEnabled]" | |
| fontcolor = { 1.0 1.0 1.0 1.0 } | |
| } | |
| watch_window_button = { | |
| size = { 60 40 } | |
| onclick = "[AddWatchWindow( CharacterWindow.GetCharacter.MakeScope )]" | |
| } | |
| button = { | |
| using = editor_button | |
| name = "copy_portrait_button" | |
| parentanchor = right | |
| size = { 60 40 } | |
| text = "portrait" | |
| align = center|nobaseline | |
| onclick = "[CharacterWindow.OnCopyPortrait]" | |
| visible = "[IsGameViewOpen('portrait_editor')]" | |
| fontcolor = { 1.0 1.0 1.0 1.0 } | |
| } | |
| } | |
| flowcontainer = { | |
| parentanchor = bottom|left | |
| position = { 5 -5 } | |
| spacing = 5 | |
| ignoreinvisible = yes | |
| direction = vertical | |
| button_normal = { | |
| name = "open_kill_list" | |
| visible = "[Character.HasKillsKnownTo( GetPlayer )]" | |
| size = { 35 35 } | |
| datacontext = "[Character]" | |
| tooltip = "OPEN_KILL_LIST_TOOLTIP" | |
| using = tooltip_es | |
| icon = { | |
| texture = "gfx/interface/buttons/button_lifestyles_base.dds" | |
| size = { 100% 100% } | |
| } | |
| button_kill_list = { | |
| onclick = "[ToggleGameViewData( 'kill_list', Character.GetID )]" | |
| size = { 25 25 } | |
| parentanchor = center | |
| modify_texture = { | |
| texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" | |
| blend_mode = alphamultiply | |
| } | |
| } | |
| } | |
| container = { | |
| visible = "[Character.IsPlayer]" | |
| tooltip = "PLAYER_STRESS_TOOLTIP" | |
| using = tooltip_es | |
| widget = { | |
| visible = "[Not(GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)3'))]" | |
| size = { 100% 100%} | |
| using = Animation_ShowHide_Standard | |
| background = { | |
| texture = "gfx/interface/component_masks/mask_fade_circle.dds" | |
| color = { 0.15 0.15 0.15 1 } | |
| margin = { 12 12 } | |
| } | |
| } | |
| widget = { | |
| visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)3')]" | |
| parentanchor = center | |
| size = { 180% 180% } | |
| using = Animation_ShowHide_Standard | |
| icon = { | |
| size = { 100% 100% } | |
| texture = "gfx/interface/component_masks/mask_fade_circle.dds" | |
| using = Color_Red | |
| alpha = 0 | |
| state = { | |
| name = a | |
| next = b | |
| trigger_on_create = yes | |
| alpha = 0.5 | |
| duration = 0.4 | |
| using = Animation_Curve_Default | |
| } | |
| state = { | |
| name = b | |
| next = a | |
| alpha = 0 | |
| duration = 1 | |
| using = Animation_Curve_Default | |
| } | |
| } | |
| } | |
| icon = { | |
| parentanchor = vcenter | |
| size = { 35 35 } | |
| texture = "gfx/interface/icons/stress/icon_stress_level.dds" | |
| framesize = { 70 70 } | |
| frame = "[IntToFrameIndex( GetPlayer.GetStressLevel )]" | |
| modify_texture = { | |
| visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]" | |
| name = "glow" | |
| texture = "gfx/interface/colors/gold.dds" | |
| blend_mode = colordodge | |
| alpha = 0 | |
| } | |
| state = { | |
| name = a | |
| next = b | |
| duration = 0.4 | |
| trigger_on_create = yes | |
| using = Animation_Curve_Default | |
| modify_texture = { | |
| name = "glow" | |
| alpha = 0.3 | |
| } | |
| } | |
| state = { | |
| name = b | |
| next = a | |
| duration = 1 | |
| using = Animation_Curve_Default | |
| modify_texture = { | |
| name = "glow" | |
| alpha = 0 | |
| } | |
| } | |
| } | |
| } | |
| button_normal = { | |
| name = "open_focus_button" | |
| size = { 35 35 } | |
| tooltip = "PLAYER_LIFESTYLE_TOOLTIP" | |
| using = tooltip_ne | |
| icon = { | |
| texture = "gfx/interface/buttons/button_lifestyles_base.dds" | |
| size = { 100% 100% } | |
| } | |
| highlight_icon_lifestyle_focus = { | |
| size = { 100% 100% } | |
| texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]" | |
| onclick = "[CharacterWindow.OnClickFocusButton]" | |
| enabled = "[CharacterWindow.CanClickFocusButton]" | |
| tooltip = "[CharacterWindow.GetFocusButtonTooltip]" | |
| modify_texture = { | |
| texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" | |
| blend_mode = alphamultiply | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ############################ | |
| ### Character internal info | |
| hbox = { | |
| name = "character_info" | |
| layoutpolicy_horizontal = expanding | |
| margin = { 0 5 } | |
| margin_left = 5 | |
| background = { | |
| using = Background_Area_Dark | |
| margin_left = 5 | |
| } | |
| vbox = { | |
| layoutpolicy_horizontal = expanding | |
| vbox = { | |
| name = "name_and_traits" | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Character_Window_Refresh | |
| vbox = { | |
| name = "name_etc" | |
| layoutpolicy_horizontal = expanding | |
| ## Name | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| margin = { 3 0 } | |
| margin_top = 1 | |
| text_single = { | |
| name = "character_name" | |
| margin_left = 2 | |
| text = "[Character.GetUINameNotMeNoTooltip], " | |
| default_format = "#medium" | |
| fontsize = 20 | |
| max_width = 388 | |
| align = nobaseline | |
| fontsize_min = 14 | |
| tooltip = "[Character.GetUINameNotMeNoTooltip]" | |
| } | |
| text_single = { | |
| name = "character_age" | |
| text = " [Character.GetAge]" | |
| default_format = "#low" | |
| tooltip = "[Character.GetDeathOrBirthDateInfo]" | |
| fontsize = 20 | |
| align = nobaseline | |
| } | |
| hbox = { | |
| margin_left = 4 | |
| spacing = -3 | |
| icon = { | |
| visible = "[Not(Character.IsDeadAndValid)]" | |
| size = { 23 23 } | |
| framesize = { 60 60 } | |
| frame = "[Character.GetHealthIconFrame]" | |
| texture = "gfx/interface/icons/character_status/icon_health.dds" | |
| tooltip = "[Character.GetHealthInfo]" | |
| } | |
| icon = { | |
| visible = "[Not(Character.IsFemale)]" | |
| size = { 25 25 } | |
| framesize = { 40 40 } | |
| frame = "[Character.GetSexualityFrame]" | |
| texture = "gfx/interface/icons/character_status/sexuality_icons_male.dds" | |
| tooltip = "SEXUALITY_TT" | |
| } | |
| icon = { | |
| visible = "[Character.IsFemale]" | |
| size = { 25 25 } | |
| framesize = { 40 40 } | |
| frame = "[Character.GetSexualityFrame]" | |
| texture = "gfx/interface/icons/character_status/sexuality_icons_female.dds" | |
| tooltip = "SEXUALITY_TT" | |
| } | |
| } | |
| expand = {} | |
| } | |
| hbox = { | |
| name = "AI_personality" | |
| layoutpolicy_horizontal = expanding | |
| margin = { 3 0 } | |
| spacing = 2 | |
| text_single = { | |
| name = "character_relation_to_you" | |
| max_width = 432 | |
| text = "[Character.GetCharacterRelationCombine( GetPlayer )]" | |
| fontsize_min = 13 | |
| align = nobaseline | |
| } | |
| spacer = { | |
| size = { 3 3 } | |
| } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| button = { | |
| datacontext = "[Character.GetCulture]" | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 25 } | |
| onclick = "[DefaultOnCultureClick(Culture.GetID)]" | |
| text = "[Culture.GetNameNoTooltip]" | |
| default_format = "#clickable" | |
| align = left|nobaseline | |
| margin_left = 5 | |
| tooltipwidget = { | |
| culture_tooltip_click = {} | |
| } | |
| } | |
| expand = {} | |
| } } | |
| ## Traits | |
| hbox = { | |
| name = "tutorial_highlight_traits" | |
| layoutpolicy_horizontal = expanding | |
| margin_bottom = 2 | |
| widget = { | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 65 } | |
| hbox = { | |
| name = "3_personality_traits" | |
| visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]" | |
| fixedgridbox = { | |
| name = "personality_traits" | |
| datamodel = "[CharacterWindow.GetPersonalityTraits]" | |
| flipdirection = yes | |
| addcolumn = 64 | |
| addrow = 65 | |
| maxhorizontalslots = 3 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 65 65 } | |
| } | |
| } | |
| } | |
| } | |
| hbox = { | |
| visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]" | |
| layoutpolicy_vertical = expanding | |
| margin = { 5 10 } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_big" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)4')]" | |
| flipdirection = yes | |
| addcolumn = 64 | |
| addrow = 65 | |
| maxhorizontalslots = 4 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 65 65 } | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_medium" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5'))]" | |
| flipdirection = yes | |
| addcolumn = 51 | |
| addrow = 52 | |
| maxhorizontalslots = 5 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 52 52 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 4 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_small" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'))]" | |
| flipdirection = yes | |
| addcolumn = 42 | |
| addrow = 43 | |
| maxhorizontalslots = 6 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 43 43 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 3 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_small_small" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'))]" | |
| flipdirection = yes | |
| addcolumn = 36 | |
| addrow = 37 | |
| maxhorizontalslots = 7 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 37 37 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 3 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_tiny" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22'))]" | |
| flipdirection = yes | |
| addcolumn = 24 | |
| addrow = 25 | |
| maxhorizontalslots = 11 | |
| datamodel_wrap = 11 | |
| maxverticalslots = 2 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 25 25 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 2 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_supertiny" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22')]" | |
| flipdirection = yes | |
| addcolumn = 15 | |
| addrow = 16 | |
| maxhorizontalslots = 16 | |
| datamodel_wrap = 16 | |
| maxverticalslots = 4 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 16 16 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 2 | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| hbox = { | |
| name = "4_personality_traits" | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]" | |
| fixedgridbox = { | |
| name = "personality_traits" | |
| datamodel = "[CharacterWindow.GetPersonalityTraits]" | |
| flipdirection = yes | |
| addcolumn = 54 | |
| addrow = 55 | |
| maxhorizontalslots = 4 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 55 55 } | |
| } | |
| } | |
| } | |
| } | |
| hbox = { | |
| visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]" | |
| layoutpolicy_vertical = expanding | |
| margin = { 5 10 } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_big" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)4')]" | |
| flipdirection = yes | |
| addcolumn = 54 | |
| addrow = 55 | |
| maxhorizontalslots = 5 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 55 55 } | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_medium" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'))]" | |
| flipdirection = yes | |
| addcolumn = 39 | |
| addrow = 40 | |
| maxhorizontalslots = 7 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 40 40 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 4 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_small" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'))]" | |
| flipdirection = yes | |
| addcolumn = 28 | |
| addrow = 29 | |
| maxhorizontalslots = 10 | |
| maxverticalslots = 1 | |
| item = { | |
| icon_trait = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 29 29 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 3 | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_tiny" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8')]" | |
| flipdirection = yes | |
| addcolumn = 24 | |
| addrow = 25 | |
| maxhorizontalslots = 10 | |
| datamodel_wrap = 10 | |
| maxverticalslots = 2 | |
| icon_trait = { | |
| item = { | |
| blockoverride "icon_size" | |
| { | |
| size = { 25 25 } | |
| } | |
| blockoverride "glow_radius" | |
| { | |
| glow_radius = 2 | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| divider_light = { | |
| layoutpolicy_horizontal = expanding | |
| } | |
| ## Skills, Culture, Religion | |
| hbox = { | |
| name = "skills_culture_religion" | |
| layoutpolicy_horizontal = expanding | |
| background = { | |
| using = Background_Area | |
| } | |
| hbox = { | |
| name = "tutorial_highlight_skills" | |
| hbox = { | |
| name = "skills_grid" | |
| datamodel = "[CharacterWindow.GetSkills]" | |
| margin = { 2 0 } | |
| using = Animation_Character_Window_Refresh | |
| item = { | |
| vbox = { | |
| tooltip = "SKILL_ITEM_TOOLTIP" | |
| using = tooltip_ne | |
| spacing = -3 | |
| icon = { | |
| name = "skill_icon" | |
| size = { 32 32 } | |
| framesize = { 60 60 } | |
| frame = "[SkillItem.GetFrame]" | |
| texture = "gfx/interface/icons/icon_skills.dds" | |
| } | |
| text_single = { | |
| name = "skill_value" | |
| text = "[SkillItem.GetValue]" | |
| default_format = "#high" | |
| align = nobaseline | |
| background = { | |
| name = "skill_icon_bg" | |
| texture = "gfx/interface/window_character/character_view_skills_bg.dds" | |
| frame = "[SkillItem.GetFrame]" | |
| framesize = { 70 26 } | |
| margin = { 10 0 } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| vbox = { | |
| tooltip = "[CharacterWindow.GetCharacter.GetProwessBreakdown]" | |
| spacing = -3 | |
| using = Animation_Character_Window_Refresh | |
| icon = { | |
| name = "prowess_icon" | |
| size = { 32 32 } | |
| texture = "gfx/interface/icons/icon_prowess.dds" | |
| } | |
| text_single = { | |
| name = "prowess_value" | |
| text = "[CharacterWindow.GetCharacter.GetProwess|0]" | |
| default_format = "#high" | |
| align = nobaseline | |
| background = { | |
| name = "skill_icon_bg" | |
| texture = "gfx/interface/window_character/character_view_prowess_bg.dds" | |
| frame = "[SkillItem.GetFrame]" | |
| framesize = { 70 26 } | |
| margin = { 10 0 } | |
| } | |
| } | |
| } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| spacer = { | |
| size = { 5 5 } | |
| } | |
| } | |
| vbox = { | |
| name = "faith_and_culture" | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| button_religion_icon = { | |
| name = "faith_button" | |
| datacontext = "[Character.GetFaith]" | |
| size = { 45 45 } | |
| } | |
| } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| vbox = { | |
| layoutpolicy_vertical = expanding | |
| margin = { 2 2 } | |
| using = Animation_Character_Window_Refresh | |
| fixedgridbox = { | |
| name = "modifiers_grid_big" | |
| datamodel = "[CharacterWindow.GetTimedModifiers]" | |
| visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTimedModifiers), '(int32)5')]" | |
| flipdirection = yes | |
| addcolumn = 43 | |
| addrow = 43 | |
| maxhorizontalslots = 5 | |
| maxverticalslots = 1 | |
| datamodel_wrap = 5 | |
| item = { | |
| icon = { | |
| size = { 43 43 } | |
| alwaystransparent = no | |
| texture = "[ModifierItem.GetIcon]" | |
| tooltip = "[ModifierItem.GetTooltip]" | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "modifiers_grid_small" | |
| datamodel = "[CharacterWindow.GetTimedModifiers]" | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTimedModifiers), '(int32)5')]" | |
| flipdirection = yes | |
| addcolumn = 22 | |
| addrow = 22 | |
| maxhorizontalslots = 10 | |
| maxverticalslots = 2 | |
| datamodel_wrap = 10 | |
| item = { | |
| icon = { | |
| size = { 22 22 } | |
| alwaystransparent = no | |
| texture = "[ModifierItem.GetIcon]" | |
| tooltip = "[ModifierItem.GetTooltip]" | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| expand = {} | |
| } | |
| } | |
| divider_light = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| ## House | |
| widget = { | |
| name = "house" | |
| datacontext = "[Character.GetHouse]" | |
| layoutpolicy_vertical = expanding | |
| size = { 125 0 } | |
| using = Animation_Character_Window_Refresh | |
| vbox = { | |
| expand = { | |
| maximumsize = { 0 5 } | |
| } | |
| coa_house_big = { | |
| flowcontainer = { | |
| name = "characters_status_in_house" | |
| parentanchor = bottom|right | |
| position = { -10 0 } | |
| ignoreinvisible = yes | |
| icon = { | |
| name = "bastard" | |
| visible = "[Not(Character.IsLegitimateMemberOfHouse)]" | |
| framesize = { 40 40 } | |
| frame = 4 | |
| size = { 20 20 } | |
| texture = "gfx/interface/icons/portraits/relation.dds" | |
| tooltip = "CV_TT_BASTARD" | |
| } | |
| icon = { | |
| name = "head_icon" | |
| visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)no'), '(int32)9')]" | |
| size = { 20 20 } | |
| texture = "gfx/interface/icons/portraits/relation.dds" | |
| framesize = { 40 40 } | |
| frame = "[Character.GetDynastyHeadRelationFrame('(bool)no')]" | |
| tooltip = "[Character.GetDynastyHeadTooltip]" | |
| } | |
| } | |
| } | |
| text_multi = { | |
| autoresize = yes | |
| maximumsize = { 118 50 } | |
| text = "[DynastyHouse.GetBaseNameNoTooltip]" | |
| default_format = "#high" | |
| align = top|hcenter | |
| } | |
| text_multi = { | |
| autoresize = yes | |
| maximumsize = { 118 50 } | |
| visible = "[Not(DynastyHouse.IsValid)]" | |
| text = "[lowborn|E]" | |
| default_format = "#high" | |
| align = top|hcenter | |
| } | |
| expand = {} | |
| } | |
| } | |
| } | |
| ######################### | |
| ### Realm, external info | |
| widget = { | |
| datacontext = "[GetIllustration( 'character_location_exterior' )]" | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 232 } | |
| background = { | |
| using = Background_Bottom_Fade | |
| margin_bottom = 3 | |
| alpha = 0.75 | |
| } | |
| widget = { | |
| size = { 100% 100% } | |
| using = Animation_Character_Window_Refresh | |
| background = { | |
| texture = "[Illustration.GetTexture( Character.Self )]" | |
| alpha = 0.35 | |
| fittype = centercrop | |
| modify_texture = { | |
| texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" | |
| blend_mode = alphamultiply | |
| } | |
| using = Mask_Rough_Edges | |
| } | |
| } | |
| hbox = { | |
| name = "realm_info" | |
| layoutpolicy_horizontal = expanding | |
| vbox = { | |
| #name = "realm_shield" | |
| visible = "[Character.HasLandedTitles]" | |
| layoutpolicy_vertical = expanding | |
| spacing = 7 | |
| margin_bottom = 5 | |
| using = Animation_Character_Window_Refresh | |
| coa_realm_medium_crown = { | |
| datacontext = "[Character]" | |
| blockoverride "coa_button" | |
| { | |
| name = "realm_shield" | |
| tooltip = "[Character.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]" | |
| onclick = "[DefaultOnCoatOfArmsClick(Character.GetPrimaryTitle.GetID)]" | |
| } | |
| } | |
| vbox = { | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And( Character.HasLandedTitles, Character.IsAlive ) )]" | |
| tooltip = "[Character.GetDomainLimitTooltip]" | |
| spacing = -2 | |
| background = { | |
| visible = "[GreaterThan_int32( Character.GetDomainSize, Character.GetDomainLimit )]" | |
| using = Status_Bad | |
| } | |
| icon = { | |
| name = "domain_icon" | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/icon_domain.dds" | |
| } | |
| text_single = { | |
| name = "domain_limit" | |
| text = "[Character.GetDomainSize]/[Character.GetDomainLimit]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| expand = {} | |
| flowcontainer = { | |
| margin = { 3 2 } | |
| ignoreinvisible = yes | |
| background = { | |
| using = Background_Area_Dark | |
| } | |
| flowcontainer = { | |
| visible = "[Character.IsTheocraticLessee]" | |
| tooltip = "CV_THEOCRACY_LESSEE_TOOLTIP" | |
| spacing = -2 | |
| direction = vertical | |
| icon = { | |
| name = "theocracy_lessee_info" | |
| texture = "gfx/interface/icons/icon_holding_church.dds" | |
| size = { 30 30 } | |
| } | |
| text_single = { | |
| name = "domain_limit" | |
| parentanchor = hcenter | |
| text = "[Character.GetNumTitlesFromTheocraticLease]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| icon = { | |
| name = "religious_head_info" | |
| visible = "[Character.IsReligiousHead]" | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/icon_head_of_faith_income.dds" | |
| tooltip = "CV_THEOCRACY_RELIGIOUS_HEAD_TOOLTIP" | |
| } | |
| } | |
| } | |
| vbox = { | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| margin_left = 5 | |
| ## Realm name and stats | |
| hbox = { | |
| name = "name_and_stats" | |
| layoutpolicy_horizontal = expanding | |
| margin_right = 10 | |
| using = Animation_Character_Window_Refresh | |
| vbox = { | |
| visible = "[Not(Character.HasLandedTitles)]" | |
| layoutpolicy_horizontal = expanding | |
| margin = { 10 0 } | |
| text_single = { | |
| name = "character_title" | |
| layoutpolicy_horizontal = expanding | |
| text = "CV_UNLANDED" | |
| using = Font_Size_Medium | |
| align = nobaseline | |
| } | |
| text_single = { | |
| name = "government_type" | |
| layoutpolicy_horizontal = expanding | |
| text = "[Character.GetLocationDesc]" | |
| default_format = "#low" | |
| format_override = { high medium } | |
| format_override = { V medium } | |
| align = nobaseline | |
| autoresize = no | |
| } | |
| } | |
| vbox = { | |
| visible = "[Character.HasLandedTitles]" | |
| datacontext = "[Character.GetPrimaryTitle]" | |
| text_single = { | |
| name = "character_title" | |
| layoutpolicy_horizontal = expanding | |
| text = "[Title.GetNameNoTooltip|U]" | |
| max_width = 280 | |
| #default_format = "#low" | |
| using = Font_Size_Medium | |
| align = nobaseline | |
| fontsize_min = 14 | |
| } | |
| text_single = { | |
| name = "faction" | |
| visible = "[Title.HasFaction]" | |
| layoutpolicy_horizontal = expanding | |
| text = "CV_CIVIL_WAR_FACTION" | |
| default_format = "#low" | |
| align = nobaseline | |
| } | |
| text_single = { | |
| name = "government_type" | |
| visible = "[Not( Title.HasFaction )]" | |
| layoutpolicy_horizontal = expanding | |
| text = "CV_REALM_TYPE" | |
| default_format = "#low" | |
| align = nobaseline | |
| } | |
| } | |
| expand = {} | |
| hbox = { | |
| name = "stats" | |
| spacing = 8 | |
| margin_bottom = 6 | |
| margin_top = 3 | |
| visible = "[Character.IsAlive]" | |
| vbox = { | |
| visible = "[Character.HasLandedTitles]" | |
| spacing = -2 | |
| min_width = 40 | |
| tooltip = "[Character.GetDreadBreakdown]" | |
| icon = { | |
| name = "dread_icon" | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/icon_dread.dds" | |
| } | |
| text_single = { | |
| name = "total_gold" | |
| text = "[Character.GetDread|0]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| vbox = { | |
| tooltip = "[Character.GetGoldTooltipWithBalance]" | |
| min_width = 40 | |
| spacing = -2 | |
| icon = { | |
| name = "icon_gold" | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/icon_gold.dds" | |
| } | |
| text_single = { | |
| name = "total_gold" | |
| text = "[Character.GetGold|0]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| vbox = { | |
| tooltip = "[Character.GetPrestigeTooltipWithBalance]" | |
| min_width = 40 | |
| spacing = -2 | |
| icon = { | |
| name = "icon_prestige" | |
| size = { 30 30 } | |
| texture = "[Character.GetPrestigeLevelTexture]" | |
| } | |
| text_single = { | |
| name = "prestige" | |
| text = "[Character.GetPrestige|0]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| vbox = { | |
| tooltip = "[Character.GetPietyTooltipWithBalance]" | |
| min_width = 40 | |
| spacing = -2 | |
| icon = { | |
| name = "icon_piety" | |
| size = { 30 30 } | |
| texture = "[Character.GetPietyLevelTexture]" | |
| } | |
| text_single = { | |
| name = "piety" | |
| text = "[Character.GetPiety|0]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| } | |
| } | |
| spacer = { | |
| size = { 0 3 } | |
| } | |
| vbox = { | |
| visible = "[Character.HasLandedTitles]" | |
| tooltip = "[CharacterWindow.GetMilitaryStrengthTooltip]" | |
| spacing = -2 | |
| min_width = 40 | |
| background = { | |
| using = Background_Frame | |
| margin = { 10 5 } | |
| margin_bottom = 7 | |
| alpha = 0.7 | |
| } | |
| icon = { | |
| name = "icon_combat_strength" | |
| size = { 30 30 } | |
| texture = "gfx/interface/icons/icon_soldier.dds" | |
| } | |
| text_single = { | |
| name = "military_total_strength" | |
| text = "[CharacterWindow.GetCachedMilitaryStrengthText]" | |
| default_format = "#high" | |
| align = center|nobaseline | |
| progressbar_standard = { | |
| name = "soldiers_max" | |
| parentanchor = bottom|hcenter | |
| position = { 0 5 } | |
| size = { 33 8 } | |
| min = 0 | |
| max = "[IntToFloat(CharacterWindow.GetMaxSoldiers)]" | |
| value = "[IntToFloat(CharacterWindow.GetCurrentSoldiers)]" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| divider = { | |
| layoutpolicy_horizontal = expanding | |
| } | |
| vbox_titles_claims_box = { | |
| visible = "[Not( Or( Character.GetPrimaryTitle.HasFaction, DataModelHasItems( CharacterWindow.GetDiplomacyItems )))]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| margin_right = 3 | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTitles), '(int32)13' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)13' )|=]" | |
| } | |
| blockoverride "titles_max_slots" | |
| { | |
| datamodel_wrap = 13 | |
| } | |
| blockoverride "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)13' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)13' )|=]" | |
| } | |
| blockoverride "claims_max_slots" | |
| { | |
| datamodel_wrap = 13 | |
| } | |
| } | |
| hbox = { | |
| visible = "[DataModelHasItems( CharacterWindow.GetDiplomacyItems )]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| margin_right = 2 | |
| vbox_titles_claims_box = { | |
| visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'))]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)10' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)10' )|=]" | |
| } | |
| blockoverride "titles_max_slots" | |
| { | |
| datamodel_wrap = 10 | |
| } | |
| blockoverride "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )|=]" | |
| } | |
| blockoverride "claims_max_slots" | |
| { | |
| datamodel_wrap = 10 | |
| } | |
| } | |
| vbox_titles_claims_box = { | |
| visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6')))]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)9' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)9' )|=]" | |
| } | |
| blockoverride "titles_max_slots" | |
| { | |
| datamodel_wrap = 9 | |
| } | |
| blockoverride "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)9' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)9' )|=]" | |
| } | |
| blockoverride "claims_max_slots" | |
| { | |
| datamodel_wrap = 9 | |
| } | |
| } | |
| vbox_titles_claims_box = { | |
| visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8')))]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )|=]" | |
| } | |
| blockoverride "titles_max_slots" | |
| { | |
| datamodel_wrap = 8 | |
| } | |
| blockoverride "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)8' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)8' )|=]" | |
| } | |
| blockoverride "claims_max_slots" | |
| { | |
| datamodel_wrap = 8 | |
| } | |
| } | |
| vbox_titles_claims_box = { | |
| visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8'))]" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)7' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)7' )|=]" | |
| } | |
| blockoverride "titles_max_slots" | |
| { | |
| datamodel_wrap = 7 | |
| } | |
| blockoverride "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)7' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)7' )|=]" | |
| } | |
| blockoverride "claims_max_slots" | |
| { | |
| datamodel_wrap = 7 | |
| } | |
| } | |
| expand = { | |
| layoutpolicy_horizontal = expanding | |
| visible = "[Character.GetPrimaryTitle.HasFaction]" | |
| } | |
| divider = { | |
| layoutpolicy_vertical = expanding | |
| } | |
| vbox_diplomacy_box = { | |
| visible = "[And(Not(IsDataModelEmpty(CharacterWindow.GetDiplomacyItems)), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'))]" | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "diplomacy_slots" | |
| { | |
| maxverticalslots = 2 | |
| maxhorizontalslots = 2 | |
| datamodel_wrap = 2 | |
| } | |
| } | |
| vbox_diplomacy_box = { | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'))]" | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "diplomacy_slots" | |
| { | |
| maxverticalslots = 2 | |
| maxhorizontalslots = 3 | |
| datamodel_wrap = 3 | |
| } | |
| } | |
| vbox_diplomacy_box = { | |
| visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8'))]" | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "diplomacy_slots" | |
| { | |
| maxverticalslots = 2 | |
| maxhorizontalslots = 4 | |
| datamodel_wrap = 4 | |
| } | |
| } | |
| vbox_diplomacy_box = { | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8')]" | |
| layoutpolicy_vertical = expanding | |
| using = Animation_Character_Window_Refresh | |
| blockoverride "diplomacy_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)10' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)10' )|=]" | |
| } | |
| blockoverride "diplomacy_slots" | |
| { | |
| maxverticalslots = 2 | |
| maxhorizontalslots = 5 | |
| datamodel_wrap = 5 | |
| } | |
| } | |
| expand = {} | |
| } | |
| expand = {} | |
| } | |
| } | |
| } | |
| ###################################################### | |
| ################### BOTTOM AREA ###################### | |
| ###################################################### | |
| ### TABS | |
| hbox = { | |
| name = "tabs" | |
| visible = "[CharacterWindow.AreNoneExpanded]" | |
| layoutpolicy_horizontal = expanding | |
| button_tab = { | |
| name = "family_button" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| layoutpolicy_horizontal = expanding | |
| onclick = "[CharacterWindow.SetTab('family')]" | |
| down = "[CharacterWindow.IsTabShown('family')]" | |
| using = tooltip_above | |
| hbox = { | |
| text_single = { | |
| layoutpolicy_horizontal = expanding | |
| align = center | |
| text = "CV_TAB_FAMILY" | |
| default_format = "#low" | |
| } | |
| text_single = { | |
| align = center | |
| text = "[CharacterWindow.GetTabItemsCount('family')]" | |
| default_format = "#low" | |
| margin_right = 15 | |
| min_width = 30 | |
| using = Animation_Character_Window_Refresh | |
| } | |
| } | |
| } | |
| button_tab = { | |
| name = "relations_button" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| layoutpolicy_horizontal = expanding | |
| onclick = "[CharacterWindow.SetTab('relations')]" | |
| down = "[CharacterWindow.IsTabShown('relations')]" | |
| using = tooltip_above | |
| hbox = { | |
| text_single = { | |
| layoutpolicy_horizontal = expanding | |
| align = center | |
| text = "CV_TAB_RELATIONS" | |
| default_format = "#low" | |
| } | |
| text_single = { | |
| align = center | |
| text = "[CharacterWindow.GetTabItemsCount('relations')]" | |
| default_format = "#low" | |
| margin_right = 15 | |
| min_width = 30 | |
| using = Animation_Character_Window_Refresh | |
| } | |
| } | |
| } | |
| button_tab = { | |
| name = "court_button" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| # visible = "[Not(Character.IsPlayer)]" | |
| layoutpolicy_horizontal = expanding | |
| onclick = "[CharacterWindow.SetTab('court')]" | |
| down = "[CharacterWindow.IsTabShown('court')]" | |
| using = tooltip_above | |
| hbox = { | |
| text_single = { | |
| layoutpolicy_horizontal = expanding | |
| align = center | |
| text = "CV_TAB_COURT" | |
| default_format = "#low" | |
| } | |
| text_single = { | |
| align = center | |
| text = "[CharacterWindow.GetTabItemsCount('court')]" | |
| default_format = "#low" | |
| margin_right = 15 | |
| min_width = 30 | |
| using = Animation_Character_Window_Refresh | |
| } | |
| } | |
| } | |
| button_tab = { | |
| name = "vassals_button" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| visible = "[Character.IsRuler]" | |
| # visible = "[And(Character.IsRuler, Not(Character.IsPlayer))]" | |
| layoutpolicy_horizontal = expanding | |
| onclick = "[CharacterWindow.SetTab('vassals')]" | |
| down = "[CharacterWindow.IsTabShown('vassals')]" | |
| using = tooltip_above | |
| hbox = { | |
| text_single = { | |
| layoutpolicy_horizontal = expanding | |
| align = center | |
| text = "CV_TAB_VASSALS" | |
| default_format = "#low" | |
| } | |
| text_single = { | |
| align = center | |
| text = "[CharacterWindow.GetTabItemsCount('vassals')]" | |
| default_format = "#low" | |
| margin_right = 15 | |
| min_width = 30 | |
| using = Animation_Character_Window_Refresh | |
| } | |
| } | |
| } | |
| } | |
| spacer = { size = { 0 2 } } | |
| widget = { | |
| visible = "[CharacterWindow.AreNoneExpanded]" | |
| layoutpolicy_vertical = preferred | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 350 } | |
| using = Animation_Tab_Switch | |
| #################################### | |
| ########### FAMILY TAB ############# | |
| #################################### | |
| widget = { | |
| name = "family" | |
| visible = "[CharacterWindow.IsTabShown('family')]" | |
| size = { 100% 100% } | |
| using = Animation_Tab_Switch | |
| vbox = { | |
| name = "family_main_view" | |
| visible = "[Not( Or(CharacterWindow.IsRelationExpanded( 'children' ), CharacterWindow.IsRelationExpanded( 'siblings' ) ) )]" | |
| widget = { | |
| name = "parents_grandparents_spouses" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| hbox = { | |
| vbox_character_row_item = { | |
| name = "children" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetParents]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "PARENTS" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| vbox_character_row_item = { | |
| name = "grandparents" | |
| visible = "[Not(Or(GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' ), GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' )))]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetGrandparents]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "GRANDPARENTS" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| vbox_character_row_item = { | |
| name = "grandparents_contracted" | |
| visible = "[Or(GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' ), GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' ))]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetGrandparents]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "GRANDPARENTS" | |
| } | |
| blockoverride "expand_button" {} | |
| blockoverride "gridbox" | |
| { | |
| overlappingitembox = { | |
| size = { 170 90 } | |
| block "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetParents]" | |
| } | |
| item = { | |
| portrait_head_small = { | |
| blockoverride "portrait_button" | |
| { | |
| using = tooltip_ne | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| vbox_character_row_item = { | |
| name = "secondary_spouses" | |
| visible = "[GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' )]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetSecondarySpouses]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "SECONDARY_SPOUSES" | |
| } | |
| blockoverride "expand_button" {} | |
| blockoverride "find_partner" | |
| { | |
| fixedgridbox = { | |
| name = "potential" | |
| datamodel = "[GetNullCharacterDataModel( Character.CalcUnusedSecondarySpouseSlots )]" | |
| visible = "[Character.IsPlayerInteractionShown('marry_off_interaction')]" | |
| flipdirection = yes | |
| addcolumn = 85 | |
| addrow = 90 | |
| item = { | |
| container = { | |
| portrait_head_small = { | |
| visible = "[Not( ObjectsEqual( GetPlayer, CharacterWindow.GetCharacter ) )]" | |
| blockoverride "portrait_button_template_onclick" | |
| { | |
| onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]" | |
| } | |
| blockoverride "portrait_button_template_tooltip" | |
| { | |
| tooltip = "CHARACTER_WINDOW_FIND_SPOUSE" | |
| } | |
| blockoverride "onclick" | |
| { | |
| onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]" | |
| button_icon = { | |
| parentanchor = center | |
| alwaystransparent = yes | |
| size = { 20 20 } | |
| position = {-5 -5} | |
| texture = "gfx/interface/icons/flat_icons/plus.dds" | |
| } | |
| } | |
| } | |
| portrait_head_small = { | |
| visible = "[ObjectsEqual( GetPlayer, CharacterWindow.GetCharacter )]" | |
| blockoverride "portrait_button_template_onclick" | |
| { | |
| onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]" | |
| } | |
| blockoverride "portrait_button_template_tooltip" | |
| { | |
| tooltip = "CHARACTER_WINDOW_FIND_SPOUSE_SELF" | |
| } | |
| blockoverride "onclick" | |
| { | |
| onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]" | |
| button_icon = { | |
| parentanchor = center | |
| alwaystransparent = yes | |
| size = { 26 26 } | |
| position = {-5 0} | |
| texture = "gfx/interface/icons/flat_icons/plus.dds" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| vbox_character_row_item = { | |
| name = "consorts" | |
| visible = "[GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' )]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetConcubines]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "[SelectLocalization( Character.IsFemale, 'CONCUBINES_MEN', 'CONCUBINES_WOMEN' )]" | |
| } | |
| blockoverride "expand_button" {} | |
| blockoverride "find_partner" | |
| { | |
| fixedgridbox = { | |
| name = "potential" | |
| datamodel = "[GetNullCharacterDataModel( Character.CalcUnusedConsortSlots )]" | |
| visible = "[Character.IsPlayerInteractionShown('find_concubine')]" | |
| flipdirection = yes | |
| addcolumn = 85 | |
| addrow = 90 | |
| maxverticalslots = 1 | |
| item = { | |
| container = { | |
| portrait_head_small = { | |
| blockoverride "portrait_button_template_onclick" | |
| { | |
| onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('find_concubine')]" | |
| button_plus = { | |
| parentanchor = center | |
| alwaystransparent = yes | |
| } | |
| } | |
| blockoverride "portrait_button_template_tooltip" | |
| { | |
| tooltip = "[CharacterWindow.GetCharacter.GetPlayerInteractionTooltip('find_concubine')]" | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| widget = { | |
| name = "children" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| vbox_character_row_item = { | |
| name = "children" | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetChildren]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "CV_CHILDREN_HEADING" | |
| } | |
| blockoverride "remaining_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)7' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)7' )|=]" | |
| } | |
| blockoverride "expand_button_inside" { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)7' )]" | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'children' )]" | |
| } | |
| } | |
| } | |
| widget = { | |
| name = "siblings" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| vbox_character_row_item = { | |
| name = "siblings" | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetSiblings]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "CV_SIBLINGS_HEADING" | |
| } | |
| blockoverride "remaining_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)7' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)7' )|=]" | |
| } | |
| blockoverride "expand_button_inside" { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)7' )]" | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'siblings' )]" | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| ### SIBLINGS EXPANDED | |
| scrollbox = { | |
| name = "family_siblings_expanded" | |
| visible = "[CharacterWindow.IsRelationExpanded( 'siblings' )]" | |
| size = { 100% 100% } | |
| blockoverride "scrollbox_replace_vbox" { | |
| vbox_character_row_item = { | |
| name = "siblings" | |
| margin_top = 10 | |
| spacing = 5 | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetSiblings]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "CV_SIBLINGS_HEADING" | |
| } | |
| blockoverride "expand_button_inside" { | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'siblings' )]" | |
| down = "[CharacterWindow.IsRelationExpanded( 'siblings' )]" | |
| } | |
| blockoverride "gridbox_slots" {} | |
| } | |
| } | |
| } | |
| ### CHILDREN EXPANDED | |
| scrollbox = { | |
| name = "family_children_expanded" | |
| visible = "[CharacterWindow.IsRelationExpanded( 'children' )]" | |
| size = { 100% 100% } | |
| blockoverride "scrollbox_replace_vbox" { | |
| vbox_character_row_item = { | |
| name = "children" | |
| margin_top = 10 | |
| spacing = 5 | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetChildren]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "CV_CHILDREN_HEADING" | |
| } | |
| blockoverride "expand_button_inside" { | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'children' )]" | |
| down = "[CharacterWindow.IsRelationExpanded( 'children' )]" | |
| } | |
| blockoverride "gridbox_slots" {} | |
| } | |
| } | |
| } | |
| } | |
| #################################### | |
| ########## RELATIONS TAB ########### | |
| #################################### | |
| widget = { | |
| name = "relations" | |
| visible = "[CharacterWindow.IsTabShown('relations')]" | |
| size = { 100% 100% } | |
| using = Animation_Tab_Switch | |
| vbox = { | |
| name = "relations_main_view" | |
| visible = "[Not( Or(CharacterWindow.IsRelationExpanded( 'friends' ), CharacterWindow.IsRelationExpanded( 'rivals' ) ) )]" | |
| widget = { | |
| name = "first_row" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| hbox = { | |
| vbox_character_row_item = { | |
| name = "wards" | |
| visible = "[CharacterWindow.GetCharacter.IsAdult]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfTypeFillEmpty( GetRelation( 'ward' ), '(int32)2' )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "WARDS_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| blockoverride "empty_character" | |
| { | |
| visible = "[Character.IsValid]" | |
| } | |
| } | |
| vbox_character_row_item = { | |
| name = "lovers" | |
| visible = "[CharacterWindow.GetCharacter.IsAdult]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "LOVERS_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| vbox_character_row_item = { | |
| name = "guardian" | |
| visible = "[Not(CharacterWindow.GetCharacter.IsAdult)]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfTypeFillEmpty( GetRelation( 'guardian' ), '(int32)1' )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "GUARDIAN_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| vbox_character_row_item = { | |
| name = "crushes" | |
| visible = "[Not(CharacterWindow.GetCharacter.IsAdult)]" | |
| layoutpolicy_vertical = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'crush' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "CRUSHES_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| expand = {} | |
| } | |
| } | |
| widget = { | |
| name = "second_row" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| vbox_character_row_item = { | |
| name = "friends" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "FRIENDS_LABEL" | |
| } | |
| blockoverride "remaining_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)7' ))]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)7' )|=]" | |
| } | |
| blockoverride "expand_button_inside" { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)7' )]" | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'friends' )]" | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| widget = { | |
| name = "third_row" | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| vbox_character_row_item = { | |
| name = "rivals" | |
| visible = "[CharacterWindow.GetCharacter.IsAdult]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "RIVALS_LABEL" | |
| } | |
| blockoverride "remaining_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)8' ))]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)8' )|=]" | |
| } | |
| blockoverride "expand_button_inside" { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)8' )]" | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'rivals' )]" | |
| } | |
| } | |
| vbox_character_row_item = { | |
| name = "bullies" | |
| visible = "[Not( CharacterWindow.GetCharacter.IsAdult )]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'bully' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "BULLIES_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| vbox_character_row_item = { | |
| name = "victims" | |
| visible = "[Not( CharacterWindow.GetCharacter.IsAdult )]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'victim' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "VICTIMS_LABEL" | |
| } | |
| blockoverride "expand_button" {} | |
| } | |
| expand = {} | |
| } | |
| } | |
| expand = {} | |
| } | |
| ### RIVALS EXPANDED | |
| scrollbox = { | |
| name = "rivals_expanded" | |
| visible = "[CharacterWindow.IsRelationExpanded( 'rivals' )]" | |
| size = { 100% 100% } | |
| blockoverride "scrollbox_replace_vbox" { | |
| vbox_character_row_item = { | |
| name = "rivals" | |
| margin_top = 10 | |
| spacing = 5 | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "RIVALS_LABEL" | |
| } | |
| blockoverride "expand_button_inside" { | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'rivals' )]" | |
| down = "[CharacterWindow.IsRelationExpanded( 'rivals' )]" | |
| } | |
| blockoverride "gridbox_slots" {} | |
| } | |
| } | |
| } | |
| ### FRIENDS EXPANDED | |
| scrollbox = { | |
| name = "friends_expanded" | |
| visible = "[CharacterWindow.IsRelationExpanded( 'friends' )]" | |
| size = { 100% 100% } | |
| blockoverride "scrollbox_replace_vbox" { | |
| vbox_character_row_item = { | |
| name = "friends" | |
| margin_top = 10 | |
| spacing = 5 | |
| blockoverride "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )]" | |
| } | |
| blockoverride "header_text" | |
| { | |
| text = "FRIENDS_LABEL" | |
| } | |
| blockoverride "expand_button_inside" { | |
| onclick = "[CharacterWindow.ToggleExpandedRelation( 'friends' )]" | |
| down = "[CharacterWindow.IsRelationExpanded( 'friends' )]" | |
| } | |
| blockoverride "gridbox_slots" {} | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| #################################### | |
| ############ COURT TAB ############# | |
| #################################### | |
| vbox_character_list = { | |
| datacontext = "[CharacterWindow.GetCourt]" | |
| visible = "[CharacterWindow.IsTabShown('court')]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "sort_buttons" {} | |
| blockoverride "character_count" {} | |
| blockoverride "scrollbox_margins" { | |
| margin_right = 15 | |
| } | |
| blockoverride "container_implementation" { | |
| fixedgridbox = { | |
| name = "characters_grid" | |
| datamodel = "[CharacterSelectionList.GetList]" | |
| visible = "[Not(CharacterSelectionList.IsBuildingList)]" | |
| addcolumn = 580 | |
| addrow = 125 | |
| setitemsizefromcell = yes | |
| item = { | |
| widget_courtier_item = { | |
| datacontext = "[CharacterListItem.GetCharacter]" | |
| # blockoverride "description_relation_text" { | |
| # text = "[Character.GetSpecialGuestRelationDescription]" | |
| # } | |
| blockoverride "action_buttons" {} | |
| } | |
| } | |
| } | |
| } | |
| } | |
| #################################### | |
| ########### VASSALS TAB ############ | |
| #################################### | |
| vbox_character_list = { | |
| visible = "[CharacterWindow.IsTabShown('vassals')]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| datacontext = "[CharacterWindow.GetVassals]" | |
| blockoverride "sort_buttons" {} | |
| blockoverride "character_count" {} | |
| blockoverride "scrollbox_margins" { | |
| margin = { 0 5 } | |
| margin_right = 10 | |
| } | |
| blockoverride "container_implementation" { | |
| fixedgridbox = { | |
| name = "characters_grid" | |
| datamodel = "[CharacterSelectionList.GetList]" | |
| visible = "[Not(CharacterSelectionList.IsBuildingList)]" | |
| addcolumn = 590 | |
| addrow = 90 | |
| setitemsizefromcell = yes | |
| item = { | |
| widget_vassal_list_item = { | |
| datacontext = "[CharacterListItem.GetCharacter]" | |
| layoutpolicy_horizontal = expanding | |
| blockoverride "own_vassal" {} | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ### EXPANDED VIEWS | |
| # TRAITS EXPANDED | |
| scrollbox = { | |
| name = "traits_expanded" | |
| visible = "[CharacterWindow.AreTraitsExpanded]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Tab_Switch | |
| blockoverride "scrollbox_content" | |
| { | |
| spacing = 10 | |
| vbox = { | |
| spacing = 10 | |
| text_label_center = { | |
| text = "MODIFIERS" | |
| } | |
| text_single = { | |
| visible = "[IsDataModelEmpty(CharacterWindow.GetTimedModifiers)]" | |
| text = "CV_NO_MODIFIERS" | |
| default_format = "#low;italic" | |
| } | |
| dynamicgridbox = { | |
| name = "modifiers_grid" | |
| datamodel = "[CharacterWindow.GetTimedModifiers]" | |
| datamodel_wrap = 8 | |
| flipdirection = yes | |
| item = { | |
| icon = { | |
| size = { 35 35 } | |
| alwaystransparent = no | |
| texture = "[ModifierItem.GetIcon]" | |
| tooltip = "[ModifierItem.GetTooltip]" | |
| } | |
| } | |
| } | |
| } | |
| divider_light = { | |
| layoutpolicy_horizontal = expanding | |
| } | |
| vbox = { | |
| spacing = 10 | |
| text_label_center = { | |
| text = "TRAITS" | |
| } | |
| fixedgridbox = { | |
| name = "personality_traits_grid" | |
| datamodel = "[CharacterWindow.GetPersonalityTraits]" | |
| addcolumn = 85 | |
| addrow = 105 | |
| flipdirection = yes | |
| datamodel_wrap = 6 | |
| item = { | |
| icon_trait = { | |
| text_multi = { | |
| parentanchor = bottom|hcenter | |
| widgetanchor = top|hcenter | |
| position = { 0 -5 } | |
| autoresize = yes | |
| max_width = 80 | |
| text = "[Trait.GetNameNoTooltip(Character.Self)]" | |
| default_format = "#high" | |
| align = hcenter | |
| } | |
| } | |
| } | |
| } | |
| fixedgridbox = { | |
| name = "traits_grid" | |
| datamodel = "[CharacterWindow.GetTraits]" | |
| addcolumn = 85 | |
| addrow = 105 | |
| flipdirection = yes | |
| datamodel_wrap = 6 | |
| item = { | |
| icon_trait = { | |
| text_multi = { | |
| parentanchor = bottom|hcenter | |
| widgetanchor = top|hcenter | |
| position = { 0 -5 } | |
| autoresize = yes | |
| max_width = 80 | |
| text = "[Trait.GetNameNoTooltip(Character.Self)]" | |
| default_format = "#high" | |
| align = hcenter | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| # TITLES EXPANDED | |
| scrollbox = { | |
| name = "titles_expanded" | |
| visible = "[CharacterWindow.AreTitlesExpanded]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Tab_Switch | |
| blockoverride "scrollbox_content" | |
| { | |
| spacing = 15 | |
| text_label_center = { | |
| text = "CV_TITLES_NOCOUNT" | |
| } | |
| fixedgridbox = { | |
| name = "titles_box_bishop" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| flipdirection = yes | |
| addrow = 90 | |
| addcolumn = 270 | |
| datamodel_wrap = 2 | |
| datamodel = "[CharacterWindow.GetTitles]" | |
| item = { | |
| flowcontainer = { | |
| datacontext = "[TitleItem.GetTitle]" | |
| spacing = 5 | |
| coa_title_small_crown = { | |
| using = tooltip_ne | |
| } | |
| text_multi = { | |
| text = "[Title.GetNameNoTooltip]" | |
| parentanchor = vcenter | |
| autoresize = yes | |
| default_format = "#high" | |
| using = Font_Size_Medium | |
| max_width = 190 | |
| margin_top = 5 | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| # CLAIMS EXPANDED | |
| scrollbox = { | |
| name = "claims_expanded" | |
| visible = "[CharacterWindow.AreClaimsExpanded]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Tab_Switch | |
| blockoverride "scrollbox_content" | |
| { | |
| spacing = 10 | |
| text_label_center = { | |
| text = "CV_CLAIMS_NOCOUNT" | |
| } | |
| flowcontainer = { | |
| name = "titles_box_bishop" | |
| datacontext = "[CharacterWindow.GetCharacter]" | |
| datamodel = "[CharacterWindow.GetClaims]" | |
| direction = vertical | |
| spacing = 10 | |
| item = { | |
| flowcontainer = { | |
| spacing = 5 | |
| using = tooltip_ne | |
| tooltip = "[Claim.GetTooltip]" | |
| coa_title_medium = { | |
| datacontext = "[Claim.GetTitle]" | |
| } | |
| flowcontainer = { | |
| direction = vertical | |
| ignoreinvisible = yes | |
| text_single = { | |
| text = "[Claim.GetTitle.GetNameNoTooltip]" | |
| default_format = "#high" | |
| using = Font_Size_Big | |
| } | |
| text_single = { | |
| name = "pressed_claim" | |
| visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" | |
| text = "[pressed_claim_i][pressed_claim|E]" | |
| } | |
| text_single = { | |
| name = "unpressed_claim" | |
| visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" | |
| text = "[unpressed_claim_i][unpressed_claim|E]" | |
| } | |
| text_single = { | |
| name = "implicit_claim" | |
| visible = "[Claim.IsImplicit]" | |
| text = "[implicit_claim_i][implicit_claim|E]" | |
| } | |
| text_multi = { | |
| visible = "[Claim.GetTitle.GetHolder.IsValid]" | |
| text = "CLAIM_TITLE_HOLDER" | |
| max_width = 400 | |
| autoresize = yes | |
| } | |
| text_single = { | |
| visible = "[Not(Claim.GetTitle.GetHolder.IsValid)]" | |
| text = "CLAIM_TITLE_NOT_CREATED" | |
| default_format = "#weak" | |
| align = nobaseline | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| # DIPLOMACY EXPANDED | |
| scrollbox = { | |
| name = "diplomacy_expanded" | |
| visible = "[CharacterWindow.AreDiplomacyExpanded]" | |
| layoutpolicy_vertical = expanding | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Tab_Switch | |
| blockoverride "scrollbox_content" | |
| { | |
| spacing = 15 | |
| text_label_center = { | |
| text = "CV_DIPLOMACY" | |
| } | |
| vbox = { | |
| name = "diplomacy_items" | |
| datamodel = "[CharacterWindow.GetDiplomacyItems]" | |
| item = { | |
| vbox = { | |
| layoutpolicy_horizontal = expanding | |
| spacing = 20 | |
| divider_light = { | |
| layoutpolicy_horizontal = expanding | |
| } | |
| button_group = { | |
| layoutpolicy_horizontal = expanding | |
| onclick = "[DiplomacyItem.OnClick]" | |
| tooltip = "[DiplomacyItem.GetTooltip]" | |
| using = tooltip_se | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| spacing = 20 | |
| widget = { | |
| size = { 65 74 } | |
| button = { | |
| texture = "gfx/interface/icons/diplomatic_icons.dds" | |
| frame = "[DiplomacyItem.GetDiplomacyFrame]" | |
| parentanchor = top|hcenter | |
| position = { 0 -30 } | |
| framesize = { 120 120 } | |
| size = { 50 50 } | |
| tooltip_enabled = no | |
| scale = 1.3 | |
| } | |
| coa_realm_medium = { | |
| datacontext = "[DiplomacyItem.GetTargetCharacter]" | |
| tooltip = "[DiplomacyItem.GetTooltip]" | |
| parentanchor = hcenter | |
| text_single = { | |
| name = "warscore" | |
| visible = "[DiplomacyItem.HasWarScore]" | |
| parentanchor = hcenter | |
| position = { 0 -20 } | |
| text = "[DiplomacyItem.GetWarScoreFraction|0%=+]" | |
| using = Font_Size_Medium | |
| } | |
| } | |
| } | |
| text_multi = { | |
| text = "[DiplomacyItem.GetInfo]" | |
| layoutpolicy_horizontal = expanding | |
| autoresize = yes | |
| max_width = 400 | |
| } | |
| } | |
| } | |
| hbox = { | |
| name = "reason_characters" | |
| visible = "[DiplomacyItem.HasReasonCharacters]" | |
| portrait_head_small = { | |
| name = "reason_character_left" | |
| datacontext = "[DiplomacyItem.GetLeftReasonCharacter]" | |
| blockoverride "opinion_box" {} | |
| blockoverride "status_icons" {} | |
| } | |
| portrait_head_small = { | |
| name = "reason_character_right" | |
| datacontext = "[DiplomacyItem.GetRightReasonCharacter]" | |
| blockoverride "opinion_box" {} | |
| blockoverride "status_icons" {} | |
| blockoverride "portrait_transformation" | |
| { | |
| portrait_scale = { -1 1 } | |
| portrait_offset = { 1 0 } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ###################################################### | |
| ################ TYPES AND TEMPLATES ################# | |
| ###################################################### | |
| types CharacterWindow | |
| { | |
| type skill_icon_label_vertical = widget { | |
| size = { 40 60 } | |
| datacontext = "[SkillItem]" | |
| icon = { | |
| name = "skill_icon" | |
| texture = "gfx/interface/icons/icon_skills.dds" | |
| size = { 24 24 } | |
| framesize = { 60 60 } | |
| position = { -10 17 } | |
| block "icon" | |
| { | |
| frame = "[SkillItem.GetFrame]" | |
| } | |
| } | |
| block "tooltip" | |
| { | |
| tooltip = "SKILL_ITEM_TOOLTIP" | |
| using = tooltip_ne | |
| } | |
| text_single = { | |
| name = "skill_value" | |
| parentanchor = top|hcenter | |
| position = { 5 17 } | |
| align = center | |
| block "value" | |
| { | |
| text = "[SkillItem.GetValue]" | |
| } | |
| } | |
| } | |
| type icon_row_header_background = icon | |
| { | |
| size = { 100% 25 } | |
| texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" | |
| spritetype = corneredtiled | |
| spriteborder = { 20 0 } | |
| texture_density = 2 | |
| alpha = 0.5 | |
| } | |
| type widget_family_row_item = widget | |
| { | |
| layoutpolicy_horizontal = expanding | |
| layoutpolicy_vertical = expanding | |
| maximumsize = { -1 110 } | |
| scissor = yes | |
| icon_row_header_background = {} | |
| hbox = { | |
| block "item_list" | |
| { | |
| } | |
| expand = {} | |
| } | |
| } | |
| type vbox_character_row_item = vbox { | |
| spacing = -3 | |
| widget = { | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 25 } | |
| min_width = 110 | |
| block "expand_button" { | |
| button_standard_hover = { | |
| size = { 100% 100% } | |
| block "expand_button_inside" {} | |
| } | |
| } | |
| hbox = { | |
| margin = { 10 0 } | |
| background = { | |
| using = Text_Label_Background | |
| alpha = 0.5 | |
| margin = { 0 -2 } | |
| } | |
| text_single = { | |
| align = nobaseline | |
| fontsize = 14 | |
| block "header_text" | |
| { | |
| text = "#D NEEDS TEXT#!" | |
| } | |
| } | |
| expand = {} | |
| text_single = { | |
| align = nobaseline | |
| default_format = "#weak" | |
| block "remaining_items" { | |
| visible = no | |
| } | |
| } | |
| } | |
| } | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| using = Animation_Character_Window_Refresh | |
| block "gridbox" { | |
| fixedgridbox = { | |
| flipdirection = yes | |
| addcolumn = 85 | |
| addrow = 90 | |
| datamodel_wrap = 7 | |
| block "gridbox_slots" | |
| { | |
| maxverticalslots = 1 | |
| } | |
| block "portrait_datamodel" { | |
| datamodel = "[CharacterWindow.GetParents]" | |
| } | |
| item = { | |
| portrait_head_small = { | |
| blockoverride "portrait_button" | |
| { | |
| using = tooltip_ne | |
| } | |
| blockoverride "glow_visible" | |
| { | |
| visible = no | |
| } | |
| } | |
| } | |
| } | |
| } | |
| block "find_partner" {} | |
| expand = {} | |
| } | |
| expand = {} | |
| } | |
| type vbox_titles_claims_box = vbox { | |
| ## Titles | |
| vbox = { | |
| name = "titles" | |
| visible = "[Not( IsDataModelEmpty( CharacterWindow.GetTitles ) )]" | |
| layoutpolicy_horizontal = expanding | |
| button_standard_hover = { | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 25 } | |
| onclick = "[CharacterWindow.ToggleExpandedTitles]" | |
| down = "[CharacterWindow.AreTitlesExpanded]" | |
| tooltip = "[SelectLocalization( CharacterWindow.AreTitlesExpanded, 'CV_TITLES_HIDE_TT', 'CV_TITLES_SHOW_TT' )]" | |
| hbox = { | |
| margin = { 5 0 } | |
| margin_bottom = 3 | |
| margin_right = 10 | |
| text_label_left = { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)1' )]" | |
| text = "CV_TITLES" | |
| } | |
| text_label_left = { | |
| visible = "[Not(GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)1' ))]" | |
| text = "CV_TITLES_SINGULAR" | |
| } | |
| expand = {} | |
| text_single = { | |
| block "titles_extra_items" | |
| { | |
| visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )]" | |
| text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )|=]" | |
| } | |
| default_format = "#weak" | |
| } | |
| } | |
| } | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| fixedgridbox = { | |
| datamodel = "[CharacterWindow.GetTitles]" | |
| flipdirection = yes | |
| addrow = 60 | |
| addcolumn = 38 | |
| maxverticalslots = 1 | |
| block "titles_max_slots" { | |
| datamodel_wrap = 2 | |
| } | |
| item = { | |
| coa_title_tiny_crown = { | |
| datacontext = "[TitleItem.GetTitle]" | |
| # visible = "[GreaterThan_int32( Title.GetTierFrame, '(int32)3' )]" | |
| using = tooltip_ne | |
| icon = { | |
| name = "has_laws" | |
| visible = "[TitleItem.GetTitle.HasLaws]" | |
| parentanchor = bottom|right | |
| size = { 25 25 } | |
| position = { 5 0 } | |
| texture = "gfx/interface/icons/title_status/icon_title_law.dds" | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| } | |
| ## Claims | |
| vbox = { | |
| name = "claims" | |
| visible = "[Not(IsDataModelEmpty(CharacterWindow.GetClaims))]" | |
| layoutpolicy_horizontal = expanding | |
| vbox = { | |
| layoutpolicy_horizontal = expanding | |
| button_standard_hover = { | |
| layoutpolicy_horizontal = expanding | |
| margin_left = 5 | |
| size = { 0 25 } | |
| onclick = "[CharacterWindow.ToggleExpandedClaims]" | |
| down = "[CharacterWindow.AreClaimsExpanded]" | |
| tooltip = "[SelectLocalization( CharacterWindow.AreClaimsExpanded, 'CV_CLAIMS_HIDE_TT', 'CV_CLAIMS_SHOW_TT' )]" | |
| hbox = { | |
| margin = { 5 0 } | |
| margin_bottom = 3 | |
| margin_right = 10 | |
| text_label_left = { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)1' )]" | |
| text = "CV_CLAIMS" | |
| } | |
| text_label_left = { | |
| visible = "[Not(GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)1' ))]" | |
| text = "CV_CLAIMS_SINGULAR" | |
| } | |
| expand = {} | |
| text_single = { | |
| block "claims_extra_items" | |
| { | |
| visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )]" | |
| text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )|=]" | |
| } | |
| default_format = "#weak" | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| hbox = { | |
| layoutpolicy_horizontal = expanding | |
| fixedgridbox = { | |
| name = "claims_box" | |
| datamodel = "[CharacterWindow.GetClaims]" | |
| flipdirection = yes | |
| addrow = 60 | |
| addcolumn = 38 | |
| maxverticalslots = 1 | |
| block "claims_max_slots" { | |
| datamodel_wrap = 8 | |
| } | |
| item = { | |
| container = { | |
| datacontext = "[Claim.GetTitle]" | |
| using = tooltip_ne | |
| tooltip = "CHARACTER_WINDOW_CLAIM_TOOLTIP" | |
| coa_title_tiny_crown = { | |
| name = "claim" | |
| tooltip_enabled = no | |
| highlight_icon = { | |
| name = "pressed_claim" | |
| visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" | |
| texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" | |
| size = { 24 24 } | |
| parentanchor = bottom|right | |
| } | |
| highlight_icon = { | |
| name = "unpressed_claim" | |
| visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" | |
| texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" | |
| size = { 24 24 } | |
| parentanchor = bottom|right | |
| } | |
| highlight_icon = { | |
| name = "implicit_claim" | |
| visible = "[Claim.IsImplicit]" | |
| texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" | |
| size = { 24 24 } | |
| parentanchor = bottom|right | |
| } | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| expand = {} | |
| } | |
| type vbox_diplomacy_box = vbox { | |
| name = "diplomacy" | |
| button_standard_hover = { | |
| layoutpolicy_horizontal = expanding | |
| size = { 0 25 } | |
| onclick = "[CharacterWindow.ToggleExpandedDiplomacy]" | |
| down = "[CharacterWindow.AreDiplomacyExpanded]" | |
| tooltip = "[SelectLocalization( CharacterWindow.AreDiplomacyExpanded, 'CV_DIPLOMACY_HIDE_TT', 'CV_DIPLOMACY_SHOW_TT' )]" | |
| hbox = { | |
| margin = { 5 0 } | |
| margin_left = 10 | |
| margin_bottom = 3 | |
| text_label_left = { | |
| layoutpolicy_horizontal = expanding | |
| text = "CV_DIPLOMACY" | |
| margin_right = 0 | |
| } | |
| } | |
| hbox = { | |
| margin = { 10 0 } | |
| margin_bottom = 3 | |
| expand = {} | |
| text_single = { | |
| default_format = "#weak" | |
| block "diplomacy_extra_items" | |
| { | |
| visible = no | |
| } | |
| } | |
| } | |
| } | |
| vbox = { | |
| margin_top = 20 | |
| min_width = 100 | |
| fixedgridbox = { | |
| name = "diplomacy_items" | |
| datamodel = "[CharacterWindow.GetDiplomacyItems]" | |
| flipdirection = yes | |
| addrow = 65 | |
| addcolumn = 50 | |
| block "diplomacy_slots" | |
| { | |
| maxverticalslots = 2 | |
| maxhorizontalslots = 2 | |
| datamodel_wrap = 2 | |
| } | |
| item = { | |
| container = { | |
| button = { | |
| parentanchor = top|hcenter | |
| position = { 0 -22 } | |
| texture = "gfx/interface/icons/diplomatic_icons.dds" | |
| frame = "[DiplomacyItem.GetDiplomacyFrame]" | |
| framesize = { 120 120 } | |
| size = { 50 50 } | |
| tooltip_enabled = no | |
| text_single = { | |
| name = "warscore" | |
| visible = "[DiplomacyItem.HasWarScore]" | |
| parentanchor = top|hcenter | |
| position = { 0 10 } | |
| text = "[DiplomacyItem.GetWarScoreFraction|0%=+]" | |
| fontsize = 13 | |
| } | |
| } | |
| coa_realm_small = { | |
| datacontext = "[DiplomacyItem.GetTargetCharacter]" | |
| tooltip = "[DiplomacyItem.GetTooltip]" | |
| using = tooltip_es | |
| tooltip_offset = { 0 22 } | |
| onrightclick = "[DefaultOnRealmFlagClick(Character.GetID)]" | |
| state = { | |
| name = _mouse_hierarchy_enter | |
| start_sound = { | |
| soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over" | |
| } | |
| } | |
| blockoverride "coa_button" | |
| { | |
| onclick = "[DiplomacyItem.OnClick]" | |
| button_ignore = none | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| expand = {} | |
| } | |
| } | |
| template Animation_Character_Window_Refresh | |
| { | |
| state = { | |
| name = character_window_refresh | |
| using = Animation_Refresh_FadeOut | |
| alpha = 0.65 | |
| } | |
| state = { | |
| using = Animation_Refresh_FadeIn | |
| } | |
| } | |
| template Animation_Character_Window_Refresh_Short | |
| { | |
| state = { | |
| name = character_window_refresh | |
| using = Animation_Refresh_FadeOut | |
| alpha = 0.8 | |
| } | |
| state = { | |
| using = Animation_Refresh_FadeIn | |
| duration = 0.25 | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment