3314 lines
78 KiB
Text
3314 lines
78 KiB
Text
|
|
######################################################
|
||
|
|
################## PORTRAIT TYPES ####################
|
||
|
|
######################################################
|
||
|
|
|
||
|
|
types PortraitTypes
|
||
|
|
{
|
||
|
|
|
||
|
|
####################################
|
||
|
|
######### MAIN PORTRAITS ###########
|
||
|
|
####################################
|
||
|
|
|
||
|
|
type widget_portrait_frame = widget {
|
||
|
|
size = { 100% 100% }
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Not( Character.IsDiarchOf( Character.GetLiege ) )]"
|
||
|
|
texture = "gfx/portraits/portrait_rank.dds"
|
||
|
|
|
||
|
|
margin_top = -4
|
||
|
|
margin_bottom = -3
|
||
|
|
margin_right = -4
|
||
|
|
margin_left = -3
|
||
|
|
|
||
|
|
framesize = { 196 194 }
|
||
|
|
frame = "[Character.GetPrimaryTitle.GetTierFrame]"
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Character.IsDiarchOf( Character.GetLiege )]"
|
||
|
|
texture = "gfx/portraits/portrait_rank_regency.dds"
|
||
|
|
|
||
|
|
margin_top = 6
|
||
|
|
margin_bottom = -3
|
||
|
|
margin_right = -4
|
||
|
|
margin_left = -3
|
||
|
|
|
||
|
|
framesize = { 196 210 }
|
||
|
|
frame = "[Character.GetPrimaryTitle.GetTierFrame]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# The standard portrait types. CoA, opinion and status icons are included by default; use blockoverride to disable them.
|
||
|
|
|
||
|
|
## Extra small head portrait. These are smaller than we would like, so only use if you really, really have to.
|
||
|
|
type portrait_head_small = widget {
|
||
|
|
size = { 85 90 }
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Solid
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
alpha = 0.2
|
||
|
|
mirror = vertical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
block "empty_character" {}
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.4
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
|
||
|
|
block "empty_character" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 80 100 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture"
|
||
|
|
{
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
mask = "gfx/portraits/portrait_mask_head_small.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 80 88 }
|
||
|
|
parentanchor = center
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_head.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_head_small.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget_portrait_frame = {}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_tiny = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 3 -2 }
|
||
|
|
scale = 0.85
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
block "empty_character" {}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.4
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
mirror = vertical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
alpha = 0.7
|
||
|
|
margin = { -4 -4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
margin = { 4 0 }
|
||
|
|
margin_bottom = 5
|
||
|
|
|
||
|
|
portrait_status_icons_small = {
|
||
|
|
parentanchor = right
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion_small = {
|
||
|
|
name = "tutorial_highlight_character_view_opinion_heir"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
# Portrait unknown glow
|
||
|
|
highlight_icon = {
|
||
|
|
name = "portrait_unknown_head_small_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 3 -9 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds"
|
||
|
|
size = { 80 100 }
|
||
|
|
framesize = { 384 480 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
### Portrait used in the relationship tab
|
||
|
|
# Has extra relationship icon from the view of the current character (not necessarily the player)
|
||
|
|
type portrait_head_small_relationship = widget {
|
||
|
|
size = { 85 90 }
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Solid
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
alpha = 0.2
|
||
|
|
mirror = vertical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
block "empty_character" {}
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.4
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
|
||
|
|
block "empty_character" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 80 100 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture"
|
||
|
|
{
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
mask = "gfx/portraits/portrait_mask_head_small.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 80 88 }
|
||
|
|
parentanchor = bottom
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_head.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_head_small.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget_portrait_frame = {}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_tiny = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 3 -2 }
|
||
|
|
scale = 0.85
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
block "empty_character" {}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.4
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
mirror = vertical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
alpha = 0.7
|
||
|
|
margin = { -4 -4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
parentanchor = top|right
|
||
|
|
|
||
|
|
block "scripted_relation_status_icons"
|
||
|
|
{
|
||
|
|
using = Portrait_Relation_Icons_Character_Window
|
||
|
|
}
|
||
|
|
|
||
|
|
margin_right = 2
|
||
|
|
|
||
|
|
blockoverride "icon_size"
|
||
|
|
{
|
||
|
|
size = { 24 24 }
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 2 2 }
|
||
|
|
alpha = 0.8
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_glow.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 85 68 }
|
||
|
|
scissor = yes
|
||
|
|
parentanchor = bottom
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
|
||
|
|
margin = { 4 0 }
|
||
|
|
margin_bottom = 4
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
parentanchor = right
|
||
|
|
spacing = 1
|
||
|
|
|
||
|
|
margin_right = 2
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 2 2 }
|
||
|
|
}
|
||
|
|
|
||
|
|
# sorted by priority, highest prio at the bottom
|
||
|
|
block "status_icons" {
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "relation_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetPlayerDynastyRelationFrame]"
|
||
|
|
tooltip = "[Character.GetPlayerDynastyRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "incapable"
|
||
|
|
visible = "[Character.IsIncapable]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/incapable_small.dds"
|
||
|
|
tooltip = "trait_incapable"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "inspiration_status_icons"
|
||
|
|
{
|
||
|
|
has_inspiration_status_icon = {
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration_small.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
has_completed_inspiration_status_icon = {
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration_complete_small.dds"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "can_be_punished"
|
||
|
|
visible = "[Character.CanBePunished]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/punishment_small.dds"
|
||
|
|
tooltip = "[Character.PunishmentTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hook"
|
||
|
|
visible = "[Character.PlayerHasHooksOrHookableSecrets]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/hook_secret_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetHookOrHookableSecretsFrame]"
|
||
|
|
tooltip = "[Character.HookTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "powerful_vassal"
|
||
|
|
visible = "[Character.IsMyPowerfulVassal]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_vassal_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetPowerfulVassalFrame]"
|
||
|
|
tooltip = "[Character.GetPowerfulVassalTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "tributary"
|
||
|
|
datacontext = "[Character.GetTributaryContract]"
|
||
|
|
visible = "[Character.IsTributaryOf(GetPlayer)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "[Character.GetTributaryContract.GetPortraitIconSmall]"
|
||
|
|
tooltip = "FRAME_RELATION_TRIBUTARY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "obedient_to_someone_else"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord)))]"
|
||
|
|
|
||
|
|
size = { 14 14 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/obedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_me"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_someone_else"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord))))]"
|
||
|
|
size = { 14 14 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
datacontext = "[Character]"
|
||
|
|
datacontext = "[GetSituation('dynastic_cycle')]"
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "advancement_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_ADVANCEMENT_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "expansion_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_EXPANSION_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "conservative_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_CONSERVATIVE_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "pro_hegemon_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_PRO_HEGEMON_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "undecided_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_UNDECIDED_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "unpredictable"
|
||
|
|
visible = "[Character.IsOtherPlayer]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/unpredictable.dds"
|
||
|
|
|
||
|
|
tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "head_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]"
|
||
|
|
tooltip = "[Character.GetDynastyHeadRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "playable_icon"
|
||
|
|
visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/heir_small.dds"
|
||
|
|
tooltip = "[Character.GetPlayableFrameTooltip]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "dead_icon"
|
||
|
|
{
|
||
|
|
icon = {
|
||
|
|
name = "is_dead"
|
||
|
|
visible = "[Character.IsDeadAndValid]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "[Character.GetDeathReasonIcon]"
|
||
|
|
tooltip = "CHARACTER_DEAD_TOOLTIP"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion_small = {
|
||
|
|
name = "tutorial_highlight_character_view_opinion_heir"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
# Portrait unknown glow
|
||
|
|
highlight_icon = {
|
||
|
|
name = "portrait_unknown_head_small_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 3 -9 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds"
|
||
|
|
size = { 80 100 }
|
||
|
|
framesize = { 384 480 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible"
|
||
|
|
{
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_head_small_legend = widget {
|
||
|
|
size = { 95 120 }
|
||
|
|
|
||
|
|
background = {
|
||
|
|
texture = "gfx/interface/window_legend_chronicle/marginalia_portrait_gold_bg.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
datacontext = "[Legend.GetProtagonist]"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 90 120 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
shaderfile = "gfx/FX/gui_painterly_portrait.shader"
|
||
|
|
pop_out = yes # Painterly shader override for `pop_out` property, it now means "add outline"
|
||
|
|
pop_out_v = 1.2 # Painterly shader override for `pop_out_v` property, it now means "outline width"
|
||
|
|
grayscale = no # Dead people should be painted non-gray
|
||
|
|
|
||
|
|
block "portrait_texture"
|
||
|
|
{
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
mask = "gfx/portraits/portrait_mask_head.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 80 88 }
|
||
|
|
parentanchor = center
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_head.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_head_small.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
size = { 95 120 }
|
||
|
|
texture = "[GetIllustration( 'legend_chronicle_portrait_small_frame' ).GetTexture( Legend.MakeScope )]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_tiny = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 3 -2 }
|
||
|
|
scale = 0.85
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
block "empty_character" {}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.4
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
mirror = vertical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
alpha = 0.7
|
||
|
|
margin = { -4 -4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
margin = { 4 0 }
|
||
|
|
margin_bottom = 5
|
||
|
|
|
||
|
|
portrait_status_icons_small = {
|
||
|
|
parentanchor = right
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion_small = {
|
||
|
|
name = "tutorial_highlight_character_view_opinion_heir"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Portrait unknown glow
|
||
|
|
highlight_icon = {
|
||
|
|
name = "portrait_unknown_head_small_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 3 -9 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds"
|
||
|
|
size = { 80 100 }
|
||
|
|
framesize = { 384 480 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
## Standard head portrait
|
||
|
|
type portrait_head = widget {
|
||
|
|
size = { 110 120 }
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Solid
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
|
||
|
|
block "empty_character" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 100 125 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture" {
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
mask = "gfx/portraits/portrait_mask_head.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100 118 }
|
||
|
|
parentanchor = bottom
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_head.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_head.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget_portrait_frame = {}
|
||
|
|
|
||
|
|
portrait_status_icons_small = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -7 -8 }
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_tiny = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 3 -2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
position = { 1 -4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
visible = "[Not( Character.HasLandedTitles )]"
|
||
|
|
size = { 100% 100%}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
margin = { -4 -4 }
|
||
|
|
alpha = 0.5
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
texture = "gfx/portraits/portrait_frame.dds"
|
||
|
|
using = Color_Grey
|
||
|
|
alpha = 0.7
|
||
|
|
margin = { -4 -4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_head_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 3 -7 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_head.dds"
|
||
|
|
size = { 98 125 }
|
||
|
|
framesize = { 384 480 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
## Standard portrait from shoulders up
|
||
|
|
type portrait_shoulders = widget {
|
||
|
|
|
||
|
|
size = { 125 160 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
block "portrait_glows"
|
||
|
|
{
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
|
||
|
|
block "portrait_size"
|
||
|
|
{
|
||
|
|
size = { 145 175 }
|
||
|
|
}
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture"
|
||
|
|
{
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_shoulders', 'camera_shoulders', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
mask = "gfx/portraits/portrait_mask_shoulders.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_shoulders.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_shoulders.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_status_icons" {
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { 0 -3 }
|
||
|
|
scale = 0.85
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 2 3 }
|
||
|
|
alpha = 0.8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_small_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { -5 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
position = { 0 -2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
position = { -8 -14 }
|
||
|
|
size = { 141 174 }
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_shoulders.dds"
|
||
|
|
framesize = { 471 589 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
## Standard torso from waist up
|
||
|
|
type portrait_torso = widget {
|
||
|
|
size = { 165 200 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 195 225 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture"
|
||
|
|
{
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_torso', 'camera_torso', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_mask"
|
||
|
|
{
|
||
|
|
mask = "gfx/portraits/portrait_mask_torso.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_torso.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_torso.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_status_icons" {
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 43 -6 }
|
||
|
|
scale = 0.85
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 2 3 }
|
||
|
|
alpha = 0.8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_small_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { -2 1 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
position = { 4 -2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_torso_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 0 -12 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown.dds"
|
||
|
|
size = { 195 225 }
|
||
|
|
framesize = { 554 780 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
## Standard full body portrait
|
||
|
|
type portrait_body = widget {
|
||
|
|
size = { 210 300 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 240 330 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture" {
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
block "mask" {
|
||
|
|
mask = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
}
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "prison" {
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_body.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_icons" {
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 60 -5 }
|
||
|
|
scale = 0.85
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 3 3 }
|
||
|
|
alpha = 0.8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_medium_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { -2 4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
block "position_portrait_opinion_body" {
|
||
|
|
position = { 0 -2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_body_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 0 -15 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds"
|
||
|
|
size = { 240 330 }
|
||
|
|
framesize = { 564 780 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
## Standard full body portrait
|
||
|
|
type portrait_body_large = widget {
|
||
|
|
size = { 378 540 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 432 594 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture" {
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
block "mask" {
|
||
|
|
mask = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
}
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "prison" {
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_body.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_icons" {
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { 64 -4 }
|
||
|
|
scale = 0.85
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 3 3 }
|
||
|
|
alpha = 0.8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_medium_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { -2 4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
block "position_portrait_opinion_body" {
|
||
|
|
position = { 0 -2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_body_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 0 -15 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds"
|
||
|
|
size = { 240 330 }
|
||
|
|
framesize = { 564 780 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
####################################
|
||
|
|
######## SPECIAL PORTRAITS #########
|
||
|
|
####################################
|
||
|
|
|
||
|
|
type portrait_map = widget {
|
||
|
|
size = { 85 90 }
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
visible = "[Not(Character.IsImprisoned)]"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 80 100 }
|
||
|
|
using = portrait_base
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_head', 'camera_head', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_head.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_character_view_main = margin_widget {
|
||
|
|
size = { 300 300 }
|
||
|
|
margin = { 3 3 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
blockoverride "glow_local_player" {}
|
||
|
|
blockoverride "glow_selected" {}
|
||
|
|
blockoverride "grayscale" {}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 380 421 }
|
||
|
|
position = { -30 10 }
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
visible = "[Not( And( Character.GetGovernment.HasGovernmentFlag( 'government_is_herder' ), Character.HasLandedTitles) )]"
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_character_view_main', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
position = { 0 20 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_character_view.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 1000 421 }
|
||
|
|
position = { -30 10 }
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
tooltip_offset = { -310 0 }
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_character_view_main', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
visible = "[And(Character.Character.GetGovernment.HasGovernmentFlag( 'government_is_herder', Character.HasLandedTitles)]"
|
||
|
|
|
||
|
|
block "prison_bars" {
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
position = { 0 20 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_character_view.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -60 0 }
|
||
|
|
|
||
|
|
block "portrait_status_icons" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "opinion_box"
|
||
|
|
{
|
||
|
|
portrait_opinion = {
|
||
|
|
position = { -20 0 }
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
|
||
|
|
block "portrait_opinion" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_character_view_spouse = margin_widget {
|
||
|
|
size = { 320 300 }
|
||
|
|
margin = { 3 3 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 350 338 }
|
||
|
|
position = { 0 10 }
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment( Character.Self ), 'camera_character_view_spouse', Select_CString( Character.IsDiarchOf( Character.GetLiege ), 'chancellor', 'idle' ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
position = { 0 20 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_character_view.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -53 0 }
|
||
|
|
}
|
||
|
|
|
||
|
|
coa_realm_small = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { 0 5 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_event = widget {
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 500 490 }
|
||
|
|
parentanchor = bottom
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hovered"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 70% 95% }
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
|
||
|
|
block "highlight_visible" {
|
||
|
|
visible = no
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
duration = 0.1
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
duration = 0.3
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 0
|
||
|
|
delay = 0.05
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 500 558 }
|
||
|
|
using = portrait_base
|
||
|
|
parentanchor = hcenter|bottom
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_event.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_event_duel = widget {
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 930 490 }
|
||
|
|
parentanchor = bottom
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hovered"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 40% 95% }
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
|
||
|
|
block "highlight_visible" {
|
||
|
|
visible = no
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
duration = 0.1
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
duration = 0.3
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 0
|
||
|
|
delay = 0.05
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 930 490 }
|
||
|
|
using = portrait_base
|
||
|
|
parentanchor = hcenter|bottom
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_event.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_event_tournament = widget {
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 500 490 }
|
||
|
|
parentanchor = bottom
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hovered"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 70% 95% }
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
|
||
|
|
block "highlight_visible" {
|
||
|
|
visible = no
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
duration = 0.1
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
duration = 0.3
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 0
|
||
|
|
delay = 0.05
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 1150 900 }
|
||
|
|
using = portrait_base
|
||
|
|
parentanchor = hcenter|bottom
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_event_standard', 'environment_event_standard', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_event.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
visible = "[Character.IsDeadAndValid]"
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -80 -30 }
|
||
|
|
size = { 30 30 }
|
||
|
|
|
||
|
|
texture = "[Character.GetDeathReasonIcon]"
|
||
|
|
|
||
|
|
tooltip = "CHARACTER_DEAD_TOOLTIP"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_event_small = widget {
|
||
|
|
size = { 125 160 }
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hovered"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 100% 100% }
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
|
||
|
|
block "highlight_visible" {
|
||
|
|
visible = no
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
duration = 0.1
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
duration = 0.3
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 0
|
||
|
|
delay = 0.05
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_shoulders = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
blockoverride "portrait_size"
|
||
|
|
{
|
||
|
|
size = { 100% 100% }
|
||
|
|
}
|
||
|
|
|
||
|
|
blockoverride "portrait_glows" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_event_tiny = widget {
|
||
|
|
|
||
|
|
size = { 85 90 }
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hovered"
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 100% 100% }
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
|
||
|
|
block "highlight_visible" {
|
||
|
|
visible = no
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
duration = 0.1
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
duration = 0.3
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
alpha = 0
|
||
|
|
delay = 0.05
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_shoulders = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
blockoverride "portrait_size"
|
||
|
|
{
|
||
|
|
size = { 100% 100% }
|
||
|
|
}
|
||
|
|
blockoverride "portrait_glows" {}
|
||
|
|
blockoverride "coa" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_scheme_hud = widget {
|
||
|
|
size = { 90 112 }
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
alwaystransparent = yes
|
||
|
|
parentanchor = center
|
||
|
|
position = { 0 -9 }
|
||
|
|
size = { 90 112 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetPortrait('environment_shoulders', 'camera_scheme_widget_microscopic', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
|
||
|
|
mask = "gfx/portraits/scheme_hud_portrait_mask.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
tooltip_visible = no
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_shoulders.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_shoulders.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_council = widget {
|
||
|
|
size = { 260 285 }
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
block "portrait_size"
|
||
|
|
{
|
||
|
|
size = { 260 285 }
|
||
|
|
}
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_council', 'camera_council', CouncilPositionType.GetPortraitAnimation, PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_council.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "mask" {
|
||
|
|
mask = "gfx/portraits/portrait_mask_council.dds"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_council_glow"
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 2 -37 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds"
|
||
|
|
size = { 239 312 }
|
||
|
|
framesize = { 564 780 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_regency = widget {
|
||
|
|
size = { 260 285 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
position = { 0 4 }
|
||
|
|
block "portrait_size"
|
||
|
|
{
|
||
|
|
size = { 260 320 }
|
||
|
|
}
|
||
|
|
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait(Illustration.GetEnvironment(Character.Self), 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_torso.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "mask" {
|
||
|
|
mask = "gfx/portraits/portrait_mask_council.dds"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_status_icons = {
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -54 -10 }
|
||
|
|
}
|
||
|
|
|
||
|
|
coa_realm_small_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|right
|
||
|
|
position = { -4 -4 }
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_opinion = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
position = { 0 -10 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_war_overview = margin_widget {
|
||
|
|
size = { 240 300 }
|
||
|
|
allow_outside = yes
|
||
|
|
|
||
|
|
margin = { 3 3 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
size = { 320 380 }
|
||
|
|
|
||
|
|
alwaystransparent = yes
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
size = { 420 632 }
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_war_overview', 'camera_war_overview', Select_CString(WarParticipantItem.IsAttacker, 'war_attacker', 'war_defender'), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_torso.dds"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
|
||
|
|
block "portrait_transformation"
|
||
|
|
{
|
||
|
|
portrait_scale = { 1 1 }
|
||
|
|
}
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 80% }
|
||
|
|
position = { 30 160 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_body.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_character_view.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
### Bottom left HUD portrait
|
||
|
|
type portrait_hud = portrait_button {
|
||
|
|
name = "tutorial_highlight_bottom_left_portrait_button"
|
||
|
|
visible = "[Not(GetVariableSystem.Exists( 'lifestyle_open' ))]"
|
||
|
|
size = { 350 350 }
|
||
|
|
|
||
|
|
gfxtype = portraitbuttongfx
|
||
|
|
shaderfile = "gfx/FX/jomini/gui_portrait.shader"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _mouse_enter
|
||
|
|
on_start = "[Character.OnMouseEnter]"
|
||
|
|
scale = 1.35
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
duration = 0.05
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _mouse_leave
|
||
|
|
on_start = "[Character.OnMouseLeave]"
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
duration = 0.05
|
||
|
|
scale = 1.3
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _mouse_release
|
||
|
|
start_sound = {
|
||
|
|
soundeffect = "event:/SFX/UI/Character/sfx_ui_character_portrait_select"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
onclick = "[DefaultOnCharacterClick(Character.GetID)]"
|
||
|
|
onrightclick = "[DefaultOnCharacterRightClick(Character.GetID)]"
|
||
|
|
button_ignore = none
|
||
|
|
|
||
|
|
clicksound = "event:/SFX/UI/Character/sfx_ui_character_portrait_select"
|
||
|
|
oversound = "event:/SFX/UI/Character/sfx_ui_character_portrait_pointer_over"
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_hud', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_blank.dds"
|
||
|
|
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_shoulders.dds"
|
||
|
|
position = { 25 0 }
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_head.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
rotate_uv = 180
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
using = tooltip_es
|
||
|
|
# tooltip_visible = "[Not(IsInteractionMenuOpenForCharacter(Character.GetID))]"
|
||
|
|
tooltip_visible = no
|
||
|
|
|
||
|
|
tooltipwidget = {
|
||
|
|
cooltip_type = {
|
||
|
|
blockoverride "interaction_info"
|
||
|
|
{
|
||
|
|
text = "CHARACTER_TOOLTIP_INSTRUCTION"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
tooltip_offset = { -10 0 }
|
||
|
|
tooltip_verticalbehavior = slide
|
||
|
|
tooltip_horizontalbehavior = mirror
|
||
|
|
}
|
||
|
|
|
||
|
|
### Lifestyles portrait
|
||
|
|
type portrait_lifestyles = portrait_button {
|
||
|
|
size = { 650 1000 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
tooltip_visible = no
|
||
|
|
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_blank.dds"
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
|
||
|
|
duration = 0.15
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
|
||
|
|
duration = 0.15
|
||
|
|
alpha = 0
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
name = "hovered"
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
### Intent selection portrait
|
||
|
|
type portrait_intent_selection = portrait_button {
|
||
|
|
size = { 450 500 }
|
||
|
|
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
tooltip_visible = no
|
||
|
|
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
onclick = "[DefaultOnCharacterClick(Character.GetID)]"
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', ActivityIntent.GetAnimation( Character.Self ), PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
mask = "gfx/portraits/portrait_mask_blank.dds"
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _show
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
|
||
|
|
duration = 0.15
|
||
|
|
alpha = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
state = {
|
||
|
|
name = _hide
|
||
|
|
using = Animation_Curve_Default
|
||
|
|
|
||
|
|
duration = 0.15
|
||
|
|
alpha = 0
|
||
|
|
}
|
||
|
|
|
||
|
|
background = {
|
||
|
|
name = "hovered"
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
### Bottom left HUD portrait for the activity planner
|
||
|
|
type portrait_activity_planner = portrait_button {
|
||
|
|
size = { 250 500 }
|
||
|
|
|
||
|
|
gfxtype = portraitbuttongfx
|
||
|
|
shaderfile = "gfx/FX/jomini/gui_portrait.shader"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
button_ignore = both
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_event_left', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_blank.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
### Bottom left HUD portrait for the travel planner (might merge with the activity planner)
|
||
|
|
type portrait_travel_planner = portrait_button {
|
||
|
|
size = { 250 500 }
|
||
|
|
|
||
|
|
gfxtype = portraitbuttongfx
|
||
|
|
shaderfile = "gfx/FX/jomini/gui_portrait.shader"
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
button_ignore = both
|
||
|
|
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_hud', 'camera_event_left', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
mask = "gfx/portraits/portrait_mask_blank.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_activity_locale_window = widget {
|
||
|
|
size = { 210 300 }
|
||
|
|
|
||
|
|
widget = {
|
||
|
|
size = { 100% 100% }
|
||
|
|
using = Portrait_Background_Glows
|
||
|
|
}
|
||
|
|
|
||
|
|
portrait_button = {
|
||
|
|
parentanchor = bottom|hcenter
|
||
|
|
size = { 240 330 }
|
||
|
|
using = portrait_base
|
||
|
|
|
||
|
|
block "portrait_texture" {
|
||
|
|
portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]"
|
||
|
|
}
|
||
|
|
block "mask" {
|
||
|
|
mask = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
}
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
|
||
|
|
block "prison" {
|
||
|
|
highlight_icon = {
|
||
|
|
name = "prison_bars"
|
||
|
|
visible = "[Character.IsImprisoned]"
|
||
|
|
visible_at_creation = no
|
||
|
|
size = { 100% 100% }
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/portrait_prison_body.dds"
|
||
|
|
|
||
|
|
modify_texture = {
|
||
|
|
name = "mask"
|
||
|
|
texture = "gfx/portraits/portrait_mask_body.dds"
|
||
|
|
spriteType = Corneredstretched
|
||
|
|
blend_mode = alphamultiply
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button" {}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "coa" {
|
||
|
|
coa_realm_medium_crown = {
|
||
|
|
visible = "[Character.HasLandedTitles]"
|
||
|
|
parentanchor = bottom|left
|
||
|
|
position = { -2 4 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#portrait unknown glow
|
||
|
|
button = {
|
||
|
|
name = "portrait_unknown_body_glow"
|
||
|
|
parentanchor = center
|
||
|
|
position = { 0 -15 }
|
||
|
|
gfxtype = framedbuttongfx
|
||
|
|
effectname = "NoHighlight"
|
||
|
|
texture = "gfx/portraits/unknown_portraits/button_unknown_small.dds"
|
||
|
|
size = { 240 330 }
|
||
|
|
framesize = { 564 780 }
|
||
|
|
upframe = 1
|
||
|
|
overframe = 2
|
||
|
|
|
||
|
|
block "glow_visible" {
|
||
|
|
visible = "[Not(Character.IsValid)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_flip" {}
|
||
|
|
|
||
|
|
block "onclick" {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
####################################
|
||
|
|
########### ACCESSORIES ############
|
||
|
|
####################################
|
||
|
|
|
||
|
|
## Opinion box for portraits
|
||
|
|
type portrait_opinion = flowcontainer {
|
||
|
|
name = "tutorial_highlight_portrait_opinion"
|
||
|
|
visible = "[And(Character.IsValid, And(Character.IsAlive, Not(Character.IsLocalPlayer)))]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
|
||
|
|
background = {
|
||
|
|
name = "portrait_opinion_bg"
|
||
|
|
texture = "gfx/interface/component_tiles/solid_black_label.dds"
|
||
|
|
spritetype = Corneredtiled
|
||
|
|
spriteborder = { 20 20 }
|
||
|
|
margin = { 3 1 }
|
||
|
|
texture_density = 2
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
block "dread_logic" {
|
||
|
|
visible = "[Character.ShouldShowDreadEffectIcon]"
|
||
|
|
frame = "[Character.GetPlayerDreadEffectIconFrame]"
|
||
|
|
tooltip = "[Character.GetPlayerDreadEffectTooltip]"
|
||
|
|
}
|
||
|
|
name = "dread"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/dread_values.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "historical_info_widget"
|
||
|
|
visible = "[GreaterThan_CFixedPoint( Character.MakeScope.Var('show_historical_gui').GetValue, '(CFixedPoint)0' )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/historical_character.dds"
|
||
|
|
tooltip = "HISTORICAL_CHARACTER_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
text_single = {
|
||
|
|
name = "tutorial_highlight_character_view_opinion"
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
max_width = 45
|
||
|
|
align = nobaseline
|
||
|
|
margin = { 3 0 }
|
||
|
|
tooltipwidget = character_opinion_tooltip
|
||
|
|
using = tooltip_es
|
||
|
|
default_format = "#true_white"
|
||
|
|
|
||
|
|
block "opinion_text" {
|
||
|
|
text = "[Character.GetOpinionOf( GetPlayer )|=]"
|
||
|
|
fonttintcolor = "[Character.GetOpinionOfTint( GetPlayer )]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_opinion_small = flowcontainer {
|
||
|
|
#name = "tutorial_highlight_portrait_opinion"
|
||
|
|
visible = "[And(Character.IsValid, And(Character.IsAlive, Not(Character.IsLocalPlayer)))]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
margin_right = 2
|
||
|
|
|
||
|
|
background = {
|
||
|
|
name = "portrait_opinion_bg"
|
||
|
|
texture = "gfx/interface/component_tiles/solid_black_label.dds"
|
||
|
|
spritetype = Corneredtiled
|
||
|
|
spriteborder = { 20 20 }
|
||
|
|
margin = { 2 2 }
|
||
|
|
texture_density = 2
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "dread"
|
||
|
|
visible = "[Character.ShouldShowDreadEffectIcon]"
|
||
|
|
size = { 16 16 }
|
||
|
|
texture = "gfx/interface/icons/portraits/dread_values.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = "[Character.GetPlayerDreadEffectIconFrame]"
|
||
|
|
tooltip = "[Character.GetPlayerDreadEffectTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
text_single = {
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
max_width = 45
|
||
|
|
align = nobaseline
|
||
|
|
fontsize = 13
|
||
|
|
margin = { 3 0 }
|
||
|
|
|
||
|
|
tooltipwidget = character_opinion_tooltip
|
||
|
|
using = tooltip_es
|
||
|
|
default_format = "#true_white"
|
||
|
|
|
||
|
|
block "opinion_text" {
|
||
|
|
text = "[Character.GetOpinionOf( GetPlayer )|=]"
|
||
|
|
fonttintcolor = "[Character.GetOpinionOfTint( GetPlayer )]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type has_inspiration_status_icon = icon
|
||
|
|
{
|
||
|
|
name = "has_inspiration"
|
||
|
|
visible = "[Character.HasInspiration]"
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration.dds"
|
||
|
|
tooltip = "CHARACTER_HAS_INSPIRATION_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
type has_completed_inspiration_status_icon = icon
|
||
|
|
{
|
||
|
|
name = "has_completed_inspiration"
|
||
|
|
visible = "[And( Character.HasCompletedAnInspiration, Not( Character.HasInspiration ) )]" # Has an inspiration takes priority
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration_complete.dds"
|
||
|
|
tooltip = "CHARACTER_HAS_COMPLETED_AN_INSPIRATION_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
## Status icons, shown in the bottom right on portraits
|
||
|
|
type portrait_status_icons_small = widget {
|
||
|
|
size = { 16 60 }
|
||
|
|
scissor = yes
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
parentanchor = bottom
|
||
|
|
spacing = 1
|
||
|
|
|
||
|
|
background = {
|
||
|
|
using = Background_Area_Dark
|
||
|
|
margin = { 2 2 }
|
||
|
|
}
|
||
|
|
|
||
|
|
# sorted by priority, highest prio at the bottom
|
||
|
|
block "status_icons" {
|
||
|
|
|
||
|
|
block "scripted_relation_status_icons"
|
||
|
|
{
|
||
|
|
using = Portrait_Relation_Icons_Small
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "relation_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetPlayerDynastyRelationFrame]"
|
||
|
|
tooltip = "[Character.GetPlayerDynastyRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hostage_icon"
|
||
|
|
visible = "[Character.IsHostage]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/hostage_small.dds"
|
||
|
|
tooltip = "[Character.GetHostageTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "traveling_icon"
|
||
|
|
visible = "[And(Character.IsTraveling, Character.GetTravelPlan.IsInTransit)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/travel_small.dds"
|
||
|
|
tooltip = "CHARACTER_TRAVELING_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "incapable"
|
||
|
|
visible = "[Character.IsIncapable]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/incapable_small.dds"
|
||
|
|
tooltip = "CHARACTER_INCAPABLE_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "inspiration_status_icons"
|
||
|
|
{
|
||
|
|
has_inspiration_status_icon = {
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration_small.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
has_completed_inspiration_status_icon = {
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/inspiration_complete_small.dds"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "can_be_punished"
|
||
|
|
visible = "[Character.CanBePunished]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/punishment_small.dds"
|
||
|
|
tooltip = "[Character.PunishmentTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hook"
|
||
|
|
visible = "[Character.PlayerHasHooksOrHookableSecrets]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/hook_secret_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetHookOrHookableSecretsFrame]"
|
||
|
|
tooltip = "[Character.HookTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "powerful_vassal"
|
||
|
|
visible = "[Character.IsMyPowerfulVassal]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_vassal_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetPowerfulVassalFrame]"
|
||
|
|
tooltip = "[Character.GetPowerfulVassalTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "tributary"
|
||
|
|
datacontext = "[Character.GetTributaryContract]"
|
||
|
|
visible = "[Character.IsTributaryOf(GetPlayer)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "[Character.GetTributaryContract.GetPortraitIconSmall]"
|
||
|
|
tooltip = "FRAME_RELATION_TRIBUTARY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "obedient_to_me"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Character.IsObedientTo(GetPlayer), Not(Character.IsPlayer))))]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/obedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "obedient_to_someone_else"
|
||
|
|
visible = "[And(Not(Character.IsPlayer),And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord))))]"
|
||
|
|
|
||
|
|
size = { 14 14 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/obedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_me"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_someone_else"
|
||
|
|
visible = "[And( Not(Character.IsPlayer), And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord)))))]"
|
||
|
|
size = { 14 14 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient_small.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
flowcontainer = {
|
||
|
|
visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
direction = vertical
|
||
|
|
datacontext = "[Character]"
|
||
|
|
datacontext = "[GetSituation('dynastic_cycle')]"
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "advancement_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_ADVANCEMENT_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "expansion_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_EXPANSION_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "conservative_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_CONSERVATIVE_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "pro_hegemon_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_PRO_HEGEMON_MOVEMENT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "undecided_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned_small.dds"
|
||
|
|
|
||
|
|
tooltip = "FRAME_UNDECIDED_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "unpredictable_small"
|
||
|
|
visible = "[Character.IsOtherPlayer]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/unpredictable_small.dds"
|
||
|
|
|
||
|
|
tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "powerful_family"
|
||
|
|
visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsPowerful ), Character.IsVassalOf( GetPlayer ) )]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_family_head_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
tooltip = "FRAME_RELATION_POWERFUL_FAMILY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "dominant_family"
|
||
|
|
visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsDominant ), Character.IsVassalOf( GetPlayer ) )]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_family_head_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = 2
|
||
|
|
tooltip = "FRAME_RELATION_DOMINANT_FAMILY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "head_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation_small.dds"
|
||
|
|
framesize = { 28 28 }
|
||
|
|
frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]"
|
||
|
|
tooltip = "[Character.GetDynastyHeadRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "playable_icon"
|
||
|
|
visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]"
|
||
|
|
size = { 14 14 }
|
||
|
|
texture = "gfx/interface/icons/portraits/heir_small.dds"
|
||
|
|
tooltip = "[Character.GetPlayableFrameTooltip]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "dead_icon"
|
||
|
|
{
|
||
|
|
icon = {
|
||
|
|
name = "is_dead"
|
||
|
|
visible = "[Character.IsDeadAndValid]"
|
||
|
|
size = { 14 14 }
|
||
|
|
|
||
|
|
texture = "[Character.GetDeathReasonIcon]"
|
||
|
|
tooltip = "CHARACTER_DEAD_TOOLTIP"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type portrait_status_icons = flowcontainer {
|
||
|
|
ignoreinvisible = yes
|
||
|
|
visible = "[Character.IsValid]"
|
||
|
|
|
||
|
|
block "direction"
|
||
|
|
{
|
||
|
|
direction = vertical
|
||
|
|
}
|
||
|
|
|
||
|
|
# sorted by priority, highest prio at the bottom
|
||
|
|
block "status_icons" {
|
||
|
|
|
||
|
|
block "scripted_relation_status_icons"
|
||
|
|
{
|
||
|
|
using = Portrait_Relation_Icons
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "relation_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetPlayerDynastyRelationFrame, '(int32)9')]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = "[Character.GetPlayerDynastyRelationFrame]"
|
||
|
|
tooltip = "[Character.GetPlayerDynastyRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hostage_icon"
|
||
|
|
visible = "[Character.IsHostage]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/hostage.dds"
|
||
|
|
tooltip = "[Character.GetHostageTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "traveling_icon"
|
||
|
|
visible = "[And(Character.IsTraveling, Character.GetTravelPlan.IsInTransit)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/travel.dds"
|
||
|
|
tooltip = "CHARACTER_TRAVELING_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "not_at_home_icon"
|
||
|
|
visible = "[And( Not( Character.IsTraveling ), Character.IsAwayFromHome )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/travel.dds"
|
||
|
|
tooltip = "CHARACTER_AWAY_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "incapable"
|
||
|
|
visible = "[Character.IsIncapable]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/incapable.dds"
|
||
|
|
tooltip = "CHARACTER_INCAPABLE_TOOLTIP"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "inspiration_status_icons"
|
||
|
|
{
|
||
|
|
has_inspiration_status_icon = {
|
||
|
|
size = { 20 20 }
|
||
|
|
}
|
||
|
|
has_completed_inspiration_status_icon = {
|
||
|
|
size = { 20 20 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "can_be_punished"
|
||
|
|
visible = "[Character.CanBePunished]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/punishment.dds"
|
||
|
|
tooltip = "[Character.PunishmentTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "hook"
|
||
|
|
visible = "[Character.PlayerHasHooksOrHookableSecrets]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/hook_secret.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = "[Character.GetHookOrHookableSecretsFrame]"
|
||
|
|
tooltip = "[Character.HookTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "liege_icon"
|
||
|
|
visible = "[And( ObjectsEqual( GetPlayer.GetLiege, Character.Self ) , Not( GetPlayer.IsIndependentRuler ) ) ]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/liege.dds"
|
||
|
|
tooltip = "FRAME_RELATION_MY_LIEGE"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "powerful_vassal"
|
||
|
|
visible = "[Character.IsMyPowerfulVassal]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_vassal.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = "[Character.GetPowerfulVassalFrame]"
|
||
|
|
tooltip = "[Character.GetPowerfulVassalTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "tributary"
|
||
|
|
datacontext = "[Character.GetTributaryContract]"
|
||
|
|
visible = "[Character.IsTributaryOf(GetPlayer)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "[Character.GetTributaryContract.GetPortraitIcon]"
|
||
|
|
tooltip = "FRAME_RELATION_TRIBUTARY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "obedient_to_me"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Character.IsObedientTo(GetPlayer), Not(Character.IsPlayer))))]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/obedient.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "obedient_to_someone_else"
|
||
|
|
visible = "[And(Not(Character.IsPlayer),And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Character.IsObedientTo(Character.GetOverlord))))]"
|
||
|
|
size = { 20 20 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/obedient.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_me"
|
||
|
|
visible = "[And(Character.UsesObedience,And(Character.GetOverlord.IsLocalPlayer, And(Not(Character.IsObedientTo(GetPlayer)), Not(Character.IsPlayer))))]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "disobedient_to_someone_else"
|
||
|
|
visible = "[And( Not(Character.IsPlayer), And(Character.UsesObedience,And(Not(Character.GetOverlord.IsLocalPlayer),Not(Character.IsObedientTo(Character.GetOverlord)))))]"
|
||
|
|
size = { 20 20 }
|
||
|
|
enabled = no
|
||
|
|
texture = "gfx/interface/icons/portraits/disobedient.dds"
|
||
|
|
tooltipwidget = widget_obedience_tooltip
|
||
|
|
}
|
||
|
|
|
||
|
|
container_dynastic_cycle_group_icons = {}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "unpredictable"
|
||
|
|
visible = "[Character.IsOtherPlayer]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/unpredictable.dds"
|
||
|
|
|
||
|
|
tooltip = "PLAYER_OBEDIENCE_UNPREDICTABLE"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "powerful_family"
|
||
|
|
visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsPowerful ), Character.IsVassalOf( GetPlayer ) )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_family_head.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
tooltip = "FRAME_RELATION_POWERFUL_FAMILY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "dominant_family"
|
||
|
|
visible = "[And( And( Character.IsHouseHead, Character.GetHouse.IsDominant ), Character.IsVassalOf( GetPlayer ) )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/powerful_family_head.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = 2
|
||
|
|
tooltip = "FRAME_RELATION_DOMINANT_FAMILY"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "head_icon"
|
||
|
|
visible = "[LessThan_int32(Character.GetDynastyHeadRelationFrame('(bool)yes'), '(int32)9')]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/relation.dds"
|
||
|
|
framesize = { 40 40 }
|
||
|
|
frame = "[Character.GetDynastyHeadRelationFrame('(bool)yes')]"
|
||
|
|
tooltip = "[Character.GetDynastyHeadRelationTooltip]"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "favorite_child"
|
||
|
|
visible = "[Character.IsFavoriteChildOf( GetPlayer )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/character_interactions/designate_favorite.dds"
|
||
|
|
tooltip = "SUCCESSION_IS_FAVORITE_CHILD_TT"
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "playable_icon"
|
||
|
|
visible = "[ObjectsEqual( Character.Self, GetPlayer.GetPlayerHeir )]"
|
||
|
|
size = { 20 20 }
|
||
|
|
texture = "gfx/interface/icons/portraits/heir.dds"
|
||
|
|
tooltip = "[Character.GetPlayableFrameTooltip]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "dead_icon"
|
||
|
|
{
|
||
|
|
icon = {
|
||
|
|
name = "is_dead"
|
||
|
|
visible = "[Character.IsDeadAndValid]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "[Character.GetDeathReasonIcon]"
|
||
|
|
tooltip = "CHARACTER_DEAD_TOOLTIP"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
######################################################
|
||
|
|
##################### TEMPLATES ######################
|
||
|
|
######################################################
|
||
|
|
|
||
|
|
## BASE TEMPLATE
|
||
|
|
|
||
|
|
template portrait_base
|
||
|
|
{
|
||
|
|
pop_out = no
|
||
|
|
block "grayscale" {
|
||
|
|
grayscale = "[Not(Character.IsAlive)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
gfxtype = portraitbuttongfx
|
||
|
|
shaderfile = "gfx/FX/jomini/gui_portrait.shader"
|
||
|
|
|
||
|
|
intersectionmask = no
|
||
|
|
|
||
|
|
background_texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
texture = "gfx/portraits/portrait_transparent.dds"
|
||
|
|
|
||
|
|
clicksound = "event:/SFX/UI/Character/sfx_ui_character_portrait_select"
|
||
|
|
oversound = "event:/SFX/UI/Character/sfx_ui_character_portrait_pointer_over"
|
||
|
|
|
||
|
|
block "portrait_button_template_onmouseenter"
|
||
|
|
{
|
||
|
|
state = {
|
||
|
|
name = _mouse_enter
|
||
|
|
trigger_when = "[Character.IsValid]"
|
||
|
|
on_finish = "[Character.OnMouseEnter]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
block "portrait_button_template_onmouseleave"
|
||
|
|
{
|
||
|
|
state = {
|
||
|
|
name = _mouse_leave
|
||
|
|
on_start = "[Character.OnMouseLeave]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button_template_onclick"
|
||
|
|
{
|
||
|
|
onclick = "[DefaultOnCharacterClick(Character.GetID)]"
|
||
|
|
}
|
||
|
|
|
||
|
|
block "portrait_button_template_onrightclick"
|
||
|
|
{
|
||
|
|
onrightclick = "[DefaultOnCharacterRightClick(Character.GetID)]"
|
||
|
|
button_ignore = none
|
||
|
|
}
|
||
|
|
|
||
|
|
filter_mouse = right
|
||
|
|
|
||
|
|
block "portrait_button_template_tooltip"
|
||
|
|
{
|
||
|
|
tooltip_visible = "[Not(IsInteractionMenuOpenForCharacter(Character.GetID))]"
|
||
|
|
|
||
|
|
tooltipwidget = {
|
||
|
|
cooltip_type = {
|
||
|
|
blockoverride "interaction_info" {
|
||
|
|
text = "CHARACTER_TOOLTIP_INSTRUCTION"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
using = tooltip_es
|
||
|
|
tooltip_offset = { 0 0 }
|
||
|
|
tooltip_verticalbehavior = slide
|
||
|
|
tooltip_horizontalbehavior = mirror
|
||
|
|
|
||
|
|
block "portrait_transformation"
|
||
|
|
{
|
||
|
|
portrait_scale = { 1.0 1.0 }
|
||
|
|
portrait_offset = { 0.0 0.0 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Background_Glows
|
||
|
|
{
|
||
|
|
block "portrait_glow"
|
||
|
|
{
|
||
|
|
# Is Local Player
|
||
|
|
block "glow_local_player"
|
||
|
|
{
|
||
|
|
background = {
|
||
|
|
visible = "[And(Character.IsLocalPlayer, Not(Character.IsHovered))]"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.5 0.6 0.7 0.6 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_other_player"
|
||
|
|
{
|
||
|
|
# Is Other Player
|
||
|
|
background = {
|
||
|
|
visible = "[And(Character.IsOtherPlayer, Not(Character.IsHovered))]"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.8 0.4 0.55 0.6 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_selected"
|
||
|
|
{
|
||
|
|
background = {
|
||
|
|
name = "selected"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.8 0.7 0.5 0.6 }
|
||
|
|
|
||
|
|
block "glow_selected_visible"
|
||
|
|
{
|
||
|
|
visible = "[Character.IsSelected]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
block "glow_hovered"
|
||
|
|
{
|
||
|
|
background = {
|
||
|
|
name = "hovered"
|
||
|
|
visible = "[Character.IsHovered]"
|
||
|
|
using = Background_Portrait_Glow
|
||
|
|
color = { 0.9 0.8 0.6 0.6 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Background_Portrait_Glow
|
||
|
|
{
|
||
|
|
texture = "gfx/portraits/portrait_glow.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Relation_Icon_Normal_Size
|
||
|
|
{
|
||
|
|
size = { 20 20 }
|
||
|
|
framesize = { 40 40 }
|
||
|
|
|
||
|
|
visible = "[ScriptedRelation.HasRelationBetween( GetPlayer, Character.Self )]"
|
||
|
|
|
||
|
|
tooltipwidget = {
|
||
|
|
scripted_relation_tooltip = {
|
||
|
|
blockoverride "description_text"
|
||
|
|
{
|
||
|
|
text = "[GetScriptedRelationTooltip( ScriptedRelation, GetPlayer, Character )]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Relation_Icon_Small_Size
|
||
|
|
{
|
||
|
|
size = { 14 14 }
|
||
|
|
framesize = { 28 28 }
|
||
|
|
|
||
|
|
visible = "[ScriptedRelation.HasRelationBetween( GetPlayer, Character.Self )]"
|
||
|
|
|
||
|
|
tooltipwidget = {
|
||
|
|
scripted_relation_tooltip = {
|
||
|
|
blockoverride "description_text"
|
||
|
|
{
|
||
|
|
text = "[GetScriptedRelationTooltip( ScriptedRelation, GetPlayer, Character )]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
types portrait_icons
|
||
|
|
{
|
||
|
|
type scripted_relation_tooltip = container
|
||
|
|
{
|
||
|
|
alwaystransparent = no
|
||
|
|
|
||
|
|
object_tooltip_pop_out = {
|
||
|
|
blockoverride "title_text" {
|
||
|
|
margin = { 0 8 }
|
||
|
|
text = "[ScriptedRelation.GetName]"
|
||
|
|
}
|
||
|
|
|
||
|
|
blockoverride "concept_link" {
|
||
|
|
text = "[relation|E]"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Normal size icons
|
||
|
|
type lover_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "lover"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'lover' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/lover_soulmate.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type friend_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "friend"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'friend' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/friend_bestfriend.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type rival_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "rival"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'rival' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_nemesis.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type soulmate_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "soulmate"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'soulmate' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/lover_soulmate.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type best_friend_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "best_friend"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'best_friend' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/friend_bestfriend.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type nemesis_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "nemesis"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'nemesis' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_nemesis.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type grudge_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "grudge"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'grudge' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_grudge.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type blood_brother_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "blood_brother"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'blood_brother' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/blood_brother.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type elder_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "elder"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'elder' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/elder.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type disciple_relation_icon = icon
|
||
|
|
{
|
||
|
|
name = "disciple"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'disciple' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/disciple.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Normal_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Small size icons
|
||
|
|
type lover_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "lover"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'lover' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/lover_soulmate_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type friend_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "friend"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'friend' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/friend_bestfriend_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type rival_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "rival"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'rival' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_nemesis_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type soulmate_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "soulmate"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'soulmate' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/lover_soulmate_small.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type best_friend_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "best_friend"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'best_friend' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/friend_bestfriend_small.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type nemesis_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "nemesis"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'nemesis' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_nemesis_small.dds"
|
||
|
|
frame = 2
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type grudge_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "grudge"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'grudge' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/rival_grudge_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type blood_brother_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "blood_brother"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'blood_brother')]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/blood_brother_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
|
||
|
|
type elder_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "elder"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'elder' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/elder_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type disciple_relation_icon_small = icon
|
||
|
|
{
|
||
|
|
name = "disciple"
|
||
|
|
|
||
|
|
datacontext = "[GetRelation( 'disciple' )]"
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/disciple_small.dds"
|
||
|
|
frame = 1
|
||
|
|
|
||
|
|
block "icon_template" {
|
||
|
|
using = Portrait_Relation_Icon_Small_Size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type container_dynastic_cycle_group_icons = container {
|
||
|
|
name = "container_dynastic_cycle_group_icons"
|
||
|
|
visible = "[And(HasDlcFeature( 'all_under_heaven' ), Character.ShouldShowMovementPower)]"
|
||
|
|
datacontext = "[Character]"
|
||
|
|
datacontext = "[GetSituation('dynastic_cycle')]"
|
||
|
|
ignoreinvisible = yes
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "advancement_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('advancement_movement').Self)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_advance.dds"
|
||
|
|
|
||
|
|
block "dynastic_cycle_group_icon_tooltip"
|
||
|
|
{
|
||
|
|
tooltip = "FRAME_ADVANCEMENT_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "expansion_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('expansion_movement').Self)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_expand.dds"
|
||
|
|
|
||
|
|
block "dynastic_cycle_group_icon_tooltip"
|
||
|
|
{
|
||
|
|
tooltip = "FRAME_EXPANSION_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "conservative_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('conservative_movement').Self)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_anti.dds"
|
||
|
|
|
||
|
|
block "dynastic_cycle_group_icon_tooltip"
|
||
|
|
{
|
||
|
|
tooltip = "FRAME_CONSERVATIVE_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "pro_hegemon_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('pro_hegemon_movement').Self)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_pro.dds"
|
||
|
|
|
||
|
|
block "dynastic_cycle_group_icon_tooltip"
|
||
|
|
{
|
||
|
|
tooltip = "FRAME_PRO_HEGEMON_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
icon = {
|
||
|
|
name = "undecided_movement"
|
||
|
|
visible = "[ObjectsEqual( Situation.GetParticipantGroupByCharacter(Character.Self), Situation.GetTopParticipantGroupByKey('undecided_movement').Self)]"
|
||
|
|
size = { 20 20 }
|
||
|
|
|
||
|
|
texture = "gfx/interface/icons/portraits/dynastic_cycle_group_unaligned.dds"
|
||
|
|
|
||
|
|
block "dynastic_cycle_group_icon_tooltip"
|
||
|
|
{
|
||
|
|
tooltip = "FRAME_UNDECIDED_MOVEMENT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Relation_Icons
|
||
|
|
{
|
||
|
|
lover_relation_icon = {}
|
||
|
|
friend_relation_icon = {}
|
||
|
|
rival_relation_icon = {}
|
||
|
|
soulmate_relation_icon = {}
|
||
|
|
best_friend_relation_icon = {}
|
||
|
|
nemesis_relation_icon = {}
|
||
|
|
grudge_relation_icon = {}
|
||
|
|
blood_brother_relation_icon = {}
|
||
|
|
elder_relation_icon = {}
|
||
|
|
disciple_relation_icon = {}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Relation_Icons_Small
|
||
|
|
{
|
||
|
|
lover_relation_icon_small = {}
|
||
|
|
friend_relation_icon_small = {}
|
||
|
|
rival_relation_icon_small = {}
|
||
|
|
soulmate_relation_icon_small = {}
|
||
|
|
best_friend_relation_icon_small = {}
|
||
|
|
nemesis_relation_icon_small = {}
|
||
|
|
grudge_relation_icon_small = {}
|
||
|
|
blood_brother_relation_icon_small = {}
|
||
|
|
elder_relation_icon_small = {}
|
||
|
|
disciple_relation_icon_small = {}
|
||
|
|
}
|
||
|
|
|
||
|
|
template Portrait_Relation_Icons_Character_Window
|
||
|
|
{
|
||
|
|
lover_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
friend_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
rival_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
soulmate_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
best_friend_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nemesis_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
grudge_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
blood_brother_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
elder_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
disciple_relation_icon = {
|
||
|
|
blockoverride "icon_template"
|
||
|
|
{
|
||
|
|
using = Character_Window_Relation_Icon
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|