@interaction_item_column_width = 30 types CharacterInteraction { type icon_character_interaction = icon { name = "interaction_icon" position = { 0 -5 } size = { 60 60 } texture = "[CharacterInteractionConfirmationWindow.GetInteraction.GetIcon( CharacterInteractionConfirmationWindow.GetRecipient )]" } type vbox_sender_portrait_message = vbox { margin = { 15 20 } using = Background_Letter datacontext = "[CharacterInteractionNotificationWindow.GetSender]" hbox = { layoutpolicy_horizontal = expanding spacing = 15 block "portrait_shoulders" { portrait_head = { name = "sender_portrait" } } ### TEXT ### vbox = { layoutpolicy_horizontal = expanding text_multi = { name = "description" max_width = 480 autoresize = yes text = "[CharacterInteractionNotificationWindow.GetNotificationText]" default_format = "#light_background" using = Font_Size_Medium format_override = { high light_background } using = Text_Light_Background_Overrides } hbox = { name = "signature" layoutpolicy_horizontal = expanding margin = { 20 0 } expand = {} vbox = { margin = { 20 0 } text_single = { name = "signed_text" layoutpolicy_horizontal = expanding text = "[CharacterInteractionNotificationWindow.GetSigned]" using = Font_Type_Flavor align = right default_format = "#light_background" } text_single = { name = "signature" layoutpolicy_horizontal = expanding text = "[CharacterInteractionNotificationWindow.GetSignature]" align = right default_format = "#light_background" using = Font_Type_Flavor } } coa_character_sigil = {} } } } } type vbox_arrangement_interaction_send_offer = vbox { name = "send_offer_window" vbox_interaction_options = { blockoverride "margin" { margin_top = 4 } layoutpolicy_horizontal = expanding } hbox_character_interaction_acceptance = { layoutpolicy_horizontal = expanding } text_multi_on_decline_summary = {} button_primary = { size = { 400 42 } block "button_content" {} onclick = "[MatchmakerInteractionWindow.Send]" enabled = "[CharacterInteractionConfirmationWindow.CanSend]" tooltip = "[CharacterInteractionConfirmationWindow.GetCanSendDescription]" clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_confirm" } } type vbox_marriage_interaction_marriage_details = vbox { margin = { 8 8 } background = { using = Background_Area } hbox = { name = "children_info" layoutpolicy_horizontal = expanding margin = {4 4} # Dynasty hbox = { layoutpolicy_horizontal = expanding spacing = 8 icon = { name = "marriage_type" block "icon_frame" { visible = "[MatchmakerInteractionWindow.HasPickedCharacters]" } texture = "gfx/interface/icons/marriage_types.dds" framesize = { 60 60 } size = { 60 60 } frame = "[MarriageInfo.GetMarriageIconFrame]" } vbox = { spacing = 2 text_multi = { name = "children_house_info" visible = "[And( StringIsEmpty( MarriageInfo.GetMatrilinealDesc ), Not( MatchOffer.IsSameSex ) )]" max_width = 240 min_width = 240 autoresize = yes text = "MARRIAGE_CHILDREN_HOUSE_INFO" } text_multi = { name = "matrilineal_desc" visible = "[Not( MatchOffer.IsSameSex )]" max_width = 240 min_width = 240 autoresize = yes text = "[MarriageInfo.GetMatrilinealDesc]" } text_multi = { name = "children_chance_info" max_width = 240 min_width = 240 autoresize = yes text = "MARRIAGE_CHILDREN_CHANCE_INFO" tooltip = "[MatchOffer.GetChanceOfChildrenTooltip]" } text_multi = { name = "inbreeding_risk" visible = "[MatchOffer.HasInbreedingRisk]" max_width = 240 min_width = 240 autoresize = yes text = "MATCH_OFFER_INBREEDING_WARNING" } } expand = {} } divider_light = { layoutpolicy_vertical = expanding } ### Traits vbox = { layoutpolicy_horizontal = expanding margin = { 4 4 } margin_left = 8 spacing = 4 visible = "[Not( MatchOffer.IsSameSex )]" hbox = { layoutpolicy_horizontal = expanding text_label_left = { name = "traits_header" visible = "[MatchOffer.HasInheritableTraits]" text = "INHERITABLE_TRAITS" } expand = {} } text_single = { name = "no_traits" visible = "[Not(MatchOffer.HasInheritableTraits)]" text = "NO_INHERITABLE_TRAITS" align = nobaseline default_format = "#low;italic" margin = { 4 16 } } overlappingitembox = { size = { 240 55} name = "traits" datamodel = "[MatchOffer.GetInheritableTraitItems]" visible = "[Not(IsDataModelEmpty(MatchOffer.GetInheritableTraitItems))]" item = { container = { datacontext = "[MatchmakerTraitInfo.GetTrait]" datacontext = "[MatchmakerTraitInfo.GetCharacter]" icon_trait = { blockoverride "actual_description_text" { text = "TRAIT_ENTRY_INHERITANCE_INFO" } highlight_icon = { name = "guaranteed" visible = "[And( MatchmakerTraitInfo.IsGuaranteed, Not(MatchmakerTraitInfo.CanUpgrade) )]" position = { 27 28 } texture = "gfx/interface/icons/symbols/icon_check.dds" size = { 25 25 } } highlight_icon = { name = "upgrade" visible = "[MatchmakerTraitInfo.CanUpgrade]" texture = "gfx/interface/icons/symbols/icon_arrow_green_down.dds" mirror = vertical position = { 29 24 } size = { 25 25 } } } } } } } } divider_light = { layoutpolicy_horizontal = expanding } vbox = { visible = "[MarriageInfo.HasAlliances]" layoutpolicy_horizontal = expanding margin = { 4 4 } text_label_center = { name = alliances_label text = "[alliances|E]" } vbox = { name = "alliance_grid" datamodel = "[MarriageInfo.GetAllianceItems]" layoutpolicy_horizontal = expanding item = { hbox = { layoutpolicy_horizontal = expanding portrait_head_small = { datacontext = "[AllianceInfo.GetCharacter]" name = "ally_portrait" blockoverride "opinion_box" {} blockoverride "status_icons" {} } strength_balance = { datacontext = "[AllianceInfo.GetMilitaryInfo]" blockoverride "StrengthBalanceAllies" {} } expand = {} } } } } text_single = { visible = "[Not(MarriageInfo.HasAlliances)]" text = "MATCH_OFFER_NO_ALLIANCES" default_format = "#weak" align = nobaseline margin = {8 8} } vbox = { visible = "[MarriageInfo.HasHouseRelationChange]" text_label_center = { name = "house_relation_change" text = "MARRIAGE_IMPACT_ON_HOUSE_RELATION" } } block "marriage_details_after" { } expand = {} } type vbox_concubine_interaction_details = vbox { margin = { 15 15 } background = { using = Background_Area } text_multi = { name = "children_house_info" layoutpolicy_horizontal = expanding max_width = 510 autoresize = yes text = "[MatchOffer.GetChanceOfChildrenDesc]" tooltip = "[MatchOffer.GetChanceOfChildrenTooltip]" } text_multi = { name = "children_chance_info" visible = "[Not( MatchOffer.IsSameSex )]" layoutpolicy_horizontal = expanding max_width = 510 autoresize = yes text = "CONCUBINE_CHILDREN_HOUSE" } ### Traits vbox = { margin = { 5 10 } spacing = 5 visible = "[Not( MatchOffer.IsSameSex )]" text_label_center = { name = "traits_header" visible = "[MatchOffer.HasInheritableTraits]" # layoutpolicy_horizontal = expanding text = "INHERITABLE_TRAITS" } text_single = { name = "no_traits" visible = "[Not(MatchOffer.HasInheritableTraits)]" text = "NO_INHERITABLE_TRAITS" default_format = "#low;italic" } hbox = { name = "traits" datamodel = "[MatchOffer.GetInheritableTraitItems]" visible = "[Not(IsDataModelEmpty(MatchOffer.GetInheritableTraitItems))]" item = { container = { datacontext = "[MatchmakerTraitInfo.GetTrait]" datacontext = "[MatchmakerTraitInfo.GetCharacter]" icon_trait = { blockoverride "actual_description_text" { text = "TRAIT_ENTRY_INHERITANCE_INFO" } highlight_icon = { name = "guaranteed" visible = "[And( MatchmakerTraitInfo.IsGuaranteed, Not(MatchmakerTraitInfo.CanUpgrade) )]" position = { 28 30 } texture = "gfx/interface/icons/symbols/icon_check.dds" size = { 25 25 } } highlight_icon = { name = "upgrade" visible = "[MatchmakerTraitInfo.CanUpgrade]" texture = "gfx/interface/icons/symbols/icon_arrow_green_down.dds" mirror = vertical position = { 5 28 } size = { 25 25 } } } } } } text_single = { name = "inbreeding_risk" visible = "[MatchOffer.HasInbreedingRisk]" max_width = 510 text = "MATCH_OFFER_INBREEDING_WARNING" default_format = "#low" } } divider_light = { layoutpolicy_horizontal = expanding } expand = {} } type vbox_list_interaction_title_selection = vbox { name = "titles_grid" datamodel = "[CharacterInteractionConfirmationWindow.GetTitles]" layoutpolicy_horizontal = expanding spacing = 3 item = { widget = { name = "title_list_item" layoutpolicy_horizontal = expanding size = { 0 45 } button_standard = { name = "title_button" datacontext = "[InteractionTitleItem.GetTitle]" parentanchor = right size = "[InteractionTitleItem.GetSize]" onclick = "[InteractionTitleItem.OnClick]" onrightclick = "[InteractionTitleItem.OnRightClick]" button_ignore = none down = "[InteractionTitleItem.IsSelected]" enabled = "[InteractionTitleItem.IsSelectable]" tooltip = "[InteractionTitleItem.GetTooltip]" using = tooltip_es block "button_toggles" { enabled = "[InteractionTitleItem.IsSelectable]" } hbox = { margin_left = 5 margin_right = 5 spacing = 5 coa_title_tiny_crown = {} text_single = { name = "text" layoutpolicy_horizontal = expanding text = "[InteractionTitleItem.GetTitle.GetNameNoTooltip|U]" } icon = { name = "pressed_claim" visible = "[GetPlayer.HasPressedClaimOnTitle( Title.Self )]" size = { 24 24 } texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" tooltip = "REVOKE_TITLE_PRESSED_CLAIM" } icon = { name = "unpressed_claim" visible = "[And(GetPlayer.HasClaimOnTitle( Title.Self ), Not(GetPlayer.HasPressedClaimOnTitle( Title.Self )))]" size = { 24 24 } texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" tooltip = "REVOKE_TITLE_UNPRESSED_CLAIM" } icon = { name = "leased_out" visible = "[Title.HasLeasedOutVassal]" size = { 36 39 } texture = "gfx/interface/icons/icon_holding_church.dds" tooltip = "GRANT_TITLE_LEASED_OUT_VASSAL" } block "extra_title_items" {} } } } } } type vbox_list_interaction_artifact_selection = vbox { name = "artifacts_grid" datamodel = "[CharacterInteractionConfirmationWindow.GetArtifacts]" layoutpolicy_horizontal = expanding spacing = 10 item = { widget = { name = "artifact_list_item" layoutpolicy_horizontal = expanding size = { 360 80 } button_standard = { name = "artifact_button" size = { 100% 100% } onclick = "[CharacterInteractionConfirmationWindow.SetSelectedArtifact( Artifact.Self )]" onclick = "[GetVariableSystem.Toggle( 'character_interaction_change_artifact' )]" down = "[ObjectsEqual( CharacterInteractionConfirmationWindow.GetSelectedArtifact, Artifact.Self )]" tooltipwidget = { artifact_tooltip = {} } hbox = { widget = { size = { 80 80 } alwaystransparent = yes button_artifact = { size = { 100% 100% } } tooltipwidget = { artifact_tooltip = {} } } vbox = { text_multi = { name = "type" layoutpolicy_horizontal = expanding text = "[Artifact.GetRarityAndSlotType]" max_width = 250 autoresize = yes } text_multi = { name = "name" layoutpolicy_horizontal = expanding text = "[Artifact.GetNameNoTooltip]" max_width = 250 default_format = "#V" autoresize = yes } } expand = {} } } } } } type vbox_list_interaction_maa_selection = vbox { name = "maa_grid" datamodel = "[CharacterInteractionConfirmationWindow.GetMaa]" layoutpolicy_horizontal = expanding spacing = 10 item = { button_standard = { size = { 200 50 } text = "[Regiment.GetName]" onclick = "[CharacterInteractionConfirmationWindow.SetSelectedMaa( Regiment.Self )]" onclick = "[GetVariableSystem.Toggle( 'character_interaction_change_maa' )]" } } } type vbox_character_interaction_three_characters = vbox { margin = { 10 10 } background = { texture = "[CharacterInteractionConfirmationWindow.GetTexture]" alpha = 0.5 fittype = centercrop using = Mask_Rough_Edges } hbox = { layoutpolicy_horizontal = expanding ### Left vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding spacing = 5 portrait_shoulders = { name = "left_background_portrait" datacontext = "[CharacterInteractionConfirmationWindow.GetActor]" visible = "[Character.IsValid]" } text_label_center = { text = "INTERACTION_SENDER" min_width = 100 max_width = 170 } } vbox = { datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryRecipient]" visible = "[CharacterInteractionConfirmationWindow.ShouldShowSecondaryRecipient]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding spacing = 5 expand = {} portrait_head = {} hbox = { spacing = 5 text_label_center = { visible = "[CharacterInteractionConfirmationWindow.ShouldShowSecondaryRecipient]" text = "[CharacterInteractionConfirmationWindow.GetRecipientSecondaryLabel]" max_width = 170 multiline = yes } change_revert_buttons = { blockoverride "size" { size = { 32 32 } } blockoverride "size_icon" { size = { 24 24 } } blockoverride "ReplaceClick" { onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter] } blockoverride "ReplaceVisible" { visible = [CharacterInteractionConfirmationWindow.CanChangeRecipientCharacter] } blockoverride "RevertClick" { onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter] } blockoverride "RevertVisible" { visible = [CharacterInteractionConfirmationWindow.CanRevertRecipientCharacter] } } } } ### Right vbox = { datacontext = "[CharacterInteractionConfirmationWindow.GetRecipient]" visible = "[And( Character.IsValid, Not( ObjectsEqual( CharacterInteractionConfirmationWindow.GetActor, CharacterInteractionConfirmationWindow.GetRecipient ) ) )]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding spacing = 5 expand = {} portrait_shoulders = { name = "right_background_portrait" } text_label_center = { visible = "[Not( ObjectsEqual( CharacterInteractionConfirmationWindow.GetActor, CharacterInteractionConfirmationWindow.GetRecipient ) )]" text = "INTERACTION_RECIPIENT" min_width = 100 max_width = 170 } } } } type widget_character_interaction_four_characters = widget { layoutpolicy_horizontal = expanding size = { 0 300 } block "bg_illustration_datacontext" {} # Temp background background = { alpha = 0.7 fittype = centercrop using = Mask_Rough_Edges block "bg_illustration" { texture = "gfx/interface/illustrations/event_scenes/sittingroom.dds" } } ### LEFT flowcontainer = { parentanchor = top|left position = { 20 20 } direction = vertical block "left_small_portrait" { datacontext = "[CharacterInteractionConfirmationWindow.GetActor]" visible = "[Character.IsValid]" } portrait_head = { name = "left_background_portrait" tooltip_visible = "[Character.IsValid]" } text_label_center = { parentanchor = hcenter text = "INTERACTION_SENDER" } } widget = { position = { -110 0 } parentanchor = bottom|hcenter portrait_body = { name = "left_main_portrait" resizeparent = yes block "left_portrait" { datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryActor]" } tooltip_visible = "[Character.IsValid]" blockoverride "status_icons" {} blockoverride "coa" { coa_realm_small_crown = { position = { -14 -10 } visible = "[Character.HasLandedTitles]" parentanchor = bottom } } blockoverride "portrait_button" { portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" mask = "gfx/portraits/portrait_mask_council.dds" } blockoverride "position_portrait_opinion_body" { position = { 0 -40 } } blockoverride "portrait_glow" {} background = { using = Background_Portrait_Glow color = { 0.8 0.7 0.5 0.6 } block "left_interaction_portrait_glow" { visible = "[CharacterInteractionConfirmationWindow.IsPickingSecondaryActor]" } } } text_label_center = { parentanchor = bottom|hcenter position = { 0 -13 } allow_outside = yes block "left_character_label" { text = "[CharacterInteractionConfirmationWindow.GetActorSecondaryLabel]" } container = { name = "tutorial_highlight_change_left_character" parentanchor = vcenter position = { -50 0 } button_round = { name = "tutorial_highlight_change_left_character" alwaystransparent = no tooltip = "CHANGE_CHARACTER" using = tooltip_below using = Animation_ShowHide_Quick block "button_left_change" { visible = "[CharacterInteractionConfirmationWindow.CanChangeActorCharacter]" onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" } button_replace = { parentanchor = center alwaystransparent = yes } } button_round = { name = "revert_left_character" alwaystransparent = no tooltip = "CANCEL" using = tooltip_below using = Animation_ShowHide_Quick block "button_left_revert" { visible = "[CharacterInteractionConfirmationWindow.CanRevertActorCharacter]" onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" } button_cancel = { parentanchor = center alwaystransparent = yes } } } } } ### RIGHT flowcontainer = { parentanchor = top|right position = { -20 20 } direction = vertical block "right_small_portrait" { datacontext = "[CharacterInteractionConfirmationWindow.GetRecipient]" visible = "[Character.IsValid]" } portrait_head = { name = "right_background_portrait" tooltip_visible = "[Character.IsValid]" blockoverride "portrait_transformation" { portrait_scale = { -1 1 } portrait_offset = { 1 0 } } blockoverride "status_icons" {} } text_label_center = { parentanchor = hcenter text = "INTERACTION_RECIPIENT" } } widget = { position = { 110 0 } parentanchor = bottom|hcenter portrait_body = { name = "right_main_portrait" tooltip_visible = "[Character.IsValid]" resizeparent = yes block "right_portrait" { datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryRecipient]" } blockoverride "portrait_transformation" { portrait_scale = { -1 1 } portrait_offset = { 1 0 } } blockoverride "status_icons" {} blockoverride "coa" { coa_realm_small_crown = { position = { 14 -10 } visible = "[Character.HasLandedTitles]" parentanchor = bottom|right } } blockoverride "portrait_button" { portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" mask = "gfx/portraits/portrait_mask_council.dds" } blockoverride "position_portrait_opinion_body" { position = { 0 -40 } } blockoverride "portrait_glow" {} background = { using = Background_Portrait_Glow color = { 0.8 0.7 0.5 0.6 } block "right_interaction_portrait_glow" { visible = "[CharacterInteractionConfirmationWindow.IsPickingSecondaryRecipient]" } } blockoverride "glow_flip" { mirror = horizontal } } text_label_center = { parentanchor = bottom|hcenter position = { 0 -13 } allow_outside = yes block "right_character_label" { text = "INTERACTION_RECIPIENT" } container = { name = "tutorial_highlight_change_right_character" parentanchor = right|vcenter position = { 50 0 } button_round = { name = "change_right_character" alwaystransparent = no tooltip = "CHANGE_CHARACTER" using = tooltip_below using = Animation_ShowHide_Quick block "button_right_change" { visible = "[CharacterInteractionConfirmationWindow.CanChangeRecipientCharacter]" onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter]" } button_replace = { parentanchor = center alwaystransparent = yes } } button_round = { name = "revert_right_character" alwaystransparent = no tooltip = "CANCEL" using = tooltip_below using = Animation_ShowHide_Quick block "button_right_revert" { visible = "[CharacterInteractionConfirmationWindow.CanRevertActorCharacter]" onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" } button_cancel = { parentanchor = center alwaystransparent = yes } } } } } ### CLEAR BUTTON container = { position = { 0 -6 } parentanchor = bottom|hcenter button_round = { name = "clear_marry_off_character" alwaystransparent = no tooltip = "CLEAR_MARRIED_CHARACTER" using = tooltip_below block "button_clear" { visible = "[CharacterInteractionConfirmationWindow.CanChangeActorCharacter]" enabled = "[CharacterInteractionConfirmationWindow.CanClear]" onclick = "[CharacterInteractionConfirmationWindow.OnClear]" } button_clear = { alwaystransparent = yes parentanchor = center } } } } type vbox_character_interaction_effects_contents = vbox { name = "affected_characters_accept" layoutpolicy_horizontal = expanding spacing = 5 datacontext = "[InteractionEffectsDescription.GetDisplayedEffects]" # Duplicate recipient if it's player - player info should go first vbox_character_interaction_effects_me = { datacontext = "[InteractionEffectsDescription.GetRecipient]" visible = "[And( Character.IsLocalPlayer, DisplayedInteractionEffects.HasRecipientEffects )]" layoutpolicy_horizontal = expanding blockoverride "EffectFromIntermediaryText" { text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetRecipientEffect]" } blockoverride "EffectText" { text = "[DisplayedInteractionEffects.GetMainEffect.GetRecipientEffect]" } } # Duplicate intermediary if it's player - player info should go first vbox_character_interaction_effects_me = { datacontext = "[InteractionEffectsDescription.GetIntermediary]" visible = "[And( Character.IsLocalPlayer, DisplayedInteractionEffects.HasIntermediaryEffects )]" layoutpolicy_horizontal = expanding blockoverride "EffectFromIntermediaryText" { text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetIntermediaryEffect]" } blockoverride "EffectText" { text = "[DisplayedInteractionEffects.GetMainEffect.GetIntermediaryEffect]" } } ### Actor vbox_character_interaction_effects_me = { datacontext = "[InteractionEffectsDescription.GetActor]" visible = "[DisplayedInteractionEffects.HasActorEffects]" layoutpolicy_horizontal = expanding blockoverride "EffectFromIntermediaryText" { text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetActorEffect]" } blockoverride "EffectText" { text = "[DisplayedInteractionEffects.GetMainEffect.GetActorEffect]" } } ### Intermediary vbox_character_interaction_effects_other = { datacontext = "[InteractionEffectsDescription.GetIntermediary]" visible = "[And( Not( Character.IsLocalPlayer ), DisplayedInteractionEffects.HasIntermediaryEffects )]" layoutpolicy_horizontal = expanding blockoverride "EffectFromIntermediaryText" { text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetIntermediaryEffect]" } blockoverride "EffectText" { text = "[DisplayedInteractionEffects.GetMainEffect.GetIntermediaryEffect]" } } ### Recipient vbox_character_interaction_effects_other = { datacontext = "[InteractionEffectsDescription.GetRecipient]" visible = "[And( Not( Character.IsLocalPlayer ), DisplayedInteractionEffects.HasRecipientEffects )]" layoutpolicy_horizontal = expanding blockoverride "EffectFromIntermediaryText" { text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetRecipientEffect]" } blockoverride "EffectText" { text = "[DisplayedInteractionEffects.GetMainEffect.GetRecipientEffect]" } } ### Others vbox_character_interaction_other_effects = { datamodel = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetOtherEffects]" layoutpolicy_horizontal = expanding } ### Others vbox_character_interaction_other_effects = { datamodel = "[DisplayedInteractionEffects.GetMainEffect.GetOtherEffects]" layoutpolicy_horizontal = expanding } } # All the interaction effects on you and on other character type vbox_character_interaction_effects = vbox { name = "effects" spacing = 10 hbox = { name = "interaction_effects_tabs" visible = "[And(InteractionEffectsDescription.IsMaybeAnswer,InteractionEffectsDescription.HasRejectionEffect)]" layoutpolicy_horizontal = expanding button_tab = { name = "show_accept_effects" layoutpolicy_horizontal = expanding text = "INTERACTION_SHOW_ACCEPT_EFFECTS" onclick = "[InteractionEffectsDescription.ShowOnAcceptEffect]" down = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" tooltip = "INTERACTION_SHOW_ACCEPT_EFFECTS_TT" using = tooltip_ne } button_tab = { name = "show_intermediary_decline_effects" layoutpolicy_horizontal = expanding visible = "[InteractionEffectsDescription.IsIntermediaryVisible]" text = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS" onclick = "[InteractionEffectsDescription.ShowIntermediaryDeclineEffect]" down = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" tooltip = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS_TT" using = tooltip_ne } button_tab = { name = "show_decline_effects" layoutpolicy_horizontal = expanding text = "INTERACTION_SHOW_DECLINE_EFFECTS" onclick = "[InteractionEffectsDescription.ShowRecipientDeclineEffect]" down = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" tooltip = "INTERACTION_SHOW_DECLINE_EFFECTS_TT" using = tooltip_ne } } scrollbox_character_interaction_effects_wrapper = {} } type scrollbox_character_interaction_effects_wrapper = container { datacontext = "[InteractionEffectsDescription.GetDisplayedEffects]" visible = "[DisplayedInteractionEffects.HasAnyEffects]" scrollbox = { name = "effects_scrollarea" autoresizescrollarea = yes scissor = yes block "maximumsize" { maximumsize = { -1 320 } } blockoverride "scrollbox_content" { set_parent_size_to_minimum = yes block "minimumsize" { minimumsize = { 676 160 } } vbox_character_interaction_effects_contents = {} } } } # All the interaction effects on you and on other character, simpler version without portraits type vbox_character_interaction_effects_simple = vbox { name = "effects" spacing = 10 hbox = { block "visibility" { visible = "[And(InteractionEffectsDescription.IsMaybeAnswer,InteractionEffectsDescription.HasRejectionEffect)]" } layoutpolicy_horizontal = expanding button_tab = { name = "show_accept_effects" layoutpolicy_horizontal = expanding text = "INTERACTION_SHOW_ACCEPT_EFFECTS" onclick = "[InteractionEffectsDescription.ShowOnAcceptEffect]" down = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" tooltip = "INTERACTION_SHOW_ACCEPT_EFFECTS_TT" using = tooltip_ne } button_tab = { name = "show_intermediary_decline_effects" layoutpolicy_horizontal = expanding visible = "[InteractionEffectsDescription.IsIntermediaryVisible]" text = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS" onclick = "[InteractionEffectsDescription.ShowIntermediaryDeclineEffect]" down = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" tooltip = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS_TT" using = tooltip_ne } button_tab = { name = "show_decline_effects" layoutpolicy_horizontal = expanding text = "INTERACTION_SHOW_DECLINE_EFFECTS" onclick = "[InteractionEffectsDescription.ShowRecipientDeclineEffect]" down = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" tooltip = "INTERACTION_SHOW_DECLINE_EFFECTS_TT" using = tooltip_ne } } scrollbox = { name = "effects_scrollarea" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding size = { 0 170 } blockoverride "scrollbox_content" { margin = { 0 10 } text_multi = { visible = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" name = "accept_effects_info" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding autoresize = yes max_width = 400 margin = { 5 0 } text = "[InteractionEffectsDescription.GetAcceptEffectDescription]" } text_multi = { visible = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" name = "intermediary_decline_effects_info" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding autoresize = yes max_width = 400 margin = { 5 0 } text = "[InteractionEffectsDescription.GetIntermediaryRejectionEffectDescription]" } text_multi = { visible = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" name = "decline_effects_info" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding autoresize = yes max_width = 400 margin = { 5 0 } text = "[InteractionEffectsDescription.GetRejectionEffectDescription]" } block "extra_content" {} } } } # Interaction effects on me type vbox_character_interaction_effects_me = vbox { name = "me" margin_bottom = 5 background = { using = Background_Area_With_Header } hbox = { layoutpolicy_horizontal = expanding spacing = 5 margin_left = 5 vbox = { layoutpolicy_vertical = expanding portrait_head = { blockoverride "opinion_box" {} } expand = {} } vbox = { layoutpolicy_vertical = expanding margin = { 5 0 } spacing = 5 text_single = { text = "EFFECTS_ON_ME" layoutpolicy_horizontal = expanding margin = { 0 5 } } text_multi = { name = "intermediary_effects_info" layoutpolicy_horizontal = expanding autoresize = yes max_width = 450 block "EffectFromIntermediaryText" { text = "" } } text_multi = { name = "effects_info" layoutpolicy_horizontal = expanding autoresize = yes max_width = 450 block "EffectText" {} } expand = {} } expand = {} } } # Interaction effects on the other character type vbox_character_interaction_effects_other = vbox { name = "recipient" margin_bottom = 5 background = { using = Background_Area_With_Header } hbox = { layoutpolicy_horizontal = expanding spacing = 5 vbox = { layoutpolicy_vertical = expanding margin = { 15 0 } spacing = 5 text_single = { text = "EFFECTS_ON_ME" layoutpolicy_horizontal = expanding margin = { 0 4 } max_width = 440 } text_multi = { name = "intermediary_effects_info" layoutpolicy_horizontal = expanding autoresize = yes max_width = 440 block "EffectFromIntermediaryText" { text = "" } } text_multi = { name = "effects_info" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding autoresize = yes max_width = 440 block "EffectText" {} } expand = {} } expand = {} vbox = { layoutpolicy_vertical = expanding portrait_head = { blockoverride "opinion_box" {} blockoverride "portrait_transformation" { portrait_scale = { -1 1 } portrait_offset = { 1 0 } } } expand = {} } } } # Interaction effects on third party characters type vbox_character_interaction_other_effects = vbox { name = "other_effects" item = { hbox = { layoutpolicy_horizontal = expanding margin = { 0 5 } spacing = 5 portrait_head = { name = "portrait" datacontext = "[InteractionOtherEffect.GetCharacter]" visible = "[InteractionOtherEffect.HasCharacter]" } container = { ignoreinvisible = yes icon = { position = { 16 0 } size = { 50 50 } texture = "gfx/interface/icons/icon_group_of_characters.dds" visible = "[InteractionOtherEffect.IsList]" tooltip = "[InteractionOtherEffect.GetListTooltip]" } } text_multi = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding autoresize = yes max_width = 450 text = "[InteractionOtherEffect.GetEffect]" align = left|vcenter } expand = {} } } } type hbox_character_interaction_acceptance = hbox { name = "acceptance" visible = "[CharacterInteractionConfirmationWindow.ShouldShowAnswer]" widget = { name = "answer_chance" size = { 330 46 } tooltip = "[CharacterInteractionConfirmationWindow.GetAnswerReason]" background = { using = Background_Area_Dark } hbox = { visible = "[CharacterInteractionConfirmationWindow.IsForcedToAccept]" parentanchor = center layoutpolicy_horizontal = expanding maximumsize = { 330 46 } margin = { 16 0 } spacing = 4 expand = {} icon = { texture = "gfx/interface/icons/symbols/icon_check.dds" size = { 30 30 } visible = "[CharacterInteractionConfirmationWindow.IsAnswerPositive]" } text_single = { name = "answer" text = "ANSWER_REASON_AUTO_ACCEPT" default_format = "#color_green" using = Font_Size_Medium align = nobaseline } expand = {} } hbox = { visible = "[Not( CharacterInteractionConfirmationWindow.IsForcedToAccept )]" parentanchor = center layoutpolicy_horizontal = expanding maximumsize = { 330 46 } margin = { 16 0 } spacing = 4 expand = {} icon = { texture = "gfx/interface/icons/symbols/icon_cross.dds" size = { 30 30 } visible = "[Not( CharacterInteractionConfirmationWindow.IsAnswerPositive )]" } icon = { texture = "gfx/interface/icons/symbols/icon_check.dds" size = { 30 30 } visible = "[CharacterInteractionConfirmationWindow.IsAnswerPositive]" } text_single = { name = "answer" text = "[CharacterInteractionConfirmationWindow.GetAnswer]" default_format = "#high" using = Font_Size_Medium align = nobaseline } text_single = { name = "answer_score" visible = "[And( Not( CharacterInteractionConfirmationWindow.IsAiMaybe ), Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) )]" text = "INTERACTION_ACCEPTANCE_SCORE" using = Font_Size_Medium align = nobaseline } text_single = { name = "answer_chance" visible = "[And( And( CharacterInteractionConfirmationWindow.IsAiMaybe, Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) ), Or( Not( CharacterInteractionConfirmationWindow.IsAiAcceptNegotiation ), GreaterThan_int32( CharacterInteractionConfirmationWindow.GetAnswerScore, '(int32)0' ) ) )]" text = "INTERACTION_ACCEPTANCE_CHANCE" using = Font_Size_Medium align = nobaseline } expand = {} } progressbar_standard = { position = { 0 3 } size = { 324 10 } parentanchor = bottom|hcenter visible = "[And( And( CharacterInteractionConfirmationWindow.IsAiMaybe, Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) ), Or( Not( CharacterInteractionConfirmationWindow.IsAiAcceptNegotiation ), GreaterThan_int32( CharacterInteractionConfirmationWindow.GetAnswerScore, '(int32)0' ) ) )]" value = "[CharacterInteractionConfirmationWindow.GetAnswerProgress]" } } } type text_multi_on_decline_summary = text_multi { autoresize = yes max_width = 500 visible = "[CharacterInteractionConfirmationWindow.HasOnDeclineSummary]" text = "[CharacterInteractionConfirmationWindow.GetOnDeclineSummary]" } # Options to consider before accepting and interaction type vbox_interaction_options = vbox { name = "options_grid" visible = "[CharacterInteractionConfirmationWindow.HasOptions]" spacing = 5 block "margin" { margin_top = 10 } text_label_center = { visible = "[Not( StringIsEmpty(CharacterInteractionConfirmationWindow.GetOptionsHeading) )]" layoutpolicy_horizontal = expanding text = "[CharacterInteractionConfirmationWindow.GetOptionsHeading]" align = center } vbox = { name = "multiple_selection_options" visible = "[And(Not( CharacterInteractionConfirmationWindow.HasExclusiveOptions ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_info').GetValue, '(CFixedPoint)0' ) ))]" layoutpolicy_horizontal = expanding datamodel = "[CharacterInteractionConfirmationWindow.GetOptionItems]" item = { widget = { visible = "[OptionItem.IsShown]" layoutpolicy_horizontal = expanding size = { 480 40 } background = { using = Background_Area_Border } hbox = { layoutpolicy_horizontal = expanding margin = { 15 0 } spacing = 10 tooltip = "[OptionItem.GetTooltip]" using = tooltip_below background = { visible = "[OptionItem.HasFlag( 'grand_wedding_promise' )]" margin_right = 40 margin_left = -2 texture = "gfx/interface/colors/white.dds" alpha = 0.15 margin_top = -2 modify_texture = { texture = "gfx/interface/component_masks/patterns/mask_pattern_01.dds" spriteType = corneredtiled blend_mode = alphamultiply texture_density = 0.76 } modify_texture = { texture = "gfx/interface/colors/colors_textured.dds" blend_mode = normal framesize = { 96 96 } frame = 7 } modify_texture = { texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply spriteType = corneredTiled alpha = 0.5 } modify_texture = { texture = "gfx/interface/component_masks/mask_scratches.dds" blend_mode = alphamultiply spriteType = corneredTiled } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" blend_mode = alphamultiply } } button_checkbox = { size = { 30 30 } checked = "[OptionItem.HasOption]" onclick = "[OptionItem.OnClick]" enabled = "[And(OptionItem.IsValid, OptionItem.CanBeChanged)]" block "checkbox_on_click" {} } text_single = { text = "[OptionItem.GetName]" align = nobaseline } icon = { visible = "[OptionItem.HasFlag( 'grand_wedding_promise' )]" size = { 30 30 } texture = "gfx/interface/icons/activities/activity_wedding.dds" } expand = {} } } } } vbox = { name = "exclusive_options" layoutpolicy_horizontal = expanding visible = "[CharacterInteractionConfirmationWindow.HasExclusiveOptions]" datamodel = "[CharacterInteractionConfirmationWindow.GetOptionItems]" item = { widget = { visible = "[OptionItem.IsShown]" layoutpolicy_horizontal = expanding size = { 480 40 } background = { using = Background_Area_Border } hbox = { margin = { 15 0 } spacing = 10 tooltip = "[OptionItem.GetTooltip]" using = tooltip_below button_radio = { size = { 30 30 } frame = "[BoolTo1And2( OptionItem.HasOption )]" onclick = "[OptionItem.OnClick]" enabled = "[And(OptionItem.IsValid, And(OptionItem.CanBeChanged, Not(OptionItem.HasOption)))]" } text_single = { layoutpolicy_horizontal = expanding text = "[OptionItem.GetName]" align = nobaseline fontsize_min = 10 max_width = 420 } } } } } } type vbox_scheme_info = vbox { name = "scheme_info" layoutpolicy_vertical = expanding widget = { name = "on_success" datacontext = "[InteractionSchemeInfo.GetScheme]" visible = "[InteractionSchemeInfo.HasSuccessDesc]" size = { 676 200 } background = { visible = "[InteractionSchemeInfo.HasDiscoveryDesc]" texture = "[SchemeType.GetIllustration]" alpha = 0.5 fittype = centercrop using = Mask_Rough_Edges margin_top = 30 modify_texture = { texture = "gfx/interface/window_scheme/scheme_header_mask.dds" blend_mode = alphaMultiply } } background = { visible = "[Not( InteractionSchemeInfo.HasDiscoveryDesc )]" texture = "gfx/interface/illustrations/event_scenes/bedchamber.dds" alpha = 0.5 fittype = centercrop using = Mask_Rough_Edges margin_top = 30 modify_texture = { texture = "gfx/interface/window_scheme/scheme_header_mask.dds" blend_mode = alphaMultiply } } widget = { parentanchor = center size = { 264 200 } vbox = { layoutpolicy_vertical = expanding margin_top = 5 widget = { size = { 264 110 } tooltipwidget = { widget_value_breakdown_tooltip = { datacontext = "[CharacterInteractionConfirmationWindow.AccessSchemeInfo.GetOddsPredictionBreakdown]" } } icon = { parentanchor = center size = { 264 110 } texture = "gfx/interface/window_scheme/scheme_success_bg.dds" } icon = { name = "success_icon" parentanchor = top|hcenter position = { 0 5 } size = { 44 44 } framesize = { 70 70 } frame = "[GetSchemeOddsLevelFrameFromValue(InteractionSchemeInfo.GetOddsPredictionValue)]" texture = "gfx/interface/icons/schemes/icon_scheme_odds.dds" } vbox = { margin_top = 25 text_multi = { name = "scheme_success_chance_message" layoutpolicy_horizontal = expanding text = "SCHEME_PREDICTION_SUCCESS_CHANCE" align = center|nobaseline autoresize = yes max_width = 250 } } text_single = { name = "odds value" visible = "[InDebugMode]" text = "SCHEME_PREDICTION_VALUE_DEBUG" } } expand = {} hbox = { name = "phases" spacing = 5 background = { using = Background_Area margin = { 0 5 } margin_right = 20 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_circle.dds" blend_mode = alphamultiply } } icon = { name = "scheme_speed_icon" size = { 30 30 } texture = "gfx/interface/icons/schemes/icon_scheme_speed.dds" } text_single = { name = "scheme_speed" text = "SCHEME_PREDICTION_SPEED" align = nobaseline using = Font_Size_Medium } } hbox = { name = "on_discovery" visible = "[InteractionSchemeInfo.HasDiscoveryDesc]" background = { using = Background_Area margin = { 0 5 } margin_right = 20 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_circle.dds" blend_mode = alphamultiply } } hbox = { visible = "[InteractionSchemeInfo.IsSecret]" spacing = 5 tooltip = "SCHEME_PREDICTION_SECRECY_TT" icon = { name = "secrecy_icon" size = { 32 32 } texture = "gfx/interface/icons/schemes/icon_secrecy.dds" } text_single = { name = "secrecy_label" text = "SCHEME_WINDOW_SECRECY_LABEL" align = nobaseline using = Font_Size_Medium } text_single = { name = "secrecy" text = "[InteractionSchemeInfo.GetSecrecy|%/V1]" align = nobaseline using = Font_Size_Medium } } } expand = {} } } # Player widget = { name = "player" parentanchor = left|bottom size = { 180 200 } position = { 20 0 } portrait_torso = { datacontext = "[GetPlayer]" parentanchor = center using = tooltip_es blockoverride "portrait_texture" { portrait_texture = "[Character.GetAnimatedPortrait('environment_torso', 'camera_torso_scheme_player', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" } blockoverride "portrait_mask" { mask = "gfx/portraits/portrait_mask_council.dds" } blockoverride "coa" { coa_realm_small_crown = { visible = "[Character.HasLandedTitles]" parentanchor = bottom|left position = { -20 -5 } } } blockoverride "portrait_status_icons" { portrait_status_icons = { parentanchor = bottom|right position = { 0 -10 } } } } } # Target widget = { name = "target" parentanchor = right|bottom size = { 180 200 } position = { -20 0 } portrait_torso = { datacontext = "[InteractionSchemeInfo.GetTarget]" parentanchor = center using = tooltip_es blockoverride "portrait_texture" { portrait_texture = "[Character.GetAnimatedPortrait('environment_torso', 'camera_torso_scheme_target', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" } blockoverride "portrait_mask" { mask = "gfx/portraits/portrait_mask_council.dds" } blockoverride "coa" { coa_realm_small_crown = { visible = "[Character.HasLandedTitles]" parentanchor = bottom|right position = { 20 -5 } } } blockoverride "opinion_box" { portrait_opinion = { parentanchor = bottom|hcenter position = { 0 -8 } } } blockoverride "portrait_status_icons" { portrait_status_icons = { parentanchor = bottom|left position = { 0 -10 } } } } } } } type scheme_header_widget = widget { name = "interaction_window_heading_scheme" widgetid = "interaction_window_heading_scheme" datacontext = "[CharacterInteractionConfirmationWindow.GetSchemeInfo]" datacontext = "[InteractionSchemeInfo.GetScheme]" size = { 676 90 } # Stained glass header icon = { parentanchor = center size = { 676 90 } texture = "gfx/interface/window_scheme/scheme_header.dds" # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_header_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 bezier = { 0.8 0.18 0.96 .05 } modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 5 modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = { 0.6 0 } } } # Stained glass header theme - Hostile icon = { visible = "[SchemeType.IsHostile]" parentanchor = left position = { -1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_hostile.dds" modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 2 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 9 modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = {0.6 0} } } } icon = { visible = "[SchemeType.IsHostile]" parentanchor = right position = { 1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_hostile.dds" mirror = horizontal modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 6 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 2 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } } # Stained glass header theme - Personal icon = { visible = "[SchemeType.IsPersonal]" parentanchor = left position = { -1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_personal.dds" modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 2 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 9 modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = {0.6 0} } } } icon = { visible = "[SchemeType.IsPersonal]" parentanchor = right position = { 1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_personal.dds" mirror = horizontal modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 6 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 5 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } } # Stained glass header theme - Political icon = { visible = "[SchemeType.IsPolitical]" parentanchor = left position = { -1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_political.dds" modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 2 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 9 modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = {0.6 0} } } } icon = { visible = "[SchemeType.IsPolitical]" parentanchor = right position = { 1 8 } size = { 128 43 } texture = "gfx/interface/window_scheme/scheme_header_theme_political.dds" mirror = horizontal modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" blend_mode = alphaMultiply mirror = horizontal } # Shimmer animation modify_texture = { name = overlay texture = "gfx/interface/component_effects/effect_blue_shine.dds" blend_mode = colordodge translate_uv = { 0.6 0 } } state = { name = right next = left duration = 2 delay = 6 bezier = { .8 .18 .96 .05 } modify_texture = { name = overlay translate_uv = { 0.6 0 } } } state = { name = left next = right duration = 0.0 delay = 5 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } state = { trigger_on_create = yes name = start next = right duration = 0.0 modify_texture = { name = overlay translate_uv = { -0.6 0 } } } } } buttons_window_control = { parentanchor = top|right position = { 0 6 } background = { using = Background_Area_ExtraDark margin = { -5 -5 } } } widget = { name = "scheme_header_text" parentanchor = top|hcenter position = { 0 11 } size = { 676 38 } text_single = { parentanchor = hcenter|vcenter text = "SCHEME_PREDICTION_NAME" default_format = "#high;glow_color:{0,0,0,1}" using = Font_Size_Big using = Font_Type_Flavor align = nobaseline max_width = 400 background = { using = Background_Area_Dark margin = { 70 6 } alpha = 0.8 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_circle.dds" blend_mode = alphaMultiply } } } } header_text = { name = "header_text" parentanchor = bottom|hcenter position = { 0 -15 } default_format = "#high;glow_color:{0,0,0,1}" using = Font_Size_Medium align = nobaseline background = { using = Background_Area_Dark margin = { 40 6 } alpha = 0.8 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_circle.dds" blend_mode = alphaMultiply } } } } ######################################## type change_revert_buttons = vbox { button_round = { name = "change" alwaystransparent = no tooltip = "CHANGE_CHARACTER" using = tooltip_below block "size" {} block "ReplaceVisible" { visible = yes } button_replace = { parentanchor = center block "size_icon" {} block "ReplaceClick" { onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter] } } } button_round = { name = "revert" alwaystransparent = no tooltip = "CANCEL" using = tooltip_below block "size" {} button_cancel = { parentanchor = center block "size_icon" {} block "RevertClick" { # onclick = ? } } block "RevertVisible" { visible = yes } } } type dynamicgridbox_interaction_list = dynamicgridbox { name = "interaction_list" item = { container = { name = "interaction_widget" ignoreinvisible = yes button = { visible = "[Not(InteractionItem.IsMarriageSetting)]" tooltip = "[InteractionItem.GetTooltip]" size = { 317 30 } icon = { name = "interaction_glow" visible = "[InteractionItem.IsHighlighted]" size = { 100% 100% } spriteType = Corneredtiled spriteborder = { 10 10 } texture = "gfx/interface/component_effects/attention_text.dds" color = { 1 0.8 0.6 0.8 } state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 0.8 alpha = 0.4 } state = { name = b next = a using = Animation_Curve_Default duration = 1.5 alpha = 0.1 } } state = { name = _mouse_hierarchy_enter on_start = "[PdxGuiWidget.FindChild('button_favorite').TriggerAnimation('hover_enter')]" } state = { name = _mouse_hierarchy_leave on_start = "[PdxGuiWidget.FindChild('button_favorite').TriggerAnimation('hover_leave')]" } # To get a hover glow for the entire row button_standard_hover = { visible = "[InteractionItem.IsValid]" size = { 100% 100% } } hbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin = { 8 0 } button = { name = "interaction_button" enabled = "[InteractionItem.IsValid]" onclick = "[InteractionItem.OnClick]" layoutpolicy_horizontal = growing layoutpolicy_vertical = expanding hbox = { spacing = 4 icon = { visible = "[InteractionItem.IsCharacterInteraction]" name = "interaction_icon" size = { 30 30 } texture = "[InteractionItem.GetCharacterInteraction.GetIcon( CharacterInteractionMenuWindow.GetCharacter.Self )]" } spacer = { name = "no_icon_margin_adjust" visible = "[Not(InteractionItem.IsCharacterInteraction)]" size = { 0 0 } } textbox = { layoutpolicy_horizontal = growing alwaystransparent = yes raw_text = "[Select_CString( InteractionItem.IsValid, '#clickable', '#weak' )] [InteractionItem.GetName]" align = nobaseline elide = right } } } button_star_frames = { name = "button_favorite" visible = "[InteractionItem.IsCharacterInteraction]" size = { 0 @interaction_item_column_width } onclick = "[InteractionItem.ToggleFavorite]" down = "[InteractionItem.IsFavorite]" inherit_visual_state = no alpha = 0 #tooltip = "CHARACTER_INTERACTION_TOGGLE_FAVORITE" # Interferes with instant tooltips too much state = { name = hover_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default size = { @interaction_item_column_width @interaction_item_column_width } } state = { name = hover_leave alpha = 0 duration = 0.2 using = Animation_Curve_Default size = { 0 @interaction_item_column_width } } } hbox = { enabled = "[InteractionItem.IsValid]" #wrap in button widget to make all align nicely on regular intervals, regardless of actual icon sizes button = { onclick = "[InteractionItem.OnClick]" size = { @interaction_item_column_width @interaction_item_column_width } visible = "[InteractionItem.GetSchemeType.IsValid]" datacontext = "[InteractionItem.GetSchemeType]" widget = { name = "scheme_category_icon" parentanchor = center size = { 30 30 } icon = { visible = "[SchemeType.IsPersonal]" size = {100% 100%} texture = "gfx/interface/icons/scheme_types/icon_scheme_personal.dds" } icon = { visible = "[SchemeType.IsPolitical]" size = {100% 100%} texture = "gfx/interface/icons/scheme_types/icon_scheme_political.dds" } icon = { visible = "[SchemeType.IsHostile]" size = {100% 100%} texture = "gfx/interface/icons/scheme_types/icon_scheme_hostile.dds" } } widget = { name = "odds_icon" visible = "[InteractionItem.HasPreviewSchemeOdds]" parentanchor = bottom|right size = { 20 20 } icon = { size = {120% 120%} texture = "gfx/interface/colors/black.dds" parentanchor = center modify_texture = { texture = "gfx/interface/component_masks/mask_fade_circle.dds" blend_mode = alphaMultiply } } icon = { parentanchor = center size = {100% 100%} framesize = { 26 26 } frame = "[GetSchemeOddsLevelFrameFromValue(InteractionItem.GetPreviewSchemeOdds)]" texture = "gfx/interface/icons/change_indicator_icons_colored_up_good.dds" } } } button = { onclick = "[InteractionItem.OnClick]" visible = "[InteractionItem.ShouldUseExtraIcon]" size = { @interaction_item_column_width @interaction_item_column_width } icon = { size = { 25 25 } name = "extra_icon" texture = "[InteractionItem.GetExtraIcon]" parentanchor = center } } button = { onclick = "[InteractionItem.OnClick]" visible = "[And(Not(InteractionItem.IsMore),Not(InteractionItem.IsPotentialAccept))]" size = { @interaction_item_column_width @interaction_item_column_width } icon = { enabled = "[InteractionItem.IsValid]" size = { @interaction_item_column_width @interaction_item_column_width } name = "dont_accept" texture = "gfx/interface/icons/symbols/icon_cross.dds" } } button = { onclick = "[InteractionItem.OnClick]" visible = "[InteractionItem.HasWarningIcon]" tooltip = "[InteractionItem.GetWarningTooltipDesc]" size = { @interaction_item_column_width @interaction_item_column_width } warning_icon = { name = "warning_icon" size = { 25 25 } parentanchor = center } } } } } button_standard_hover = { visible = "[InteractionItem.IsMarriageSetting]" tooltip = "[InteractionItem.GetCheckboxTooltip]" onclick = "[InteractionItem.OnClickCheckbox]" size = { 317 30 } hbox = { margin_left = 12 button_checkbox_label = { alwaystransparent = yes name = "button" enabled = "[InteractionItem.CheckboxEnabled]" blockoverride "checkbox_label_spacing" { spacing = 10 } blockoverride "checkbox" { alwaystransparent = yes size = { 20 20 } checked = "[EqualTo_int32(InteractionItem.GetCheckboxFrame, '(int32)2')]" } blockoverride "text" { text = "CHARACTER_INTERACTION_ALLOWED_TO_MARRY" } } expand = {} } } } } } type flowcontainer_category_group = flowcontainer { visible = "[InteractionCategoryItem.IsVisible]" direction = vertical flowcontainer = { direction = vertical background = { using = Background_Area alpha = 0.5 margin_bottom = 6 } widget = { name = "category_gridbox_container" size = { 100% 30 } text_single = { name = "category_name" text = "[InteractionCategoryItem.GetName]" align = nobaseline position = { 12 0 } parentanchor = left|vcenter default_format = "#weak_glow" } 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 = "[InteractionCategoryItem.GetCharacterInteractionCategory.GetColor]" alpha = 0.2 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphamultiply mirror = horizontal } } } container = { dynamicgridbox_interaction_list = { datamodel = "[InteractionCategoryItem.GetInteractions]" } } } } } ### CHARACTER LIST types InteractionCharacterList { type vbox_interaction_character_list = vbox { name = "character_list" visible = "[Not(CharacterInteractionConfirmationWindow.HasPickedCharacters)]" vbox = { layoutpolicy_horizontal = expanding text_single = { name = "select_someone_label" text = "[CharacterInteractionConfirmationWindow.GetPrompt]" default_format = "#I" margin = { 0 5 } } } ### List vbox_character_list = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding blockoverride "special_character" { vbox = { datacontext = "[CharacterInteractionConfirmationWindow.GetTopCharacterItem]" visible = "[CharacterInteractionConfirmationWindow.HasTopCharacterItem]" layoutpolicy_horizontal = expanding margin_left = 15 margin_right = 20 widget_character_list_item = { layoutpolicy_horizontal = expanding } } } blockoverride "button_box" {} blockoverride "bottom_right_box" { hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { margin_right = 4 background = { using = Background_Area_Light using = Mask_Rough_Edges margin = { 12 2 } margin_right = -2 } # Candidate Score widget = { visible = "[CharacterInteractionConfirmationWindow.IsSortedBy( 'candidate_score' )]" size = { 63 30 } text_single = { text = "[CharacterInteractionConfirmationWindow.GetCandidateScore( CharacterListItem.Self )|V0]" parentanchor = right|vcenter align = nobaseline background = { margin_left = 30 margin_right = 30 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 = { parentanchor = vcenter size = { 30 30 } texture = "gfx/interface/icons/appointment_score.dds" } tooltipwidget = { widget_value_breakdown_tooltip = { block "score_breakdown" { datacontext = "[CharacterInteractionConfirmationWindow.GetCandidateScoreBreakdown( CharacterListItem.Self )]" } blockoverride "header_text" { text = "CHARACTER_INTERACTION_CANDIDATE_SCORE_TT_HEADING" } } } } # Governor Efficiency widget = { visible = "[CharacterInteractionConfirmationWindow.IsSortedBy( 'governor_efficiency' )]" size = { 65 30 } tooltip = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_TT" text_single = { name = "char_governor_efficiency_value" text = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_VALUE" parentanchor = right|vcenter align = nobaseline background = { margin_left = 30 margin_right = 30 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 = { size = { 30 30 } texture = "gfx/interface/icons/icon_skill_governor_efficiency.dds" } } # Obedience widget = { visible = "[CharacterInteractionConfirmationWindow.IsSortedBy( 'obedience' )]" size = { 65 30 } text_single = { datacontext = "[Character.GetObedienceBreakdown]" text = "[ValueBreakdown.GetFixedPointValue]" default_format = "#value" parentanchor = right|vcenter align = nobaseline background = { margin_left = 30 margin_right = 30 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 } } margin = { 5 0 } tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { widget_value_breakdown_tooltip = {} } } icon = { size = { 30 30 } texture = "gfx/interface/_default_icon_debug.dds" } } # Acceptance hbox = { visible = "[Not( CharacterInteractionConfirmationWindow.IsForcedToAccept )]" margin_left = 15 ### Will Accept ### icon = { visible = "[GreaterThan_CFixedPoint( CharacterInteractionConfirmationWindow.GetAcceptanceValue( CharacterListItem.Self ), '(CFixedPoint)0' )]" size = { 30 30 } texture = "gfx/interface/icons/symbols/icon_check.dds" value = "[CharacterInteractionConfirmationWindow.GetAnswerScore]" tooltip = "[CharacterInteractionConfirmationWindow.GetAcceptanceBreakdown( CharacterListItem.Self )]" } ### Will Not Accept ### icon = { visible = "[LessThanOrEqualTo_CFixedPoint( CharacterInteractionConfirmationWindow.GetAcceptanceValue( CharacterListItem.Self ), '(CFixedPoint)0' )]" size = { 30 30 } texture = "gfx/interface/icons/symbols/icon_cross.dds" value = "[CharacterInteractionConfirmationWindow.GetAnswerScore]" tooltip = "[CharacterInteractionConfirmationWindow.GetAcceptanceBreakdown( CharacterListItem.Self )]" } } } } } } } }