###################################################### ##################### INTRIGUE ####################### ###################################################### window = { name = "intrigue_window" widgetid = "intrigue_window" parentanchor = top|right layer = windows_layer movable = no allow_outside = yes using = Window_Size_MainTab state = { name = _show using = Animation_FadeIn_Quick using = Sound_WindowShow_Standard using = Window_Position_MainTab on_start = "[IntrigueWindow.SetTab( 'schemes' )]" on_start = "[GetVariableSystem.Set( 'secrets_show_all', 'true' )]" on_start = "[GetVariableSystem.Set( 'own_scheme_expand', 'true' )]" } state = { name = _hide using = Animation_FadeOut_Quick using = Sound_WindowHide_Standard using = Window_Position_MainTab_Hide } margin_widget = { size = { 100% 100% } margin_top = 30 margin_bottom = 25 margin_right = 13 widget = { size = { 100% 100% } vbox = { using = Window_Margins header_pattern = { layoutpolicy_horizontal = expanding size = { 0 60 } blockoverride "header_text" { text = "INTRIGUE_VIEW" } blockoverride "button_close" { onclick = "[IntrigueWindow.Close]" } } hbox = { name = "tabs" layoutpolicy_horizontal = expanding button_tab = { name = "open_scheme_tab" #tutorial uses this onclick = "[IntrigueWindow.SetTab( 'schemes' )]" down = "[IntrigueWindow.IsTabShown( 'schemes' )]" shortcut = "tab_1" alwaystransparent = "[IntrigueWindow.IsTabShown( 'schemes' )]" blockoverride "tab_label" { text = "OPEN_SCHEMES_TAB" max_width = 140 } blockoverride "icon_visible" {} blockoverride "tab_icon" { texture = "gfx/interface/icons/flat_icons/scheme.dds" down = "[IntrigueWindow.IsTabShown( 'schemes' )]" } using = tooltip_above } button_tab = { name = "open_hooks_and_secrets_tab" onclick = "[IntrigueWindow.SetTab( 'hooks_and_secrets' )]" down = "[IntrigueWindow.IsTabShown( 'hooks_and_secrets' )]" shortcut = "tab_2" alwaystransparent = "[IntrigueWindow.IsTabShown( 'hooks_and_secrets' )]" blockoverride "tab_label" { text = "OPEN_HOOKS_AND_SECRETS_TAB" max_width = 140 } blockoverride "icon_visible" {} blockoverride "tab_icon" { texture = "gfx/interface/icons/flat_icons/hooks_and_secrets.dds" down = "[IntrigueWindow.IsTabShown( 'hooks_and_secrets' )]" } using = tooltip_above } button_tab = { name = "open_puppets_tab" visible = "[IntrigueWindow.HasPuppets]" onclick = "[IntrigueWindow.SetTab( 'puppets' )]" down = "[IntrigueWindow.IsTabShown( 'puppets' )]" shortcut = "tab_3" alwaystransparent = "[IntrigueWindow.IsTabShown( 'puppets' )]" blockoverride "tab_label" { text = "puppets_section_title" max_width = 140 } blockoverride "icon_visible" {} blockoverride "tab_icon" { texture = "gfx/interface/icons/flat_icons/puppet.dds" down = "[IntrigueWindow.IsTabShown( 'puppets' )]" } using = tooltip_above } } vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding ### SCHEMES schemes_tab_vbox = {} ### HOOKS AND SECRETS hooks_secrets_scrollbox = {} ### Puppets vbox_puppet_section = { name = "vbox_puppet_section" widgetid = "vbox_puppet_section" } } } } } } ###################################################### ################ TYPES AND TEMPLATES ################# ###################################################### types IntrigueWindow { type widget_own_scheme_item = widget { name = "my_own_scheme" datacontext = "[SchemeItem.GetScheme]" widget = { visible = "[Scheme.IsExposed]" parentanchor = bottom|hcenter size = { 99% 92% } icon = { position = { 0 -5 } size = { 100% 101% } texture = "gfx/interface/colors/white.dds" alpha = 0.3 using = Color_Red using = Mask_Rough_Edges shaderfile = "gfx/FX/pdxgui_repeat_texture.shader" modify_texture = { texture = "gfx/interface/component_masks/mask_vignette.dds" blend_mode = alphamultiply } state = { trigger_on_create = yes name = a next = b alpha = 0.4 duration = 2 using = Animation_Curve_Default } state = { name = b next = a alpha = 0.2 duration = 2.5 using = Animation_Curve_Default } modify_texture = { name = "clouds" texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply spriteType = corneredtiled texture_density = 1 } state = { name = mask_a next = mask_b trigger_on_create = yes modify_texture = { name = "clouds" translate_uv = { 0 -1 } } } state = { name = mask_b next = mask_a duration = 40 modify_texture = { name = "clouds" translate_uv = { 0 1 } } } } } vbox = { set_parent_size_to_minimum = yes background = { using = Background_Area } background = { using = Background_Frame modify_texture = { texture = "gfx/interface/component_masks/mask_fade_corner.dds" blend_mode = alphamultiply mirror = horizontal } } hbox = { name = "my_own_scheme_header" layoutpolicy_horizontal = expanding margin = { 0 5 } margin_left = 20 margin_right = 5 background = { texture = "gfx/interface/window_scheme/scheme_panel_header_banner.dds" margin_top = -2 margin_bottom = -3 } hbox = { layoutpolicy_horizontal = expanding icon = { texture = "[Scheme.GetSchemeType.GetIcon]" size = { 30 30 } alwaystransparent = yes tooltip = "SCHEME_WINDOW_TT_ITEM" background = { texture = "gfx/interface/window_scheme/scheme_panel_header_icon_bg.dds" margin = { 13 13 } } } text_single = { text = "SCHEME_WINDOW_ITEM_NAME" using = Font_Size_Medium align = nobaseline max_width = 430 margin_left = 15 } icon = { visible = "[Scheme.IsExposed]" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_discovered_scheme.dds" tooltip = "SCHEME_WINDOW_EXPOSED_TOOLTIP" glow = { using = Color_Red using = Glow_Standard glow_radius = 3 } state = { trigger_on_create = yes name = max_glow next = min_glow duration = 1 using = Animation_Curve_Default glow_alpha = 0.8 } state = { name = min_glow next = max_glow duration = 1.6 using = Animation_Curve_Default glow_alpha = 0.2 } } expand = {} } button_cancel = { name = "cancel_button" size = { 30 30 } onclick = "[SchemeItem.OnCancelClick]" enabled = "[SchemeItem.CanCancelScheme]" tooltip = "[SchemeItem.GetCancelSchemeDescription]" } } hbox = { layoutpolicy_horizontal = expanding margin = { 10 0 } margin_top = 5 spacing = 5 widget = { name = "scheme_target_portrait_and_countermeasure" size = { 110 120 } # Target container = { parentanchor = center # Character Target container = { datacontext = "[Scheme.GetTargetCharacter]" visible = "[Character.IsValid]" portrait_head = { datacontext = "[Scheme.GetTargetCharacter]" using = tooltip_es blockoverride "portrait_button" { tooltip = "SCHEME_WINDOW_SCHEME_TARGET" } } } # Title Target container = { datacontext = "[Scheme.GetTargetTitle]" visible = "[Title.IsValid]" parentanchor = center coa_title_big = { tooltip_visible = no alwaystransparent = yes } } # Faith Target container = { datacontext = "[Scheme.GetTargetFaith]" visible = "[Faith.IsValid]" icon = { name = "faith_icon" size = { 100 100 } texture = "[Faith.GetIcon]" } } # Culture Target container = { datacontext = "[Scheme.GetTargetCulture]" visible = "[Culture.IsValid]" text_single = { text = "INTRIGUE_WINDOW_GETCULTURE" } } } widget = { visible = "[Scheme.GetSchemeCountermeasureProtectingTarget.IsValid]" datacontext = "[Scheme.GetSchemeCountermeasureProtectingTarget]" parentanchor = top|left size = { 30 30 } tooltip = "SCHEME_COUNTERMEASURE_PROTECTING_TARGET" background = { using = Background_Area_ExtraDark margin = { 2 2 } modify_texture = { texture = "gfx/interface/component_masks/mask_circle.dds" blend_mode = alphamultiply } } # The frame icon = { parentanchor = center size = { 30 30 } alwaystransparent = yes texture = "gfx/interface/icons/scheme_countermeasure_types/frame_purple.dds" } # The countermeasure icon icon = { visible = "[SchemeCountermeasureType.IsValid]" parentanchor = center size = { 30 30 } alwaystransparent = yes texture = "[SchemeCountermeasureType.GetIcon]" } } } vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding widget = { visible = "[Not(SchemeItem.GetScheme.GetSchemeType.IsBasic)]" size = { 390 30 } allow_outside = yes layoutpolicy_horizontal = expanding tooltip = "SCHEME_WINDOW_SUCCESS_TOOLTIP" widget = { name = "scheme_success_progressbar" datacontext = "[SchemeItem.GetProgressLevels]" parentanchor = right|vcenter position = { -8 0 } size = { 350 16 } allow_outside = yes icon = { parentanchor = center size = { 372 26 } texture = "gfx/interface/window_scheme/scheme_success_progressbar_bg.dds" } hbox_complex_bar_progress_next = { blockoverride "texture_decrease" { texture = "gfx/interface/progressbars/progress_standard.dds" } blockoverride "texture_filled" { texture = "gfx/interface/progressbars/progress_grandeur_increase.dds" } } icon = { name = "success_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_success.dds" position = { -32 -8} } hbox_complex_bar_levels = { layoutpolicy_horizontal = expanding blockoverride "marker" { widget_level_marker = { allow_outside = yes scale = 0.80 blockoverride "visible_active" { visible = "[EqualTo_CFixedPoint( Scheme.GetSuccessChance, ComplexBarItem.GetValue )]" } text_single = { parentanchor = center text = "[ComplexBarItem.GetValue|0%/]" tooltip = "[SchemeItem.GetProgressLevelTooltips( PdxGuiWidget.GetIndexInDataModel )]" align = nobaseline using = Font_Size_Medium } } } } } } hbox = { layoutpolicy_horizontal = expanding vbox = { layoutpolicy_horizontal = expanding hbox = { datacontext = "[SchemeItem.GetScheme]" visible = "[Scheme.GetSchemeType.IsBasic]" layoutpolicy_horizontal = expanding spacing = 5 tooltip = "SCHEME_WINDOW_SUCCESS_BASIC_TOOLTIP" icon = { name = "success_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_success.dds" } text_single = { name = "success_chance" text = "SCHEME_WINDOW_SUCCESS_CHANCE" align = nobaseline max_width = 310 } expand = {} } hbox = { layoutpolicy_horizontal = expanding spacing = 5 tooltip = "SCHEME_WINDOW_PROGRESS_INFO_BREAKDOWN" icon = { name = "speed_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_speed.dds" } text_single = { name = "speed" visible = "[Scheme.IsUnfrozen]" text = "[SelectLocalization(Scheme.GetSchemeType.IsBasic, 'SCHEME_WINDOW_PROGRESS_INFO_BASIC', 'SCHEME_WINDOW_PROGRESS_INFO')]" align = nobaseline max_width = 310 } text_single = { name = "scheme_frozen" visible = "[Scheme.IsFrozen]" text = "SCHEME_WINDOW_PROGRESS_FROZEN" align = nobaseline max_width = 310 } expand = {} } hbox = { visible = "[Scheme.IsSecret]" layoutpolicy_horizontal = expanding spacing = 5 tooltip = "SCHEME_WINDOW_SECRECY_TOOLTIP" icon = { name = "secrecy_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_secrecy.dds" } text_single = { name = "secrecy" text = "SCHEME_WINDOW_SECRECY" align = nobaseline max_width = 310 } expand = {} } hbox = { visible = "[Scheme.IsSecret]" layoutpolicy_horizontal = expanding spacing = 5 icon = { name = "breach_not_in_grace_period" visible = "[LessThanOrEqualTo_CFixedPoint( Scheme.MakeScope.Var('secrecy_grace_period').GetValue, '(CFixedPoint)0' )]" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_breach.dds" } icon = { name = "breach_in_grace_period" visible = "[Not( LessThanOrEqualTo_CFixedPoint( Scheme.MakeScope.Var('secrecy_grace_period').GetValue, '(CFixedPoint)0' ))]" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_breach_grace_period.dds" } text_single = { name = "breaches" text = "SCHEME_WINDOW_BREACHES" align = nobaseline max_width = 310 } expand = {} } text_multi = { visible = "[And( Scheme.HasTaskContract, InDebugMode )]" layoutpolicy_horizontal = expanding raw_text= "#D Contract: [Scheme.GetTaskContract.GetNameNoTooltip]#!" } expand = {} hbox = { widget = { visible = "[SchemeItem.GetScheme.GetSchemeType.IsBasic]" size = { 384 0 } } } } } expand = {} } } spacer = { visible = "[IsDataModelEmpty(Scheme.GetModifiers)]" size = { 0 10 } } hbox = { visible = "[Not( IsDataModelEmpty(Scheme.GetModifiers))]" layoutpolicy_horizontal = expanding margin_bottom = 5 margin_left = 10 hbox = { layoutpolicy_horizontal = expanding margin = { 5 5 } spacing = 5 background = { using = Background_Area modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_thick.dds" blend_mode = alphamultiply mirror = horizontal } } text_single = { text = "SCHEME_WINDOW_MODIFIERS" align = nobaseline margin_left = 10 } fixedgridbox = { addcolumn = 30 addrow = 25 flipdirection = yes datamodel_wrap = 10 maxhorizontalslots = 10 maxverticalslots = 1 datamodel = "[Scheme.GetModifiers]" item = { widget = { parentanchor = vcenter size = { 25 25 } datacontext = "[SchemeModifier.GetStaticModifier]" icon = { name = "scheme_modifier_icon" size = { 100% 100% } texture = "[SchemeModifier.GetIcon]" } tooltipwidget = { static_modifier_tooltip = { blockoverride "description_text_data" { text = "[SchemeModifier.GetDesc]" } } } } } } expand = {} } } button_standard = { name = "open_scheme_prep" visible = "[Not(SchemeItem.GetScheme.GetSchemeType.IsBasic)]" size = { 490 44 } onclick = "[PostCommand( SchemeItem.TriggerSchemeHudClick )]" onrightclick = "[PostCommand( SchemeItem.TriggerSchemeHudClick )]" tooltip = "SCHEME_WINDOW_OPEN_PREP_EXPLANATION_TT" icon = { parentanchor = vcenter position = { 2 0 } size = { 98 56 } texture = "gfx/interface/window_scheme/scheme_opportunity_illustration.dds" alpha = 0.6 scale = 0.7 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } icon = { parentanchor = center size = { 99.3% 40 } texture = "gfx/interface/component_tiles/tile_vignette_3px.dds" spriteType = Corneredtiled spriteborder = { 5 5 } } hbox = { datacontext = "[SchemeItem.GetScheme]" layoutpolicy_horizontal = expanding text_single = { alwaystransparent = yes text = "SCHEME_WINDOW_OPEN_PREP_TT" align = left|nobaseline max_width = 480 } } widget = { parentanchor = right|vcenter position = { -10 0 } hbox = { widgetanchor = right|vcenter parentanchor = center layoutpolicy_horizontal = preferred icon = { size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_opportunity.dds" visible = "[Not( SchemeHasExecutableAdvantages( Scheme ) )]" } icon = { size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_opportunity.dds" visible = "[SchemeHasExecutableAdvantages( Scheme )]" glow = { glow_radius = 3 using = Glow_Standard using = Color_Green alpha = 0 } state = { name = start_glow next = a duration = 3 glow_alpha = 0.3 trigger_on_create = yes } state = { name = a next = b duration = 3 glow_alpha = 0.5 } state = { name = b next = a duration = 3 glow_alpha = 0.1 } } text_single = { text = "[Scheme.GetAgentCharges]" align = nobaseline|right } } } } vbox = { visible = "[Not(SchemeItem.GetScheme.GetSchemeType.IsBasic)]" layoutpolicy_horizontal = expanding margin = { 0 10 } hbox = { layoutpolicy_horizontal = expanding margin = { 15 0 } margin_bottom = 5 spacing = 10 ### MEMBERS BUTTONS button_expandable_toggle_field = { name = "my_own_scheme_buttons" visible = "[Not(SchemeItem.GetScheme.GetSchemeType.IsBasic)]" layoutpolicy_horizontal = expanding enabled = "[SchemeItem.HasAgents]" blockoverride "button_expand" { frame = "[SelectFrame( 'own_scheme_expand' )]" } blockoverride "onclick" { onclick = "[GetVariableSystem.Toggle( 'own_scheme_expand')]" } blockoverride "text" { text = "SCHEME_WINDOW_SHOW_MEMBERS" } } } ### MEMBERS vbox = { name = "my_own_scheme_members" visible = "[And(GetVariableSystem.Exists( 'own_scheme_expand' ), Not(SchemeItem.GetScheme.GetSchemeType.IsBasic))]" layoutpolicy_horizontal = expanding margin = { 10 0 } fixedgridbox = { name = "owner_member_grid" addcolumn = 100 addrow = 152 flipdirection = yes datamodel_wrap = 5 datamodel = "[SchemeItem.GetAgentSlots]" item = { widget_scheme_agent_slot_item = {} } } } } } } } types IntrigueWindowTypes { type schemes_tab_vbox = vbox { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding visible = "[IntrigueWindow.IsTabShown( 'schemes' )]" hbox = { margin = { 0 10 } ## My Scheme Countermeasures widget_scheme_countermeasures = {} } ### SCHEMES scrollbox = { name = "schemes" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide alpha = 0 } background = { texture = "gfx/interface/skinned/illustrations/council/bg_council_spymaster.dds" margin = { -5 0 } fittype = end alpha = 0.3 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_vertical.dds" blend_mode = alphamultiply mirror = vertical } } blockoverride "scrollbox_content" { ## My Schemes vbox = { name = "my_own_schemes" widgetid = "my_own_schemes" layoutpolicy_horizontal = expanding spacing = 10 vbox = { name = "my_contract_schemes" visible = "[SkillSchemeGroup.HasSchemes]" datacontext = "[IntrigueWindow.GetContractSchemes]" layoutpolicy_horizontal = expanding text_label_center = { layoutpolicy_horizontal = expanding text = "[contract_schemes|E]" } vbox = { name = "my_own_contract_schemes" visible = "[SkillSchemeGroup.HasSchemes]" layoutpolicy_horizontal = expanding datamodel = "[SkillSchemeGroup.GetSchemes]" item = { widget_own_scheme_item = { layoutpolicy_horizontal = expanding } } } } vbox = { name = "my_hostile_schemes" datacontext = "[IntrigueWindow.GetHostileSchemes]" layoutpolicy_horizontal = expanding text_label_center = { layoutpolicy_horizontal = expanding text = "[hostile_schemes|E]" } vbox = { name = "my_own_hostile_schemes" visible = "[SkillSchemeGroup.HasSchemes]" layoutpolicy_horizontal = expanding datamodel = "[SkillSchemeGroup.GetSchemes]" item = { widget_own_scheme_item = { layoutpolicy_horizontal = expanding } } } text_multi = { name = "no_own_hostile_schemes" visible = "[Not(SkillSchemeGroup.HasSchemes)]" layoutpolicy_horizontal = expanding minimumsize = { 0 110 } text = "SCHEME_WINDOW_NOT_OWNED_SCHEMES" default_format = "#low;italic" align = center background = { using = Background_Area } } } vbox = { name = "my_personal_schemes" datacontext = "[IntrigueWindow.GetPersonalSchemes]" layoutpolicy_horizontal = expanding text_label_center = { layoutpolicy_horizontal = expanding text = "[personal_schemes|E]" } vbox = { name = "my_own_personal_schemes" widgetid = "my_own_personal_schemes" visible = "[SkillSchemeGroup.HasSchemes]" layoutpolicy_horizontal = expanding datamodel = "[SkillSchemeGroup.GetSchemes]" item = { widget_own_scheme_item = { layoutpolicy_horizontal = expanding } } } text_multi = { name = "no_own_personal_schemes" visible = "[Not(SkillSchemeGroup.HasSchemes)]" layoutpolicy_horizontal = expanding minimumsize = { 0 110 } text = "SCHEME_WINDOW_NOT_OWNED_SCHEMES" default_format = "#low;italic" align = center background = { using = Background_Area } } } vbox = { name = "my_political_schemes" datacontext = "[IntrigueWindow.GetPoliticalSchemes]" datacontext = "[IntrigueWindow.GetCharacter]" visible = "[Or4( Character.GetGovernment.HasMechanic( 'administrative' ), Character.GetGovernment.IsType( 'japan_feudal_government' ), Character.GetTopLiege.GetGovernment.HasMechanic( 'administrative' ), Character.GetGovernment.IsType( 'mandala_government' ) )]" layoutpolicy_horizontal = expanding text_label_center = { layoutpolicy_horizontal = expanding text = "[political_schemes|E]" } vbox = { name = "my_own_political_schemes" visible = "[SkillSchemeGroup.HasSchemes]" layoutpolicy_horizontal = expanding datamodel = "[SkillSchemeGroup.GetSchemes]" item = { widget_own_scheme_item = { layoutpolicy_horizontal = expanding } } } text_multi = { name = "no_own_political_schemes" visible = "[Not( SkillSchemeGroup.HasSchemes )]" layoutpolicy_horizontal = expanding minimumsize = { 0 110 } text = "SCHEME_WINDOW_NOT_OWNED_SCHEMES" default_format = "#low;italic" align = center background = { using = Background_Area } } } } ## Known schemes vbox = { name = "discovered_schemes" layoutpolicy_horizontal = expanding margin_top = 10 hbox = { layoutpolicy_horizontal = expanding expand = {} margin = { 0 -4 } #Uses a negative margin to make the header be the same height as regular text labels. Doesn't affect any of the content. margin_right = 35 #Margin to offset the icon size 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 } } icon = { name = "discovered_icon" size = { 35 35 } texture = "gfx/interface/icons/schemes/icon_discovered_scheme.dds" } text_single = { text = "SCHEME_WINDOW_KNOWN_SCHEMES_TITLE" align = nobaseline } expand = {} } vbox = { name = "known_schemes_grid" visible = "[IntrigueWindow.HasKnownSchemes]" layoutpolicy_horizontal = expanding datamodel = "[IntrigueWindow.GetKnownSchemes]" item = { vbox_discovered_scheme_item = { layoutpolicy_horizontal = expanding } } } text_multi = { name = "no_own_schemes" visible = "[Not(IntrigueWindow.HasKnownSchemes)]" layoutpolicy_horizontal = expanding minimumsize = { 0 110 } text = "SCHEME_WINDOW_NOT_KNOWN_SCHEMES" default_format = "#low" align = center background = { using = Background_Area } } } } } ## Autofill agent button hbox = { layoutpolicy_horizontal = expanding margin = { 10 10 } spacing = 5 tooltip = "SCHEME_WINDOW_AUTO_ASSIGN_AGENTS_TOOLTIP" divider = { layoutpolicy_horizontal = expanding modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_thick.dds" blend_mode = alphamultiply } } icon = { size = { 30 30 } texture = "gfx/interface/icons/message_feed/spy_master.dds" } button_checkbox_label = { size = { 30 30 } onclick = "[IntrigueWindow.ToggleAutoAssigningAgents]" blockoverride "checkbox" { checked = "[IntrigueWindow.IsAutoAssigningAgents]" } blockoverride "text" { text = "SCHEME_WINDOW_AUTO_ASSIGN_AGENTS" } } divider = { layoutpolicy_horizontal = expanding modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_thick.dds" blend_mode = alphamultiply mirror = horizontal } } } } type hooks_secrets_scrollbox = vbox { name = "hooks_and_secrets" widgetid = "hooks_and_secrets" visible = "[IntrigueWindow.IsTabShown( 'hooks_and_secrets' )]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding scrollbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide alpha = 0 } background = { texture = "gfx/interface/illustrations/event_scenes/alley.dds" fittype = end alpha = 0.6 using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_vertical.dds" blend_mode = alphamultiply mirror = vertical } } blockoverride "scrollbox_content" { spacing = 10 # My Hooks vbox = { name = "my_hooks" layoutpolicy_horizontal = expanding spacing = 2 widget = { size = { -1 24 } layoutpolicy_horizontal = expanding hbox = { text_label_center = { layoutpolicy_horizontal = expanding align = center text = "INTRIGUE_WINDOW_MY_HOOKS_TITLE" } } hbox = { margin = { 10 0 } spacing = 10 expand = {} hbox = { spacing = 4 tooltip = "INTRIGUE_WINDOW_WEAK_HOOKS_COUNT" icon = { size = { 14 14 } texture = "gfx/interface/icons/portraits/hook_secret_small.dds" framesize = { 28 28 } frame = 1 } text_single = { text = "[IntrigueWindow.GetMyWeakHooksCount]" } } hbox = { spacing = 4 tooltip = "INTRIGUE_WINDOW_STRONG_HOOKS_COUNT" icon = { size = { 14 14 } texture = "gfx/interface/icons/portraits/hook_secret_small.dds" framesize = { 28 28 } frame = 2 } text_single = { text = "[IntrigueWindow.GetMyStrongHooksCount]" } } spacer = {} hbox = { button_expand = { name = "show" visible = "[GreaterThan_int32(GetDataModelSize(IntrigueWindow.GetMyHooks), '(int32)4')]" frame = "[Select_int32( GetVariableSystem.Exists( 'hooks_expand' ), '(int32)2', '(int32)1' )]" onclick = "[GetVariableSystem.Toggle( 'hooks_expand' )]" using = tooltip_ws tooltip = "EXPAND_FILTER" } } } } hbox = { layoutpolicy_horizontal = expanding fixedgridbox = { visible = "[And( GetVariableSystem.Exists( 'hooks_expand' ), DataModelHasItems( IntrigueWindow.GetMyHooks ) )]" flipdirection = yes maxhorizontalslots = 4 datamodel_wrap = 4 addcolumn = 116 addrow = 120 datamodel = "[IntrigueWindow.GetMyHooks]" item = { portrait_head = { datacontext = "[IntrigueWindowHookItem.GetCharacter]" } } } fixedgridbox = { visible = "[And( Not( GetVariableSystem.Exists( 'hooks_expand' ) ), DataModelHasItems( IntrigueWindow.GetMyHooks ) )]" flipdirection = yes maxhorizontalslots = 4 addcolumn = 116 addrow = 120 datamodel = "[IntrigueWindow.GetMyHooks]" item = { portrait_head = { datacontext = "[IntrigueWindowHookItem.GetCharacter]" } } } expand = {} text_single = { visible = "[And( Not( GetVariableSystem.Exists( 'hooks_expand' ) ), GreaterThan_int32(GetDataModelSize(IntrigueWindow.GetMyHooks), '(int32)4') )]" layoutpolicy_vertical = growing layoutpolicy_horizontal = expanding text = "[GetNumberAbove_int32(GetDataModelSize(IntrigueWindow.GetMyHooks), '(int32)4' )|=]" align = center default_format = "#weak" using = Font_Size_Medium } } text_multi = { visible = "[IsDataModelEmpty( IntrigueWindow.GetMyHooks )]" layoutpolicy_horizontal = expanding minimumsize = { 0 120 } text = "MY_HOOKS_ARE_EMPTY" align = center background = { using = Background_Area } } } # Secrets known to me vbox = { name = "secrets_known_to_me" layoutpolicy_horizontal = expanding spacing = 2 widget = { size = { -1 24 } layoutpolicy_horizontal = expanding hbox = { text_label_center = { layoutpolicy_horizontal = expanding text = "INTRIGUE_WINDOW_SECRETS_KNOWN_TO_ME_TITLE" } } hbox = { expand = {} hbox = { margin_right = 15 spacing = 5 tooltip = "INTRIGUE_WINDOW_HOOK_SHOW_ALL" button_checkbox = { name = "show_all_secrets" onclick = "[GetVariableSystem.Toggle( 'secrets_show_all' )]" checked = "[GetVariableSystem.Exists( 'secrets_show_all' )]" } icon = { size = { 20 20 } texture = "gfx/interface/icons/portraits/hook_secret.dds" framesize = { 40 40 } frame = 4 } } } } vbox = { layoutpolicy_horizontal = expanding spacing = 7 datamodel = "[IntrigueWindow.GetSecretsKnownToMe]" item = { hbox_secret_item = { layoutpolicy_horizontal = expanding blockoverride "portrait" { datacontext = "[IntrigueWindowSecretGroup.GetCharacter]" } } } } text_multi = { visible = "[IsDataModelEmpty( IntrigueWindow.GetSecretsKnownToMe )]" layoutpolicy_horizontal = expanding minimumsize = { 0 120 } text = "SECRETS_KNOWN_TO_ME_IS_EMPTY" align = center background = { using = Background_Area } } } # Hooks on you vbox = { name = "hooks_on_me" layoutpolicy_horizontal = expanding spacing = 2 text_label_center = { layoutpolicy_horizontal = expanding align = center text = "INTRIGUE_WINDOW_HOOKS_ON_ME_TITLE" hbox = { margin = { 10 0 } spacing = 10 expand = {} hbox = { spacing = 4 tooltip = "INTRIGUE_WINDOW_WEAK_HOOKS_COUNT" icon = { size = { 14 14 } texture = "gfx/interface/icons/portraits/hook_secret_small.dds" framesize = { 28 28 } frame = 1 } text_single = { text = "[IntrigueWindow.GetWeakHooksOnMeCount]" } } hbox = { spacing = 4 tooltip = "INTRIGUE_WINDOW_STRONG_HOOKS_COUNT" icon = { size = { 14 14 } texture = "gfx/interface/icons/portraits/hook_secret_small.dds" framesize = { 28 28 } frame = 2 } text_single = { text = "[IntrigueWindow.GetStrongHooksOnMeCount]" } } } } vbox = { visible = "[DataModelHasItems( IntrigueWindow.GetHooksOnMe )]" layoutpolicy_horizontal = expanding spacing = 3 datamodel = "[IntrigueWindow.GetHooksOnMe]" item = { hbox = { layoutpolicy_horizontal = expanding datacontext = "[IntrigueWindowHookItem.GetHook]" background = { using = Background_Area } portrait_head_small = { datacontext = "[IntrigueWindowHookItem.GetCharacter]" } vbox = { layoutpolicy_horizontal = expanding margin_left = 15 hbox = { layoutpolicy_horizontal = expanding icon = { size = { 20 20 } texture = "gfx/interface/icons/portraits/hook_secret.dds" framesize = { 40 40 } frame = "[Hook.GetHookFrame]" } text_single = { layoutpolicy_horizontal = expanding raw_text = "intrigue_window_hook_strength_state" align = nobaseline } } hbox = { layoutpolicy_horizontal = expanding spacing = 5 text_single = { text = "[Hook.GetName]" } text_single = { layoutpolicy_horizontal = expanding visible = "[Hook.HasExpirationDate]" text = "INTRIGUE_WINDOW_HOOK_EXPIRATION" default_format = "#low" autoresize = no } expand = {} } } expand = {} } } } text_multi = { visible = "[IsDataModelEmpty( IntrigueWindow.GetHooksOnMe )]" layoutpolicy_horizontal = expanding minimumsize = { 0 120 } text = "NOBODY_HAS_HOOKS_ON_ME" align = center background = { using = Background_Area } } } # My secrets vbox = { name = "my_secrets" layoutpolicy_horizontal = expanding spacing = 2 text_label_center = { layoutpolicy_horizontal = expanding text = "INTRIGUE_WINDOW_MY_SECRETS_TITLE" } vbox = { name = "my_secrets_grid" visible = "[DataModelHasItems( IntrigueWindow.GetMySecrets )]" layoutpolicy_horizontal = expanding datamodel = "[IntrigueWindow.GetMySecrets]" item = { vbox = { datacontext = "[IntrigueWindowSecretItem.GetSecret]" visible = "[Secret.IsValid]" layoutpolicy_horizontal = expanding hbox = { layoutpolicy_horizontal = expanding margin_left = 10 spacing = 5 tooltip = "[Secret.GetTooltipDesc]" background = { using = Background_Area modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_thick.dds" blend_mode = alphamultiply mirror = horizontal } } icon = { texture = "[Secret.GetType.GetIcon]" size = { 30 30 } } text_multi = { layoutpolicy_horizontal = expanding text = "INTRIGUE_WINDOW_SECRET_DESC" align = nobaseline max_width = 450 } expand = {} } vbox = { layoutpolicy_horizontal = expanding spacing = 7 datamodel = "[IntrigueWindow.GetSecretsKnownToMe]" item = { hbox_secret_item = { visible = "[IntrigueWindowSecretItem.IsExpanded]" datamodel = "[IntrigueWindowSecretItem.GetKnownBy]" layoutpolicy_horizontal = expanding blockoverride "portrait_context" { } } } } } } } text_multi = { visible = "[IsDataModelEmpty( IntrigueWindow.GetMySecrets )]" layoutpolicy_horizontal = expanding minimumsize = { 0 290 } text = "I_HAVE_NO_SECRETS" align = center } } } } } type widget_scheme_agent_slot_item = widget { datacontext = "[SchemeAgentSlotItem.GetCharacter]" size = { 96 150 } background = { using = Background_Area } background = { using = Background_Frame } vbox = { margin_top = 5 margin_bottom = 10 selectable_target_portrait_widget = { blockoverride "empty_slot" { onclick = "[SchemeItem.ShowPotentialAgents(SchemeAgentSlotItem.Self)]" } blockoverride "filled_slot" { button_round = { parentanchor = top|right size = { 25 25 } onclick = "[CreateCommandPopup( SchemeAgentSlotItem.RemoveAgent )]" tooltip = "INTRIGUE_WINDOW_REMOVE_AGENT_TT" button_close = { alwaystransparent = yes datacontext = "[SchemeAgentSlotItem.GetCharacter]" parentanchor = center size = { 15 15 } } } } icon = { visible = "[SchemeAgentSlotItem.IsExposed]" parentanchor = top|left size = { 25 25 } alwaystransparent = yes texture = "gfx/interface/icons/schemes/icon_discovered_scheme.dds" tooltip = "INTRIGUE_WINDOW_AGENT_DISCOVERED_TT" background = { using = Background_Area_Dark modify_texture = { texture = "gfx/interface/component_masks/mask_glow.dds" blend_mode = alphamultiply } } glow = { using = Color_Red using = Glow_Standard glow_radius = 3 } state = { trigger_on_create = yes name = max_glow next = min_glow duration = 1 using = Animation_Curve_Default glow_alpha = 0.8 } state = { name = min_glow next = max_glow duration = 1.6 using = Animation_Curve_Default glow_alpha = 0.2 } } } vbox = { name = "scheme_agent_info" text_single = { text = "[SchemeAgentSlotItem.GetSlot.GetSlotType.GetName]" align = nobaseline max_width = 70 tooltip = "[SchemeAgentSlotItem.GetSlot.GetSlotType.GetDesc]" } hbox = { name = "scheme_agent_contribution" spacing = 5 tooltip = "[SelectLocalization(SchemeAgentSlotItem.IsFilled, 'INTRIGUE_WINDOW_SCHEME_CONTRIBUTION_TT', 'INTRIGUE_WINDOW_SCHEME_CONTRIBUTION_TT_AGENT_SLOT_EMPTY')]" icon = { name = contribution_icon size = { 25 25 } texture = "[SchemeAgentSlotItem.GetContributionIcon]" } text_single = { text = "[SchemeAgentSlotItem.GetContribution|0]" align = nobaseline default_format = "#high" } } } } } type widget_scheme_countermeasures = widget { size = { 400 80 } vbox = { # Scheme Countermeasures heading text_label_center = { text = "[scheme_countermeasures|E]" } ## Countermeasure icons hbox = { name = "scheme_countermeasure_icons" datamodel = "[IntrigueWindow.GetCountermeasures]" background = { texture = "gfx/interface/window_scheme/scheme_countermeasures_bg.dds" margin = { 45 -6 } } item = { container = { visible = "[IntrigueWindowCountermeasureItem.IsVisible]" datacontext = "[IntrigueWindowCountermeasureItem.GetType]" tooltip = "[IntrigueWindowCountermeasureItem.GetTooltip]" using = tooltip_se widget = { size = { 50 50 } # Selection halo icon = { visible = "[IntrigueWindowCountermeasureItem.IsActive]" texture = "gfx/particles/halo.dds" parentanchor = center size = { 60 60 } color = { 1 0.85 0.6 1 } } button_round = { parentanchor = center size = { 48 48 } onclick = "[IntrigueWindowCountermeasureItem.SetCounterMeasure( IntrigueWindow.GetCharacter.Self )]" alwaystransparent = "[And( IntrigueWindowCountermeasureItem.IsSelectable(), IntrigueWindowCountermeasureItem.IsActive )]" #enabled = "[And( IntrigueWindowCountermeasureItem.IsSelectable(), Not( IntrigueWindowCountermeasureItem.IsActive ) )]" # Frame highlight_icon = { parentanchor = center size = { 38 38 } alwaystransparent = yes texture = "gfx/interface/icons/scheme_countermeasure_types/frame_purple.dds" enabled = "[IntrigueWindowCountermeasureItem.IsSelectable()]" } # Countermeasure icon highlight_icon = { visible = "[SchemeCountermeasureType.IsValid]" parentanchor = center size = { 38 38 } alwaystransparent = yes texture = "[IntrigueWindowCountermeasureItem.GetType.GetIcon]" enabled = "[IntrigueWindowCountermeasureItem.IsSelectable()]" } # No countermeasure icon highlight_icon = { visible = "[Not( SchemeCountermeasureType.IsValid )]" parentanchor = center size = { 38 38 } alwaystransparent = yes texture = "gfx/interface/icons/scheme_countermeasure_types/no_countermeasure.dds" enabled = "[IntrigueWindowCountermeasureItem.IsSelectable()]" } # Countermeasure tier highlight_icon = { visible = "[SchemeCountermeasureType.IsValid]" parentanchor = center position = { 0 2 } size = { 48 48 } alwaystransparent = yes texture = "[SchemeCountermeasureType.GetFrame]" } # AI debug info text_single = { visible = "[AIWatchWindowsEnabled]" parentanchor = bottom|left position = { 0 15 } text = "INTRIGUE_WINDOW_SCHEME_COUNTERMEASURE_ITEM_AI_VALUE_LABLE" } } } } } } } } type vbox_discovered_scheme_item = vbox { name = "known_scheme" datacontext = "[SchemeItem.GetScheme]" background = { using = Background_Area margin_bottom = -2 } background = { using = Background_Frame modify_texture = { texture = "gfx/interface/component_masks/mask_fade_corner.dds" blend_mode = alphamultiply mirror = horizontal } } vbox = { name = "my_own_scheme_header" layoutpolicy_horizontal = expanding hbox = { name = "my_own_scheme_header" layoutpolicy_horizontal = expanding margin = { 0 5 } margin_left = 20 margin_right = 5 background = { texture = "gfx/interface/window_scheme/scheme_panel_header_banner_red.dds" margin_top = -2 margin_bottom = -3 } hbox = { layoutpolicy_horizontal = expanding icon = { texture = "[Scheme.GetSchemeType.GetIcon]" size = { 30 30 } alwaystransparent = yes tooltip = "SCHEME_WINDOW_TT_ITEM" background = { texture = "gfx/interface/window_scheme/scheme_panel_header_icon_bg_red.dds" margin = { 13 13 } } } text_single = { text = "SCHEME_WINDOW_ITEM_NAME" using = Font_Size_Medium align = nobaseline max_width = 480 margin_left = 15 } expand = {} } } hbox = { layoutpolicy_horizontal = expanding margin = { 10 5 } spacing = 5 portrait_head = { name = "target_portrait" datacontext = "[Scheme.GetTargetCharacter]" using = tooltip_es blockoverride "portrait_button" { tooltip = "SCHEME_WINDOW_SCHEME_TARGET" } } vbox = { layoutpolicy_vertical = expanding layoutpolicy_horizontal = expanding text_single = { datacontext = "[SchemeItem.GetScheme.GetOwner]" text = "SCHEME_WINDOW_OWNER_PUPPET" default_format = "#D" layoutpolicy_horizontal = expanding block owner_section_visible { visible = no } using = Font_Size_Medium align = nobaseline } hbox = { layoutpolicy_horizontal = expanding spacing = 5 tooltip = "SCHEME_WINDOW_SUCCESS_DISCOVERED_TOOLTIP" icon = { name = success_icon size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_success.dds" } text_multi = { name = "success" autoresize = yes text = "SCHEME_WINDOW_SUCCESS_CHANCE_MAIN" align = nobaseline max_width = 350 } expand = {} } hbox = { visible = "[Scheme.IsSecret]" layoutpolicy_horizontal = expanding spacing = 5 tooltip = "SCHEME_WINDOW_SECRECY_DISCOVERED_TOOLTIP" icon = { name = "secrecy_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_secrecy.dds" } text_single = { name = "secrecy" text = "SCHEME_WINDOW_SECRECY" align = nobaseline max_width = 350 } expand = {} } expand = {} } expand = {} } } vbox = { name = "known_scheme_members" layoutpolicy_horizontal = expanding margin = { 10 0 } spacing = 5 background = { using = Background_Area } text_single = { layoutpolicy_horizontal = expanding text = "SCHEME_WINDOW_MEMBER_LIST" align = center|nobaseline margin = { 0 5 } background = { using = Background_Area margin = { 5 0 } } } hbox = { layoutpolicy_horizontal = expanding fixedgridbox = { name = "owner_member_grid" addcolumn = 95 addrow = 95 datamodel_wrap = 5 flipdirection = yes datamodel = "[SchemeItem.GetAgentSlots]" item = { portrait_head_small = { datacontext = "[SchemeAgentSlotItem.GetCharacter]" visible = "[SchemeAgentSlotItem.IsFilled]" } } } expand = {} } hbox = { visible = "[Not(SchemeItem.HasAgents)]" layoutpolicy_horizontal = expanding margin_bottom = 15 text_single = { text = "SCHEME_WINDOW_NO_KNOWN_AGENTS" align = center|nobaseline default_format = "#low;italic" } } expand = {} } } type hbox_secret_item = hbox { visible = "[Or( IntrigueWindowSecretGroup.HasUnspentHooks, GetVariableSystem.Exists( 'secrets_show_all' ) )]" layoutpolicy_horizontal = expanding background = { using = Background_Area } portrait_head_small = { block "portrait" {} } vbox = { datacontext = "[IntrigueWindowSecretGroup.GetCharacter]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_right = 10 margin_top = 5 margin_bottom = 10 vbox = { name = "secrets" datamodel = "[IntrigueWindowSecretGroup.GetSecrets]" visible = "[DataModelHasItems( IntrigueWindowSecretGroup.GetSecrets )]" layoutpolicy_horizontal = expanding margin = { 5 5 } spacing = 5 item = { hbox = { datacontext = "[IntrigueWindowSecretItem.GetSecret]" visible = "[And( Secret.IsValid, Or( Not( IntrigueWindowSecretItem.IsSpent ), GetVariableSystem.Exists( 'secrets_show_all' ) ) )]" layoutpolicy_horizontal = expanding spacing = 5 icon = { texture = "[Secret.GetType.GetIcon]" size = { 30 30 } tooltip = "INTRIGUE_WINDOW_SECRET_TOOLTIP" } text_multi = { layoutpolicy_horizontal = expanding text = "INTRIGUE_WINDOW_SECRET_DESC" align = nobaseline autoresize = yes max_width = 300 } expand = {} icon = { visible = "[IntrigueWindowSecretItem.IsWeakHook( Character.Self )]" size = { 20 20 } texture = "gfx/interface/icons/portraits/hook_secret.dds" framesize = {40 40 } frame = 1 tooltip = "INTRIGUE_WINDOW_BLACKMAIL_WEAK_HOOK_TT" } icon = { visible = "[IntrigueWindowSecretItem.IsStrongHook( Character.Self )]" size = { 20 20 } texture = "gfx/interface/icons/portraits/hook_secret.dds" framesize = { 40 40 } frame = 2 tooltip = "INTRIGUE_WINDOW_BLACKMAIL_STRONG_HOOK_TT" } warning_icon = { visible = "[Not( Character.IsPlayerInteractionWithTargetSecretValid( 'blackmail_interaction', Secret.Self ) )]" size = { 20 20 } tooltip = "[Character.GetPlayerInteractionWithTargetSecretTooltip( 'blackmail_interaction', Secret.Self )]" } } } } expand = {} hbox = { visible = "[Character.IsPlayerInteractionShown('blackmail_interaction')]" layoutpolicy_horizontal = expanding margin_right = 5 spacing = 5 expand = {} button_standard_small = { name = "blackmail_button" datacontext = "[IntrigueWindowSecretGroup.GetFirstSecret.GetSecret]" size = { 120 25 } enabled = "[IntrigueWindowSecretGroup.CanBlackmail]" onclick = "[Character.OpenPlayerInteraction( 'blackmail_interaction' )]" text = "INTRIGUE_WINDOW_SECRET_KNOWN_TO_ME_BLACKMAIL" tooltip = "INTRIGUE_WINDOW_SECRET_BLACKMAIL_TT" using = tooltip_se } button_tertiary = { name = "expose_button" datacontext = "[IntrigueWindowSecretGroup.GetFirstSecret.GetSecret]" size = { 120 25 } onclick = "[Character.OpenPlayerInteraction( 'expose_secret_interaction' )]" #"[IntrigueWindow.ExposeSecret( Character.Self, 'blackmail_interaction', Secret.Self )]" text = "INTRIGUE_WINDOW_SECRET_EXPOSE" tooltip = "INTRIGUE_WINDOW_SECRET_EXPOSE_TT" using = tooltip_se } } } expand = {} } } types PuppetTypes { type vbox_puppet_section = vbox { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding visible = "[IntrigueWindow.IsTabShown( 'puppets' )]" # text_label_center = { # layoutpolicy_horizontal = expanding # text = "puppets_section_title" # default_format = "#T" # } ## PUPPET ACTIONS scrollbox = { name = "scroll_puppet_decisions" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding blockoverride "scrollbox_content" { vbox = { name = "puppets" layoutpolicy_horizontal = expanding spacing = 10 datamodel = "[IntrigueWindow.GetPuppets]" item = { widget_puppet_entry = {} } } } } } type widget_puppet_interaction_group_base = widget { size = { 50 50 } # Template to have better control on colors of icon background using = Puppet_Interaction_Group_Background icon = { datacontext = "[PuppetInteractionGroup]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "[PuppetInteractionGroup.GetCategory.GetIcon]" block "group_tooltip" {} using = tooltip_se } text_single = { position = { 0 3 } parentanchor = bottom|hcenter background = { margin = { 5 0 } margin_top = -5 using = Background_Area_Dark } block "group_count" {} default_format = "#glow_color:{0.1,0.1,0.1,1.0}" } } type widget_puppet_interaction_group = widget_puppet_interaction_group_base { visible = "[DataModelHasItems( PuppetInteractionGroup.GetSpecialInteractions )]" blockoverride "group_tooltip" { tooltipwidget = { using = puppet_interaction_group_tooltip } } blockoverride "group_count" { text = "[GetDataModelSize( PuppetInteractionGroup.GetSpecialInteractions )]" } } type widget_puppet_generic_category_icon = widget_puppet_interaction_group_base { visible = "[DataModelHasItems( PuppetInteractionGroup.GetGenericInteractions )]" blockoverride "group_tooltip" { tooltip = "puppet_generic_interaction_category_tt" } blockoverride "group_count" { text = "[GetDataModelSize( PuppetInteractionGroup.GetGenericInteractions )]" } } type widget_puppet_summary_button = widget { size = { 50 50 } icon = { parentanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" block "button_color" {} block "button_tooltip" {} using = tooltip_se } icon = { parentanchor = center size = { 45 45 } block "button_texture" {} alwaystransparent = yes } } type widget_puppet_generic_interactions_button = widget_puppet_summary_button { blockoverride "button_color" { using = Color_Puppet_Generic_Interactions } blockoverride "button_tooltip" { tooltipwidget = { using = puppet_generic_interactions_tooltip } } blockoverride "button_texture" { texture = "gfx/interface/icons/icon_puppeteer.dds" } } type widget_puppet_other_actions_button = widget_puppet_summary_button { visible = "[Or3( DataModelHasItems( PuppetEntry.GetDecisions ), DataModelHasItems( PuppetEntry.GetGreatProjects ), DataModelHasItems( PuppetEntry.GetOtherActions ) )]" blockoverride "button_color" { using = Color_Puppet_Other_Actions } blockoverride "button_tooltip" { tooltipwidget = { using = puppet_other_actions_tooltip } } blockoverride "button_texture" { texture = "gfx/interface/icons/character_interactions/puppet.dds" } } type puppet_tooltip_pop_out = object_tooltip_pop_out { blockoverride "title_text" { margin = { 0 8 } block "puppet_tooltip_title" {} default_format = "#T" } blockoverride "subheading" {} blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding spacing = 5 text_multi = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_top = 10 block "puppet_tooltip_header" {} autoresize = yes max_width = 420 } block "puppet_tooltip_content" {} } } blockoverride "concept_link" { text = "[puppets|E]" } blockoverride "header_additions" { header_icon = { margin_right = 10 blockoverride "header_texture" { block "puppet_tooltip_icon" {} } } } } type vbox_puppet_other_actions_section = vbox { layoutpolicy_horizontal = expanding text_multi = { layoutpolicy_horizontal = expanding autoresize = yes max_width = 420 block "section_header" {} align = nobaseline } vbox = { layoutpolicy_horizontal = expanding block "section_items" {} item = { text_multi = { layoutpolicy_horizontal = expanding text = "puppet_other_actions_tt_item" autoresize = yes max_width = 420 } } } } type widget_puppet_entry = widget { size = { 525 320 } scissor = yes background = { texture = "[PuppetEntry.GetPuppetType.GetBackground( PuppetEntry.GetPuppet )]" fittype = centercrop alpha = 0.7 using = Mask_Rough_Edges margin_top = -56 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } background = { using = Background_Frame margin = { 2 2 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_corner.dds" blend_mode = alphamultiply mirror = horizontal } } background = { using = Background_Frame margin = { 2 2 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_corner.dds" blend_mode = alphamultiply mirror = vertical } } ## Puppet portrait and CoA, opinion & status icon overlay widget = { parentanchor = left|bottom size = { 180 250 } # Puppet portrait portrait_council = { datacontext = "[PuppetEntry.GetPuppet]" visible = "[Character.IsValid]" parentanchor = bottom size = { 100% 100% } blockoverride "portrait_texture_block" { portrait_texture = "[Character.GetAnimatedPortrait('environment_council', 'camera_council', PuppetEntry.GetPuppetType.GetAnimation( Character.Self ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" scale = 1.1 mask = "gfx/portraits/portrait_mask_council.dds" effectname = "NoHighlight" } blockoverride "portrait_button_no_character_text" { text = "puppet_window_choose_puppet_tt" } } # Empty Puppet portrait portrait_council = { datacontext = "[PuppetEntry.GetPuppet]" visible = "[Not(Character.IsValid)]" parentanchor = bottom position = { 0 -20 } size = { 100% 100% } scale = 1.1 blockoverride "portrait_texture_block" { position = { 0 18 } portrait_texture = "[Character.GetAnimatedPortrait('environment_council', 'camera_council', PuppetEntry.GetPuppetType.GetAnimation( Character.Self ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" mask = "gfx/portraits/portrait_mask_council.dds" effectname = "NoHighlight" } blockoverride "portrait_button_no_character_text" { text = "puppet_window_choose_puppet_tt" } blockoverride "onclick" { onclick = "[PuppetEntry.OpenPuppetSelectionList]" button_icon = { parentanchor = center size = { 40 40 } position = { 0 80 } alwaystransparent = yes texture = "gfx/interface/icons/flat_icons/plus.dds" } } } # CoA, opinion & status icons widget = { datacontext = "[PuppetEntry.GetPuppet]" visible = "[Character.IsValid]" parentanchor = bottom|hcenter position = { 0 -63 } size = { 100% 100% } coa_realm_small_crown = { visible = "[Character.HasLandedTitles]" parentanchor = bottom|left } portrait_opinion = { visible = "[And(Character.IsValid, Not(Character.IsLocalPlayer) )]" parentanchor = bottom|hcenter position = { 15 0 } blockoverride "opinion_text" { text = "[Character.GetOpinionOf( Character.GetLiege )|=]" fonttintcolor = "[Character.GetOpinionOfTint( Character.GetLiege )]" } blockoverride "ott_heading_text" { text = "[Character.GetOpinionHeadingText( Character.GetLiege )]" } blockoverride "ott_opinion_value_text" { text = "[Character.GetOpinionOf( Character.GetLiege )|=]" fonttintcolor = "[Character.GetOpinionOfTint( Character.GetLiege )]" } blockoverride "ott_opinion_breakdown_text" { text = "[Character.GetOpinionBreakdownText( Character.GetLiege )|=]" } } portrait_status_icons = { parentanchor = bottom|right position = { 0 -5 } background = { using = Background_Area_Dark margin = { 2 4 } } } } } vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding # Header hbox = { datacontext = "[PuppetEntry.GetPuppetType]" layoutpolicy_horizontal = expanding margin = { 5 5 } # Parentwidget set to 50x50 to always make the header be 50px height widget = { size = { 50 50 } icon = { parentanchor = center size = { 45 45 } alwaystransparent = yes texture = "[PuppetEntry.GetPuppetType.GetIcon( PuppetEntry.GetPuppet )]" } } vbox = { layoutpolicy_horizontal = expanding expand = {} text_single = { layoutpolicy_horizontal = expanding text = "puppet_entry_title" align = nobaseline } text_single = { visible = "[PuppetEntry.GetPuppet.IsValid]" layoutpolicy_horizontal = expanding text = "puppet_entry_title_puppet_subheader" align = nobaseline } expand = {} } hbox = { datacontext = "[PuppetEntry.GetPuppet]" visible = "[Character.IsValid]" spacing = 16 margin_right = 10 background = { using = Background_Area using = Mask_Rough_Edges margin = { 5 15 } margin_left = 10 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphamultiply } } hbox = { spacing = 4 tooltip = "[Character.GetGoldTooltipWithBalance]" using = tooltip_se icon = { size = { 30 30 } texture = "gfx/interface/icons/icon_gold.dds" } text_single = { text = "[Character.GetGold|0]" default_format = "#high" align = center|nobaseline max_width = 50 } } hbox = { spacing = 4 tooltip = "[Character.GetPietyTooltipWithBalance]" using = tooltip_se icon = { size = { 30 30 } texture = "[Character.GetPietyLevelTexture]" } text_single = { text = "[Character.GetPiety|0]" default_format = "#high" align = center|nobaseline max_width = 50 } } } background = { using = Background_Area_Dark alpha = 0.5 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } background = { using = GenericObjectCardHeaderBackground color = "[PuppetEntry.GetPuppetType.GetColor]" alpha = 0.3 } tooltipwidget = { using = puppet_type_tooltip } using = tooltip_ws } hbox = { datamodel = "[PuppetEntry.GetSchemes]" allow_outside = yes item = { widget = { size = { 90 112 } allow_outside = yes button_hud_scheme = { alwaystransparent = yes blockoverride "click_behavior" {} blockoverride "background_texture" { icon = { texture = "gfx/interface/window_scheme/scheme_hud_bg.dds" size = { 100% 100% } } } blockoverride "scheme_type_icon_and_background" { icon = { parentanchor = center size = { 32 32 } texture = "gfx/interface/window_scheme/scheme_hud_icon_bg.dds" alwaystransparent = yes } icon = { texture = "[Scheme.GetSchemeType.GetIcon]" size = { 30 30 } alwaystransparent = yes parentanchor = center } } tooltip = "PUPPET_VIEW_SCHEME_TOOLTIP" } button_close = { widgetanchor = top|right parentanchor = top|right position = { 5 8 } allow_outside = yes onclick = "[IntrigueWindow.OnCancelSchemeClicked( Scheme.Self )]" tooltip = "puppet_cancel_scheme_tt" background = { using = Background_Area_Dark margin = { 2 2 } } } } } } expand = {} hbox = { visible = "[DataModelHasItems( PuppetEntry.GetInteractions )]" layoutpolicy_horizontal = expanding min_height = 60 margin = { 15 5 } spacing = 5 alwaystransparent = no background = { using = Background_Area_Dark } widget_puppet_generic_interactions_button = {} divider_light = { layoutpolicy_vertical = expanding } hbox = { datamodel = "[PuppetEntry.GetInteractions]" item = { widget_puppet_interaction_group = {} } } expand = {} widget_puppet_other_actions_button = {} } hbox = { visible = "[IsDataModelEmpty( PuppetEntry.GetInteractions )]" layoutpolicy_horizontal = expanding min_height = 60 margin = { 15 5 } background = { using = Background_Area_Dark } text_single = { text = "puppet_interaction_no_interactions_available" default_format = "#low;weak" align = nobaseline } } } hbox = { parentanchor = right|vcenter position = { -10 57 } expand = {} text_multi = { autoresize = yes text = "[PuppetEntry.GetPuppetType.GetDescription]" margin = { 15 10 } maximumsize = { 320 80 } default_format = "#F" background = { using = Background_Area_Dark } } } } type puppet_action_decision_vbox = vbox { layoutpolicy_horizontal = expanding margin = { 10 5 } margin_right = 30 button_dynastic_cycle_decision = { layoutpolicy_horizontal = expanding visible = yes enabled = "[PuppetActionItem.IsEnabled]" datacontext = "[PuppetActionItem.GetDecision]" onclick = "[PuppetActionItem.OpenPuppetDecision]" } } type puppet_action_interaction_vbox = vbox { layoutpolicy_horizontal = expanding margin = { 10 5 } margin_right = 30 hbox = { layoutpolicy_horizontal = expanding tooltip_visible = "[Not( PuppetActionItem.IsEnabled )]" tooltip = "puppet_action_disabled_tt" icon_placeholder = { enabled = "[PuppetActionItem.IsEnabled]" } text_single = { text = "[PuppetActionItem.GetText]" align = nobaseline } expand = {} } } type puppet_action_other_vbox = vbox { layoutpolicy_horizontal = expanding margin = { 10 5 } margin_right = 30 hbox = { layoutpolicy_horizontal = expanding tooltip_visible = "[Not( PuppetActionItem.IsEnabled )]" tooltip = "puppet_action_disabled_tt" icon_placeholder = { enabled = "[PuppetActionItem.IsEnabled]" } text_single = { text = "[PuppetActionItem.GetText]" align = nobaseline } expand = {} } } type puppet_great_project_vbox = vbox { layoutpolicy_horizontal = expanding margin = { 10 5 } margin_right = 30 button_standard = { layoutpolicy_horizontal = expanding datacontext = "[PuppetActionItem.GetGreatProject]" tooltip = "[GreatProjectType.GetGreatProjectItemDescriptionTooltip( PuppetActionItem.GetPuppet.Self )]" onclick = "[OpenGameViewData( 'plan_great_project', GreatProjectType.Self ) ]" margin_widget = { parentanchor = right|vcenter scissor = yes margin = { 2 2 } size = { 100% 100% } proportional_icon = { name = "illustration" visible = "[PuppetActionItem.IsEnabled]" parentanchor = right|top size = { 45% 100% } mirror = horizontal alpha = 0.6 texture = "[GreatProjectType.GetIllustration( PuppetActionItem.GetPuppet.Self )]" modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } proportional_icon = { visible = "[Not( PuppetActionItem.IsEnabled )]" parentanchor = right|top size = { 45% 100% } mirror = horizontal enabled = no alpha = 0.6 texture = "[GreatProjectType.GetIllustration( PuppetActionItem.GetPuppet.Self )]" modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } } # Vignette margin_widget = { parentanchor = center size = { 100% 100% } margin = { 2 2 } icon = { parentanchor = center size = { 100% 100% } texture = "gfx/interface/component_tiles/tile_vignette_3px.dds" spriteType = Corneredtiled spriteborder = { 5 5 } } } hbox = { margin = { 15 0 } margin_right = 10 text_single = { name = "title" visible = "[PuppetActionItem.IsEnabled]" layoutpolicy_horizontal = growing autoresize = no text = "[GreatProjectType.GetNameForCharacter( PuppetActionItem.GetPuppet.Self )]" align = nobaseline default_format = "#clickable" } text_single = { name = "title2" visible = "[Not( PuppetActionItem.IsEnabled )]" layoutpolicy_horizontal = growing autoresize = no text = "[GreatProjectType.GetNameForCharacter( PuppetActionItem.GetPuppet.Self )]" align = nobaseline default_format = "#low" } highlight_icon = { name = "not_possible" visible = "[Not( PuppetActionItem.IsEnabled )]" size = { 30 30 } texture = "gfx/interface/icons/symbols/icon_cross.dds" } } } } } template puppet_interaction_group_tooltip { container = { alwaystransparent = no puppet_tooltip_pop_out = { blockoverride "puppet_tooltip_title" { text = "puppet_interaction_category_tt_title" } blockoverride "puppet_tooltip_header" { text = "puppet_interaction_category_tt_header" } blockoverride "puppet_tooltip_content" { text_multi = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding text = "puppet_interaction_category_tt_special_content" autoresize = yes } text_single = { visible = "[DataModelHasItems( PuppetInteractionGroup.GetGenericInteractions )]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding text = "puppet_interaction_category_tt_generic_interactions" tooltip = "puppet_interaction_category_tt_generic_content" autoresize = yes using = tooltip_se } } blockoverride "puppet_tooltip_icon" { size = { 52 52 } texture = "[PuppetInteractionGroup.GetCategory.GetIcon]" } } } } template puppet_generic_interactions_tooltip { container = { alwaystransparent = no puppet_tooltip_pop_out = { blockoverride "puppet_tooltip_title" { text = "puppet_generic_interactions_tt_title" } blockoverride "puppet_tooltip_header" { text = "puppet_generic_interactions_tt_header" } blockoverride "puppet_tooltip_content" { hbox = { layoutpolicy_horizontal = expanding margin = { 5 5 } background = { using = Background_Area modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphamultiply mirror = horizontal } } hbox = { datamodel = "[PuppetEntry.GetInteractions]" item = { widget_puppet_generic_category_icon = {} } } expand = {} } } blockoverride "puppet_tooltip_icon" { size = { 45 45 } texture = "gfx/interface/icons/icon_puppeteer.dds" } } } } template puppet_other_actions_tooltip { container = { alwaystransparent = no puppet_tooltip_pop_out = { blockoverride "puppet_tooltip_title" { text = "puppet_other_actions_tt_title" } blockoverride "puppet_tooltip_header" { text = "puppet_other_actions_tt_header" } blockoverride "puppet_tooltip_content" { vbox_puppet_other_actions_section = { visible = "[DataModelHasItems( PuppetEntry.GetDecisions )]" blockoverride "section_header" { text = "puppet_other_actions_tt_decisions" } blockoverride "section_items" { datamodel = "[PuppetEntry.GetDecisions]" } } vbox_puppet_other_actions_section = { visible = "[DataModelHasItems( PuppetEntry.GetGreatProjects )]" blockoverride "section_header" { text = "puppet_other_actions_tt_great_projects" } blockoverride "section_items" { datamodel = "[PuppetEntry.GetGreatProjects]" } } vbox_puppet_other_actions_section = { visible = "[DataModelHasItems( PuppetEntry.GetOtherActions )]" blockoverride "section_header" { text = "puppet_other_actions_tt_additional" } blockoverride "section_items" { datamodel = "[PuppetEntry.GetOtherActions]" } } } blockoverride "puppet_tooltip_icon" { size = { 45 45 } texture = "gfx/interface/icons/character_interactions/puppet.dds" } } } } template Puppet_Interaction_Group_Background { # Diplomacy icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'DIPLOMACY_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Diplomacy modify_texture = { texture = "gfx/interface/colors/white.dds" blend_mode = overlay alpha = 0.25 } } # Religion icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'RELIGIOUS_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Religion modify_texture = { texture = "gfx/interface/colors/white.dds" blend_mode = overlay alpha = 0.1 } } # Hostile icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'HOSTILE_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Hostile } # Friendly icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'FRIENDLY_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Friendly modify_texture = { texture = "gfx/interface/colors/white.dds" blend_mode = colordodge alpha = 0.1 } } # Vassal icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'VASSAL_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Vassal modify_texture = { texture = "gfx/interface/colors/white.dds" blend_mode = overlay alpha = 0.1 } } # Laamp & Diarchy (Note: shares color since they're mutually exclusive) icon = { visible = "[Or( EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'LAAMP_ACTIONS' ) ), EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'DIARCH_ACTIONS' ) ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Laamp_Diarch } # Succession icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'SUCCESSION_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Succession } # Prison icon = { visible = "[EqualTo_string( PuppetInteractionGroup.GetCategory.GetDescription, Localize( 'IMPRISOMENT_ACTIONS' ) )]" parentanchor = center widgetanchor = center size = { 45 45 } texture = "gfx/interface/icons/interaction_category_background.dds" using = Color_Puppet_Interaction_Prison } }