N3OW/N3OW/gui/interaction_templates.gui
2025-10-30 11:25:16 +00:00

3083 lines
72 KiB
Text

@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 )]"
}
}
}
}
}
}
}
}