ZingFreelancer

Better Traits with Scrollbox for Better Character UI 1.0

Jan 5th, 2022
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 116.12 KB | None | 0 0
  1. ######################################################
  2. ################# CHARACTER WINDOW ###################
  3. ######################################################
  4.  
  5. window = {
  6.     name = "character_window"
  7.     datacontext = "[GetVariableSystem]"
  8.     datacontext = "[CharacterWindow.GetCharacter]"
  9.     movable = no
  10.     layer = middle
  11.  
  12.     using = Window_Size_Sidebar
  13.     using = Window_Background_Sidebar
  14.  
  15.     state = {
  16.         name = _show
  17.         using = Animation_FadeIn_Quick
  18.         using = Sound_WindowShow_Standard
  19.         position_x = 0
  20.  
  21.         on_start = "[GetVariableSystem.Set( 'hide_bottom_left_HUD', 'true' )]"
  22.     }
  23.  
  24.     state = {
  25.         name = _hide
  26.         using = Animation_FadeOut_Quick
  27.         using = Sound_WindowHide_Standard
  28.         position_x = -60
  29.  
  30.         on_start = "[GetVariableSystem.Clear( 'hide_bottom_left_HUD' )]"
  31.     }
  32.  
  33.     scrollarea = {
  34.         scrollbarpolicy_horizontal = always_off
  35.         size = { 600 100% }
  36.  
  37.         scrollbar_vertical = {
  38.                 using = Scrollbar_Vertical
  39.         }
  40.  
  41.         scrollwidget = {
  42.  
  43.             vbox = {
  44.                 name = "main_content"
  45.                 using = Window_Margins_Sidebar
  46.                 minimumsize = { -1 1090 }
  47.  
  48.                 ###############
  49.                 # Character box
  50.                 widget = {
  51.                     name = "main_characters"
  52.                     datacontext = "[GetIllustration( 'character_view_bg' )]"
  53.                     layoutpolicy_horizontal = expanding
  54.                     size = { 0 305 }
  55.  
  56.  
  57.                     widget = {
  58.                         size = { 100% 100% }
  59.                         using = Animation_Character_Window_Refresh
  60.  
  61.                         background = {
  62.                             texture = "[Illustration.GetTexture( Character.Self )]"
  63.                             fittype = centercrop
  64.                             margin_bottom = 5
  65.                             margin_left = 1
  66.  
  67.                             modify_texture = {
  68.                                 texture = "gfx/interface/component_masks/mask_rough_edges_down_right.dds"
  69.                                 spriteType = Corneredtiled
  70.                                 spriteborder = { 20 20 }
  71.                                 blend_mode = alphamultiply
  72.                                 texture_density = 2
  73.                             }
  74.                         }
  75.                     }
  76.  
  77.                     buttons_window_control = {
  78.                         parentanchor = top|right
  79.  
  80.                         blockoverride "button_close"
  81.                         {
  82.                             onclick = "[CharacterWindow.Close]"
  83.                         }
  84.  
  85.                         blockoverride "button_back"
  86.                         {
  87.                             visible = "[HasViewHistory]"
  88.                             onclick = "[OpenFromViewHistory]"
  89.                             tooltip = "[GetViewHistoryTooltip]"
  90.                         }
  91.  
  92.                         blockoverride "button_me"
  93.                         {
  94.                             visible = "[Not(Character.IsLocalPlayer)]"
  95.                             onclick = "[DefaultOnCharacterClick(GetPlayer.GetID)]"
  96.                         }
  97.  
  98.                         blockoverride "button_pin" {}
  99.                     }
  100.  
  101.                     ### Primary Spouse
  102.                     container = {
  103.                         visible = "[CharacterWindow.ShouldShowSpouses]"
  104.                         parentanchor = bottom|hcenter
  105.                         position = { 15 0 }
  106.  
  107.                         using = Animation_Character_Window_Refresh_Short
  108.  
  109.                         button = {
  110.                             name = "marry_off_button"
  111.                             visible = "[And(And( Not( ObjectsEqual( GetPlayer, Character.Self ) ), CharacterWindow.ShouldShowFindSpouse ), Not(Character.IsConcubine))]"
  112.                             parentanchor = center
  113.                             position = { 0 35 }
  114.  
  115.                             onclick = "[Character.OpenPlayerInteraction('marry_off_interaction')]"
  116.                             tooltip = "CHARACTER_WINDOW_FIND_SPOUSE_SELFND_SPOUSE"
  117.                             enabled = "[Character.IsPlayerInteractionValid('marry_off_interaction')]"
  118.                             gfxtype = framedbuttongfx
  119.                             effectname = "NoHighlight"
  120.                             texture = "gfx/portraits/unknown_portraits/unknown_spouse.dds"
  121.                             size = { 195 282 }
  122.                             framesize = { 554 780 }
  123.                             upframe = 1
  124.                             overframe = 2
  125.                             alpha = 0.8
  126.  
  127.                             button_icon = {
  128.                                 parentanchor = center
  129.                                 alwaystransparent = yes
  130.                                 size = { 50 50 }
  131.                                 position = { 0 45 }
  132.                                 texture = "gfx/interface/icons/faith_doctrine_groups/doctrine_marriage_type.dds"
  133.                             }
  134.                         }
  135.  
  136.                         button = {
  137.                             name = "marry_off_button_player"
  138.                             visible = "[And( ObjectsEqual( GetPlayer, Character.Self ), CharacterWindow.ShouldShowFindSpouse)]"
  139.                             parentanchor = center
  140.                             position = { 0 35 }
  141.                             onclick = "[Character.OpenPlayerInteraction('marry_off_interaction')]"
  142.                             tooltip = "CHARACTER_WINDOW_FIND_SPOUSE_SELF"
  143.                             gfxtype = framedbuttongfx
  144.                             effectname = "NoHighlight"
  145.                             texture = "gfx/portraits/unknown_portraits/unknown_spouse.dds"
  146.                             size = { 195 282 }
  147.                             framesize = { 554 780 }
  148.                             upframe = 1
  149.                             overframe = 2
  150.                             alpha = 0.8
  151.  
  152.                             button_icon = {
  153.                                 parentanchor = center
  154.                                 alwaystransparent = yes
  155.                                 size = { 50 50 }
  156.                                 position = { 0 45 }
  157.                                 texture = "gfx/interface/icons/faith_doctrine_groups/doctrine_marriage_type.dds"
  158.                             }
  159.                         }
  160.  
  161.                         portrait_character_view_spouse = {
  162.                             datacontext = "[CharacterWindow.GetSpouse]"
  163.                             visible = "[CharacterWindow.GetSpouse.IsValid]"
  164.  
  165.                             state = {
  166.                                 name = cw_spouse_cycle
  167.                                 using = Animation_Refresh_FadeOut
  168.                             }
  169.  
  170.                             state = {
  171.                                 using = Animation_Refresh_FadeIn
  172.                             }
  173.                         }
  174.  
  175.                         widget = {
  176.                             parentanchor = bottom|hcenter
  177.                             size = { 250 40 }
  178.  
  179.                             flowcontainer = {
  180.                                 parentanchor = bottom|hcenter
  181.                                 widgetanchor = bottom|left
  182.                                 position = { -25 -3 }
  183.                                 ignoreinvisible = yes
  184.  
  185.                                 text_label_center = {
  186.                                     text = "[CharacterWindow.GetSpouseText]"
  187.                                     align = nobaseline
  188.                                 }
  189.  
  190.                                 flowcontainer = {
  191.                                     visible = "[CharacterWindow.ShouldShowSpouseButtons]"
  192.                                     margin_top = 2
  193.                                     spacing = -5
  194.  
  195.                                     using = Animation_ShowHide_Standard
  196.  
  197.                                     button_expand = {
  198.                                         enabled = "[CharacterWindow.IsShowPrevious]"
  199.                                         onclick = "[CharacterWindow.PreviousSpouse]"
  200.                                         onclick = "[PdxGuiTriggerAllAnimations('cw_spouse_cycle')]"
  201.                                         tooltip = "[CharacterWindow.GetPreviousSpouseTooltip]"
  202.                                         mirror = horizontal
  203.                                     }
  204.  
  205.                                     button_expand = {
  206.                                         enabled = "[CharacterWindow.IsShowNext]"
  207.                                         onclick = "[CharacterWindow.NextSpouse]"
  208.                                         onclick = "[PdxGuiTriggerAllAnimations('cw_spouse_cycle')]"
  209.                                         tooltip = "[CharacterWindow.GetNextSpouseTooltip]"
  210.                                     }
  211.                                 }
  212.                             }
  213.  
  214.                             icon = {
  215.                                 name = "marriage_type_icon"
  216.                                 visible = "[CharacterWindow.ShowMarriageIcon]"
  217.                                 position = { 68 7 }
  218.  
  219.                                 size = { 30 30 }
  220.                                 framesize = { 60 60 }
  221.                                 texture = "gfx/interface/icons/marriage_types.dds"
  222.                                 frame = "[CharacterWindow.GetMarriageIcon]"
  223.                                 tooltip = "[CharacterWindow.GetMarriageIconTooltip]"
  224.                             }
  225.                         }
  226.                     }
  227.  
  228.                     ### Main Character
  229.                     portrait_character_view_main = {
  230.                         name = "tutorial_highlight_main_character_button"
  231.                         parentanchor = bottom|left
  232.                         position = { 0 0 }
  233.  
  234.                         using = Animation_Character_Window_Refresh_Short
  235.  
  236.                         # icon_button_small_round = {
  237.                         #   name = "interact_button"
  238.                         #   visible = "[Character.IsAlive]"
  239.                         #   parentanchor = bottom|right
  240.                         #   position = { -30 0 }
  241.                         #   size = { 35 35 }
  242.  
  243.                         #   onclick = "[DefaultOnCharacterRightClick(Character.GetID)]"
  244.  
  245.                         #   tooltip = "CV_TT_INTERACT"
  246.                         #   using = tooltip_ne
  247.  
  248.                         #   icon = {
  249.                         #       name = "icon"
  250.                         #       texture = "gfx/interface/prototype/interact_temp.png"
  251.                         #       size = {18 18}
  252.                         #       parentanchor = center
  253.                         #   }
  254.                         # }
  255.                     }
  256.  
  257.                     ### Jailor / Imprisoner / Imprisoned by
  258.                     container = {
  259.                         name = "imprisoned_by"
  260.                         datacontext = "[CharacterWindow.GetCharacter.GetImprisonedBy]"
  261.                         visible = "[Character.IsValid]"
  262.                         parentanchor = bottom|right
  263.                         widgetanchor = top|left
  264.                         position = { -195 -250 }
  265.  
  266.                         using = Animation_Character_Window_Refresh
  267.  
  268.                         portrait_head_small = {
  269.                             blockoverride "portrait_transformation"
  270.                             {
  271.                                 portrait_scale = { -1 1 }
  272.                                 portrait_offset = { 1 0 }
  273.                             }
  274.                         }
  275.  
  276.                         text_label_center = {
  277.                             parentanchor = top|hcenter
  278.                             position = { 0 85 }
  279.                             text = "IMPRISONED_BY"
  280.                         }
  281.                     }
  282.  
  283.                     ### Liege
  284.                     container = {
  285.                         name = "liege"
  286.                         datacontext = "[CharacterWindow.GetCharacter.GetLiegeEvenWhenDead]"
  287.                         visible = "[CharacterWindow.HasLiegeEvenWhenDead]"
  288.                         parentanchor = bottom|right
  289.                         widgetanchor = top|left
  290.                         position = { -105 -250 }
  291.                         allow_outside = yes
  292.  
  293.                         using = Animation_Character_Window_Refresh
  294.  
  295.                         portrait_head_small = {
  296.                             blockoverride "portrait_transformation"
  297.                             {
  298.                                 portrait_scale = { -1 1 }
  299.                                 portrait_offset = { 1 0 }
  300.                             }
  301.  
  302.                             blockoverride "coa" {
  303.                                 coa_realm_tiny = {
  304.                                     visible = "[And(CharacterWindow.GetCharacter.IsAlive, CharacterWindow.HasLiegeTitleEvenWhenDead)]"
  305.                                     parentanchor = bottom|left
  306.                                     position = { 3 -2 }
  307.                                     scale = 0.85
  308.                                 }
  309.  
  310.                                 coa_title_tiny = {
  311.                                     visible = "[And(Not(CharacterWindow.GetCharacter.IsAlive), CharacterWindow.HasLiegeTitleEvenWhenDead)]"
  312.                                     datacontext = "[CharacterWindow.GetCharacter.GetLiegeTitleEvenWhenDead]"
  313.                                     parentanchor = bottom|left
  314.                                     position = { 3 -2 }
  315.                                     scale = 0.85
  316.                                 }
  317.                             }
  318.                         }
  319.  
  320.                         text_label_center = {
  321.                             parentanchor = top|hcenter
  322.                             position = { 0 85 }
  323.                             text = "[liege|E]"
  324.                             allow_outside = yes
  325.  
  326.                             icon = {
  327.                                 name = "non_dejure_liege"
  328.                                 datacontext = "[CharacterWindow.GetCharacter]"
  329.                                 visible = "[Not( Character.GetVassalContract.IsRightfulLiege )]"
  330.                                 position = { 3 0 }
  331.                                 parentanchor = right
  332.                                 widgetanchor = left
  333.                                 size = { 30 30 }
  334.                                 texture = "gfx/interface/icons/levy_tax_reduction.dds"
  335.  
  336.                                 using = tooltip_ws
  337.                                 tooltip = "MRW_TT_NOT_RIGHTFUL_LIEGE"
  338.                             }
  339.                         }
  340.  
  341.                         portrait_opinion = {
  342.                             name = "liege_opinion"
  343.                             parentanchor = top|hcenter
  344.                             position = { 0 110 }
  345.  
  346.                             datacontext = "[CharacterWindow.GetCharacter]"
  347.                             visible = "[And( Character.GetLiege.IsValid, And( Character.IsAlive, Not(Character.IsLocalPlayer ) ) )]"
  348.  
  349.                             blockoverride "dread_logic" {
  350.                                 visible = "[Character.ShouldShowDreadEffectIconFor( Character.GetLiege )]"
  351.                                 frame = "[Character.GetDreadEffectIconFrameFor( Character.GetLiege )]"
  352.                                 tooltip = "[Character.GetDreadEffectTooltipFor( Character.GetLiege )]"
  353.                             }
  354.  
  355.                             blockoverride "opinion_text"
  356.                             {
  357.                                 text = "[Character.GetOpinionOf( Character.GetLiege )|=]"
  358.                                 fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCharacter.GetLiege )]"
  359.                             }
  360.  
  361.                             blockoverride "ott_heading_text"
  362.                             {
  363.                                 text = "[Character.GetOpinionHeadingText( CharacterWindow.GetCharacter.GetLiege )]"
  364.                             }
  365.  
  366.                             blockoverride "ott_opinion_value_text"
  367.                             {
  368.                                 text = "[Character.GetOpinionOf( Character.GetLiege )|=]"
  369.                                 fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCharacter.GetLiege )]"
  370.                             }
  371.  
  372.                             blockoverride "ott_opinion_breakdown_text"
  373.                             {
  374.                                 text = "[Character.GetOpinionBreakdownText( CharacterWindow.GetCharacter.GetLiege )]"
  375.                             }
  376.  
  377.                             blockoverride "player_opinion"
  378.                             {
  379.                             }
  380.                         }
  381.                     }
  382.  
  383.                     ### Host
  384.                     container = {
  385.                         name = "host"
  386.                         datacontext = "[CharacterWindow.GetCourtOwner]"
  387.                         visible = "[And( Not( CharacterWindow.HasLiegeEvenWhenDead ), And( CharacterWindow.GetCourtOwner.IsValid, Not( CharacterWindow.GetCharacter.IsRuler ) ) )]"
  388.                         parentanchor = bottom|right
  389.                         widgetanchor = top|left
  390.                         position = { -105 -250 }
  391.  
  392.                         using = Animation_Character_Window_Refresh
  393.  
  394.                         portrait_head_small = {
  395.                             blockoverride "portrait_transformation"
  396.                             {
  397.                                 portrait_scale = { -1 1 }
  398.                                 portrait_offset = { 1 0 }
  399.                             }
  400.                         }
  401.  
  402.                         text_label_center = {
  403.                             parentanchor = top|hcenter
  404.                             position = { 0 85 }
  405.                             text = "[host|E]"
  406.                         }
  407.  
  408.                         portrait_opinion = {
  409.                             name = "liege_opinion"
  410.                             datacontext = "[CharacterWindow.GetCharacter]"
  411.                             visible = "[And(Character.IsAlive, Not(Character.IsLocalPlayer))]"
  412.                             parentanchor = top|hcenter
  413.                             position = { -10 110 }
  414.  
  415.                             blockoverride "dread_logic" {
  416.                                 visible = "[Character.ShouldShowDreadEffectIconFor( CharacterWindow.GetCourtOwner )]"
  417.                                 frame = "[Character.GetDreadEffectIconFrameFor( CharacterWindow.GetCourtOwner )]"
  418.                                 tooltip = "[Character.GetDreadEffectTooltipFor( CharacterWindow.GetCourtOwner )]"
  419.                             }
  420.  
  421.                             blockoverride "opinion_text"
  422.                             {
  423.                                 text = "[Character.GetOpinionOf( CharacterWindow.GetCourtOwner )|=]"
  424.                                 fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCourtOwner )]"
  425.                             }
  426.  
  427.                             blockoverride "ott_heading_text"
  428.                             {
  429.                                 text = "[Character.GetOpinionHeadingText( CharacterWindow.GetCourtOwner )]"
  430.                             }
  431.  
  432.                             blockoverride "ott_opinion_value_text"
  433.                             {
  434.                                 text = "[Character.GetOpinionOf( CharacterWindow.GetCourtOwner )|=]"
  435.                                 fonttintcolor = "[Character.GetOpinionOfTint( CharacterWindow.GetCourtOwner )]"
  436.                             }
  437.  
  438.                             blockoverride "ott_opinion_breakdown_text"
  439.                             {
  440.                                 text = "[Character.GetOpinionBreakdownText( CharacterWindow.GetCourtOwner )]"
  441.                             }
  442.                         }
  443.                     }
  444.  
  445.                     container = { # Player Heir for the local player
  446.                         name = "heir_player"
  447.                         datacontext = "[CharacterWindow.GetCharacter.GetPlayerHeir]"
  448.                         visible = "[And( Character.IsValid, CharacterWindow.GetCharacter.IsLocalPlayer )]"
  449.                         parentanchor = bottom|right
  450.                         position = { -20 -6 }
  451.  
  452.                         using = Animation_Character_Window_Refresh
  453.  
  454.                         portrait_head_small = {
  455.                             blockoverride "portrait_transformation"
  456.                             {
  457.                                 portrait_scale = { -1 1 }
  458.                                 portrait_offset = { 1 0 }
  459.                             }
  460.                         }
  461.  
  462.                         text_label_center = {
  463.                             parentanchor = top|hcenter
  464.                             position = { 0 85 }
  465.                             text = "[player_heir|E]"
  466.                             multiline = yes
  467.                             autoresize = yes
  468.                             max_width = 100
  469.                         }
  470.                     }
  471.                     container = { # Primary Heir for everyone else
  472.                         name = "heir_primary"
  473.                         datacontext = "[CharacterWindow.GetCharacter.GetPrimaryTitle.GetHeir]"
  474.                         visible = "[And( And( Character.IsValid, Not(CharacterWindow.GetCharacter.IsLocalPlayer) ), CharacterWindow.GetCharacter.IsAlive )]"
  475.                         parentanchor = bottom|right
  476.                         position = { -20 -6 }
  477.  
  478.                         using = Animation_Character_Window_Refresh
  479.  
  480.                         portrait_head_small = {
  481.                             blockoverride "portrait_transformation"
  482.                             {
  483.                                 portrait_scale = { -1 1 }
  484.                                 portrait_offset = { 1 0 }
  485.                             }
  486.                         }
  487.  
  488.                         text_label_center = {
  489.                             parentanchor = top|hcenter
  490.                             position = { 0 85 }
  491.                             text = "[primary_heir|E]"
  492.                         }
  493.                     }
  494.  
  495.                     ### DEBUG STUFF, please make sure those are visible and usable, especially the watch button, type "watch" into the console to show it
  496.                     flowcontainer = {
  497.                         name = "debug_buttons"
  498.                         parentanchor = top|left
  499.                         position = { 200 20 }
  500.                         ignoreinvisible = yes
  501.  
  502.                         # Debug personality
  503.                         text_single = {
  504.                             visible = "[InDebugMode]"
  505.                             tooltip = "CHARACTER_AI_VALUES_DEBUG_TOOLTIP"
  506.                             text = "#D AIValue#!"
  507.                             align = nobaseline
  508.                         }
  509.  
  510.                         button = {
  511.                             using = editor_button
  512.                             name = "ai_watch_button"
  513.                             size = { 60 40 }
  514.                             text = "AI Watch"
  515.                             align = center|nobaseline
  516.                             onclick = "[CharacterWindow.OnAIWatch]"
  517.                             visible = "[AIWatchWindowsEnabled]"
  518.                             fontcolor = { 1.0 1.0 1.0 1.0 }
  519.                         }
  520.  
  521.                         watch_window_button = {
  522.                             size = { 60 40 }
  523.                             onclick = "[AddWatchWindow( CharacterWindow.GetCharacter.MakeScope )]"
  524.                         }
  525.  
  526.                         button = {
  527.                             using = editor_button
  528.                             name = "copy_portrait_button"
  529.                             parentanchor = right
  530.                             size = { 60 40 }
  531.                             text = "portrait"
  532.                             align = center|nobaseline
  533.                             onclick = "[CharacterWindow.OnCopyPortrait]"
  534.                             visible = "[IsGameViewOpen('portrait_editor')]"
  535.                             fontcolor = { 1.0 1.0 1.0 1.0 }
  536.                         }
  537.                     }
  538.  
  539.                     flowcontainer = {
  540.                         parentanchor = bottom|left
  541.                         position = { 5 -5 }
  542.                         spacing = 5
  543.                         ignoreinvisible = yes
  544.                         direction = vertical
  545.  
  546.                         button_normal = {
  547.                             name = "open_kill_list"
  548.                             visible = "[Character.HasKillsKnownTo( GetPlayer )]"
  549.  
  550.                             size = { 35 35 }
  551.  
  552.                             datacontext = "[Character]"
  553.                             tooltip = "OPEN_KILL_LIST_TOOLTIP"
  554.                             using = tooltip_es
  555.  
  556.  
  557.                             icon = {
  558.                                 texture = "gfx/interface/buttons/button_lifestyles_base.dds"
  559.                                 size = { 100% 100% }
  560.                             }
  561.  
  562.                             button_kill_list = {
  563.                                 onclick = "[ToggleGameViewData( 'kill_list', Character.GetID  )]"
  564.                                 size = { 25 25 }
  565.                                 parentanchor = center
  566.                                
  567.                                 modify_texture = {
  568.                                     texture = "gfx/interface/icons/focuses/hud_icon_mask.dds"
  569.                                     blend_mode = alphamultiply
  570.                                 }
  571.                             }
  572.                         }
  573.  
  574.                         container = {
  575.                             visible = "[Character.IsPlayer]"
  576.                             tooltip = "PLAYER_STRESS_TOOLTIP"
  577.                             using = tooltip_es
  578.  
  579.                             widget = {
  580.                                 visible = "[Not(GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)3'))]"
  581.                                 size = { 100% 100%}
  582.  
  583.                                 using = Animation_ShowHide_Standard
  584.  
  585.                                 background = {
  586.                                     texture = "gfx/interface/component_masks/mask_fade_circle.dds"
  587.                                     color = { 0.15 0.15 0.15 1 }
  588.                                     margin = { 12 12 }
  589.                                 }
  590.                             }
  591.  
  592.                             widget = {
  593.                                 visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)3')]"
  594.                                 parentanchor = center
  595.                                 size = { 180% 180% }
  596.                                 using = Animation_ShowHide_Standard
  597.  
  598.                                 icon = {
  599.                                     size = { 100% 100% }
  600.                                     texture = "gfx/interface/component_masks/mask_fade_circle.dds"
  601.                                     using = Color_Red
  602.                                     alpha = 0
  603.  
  604.                                     state = {
  605.                                         name = a
  606.                                         next = b
  607.                                         trigger_on_create = yes
  608.                                         alpha = 0.5
  609.                                         duration = 0.4
  610.                                         using = Animation_Curve_Default
  611.                                     }
  612.  
  613.                                     state = {
  614.                                         name = b
  615.                                         next = a
  616.                                         alpha = 0
  617.                                         duration = 1
  618.                                         using = Animation_Curve_Default
  619.                                     }
  620.                                 }
  621.                             }
  622.  
  623.  
  624.                             icon = {
  625.                                 parentanchor = vcenter
  626.                                 size = { 35 35 }
  627.                                 texture = "gfx/interface/icons/stress/icon_stress_level.dds"
  628.                                 framesize = { 70 70 }
  629.                                 frame = "[IntToFrameIndex( GetPlayer.GetStressLevel )]"
  630.  
  631.  
  632.                                 modify_texture = {
  633.                                     visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]"
  634.                                     name = "glow"
  635.                                     texture = "gfx/interface/colors/gold.dds"
  636.                                     blend_mode = colordodge
  637.                                     alpha = 0
  638.                                 }
  639.  
  640.                                 state = {
  641.                                     name = a
  642.                                     next = b
  643.                                     duration = 0.4
  644.                                     trigger_on_create = yes
  645.                                     using = Animation_Curve_Default
  646.  
  647.                                     modify_texture = {
  648.                                         name = "glow"
  649.                                         alpha = 0.3
  650.                                     }
  651.                                 }
  652.  
  653.                                 state = {
  654.                                     name = b
  655.                                     next = a
  656.                                     duration = 1
  657.                                     using = Animation_Curve_Default
  658.  
  659.                                     modify_texture = {
  660.                                         name = "glow"
  661.                                         alpha = 0
  662.                                     }
  663.                                 }
  664.                             }
  665.                         }
  666.  
  667.                         button_normal = {
  668.                             name = "open_focus_button"
  669.  
  670.                             size = { 35 35 }
  671.                            
  672.                             visible = "[Or( Character.GetFocus.IsValid, Character.PlayerCanManageFocus )]"
  673.                             tooltip = "PLAYER_LIFESTYLE_TOOLTIP"
  674.                             using = tooltip_ne
  675.  
  676.  
  677.                             icon = {
  678.                                 texture = "gfx/interface/buttons/button_lifestyles_base.dds"
  679.                                 size = { 100% 100% }
  680.                             }
  681.  
  682.                             highlight_icon_lifestyle_focus = {
  683.                                 size = { 100% 100% }
  684.                                 texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]"
  685.                                 onclick = "[CharacterWindow.OnClickFocusButton]"
  686.                                 enabled = "[CharacterWindow.CanClickFocusButton]"
  687.                                 tooltip = "[CharacterWindow.GetFocusButtonTooltip]"
  688.  
  689.                                 modify_texture = {
  690.                                     texture = "gfx/interface/icons/focuses/hud_icon_mask.dds"
  691.                                     blend_mode = alphamultiply
  692.                                 }
  693.                             }
  694.                         }
  695.                     }
  696.                 }
  697.  
  698.                 ############################
  699.                 ### Character internal info
  700.                 hbox = {
  701.                     name = "character_info"
  702.                     layoutpolicy_horizontal = expanding
  703.                     margin = { 0 5 }
  704.                     margin_left = 5
  705.  
  706.                     background = {
  707.                         using = Background_Area_Dark
  708.                         margin_left = 5
  709.                     }
  710.  
  711.                     vbox = {
  712.                         layoutpolicy_horizontal = expanding
  713.  
  714.                         vbox = {
  715.                             name = "name_and_traits"
  716.                             layoutpolicy_horizontal = expanding
  717.  
  718.                             using = Animation_Character_Window_Refresh
  719.  
  720.  
  721.                             vbox = {
  722.                                 name = "name_etc"
  723.                                 layoutpolicy_horizontal = expanding
  724.  
  725.                                 ## Name
  726.                                 hbox = {
  727.                                     layoutpolicy_horizontal = expanding
  728.                                     margin = { 3 0 }
  729.                                     margin_top = 1
  730.  
  731.                                     text_single = {
  732.                                         name = "character_name"
  733.                                         text = "[Character.GetUINameNotMeNoTooltip], "
  734.                                         margin_left = 2
  735.                                         fontsize = 20
  736.                                         max_width = 400
  737.                                         fontsize_min = 14
  738.                                         align = nobaseline
  739.                                         default_format = "#medium"
  740.                                         tooltip = "[Character.GetUINameNotMeNoTooltip]"
  741.                                     }
  742.  
  743.                                     text_single = {
  744.                                         name = "character_age"
  745.                                         text = " [Character.GetAge]"
  746.                                         default_format = "#low"
  747.                                         tooltip = "[Character.GetDeathOrBirthDateInfo]"
  748.                                         fontsize = 20
  749.                                         align = nobaseline
  750.                                     }
  751.  
  752.                                     hbox = {
  753.                                         margin_left = 4
  754.                                         spacing = -3
  755.  
  756.                                         icon = {
  757.                                             visible = "[Not(Character.IsDeadAndValid)]"
  758.                                             size = { 23 23 }
  759.                                             framesize = { 60 60 }
  760.                                             frame = "[Character.GetHealthIconFrame]"
  761.                                             texture = "gfx/interface/icons/character_status/icon_health.dds"
  762.                                             tooltip = "[Character.GetHealthInfo]"
  763.                                         }
  764.                                     }
  765.  
  766.                                     expand = {}
  767.                                     hbox_mod_renamer = {}
  768.                                 }
  769.                                 hbox_mod_birth_death_dates = {}
  770.                                 hbox = {
  771.                                     name = "AI_personality"
  772.                                     layoutpolicy_horizontal = expanding
  773.                                     margin = { 3 0 }
  774.                                     spacing = 2
  775.  
  776.                                     text_single = {
  777.                                         name = "character_relation_to_you"
  778.                                         max_width = 432
  779.                                         text = "[Character.GetCharacterRelationCombine( GetPlayer )]"
  780.                                         fontsize_min = 13
  781.                                         align = nobaseline
  782.                                     }
  783.  
  784.                                     icon = {
  785.                                         visible = "[Not(Character.IsFemale)]"
  786.                                         size = { 20 20 }
  787.                                         framesize = { 40 40 }
  788.                                         frame = "[Character.GetSexualityFrame]"
  789.                                         texture = "gfx/interface/icons/character_status/sexuality_icons_male.dds"
  790.                                         tooltip = "SEXUALITY_TT"
  791.                                     }
  792.  
  793.                                     icon = {
  794.                                         visible = "[Character.IsFemale]"
  795.                                         size = { 20 20 }
  796.                                         framesize = { 40 40 }
  797.                                         frame = "[Character.GetSexualityFrame]"
  798.                                         texture = "gfx/interface/icons/character_status/sexuality_icons_female.dds"
  799.                                         tooltip = "SEXUALITY_TT"
  800.                                     }
  801.  
  802.                                     expand = {}
  803.                                 }
  804.                             }
  805.  
  806.                     ## Traits
  807.                     hbox = {
  808.                         name = "tutorial_highlight_traits"
  809.                         layoutpolicy_horizontal = expanding
  810.                         margin_bottom = 2
  811.  
  812.                         widget = {
  813.                             layoutpolicy_horizontal = expanding
  814.                             size = { 0 55 }
  815.  
  816.                             hbox = {
  817.                                 name = "3_personality_traits"
  818.                                 visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]"
  819.  
  820.                                 fixedgridbox = {
  821.                                     name = "personality_traits"
  822.                                     datamodel = "[CharacterWindow.GetPersonalityTraits]"
  823.                                     flipdirection = yes
  824.                                     addcolumn = 54
  825.                                     addrow = 55
  826.                                     maxhorizontalslots = 3
  827.  
  828.                                     item = {
  829.                                         icon_trait = {
  830.                                             blockoverride "icon_size"
  831.                                             {
  832.                                                 size = { 55 55 }
  833.                                             }
  834.                                         }
  835.                                     }
  836.                                 }
  837.                                 #### Changed by Zing ####
  838.                                 # margin from 5 to 1 to make better room
  839.                                 #################
  840.                                 hbox = {
  841.                                     visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]"
  842.                                     layoutpolicy_vertical = expanding
  843.                                     margin = { 1 10 }
  844.  
  845.                                     divider_light = {
  846.                                         layoutpolicy_vertical = expanding
  847.                                     }
  848.                                 }
  849.  
  850.                                 #### Changed by Zing ####
  851.                                 # Adjusted to fit 6 icons comfortably
  852.                                 #################
  853.                                 fixedgridbox = {
  854.                                     name = "traits_big"
  855.                                     datamodel = "[CharacterWindow.GetTraits]"
  856.                                     visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6')]"
  857.                                     flipdirection = yes
  858.                                     addcolumn = 46
  859.                                     addrow = 55
  860.                                     maxhorizontalslots = 6
  861.                                     maxverticalslots = 1
  862.  
  863.                                     item = {
  864.                                         icon_trait = {
  865.                                             blockoverride "icon_size"
  866.                                             {
  867.                                                 size = { 55 55 }
  868.                                             }
  869.                                         }
  870.                                     }
  871.                                 }
  872.                                 #### Changed by Zing ####
  873.                                 # Slightly increased size of the icons to reduce wasted space
  874.                                 #################
  875.                                 fixedgridbox = {
  876.                                     name = "traits_medium"
  877.                                     datamodel = "[CharacterWindow.GetTraits]"
  878.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'))]"
  879.                                     flipdirection = yes
  880.                                     addcolumn = 40
  881.                                     addrow = 54
  882.                                     maxhorizontalslots = 7
  883.                                     maxverticalslots = 1
  884.  
  885.                                     item = {
  886.                                         icon_trait = {
  887.                                             blockoverride "icon_size"
  888.                                             {
  889.                                                 size = { 48 48 }
  890.                                             }
  891.  
  892.                                             blockoverride "glow_radius"
  893.                                             {
  894.                                                 glow_radius = 4
  895.                                             }
  896.                                         }
  897.                                     }
  898.                                 }
  899.  
  900.                                 #### NEW by Zing ####
  901.                                 # 1 row 8 icons, smaller size to make transition to 10 icons more gradual
  902.                                 #############
  903.                                 fixedgridbox = {
  904.                                     name = "traits_medium_8_icons_step"
  905.                                     datamodel = "[CharacterWindow.GetTraits]"
  906.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'))]"
  907.                                     flipdirection = yes
  908.                                     addcolumn = 35.2
  909.                                     addrow = 54
  910.                                     maxhorizontalslots = 8
  911.                                     maxverticalslots = 1
  912.  
  913.                                     item = {
  914.                                         icon_trait = {
  915.                                             blockoverride "icon_size"
  916.                                             {
  917.                                                 size = { 42 42 }
  918.                                             }
  919.                                            
  920.                                             blockoverride "glow_radius"
  921.                                             {
  922.                                                 glow_radius = 4
  923.                                             }
  924.                                         }
  925.                                     }
  926.                                 }
  927.  
  928.                                 #### NEW by Zing ####
  929.                                 # 1 row 9 icons, smaller size to make transition to 10 icons more gradual
  930.                                 #############
  931.                                 fixedgridbox = {
  932.                                     name = "traits_medium_9_icons_step"
  933.                                     datamodel = "[CharacterWindow.GetTraits]"
  934.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)9'))]"
  935.                                     flipdirection = yes
  936.                                     addcolumn = 31.5
  937.                                     addrow = 54
  938.                                     maxhorizontalslots = 9
  939.                                     maxverticalslots = 1
  940.  
  941.                                     item = {
  942.                                         icon_trait = {
  943.                                             blockoverride "icon_size"
  944.                                             {
  945.                                                 size = { 36 36 }
  946.                                             }
  947.                                            
  948.                                             blockoverride "glow_radius"
  949.                                             {
  950.                                                 glow_radius = 3
  951.                                             }
  952.                                         }
  953.                                     }
  954.                                 }
  955.  
  956.                                 #### Changed by Zing ####
  957.                                 # 1 row 10 icons, made size of icons slightly bigger for better visibility and reduced space between them
  958.                                 #################
  959.                                 fixedgridbox = {
  960.                                     name = "traits_small"
  961.                                     datamodel = "[CharacterWindow.GetTraits]"
  962.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)9'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'))]"
  963.                                     flipdirection = yes
  964.                                     addcolumn = 28.3
  965.                                     addrow = 54
  966.                                     maxhorizontalslots = 10
  967.                                     maxverticalslots = 1
  968.  
  969.                                     item = {
  970.                                         icon_trait = {
  971.                                             blockoverride "icon_size"
  972.                                             {
  973.                                                 size = { 32 32 }
  974.                                             }
  975.  
  976.                                             blockoverride "glow_radius"
  977.                                             {
  978.                                                 glow_radius = 2
  979.                                             }
  980.                                         }
  981.                                     }
  982.                                 }
  983.  
  984.                                 #### Changed by Zing ####
  985.                                 # 1 row 11 icons, made size of icons slightly bigger for better visibility and reduced space between them
  986.                                 #################
  987.                                 fixedgridbox = {
  988.                                     name = "traits_small_last_step"
  989.                                     datamodel = "[CharacterWindow.GetTraits]"
  990.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)11'))]"
  991.                                     flipdirection = yes
  992.                                     addcolumn = 26
  993.                                     addrow = 54
  994.                                     maxhorizontalslots = 11
  995.                                     maxverticalslots = 1
  996.  
  997.                                     item = {
  998.                                         icon_trait = {
  999.                                             blockoverride "icon_size"
  1000.                                             {
  1001.                                                 size = { 28 28 }
  1002.                                             }
  1003.  
  1004.                                             blockoverride "glow_radius"
  1005.                                             {
  1006.                                                 glow_radius = 2
  1007.                                             }
  1008.                                         }
  1009.                                     }
  1010.                                 }
  1011.  
  1012.                                 #### Changed by Zing ####
  1013.                                 # added extra traits to fill out some of the blank spacethe space
  1014.                                 # changed visibility condition to display this preset between 10 and 24 traits
  1015.                                 # Now traits_tiny will display up to 24 traits at once
  1016.                                 #################
  1017.                                 fixedgridbox = {
  1018.                                     name = "traits_tiny"
  1019.                                     datamodel = "[CharacterWindow.GetTraits]"
  1020.                                     #visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10')]"
  1021.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)11'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22'))]"
  1022.                                     flipdirection = yes
  1023.                                     addcolumn = 25.8
  1024.                                     addrow = 27
  1025.                                     maxhorizontalslots = 11
  1026.                                     datamodel_wrap = 11
  1027.                                     maxverticalslots = 2
  1028.                                    
  1029.                                     item = {
  1030.                                         icon_trait = {
  1031.                                             blockoverride "icon_size"
  1032.                                             {
  1033.                                                 size = { 30 30 }
  1034.                                             }
  1035.  
  1036.                                             blockoverride "glow_radius"
  1037.                                             {
  1038.                                                 glow_radius = 2
  1039.                                             }
  1040.                                         }
  1041.                                     }
  1042.                                 }
  1043.  
  1044.                                 #### Changed by Zing ####
  1045.                                 # Adjusted scrollbox to fit 11 icons per row
  1046.                                 # Fixed misaligned spaces and made it look overall nicer.
  1047.                                 #################
  1048.                                 scrollbox = {
  1049.                                     name = "traits_scroller_smoll"
  1050.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22')]"
  1051.                                     size = { 0 54 }
  1052.                                     layoutpolicy_vertical = fixed
  1053.                                     layoutpolicy_horizontal = expanding
  1054.                                     scrollbarpolicy_vertical = as_needed
  1055.                                     blockoverride "scrollbox_margins"
  1056.                                     {
  1057.                                         margin = { 0 0 }
  1058.                                         margin_right = 25
  1059.                                     }
  1060.                                    
  1061.                                     using = Animation_Tab_Switch
  1062.                                     blockoverride "scrollbox_content"
  1063.                                     {
  1064.                                         spacing = 2
  1065.                                         fixedgridbox = {
  1066.                                             name = "traits_tiny_showmoretraits_smoll"
  1067.                                             datamodel = "[CharacterWindow.GetTraits]"
  1068.                                             visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22')]"
  1069.                                             flipdirection = yes
  1070.                                             addcolumn = 27
  1071.                                             addrow = 27
  1072.                                             maxhorizontalslots = 10
  1073.                                             datamodel_wrap = 10
  1074.  
  1075.                                             item = {
  1076.                                                 icon_trait = {
  1077.                                                     blockoverride "icon_size"
  1078.                                                     {
  1079.                                                         size = { 31 31 }
  1080.                                                     }
  1081.  
  1082.                                                     blockoverride "glow_radius"
  1083.                                                     {
  1084.                                                         glow_radius = 2
  1085.                                                     }
  1086.                                                 }
  1087.                                             }
  1088.                                         }
  1089.                                     }
  1090.                                 }
  1091.  
  1092.                                 expand = {}
  1093.                             }
  1094.  
  1095.                             hbox = {
  1096.                                 name = "4_personality_traits"
  1097.                                 visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]"
  1098.  
  1099.                                 fixedgridbox = {
  1100.                                     name = "personality_traits"
  1101.                                     datamodel = "[CharacterWindow.GetPersonalityTraits]"
  1102.                                     flipdirection = yes
  1103.                                     addcolumn = 54
  1104.                                     addrow = 55
  1105.                                     maxhorizontalslots = 4
  1106.  
  1107.                                     item = {
  1108.                                             icon_trait = {
  1109.                                                 blockoverride "icon_size"
  1110.                                                 {
  1111.                                                     size = { 55 55 }
  1112.                                                 }
  1113.                                         }
  1114.                                     }
  1115.                                 }
  1116.                                
  1117.                                 #### Changed by Zing ####
  1118.                                 # margin from 5 to 2
  1119.                                 #################
  1120.                                 hbox = {
  1121.                                     visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]"
  1122.                                     layoutpolicy_vertical = expanding
  1123.                                     margin = { 2 10 }
  1124.  
  1125.                                     divider_light = {
  1126.                                         layoutpolicy_vertical = expanding
  1127.                                     }
  1128.                                 }
  1129.  
  1130.                                 #### Changed by Zing ####
  1131.                                 # maxhorizontalslots from 5, the extra slot did not appear to serve any purpose anyway
  1132.                                 #################
  1133.                                 fixedgridbox = {
  1134.                                     name = "traits_big"
  1135.                                     datamodel = "[CharacterWindow.GetTraits]"
  1136.                                     visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5')]"
  1137.                                     flipdirection = yes
  1138.                                     addcolumn = 45
  1139.                                     addrow = 54
  1140.                                     maxhorizontalslots = 5
  1141.                                     maxverticalslots = 1
  1142.  
  1143.                                     item = {
  1144.                                         icon_trait = {
  1145.                                             blockoverride "icon_size"
  1146.                                             {
  1147.                                                 size = { 55 55 }
  1148.                                             }
  1149.                                             blockoverride "glow_radius"
  1150.                                             {
  1151.                                                     glow_radius = 3
  1152.                                             }
  1153.                                         }
  1154.                                     }
  1155.                                 }
  1156.  
  1157.                                 #### Changed by Zing ####
  1158.                                 # REduced to fit 6 icons perfectly
  1159.                                 #################
  1160.                                 fixedgridbox = {
  1161.                                     name = "traits_medium"
  1162.                                     datamodel = "[CharacterWindow.GetTraits]"
  1163.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'))]"
  1164.                                     flipdirection = yes
  1165.                                     addcolumn = 37.5
  1166.                                     addrow = 54
  1167.                                     maxhorizontalslots = 6
  1168.                                     maxverticalslots = 1
  1169.  
  1170.                                     item = {
  1171.                                         icon_trait = {
  1172.                                             blockoverride "icon_size"
  1173.                                             {
  1174.                                                 size = { 44 44 }
  1175.                                             }
  1176.  
  1177.                                             blockoverride "glow_radius"
  1178.                                             {
  1179.                                                     glow_radius = 3
  1180.                                             }
  1181.                                         }
  1182.                                     }
  1183.                                 }
  1184.  
  1185.                                 #### Changed by Zing ####
  1186.                                 # REduced to fit 6 icons perfectly
  1187.                                 #################
  1188.                                 fixedgridbox = {
  1189.                                     name = "traits_medium_7_icons_step"
  1190.                                     datamodel = "[CharacterWindow.GetTraits]"
  1191.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'))]"
  1192.                                     flipdirection = yes
  1193.                                     addcolumn = 32.2
  1194.                                     addrow = 54
  1195.                                     maxhorizontalslots = 7
  1196.                                     maxverticalslots = 1
  1197.  
  1198.                                     item = {
  1199.                                         icon_trait = {
  1200.                                             blockoverride "icon_size"
  1201.                                             {
  1202.                                                 size = { 40 40 }
  1203.                                             }
  1204.  
  1205.                                             blockoverride "glow_radius"
  1206.                                             {
  1207.                                                     glow_radius = 3
  1208.                                             }
  1209.                                         }
  1210.                                     }
  1211.                                 }
  1212.  
  1213.                                 ### NEW ####
  1214.                                 # 1 row 8 icons, smaller size to make transition to 10 icons more gradual
  1215.                                 ###########
  1216.                                 fixedgridbox = {
  1217.                                     name = "traits_medium_8_icons_step"
  1218.                                     datamodel = "[CharacterWindow.GetTraits]"
  1219.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'))]"
  1220.                                     flipdirection = yes
  1221.                                     addcolumn = 28.5
  1222.                                     addrow = 52
  1223.                                     maxhorizontalslots = 8
  1224.                                     maxverticalslots = 1
  1225.  
  1226.                                     item = {
  1227.                                         icon_trait = {
  1228.                                             blockoverride "icon_size"
  1229.                                             {
  1230.                                                 size = { 34 34 }
  1231.                                             }
  1232.  
  1233.                                             blockoverride "glow_radius"
  1234.                                             {
  1235.                                                 glow_radius = 3
  1236.                                             }
  1237.                                         }
  1238.                                     }
  1239.                                 }
  1240.  
  1241.                                 #### Changed by Zing ####
  1242.                                 # Changed to fit 10 slightly smaller icons in one row
  1243.                                 #################
  1244.                                 fixedgridbox = {
  1245.                                     name = "traits_small"
  1246.                                     datamodel = "[CharacterWindow.GetTraits]"
  1247.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'))]"
  1248.                                     flipdirection = yes
  1249.                                     addcolumn = 22.8
  1250.                                     addrow = 52
  1251.                                     maxhorizontalslots = 10
  1252.                                     maxverticalslots = 1
  1253.  
  1254.                                     item = {
  1255.                                         icon_trait = {
  1256.                                             blockoverride "icon_size"
  1257.                                             {
  1258.                                                 size = { 28 28 }
  1259.                                             }
  1260.  
  1261.                                                 blockoverride "glow_radius"
  1262.                                                 {
  1263.                                                     glow_radius = 2
  1264.                                             }
  1265.                                         }
  1266.                                     }
  1267.                                 }
  1268.  
  1269.                                 #### Changed by Zing ####
  1270.                                 # added extra traits to make the row more compact, both rows row will display 10 traits each
  1271.                                 # For a total of 20 traits at once
  1272.                                 #################
  1273.                                 fixedgridbox = {
  1274.                                     name = "traits_tiny"
  1275.                                     datamodel = "[CharacterWindow.GetTraits]"
  1276.                                     #visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8')]"
  1277.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20'))]"
  1278.                                     flipdirection = yes
  1279.                                     addcolumn = 22.8
  1280.                                     addrow = 26
  1281.                                     maxhorizontalslots = 10
  1282.                                     datamodel_wrap = 10
  1283.                                     maxverticalslots = 2
  1284.  
  1285.                                     item = {
  1286.                                         icon_trait = {
  1287.                                             blockoverride "icon_size"
  1288.                                             {
  1289.                                                 size = { 28 28 }
  1290.                                             }
  1291.  
  1292.                                             blockoverride "glow_radius"
  1293.                                             {
  1294.                                                 glow_radius = 2
  1295.                                             }
  1296.                                         }
  1297.                                     }
  1298.                                 }
  1299.  
  1300.                                 #### Changed by Zing ####
  1301.                                 # Fixed up scrollbox to be pretier
  1302.                                 #################
  1303.                                 scrollbox = {
  1304.                                     name = "traits_scroller"
  1305.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20')]"
  1306.                                     size = { 0 55 }
  1307.                                     layoutpolicy_vertical = fixed
  1308.                                     layoutpolicy_horizontal = expanding
  1309.                                     scrollbarpolicy_vertical = as_needed
  1310.                                     blockoverride "scrollbox_margins"
  1311.                                     {
  1312.                                         margin = { 0 0 }
  1313.                                         margin_right = 25
  1314.                                     }
  1315.                                     using = Animation_Tab_Switch
  1316.                                     blockoverride "scrollbox_content"
  1317.                                     {
  1318.                                         spacing = 2
  1319.                                         fixedgridbox = {
  1320.                                             name = "traits_tiny_showmoretraits"
  1321.                                             datamodel = "[CharacterWindow.GetTraits]"
  1322.                                             visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20')]"
  1323.                                             flipdirection = yes
  1324.                                             addcolumn = 27
  1325.                                             addrow = 26
  1326.                                             maxhorizontalslots = 8
  1327.                                             datamodel_wrap = 8
  1328.  
  1329.                                             item = {
  1330.                                                 icon_trait = {
  1331.                                                     blockoverride "icon_size"
  1332.                                                     {
  1333.                                                         size = { 31 31 }
  1334.                                                     }
  1335.  
  1336.                                                     blockoverride "glow_radius"
  1337.                                                     {
  1338.                                                     glow_radius = 2
  1339.                                                     }
  1340.                                                 }
  1341.                                             }
  1342.                                         }
  1343.                                     }
  1344.                                 }
  1345.  
  1346.                                 expand = {}
  1347.                             }
  1348.                         }
  1349.  
  1350.                         expand = {}
  1351.                     }
  1352.                         }
  1353.  
  1354.                         divider_light = {
  1355.                             layoutpolicy_horizontal = expanding
  1356.                         }
  1357.  
  1358.                         ## Skills, Culture, Religion
  1359.                         hbox = {
  1360.                             name = "skills_culture_religion"
  1361.                             layoutpolicy_horizontal = expanding
  1362.  
  1363.                             background = {
  1364.                                 using = Background_Area
  1365.                             }
  1366.  
  1367.                             hbox = {
  1368.                                 name = "tutorial_highlight_skills"
  1369.  
  1370.                                 hbox = {
  1371.                                     name = "skills_grid"
  1372.                                     datamodel = "[CharacterWindow.GetSkills]"
  1373.                                     margin = { 2 0 }
  1374.  
  1375.                                     using = Animation_Character_Window_Refresh
  1376.  
  1377.                                     item = {
  1378.                                         vbox = {
  1379.                                             tooltip = "SKILL_ITEM_TOOLTIP"
  1380.                                             using = tooltip_ne
  1381.                                             spacing = -3
  1382.  
  1383.                                             icon = {
  1384.                                                 name = "skill_icon"
  1385.                                                 size = { 32 32 }
  1386.                                                 framesize = { 60 60 }
  1387.                                                 frame = "[SkillItem.GetFrame]"
  1388.                                                 texture = "gfx/interface/icons/icon_skills.dds"
  1389.                                             }
  1390.  
  1391.                                             text_single = {
  1392.                                                 name = "skill_value"
  1393.                                                 text = "[SkillItem.GetValue]"
  1394.                                                 default_format = "#high"
  1395.                                                 align = nobaseline
  1396.  
  1397.                                                 background = {
  1398.                                                     name = "skill_icon_bg"
  1399.                                                     texture = "gfx/interface/window_character/character_view_skills_bg.dds"
  1400.                                                     frame = "[SkillItem.GetFrame]"
  1401.                                                     framesize = { 70 26 }
  1402.                                                     margin = { 10 0 }
  1403.                                                 }
  1404.                                             }
  1405.                                         }
  1406.                                     }
  1407.                                 }
  1408.  
  1409.                                 spacer = {
  1410.                                     size = { 10 0 }
  1411.                                 }
  1412.  
  1413.                                 vbox = {
  1414.                                     tooltip = "[CharacterWindow.GetCharacter.GetProwessBreakdown]"
  1415.                                     spacing = -3
  1416.  
  1417.                                     using = Animation_Character_Window_Refresh
  1418.  
  1419.                                     icon = {
  1420.                                         name = "prowess_icon"
  1421.                                         size = { 32 32 }
  1422.                                         texture = "gfx/interface/icons/icon_prowess.dds"
  1423.                                     }
  1424.  
  1425.                                     text_single = {
  1426.                                         name = "prowess_value"
  1427.                                         text = "[CharacterWindow.GetCharacter.GetProwess|0]"
  1428.                                         align = nobaseline
  1429.                                     }
  1430.                                 }
  1431.  
  1432.                                 divider_light = {
  1433.                                     layoutpolicy_vertical = expanding
  1434.                                 }
  1435.  
  1436.                                 spacer = {
  1437.                                     size = { 5 5 }
  1438.                                 }
  1439.                             }
  1440.  
  1441.                             hbox = {
  1442.                                 name = "faith_and_culture"
  1443.                                 layoutpolicy_horizontal = expanding
  1444.  
  1445.                                 using = Animation_Character_Window_Refresh
  1446.  
  1447.                                 button_religion_icon = {
  1448.                                     name = "faith_button"
  1449.                                     datacontext = "[Character.GetFaith]"
  1450.                                     size = { 45 45 }
  1451.                                 }
  1452.  
  1453.                                 vbox = {
  1454.                                     layoutpolicy_horizontal = expanding
  1455.  
  1456.                                     button_standard_hover  = {
  1457.                                         datacontext = "[Character.GetFaith]"
  1458.                                         layoutpolicy_horizontal = expanding
  1459.                                         size = { 0 25 }
  1460.                                         onclick = "[DefaultOnFaithClick(Faith.GetID)]"
  1461.                                         text = "FAITH_CHARACTER_WINDOW"
  1462.                                         default_format = "#clickable;italic"
  1463.                                         align = left|nobaseline
  1464.                                         margin_left = 5
  1465.  
  1466.                                         tooltipwidget = { faith_tooltip_click = {} }
  1467.                                     }
  1468.  
  1469.                                     button_standard_hover = {
  1470.                                         datacontext = "[Character.GetCulture]"
  1471.                                         layoutpolicy_horizontal = expanding
  1472.                                         size = { 0 25 }
  1473.                                         onclick = "[DefaultOnCultureClick(Culture.GetID)]"
  1474.                                         text = "CULTURE_CHARACTER_WINDOW"
  1475.                                         default_format = "#clickable;italic"
  1476.                                         align = left|nobaseline
  1477.                                         margin_left = 5
  1478.  
  1479.                                         tooltipwidget = {
  1480.                                             culture_tooltip_click = {}
  1481.                                         }
  1482.                                     }
  1483.                                 }
  1484.                             }
  1485.  
  1486.                             vbox = {
  1487.                                 layoutpolicy_vertical = expanding
  1488.                                 margin = { 0 2 }
  1489.  
  1490.                                 using = Animation_Character_Window_Refresh
  1491.  
  1492.                                 fixedgridbox = {
  1493.                                     name = "modifiers_grid"
  1494.                                     datamodel = "[CharacterWindow.GetTimedModifiers]"
  1495.                                     addcolumn = 25
  1496.                                     addrow = 23
  1497.                                     datamodel_wrap = 2
  1498.                                     maxhorizontalslots = 5
  1499.  
  1500.                                     item = {
  1501.                                         icon = {
  1502.                                             size = { 22 22 }
  1503.                                             alwaystransparent = no
  1504.                                             texture = "[ModifierItem.GetIcon]"
  1505.                                             tooltip = "[ModifierItem.GetTooltip]"
  1506.                                         }
  1507.                                     }
  1508.                                 }
  1509.  
  1510.                                 expand = {}
  1511.                             }
  1512.  
  1513.                             expand = {}
  1514.                         }
  1515.                     }
  1516.  
  1517.                     divider_light = {
  1518.                         layoutpolicy_vertical = expanding
  1519.                     }
  1520.  
  1521.                     ## House
  1522.                     widget = {
  1523.                         name = "house"
  1524.                         datacontext = "[Character.GetHouse]"
  1525.                         layoutpolicy_vertical = expanding
  1526.                         size = { 125 0 }
  1527.  
  1528.                         using = Animation_Character_Window_Refresh
  1529.  
  1530.                         vbox = {
  1531.                             expand = {
  1532.                                 maximumsize = { 0 5 }
  1533.                             }
  1534.  
  1535.                             coa_house_big = {
  1536.                                 flowcontainer = {
  1537.                                     name = "characters_status_in_house"
  1538.                                     parentanchor = bottom|right
  1539.                                     position = { -10 0 }
  1540.                                     ignoreinvisible = yes
  1541.  
  1542.                                     icon = {
  1543.                                         name = "bastard"
  1544.                                         visible = "[Not(Character.IsLegitimateMemberOfHouse)]"
  1545.                                         framesize = { 40 40 }
  1546.                                         frame = 4
  1547.                                         size = { 20 20 }
  1548.                                         texture = "gfx/interface/icons/portraits/relation.dds"
  1549.                                         tooltip = "CV_TT_BASTARD"
  1550.                                     }
  1551.  
  1552.                                     icon = {
  1553.                                         name = "head_icon"
  1554.                                         visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)no'), '(int32)9')]"
  1555.                                         size = { 20 20 }
  1556.  
  1557.                                         texture = "gfx/interface/icons/portraits/relation.dds"
  1558.                                         framesize = { 40 40 }
  1559.                                         frame = "[Character.GetDynastyHeadRelationFrame('(bool)no')]"
  1560.                                         tooltip = "[Character.GetDynastyHeadTooltip]"
  1561.                                     }
  1562.                                 }
  1563.                             }
  1564.  
  1565.                             text_multi = {
  1566.                                 autoresize = yes
  1567.                                 maximumsize = { 118 50 }
  1568.                                 text = "[DynastyHouse.GetBaseNameNoTooltip]"
  1569.                                 default_format = "#high"
  1570.                                 align = top|hcenter
  1571.                             }
  1572.  
  1573.                             text_multi = {
  1574.                                 autoresize = yes
  1575.                                 maximumsize = { 118 50 }
  1576.                                 visible = "[Not(DynastyHouse.IsValid)]"
  1577.                                 text = "[lowborn|E]"
  1578.                                 default_format = "#high"
  1579.                                 align = top|hcenter
  1580.                             }
  1581.  
  1582.                             expand = {}
  1583.                         }
  1584.                     }
  1585.                 }
  1586.  
  1587.                 #########################
  1588.                 ### Realm, external info
  1589.  
  1590.                 widget = {
  1591.                     datacontext = "[GetIllustration( 'character_location_exterior' )]"
  1592.                     layoutpolicy_horizontal = expanding
  1593.                     size = { 0 232 }
  1594.  
  1595.                     background = {
  1596.                         using = Background_Bottom_Fade
  1597.                         margin_bottom = 3
  1598.                         alpha = 0.75
  1599.                     }
  1600.  
  1601.                     widget = {
  1602.                         size = { 100% 100% }
  1603.  
  1604.                         using = Animation_Character_Window_Refresh
  1605.  
  1606.                         background = {
  1607.                             texture = "[Illustration.GetTexture( Character.Self )]"
  1608.                             alpha = 0.35
  1609.                             fittype = centercrop
  1610.  
  1611.                             modify_texture = {
  1612.                                 texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds"
  1613.                                 blend_mode = alphamultiply
  1614.                             }
  1615.  
  1616.                             using = Mask_Rough_Edges
  1617.                         }
  1618.                     }
  1619.  
  1620.                     hbox = {
  1621.                         name = "realm_info"
  1622.                         layoutpolicy_horizontal = expanding
  1623.  
  1624.                         vbox = {
  1625.                             #name = "realm_shield"
  1626.                             visible = "[Character.HasLandedTitles]"
  1627.                             layoutpolicy_vertical = expanding
  1628.                             spacing = 7
  1629.                             margin_bottom = 5
  1630.  
  1631.                             using = Animation_Character_Window_Refresh
  1632.  
  1633.                             coa_realm_medium_crown = {
  1634.                                 datacontext = "[Character]"
  1635.  
  1636.                                 blockoverride "coa_button"
  1637.                                 {
  1638.                                     name = "realm_shield"
  1639.                                     tooltip = "[Character.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]"
  1640.                                     onclick = "[DefaultOnCoatOfArmsClick(Character.GetPrimaryTitle.GetID)]"
  1641.                                 }
  1642.                             }
  1643.  
  1644.                             vbox = {
  1645.                                 datacontext = "[CharacterWindow.GetCharacter]"
  1646.                                 visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And( Character.HasLandedTitles, Character.IsAlive ) )]"
  1647.                                 tooltip = "[Character.GetDomainLimitTooltip]"
  1648.                                 spacing = -2
  1649.  
  1650.                                 background = {
  1651.                                     visible = "[GreaterThan_int32( Character.GetDomainSize, Character.GetDomainLimit )]"
  1652.                                     using = Status_Bad
  1653.                                 }
  1654.  
  1655.                                 icon = {
  1656.                                     name = "domain_icon"
  1657.                                     size = { 30 30 }
  1658.                                     texture = "gfx/interface/icons/icon_domain.dds"
  1659.                                 }
  1660.  
  1661.                                 text_single = {
  1662.                                     name = "domain_limit"
  1663.                                     text = "[Character.GetDomainSize]/[Character.GetDomainLimit]"
  1664.                                     default_format = "#high"
  1665.                                     align = center|nobaseline
  1666.                                 }
  1667.                             }
  1668.  
  1669.                             expand = {}
  1670.  
  1671.                             flowcontainer = {
  1672.                                 margin = { 3 2 }
  1673.                                 ignoreinvisible = yes
  1674.  
  1675.                                 background = {
  1676.                                     using = Background_Area_Dark
  1677.                                 }
  1678.  
  1679.                                 flowcontainer = {
  1680.                                     visible = "[Character.IsTheocraticLessee]"
  1681.                                     tooltip = "CV_THEOCRACY_LESSEE_TOOLTIP"
  1682.                                     spacing = -2
  1683.                                     direction = vertical
  1684.  
  1685.                                     icon = {
  1686.                                         name = "theocracy_lessee_info"
  1687.                                         texture = "gfx/interface/icons/icon_holding_church.dds"
  1688.                                         size = { 30 30 }
  1689.                                     }
  1690.  
  1691.                                     text_single = {
  1692.                                         name = "domain_limit"
  1693.                                         parentanchor = hcenter
  1694.                                         text = "[Character.GetNumTitlesFromTheocraticLease]"
  1695.                                         default_format = "#high"
  1696.                                         align = center|nobaseline
  1697.                                     }
  1698.                                 }
  1699.  
  1700.                                 icon = {
  1701.                                     name = "religious_head_info"
  1702.                                     visible = "[Character.IsReligiousHead]"
  1703.                                     size = { 30 30 }
  1704.                                     texture = "gfx/interface/icons/icon_head_of_faith_income.dds"
  1705.                                     tooltip = "CV_THEOCRACY_RELIGIOUS_HEAD_TOOLTIP"
  1706.                                 }
  1707.                             }
  1708.                         }
  1709.  
  1710.                         vbox = {
  1711.                             layoutpolicy_horizontal = expanding
  1712.                             layoutpolicy_vertical = expanding
  1713.                             margin_left = 5
  1714.  
  1715.                             ## Realm name and stats
  1716.                             hbox = {
  1717.                                 name = "name_and_stats"
  1718.                                 layoutpolicy_horizontal = expanding
  1719.                                 margin_right = 10
  1720.  
  1721.                                 using = Animation_Character_Window_Refresh
  1722.  
  1723.                                 vbox = {
  1724.                                     visible = "[Not(Character.HasLandedTitles)]"
  1725.                                     layoutpolicy_horizontal = expanding
  1726.                                     margin = { 10 0 }
  1727.  
  1728.                                     text_single = {
  1729.                                         name = "character_title"
  1730.                                         layoutpolicy_horizontal = expanding
  1731.                                         text = "CV_UNLANDED"
  1732.                                         using = Font_Size_Medium
  1733.                                         align = nobaseline
  1734.                                     }
  1735.  
  1736.                                     text_single = {
  1737.                                         name = "government_type"
  1738.                                         layoutpolicy_horizontal = expanding
  1739.                                         text = "[Character.GetLocationDesc]"
  1740.                                         default_format = "#low"
  1741.                                         format_override = { high medium }
  1742.                                         format_override = { V medium }
  1743.                                         align = nobaseline
  1744.                                         autoresize = no
  1745.                                     }
  1746.                                 }
  1747.  
  1748.                                 vbox = {
  1749.                                     visible = "[Character.HasLandedTitles]"
  1750.                                     layoutpolicy_horizontal = expanding
  1751.                                     datacontext = "[Character.GetPrimaryTitle]"
  1752.                                     layoutpolicy_horizontal = expanding
  1753.  
  1754.                                     text_single = {
  1755.                                         name = "character_title"
  1756.                                         layoutpolicy_horizontal = expanding
  1757.                                         text = "[Title.GetNameNoTooltip|U]"
  1758.                                         autoresize = no
  1759.                                         max_width = 280
  1760.                                         default_format = "#low"
  1761.                                         using = Font_Size_Medium
  1762.                                         align = nobaseline
  1763.                                         fontsize_min = 14
  1764.                                     }
  1765.  
  1766.                                     text_single = {
  1767.                                         name = "faction"
  1768.                                         visible = "[Title.HasFaction]"
  1769.                                         layoutpolicy_horizontal = expanding
  1770.                                         autoresize = no
  1771.                                         text = "CV_CIVIL_WAR_FACTION"
  1772.                                         default_format = "#low"
  1773.                                         align = nobaseline
  1774.                                         fontsize_min = 14
  1775.                                     }
  1776.  
  1777.                                     text_single = {
  1778.                                         name = "government_type"
  1779.                                         visible = "[Not( Title.HasFaction )]"
  1780.                                         layoutpolicy_horizontal = expanding
  1781.                                         autoresize = no
  1782.                                         text = "CV_REALM_TYPE"
  1783.                                         default_format = "#low"
  1784.                                         align = nobaseline
  1785.                                         fontsize_min = 14
  1786.                                     }
  1787.                                 }
  1788.  
  1789.                                 expand = {}
  1790.  
  1791.                                 hbox = {
  1792.                                     name = "stats"
  1793.                                     spacing = 8
  1794.                                     margin_bottom = 6
  1795.                                     margin_top = 3
  1796.                                     visible = "[Character.IsAlive]"
  1797.  
  1798.                                     vbox = {
  1799.                                         visible = "[Character.HasLandedTitles]"
  1800.                                         spacing = -2
  1801.                                         min_width = 40
  1802.                                         tooltip = "[Character.GetDreadBreakdown]"
  1803.  
  1804.                                         icon = {
  1805.                                             name = "dread_icon"
  1806.                                             size = { 30 30 }
  1807.                                             texture = "gfx/interface/icons/icon_dread.dds"
  1808.                                         }
  1809.  
  1810.                                         text_single = {
  1811.                                             name = "total_dread"
  1812.                                             text = "[Character.GetDread|0]"
  1813.                                             default_format = "#high"
  1814.                                             align = center|nobaseline
  1815.                                             fontsize_min = 12
  1816.                                             max_width = 50
  1817.                                         }
  1818.                                     }
  1819.  
  1820.                                     vbox = {
  1821.                                         tooltip = "[Character.GetGoldTooltipWithBalance]"
  1822.                                         min_width = 40
  1823.                                         spacing = -2
  1824.  
  1825.                                         icon = {
  1826.                                             name = "icon_gold"
  1827.                                             size = { 30 30 }
  1828.                                             texture = "gfx/interface/icons/icon_gold.dds"
  1829.                                         }
  1830.  
  1831.                                         text_single = {
  1832.                                             name = "total_gold"
  1833.                                             text = "[Character.GetGold|0]"
  1834.                                             default_format = "#high"
  1835.                                             align = center|nobaseline
  1836.                                             fontsize_min = 12
  1837.                                             max_width = 50
  1838.                                         }
  1839.                                     }
  1840.  
  1841.                                     vbox = {
  1842.                                         tooltip = "[Character.GetPrestigeTooltipWithBalance]"
  1843.                                         min_width = 40
  1844.                                         spacing = -2
  1845.  
  1846.                                         icon = {
  1847.                                             name = "icon_prestige"
  1848.                                             size = { 30 30 }
  1849.                                             texture = "[Character.GetPrestigeLevelTexture]"
  1850.                                         }
  1851.  
  1852.                                         text_single = {
  1853.                                             name = "prestige"
  1854.                                             text = "[Character.GetPrestige|0]"
  1855.                                             default_format = "#high"
  1856.                                             align = center|nobaseline
  1857.                                             fontsize_min = 12
  1858.                                             max_width = 50
  1859.                                         }
  1860.                                     }
  1861.  
  1862.                                     vbox = {
  1863.                                         tooltip = "[Character.GetPietyTooltipWithBalance]"
  1864.                                         min_width = 40
  1865.                                         spacing = -2
  1866.  
  1867.                                         icon = {
  1868.                                             name = "icon_piety"
  1869.                                             size = { 30 30 }
  1870.                                             texture = "[Character.GetPietyLevelTexture]"
  1871.                                         }
  1872.  
  1873.                                         text_single = {
  1874.                                             name = "piety"
  1875.                                             text = "[Character.GetPiety|0]"
  1876.                                             default_format = "#high"
  1877.                                             align = center|nobaseline
  1878.                                             fontsize_min = 12
  1879.                                             max_width = 50
  1880.                                         }
  1881.                                     }
  1882.  
  1883.                                     spacer = {
  1884.                                         size = { 0 3 }
  1885.                                     }
  1886.  
  1887.                                     vbox = {
  1888.                                         visible = "[Character.HasLandedTitles]"
  1889.                                         tooltip = "[CharacterWindow.GetMilitaryStrengthTooltip]"
  1890.                                         spacing = -2
  1891.                                         min_width = 40
  1892.  
  1893.                                         background = {
  1894.                                             using = Background_Frame
  1895.                                             margin = { 10 5 }
  1896.                                             margin_bottom = 7
  1897.                                             alpha = 0.7
  1898.                                         }
  1899.  
  1900.                                         icon = {
  1901.                                             name = "icon_combat_strength"
  1902.                                             size = { 30 30 }
  1903.                                             texture = "gfx/interface/icons/icon_soldier.dds"
  1904.                                         }
  1905.  
  1906.                                         text_single = {
  1907.                                             name = "military_total_strength"
  1908.                                             text = "[CharacterWindow.GetCachedMilitaryStrengthText]"
  1909.                                             default_format = "#high"
  1910.                                             align = center|nobaseline
  1911.                                             fontsize_min = 12
  1912.                                             max_width = 80
  1913.  
  1914.                                             progressbar_standard = {
  1915.                                                 name = "soldiers_max"
  1916.                                                 parentanchor = bottom|hcenter
  1917.                                                 position = { 0 5 }
  1918.                                                 size = { 33 8 }
  1919.                                                 min = 0
  1920.                                                 max = "[IntToFloat(CharacterWindow.GetMaxSoldiers)]"
  1921.                                                 value = "[IntToFloat(CharacterWindow.GetCurrentSoldiers)]"
  1922.                                             }
  1923.                                         }
  1924.                                     }
  1925.                                 }
  1926.                             }
  1927.  
  1928.                             divider = {
  1929.                                 layoutpolicy_horizontal = expanding
  1930.                             }
  1931.  
  1932.                             vbox_titles_claims_box = {
  1933.                                 visible = "[Not( Or( Character.GetPrimaryTitle.HasFaction, DataModelHasItems( CharacterWindow.GetDiplomacyItems )))]"
  1934.                                 layoutpolicy_horizontal = expanding
  1935.                                 layoutpolicy_vertical = expanding
  1936.                                 margin_right = 3
  1937.  
  1938.                                 using = Animation_Character_Window_Refresh
  1939.  
  1940.                                 blockoverride "titles_extra_items"
  1941.                                 {
  1942.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTitles), '(int32)13' )]"
  1943.                                     text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)13' )|=]"
  1944.                                 }
  1945.  
  1946.                                 blockoverride "titles_max_slots"
  1947.                                 {
  1948.                                     datamodel_wrap = 13
  1949.                                 }
  1950.  
  1951.                                 blockoverride "claims_extra_items"
  1952.                                 {
  1953.                                     visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)13' )]"
  1954.                                     text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)13' )|=]"
  1955.                                 }
  1956.  
  1957.                                 blockoverride "claims_max_slots"
  1958.                                 {
  1959.                                     datamodel_wrap = 13
  1960.                                 }
  1961.                             }
  1962.  
  1963.                             hbox = {
  1964.                                 visible = "[DataModelHasItems( CharacterWindow.GetDiplomacyItems )]"
  1965.                                 layoutpolicy_horizontal = expanding
  1966.                                 layoutpolicy_vertical = expanding
  1967.                                 margin_right = 2
  1968.  
  1969.                                 vbox_titles_claims_box = {
  1970.                                     visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'))]"
  1971.                                     layoutpolicy_horizontal = expanding
  1972.                                     layoutpolicy_vertical = expanding
  1973.  
  1974.                                     using = Animation_Character_Window_Refresh
  1975.  
  1976.                                     blockoverride "titles_extra_items"
  1977.                                     {
  1978.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)10' )]"
  1979.                                         text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)10' )|=]"
  1980.                                     }
  1981.  
  1982.                                     blockoverride "titles_max_slots"
  1983.                                     {
  1984.                                         datamodel_wrap = 10
  1985.                                     }
  1986.  
  1987.                                     blockoverride "claims_extra_items"
  1988.                                     {
  1989.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )]"
  1990.                                         text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )|=]"
  1991.                                     }
  1992.  
  1993.  
  1994.                                     blockoverride "claims_max_slots"
  1995.                                     {
  1996.                                         datamodel_wrap = 10
  1997.                                     }
  1998.                                 }
  1999.  
  2000.                                 vbox_titles_claims_box = {
  2001.                                     visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6')))]"
  2002.                                     layoutpolicy_horizontal = expanding
  2003.                                     layoutpolicy_vertical = expanding
  2004.  
  2005.                                     using = Animation_Character_Window_Refresh
  2006.  
  2007.                                     blockoverride "titles_extra_items"
  2008.                                     {
  2009.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)9' )]"
  2010.                                         text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)9' )|=]"
  2011.                                     }
  2012.  
  2013.                                     blockoverride "titles_max_slots"
  2014.                                     {
  2015.                                         datamodel_wrap = 9
  2016.                                     }
  2017.  
  2018.                                     blockoverride "claims_extra_items"
  2019.                                     {
  2020.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)9' )]"
  2021.                                         text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)9' )|=]"
  2022.                                     }
  2023.  
  2024.                                     blockoverride "claims_max_slots"
  2025.                                     {
  2026.                                         datamodel_wrap = 9
  2027.                                     }
  2028.                                 }
  2029.  
  2030.                                 vbox_titles_claims_box = {
  2031.                                     visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8')))]"
  2032.                                     layoutpolicy_horizontal = expanding
  2033.                                     layoutpolicy_vertical = expanding
  2034.  
  2035.                                     using = Animation_Character_Window_Refresh
  2036.  
  2037.                                     blockoverride "titles_extra_items"
  2038.                                     {
  2039.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )]"
  2040.                                         text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )|=]"
  2041.                                     }
  2042.  
  2043.                                     blockoverride "titles_max_slots"
  2044.                                     {
  2045.                                         datamodel_wrap = 8
  2046.                                     }
  2047.  
  2048.                                     blockoverride "claims_extra_items"
  2049.                                     {
  2050.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)8' )]"
  2051.                                         text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)8' )|=]"
  2052.                                     }
  2053.  
  2054.                                     blockoverride "claims_max_slots"
  2055.                                     {
  2056.                                         datamodel_wrap = 8
  2057.                                     }
  2058.                                 }
  2059.  
  2060.                                 vbox_titles_claims_box = {
  2061.                                     visible = "[And( Not( Character.GetPrimaryTitle.HasFaction ), GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8'))]"
  2062.                                     layoutpolicy_horizontal = expanding
  2063.                                     layoutpolicy_vertical = expanding
  2064.  
  2065.                                     using = Animation_Character_Window_Refresh
  2066.  
  2067.                                     blockoverride "titles_extra_items"
  2068.                                     {
  2069.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)7' )]"
  2070.                                         text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)7' )|=]"
  2071.                                     }
  2072.  
  2073.                                     blockoverride "titles_max_slots"
  2074.                                     {
  2075.                                         datamodel_wrap = 7
  2076.                                     }
  2077.  
  2078.                                     blockoverride "claims_extra_items"
  2079.                                     {
  2080.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)7' )]"
  2081.                                         text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)7' )|=]"
  2082.                                     }
  2083.  
  2084.                                     blockoverride "claims_max_slots"
  2085.                                     {
  2086.                                         datamodel_wrap = 7
  2087.                                     }
  2088.                                 }
  2089.  
  2090.                                 expand = {
  2091.                                     layoutpolicy_horizontal = expanding
  2092.                                     visible = "[Character.GetPrimaryTitle.HasFaction]"
  2093.                                 }
  2094.  
  2095.                                 divider = {
  2096.                                     layoutpolicy_vertical = expanding
  2097.                                 }
  2098.  
  2099.                                 vbox_diplomacy_box = {
  2100.                                     visible = "[And(Not(IsDataModelEmpty(CharacterWindow.GetDiplomacyItems)), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'))]"
  2101.                                     layoutpolicy_vertical = expanding
  2102.  
  2103.                                     using = Animation_Character_Window_Refresh
  2104.  
  2105.                                     blockoverride "diplomacy_slots"
  2106.                                     {
  2107.                                         maxverticalslots = 2
  2108.                                         maxhorizontalslots = 2
  2109.                                         datamodel_wrap = 2
  2110.                                     }
  2111.                                 }
  2112.  
  2113.                                 vbox_diplomacy_box = {
  2114.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'))]"
  2115.                                     layoutpolicy_vertical = expanding
  2116.  
  2117.                                     using = Animation_Character_Window_Refresh
  2118.  
  2119.                                     blockoverride "diplomacy_slots"
  2120.                                     {
  2121.                                         maxverticalslots = 2
  2122.                                         maxhorizontalslots = 3
  2123.                                         datamodel_wrap = 3
  2124.                                     }
  2125.                                 }
  2126.  
  2127.                                 vbox_diplomacy_box = {
  2128.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8'))]"
  2129.                                     layoutpolicy_vertical = expanding
  2130.  
  2131.                                     using = Animation_Character_Window_Refresh
  2132.  
  2133.                                     blockoverride "diplomacy_slots"
  2134.                                     {
  2135.                                         maxverticalslots = 2
  2136.                                         maxhorizontalslots = 4
  2137.                                         datamodel_wrap = 4
  2138.                                     }
  2139.                                 }
  2140.  
  2141.                                 vbox_diplomacy_box = {
  2142.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)8')]"
  2143.                                     layoutpolicy_vertical = expanding
  2144.  
  2145.                                     using = Animation_Character_Window_Refresh
  2146.  
  2147.                                     blockoverride "diplomacy_extra_items"
  2148.                                     {
  2149.                                         visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)10' )]"
  2150.                                         text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetDiplomacyItems), '(int32)10' )|=]"
  2151.                                     }
  2152.  
  2153.                                     blockoverride "diplomacy_slots"
  2154.                                     {
  2155.                                         maxverticalslots = 2
  2156.                                         maxhorizontalslots = 5
  2157.                                         datamodel_wrap = 5
  2158.                                     }
  2159.                                 }
  2160.  
  2161.                                 expand = {}
  2162.                             }
  2163.  
  2164.                             expand = {}
  2165.                         }
  2166.                     }
  2167.                 }
  2168.  
  2169.                 ######################################################
  2170.                 ################### BOTTOM AREA ######################
  2171.                 ######################################################
  2172.  
  2173.                 ### TABS
  2174.                 hbox = {
  2175.                     name = "tabs"
  2176.                     visible = "[CharacterWindow.AreNoneExpanded]"
  2177.                     layoutpolicy_horizontal = expanding
  2178.  
  2179.                     button_tab = {
  2180.                         name = "family_button"
  2181.                         datacontext = "[CharacterWindow.GetCharacter]"
  2182.                         layoutpolicy_horizontal = expanding
  2183.  
  2184.                         onclick = "[CharacterWindow.SetTab('family')]"
  2185.                         down = "[CharacterWindow.IsTabShown('family')]"
  2186.  
  2187.                         using = tooltip_above
  2188.  
  2189.                         hbox = {
  2190.                             text_single = {
  2191.                                 layoutpolicy_horizontal = expanding
  2192.                                 align = center
  2193.                                 text = "CV_TAB_FAMILY"
  2194.                                 default_format = "#low"
  2195.                             }
  2196.  
  2197.                             text_single = {
  2198.                                 align = center
  2199.                                 text = "[CharacterWindow.GetTabItemsCount('family')]"
  2200.                                 default_format = "#low"
  2201.                                 margin_right = 15
  2202.                                 min_width = 30
  2203.  
  2204.                                 using = Animation_Character_Window_Refresh
  2205.                             }
  2206.                         }
  2207.                     }
  2208.  
  2209.                     button_tab = {
  2210.                         name = "relations_button"
  2211.                         datacontext = "[CharacterWindow.GetCharacter]"
  2212.                         layoutpolicy_horizontal = expanding
  2213.  
  2214.                         onclick = "[CharacterWindow.SetTab('relations')]"
  2215.                         down = "[CharacterWindow.IsTabShown('relations')]"
  2216.  
  2217.                         using = tooltip_above
  2218.  
  2219.                         hbox = {
  2220.                             text_single = {
  2221.                                 layoutpolicy_horizontal = expanding
  2222.                                 align = center
  2223.                                 text = "CV_TAB_RELATIONS"
  2224.                                 default_format = "#low"
  2225.                             }
  2226.  
  2227.                             text_single = {
  2228.                                 align = center
  2229.                                 text = "[CharacterWindow.GetTabItemsCount('relations')]"
  2230.                                 default_format = "#low"
  2231.                                 margin_right = 15
  2232.                                 min_width = 30
  2233.  
  2234.                                 using = Animation_Character_Window_Refresh
  2235.                             }
  2236.                         }
  2237.                     }
  2238.  
  2239.                     button_tab = {
  2240.                         name = "court_button"
  2241.                         datacontext = "[CharacterWindow.GetCharacter]"
  2242.                         #   visible = "[Not(Character.IsPlayer)]"
  2243.                         layoutpolicy_horizontal = expanding
  2244.  
  2245.                         onclick = "[CharacterWindow.SetTab('court')]"
  2246.                         down = "[CharacterWindow.IsTabShown('court')]"
  2247.  
  2248.                         using = tooltip_above
  2249.  
  2250.                         hbox = {
  2251.                             text_single = {
  2252.                                 layoutpolicy_horizontal = expanding
  2253.                                 align = center
  2254.                                 text = "CV_TAB_COURT"
  2255.                                 default_format = "#low"
  2256.                             }
  2257.  
  2258.                             text_single = {
  2259.                                 align = center
  2260.                                 text = "[CharacterWindow.GetTabItemsCount('court')]"
  2261.                                 default_format = "#low"
  2262.                                 margin_right = 15
  2263.                                 min_width = 30
  2264.  
  2265.                                 using = Animation_Character_Window_Refresh
  2266.                             }
  2267.                         }
  2268.                     }
  2269.  
  2270.                     button_tab = {
  2271.                         name = "vassals_button"
  2272.                         datacontext = "[CharacterWindow.GetCharacter]"
  2273.                         visible = "[Character.IsRuler]"
  2274.                         #   visible = "[And(Character.IsRuler, Not(Character.IsPlayer))]"
  2275.                         layoutpolicy_horizontal = expanding
  2276.  
  2277.                         onclick = "[CharacterWindow.SetTab('vassals')]"
  2278.                         down = "[CharacterWindow.IsTabShown('vassals')]"
  2279.  
  2280.                         using = tooltip_above
  2281.  
  2282.                         hbox = {
  2283.                             text_single = {
  2284.                                 layoutpolicy_horizontal = expanding
  2285.                                 align = center
  2286.                                 text = "CV_TAB_VASSALS"
  2287.                                 default_format = "#low"
  2288.                             }
  2289.  
  2290.                             text_single = {
  2291.                                 align = center
  2292.                                 text = "[CharacterWindow.GetTabItemsCount('vassals')]"
  2293.                                 default_format = "#low"
  2294.                                 margin_right = 15
  2295.                                 min_width = 30
  2296.  
  2297.                                 using = Animation_Character_Window_Refresh
  2298.                             }
  2299.                         }
  2300.                     }
  2301.                 }
  2302.  
  2303.                 spacer = { size = { 0 2 } }
  2304.  
  2305.                 widget = {
  2306.                     visible = "[CharacterWindow.AreNoneExpanded]"
  2307.                     layoutpolicy_vertical = preferred
  2308.                     layoutpolicy_horizontal = expanding
  2309.                     #size = { 0 460 }
  2310.  
  2311.                     using = Animation_Tab_Switch
  2312.  
  2313.                     ####################################
  2314.                     ########### FAMILY TAB #############
  2315.                     ####################################
  2316.  
  2317.                     widget = {
  2318.                         name = "family"
  2319.                         visible = "[CharacterWindow.IsTabShown('family')]"
  2320.                         size = { 100% 100% }
  2321.  
  2322.                         using = Animation_Tab_Switch
  2323.  
  2324.                         scrollbox = {
  2325.                             name = "family_main_view"
  2326.                             visible = "[Not(Or(Or(CharacterWindow.IsRelationExpanded( 'siblings' ), CharacterWindow.IsRelationExpanded( 'children' )), Or(CharacterWindow.IsRelationExpanded( 'secondary_spouses' ), CharacterWindow.IsRelationExpanded( 'consorts' ))))]"
  2327.                             size = { 605 100% }
  2328.                             position = {-15 -5}
  2329.                             blockoverride "scrollbox_content" {
  2330.                                 widget = {
  2331.                                     name = "parents_grandparents_spouses"
  2332.                                     layoutpolicy_horizontal = expanding
  2333.                                     layoutpolicy_vertical = expanding
  2334.                                     #maximumsize = { -1 110 }
  2335.                                     size = { 0 110 }
  2336.                                     scissor = yes
  2337.  
  2338.                                     hbox = {
  2339.                                         vbox_character_row_item = {
  2340.                                             name = "parents"
  2341.                                             layoutpolicy_vertical = expanding
  2342.  
  2343.                                             blockoverride "portrait_datamodel" {
  2344.                                                 datamodel = "[CharacterWindow.GetParents]"
  2345.                                             }
  2346.  
  2347.                                             blockoverride "header_text"
  2348.                                             {
  2349.                                                 text = "PARENTS"
  2350.                                             }
  2351.  
  2352.                                             blockoverride "expand_button" {}
  2353.                                         }
  2354.  
  2355.                                         vbox_character_row_item = {
  2356.                                             name = "grandparents"
  2357.                                             visible = "[Not(Or(GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' ), GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' )))]"
  2358.                                             layoutpolicy_vertical = expanding
  2359.  
  2360.                                             blockoverride "portrait_datamodel" {
  2361.                                                 datamodel = "[CharacterWindow.GetGrandparents]"
  2362.                                             }
  2363.  
  2364.                                             blockoverride "header_text"
  2365.                                             {
  2366.                                                 text = "GRANDPARENTS"
  2367.                                             }
  2368.  
  2369.                                             blockoverride "expand_button" {}
  2370.                                         }
  2371.  
  2372.                                         vbox_character_row_item = {
  2373.                                             name = "grandparents_contracted"
  2374.                                             visible = "[Or(GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' ), GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' ))]"
  2375.                                             layoutpolicy_vertical = expanding
  2376.  
  2377.                                             blockoverride "portrait_datamodel" {
  2378.                                                 datamodel = "[CharacterWindow.GetGrandparents]"
  2379.                                             }
  2380.  
  2381.                                             blockoverride "header_text"
  2382.                                             {
  2383.                                                 text = "GRANDPARENTS"
  2384.                                             }
  2385.  
  2386.                                             blockoverride "expand_button" {}
  2387.  
  2388.                                         }
  2389.  
  2390.                                         expand = {}
  2391.                                     }
  2392.                                 }
  2393.  
  2394.                                 widget = {
  2395.                                     name = "secondary_spouses"
  2396.                                     layoutpolicy_horizontal = expanding
  2397.                                     layoutpolicy_vertical = expanding
  2398.                                     #maximumsize = { -1 110 }
  2399.                                     size = { 0 110 }
  2400.                                     scissor = yes
  2401.                                     visible = "[GreaterThan_int32( Character.GetMaxSpouses, '(int32)1' )]"
  2402.  
  2403.                                     vbox_character_row_item = {
  2404.                                         name = "secondary_spouses"
  2405.  
  2406.                                         blockoverride "portrait_datamodel" {
  2407.                                             datamodel = "[CharacterWindow.GetSecondarySpouses]"
  2408.                                         }
  2409.  
  2410.                                         blockoverride "header_text"
  2411.                                         {
  2412.                                             text = "[SelectLocalization( Character.IsFemale, 'SECONDARY_SPOUSES', 'SECONDARY_SPOUSES' )]#weak ([GetDataModelSize(CharacterWindow.GetSecondarySpouses)])#!"
  2413.                                         }
  2414.  
  2415.                                         blockoverride "remaining_items"
  2416.                                         {
  2417.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSecondarySpouses), '(int32)7' )]"
  2418.                                             text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetSecondarySpouses), '(int32)7' )|=]"
  2419.                                         }
  2420.  
  2421.                                         blockoverride "expand_button_inside" {
  2422.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSecondarySpouses), '(int32)0' )]"
  2423.                                             onclick = "[CharacterWindow.ToggleExpandedRelation( 'secondary_spouses' )]"
  2424.                                         }
  2425.  
  2426.                                         blockoverride "find_partner" {
  2427.                                             fixedgridbox = {
  2428.                                                 name = "potential"
  2429.                                                 datamodel = "[GetNullCharacterDataModel( Character.CalcUnusedSecondarySpouseSlots )]"
  2430.                                                 visible = "[Character.IsPlayerInteractionShown('marry_off_interaction')]"
  2431.  
  2432.                                                 flipdirection = yes
  2433.                                                 addcolumn = 85
  2434.                                                 addrow = 90
  2435.  
  2436.                                                 item = {
  2437.                                                     container = {
  2438.  
  2439.                                                         portrait_head_small = {
  2440.                                                             visible = "[Not( ObjectsEqual( GetPlayer, CharacterWindow.GetCharacter ) )]"
  2441.                                                             blockoverride "portrait_button_template_onclick"
  2442.                                                             {
  2443.                                                                 onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]"
  2444.                                                             }
  2445.                                                             blockoverride "portrait_button_template_tooltip"
  2446.                                                             {
  2447.                                                                 tooltip = "CHARACTER_WINDOW_FIND_SPOUSE"
  2448.                                                             }
  2449.                                                             blockoverride "onclick"
  2450.                                                             {
  2451.                                                                 onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]"
  2452.  
  2453.                                                                 button_icon = {
  2454.                                                                     parentanchor = center
  2455.                                                                     alwaystransparent = yes
  2456.                                                                     size = { 20 20 }
  2457.                                                                     position = {-5 -5}
  2458.                                                                     texture = "gfx/interface/icons/flat_icons/plus.dds"
  2459.                                                                 }
  2460.                                                             }
  2461.                                                         }
  2462.  
  2463.                                                         portrait_head_small = {
  2464.                                                             visible = "[ObjectsEqual( GetPlayer, CharacterWindow.GetCharacter )]"
  2465.                                                             blockoverride "portrait_button_template_onclick"
  2466.                                                             {
  2467.                                                                 onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]"
  2468.                                                             }
  2469.                                                             blockoverride "portrait_button_template_tooltip"
  2470.                                                             {
  2471.                                                                 tooltip = "CHARACTER_WINDOW_FIND_SPOUSE_SELF"
  2472.                                                             }
  2473.                                                             blockoverride "onclick"
  2474.                                                             {
  2475.                                                                 onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('marry_off_interaction')]"
  2476.  
  2477.                                                                 button_icon = {
  2478.                                                                     parentanchor = center
  2479.                                                                     alwaystransparent = yes
  2480.                                                                     size = { 26 26 }
  2481.                                                                     position = {-5 0}
  2482.                                                                     texture = "gfx/interface/icons/flat_icons/plus.dds"
  2483.                                                                 }
  2484.                                                             }
  2485.                                                         }
  2486.                                                     }
  2487.                                                 }
  2488.                                             }
  2489.                                         }
  2490.                                     }
  2491.                                 }
  2492.  
  2493.                                 widget = {
  2494.                                     name = "consorts"
  2495.                                     layoutpolicy_horizontal = expanding
  2496.                                     layoutpolicy_vertical = expanding
  2497.                                     #maximumsize = { -1 110 }
  2498.                                     size = { 0 110 }
  2499.                                     scissor = yes
  2500.                                     visible = "[GreaterThan_int32( Character.GetMaxConsorts, '(int32)0' )]"
  2501.  
  2502.                                     vbox_character_row_item = {
  2503.                                         name = "consorts"
  2504.  
  2505.                                         blockoverride "portrait_datamodel" {
  2506.                                             datamodel = "[CharacterWindow.GetConcubines]"
  2507.                                         }
  2508.  
  2509.                                         blockoverride "header_text"
  2510.                                         {
  2511.                                             text = "[SelectLocalization( Character.IsFemale, 'CONCUBINES_MEN', 'CONCUBINES_WOMEN' )]#weak ([GetDataModelSize(CharacterWindow.GetConcubines)])#!"
  2512.                                         }
  2513.  
  2514.                                         blockoverride "remaining_items"
  2515.                                         {
  2516.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetConcubines), '(int32)7' )]"
  2517.                                             text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetConcubines), '(int32)7' )|=]"
  2518.                                         }
  2519.  
  2520.                                         blockoverride "expand_button_inside" {
  2521.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetConcubines), '(int32)0' )]"
  2522.                                             onclick = "[CharacterWindow.ToggleExpandedRelation( 'consorts' )]"
  2523.                                         }
  2524.  
  2525.                                         blockoverride "find_partner" {
  2526.                                             fixedgridbox = {
  2527.                                                 name = "potential"
  2528.                                                 datamodel = "[GetNullCharacterDataModel( Character.CalcUnusedConsortSlots )]"
  2529.                                                 visible = "[Character.IsPlayerInteractionShown('find_concubine')]"
  2530.  
  2531.                                                 flipdirection = yes
  2532.                                                 addcolumn = 85
  2533.                                                 addrow = 90
  2534.  
  2535.                                                 item = {
  2536.                                                     container = {
  2537.  
  2538.                                                         portrait_head_small = {
  2539.                                                             blockoverride "portrait_button_template_onclick"
  2540.                                                             {
  2541.                                                                 onclick = "[CharacterWindow.GetCharacter.OpenPlayerInteraction('find_concubine')]"
  2542.                                                                 enabled = "[CharacterWindow.GetCharacter.IsPlayerInteractionValid('find_concubine')]"
  2543.  
  2544.                                                                 button_plus = {
  2545.                                                                     parentanchor = center
  2546.                                                                     alwaystransparent = yes
  2547.                                                                 }
  2548.                                                             }
  2549.                                                             blockoverride "portrait_button_template_tooltip"
  2550.                                                             {
  2551.                                                                 tooltip = "[CharacterWindow.GetCharacter.GetPlayerInteractionTooltip('find_concubine')]"
  2552.                                                             }
  2553.                                                         }
  2554.                                                     }
  2555.                                                 }
  2556.                                             }
  2557.                                         }
  2558.                                     }
  2559.                                 }
  2560.  
  2561.                                 widget = {
  2562.                                     name = "children"
  2563.                                     layoutpolicy_horizontal = expanding
  2564.                                     layoutpolicy_vertical = expanding
  2565.                                     #maximumsize = { -1 110 }
  2566.                                     size = { 0 110 }
  2567.                                     scissor = yes
  2568.  
  2569.                                     vbox_character_row_item = {
  2570.                                         name = "children"
  2571.  
  2572.                                         blockoverride "portrait_datamodel" {
  2573.                                             datamodel = "[CharacterWindow.GetChildren]"
  2574.                                         }
  2575.  
  2576.                                         blockoverride "header_text"
  2577.                                         {
  2578.                                             text = "CV_CHILDREN_HEADING"
  2579.                                         }
  2580.  
  2581.                                         blockoverride "remaining_items"
  2582.                                         {
  2583.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)7' )]"
  2584.                                             text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)7' )|=]"
  2585.                                         }
  2586.  
  2587.                                         blockoverride "expand_button_inside" {
  2588.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetChildren), '(int32)0' )]"
  2589.                                             onclick = "[CharacterWindow.ToggleExpandedRelation( 'children' )]"
  2590.                                         }
  2591.                                     }
  2592.                                 }
  2593.  
  2594.                                 widget = {
  2595.                                     name = "siblings"
  2596.                                     layoutpolicy_horizontal = expanding
  2597.                                     layoutpolicy_vertical = expanding
  2598.                                     #maximumsize = { -1 110 }
  2599.                                     size = { 0 110 }
  2600.                                     scissor = yes
  2601.  
  2602.                                     vbox_character_row_item = {
  2603.                                         name = "siblings"
  2604.  
  2605.                                         blockoverride "portrait_datamodel" {
  2606.                                             datamodel = "[CharacterWindow.GetSiblings]"
  2607.                                         }
  2608.  
  2609.                                         blockoverride "header_text"
  2610.                                         {
  2611.                                             text = "CV_SIBLINGS_HEADING"
  2612.                                         }
  2613.  
  2614.                                         blockoverride "remaining_items"
  2615.                                         {
  2616.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)7' )]"
  2617.                                             text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)7' )|=]"
  2618.                                         }
  2619.  
  2620.                                         blockoverride "expand_button_inside" {
  2621.                                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetSiblings), '(int32)0' )]"
  2622.                                             onclick = "[CharacterWindow.ToggleExpandedRelation( 'siblings' )]"
  2623.                                         }
  2624.                                     }
  2625.                                 }
  2626.  
  2627.                                 expand = {}
  2628.                             }
  2629.                         }
  2630.  
  2631.                         ### SIBLINGS EXPANDED
  2632.                         scrollbox = {
  2633.                             name = "family_siblings_expanded"
  2634.                             visible = "[CharacterWindow.IsRelationExpanded( 'siblings' )]"
  2635.                             size = { 100% 100% }
  2636.  
  2637.                             blockoverride "scrollbox_replace_vbox" {
  2638.                                 vbox_character_row_item = {
  2639.                                     name = "siblings"
  2640.                                     margin_top = 10
  2641.                                     spacing = 5
  2642.  
  2643.  
  2644.                                     blockoverride "portrait_datamodel" {
  2645.                                         datamodel = "[CharacterWindow.GetSiblings]"
  2646.                                     }
  2647.  
  2648.                                     blockoverride "header_text"
  2649.                                     {
  2650.                                         text = "CV_SIBLINGS_HEADING"
  2651.                                     }
  2652.  
  2653.                                     blockoverride "expand_button_inside" {
  2654.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'siblings' )]"
  2655.                                         down = "[CharacterWindow.IsRelationExpanded( 'siblings' )]"
  2656.                                     }
  2657.  
  2658.                                     blockoverride "gridbox_slots" {}
  2659.                                 }
  2660.                             }
  2661.                         }
  2662.  
  2663.                         ### CHILDREN EXPANDED
  2664.                         scrollbox = {
  2665.                             name = "family_children_expanded"
  2666.                             visible = "[CharacterWindow.IsRelationExpanded( 'children' )]"
  2667.                             size = { 100% 100% }
  2668.  
  2669.                             blockoverride "scrollbox_replace_vbox" {
  2670.                                 vbox_character_row_item = {
  2671.                                     name = "children"
  2672.                                     margin_top = 10
  2673.                                     spacing = 5
  2674.  
  2675.                                     blockoverride "portrait_datamodel" {
  2676.                                         datamodel = "[CharacterWindow.GetChildren]"
  2677.                                     }
  2678.  
  2679.                                     blockoverride "header_text"
  2680.                                     {
  2681.                                         text = "CV_CHILDREN_HEADING"
  2682.                                     }
  2683.  
  2684.                                     blockoverride "expand_button_inside" {
  2685.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'children' )]"
  2686.                                         down = "[CharacterWindow.IsRelationExpanded( 'children' )]"
  2687.                                     }
  2688.  
  2689.                                     blockoverride "gridbox_slots" {}
  2690.                                 }
  2691.                             }
  2692.                         }
  2693.  
  2694.                         ### LOVERS EXPANDED
  2695.                         scrollbox = {
  2696.                             name = "lovers_expanded"
  2697.                             visible = "[CharacterWindow.IsRelationExpanded( 'lovers' )]"
  2698.                             size = { 100% 100% }
  2699.  
  2700.                             blockoverride "scrollbox_replace_vbox" {
  2701.                                 vbox_character_row_item = {
  2702.                                     name = "lovers"
  2703.                                     margin_top = 10
  2704.                                     spacing = 5
  2705.  
  2706.  
  2707.                                     blockoverride "portrait_datamodel" {
  2708.                                         datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )]"
  2709.                                     }
  2710.  
  2711.                                     blockoverride "header_text"
  2712.                                     {
  2713.                                         text = "[SelectLocalization( Character.IsFemale, 'LOVERS_LABEL', 'LOVERS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) ))])#!"
  2714.                                     }
  2715.  
  2716.                                     blockoverride "expand_button_inside" {
  2717.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'lovers' )]"
  2718.                                         down = "[CharacterWindow.IsRelationExpanded( 'lovers' )]"
  2719.                                     }
  2720.  
  2721.                                     blockoverride "gridbox_slots" {}
  2722.                                 }
  2723.                             }
  2724.                         }
  2725.  
  2726.                         ### SECONDARY SPOUSES EXPANDED
  2727.                         scrollbox = {
  2728.                             name = "family_secondary_spouses_expanded"
  2729.                             visible = "[CharacterWindow.IsRelationExpanded( 'secondary_spouses' )]"
  2730.                             size = { 100% 100% }
  2731.  
  2732.                             blockoverride "scrollbox_replace_vbox" {
  2733.                                 vbox_character_row_item = {
  2734.                                     name = "secondary_spouses"
  2735.                                     margin_top = 10
  2736.                                     spacing = 5
  2737.  
  2738.  
  2739.                                     blockoverride "portrait_datamodel" {
  2740.                                         datamodel = "[CharacterWindow.GetSecondarySpouses]"
  2741.                                     }
  2742.  
  2743.                                     blockoverride "header_text"
  2744.                                     {
  2745.                                         text = "[SelectLocalization( Character.IsFemale, 'SECONDARY_SPOUSES', 'SECONDARY_SPOUSES' )]#weak ([GetDataModelSize(CharacterWindow.GetSecondarySpouses)])#!"
  2746.                                     }
  2747.  
  2748.                                     blockoverride "expand_button_inside" {
  2749.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'secondary_spouses' )]"
  2750.                                         down = "[CharacterWindow.IsRelationExpanded( 'secondary_spouses' )]"
  2751.                                     }
  2752.  
  2753.                                     blockoverride "gridbox_slots" {}
  2754.                                 }
  2755.                             }
  2756.                         }
  2757.  
  2758.                         ### CONSORTS EXPANDED
  2759.                         scrollbox = {
  2760.                             name = "family_consorts_expanded"
  2761.                             visible = "[CharacterWindow.IsRelationExpanded( 'consorts' )]"
  2762.                             size = { 100% 100% }
  2763.  
  2764.                             blockoverride "scrollbox_replace_vbox" {
  2765.                                 vbox_character_row_item = {
  2766.                                     name = "consorts"
  2767.                                     margin_top = 10
  2768.                                     spacing = 5
  2769.  
  2770.  
  2771.                                     blockoverride "portrait_datamodel" {
  2772.                                         datamodel = "[CharacterWindow.GetConcubines]"
  2773.                                     }
  2774.  
  2775.                                     blockoverride "header_text"
  2776.                                     {
  2777.                                         text = "[SelectLocalization( Character.IsFemale, 'CONCUBINES_MEN', 'CONCUBINES_WOMEN' )]#weak ([GetDataModelSize(CharacterWindow.GetConcubines)])#!"
  2778.                                     }
  2779.  
  2780.                                     blockoverride "expand_button_inside" {
  2781.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'consorts' )]"
  2782.                                         down = "[CharacterWindow.IsRelationExpanded( 'consorts' )]"
  2783.                                     }
  2784.  
  2785.                                     blockoverride "gridbox_slots" {}
  2786.                                 }
  2787.                             }
  2788.                         }
  2789.                     }
  2790.  
  2791.                     ####################################
  2792.                     ########## RELATIONS TAB ###########
  2793.                     ####################################
  2794.  
  2795.                     widget = {
  2796.                         name = "relations"
  2797.                         visible = "[CharacterWindow.IsTabShown('relations')]"
  2798.                         size = { 100% 100% }
  2799.  
  2800.                         using = Animation_Tab_Switch
  2801.  
  2802.                         scrollbox = {
  2803.                             name = "relations_main_view"
  2804.                             visible = "[Not(Or(Or(CharacterWindow.IsRelationExpanded( 'friends' ), CharacterWindow.IsRelationExpanded( 'lovers' )), Or(CharacterWindow.IsRelationExpanded( 'rivals' ), CharacterWindow.IsRelationExpanded( 'wards' ))))]"
  2805.                             size = { 605 100% }
  2806.                             position = {-15 -5}
  2807.                             blockoverride "scrollbox_content" {
  2808.  
  2809.                                 widget = {
  2810.                                     name = "first_row"
  2811.                                     layoutpolicy_horizontal = expanding
  2812.                                     layoutpolicy_vertical = expanding
  2813.                                     #maximumsize = { -1 110 }
  2814.                                     size = { 0 110 }
  2815.                                     scissor = yes
  2816.  
  2817.                                     hbox = {
  2818.                                         vbox_character_row_item = {
  2819.                                             name = "wards"
  2820.                                             visible = "[CharacterWindow.GetCharacter.IsAdult]"
  2821.                                             layoutpolicy_vertical = expanding
  2822.  
  2823.                                             blockoverride "portrait_datamodel" {
  2824.                                                 datamodel = "[CharacterWindow.GetRelationsOfTypeFillEmpty( GetRelation( 'ward' ), '(int32)2' )]"
  2825.                                             }
  2826.  
  2827.                                             blockoverride "header_text"
  2828.                                             {
  2829.                                                 text = "[SelectLocalization( Character.IsFemale, 'WARDS_LABEL', 'WARDS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) ))])#!"
  2830.                                             }
  2831.  
  2832.                                             blockoverride "remaining_items"
  2833.                                             {
  2834.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) )), '(int32)7' ))]"
  2835.                                                 text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) )), '(int32)7' )|=]"
  2836.                                             }
  2837.  
  2838.                                             blockoverride "expand_button_inside" {
  2839.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) )), '(int32)0' )]"
  2840.                                                 onclick = "[CharacterWindow.ToggleExpandedRelation( 'wards' )]"
  2841.                                             }
  2842.  
  2843.                                             blockoverride "empty_character"
  2844.                                             {
  2845.                                                 visible = "[Character.IsValid]"
  2846.                                             }
  2847.                                         }
  2848.  
  2849.                                         vbox_character_row_item = {
  2850.                                             name = "guardian"
  2851.                                             visible = "[Not(CharacterWindow.GetCharacter.IsAdult)]"
  2852.                                             layoutpolicy_vertical = expanding
  2853.  
  2854.                                             blockoverride "portrait_datamodel" {
  2855.                                                 datamodel = "[CharacterWindow.GetRelationsOfTypeFillEmpty( GetRelation( 'guardian' ), '(int32)1' )]"
  2856.                                             }
  2857.  
  2858.                                             blockoverride "header_text"
  2859.                                             {
  2860.                                                 text = "GUARDIAN_LABEL"
  2861.                                             }
  2862.  
  2863.                                             blockoverride "expand_button" {}
  2864.                                         }
  2865.  
  2866.                                         expand = {}
  2867.                                     }
  2868.                                 }
  2869.  
  2870.                                 widget = {
  2871.                                     name = "love"
  2872.                                     layoutpolicy_horizontal = expanding
  2873.                                     layoutpolicy_vertical = expanding
  2874.                                     #maximumsize = { -1 110 }
  2875.                                     size = { 0 110 }
  2876.                                     scissor = yes
  2877.  
  2878.                                     hbox = {                               
  2879.                                         vbox_character_row_item = {
  2880.                                             name = "lovers"
  2881.                                             visible = "[CharacterWindow.GetCharacter.IsAdult]"
  2882.                                             layoutpolicy_vertical = expanding
  2883.  
  2884.                                             blockoverride "portrait_datamodel" {
  2885.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )]"
  2886.                                             }
  2887.  
  2888.                                             blockoverride "header_text"
  2889.                                             {
  2890.                                                 text = "[SelectLocalization( Character.IsFemale, 'LOVERS_LABEL', 'LOVERS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) ))])#!"
  2891.                                             }
  2892.  
  2893.                                             blockoverride "remaining_items"
  2894.                                             {
  2895.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )), '(int32)7' ))]"
  2896.                                                 text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )), '(int32)7' )|=]"
  2897.                                             }
  2898.  
  2899.                                             blockoverride "expand_button_inside" {
  2900.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )), '(int32)0' )]"
  2901.                                                 onclick = "[CharacterWindow.ToggleExpandedRelation( 'lovers' )]"
  2902.                                             }
  2903.                                         }
  2904.  
  2905.                                         vbox_character_row_item = {
  2906.                                             name = "crushes"
  2907.                                             visible = "[Not(CharacterWindow.GetCharacter.IsAdult)]"
  2908.                                             layoutpolicy_vertical = expanding
  2909.  
  2910.                                             blockoverride "portrait_datamodel" {
  2911.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'crush' ) )]"
  2912.                                             }
  2913.  
  2914.                                             blockoverride "header_text"
  2915.                                             {
  2916.                                                 text = "CRUSHES_LABEL"
  2917.                                             }
  2918.  
  2919.                                             blockoverride "expand_button" {}
  2920.                                         }
  2921.  
  2922.                                         expand = {}
  2923.                                     }
  2924.                                 }
  2925.  
  2926.                                 widget = {
  2927.                                     name = "second_row"
  2928.                                     layoutpolicy_horizontal = expanding
  2929.                                     layoutpolicy_vertical = expanding
  2930.                                     #maximumsize = { -1 110 }
  2931.                                     size = { 0 110 }
  2932.                                     scissor = yes
  2933.  
  2934.                                     hbox = {
  2935.                                         layoutpolicy_horizontal = expanding
  2936.  
  2937.                                         vbox_character_row_item = {
  2938.                                             name = "friends"
  2939.                                             layoutpolicy_vertical = expanding
  2940.                                             layoutpolicy_horizontal = expanding
  2941.  
  2942.                                             blockoverride "portrait_datamodel" {
  2943.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )]"
  2944.                                             }
  2945.  
  2946.                                             blockoverride "header_text"
  2947.                                             {
  2948.                                                 text = "[SelectLocalization( Character.IsFemale, 'FRIENDS_LABEL', 'FRIENDS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) ))])#!"
  2949.                                             }
  2950.  
  2951.                                             blockoverride "remaining_items"
  2952.                                             {
  2953.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)7' ))]"
  2954.                                                 text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)7' )|=]"
  2955.                                             }
  2956.  
  2957.                                             blockoverride "expand_button_inside" {
  2958.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )), '(int32)0' )]"
  2959.                                                 onclick = "[CharacterWindow.ToggleExpandedRelation( 'friends' )]"
  2960.                                             }
  2961.                                         }
  2962.  
  2963.                                         expand = {}
  2964.                                     }
  2965.                                 }
  2966.  
  2967.                                 widget = {
  2968.                                     name = "third_row"
  2969.                                     layoutpolicy_horizontal = expanding
  2970.                                     layoutpolicy_vertical = expanding
  2971.                                     #maximumsize = { -1 110 }
  2972.                                     size = { 0 110 }
  2973.                                     scissor = yes
  2974.  
  2975.                                     hbox = {
  2976.                                         layoutpolicy_horizontal = expanding
  2977.  
  2978.                                         vbox_character_row_item = {
  2979.                                             name = "rivals"
  2980.                                             visible = "[CharacterWindow.GetCharacter.IsAdult]"
  2981.                                             layoutpolicy_vertical = expanding
  2982.                                             layoutpolicy_horizontal = expanding
  2983.  
  2984.                                             blockoverride "portrait_datamodel" {
  2985.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )]"
  2986.                                             }
  2987.  
  2988.                                             blockoverride "header_text"
  2989.                                             {
  2990.                                                 text = "[SelectLocalization( Character.IsFemale, 'RIVALS_LABEL', 'RIVALS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) ))])#!"
  2991.                                             }
  2992.  
  2993.                                             blockoverride "remaining_items"
  2994.                                             {
  2995.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)7' ))]"
  2996.                                                 text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)7' )|=]"
  2997.                                             }
  2998.  
  2999.                                             blockoverride "expand_button_inside" {
  3000.                                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )), '(int32)0' )]"
  3001.                                                 onclick = "[CharacterWindow.ToggleExpandedRelation( 'rivals' )]"
  3002.                                             }
  3003.                                         }
  3004.  
  3005.                                         vbox_character_row_item = {
  3006.                                             name = "bullies"
  3007.                                             visible = "[Not( CharacterWindow.GetCharacter.IsAdult )]"
  3008.                                             layoutpolicy_vertical = expanding
  3009.                                             layoutpolicy_horizontal = expanding
  3010.  
  3011.                                             blockoverride "portrait_datamodel" {
  3012.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'bully' ) )]"
  3013.                                             }
  3014.  
  3015.                                             blockoverride "header_text"
  3016.                                             {
  3017.                                                 text = "BULLIES_LABEL"
  3018.                                             }
  3019.  
  3020.                                             blockoverride "expand_button" {}
  3021.                                         }
  3022.  
  3023.                                         vbox_character_row_item = {
  3024.                                             name = "victims"
  3025.                                             visible = "[Not( CharacterWindow.GetCharacter.IsAdult )]"
  3026.                                             layoutpolicy_vertical = expanding
  3027.                                             layoutpolicy_horizontal = expanding
  3028.  
  3029.                                             blockoverride "portrait_datamodel" {
  3030.                                                 datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'victim' ) )]"
  3031.                                             }
  3032.  
  3033.                                             blockoverride "header_text"
  3034.                                             {
  3035.                                                 text = "VICTIMS_LABEL"
  3036.                                             }
  3037.  
  3038.                                             blockoverride "expand_button" {}
  3039.                                         }
  3040.  
  3041.                                         expand = {}
  3042.                                     }
  3043.                                 }
  3044.  
  3045.                             }
  3046.                         }
  3047.                         ### WARDS EXPANDED
  3048.                         scrollbox = {
  3049.                             name = "wards_expanded"
  3050.                             visible = "[CharacterWindow.IsRelationExpanded( 'wards' )]"
  3051.                             size = { 100% 100% }
  3052.  
  3053.                             blockoverride "scrollbox_replace_vbox" {
  3054.                                 vbox_character_row_item = {
  3055.                                     name = "wards"
  3056.                                     margin_top = 10
  3057.                                     spacing = 5
  3058.  
  3059.  
  3060.                                     blockoverride "portrait_datamodel" {
  3061.                                         datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) )]"
  3062.                                     }
  3063.  
  3064.                                     blockoverride "header_text"
  3065.                                     {
  3066.                                         text = "[SelectLocalization( Character.IsFemale, 'WARDS_LABEL', 'WARDS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'ward' ) ))])#!"
  3067.                                     }
  3068.  
  3069.                                     blockoverride "expand_button_inside" {
  3070.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'wards' )]"
  3071.                                         down = "[CharacterWindow.IsRelationExpanded( 'wards' )]"
  3072.                                     }
  3073.  
  3074.                                     blockoverride "gridbox_slots" {}
  3075.                                 }
  3076.                             }
  3077.                         }
  3078.                         ### LOVERS EXPANDED
  3079.                         scrollbox = {
  3080.                             name = "lovers_expanded"
  3081.                             visible = "[CharacterWindow.IsRelationExpanded( 'lovers' )]"
  3082.                             size = { 100% 100% }
  3083.  
  3084.                             blockoverride "scrollbox_replace_vbox" {
  3085.                                 vbox_character_row_item = {
  3086.                                     name = "lovers"
  3087.                                     margin_top = 10
  3088.                                     spacing = 5
  3089.  
  3090.  
  3091.                                     blockoverride "portrait_datamodel" {
  3092.                                         datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) )]"
  3093.                                     }
  3094.  
  3095.                                     blockoverride "header_text"
  3096.                                     {
  3097.                                         text = "[SelectLocalization( Character.IsFemale, 'LOVERS_LABEL', 'LOVERS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'lover' ) ))])#!"
  3098.                                     }
  3099.  
  3100.                                     blockoverride "expand_button_inside" {
  3101.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'lovers' )]"
  3102.                                         down = "[CharacterWindow.IsRelationExpanded( 'lovers' )]"
  3103.                                     }
  3104.  
  3105.                                     blockoverride "gridbox_slots" {}
  3106.                                 }
  3107.                             }
  3108.                         }
  3109.                         ### RIVALS EXPANDED
  3110.                         scrollbox = {
  3111.                             name = "rivals_expanded"
  3112.                             visible = "[CharacterWindow.IsRelationExpanded( 'rivals' )]"
  3113.                             size = { 100% 100% }
  3114.  
  3115.                             blockoverride "scrollbox_replace_vbox" {
  3116.                                 vbox_character_row_item = {
  3117.                                     name = "rivals"
  3118.                                     margin_top = 10
  3119.                                     spacing = 5
  3120.  
  3121.  
  3122.                                     blockoverride "portrait_datamodel" {
  3123.                                         datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) )]"
  3124.                                     }
  3125.  
  3126.                                     blockoverride "header_text"
  3127.                                     {
  3128.                                         text = "[SelectLocalization( Character.IsFemale, 'RIVALS_LABEL', 'RIVALS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'rival' ) ))])#!"
  3129.                                     }
  3130.  
  3131.                                     blockoverride "expand_button_inside" {
  3132.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'rivals' )]"
  3133.                                         down = "[CharacterWindow.IsRelationExpanded( 'rivals' )]"
  3134.                                     }
  3135.  
  3136.                                     blockoverride "gridbox_slots" {}
  3137.                                 }
  3138.                             }
  3139.                         }
  3140.  
  3141.                         ### FRIENDS EXPANDED
  3142.                         scrollbox = {
  3143.                             name = "friends_expanded"
  3144.                             visible = "[CharacterWindow.IsRelationExpanded( 'friends' )]"
  3145.                             size = { 100% 100% }
  3146.  
  3147.                             blockoverride "scrollbox_replace_vbox" {
  3148.                                 vbox_character_row_item = {
  3149.                                     name = "friends"
  3150.                                     margin_top = 10
  3151.                                     spacing = 5
  3152.  
  3153.  
  3154.                                     blockoverride "portrait_datamodel" {
  3155.                                         datamodel = "[CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) )]"
  3156.                                     }
  3157.  
  3158.                                     blockoverride "header_text"
  3159.                                     {
  3160.                                         text = "[SelectLocalization( Character.IsFemale, 'FRIENDS_LABEL', 'FRIENDS_LABEL' )]#weak ([GetDataModelSize(CharacterWindow.GetRelationsOfType( GetRelation( 'friend' ) ))])#!"
  3161.                                     }
  3162.  
  3163.                                     blockoverride "expand_button_inside" {
  3164.                                         onclick = "[CharacterWindow.ToggleExpandedRelation( 'friends' )]"
  3165.                                         down = "[CharacterWindow.IsRelationExpanded( 'friends' )]"
  3166.                                     }
  3167.  
  3168.                                     blockoverride "gridbox_slots" {}
  3169.                                 }
  3170.                             }
  3171.                         }
  3172.                         expand = {}
  3173.                     }
  3174.  
  3175.                     ####################################
  3176.                     ############ COURT TAB #############
  3177.                     ####################################
  3178.  
  3179.                     vbox_character_list = {
  3180.                         datacontext = "[CharacterWindow.GetCourt]"
  3181.                         visible = "[CharacterWindow.IsTabShown('court')]"
  3182.                         layoutpolicy_vertical = expanding
  3183.                         layoutpolicy_horizontal = expanding
  3184.  
  3185.                         blockoverride "sort_buttons" {}
  3186.                         blockoverride "character_count" {}
  3187.                         blockoverride "scrollbox_margins" {
  3188.                             margin_right = 15
  3189.                         }
  3190.  
  3191.                         blockoverride "container_implementation" {
  3192.                             fixedgridbox = {
  3193.                                 name = "characters_grid"
  3194.                                 datamodel = "[CharacterSelectionList.GetList]"
  3195.                                 visible = "[Not(CharacterSelectionList.IsBuildingList)]"
  3196.                                 addcolumn = 580
  3197.                                 addrow = 125
  3198.                                 setitemsizefromcell = yes
  3199.  
  3200.                                 item = {
  3201.                                     widget_courtier_item = {
  3202.                                         datacontext = "[CharacterListItem.GetCharacter]"
  3203.  
  3204.                                         # blockoverride "description_relation_text" {
  3205.                                         #   text = "[Character.GetSpecialGuestRelationDescription]"
  3206.                                         # }
  3207.  
  3208.                                         blockoverride "gridbox_items"
  3209.                                         {
  3210.                                             datamodel_wrap = 7
  3211.                                             maxverticalslots = 2
  3212.                                         }
  3213.  
  3214.  
  3215.                                         blockoverride "action_buttons" {}
  3216.                                     }
  3217.                                 }
  3218.                             }
  3219.                         }
  3220.                     }
  3221.  
  3222.                     ####################################
  3223.                     ########### VASSALS TAB ############
  3224.                     ####################################
  3225.  
  3226.                     vbox_character_list = {
  3227.                         visible = "[CharacterWindow.IsTabShown('vassals')]"
  3228.                         layoutpolicy_vertical = expanding
  3229.                         layoutpolicy_horizontal = expanding
  3230.                         datacontext = "[CharacterWindow.GetVassals]"
  3231.  
  3232.                         blockoverride "sort_buttons" {}
  3233.                         blockoverride "character_count" {}
  3234.                         blockoverride "scrollbox_margins" {
  3235.                             margin = { 0 5 }
  3236.                             margin_right = 10
  3237.                         }
  3238.  
  3239.                         blockoverride "container_implementation" {
  3240.                             fixedgridbox = {
  3241.                                 name = "characters_grid"
  3242.                                 datamodel = "[CharacterSelectionList.GetList]"
  3243.                                 visible = "[Not(CharacterSelectionList.IsBuildingList)]"
  3244.                                 addcolumn = 590
  3245.                                 addrow = 90
  3246.                                 setitemsizefromcell = yes
  3247.  
  3248.                                 item = {
  3249.                                     widget_vassal_list_item = {
  3250.                                         datacontext = "[CharacterListItem.GetCharacter]"
  3251.                                         layoutpolicy_horizontal = expanding
  3252.  
  3253.                                         blockoverride "own_vassal" {}
  3254.                                     }
  3255.                                 }
  3256.                             }
  3257.                         }
  3258.                     }
  3259.                 }
  3260.  
  3261.                 ### EXPANDED VIEWS
  3262.  
  3263.                 # TRAITS EXPANDED
  3264.                 scrollbox = {
  3265.                     name = "traits_expanded"
  3266.                     visible = "[CharacterWindow.AreTraitsExpanded]"
  3267.                     layoutpolicy_vertical = expanding
  3268.                     layoutpolicy_horizontal = expanding
  3269.  
  3270.                     using = Animation_Tab_Switch
  3271.  
  3272.                     blockoverride "scrollbox_content"
  3273.                     {
  3274.                         spacing = 10
  3275.  
  3276.                         vbox = {
  3277.                             spacing = 10
  3278.  
  3279.                             text_label_center = {
  3280.                                 text = "MODIFIERS"
  3281.                             }
  3282.  
  3283.                             text_single = {
  3284.                                 visible = "[IsDataModelEmpty(CharacterWindow.GetTimedModifiers)]"
  3285.                                 text = "CV_NO_MODIFIERS"
  3286.                                 default_format = "#low;italic"
  3287.                             }
  3288.  
  3289.                             dynamicgridbox = {
  3290.                                 name = "modifiers_grid"
  3291.                                 datamodel = "[CharacterWindow.GetTimedModifiers]"
  3292.                                 datamodel_wrap = 8
  3293.                                 flipdirection = yes
  3294.  
  3295.                                 item = {
  3296.                                     icon = {
  3297.                                         size = { 35 35 }
  3298.                                         alwaystransparent = no
  3299.                                         texture = "[ModifierItem.GetIcon]"
  3300.                                         tooltip = "[ModifierItem.GetTooltip]"
  3301.                                     }
  3302.                                 }
  3303.                             }
  3304.                         }
  3305.  
  3306.                         divider_light = {
  3307.                             layoutpolicy_horizontal = expanding
  3308.                         }
  3309.  
  3310.                         vbox = {
  3311.                             spacing = 10
  3312.  
  3313.                             text_label_center = {
  3314.                                 text = "TRAITS"
  3315.                             }
  3316.  
  3317.                             fixedgridbox = {
  3318.                                 name = "personality_traits_grid"
  3319.                                 datamodel = "[CharacterWindow.GetPersonalityTraits]"
  3320.                                 addcolumn = 85
  3321.                                 addrow = 105
  3322.                                 flipdirection = yes
  3323.                                 datamodel_wrap = 6
  3324.  
  3325.                                 item = {
  3326.                                     icon_trait = {
  3327.                                         text_multi = {
  3328.                                             parentanchor = bottom|hcenter
  3329.                                             widgetanchor = top|hcenter
  3330.                                             position = { 0 -5 }
  3331.                                             autoresize = yes
  3332.                                             max_width = 80
  3333.                                             text = "[Trait.GetNameNoTooltip(Character.Self)]"
  3334.                                             default_format = "#high"
  3335.                                             align = hcenter
  3336.                                         }
  3337.                                     }
  3338.                                 }
  3339.                             }
  3340.  
  3341.                             fixedgridbox = {
  3342.                                 name = "traits_grid"
  3343.                                 datamodel = "[CharacterWindow.GetTraits]"
  3344.                                 addcolumn = 85
  3345.                                 addrow = 105
  3346.                                 flipdirection = yes
  3347.                                 datamodel_wrap = 6
  3348.  
  3349.                                 item = {
  3350.                                     icon_trait = {
  3351.                                         text_multi = {
  3352.                                             parentanchor = bottom|hcenter
  3353.                                             widgetanchor = top|hcenter
  3354.                                             position = { 0 -5 }
  3355.                                             autoresize = yes
  3356.                                             max_width = 80
  3357.                                             text = "[Trait.GetNameNoTooltip(Character.Self)]"
  3358.                                             default_format = "#high"
  3359.                                             align = hcenter
  3360.                                         }
  3361.                                     }
  3362.                                 }
  3363.                             }
  3364.                         }
  3365.                     }
  3366.                 }
  3367.  
  3368.                 # TITLES EXPANDED
  3369.                 scrollbox = {
  3370.                     name = "titles_expanded"
  3371.                     visible = "[CharacterWindow.AreTitlesExpanded]"
  3372.                     layoutpolicy_vertical = expanding
  3373.                     layoutpolicy_horizontal = expanding
  3374.  
  3375.                     using = Animation_Tab_Switch
  3376.  
  3377.                     blockoverride "scrollbox_content"
  3378.                     {
  3379.                         spacing = 15
  3380.  
  3381.                         text_label_center = {
  3382.                             text = "CV_TITLES_NOCOUNT"
  3383.                         }
  3384.  
  3385.                         fixedgridbox = {
  3386.                             name = "titles_box_bishop"
  3387.                             datacontext = "[CharacterWindow.GetCharacter]"
  3388.                             flipdirection = yes
  3389.                             addrow = 90
  3390.                             addcolumn = 270
  3391.                             datamodel_wrap = 2
  3392.  
  3393.                             datamodel = "[CharacterWindow.GetTitles]"
  3394.  
  3395.                             item = {
  3396.                                 flowcontainer = {
  3397.                                     datacontext = "[TitleItem.GetTitle]"
  3398.                                     spacing = 5
  3399.  
  3400.                                     coa_title_small_crown = {
  3401.                                         using = tooltip_ne
  3402.                                     }
  3403.  
  3404.                                     text_multi = {
  3405.                                         text = "[Title.GetNameNoTooltip]"
  3406.                                         parentanchor = vcenter
  3407.                                         autoresize = yes
  3408.                                         default_format = "#high"
  3409.                                         using = Font_Size_Medium
  3410.                                         max_width = 190
  3411.                                         margin_top = 5
  3412.                                     }
  3413.                                 }
  3414.                             }
  3415.                         }
  3416.                     }
  3417.                 }
  3418.  
  3419.                 # CLAIMS EXPANDED
  3420.                 scrollbox = {
  3421.                     name = "claims_expanded"
  3422.                     visible = "[CharacterWindow.AreClaimsExpanded]"
  3423.                     layoutpolicy_vertical = expanding
  3424.                     layoutpolicy_horizontal = expanding
  3425.  
  3426.                     using = Animation_Tab_Switch
  3427.  
  3428.                     blockoverride "scrollbox_content"
  3429.                     {
  3430.                         spacing = 10
  3431.  
  3432.                         text_label_center = {
  3433.                             text = "CV_CLAIMS_NOCOUNT"
  3434.                         }
  3435.  
  3436.                         flowcontainer = {
  3437.                             name = "titles_box_bishop"
  3438.                             datacontext = "[CharacterWindow.GetCharacter]"
  3439.                             datamodel = "[CharacterWindow.GetClaims]"
  3440.                             direction = vertical
  3441.                             spacing = 10
  3442.  
  3443.                             item = {
  3444.                                 flowcontainer = {
  3445.                                     spacing = 5
  3446.                                     using = tooltip_ne
  3447.                                     tooltip = "[Claim.GetTooltip]"
  3448.  
  3449.                                     coa_title_medium = {
  3450.                                         datacontext = "[Claim.GetTitle]"
  3451.                                     }
  3452.  
  3453.                                     flowcontainer = {
  3454.                                         direction = vertical
  3455.                                         ignoreinvisible = yes
  3456.  
  3457.                                         text_single = {
  3458.                                             text = "[Claim.GetTitle.GetNameNoTooltip]"
  3459.                                             default_format = "#high"
  3460.                                             using = Font_Size_Big
  3461.                                         }
  3462.  
  3463.                                         text_single = {
  3464.                                             name = "pressed_claim"
  3465.                                             visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]"
  3466.                                             text = "[pressed_claim_i][pressed_claim|E]"
  3467.                                         }
  3468.  
  3469.                                         text_single = {
  3470.                                             name = "unpressed_claim"
  3471.                                             visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]"
  3472.                                             text = "[unpressed_claim_i][unpressed_claim|E]"
  3473.                                         }
  3474.  
  3475.                                         text_single = {
  3476.                                             name = "implicit_claim"
  3477.                                             visible = "[Claim.IsImplicit]"
  3478.                                             text = "[implicit_claim_i][implicit_claim|E]"
  3479.                                         }
  3480.  
  3481.                                         text_multi = {
  3482.                                             visible = "[Claim.GetTitle.GetHolder.IsValid]"
  3483.                                             text = "CLAIM_TITLE_HOLDER"
  3484.                                             max_width = 400
  3485.                                             autoresize = yes
  3486.                                         }
  3487.  
  3488.                                         text_single = {
  3489.                                             visible = "[Not(Claim.GetTitle.GetHolder.IsValid)]"
  3490.                                             text = "CLAIM_TITLE_NOT_CREATED"
  3491.                                             default_format = "#weak"
  3492.                                             align = nobaseline
  3493.                                         }
  3494.                                     }
  3495.                                 }
  3496.                             }
  3497.                         }
  3498.                     }
  3499.                 }
  3500.  
  3501.                 # DIPLOMACY EXPANDED
  3502.                 scrollbox = {
  3503.                     name = "diplomacy_expanded"
  3504.                     visible = "[CharacterWindow.AreDiplomacyExpanded]"
  3505.                     layoutpolicy_vertical = expanding
  3506.                     layoutpolicy_horizontal = expanding
  3507.  
  3508.                     using = Animation_Tab_Switch
  3509.  
  3510.                     blockoverride "scrollbox_content"
  3511.                     {
  3512.                         spacing = 15
  3513.  
  3514.                         text_label_center = {
  3515.                             text = "CV_DIPLOMACY"
  3516.                         }
  3517.  
  3518.                         vbox = {
  3519.                             name = "diplomacy_items"
  3520.                             datamodel = "[CharacterWindow.GetDiplomacyItems]"
  3521.  
  3522.                             item = {
  3523.                                 vbox = {
  3524.                                     layoutpolicy_horizontal = expanding
  3525.                                     spacing = 20
  3526.  
  3527.                                     divider_light = {
  3528.                                         layoutpolicy_horizontal = expanding
  3529.                                     }
  3530.  
  3531.                                     button_group = {
  3532.                                         layoutpolicy_horizontal = expanding
  3533.                                         onclick = "[DiplomacyItem.OnClick]"
  3534.                                         tooltip = "[DiplomacyItem.GetTooltip]"
  3535.                                         using = tooltip_se
  3536.  
  3537.  
  3538.                                         hbox = {
  3539.                                             layoutpolicy_horizontal = expanding
  3540.                                             spacing = 20
  3541.  
  3542.                                             widget = {
  3543.                                                 size = { 65 74 }
  3544.  
  3545.                                                 button = {
  3546.                                                     texture = "gfx/interface/icons/diplomatic_icons.dds"
  3547.                                                     frame = "[DiplomacyItem.GetDiplomacyFrame]"
  3548.                                                     parentanchor = top|hcenter
  3549.                                                     position = { 0 -30 }
  3550.                                                     framesize = { 120 120 }
  3551.                                                     size = { 50 50 }
  3552.                                                     tooltip_enabled = no
  3553.                                                     scale = 1.3
  3554.                                                 }
  3555.  
  3556.                                                 coa_realm_medium = {
  3557.                                                     datacontext = "[DiplomacyItem.GetTargetCharacter]"
  3558.                                                     tooltip = "[DiplomacyItem.GetTooltip]"
  3559.                                                     parentanchor = hcenter
  3560.  
  3561.                                                     text_single = {
  3562.                                                         name = "warscore"
  3563.                                                         visible = "[DiplomacyItem.HasWarScore]"
  3564.                                                         parentanchor = hcenter
  3565.                                                         position = { 0 -20 }
  3566.                                                         text = "[DiplomacyItem.GetWarScoreFraction|0%=+]"
  3567.                                                         using = Font_Size_Medium
  3568.                                                     }
  3569.                                                 }
  3570.                                             }
  3571.  
  3572.                                             text_multi = {
  3573.                                                 text = "[DiplomacyItem.GetInfo]"
  3574.                                                 layoutpolicy_horizontal = expanding
  3575.                                                 autoresize = yes
  3576.                                                 max_width = 400
  3577.                                             }
  3578.                                         }
  3579.                                     }
  3580.  
  3581.                                     hbox = {
  3582.                                         name = "reason_characters"
  3583.                                         visible = "[DiplomacyItem.HasReasonCharacters]"
  3584.  
  3585.                                         portrait_head_small = {
  3586.                                             name = "reason_character_left"
  3587.                                             datacontext = "[DiplomacyItem.GetLeftReasonCharacter]"
  3588.                                             blockoverride "opinion_box" {}
  3589.                                             blockoverride "status_icons" {}
  3590.                                         }
  3591.  
  3592.                                         portrait_head_small = {
  3593.                                             name = "reason_character_right"
  3594.                                             datacontext = "[DiplomacyItem.GetRightReasonCharacter]"
  3595.                                             blockoverride "opinion_box" {}
  3596.                                             blockoverride "status_icons" {}
  3597.  
  3598.                                             blockoverride "portrait_transformation"
  3599.                                             {
  3600.                                                 portrait_scale = { -1 1 }
  3601.                                                 portrait_offset = { 1 0 }
  3602.                                             }
  3603.                                         }
  3604.                                     }
  3605.                                 }
  3606.                             }
  3607.                         }
  3608.                     }
  3609.                 }
  3610.             }
  3611.         }
  3612.     }
  3613. }
  3614.     ######################################################
  3615.     ################ TYPES AND TEMPLATES #################
  3616.     ######################################################
  3617.  
  3618.     types CharacterWindow
  3619.     {
  3620.         type skill_icon_label_vertical = widget {
  3621.             size = { 40 60 }
  3622.             datacontext = "[SkillItem]"
  3623.  
  3624.             icon = {
  3625.                 name = "skill_icon"
  3626.                 texture = "gfx/interface/icons/icon_skills.dds"
  3627.                 size = { 24 24 }
  3628.                 framesize = { 60 60 }
  3629.                 position = { -10 17 }
  3630.  
  3631.                 block "icon"
  3632.                 {
  3633.                     frame = "[SkillItem.GetFrame]"
  3634.                 }
  3635.             }
  3636.  
  3637.             block "tooltip"
  3638.             {
  3639.                 tooltip = "SKILL_ITEM_TOOLTIP"
  3640.                 using = tooltip_ne
  3641.             }
  3642.  
  3643.             text_single = {
  3644.                 name = "skill_value"
  3645.                 parentanchor = top|hcenter
  3646.                 position = { 5 17 }
  3647.                 align = center
  3648.  
  3649.                 block "value"
  3650.                 {
  3651.                     text = "[SkillItem.GetValue]"
  3652.                 }
  3653.             }
  3654.         }
  3655.  
  3656.         type icon_row_header_background = icon
  3657.         {
  3658.             size = { 100% 25 }
  3659.  
  3660.             texture = "gfx/interface/component_tiles/tile_title_bg_01.dds"
  3661.             spritetype = corneredtiled
  3662.             spriteborder = { 20 0 }
  3663.             texture_density = 2
  3664.             alpha = 0.5
  3665.         }
  3666.  
  3667.         type widget_family_row_item = widget
  3668.         {
  3669.             layoutpolicy_horizontal = expanding
  3670.             layoutpolicy_vertical = expanding
  3671.             maximumsize = { -1 110 }
  3672.             scissor = yes
  3673.  
  3674.             icon_row_header_background = {}
  3675.  
  3676.             hbox = {
  3677.  
  3678.                 block "item_list"
  3679.                 {
  3680.                 }
  3681.  
  3682.                 expand = {}
  3683.             }
  3684.         }
  3685.  
  3686.         type vbox_character_row_item = vbox {
  3687.             spacing = -3
  3688.  
  3689.             widget = {
  3690.                 layoutpolicy_horizontal = expanding
  3691.                 size = { 0 25 }
  3692.                 min_width = 110
  3693.  
  3694.                 block "expand_button" {
  3695.                     button_standard_hover = {
  3696.                         size = { 100% 100% }
  3697.  
  3698.                         block "expand_button_inside" {}
  3699.                     }
  3700.                 }
  3701.  
  3702.                 hbox = {
  3703.                     margin = { 10 0 }
  3704.  
  3705.                     background = {
  3706.                         using = Text_Label_Background
  3707.                         alpha = 0.5
  3708.                         margin = { 0 -2 }
  3709.                     }
  3710.  
  3711.                     text_single = {
  3712.                         align = nobaseline
  3713.                         fontsize = 14
  3714.  
  3715.                         block "header_text"
  3716.                         {
  3717.                             text = "#D NEEDS TEXT#!"
  3718.                         }
  3719.                     }
  3720.  
  3721.                     expand = {}
  3722.  
  3723.                     text_single = {
  3724.                         align = nobaseline
  3725.                         default_format = "#weak"
  3726.  
  3727.                         block "remaining_items" {
  3728.                             visible = no
  3729.                         }
  3730.                     }
  3731.                 }
  3732.             }
  3733.  
  3734.             hbox = {
  3735.                 layoutpolicy_horizontal = expanding
  3736.  
  3737.                 using = Animation_Character_Window_Refresh
  3738.  
  3739.                 block "gridbox" {
  3740.                     fixedgridbox = {
  3741.                         flipdirection = yes
  3742.                         addcolumn = 85
  3743.                         addrow = 90
  3744.                         datamodel_wrap = 7
  3745.  
  3746.                         block "gridbox_slots"
  3747.                         {
  3748.                             maxverticalslots = 1
  3749.                         }
  3750.  
  3751.                         block "portrait_datamodel" {
  3752.                             datamodel = "[CharacterWindow.GetParents]"
  3753.                         }
  3754.  
  3755.                         item = {
  3756.                             portrait_head_small_cached = {
  3757.                                 blockoverride "portrait_button"
  3758.                                 {
  3759.                                     using = tooltip_ne
  3760.                                 }
  3761.                                 blockoverride "glow_visible"
  3762.                                 {
  3763.                                     visible = no
  3764.                                 }
  3765.                             }
  3766.                         }
  3767.                     }
  3768.                 }
  3769.  
  3770.                 block "find_partner" {}
  3771.  
  3772.                 expand = {}
  3773.             }
  3774.  
  3775.             expand = {}
  3776.         }
  3777.  
  3778.         type vbox_titles_claims_box = vbox {
  3779.  
  3780.             ## Titles
  3781.             vbox = {
  3782.                 name = "titles"
  3783.                 visible = "[Not( IsDataModelEmpty( CharacterWindow.GetTitles ) )]"
  3784.                 layoutpolicy_horizontal = expanding
  3785.  
  3786.                 button_standard_hover = {
  3787.                     layoutpolicy_horizontal = expanding
  3788.                     size = { 0 25 }
  3789.                     onclick = "[CharacterWindow.ToggleExpandedTitles]"
  3790.                     down = "[CharacterWindow.AreTitlesExpanded]"
  3791.                     tooltip = "[SelectLocalization( CharacterWindow.AreTitlesExpanded, 'CV_TITLES_HIDE_TT', 'CV_TITLES_SHOW_TT' )]"
  3792.  
  3793.                     hbox = {
  3794.                         margin = { 5 0 }
  3795.                         margin_bottom = 3
  3796.                         margin_right = 10
  3797.  
  3798.                         text_label_left = {
  3799.                             visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)1' )]"
  3800.                             text = "CV_TITLES"
  3801.                         }
  3802.  
  3803.                         text_label_left = {
  3804.                             visible = "[Not(GreaterThan_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)1' ))]"
  3805.                             text = "CV_TITLES_SINGULAR"
  3806.                         }
  3807.  
  3808.                         expand = {}
  3809.  
  3810.                         text_single = {
  3811.                             block "titles_extra_items"
  3812.                             {
  3813.                                 visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )]"
  3814.                                 text = "[GetNumberAbove_int32( GetDataModelSize(CharacterWindow.GetTitles), '(int32)8' )|=]"
  3815.                             }
  3816.                             default_format = "#weak"
  3817.                         }
  3818.                     }
  3819.                 }
  3820.  
  3821.                 hbox = {
  3822.                     layoutpolicy_horizontal = expanding
  3823.  
  3824.                     hbox = {
  3825.                         layoutpolicy_horizontal = expanding
  3826.  
  3827.                         fixedgridbox = {
  3828.                             datamodel = "[CharacterWindow.GetTitles]"
  3829.                             flipdirection = yes
  3830.                             addrow = 60
  3831.                             addcolumn = 38
  3832.                             maxverticalslots = 1
  3833.  
  3834.                             block "titles_max_slots" {
  3835.                                 datamodel_wrap = 2
  3836.                             }
  3837.  
  3838.                             item = {
  3839.                                 coa_title_tiny_crown = {
  3840.                                     datacontext = "[TitleItem.GetTitle]"
  3841.                                     #   visible = "[GreaterThan_int32( Title.GetTierFrame, '(int32)3' )]"
  3842.                                     using = tooltip_ne
  3843.  
  3844.                                     icon = {
  3845.                                         name = "has_laws"
  3846.                                         visible = "[TitleItem.GetTitle.HasLaws]"
  3847.                                         parentanchor = bottom|right
  3848.                                         size = { 25 25 }
  3849.                                         position = { 5 0 }
  3850.                                         texture = "gfx/interface/icons/title_status/icon_title_law.dds"
  3851.                                     }
  3852.                                 }
  3853.                             }
  3854.                         }
  3855.  
  3856.                         expand = {}
  3857.                     }
  3858.                 }
  3859.             }
  3860.  
  3861.             ## Claims
  3862.             vbox = {
  3863.                 name = "claims"
  3864.                 visible = "[Not(IsDataModelEmpty(CharacterWindow.GetClaims))]"
  3865.                 layoutpolicy_horizontal = expanding
  3866.  
  3867.                 vbox = {
  3868.                     layoutpolicy_horizontal = expanding
  3869.  
  3870.                     button_standard_hover = {
  3871.                         layoutpolicy_horizontal = expanding
  3872.                         margin_left = 5
  3873.                         size = { 0 25 }
  3874.                         onclick = "[CharacterWindow.ToggleExpandedClaims]"
  3875.                         down = "[CharacterWindow.AreClaimsExpanded]"
  3876.                         tooltip = "[SelectLocalization( CharacterWindow.AreClaimsExpanded, 'CV_CLAIMS_HIDE_TT', 'CV_CLAIMS_SHOW_TT' )]"
  3877.  
  3878.                         hbox = {
  3879.                             margin = { 5 0 }
  3880.                             margin_bottom = 3
  3881.                             margin_right = 10
  3882.  
  3883.                             text_label_left = {
  3884.                                 visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)1' )]"
  3885.                                 text = "CV_CLAIMS"
  3886.                             }
  3887.  
  3888.                             text_label_left = {
  3889.                                 visible = "[Not(GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)1' ))]"
  3890.                                 text = "CV_CLAIMS_SINGULAR"
  3891.                             }
  3892.  
  3893.                             expand = {}
  3894.  
  3895.                             text_single = {
  3896.                                 block "claims_extra_items"
  3897.                                 {
  3898.                                     visible = "[GreaterThan_int32( GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )]"
  3899.                                     text = "[GetNumberAbove_int32(GetDataModelSize(CharacterWindow.GetClaims), '(int32)10' )|=]"
  3900.                                 }
  3901.                                 default_format = "#weak"
  3902.                             }
  3903.                         }
  3904.                     }
  3905.  
  3906.                     expand = {}
  3907.                 }
  3908.  
  3909.                 hbox = {
  3910.                     layoutpolicy_horizontal = expanding
  3911.  
  3912.                     fixedgridbox = {
  3913.                         name = "claims_box"
  3914.                         datamodel = "[CharacterWindow.GetClaims]"
  3915.                         flipdirection = yes
  3916.                         addrow = 60
  3917.                         addcolumn = 38
  3918.                         maxverticalslots = 1
  3919.  
  3920.                         block "claims_max_slots" {
  3921.                             datamodel_wrap = 8
  3922.                         }
  3923.  
  3924.                         item = {
  3925.                             container = {
  3926.                                 datacontext = "[Claim.GetTitle]"
  3927.                                 using = tooltip_ne
  3928.                                 tooltip = "CHARACTER_WINDOW_CLAIM_TOOLTIP"
  3929.  
  3930.                                 coa_title_tiny_crown = {
  3931.                                     name = "claim"
  3932.                                     tooltip_enabled = no
  3933.  
  3934.  
  3935.                                     highlight_icon = {
  3936.                                         name = "pressed_claim"
  3937.                                         visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]"
  3938.                                         texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds"
  3939.                                         size = { 24 24 }
  3940.                                         parentanchor = bottom|right
  3941.                                     }
  3942.  
  3943.                                     highlight_icon = {
  3944.                                         name = "unpressed_claim"
  3945.                                         visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]"
  3946.                                         texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds"
  3947.                                         size = { 24 24 }
  3948.                                         parentanchor = bottom|right
  3949.                                     }
  3950.  
  3951.                                     highlight_icon = {
  3952.                                         name = "implicit_claim"
  3953.                                         visible = "[Claim.IsImplicit]"
  3954.                                         texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds"
  3955.                                         size = { 24 24 }
  3956.                                         parentanchor = bottom|right
  3957.                                     }
  3958.                                 }
  3959.                             }
  3960.                         }
  3961.                     }
  3962.  
  3963.                     expand = {}
  3964.                 }
  3965.             }
  3966.  
  3967.             expand = {}
  3968.         }
  3969.  
  3970.         type vbox_diplomacy_box = vbox {
  3971.             name = "diplomacy"
  3972.  
  3973.             button_standard_hover = {
  3974.                 layoutpolicy_horizontal = expanding
  3975.                 size = { 0 25 }
  3976.                 onclick = "[CharacterWindow.ToggleExpandedDiplomacy]"
  3977.                 down = "[CharacterWindow.AreDiplomacyExpanded]"
  3978.                 tooltip = "[SelectLocalization( CharacterWindow.AreDiplomacyExpanded, 'CV_DIPLOMACY_HIDE_TT', 'CV_DIPLOMACY_SHOW_TT' )]"
  3979.  
  3980.                 hbox = {
  3981.                     margin = { 5 0 }
  3982.                     margin_left = 10
  3983.                     margin_bottom = 3
  3984.  
  3985.                     text_label_left = {
  3986.                         layoutpolicy_horizontal = expanding
  3987.                         text = "CV_DIPLOMACY"
  3988.                         autoresize = no
  3989.                         margin_right = 0
  3990.                     }
  3991.                 }
  3992.  
  3993.                 hbox = {
  3994.                     margin = { 10 0 }
  3995.                     margin_bottom = 3
  3996.  
  3997.                     expand = {}
  3998.  
  3999.                     text_single = {
  4000.                         default_format = "#weak"
  4001.  
  4002.                         block "diplomacy_extra_items"
  4003.                         {
  4004.                             visible = no
  4005.                         }
  4006.                     }
  4007.                 }
  4008.             }
  4009.  
  4010.             vbox = {
  4011.                 margin_top = 20
  4012.                 min_width = 100
  4013.  
  4014.                 fixedgridbox = {
  4015.                     name = "diplomacy_items"
  4016.                     datamodel = "[CharacterWindow.GetDiplomacyItems]"
  4017.                     flipdirection = yes
  4018.                     addrow = 65
  4019.                     addcolumn = 50
  4020.  
  4021.                     block "diplomacy_slots"
  4022.                     {
  4023.                         maxverticalslots = 2
  4024.                         maxhorizontalslots = 2
  4025.                         datamodel_wrap = 2
  4026.                     }
  4027.  
  4028.                     item = {
  4029.                         container = {
  4030.                             button = {
  4031.                                 parentanchor = top|hcenter
  4032.                                 position = { 0 -22 }
  4033.                                 texture = "gfx/interface/icons/diplomatic_icons.dds"
  4034.                                 frame = "[DiplomacyItem.GetDiplomacyFrame]"
  4035.                                 framesize = { 120 120 }
  4036.                                 size = { 50 50 }
  4037.                                 tooltip_enabled = no
  4038.  
  4039.                                 text_single = {
  4040.                                     name = "warscore"
  4041.                                     visible = "[DiplomacyItem.HasWarScore]"
  4042.                                     parentanchor = top|hcenter
  4043.                                     position = { 0 10 }
  4044.                                     text = "[DiplomacyItem.GetWarScoreFraction|0%=+]"
  4045.                                     fontsize = 13
  4046.                                 }
  4047.                             }
  4048.  
  4049.                             coa_realm_small = {
  4050.                                 datacontext = "[DiplomacyItem.GetTargetCharacter]"
  4051.                                 tooltip = "[DiplomacyItem.GetTooltip]"
  4052.                                 using = tooltip_es
  4053.                                 tooltip_offset = { 0 22 }
  4054.                                 onrightclick = "[DefaultOnRealmFlagClick(Character.GetID)]"
  4055.  
  4056.                                 state = {
  4057.                                     name = _mouse_hierarchy_enter
  4058.                                     start_sound = {
  4059.                                         soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over"
  4060.                                     }
  4061.                                 }
  4062.  
  4063.                                 blockoverride "coa_button"
  4064.                                 {
  4065.                                     onclick = "[DiplomacyItem.OnClick]"
  4066.                                     button_ignore = none
  4067.                                 }
  4068.                             }
  4069.                         }
  4070.                     }
  4071.                 }
  4072.             }
  4073.  
  4074.             expand = {}
  4075.         }
  4076.     }
  4077.  
  4078.     template Animation_Character_Window_Refresh
  4079.     {
  4080.         state = {
  4081.             name = character_window_refresh
  4082.             using = Animation_Refresh_FadeOut
  4083.             alpha = 0.65
  4084.         }
  4085.  
  4086.         state = {
  4087.             using = Animation_Refresh_FadeIn
  4088.         }
  4089.     }
  4090.  
  4091.     template Animation_Character_Window_Refresh_Short
  4092.     {
  4093.         state = {
  4094.             name = character_window_refresh
  4095.             using = Animation_Refresh_FadeOut
  4096.             alpha = 0.8
  4097.         }
  4098.  
  4099.         state = {
  4100.             using = Animation_Refresh_FadeIn
  4101.             duration = 0.25
  4102.         }
  4103.     }
  4104.  
Add Comment
Please, Sign In to add comment