window = { name = "admin_vassal_detail_view" widgetid = "admin_vassal_detail_view" parentanchor = top|right position = { -610 90 } size = { 570 868 } movable = no layer = middle using = Window_Background using = Window_Decoration state = { name = _show using = Animation_FadeIn_Quick position_x = -610 on_start = "[GetVariableSystem.Set( 'admin_vassal_detail_view_open', 'true' )]" } state = { name = _hide using = Animation_FadeOut_Quick position_x = -580 on_start = "[GetVariableSystem.Clear( 'admin_vassal_detail_view_open' )]" } vbox = { datacontext = "[AdminVassalDetailView.GetTitle]" datacontext = "[AdminVassalDetailView.GetGovernor]" using = Window_Margins state = { name = "admin_vassal_details_refresh" alpha = 0 duration = 0.2 next = "b" using = Animation_Curve_Default } state = { name = "b" alpha = 1 duration = 0.2 using = Animation_Curve_Default } header_pattern = { layoutpolicy_horizontal = expanding blockoverride "header_text" { text = "[Title.GetNameNoTooltip]" } blockoverride "button_close" { onclick = "[AdminVassalDetailView.Close]" } } widget = { name = "background" coat_of_arms_icon = { size = { 128 128 } coat_of_arms = "[Title.GetTitleCoA.GetTexture('(int32)230','(int32)230')]" coat_of_arms_slot = "[Title.GetTitleCoA.GetSlot('(int32)230','(int32)230')]" coat_of_arms_mask = "gfx/interface/coat_of_arms/designer_mask.dds" color = { 1 1 1 0.5 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_vertical.dds" rotate_uv = 1.08 translate_uv = { 0.3 0 } blend_mode = alphamultiply } using = Mask_Rough_Edges } } hbox = { name = "header_details" layoutpolicy_horizontal = expanding margin = { 10 10 } spacing = 10 coa_title_medium_crown = { } expand = {} vbox = { hbox = { visible = "[Not( Character.IsIndependentRuler )]" margin = { 12 8 } spacing = 8 background = { using = Background_Area_Dark alpha = 0.75 } text_single = { name = "administration_type" layoutpolicy_horizontal = expanding align = top text = ADMIN_WINDOW_THEME_ADMINISTRATION_TYPE } button_modify_theme = { } button_round = { datacontext = "[Title.GetHolder.GetLiege]" visible = "[And(Title.GetHolder.IsPlayer,Title.GetHolder.GetLiege.IsValid)]" enabled = "[Character.IsPlayerInteractionValid('admin_vassal_modify_vassal_contract_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('admin_vassal_modify_vassal_contract_interaction')]" onclick = "[Character.OpenPlayerInteraction('admin_vassal_modify_vassal_contract_interaction')]" button_add_laws = { parentanchor = center alwaystransparent = yes } } button_round = { visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]" onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]" block "give_directive_button_round" {} button_give_directive = { alwaystransparent = yes parentanchor = center } using = tooltip_se } vbox = { margin_top = -11 text_single = { visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" text = "[Character.Custom('vassal_directive_icon')]" tooltip = "[Character.Custom('vassal_directive_text')]" using = tooltip_se } } } text_label_left = { visible = "[Character.IsIndependentRuler]" text = ADMIN_WINDOW_THEME_IMPERIAL_LANDS_HEADER } text_single = { name = "tier_info" layoutpolicy_horizontal = expanding text = ADMIN_VASSAL_DETAILS_TITLE_TIER } text_single = { name = "theme_size" layoutpolicy_horizontal = expanding raw_text = ADMIN_WINDOW_THEME_COUNTIES } } expand = {} expand = {} } vbox = { name = "contribution_info" layoutpolicy_horizontal = expanding margin = { 0 12 } spacing = 4 background ={ using = Background_Area } text_label_center = { text = ADMIN_VASSAL_DETAILS_INCOME_HEADER background = { using = Background_Area } } text_single = { visible = "[Not( Character.IsIndependentRuler )]" text = ADMIN_VASSAL_DETAILS_INCOME_DESCRIPTION default_format = "#low" } text_multi = { visible = "[Character.IsIndependentRuler]" layoutpolicy_horizontal = expanding max_width = 360 align = center text = ADMIN_VASSAL_THEME_IMPERIAL_LANDS_INCOME_TOP_LIEGE default_format = "#low" } hbox = { spacing = 16 icon_gold = { size = { 32 32 } } text_label_center = { text = ADMIN_VASSAL_DETAILS_TAX_CONTRIBUTION min_width = 80 } spacer = { size = { 32 -1 } } icon_soldiers = { size = { 32 32 } } text_label_center = { text = ADMIN_VASSAL_DETAILS_LEVY_CONTRIBUTION min_width = 80 } } } hbox = { name = "governor_info" layoutpolicy_horizontal = expanding margin = { 12 12 } margin_bottom = 18 background = { using = Background_Area_Light } vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding text_single = { layoutpolicy_horizontal = expanding max_width = 300 text = ADMIN_VASSAL_DETAILS_GOVERNOR_TITLE default_format = "#low" using = Font_Size_Medium } text_single = { layoutpolicy_horizontal = expanding max_width = 300 text = "[Character.GetNameNoTooltip]" using = Font_Size_Medium } text_single = { layoutpolicy_horizontal = expanding max_width = 300 text = "[Character.GetRelationToString( GetPlayer )]" default_format = "#low" } spacer = { size = { -1 8 } } text_single = { visible = "[Not( Character.IsIndependentRuler )]" layoutpolicy_horizontal = expanding max_width = 300 text = ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_LONG tooltip = ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_TT } hbox = { layoutpolicy_horizontal = expanding margin_top = 12 spacing = 4 button_round = { visible = "[Character.IsPlayerInteractionShown('force_step_down_interaction')]" enabled = "[Character.IsPlayerInteractionValid('force_step_down_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('force_step_down_interaction')]" onclick = "[Character.OpenPlayerInteraction('force_step_down_interaction')]" button_force_to_step_down = { parentanchor = center alwaystransparent = yes } } button_round = { visible = "[Character.IsPlayerInteractionShown('start_subsume_province_interaction')]" enabled = "[Character.IsPlayerInteractionValid('start_subsume_province_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('start_subsume_province_interaction')]" onclick = "[Character.OpenPlayerInteraction('start_subsume_province_interaction')]" button_subsume_province = { parentanchor = center alwaystransparent = yes } } button_round = { visible = "[Character.IsPlayerInteractionShown('start_dispute_border_interaction')]" enabled = "[Character.IsPlayerInteractionValid('start_dispute_border_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('start_dispute_border_interaction')]" onclick = "[Character.OpenPlayerInteraction('start_dispute_border_interaction')]" button_dispute_border = { parentanchor = center alwaystransparent = yes } } button_round = { visible = "[Character.IsPlayerInteractionShown('frontier_influence_war_interaction')]" enabled = "[Character.IsPlayerInteractionValid('frontier_influence_war_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('frontier_influence_war_interaction')]" onclick = "[Character.OpenPlayerInteraction('frontier_influence_war_interaction')]" button_declare_war = { parentanchor = center alwaystransparent = yes } } expand = {} } expand = { } text_multi = { visible = "[And( Character.IsIndependentRuler, GetPlayer.IsIndependentRuler )]" layoutpolicy_horizontal = expanding max_width = 300 text = ADMIN_WINDOW_THEME_IMPERIAL_LAND_DETAILS } hbox = { visible = "[GetPlayer.IsIndependentRuler]" layoutpolicy_horizontal = expanding button_standard = { visible = "[Not( Character.IsIndependentRuler )]" enabled = "[Character.IsPlayerInteractionValid('revoke_title_interaction')]" text = ADMIN_VASSAL_DETAILS_REVOKE_BUTTON onclick = "[Character.OpenPlayerInteractionWithTargetTitle('revoke_title_interaction', Title.Self)]" onclick = "[Character.PanCameraTo]" onclick = "[AdminVassalDetailView.Close]" tooltip = "[Character.GetPlayerInteractionTooltip('revoke_title_interaction')]" } button_standard = { visible = "[Character.IsIndependentRuler]" enabled = "[And( And( ObjectsEqual( GetPlayer.Self, Character.Self ), Title.CanUseFindVassal( Character.Self ) ), Not( Title.IsLeasedOut ) )]" text = ADMIN_VASSAL_DETAILS_APPOINT_BUTTON onclick = "[OpenTitleWindowAndGrantTitle( Title.Self )]" onclick = "[Character.PanCameraTo]" onclick = "[AdminVassalDetailView.Close]" tooltip = FIND_VASSAL_BUTTON_TOOLTIP } expand = { } } } portrait_torso = { } } vbox = { name = "succession_info" margin = { 0 8 } margin_bottom = 12 spacing = 12 layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding background = { using = Background_Area } text_label_center = { text = ADMIN_VASSAL_DETAILS_SUCCESSION_LABEL } hbox_admin_title_successor_candidates_list = { datacontext = "[AdminVassalDetailView.GetSuccessorCandidateList]" } # INVEST IN BEST LOCAL PLAYER CANDIDATE IF THEY EXIST hbox = { datacontext = "[AdminVassalDetailView.GetTitle]" datacontext = "[AdminVassalDetailView.GetSuccessorCandidateList]" datacontext = "[AdminVassalSuccessorCandidateList.GetBestLocalPlayerCandidate( '(int32)0' )]" datacontext = "[AdminVassalSuccessorCandidate.GetCandidate]" visible = "[AdminVassalSuccessorCandidateList.ShowBestPlayerCandidateIndependently( '(int32)0' )]" layoutpolicy_horizontal = expanding button_standard = { enabled = "[Character.IsPlayerInteractionValid('influence_candidacy_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('influence_candidacy_interaction')]" onclick = "[Character.OpenPlayerInteractionWithTargetTitle('influence_candidacy_interaction', Title.Self)]" size = { 180 40 } hbox = { layoutpolicy_horizontal = expanding margin = { 8 4 } button_promote_candidate = { alwaystransparent = yes } text_single = { text = ADMIN_VASSAL_DETAILS_VOTE_FOR_SUCCESSOR_BUTTON align = nobaseline } } } } # INVEST IN ANYONE (FALLBACK) hbox = { datacontext = "[AdminVassalDetailView.GetTitle]" datacontext = "[AdminVassalDetailView.GetSuccessorCandidateList]" visible = "[Not( AdminVassalSuccessorCandidateList.ShowBestPlayerCandidateIndependently( '(int32)0' ) )]" layoutpolicy_horizontal = expanding button_standard = { enabled = "[Character.IsPlayerInteractionValid('influence_candidacy_interaction')]" tooltip = "[Character.GetPlayerInteractionTooltip('influence_candidacy_interaction')]" onclick = "[Character.GetTopLiege.OpenPlayerInteractionWithTargetTitle('influence_candidacy_interaction', Title.Self)]" size = { 180 40 } hbox = { layoutpolicy_horizontal = expanding margin = { 8 4 } button_promote_candidate = { alwaystransparent = yes } text_single = { text = ADMIN_VASSAL_DETAILS_VOTE_FOR_SUCCESSOR_BUTTON align = nobaseline } } } } expand = {} } } } types AdminVassalDetails { type vbox_admin_vassal_successor_candidate = vbox { margin = { 4 4 } margin_bottom = 8 background = { visible = "[AdminVassalSuccessorCandidate.IsLocalPlayerCandidate]" using = Background_Area_Border using = Background_Frame_Gold } background = { visible = "[Not( AdminVassalSuccessorCandidate.IsLocalPlayerCandidate )]" using = Background_Area_Border using = Background_Frame } hbox = { visible = "[GreaterThan_int32( AdminVassalSuccessorCandidate.GetCandidateIndex, '(int32)0' )]" text_single = { text = "ADMIN_VASSAL_DETAILS_SUCCESSOR_INDEX" } } portrait_head = { widget = { parentanchor = top size = { 56 64 } position = { -6 2 } widget = { name = "investment_has_candidate" visible = "[And( AdminVassalSuccessorCandidate.IsLocalPlayerWinnerOrAnyLoser, And( And( AdminVassalSuccessorCandidate.IsLocalPlayerCandidate, AdminVassalSuccessorCandidate.IsLocalPlayerInvested ), Not( AdminVassalSuccessorCandidate.IsLocalPlayerCandidateInFirst ) ) )]" size = { 100% 100% } tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_LOCAL_PLAYER_HAS_INVESTED_LOSING_TT" background = { texture = "gfx/interface/window_theme_administration/admin_theme_no_sucession.dds" } button_promote_candidate = { parentanchor = center position = { 0 -8 } alwaystransparent = yes } } widget = { name = "no_investment_has_candidate" visible = "[And( AdminVassalSuccessorCandidate.IsLocalPlayerWinnerOrAnyLoser, And( And( AdminVassalSuccessorCandidate.IsLocalPlayerCandidate, Not( AdminVassalSuccessorCandidate.IsLocalPlayerInvested ) ), Not( AdminVassalSuccessorCandidate.IsLocalPlayerCandidateInFirst ) ) )]" size = { 100% 100% } tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_LOCAL_PLAYER_HAS_CANDIDATE_LOSING_TT" background = { texture = "gfx/interface/window_theme_administration/admin_theme_no_sucession.dds" } button_house = { parentanchor = center position = { 0 -8 } alwaystransparent = yes } } widget = { name = "player_candidate_in_first_invested" visible = "[And( AdminVassalSuccessorCandidate.IsLocalPlayerWinnerOrAnyLoser, And( And( AdminVassalSuccessorCandidate.IsLocalPlayerCandidate, AdminVassalSuccessorCandidate.IsLocalPlayerCandidateInFirst ), AdminVassalSuccessorCandidate.IsLocalPlayerInvested ) )]" size = { 100% 100% } tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_LOCAL_PLAYER_HAS_INVESTED_WINNING_TT" background = { texture = "gfx/interface/window_theme_administration/admin_theme_sucession.dds" } button_promote_candidate = { parentanchor = center position = { 0 -8 } alwaystransparent = yes } } widget = { name = "player_candidate_in_first" visible = "[And( AdminVassalSuccessorCandidate.IsLocalPlayerWinnerOrAnyLoser, And( And( AdminVassalSuccessorCandidate.IsLocalPlayerCandidate, AdminVassalSuccessorCandidate.IsLocalPlayerCandidateInFirst ), Not( AdminVassalSuccessorCandidate.IsLocalPlayerInvested ) ) )]" size = { 100% 100% } tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_LOCAL_PLAYER_HAS_CANDIDATE_WINNING_TT" background = { texture = "gfx/interface/window_theme_administration/admin_theme_sucession.dds" } button_house = { parentanchor = center position = { 0 -8 } alwaystransparent = yes } } } } hbox = { spacing = 4 background = { margin_left = 40 margin_right = 40 texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" spriteType = Corneredtiled spriteborder = { 40 8 } texture_density = 2 modify_texture = { name = "mask" texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" spriteType = Corneredstretched spriteborder = { 0 0 } blend_mode = alphamultiply } } tooltipwidget = { widget_value_breakdown_tooltip = { block "score_breakdown" { datacontext = "[AdminVassalDetailView.GetSuccessionScoreBreakdown(AdminVassalSuccessorCandidate.GetCandidate.Self )]" } } } icon = { size = { 24 24 } texture = "gfx/interface/icons/flat_icons/election_vote_strength.dds" modify_texture = { texture = "gfx/interface/colors/colors_textured.dds" blend_mode = add framesize = { 96 96 } spritetype = corneredtiled block "master_color_frame" {} } } text_single = { text = ADMIN_VASSAL_DETAILS_SUCCESSOR_SCORES } } } type hbox_admin_title_successor_candidates_list = hbox { hbox = { visible = "[AdminVassalSuccessorCandidateList.ShowBestPlayerCandidateIndependently( '(int32)3' )]" spacing = 0 hbox = { datamodel = "[DataModelFirst( AdminVassalSuccessorCandidateList.GetSuccessorCandidates, '(int32)3')]" spacing = 0 item = { vbox_admin_vassal_successor_candidate = { datacontext = "[AdminVassalSuccessorCandidate.GetCandidate]" } } } vbox_admin_vassal_successor_candidate = { datacontext = "[AdminVassalSuccessorCandidateList.GetBestLocalPlayerCandidate( '(int32)3' )]" datacontext = "[AdminVassalSuccessorCandidate.GetCandidate]" } } hbox = { visible = "[Not( AdminVassalSuccessorCandidateList.ShowBestPlayerCandidateIndependently( '(int32)3' ) )]" datamodel = "[DataModelFirst( AdminVassalSuccessorCandidateList.GetSuccessorCandidates, '(int32)4')]" spacing = 0 item = { vbox_admin_vassal_successor_candidate = { datacontext = "[AdminVassalSuccessorCandidate.GetCandidate]" } } } hbox = { visible = "[IsDataModelEmpty( AdminVassalSuccessorCandidateList.GetSuccessorCandidates )]" text_single = { text = ADMIN_VASSAL_DETAILS_NO_SUCCESSORS default_format = "#low" } } } type powerful_family_bonus = button { allow_outside = yes datacontext = "[DynastyHouse]" datacontext = "[DynastyHouse.GetHousePowerBonus]" name = "powerful_family_bonus" size = { 36 36 } visible = "[HousePowerBonus.IsValid]" onclick = "[OpenGameViewData( 'family_attribute_window', DynastyHouse.Self )]" tooltip = "ADMINISTRATIVE_GOVERNMENT_BONUS_TOOLTIP" highlight_icon = { texture = "gfx/interface/icons/powerful_family_bonus/powerful_family_shield.dds" size = { 100% 100% } } highlight_icon = { size = { 24 24 } parentanchor = center texture = "[HousePowerBonus.GetIcon]" } } }