diff --git a/common/bookmarks/bookmarks/00_bookmarks.txt b/common/bookmarks/bookmarks/00_bookmarks.txt index be35e238..abfa14f7 100644 --- a/common/bookmarks/bookmarks/00_bookmarks.txt +++ b/common/bookmarks/bookmarks/00_bookmarks.txt @@ -45,7 +45,7 @@ type = male birth = 2524.6.18 title = k_venice - government = administrative_government + government = urbanrepublic_government culture = venetian religion = "roman_catholic" difficulty = "BOOKMARK_CHARACTER_DIFFICULTY_MEDIUM" diff --git a/common/culture/cultures/NEOW_central_germanic.txt b/common/culture/cultures/NEOW_central_germanic.txt index 710f72fb..0d6ea7df 100644 --- a/common/culture/cultures/NEOW_central_germanic.txt +++ b/common/culture/cultures/NEOW_central_germanic.txt @@ -11,8 +11,8 @@ tradition_mountain_homes tradition_artisans tradition_storytellers - tradition_festivities tradition_staunch_traditionalists + tradition_farmer_republics } name_list = name_list_bavarian diff --git a/common/culture/cultures/NEOW_italian.txt b/common/culture/cultures/NEOW_italian.txt index 9037303f..e7df8a41 100644 --- a/common/culture/cultures/NEOW_italian.txt +++ b/common/culture/cultures/NEOW_italian.txt @@ -16,6 +16,7 @@ tradition_culture_blending tradition_stalwart_defenders tradition_swords_for_hire + tradition_republican_legacy } name_list = name_list_gallo_italian @@ -77,7 +78,7 @@ emilian = { #Emigliân traditions = { tradition_city_keepers - tradition_republican_legacy + tradition_farmer_republics tradition_culinary_art tradition_agrarian tradition_brewery @@ -249,6 +250,7 @@ pugliese = { tradition_culture_blending tradition_agrarian tradition_castle_keepers + tradition_republican_legacy } name_list = name_list_italo_dalmatian @@ -454,6 +456,7 @@ friulian = { #Furlan tradition_culture_blending tradition_forbearing tradition_hill_dwellers + tradition_farmer_republics } name_list = name_list_gallo_italian diff --git a/common/legitimacy/00_legitimacy.txt b/common/legitimacy/00_legitimacy.txt index c391389f..10582669 100644 --- a/common/legitimacy/00_legitimacy.txt +++ b/common/legitimacy/00_legitimacy.txt @@ -4,9 +4,11 @@ count_legitimacy = { is_valid = { - highest_held_title_tier = tier_county - government_has_flag = government_is_prepublic - government_has_flag = government_is_urepublic + OR = { + highest_held_title_tier = tier_county + government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic + } NOR = { government_allows = administrative government_has_flag = government_is_nomadic @@ -101,8 +103,9 @@ count_legitimacy = { duke_legitimacy = { is_valid = { highest_held_title_tier = tier_duchy - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } NOR = { government_allows = administrative @@ -209,8 +212,9 @@ duke_legitimacy = { king_legitimacy = { is_valid = { highest_held_title_tier = tier_kingdom - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } OR = { NOT = { government_allows = administrative } @@ -316,8 +320,9 @@ king_legitimacy = { emperor_legitimacy = { is_valid = { highest_held_title_tier = tier_empire - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } NOR = { government_has_flag = government_is_nomadic @@ -419,8 +424,9 @@ emperor_legitimacy = { hegemon_legitimacy = { is_valid = { highest_held_title_tier = tier_hegemony - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } NOT = { government_has_flag = government_is_mandala } NAND = { diff --git a/gui/hud.gui b/gui/hud.gui index 300e92eb..b155a1d0 100644 --- a/gui/hud.gui +++ b/gui/hud.gui @@ -287,7 +287,6 @@ widget = { tooltip = "ADMINISTRATIVE_BUTTON" } } - widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )]" diff --git a/gui/shared/lists.gui b/gui/shared/lists.gui new file mode 100644 index 00000000..72260f97 --- /dev/null +++ b/gui/shared/lists.gui @@ -0,0 +1,3831 @@ +###################################################### +############## LIST TYPES AND TEMPLATES ############## +###################################################### + +template default_character_list_overlay +{ + modify_texture = { + texture = "gfx/interface/buttons/button_standard_overlay.dds" + spriteType = Corneredstretched + spriteborder = { 3 3 } + blend_mode = overlay + } +} + +template character_age_or_death_text +{ + hbox = { + block "list_layout" { + minimumsize = { 62 0 } + expand = {} + } + + margin_right = 5 + spacing = 2 + + block "character_age" + { + text_single = { + text = "[Character.GetAge]" + align = nobaseline + } + } + + icon = { + visible = "[Not(Character.IsDeadAndValid)]" + size = { 23 23 } + framesize = { 60 60 } + frame = "[Character.GetHealthIconFrame]" + texture = "gfx/interface/icons/character_status/icon_health.dds" + tooltip = "[Character.GetHealthInfo]" + } + + block "is_dead" + { + icon = { + name = "is_dead" + visible = "[Character.IsDeadAndValid]" + size = { 23 23 } + + texture = "[Character.GetDeathReasonIcon]" + tooltip = "CHARACTER_DEAD_TOOLTIP" + } + } + } +} + +types Lists +{ + type character_age_health = hbox + { + spacing = 2 + + text_single = { + text = "[Character.GetAge]" + align = nobaseline + } + + icon = { + visible = "[Not(Character.IsDeadAndValid)]" + size = { 23 23 } + framesize = { 60 60 } + frame = "[Character.GetHealthIconFrame]" + texture = "gfx/interface/icons/character_status/icon_health.dds" + tooltip = "[Character.GetHealthInfo]" + } + + expand = {} + } + + # Implementation details + type character_list_arrow = highlight_icon + { + parentanchor = left|vcenter + position = { -13 0 } + + size = { 14 14 } + framesize = { 14 28 } + texture = "gfx/interface/buttons/button_entry_characterlist_arrow.dds" + + gfxtype = togglepushbuttongfx + effectname = "NoHighlight" + + spriteType = Corneredstretched + spriteborder = { 20 20 } + } + ## Character Skill Value + + type widget_skill_item_no_icon = widget { + tooltip = "SKILL_ITEM_TOOLTIP" + using = tooltip_se + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[SkillItem.GetValue]" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + block "bg" + { + frame = "[SkillItem.GetFrame]" + } + } + } + + ## Character List Items + type widget_character_list_item = widget { + datacontext = "[CharacterListItem.GetCharacter]" + size = { 10 110 } + + block "divider" { + divider = { + parentanchor = bottom|hcenter + size = { 100% 3 } + } + } + + block "widget" {} + + hbox = { + margin = { 0 5 } + spacing = 15 + + portrait_head_small = {} + + button_standard = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + onclick = "[CharacterListItem.OnClick('character')]" + enabled = "[CharacterListItem.IsSelectable]" + tooltip = "[CharacterListItem.GetUnselectableReason]" + + framesize = { 252 80 } + spriteType = Corneredtiled + spriteborder = { 10 30 } + + block "button_texture" + { + texture = "gfx/interface/buttons/button_entry_characterlist.dds" + } + + block "button" {} + + character_list_arrow = { + name = "character_list_arrow" + } + + block "overlay" { + using = default_character_list_overlay + } + + block "button_content" + { + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + # Name + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + # Age & Relation + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin_left = 10 + + min_width = 320 + max_width = 320 + + text_single = { + layoutpolicy_horizontal = expanding + using = Font_Size_Medium + autoresize = no + alwaystransparent = yes + + text = "[Character.GetUINameNoTooltip|U]" + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + using = character_age_or_death_text + blockoverride "list_layout" {} + + block "character_relation" + { + text_single = { + name = "character_relation" + layoutpolicy_horizontal = expanding + raw_text = "| [Character.GetRelationToString( GetPlayer )]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + autoresize = no + align = nobaseline + visible = "[Character.HasRelationTo( GetPlayer )]" + alwaystransparent = yes + } + + expand = { + visible = "[Not(Character.HasRelationTo( GetPlayer ))]" + } + } + } + + block "character_description_extra" {} + } + + expand = {} + + # Skills + vbox = { + layoutpolicy_vertical = expanding + + hbox = { + name = "skills_grid" + + datamodel = "[CharacterListItem.GetSkillItems]" + margin_right = 3 + margin_top = 3 + + item = { + widget_skill_item_no_icon = {} + } + } + + expand = {} + } + + block "extra_skills" {} + } + + spacer = { + size = { 40 40 } + } + expand = {} + } + + ### Character Selection Bottom + widget = { + size = { 100% 44 } + parentanchor = bottom + + ### Details Box + widget = { + size = { 100% 44 } + parentanchor = left + + block "scissor" + { + scissor = yes + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_left = 10 + spacing = 5 + + # Dynasty + widget = { + size = { 35 40 } + + coa_house_tiny = { + datacontext = "[Character.GetHouse]" + parentanchor = center + } + } + + block "bottom_middle_box" { + # Religion & Culture + hbox = { + + # Faith + icon = { + name = "faith_button" + size = { 35 35 } + datacontext = "[Character.GetFaith]" + tooltipwidget = { faith_tooltip = {} } + texture = "[Faith.GetIcon]" + } + + # Culture + + hbox = { + datacontext = "[Character.GetCulture]" + + tooltipwidget = { + culture_tooltip = {} + } + using = tooltip_se + + icon = { + name = "culture" + texture = "gfx/interface/icons/icon_culture.dds" + size = { 30 30 } + } + + text_multi = { + text = "CULTURE_LISTS_WINDOW" + autoresize = yes + max_width = 90 + max_height = 44 + } + } + + block "bottom_middle_box_extra_content" { + + } + } + } + + # Traits + fixedgridbox = { + name = "traits_grid" + datamodel = "[CharacterListItem.GetTraits]" + flipdirection = yes + size = { 150 35 } + addcolumn = 30 + addrow = 35 + block "horizontal_slots" + { + maxhorizontalslots = 8 + } + maxverticalslots = 1 + + item = { + widget = { + visible = "[Trait.IsValid]" + size = { 35 35 } + + icon_trait = { + parentanchor = center + + blockoverride "icon_size" + { + size = { 30 30 } + } + + blockoverride "tooltip_placement" + { + using = tooltip_se + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + } + + vbox = { + datacontext = "[CharacterListItem.GetCharacter]" + margin_right = 5 + } + + expand = {} + block "bottom_right_box" + { + hbox = { + margin_right = 8 + # Realm + widget = { + datacontext = "[CharacterListItem.GetFirstClaim]" + visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" + size = { 55 58 } + + block "claims_visibility" {} + + coa_title_tiny_crown = { + datacontext = "[Claim.GetTitle]" + using = tooltip_ne + + highlight_icon = { + name = "pressed_claim" + visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" + parentanchor = bottom|right + size = { 24 24 } + texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" + } + + highlight_icon = { + name = "unpressed_claim" + visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" + parentanchor = bottom|right + size = { 24 24 } + texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" + } + + highlight_icon = { + name = "implicit_claim" + visible = "[Claim.IsImplicit]" + parentanchor = bottom|right + size = { 24 24 } + texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" + } + + blockoverride "coa_tooltip" + { + tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" + } + } + + text_single = { + parentanchor = vcenter|right + position = { 0 -6 } + + text = "[CharacterListItem.GetTitleItemCount]" + align = right + minimumsize = { 15 0 } + + tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" + } + } + } + } + } + } + + ### Button Box + + block "button_box" { + widget = { + size = { 100% 40 } + + hbox = { + layoutpolicy_horizontal = expanding + margin_right = 8 + + expand = {} + + hbox = { + background = { + margin_top = 8 + margin_left = 12 + margin_bottom = 2 + + using = Background_Area_Light + using = Mask_Rough_Edges + } + + block "button_box_content" {} + } + } + } + } + } + } + } + } + } + + + type widget_character_list_item_finder = widget { + datacontext = "[CharacterListItem.GetCharacter]" + size = { 200 94 } + + block "divider" {} + + block "widget" {} + + hbox = { + vbox = { + layoutpolicy_vertical = expanding + margin_top = 4 + + portrait_head_small = {} + + block "portrait_head_margin" + { + } + + expand = {} + } + + block "button_content" + { + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_top = 5 + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + # Name and age + hbox = { + layoutpolicy_horizontal = expanding + margin = { 0 3 } + margin_left = 5 + margin_right = 10 + + background = { + using = Background_Area_Characterlist + } + + background = { + using = Background_Area_Dark + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical.dds" + blend_mode = alphamultiply + alpha = 1 + rotate_uv = 90 + mirror = vertical + } + } + + hbox = { + margin_left = 3 + layoutpolicy_horizontal = expanding + maximumsize = { 338 -1 } + + text_single = { + using = Font_Size_Medium + align = nobaseline + text = "[Character.GetUINameNoTooltip|U]" + fontsize_min = 14 + max_width = 300 + } + + block "character_relation" + { + hbox = { + visible = "[And(Character.HasRelationTo( GetPlayer ), Not(Character.IsPlayer))]" + + text_single = { + raw_text = "•" + align = nobaseline + margin = { 5 0 } + } + + text_single = { + name = "character_relation" + text = "[Character.GetRelationToString( GetPlayer )]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + align = nobaseline + fontsize_min = 14 + max_width = 180 + } + } + } + + expand = {} + } + + hbox = { + using = character_age_or_death_text + } + + # Skills + hbox_skills_grid = {} + } + + ### BOTTOM ROW ### + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + block "additional_info_kill_list" {} + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + # Dynasty + widget = { + size = { 45 40 } + + coa_house_small = { + datacontext = "[Character.GetHouse]" + parentanchor = center + scale = 0.7 + } + } + + block "left_box" + { + # Traits + hbox = { + layoutpolicy_vertical = expanding + margin = { 10 0 } + minimumsize = { 140 0 } #### needed for prison view + + background = { + using = Background_Area_Dark + alpha = 0.5 + margin = { 0 2 } + } + + + hbox = { + layoutpolicy_horizontal = expanding + + fixedgridbox = { + name = "traits_grid" + datamodel = "[CharacterListItem.GetTraits]" + datamodel_reuse_widgets = yes + flipdirection = yes + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + addcolumn = 30 + addrow = 28 + + block "gridbox_items" + { + min_width = 210 + datamodel_wrap = 7 + maxverticalslots = 2 + } + + item = { + icon_trait = { + visible = "[Trait.IsValid]" + + blockoverride "icon_size" + { + size = { 30 30 } + } + + blockoverride "tooltip_placement" + { + using = tooltip_se + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + } + } + + expand = {} + } + } + } + + vbox = { + datacontext = "[CharacterListItem.GetCharacter]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + block "bottom_right_box" + { + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + block "claims" { # for kill list + widget_list_claims = {} + } + + # Religion and culture + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_left = 8 + margin_right = 4 + spacing = 5 + minimumsize = { 110 0 } + + background = { + using = Background_Area_Dark + alpha = 0.5 + margin = { 0 2 } + } + + icon = { + name = "faith_button" + size = { 38 38 } + datacontext = "[Character.GetFaith]" + tooltipwidget = { faith_tooltip = {} } + using = tooltip_se + + texture = "[Faith.GetIcon]" + } + + hbox = { + datacontext = "[Character.GetCulture]" + layoutpolicy_horizontal = expanding + spacing = 3 + + tooltipwidget = { + culture_tooltip = {} + } + using = tooltip_se + + icon = { + name = "culture" + texture = "gfx/interface/icons/icon_culture.dds" + size = { 24 24 } + } + + text_single = { + layoutpolicy_horizontal = expanding + text = "CULTURE_LISTS_WINDOW" + autoresize = no + align = nobaseline + } + } + } + } + } + } + } + } + } + } + } + } + + type dropdown_menu_standard = dropDown { + block "dropdown_properties" + { + #datamodel = "[GetPlayer.GetCourt]" + } + + block "dropdown_size" + { + size = { 200 32 } + } + + + + active_item = { + container = { + alwaystransparent = no + + button_drop = { + block "dropdown_size" + { + size = { 200 32 } + } + block "dropdown_active_item_properties" + { + raw_text = "#D Current Option#!" + } + button_trigger = none + + + } + } + } + + item = { + container = { + alwaystransparent = no + + button_dropdown = { + block "dropdown_size" + { + size = { 200 32 } + } + button_trigger = none + + block "dropdown_item_properties" + { + raw_text = "#D Option#!" + } + + default_format = "#clickable" + } + } + } + + list = { + scrollarea = { + position = { 5 32 } + block "dropdown_list_maxsize" + { + maximumsize = { 192 250 } + } + + block "dropdown_list_properties" + { + + } + + autoresizescrollarea = yes + scrollbarpolicy_horizontal = always_off + + using = Background_DropDown + + scrollwidget = { + dynamicgridbox = { + alwaystransparent = no + } + } + + scrollbar_vertical = { + using = Scrollbar_Vertical + } + } + } + } + + type dropdown_sort_characterlist = dropDown { + name = "sort_options" + block "size_button_drop" { ########### only used for character finder + size = { 190 33 } + } + + active_item = { + widget = { + alwaystransparent = no + size = { 100% 100% } + + button_drop = { + block "text_button_drop" { + text = "[CharacterListSortItem.GetName]" + } + } + } + } + + item = { + widget = { + alwaystransparent = no + block "size_dropdown" { + size = { 190 33 } + } + + button_normal = { + size = { 100% 30 } + button_trigger = none + gfxtype = framedbuttongfx + effectname = "NoHighlight" + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + upframe = 1 + overframe = 2 + downframe = 3 + disableframe = 1 + texture = "gfx/interface/buttons/button_interaction_menu.dds" + framesize = { 317 30 } + } + + button_dropdown = { + block "size_dropdown" { + size = { 190 33 } + } + block "text_button_drop" { + text = "[CharacterListSortItem.GetName]" + } + + default_format = "#clickable" + } + } + } + + list = { + scrollarea = { + position = { 5 33 } + maximumsize = { 190 250 } + autoresizescrollarea = yes + scrollbarpolicy_horizontal = always_off + + using = Background_DropDown + + scrollwidget = { + dynamicgridbox = { + alwaystransparent = no + } + } + + scrollbar_vertical = { + using = Scrollbar_Vertical + } + } + } + } + + type widget_list_claims = widget { + datacontext = "[CharacterListItem.GetFirstClaim]" + layoutpolicy_vertical = expanding + size = { 55 0 } + + block "claims_visibility" {} + + coa_title_tiny_crown = { + visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" + parentanchor = center + position = { -10 0 } + scale = 0.8 + + tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" + using = tooltip_ne + + blockoverride "coa_button" { + datacontext = "[Claim.GetTitle]" + onclick = "[DefaultOnCoatOfArmsClick(Title.GetID)]" + onrightclick = "[DefaultOnCoatOfArmsRightClick(Title.GetID)]" + button_ignore = none + } + + highlight_icon = { + name = "pressed_claim" + visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" + texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" + size = { 24 24 } + parentanchor = bottom|right + } + + highlight_icon = { + name = "unpressed_claim" + visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" + texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" + size = { 24 24 } + parentanchor = bottom|right + } + + highlight_icon = { + name = "implicit_claim" + visible = "[Claim.IsImplicit]" + texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" + size = { 24 24 } + parentanchor = bottom|right + } + } + + text_single = { + visible = "[CharacterListItem.HasTitleItems]" + parentanchor = center + position = { 18 0 } + text = "[CharacterListItem.GetTitleItemCount]" + default_format = "#high" + using = Font_Size_Medium + align = center + } + } + + ## Same as hbox_skills_grid, except taking character instead of character list item + type hbox_skills_grid_character_model = hbox { + name = "hbox_skills_grid_character_model" + minimumsize = { 160 0 } + + widget = { + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[Character.GetSkill('diplomacy')]" + tooltip = "diplomacy_concept" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + frame = 1 + } + } + widget = { + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[Character.GetSkill('martial')]" + tooltip = "martial_concept" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + frame = 2 + } + } + widget = { + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[Character.GetSkill('stewardship')]" + tooltip = "stewardship_concept" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + frame = 3 + } + } + widget = { + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[Character.GetSkill('intrigue')]" + tooltip = "intrigue_concept" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + frame = 4 + } + } + widget = { + size = { 32 25 } + + text_single = { + name = "value" + parentanchor = center + margin_bottom = 4 + align = center + text = "[Character.GetSkill('learning')]" + tooltip = "learning_concept" + } + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + margin = { 5 0 } + + frame = 5 + } + } + } + + type hbox_skills_grid = hbox { + name = "skills_grid" + minimumsize = { 160 0 } + + block "skills_datamodel" + { + datamodel = "[CharacterListItem.GetSkillItems]" + } + + item = { + widget_skill_item_no_icon = {} + } + } + + type hbox_list_sort_buttons = hbox { + name = "sort_buttons" + + block "margins" { + margin_left = 20 + margin_right = 30 + margin_top = 5 + spacing = 5 + } + + button_standard = { + name = "filters" + size = { 25 25 } + + down = "[CharacterSelectionList.FiltersShown]" + frame = "[BoolTo1And2(CharacterSelectionList.IsAllDefault)]" + onclick = "[CharacterSelectionList.OnToggleFilters]" + + tooltip = "TOGGLE_FILTERS" + using = tooltip_nw + + button_search = { + alwaystransparent = yes + parentanchor = center + size = { 20 20 } + } + + block "filters_visible" {} + } + + divider_light = { + size = { 3 20 } + block "filters_visible" {} + } + + block "sort_prefix" {} + + text_single = { + text = "SORT_BY" + align = nobaseline + max_width = 90 + } + + block "sort_dropdown" { + dropdown_sort_characterlist = {} + } + + button_standard = { + name = "sort_order" + size = { 25 25 } + onclick = "[CharacterSelectionList.RevertSortOrder]" + + tooltip = "CHARACTER_SORT_BY" + using = tooltip_nw + + button_icon = { + alwaystransparent = yes + parentanchor = center + size = { 25 25 } + texture = "gfx/interface/icons/flat_icons/sort_icon.dds" + framesize = { 66 66 } + + frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]" + + blockoverride "button_frames" + { + effectname = "NoHighlight" + } + } + } + + expand = {} + + block "skill_sort_buttons" + { + hbox = { + button_standard_hover = { + name = "skill_diplomacy" + size = { 32 32 } + + icon = { + texture = "gfx/interface/icons/icon_skills.dds" + size = { 32 32 } + framesize = { 60 60 } + frame = 1 + } + + onclick = "[CharacterSelectionList.SortBySkill('(int32)0')]" + + tooltip = "SORT_BY_DIPLOMACY" + using = tooltip_ne + + skillitem_sort_icon = { + visible = "[CharacterSelectionList.IsSortingBySkill('(int32)0')]" + } + } + + button_standard_hover = { + name = "skill_martial" + size = { 32 32 } + + icon = { + texture = "gfx/interface/icons/icon_skills.dds" + size = { 32 32 } + framesize = { 60 60 } + frame = 2 + } + + onclick = "[CharacterSelectionList.SortBySkill('(int32)1')]" + + tooltip = "SORT_BY_MARTIAL" + using = tooltip_ne + + skillitem_sort_icon = { + visible = "[CharacterSelectionList.IsSortingBySkill('(int32)1')]" + } + } + + button_standard_hover = { + name = "skill_stewardship" + size = { 32 32 } + + icon = { + texture = "gfx/interface/icons/icon_skills.dds" + size = { 32 32 } + framesize = { 60 60 } + frame = 3 + } + + onclick = "[CharacterSelectionList.SortBySkill('(int32)2')]" + tooltip = "SORT_BY_STEWARDSHIP" + using = tooltip_ne + + skillitem_sort_icon = { + visible = "[CharacterSelectionList.IsSortingBySkill('(int32)2')]" + } + } + + button_standard_hover = { + name = "skill_intrigue" + size = { 32 32 } + + icon = { + texture = "gfx/interface/icons/icon_skills.dds" + size = { 32 32 } + framesize = { 60 60 } + frame = 4 + } + + onclick = "[CharacterSelectionList.SortBySkill('(int32)3')]" + tooltip = "SORT_BY_INTRIGUE" + using = tooltip_ne + + skillitem_sort_icon = { + visible = "[CharacterSelectionList.IsSortingBySkill('(int32)3')]" + } + } + + button_standard_hover = { + name = "skill_learning" + size = { 32 32 } + + icon = { + texture = "gfx/interface/icons/icon_skills.dds" + size = { 32 32 } + framesize = { 60 60 } + frame = 5 + } + + onclick = "[CharacterSelectionList.SortBySkill('(int32)4')]" + tooltip = "SORT_BY_LEARNING" + using = tooltip_ne + + skillitem_sort_icon = { + visible = "[CharacterSelectionList.IsSortingBySkill('(int32)4')]" + } + } + } + } + } + + type skillitem_sort_icon = icon { + frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]" + alwaystransparent = yes + parentanchor = top|hcenter + position = { 0 -14 } + texture = "gfx/interface/buttons/button_sort_toggle.dds" + framesize = { 36 36 } + size = { 18 18 } + + using = Master_Button_Modify_Texture + + blockoverride "master_color_frame" { + frame = 1 + } + } + + type vbox_character_list = vbox { + name = "character_list" + spacing = 3 + + block "sort_buttons" + { + hbox_list_sort_buttons = { + layoutpolicy_horizontal = expanding + + blockoverride "margins" { + margin_left = 20 + margin_right = 23 + margin_top = 5 + spacing = 5 + } + } + } + + block "special_character" {} + + scrollbox = { + + name = "characters_scroll_area" + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + block "scrollbox_properties" + { + } + + blockoverride "scrollbox_content" { + + block "container_implementation" { + vbox = { + name = "characters_grid" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[Not(CharacterSelectionList.IsBuildingList)]" + layoutpolicy_horizontal = expanding + + item = { + widget_character_list_item = { + block "item_size" { + size = { 650 110 } + layoutpolicy_horizontal = expanding + } + } + } + } + } + } + + blockoverride "scrollbox_empty" + { + block "scrollbox_empty_visibility" + { + layoutpolicy_vertical = expanding + visible = "[IsDataModelEmpty( CharacterSelectionList.GetList )]" + text = "NO_CHARACTERS_TO_SELECT" + } + } + } + + block "character_count" + { + hbox = { + layoutpolicy_horizontal = growing + margin = { 25 5 } + margin_bottom = 8 + spacing = 5 + + block "bottom_bar" {} + + expand = {} + + widget = { + size = { 20 15 } + + warning_icon = { + size = { 25 25 } + visible = "[Not( CharacterSelectionList.IsAllDefault )]" + tooltip = "CHARACTER_FINDER_FILTER_SET" + position = { -3 -5 } + } + } + + text_single = { + name = "character_count" + datacontext = "[CharacterSelectionList]" + text = "CHARACTER_FINDER_COUNT" + align = center|nobaseline + default_format = "#low" + } + } + } + } + + type fixed_gridbox_character_list = vbox_character_list + { + blockoverride "container_implementation" + { + fixedgridbox = { + name = "characters_grid" + + block "character_gridbox" + { + addcolumn = 650 + addrow = 105 + datamodel_reuse_widgets = yes + } + + datamodel = "[CharacterSelectionList.GetList]" + visible = "[Not(CharacterSelectionList.IsBuildingList)]" + + item = { + widget_character_list_item = { + block "item_size" + { + size = { 650 110 } + } + } + } + } + } + } + + type button_recruit_character = button_round + { + visible = "[Character.IsPlayerInteractionShown('recruit_guest_interaction')]" + enabled = "[Character.IsPlayerInteractionValid('recruit_guest_interaction')]" + onclick = "[Character.OpenPlayerInteraction('recruit_guest_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('recruit_guest_interaction')]" + + button_add_character = { + alwaystransparent = yes + parentanchor = center + } + } + + type widget_courtier_item = widget { + size = { 0 125 } + + hbox = { + spacing = 5 + + background = { + using = Background_Area_With_Header + margin_right = 7 + margin_left = 5 + } + + portrait_head = {} + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_top = 3 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "name" + layoutpolicy_horizontal = expanding + autoresize = no + text = "[Character.GetUINameNoTooltip]" + using = Font_Size_Medium + align = nobaseline + fontsize_min = 14 + margin_right = 10 + } + + hbox_skills_grid = {} + } + + vbox = { + layoutpolicy_horizontal = expanding + margin = { 0 3 } + margin_bottom = 8 + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 3 + + warning_icon = { + visible = "[And( Character.CourtierWantsToLeaveCourt, Not( Character.IsImprisoned))]" + size = { 20 20 } + tooltip = "[Character.GetCourtierLeaveDescription]" + } + + debug_square = { + visible = "[AIWatchWindowsEnabled]" + size = { 20 20 } + raw_tooltip = "#D [Character.GetDebugCourtierLeaveReasons]#!" + } + + text_single = { + name = "relation_to_court_owner" + default_format = "#low" + align = nobaseline + max_width = 370 + visible = "[Not(Character.IsHostage)]" + + block "description_relation_text" { + text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + } + + background = { + visible = "[Character.IsImprisoned]" + using = Status_Bad + alpha = 0.5 + } + } + + text_single = { + name = "relation_to_court_hostage" + default_format = "#medium" + align = nobaseline + visible = "[Character.IsHostage]" + + block "description_relation_text" { + text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + } + + background = { + visible = "[Character.IsHostage]" + using = Status_Mixed + alpha = 0.5 + } + } + expand = {} + + text_single = { + name = "has_guardian" + default_format = "#low" + align = nobaseline + max_width = 370 + margin_right = 5 + visible = "[And( Not(Character.IsAdult), Not(Character.HasGuardian) )]" + + text = "COURT_WINDOW_NO_GUARDIAN" + tooltip = "COURT_WINDOW_NO_GUARDIAN_TOOLTIP" + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + margin_bottom = 5 + + block "action_buttons" + { + hbox = { + margin = { 0 3 } + spacing = 5 + + button_recruit_character = {} + } + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + minimumsize = { 0 60 } + margin_left = 5 + + background = { + using = Background_Area_Dark + margin = { 3 3 } + alpha = 0.5 + } + + # Dynasty + widget = { + layoutpolicy_vertical = expanding + size = { 45 40 } + + coa_house_small = { + datacontext = "[Character.GetHouse]" + parentanchor = center + scale = 0.7 + } + } + + # Traits + vbox = { + layoutpolicy_vertical = expanding + margin = { 10 0 } + + hbox = { + layoutpolicy_horizontal = expanding + + fixedgridbox = { + name = "traits_grid_four" + datamodel = "[CharacterListItem.GetTraits]" + flipdirection = yes + addcolumn = 30 + addrow = 28 + visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" + + block "gridbox_items" ### for characterview + { + datamodel_wrap = 4 + maxverticalslots = 2 + } + + item = { + icon_trait = { + visible = "[Trait.IsValid]" + + blockoverride "icon_size" + { + size = { 30 30 } + } + + blockoverride "tooltip_placement" + { + using = tooltip_se + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + fixedgridbox = { + name = "traits_grid_five" + datamodel = "[CharacterListItem.GetTraits]" + flipdirection = yes + addcolumn = 30 + addrow = 28 + visible = "[IsDataModelEmpty( CharacterListItem.GetTitleItems )]" + + block "gridbox_items" ### for characterview + { + datamodel_wrap = 5 + maxverticalslots = 2 + } + + item = { + icon_trait = { + visible = "[Trait.IsValid]" + + blockoverride "icon_size" + { + size = { 30 30 } + } + + blockoverride "tooltip_placement" + { + using = tooltip_se + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + + expand = {} + } + } + + expand = {} + + divider_light = { + layoutpolicy_vertical = expanding + alpha = 0.5 + } + + hbox = { + margin = { 3 0 } + + widget_list_claims = { + visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" + } + } + + divider_light = { + visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" + layoutpolicy_vertical = expanding + alpha = 0.5 + } + + hbox = { + margin_right = 5 + + button_religion_icon = { + datacontext = "[Character.GetFaith]" + size = { 40 40 } + } + + vbox = { + datacontext = "[Character.GetCulture]" + + tooltipwidget = { + culture_tooltip = {} + } + using = tooltip_se + + icon = { + name = "culture" + texture = "gfx/interface/icons/icon_culture.dds" + size = { 24 24 } + } + + text_single = { + layoutpolicy_horizontal = expanding + min_width = 60 + align = center|nobaseline + autoresize = no + text = "CULTURE_LISTS_WINDOW" + } + } + } + } + } + } + } + } + + type widget_vassal_list_item = widget { + datacontext = "[CharacterListItem.GetCharacter]" + + vbox = { + margin = { 5 0 } + + background = { + using = Background_Area_With_Header + } + + hbox = { + layoutpolicy_horizontal = expanding + margin = { 5 5 } + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Character.GetUINameNoTooltip|U]" + using = Font_Size_Medium + autoresize = no + fontsize_min = 13 + align = nobaseline + max_width = 340 + } + + expand = {} + + hbox_skills_grid = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + portrait_head_small = {} + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_right = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + vbox = { + layoutpolicy_horizontal = expanding + + margin_top = 3 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "character_relation" + visible = "[Or(Character.GetLiege.IsLocalPlayer, Character.GetSuzerain.IsLocalPlayer)]" + layoutpolicy_horizontal = expanding + text = "[Character.GetRelationToString(GetPlayer)]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + autoresize = no + fontsize_min = 13 + align = nobaseline + max_width = 420 + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Character.IsObedientTo( Character.GetOverlord ) ) )]" + + text = "MY_REALM_WINDOW_OBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Not( Character.IsObedientTo( Character.GetOverlord ) ) ) )]" + + text = "MY_REALM_WINDOW_DISOBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + divider_light = { + visible = "[Character.UsesObedience]" + layoutpolicy_vertical = expanding + } + + vassal_stance_icon = { + name = "vassal_stance" + size = { 30 30 } + } + + divider_light = { + visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" + layoutpolicy_vertical = expanding + } + + vassal_expected_legitimacy_widget = { + name = "legitimacy_expectation" + size = { 30 30 } + } + + block "realm_size_powerful_status" { + flowcontainer = { + spacing = 10 + + text_single = { + visible = "[NotEqualTo_int32(Character.GetPrimaryTitle.GetTierFrame, '(int32)2')]" #nonbaron + layoutpolicy_horizontal = expanding + + text = "REALM_WINDOW_SIZE" + align = nobaseline + max_width = 150 + + tooltip = "REALM_WINDOW_SIZE_TT" + } + } + } + + expand = {} + } + + block "vassal_buttons" { + hbox = { + visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" + layoutpolicy_horizontal = expanding + spacing = 5 + + button_round = { + size = { 30 30 } + + enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]" + onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]" + using = tooltip_se + + button_give_directive = { + alwaystransparent = yes + parentanchor = center + size = { 24 24 } + } + } + + widget = { + size = { 30 30 } + + text_single = { + parentanchor = vcenter + + text = "[Character.Custom('vassal_directive_icon')]" + align = nobaseline + + tooltip = "VASSAL_DIRECTIVE_ICON_TOOLTIP" + using = tooltip_se + } + } + + divider_light = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_vertical = expanding + } + + text_single = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_POWERFUL_VASSAL" + align = nobaseline + max_width = 200 + } + + expand = {} + } + } + } + + block "own_vassal" { + vbox = { + visible = "[Character.GetLiege.IsLocalPlayer]" + layoutpolicy_vertical = expanding + margin_left = 10 + + hbox = { + coa_title_tiny_crown = { + name = "allegiance_flag" + datacontext = "[SubjectContract.GetTitleAllegiance]" + visible = "[Title.IsValid]" + + tooltip = "MRW_TITLE_ALLEGIANCE" + blockoverride "coa_tooltip" {} + } + } + } + } + } + + hbox_tributary_information = { + visible = "[And(Character.HasSuzerain,GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0'))]" + blockoverride "tooltip" + { + tooltip = "MY_REALM_WINDOW_SUBJECT_STANDING_TT" + } + + blockoverride "text" + { + text_single = { + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_SUBJECT_STANDING" + align = left|nobaseline + } + } + } + + hbox_tributary_information = { + visible = "[And(Character.HasSuzerain,Not(GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0')))]" + } + } + } + + block "own_vassal" + { + vbox_vassal_item_footer = { + datacontext = "[SubjectContract.GetContractGroup]" + } + } + + expand = {} + } + } + + type widget_republic_vassal_list_item = widget { + datacontext = "[CharacterListItem.GetCharacter]" + + vbox = { + margin = { 5 0 } + background = { + using = Background_Area_With_Header + } + + hbox = { + layoutpolicy_horizontal = expanding + margin = { 5 5 } + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Character.GetUINameNoTooltip|U]" + using = Font_Size_Medium + autoresize = no + fontsize_min = 13 + align = nobaseline + max_width = 340 + } + + expand = {} + + hbox_skills_grid = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + portrait_head_small = {} + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_right = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + vbox = { + layoutpolicy_horizontal = expanding + + margin_top = 3 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "character_relation" + visible = "[Or(Character.GetLiege.IsLocalPlayer, Character.GetSuzerain.IsLocalPlayer)]" + layoutpolicy_horizontal = expanding + text = "[Character.GetRelationToString(GetPlayer)]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + autoresize = no + fontsize_min = 13 + align = nobaseline + max_width = 420 + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Character.IsObedientTo( Character.GetOverlord ) ) )]" + + text = "MY_REALM_WINDOW_OBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Not( Character.IsObedientTo( Character.GetOverlord ) ) ) )]" + + text = "MY_REALM_WINDOW_DISOBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + divider_light = { + visible = "[Character.UsesObedience]" + layoutpolicy_vertical = expanding + } + + vassal_stance_icon = { + name = "vassal_stance" + size = { 30 30 } + } + + divider_light = { + visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" + layoutpolicy_vertical = expanding + } + + vassal_expected_legitimacy_widget = { + name = "legitimacy_expectation" + size = { 30 30 } + } + + block "realm_size_powerful_status" { + flowcontainer = { + spacing = 10 + + text_single = { + visible = "[NotEqualTo_int32(Character.GetPrimaryTitle.GetTierFrame, '(int32)2')]" #nonbaron + layoutpolicy_horizontal = expanding + + text = "REALM_WINDOW_SIZE" + align = nobaseline + max_width = 150 + + tooltip = "REALM_WINDOW_SIZE_TT" + } + } + } + + expand = {} + } + + block "vassal_buttons" { + hbox = { + visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" + layoutpolicy_horizontal = expanding + spacing = 5 + + + divider_light = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_vertical = expanding + } + + text_single = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_POWERFUL_VASSAL" + align = nobaseline + max_width = 200 + } + + expand = {} + } + } + } + + block "own_vassal" { + vbox = { + visible = "[Character.GetLiege.IsLocalPlayer]" + layoutpolicy_vertical = expanding + margin_left = 10 + hbox = { + visible = "[Character.GetGovernment.IsType('urbanrepublic_government'))]" + spacing = 3 + expand = {} + icon = { + name = "icon_influence" + size = { 30 30 } + texture = "[Character.GetInfluenceLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetInfluence|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "prestige_icon" + size = { 30 30 } + texture = "[Character.GetPrestigeLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_piety" + size = { 30 30 } + texture = "[Character.GetPietyLevelTexture]" + } + text_single = { + name = "piety" + text = "[Character.GetPiety|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_dynasty_prestige" + size = { 30 30 } + texture = "[Character.GetDynasty.GetDynastyPrestigeLevelTexture]" + } + text_single = { + name = "dynasty_prestige" + text = "[Character.GetDynasty.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + } + } + block "own_vassal" { + vbox = { + visible = "[Character.GetLiege.IsLocalPlayer]" + layoutpolicy_vertical = expanding + margin_left = 10 + + hbox = { + coa_house_tiny = { + datacontext = "[Character.GetHouse]" + parentanchor = center + } + } + hbox = { + coa_title_tiny_crown = { + name = "allegiance_flag" + datacontext = "[Character.GetLiege.GetPrimaryTitle]" + visible = "[Title.IsValid]" + + tooltip = "MRW_TITLE_ALLEGIANCE" + blockoverride "coa_tooltip" {} + } + } + } + } + + } + } + } + } + expand = {} + } + } + type hbox_tributary_information = hbox { + visible = "[Character.HasSuzerain]" + + layoutpolicy_horizontal = expanding + datacontext = "[Character.GetSubjectContract]" + spacing = 5 + + block "tooltip" { + tooltip = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE_TT" + } + + block "text" { + icon_flat_standard = { + size = { 30 30 } + texture = "gfx/interface/icons/flat_icons/cease_paying_tributary.dds" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE" + align = left|nobaseline + max_width = 300 + } + } + + expand = {} + + block "release_tributary_button" { + button_round = { + visible = "[Character.IsPlayerInteractionShown('release_tributary_interaction')]" + enabled = "[Character.IsPlayerInteractionValid('release_tributary_interaction')]" + onclick = "[Character.OpenPlayerInteraction('release_tributary_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('release_tributary_interaction')]" + + button_icon = { + alwaystransparent = yes + parentanchor = center + position = { 1 1 } + size = { 28 28 } + texture = "gfx/interface/icons/flat_icons/release_tributary.dds" + } + } + } + } + + type hbox_vassal_contract_button = hbox { + spacing = 5 + + widget = { + visible = "[Or( SubjectContractGroup.IsType('feudal_vassal'), SubjectContractGroup.IsType('mandala_vassal') )]" + size = { 40 40 } + + button_round = { + parentanchor = center + + enabled = "[Character.IsPlayerInteractionValid('liege_modify_vassal_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('liege_modify_vassal_contract_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('liege_modify_vassal_contract_interaction')]" + + block "feudal_contract_button_round" {} + + button_feudal_contract = { + alwaystransparent = yes + parentanchor = center + } + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + widget = { + visible = "[SubjectContractGroup.IsType('clan_vassal')]" + size = { 40 40 } + + button_round = { + parentanchor = center + onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]" + + tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW" + + icon = { + parentanchor = center + size = { 30 30 } + + texture = "gfx/interface/skinned/hud_maintab/maintab_tax_jurisdictions.dds" + } + } + + warning_icon = { + visible = "[Not( Character.IsAssignedAsTaxpayer )]" + parentanchor = bottom|right + size = { 20 20 } + + tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED" + } + } + + widget = { + visible = "[And( SubjectContractGroup.IsType('admin_vassal'), Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction') ) ]" + size = { 40 40 } + + button_round = { + parentanchor = center + + enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]" + + block "admin_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + widget = { + visible = "[SubjectContractGroup.IsType('nomad_vassal')]" + size = { 40 40 } + + button_round = { + parentanchor = center + + enabled = "[Character.IsPlayerInteractionValid('nomad_liege_modify_vassal_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('nomad_liege_modify_vassal_contract_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('nomad_liege_modify_vassal_contract_interaction')]" + + block "nomad_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + widget = { + visible = "[Or( SubjectContractGroup.IsType('tributary_nomadic'), SubjectContractGroup.IsType('tributary_settled') )]" + size = { 40 40 } + + button_round = { + parentanchor = center + + enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" + + block "nomad_tributary_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + button_round = { + visible = "[SubjectContractGroup.IsType('tributary_celestial')]" + enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" + + block "celestial_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + button_round = { + visible = "[SubjectContractGroup.IsType('tributary_steppe')]" + enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]" + + block "celestial_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + button_round = { + visible = "[Or( Or( SubjectContractGroup.IsType('celestial_vassal'), SubjectContractGroup.IsType('meritocratic_vassal') ), SubjectContractGroup.IsType('japan_administrative_vassal') )]" + enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]" + onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]" + datacontext = "[Character.GetPrimaryTitle]" + tooltip_when_disabled = "ADMIN_WINDOW_NON_ADMIN_THEME_FAIL_DEMAND_INTERACTION" + + block "celestial_contract_button_round" {} + + button_add_laws = { + alwaystransparent = yes + parentanchor = center + } + + icon_vassal_contract_warning_blocked = {} + icon_vassal_contract_warning_default = {} + } + + block "vassal_contract_type_name" + { + text_single = { + text = "[SubjectContractGroup.GetName]" + align = nobaseline + max_width = 130 + } + } + } + + type hbox_vassal_taxes = hbox { + ### FEUDAL ARE SPECIAL + hbox = { + visible = "[SubjectContractGroup.IsType( 'feudal_vassal' )]" + spacing = 15 + + ### FEUDAL GOLD + hbox = { + spacing = 5 + + text_single = { # Display the Tax Level + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_VASSAL_FEUDAL_TAX" + align = nobaseline + default_format = "#low" + max_width = 100 + + margin_bottom = 2 + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedTax|=1]" + align = nobaseline + max_width = 50 + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "tax_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]" + + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_TAXES_TO_ME" + } + } + } + using = tooltip_sw + } + + ### FEUDAL LEVIES + hbox = { + visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]" + spacing = 5 + + text_single = { # Display the Levy Level + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_VASSAL_FEUDAL_LEVIES" + align = nobaseline + default_format = "#low" + max_width = 100 + + margin_bottom = 2 + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]" + align = nobaseline + max_width = 50 + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "levy_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]" + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_LEVIES_TO_ME" + } + } + } + using = tooltip_sw + } + } + + ### THE REST (NON-FEUDAL) + hbox = { + visible = "[Not( SubjectContractGroup.IsType( 'feudal_vassal' ) )]" + spacing = 15 + + ### VASSAL GOLD + hbox = { + # Treasury Vassals don't pay in gold + visible = "[And( Not( SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' ) ), GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetTaxRatioForLiege, '(CFixedPoint)0' ))]" + + icon = { + size = { 25 25 } + texture = "gfx/interface/icons/icon_gold.dds" + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedTax|=1]" + align = nobaseline + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "tax_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]" + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_TAXES_TO_ME" + } + } + } + using = tooltip_sw + } + + ### VASSAL LEVIES + hbox = { + visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]" + spacing = 5 + + icon = { + size = { 25 25 } + texture = "gfx/interface/icons/icon_levies.dds" + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]" + align = nobaseline + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "levy_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]" + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_LEVIES_TO_ME" + } + } + } + using = tooltip_sw + } + + ### VASSAL PIETY + hbox = { + visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetPietyRatioForLiege, '(CFixedPoint)0' )]" + + icon = { + size = { 30 30 } + texture = "[GetPlayer.GetPietyLevelTexture]" + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedPiety|=1]" + align = nobaseline + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "tax_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetPietyBreakdown]" + + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_PIETY_TO_ME" + } + } + } + using = tooltip_sw + } + + ### VASSAL HERD + hbox = { + visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetHerdRatioForLiege, '(CFixedPoint)0' )]" + + icon = { + size = { 30 30 } + texture = "gfx/interface/icons/icon_herd.dds" + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedHerd|=1]" + align = nobaseline + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "tax_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetHerdBreakdown]" + + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_HERD_TO_ME" + } + } + } + using = tooltip_sw + } + + ### VASSAL BARTER GOODS + hbox = { + visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetBarterGoodsRatioForLiege, '(CFixedPoint)0' )]" + + icon = { + size = { 30 30 } + texture = "gfx/interface/icons/icon_barter.dds" + } + + text_single = { + text = "[MyRealmWindowVassalItem.GetCachedBarterGoods|=1]" + align = nobaseline + } + + tooltipwidget = { + container_my_realm_window_contribution_tooltip = { + block "tax_breakdown" + { + datacontext = "[MyRealmWindowVassalItem.GetBarterGoodsBreakdown]" + + } + blockoverride "contribution_tooltip_header" + { + text = "MRW_TT_BARTER_GOODS_TO_ME" + } + } + } + using = tooltip_sw + } + } + } + + type hbox_vassal_list_icons = hbox { + spacing = 5 + + icon = { + name = "hook" + visible = "[Character.PlayerHasHooksOrHookableSecrets]" + size = { 25 25 } + framesize = { 40 40 } + texture = "gfx/interface/icons/portraits/hook_secret.dds" + + frame = "[Character.GetHookOrHookableSecretsFrame]" + tooltip = "[Character.HookTooltip]" + } + + icon = { + name = "icon_non_dejure" + visible = "[Not( SubjectContract.IsRightfulLiege )]" + size = { 30 30 } + texture = "gfx/interface/icons/levy_tax_reduction.dds" + + using = tooltip_ws + tooltip = "MRW_TT_NOT_RIGHTFUL_LIEGE" + } + } + + type vbox_vassal_item_footer = vbox { + layoutpolicy_horizontal = expanding + + margin_left = 5 + margin_right = 10 + margin_top = 5 + margin_bottom = 5 + spacing = 10 + + hbox = { + name = "subjects_contract_button" + layoutpolicy_horizontal = expanding + spacing = 10 + + background = { + using = Background_Area_Solid + margin = { 10 5 } + alpha = 0.75 + } + + icon = { + visible = "[Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ]" + size = { 42 42 } + texture = "gfx/interface/icons/symbols/icon_cross.dds" + tooltip = "MY_REALM_WINDOW_NO_FEUDAL_CONTRACT_TT" + enabled = no + } + + hbox_vassal_contract_button = { + visible = "[Not( Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ) ]" + } + + hbox_vassal_list_icons = {} + + expand = {} + + hbox_vassal_taxes = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + visible = "[SubjectContractGroup.IsType('clan_government')]" + + background = { + using = Background_Area_Dark + margin = { 10 5 } + alpha = 0.75 + } + + spacer = { + size = { 10 0 } + } + + hbox = { + spacing = 20 + + text_single = { + text = "[SubjectContractGroup.GetName]" + align = nobaseline + } + + button_standard = { + size = { 300 36 } + + onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]" + + text_single = { + parentanchor = vcenter|left + margin_left = 10 + max_width = 250 + align = nobaseline + + visible = "[Character.IsAssignedAsTaxpayer]" + + text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW" + } + + text_single = { + parentanchor = vcenter|left + margin_left = 10 + max_width = 250 + align = nobaseline + + visible = "[Not( Character.IsAssignedAsTaxpayer )]" + + text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED" + } + + icon = { + parentanchor = vcenter|right + size = { 30 30 } + position = { -5 0 } + texture = "gfx/interface/icons/flat_icons/replace.dds" + using = Master_Button_Modify_Texture + } + } + } + + expand = {} + } + } + + type hbox_traits_list = hbox + { + layoutpolicy_horizontal = expanding + + widget = { + layoutpolicy_horizontal = expanding + size = { 0 55 } + + hbox = { + name = "3_personality_traits" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" + + fixedgridbox = { + name = "personality_traits" + datamodel = "[TraitArrays.GetPersonalityTraits]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 3 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + hbox = { + visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" + layoutpolicy_vertical = expanding + margin = { 5 10 } + + divider_light = { + layoutpolicy_vertical = expanding + } + } + + fixedgridbox = { + name = "traits_big" + datamodel = "[TraitArrays.GetTraits]" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5')]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 5 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + fixedgridbox = { + name = "traits_medium" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'))]" + flipdirection = yes + addcolumn = 39 + addrow = 40 + maxhorizontalslots = 7 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 40 40 } + } + + blockoverride "glow_radius" + { + glow_radius = 4 + } + } + } + } + + fixedgridbox = { + name = "traits_small" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10'))]" + flipdirection = yes + addcolumn = 28 + addrow = 29 + maxhorizontalslots = 10 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 29 29 } + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + + fixedgridbox = { + name = "traits_tiny" + datamodel = "[TraitArrays.GetTraits]" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10')]" + flipdirection = yes + addcolumn = 24 + addrow = 25 + maxhorizontalslots = 11 + datamodel_wrap = 11 + maxverticalslots = 2 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 25 25 } + } + + blockoverride "glow_radius" + { + glow_radius = 2 + } + } + } + } + + expand = {} + } + + hbox = { + name = "4_personality_traits" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" + + fixedgridbox = { + name = "personality_traits" + datamodel = "[TraitArrays.GetPersonalityTraits]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 4 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + hbox = { + visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" + layoutpolicy_vertical = expanding + margin = { 5 10 } + + divider_light = { + layoutpolicy_vertical = expanding + } + } + + fixedgridbox = { + name = "traits_big" + datamodel = "[TraitArrays.GetTraits]" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 5 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + fixedgridbox = { + name = "traits_medium" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" + flipdirection = yes + addcolumn = 39 + addrow = 40 + maxhorizontalslots = 7 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 40 40 } + } + + blockoverride "glow_radius" + { + glow_radius = 4 + } + } + } + } + + fixedgridbox = { + name = "traits_small" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8'))]" + flipdirection = yes + addcolumn = 28 + addrow = 29 + maxhorizontalslots = 10 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 29 29 } + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + + fixedgridbox = { + name = "traits_tiny" + datamodel = "[TraitArrays.GetTraits]" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8')]" + flipdirection = yes + addcolumn = 24 + addrow = 25 + maxhorizontalslots = 9 + datamodel_wrap = 9 + maxverticalslots = 2 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 25 25 } + } + + blockoverride "glow_radius" + { + glow_radius = 2 + } + } + } + } + + expand = {} + } + } + expand = {} + } + + type hbox_traits_list_small = hbox + { + layoutpolicy_horizontal = expanding + + widget = { + layoutpolicy_horizontal = expanding + size = { 0 55 } + + hbox = { + name = "3_personality_traits" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" + + fixedgridbox = { + name = "personality_traits" + datamodel = "[TraitArrays.GetPersonalityTraits]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 3 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + hbox = { + visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" + layoutpolicy_vertical = expanding + margin = { 5 10 } + + divider_light = { + layoutpolicy_vertical = expanding + } + } + + fixedgridbox = { + name = "traits_big" + datamodel = "[TraitArrays.GetTraits]" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" + flipdirection = yes + addcolumn = 39 + addrow = 40 + maxhorizontalslots = 4 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 40 40 } + } + } + } + } + + fixedgridbox = { + name = "traits_small" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" + flipdirection = yes + addcolumn = 28 + addrow = 29 + maxhorizontalslots = 6 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 29 29 } + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + + fixedgridbox = { + name = "traits_tiny" + datamodel = "[TraitArrays.GetTraits]" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]" + flipdirection = yes + addcolumn = 24 + addrow = 25 + maxhorizontalslots = 7 + datamodel_wrap = 7 + maxverticalslots = 2 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 25 25 } + } + + blockoverride "glow_radius" + { + glow_radius = 2 + } + } + } + } + + expand = {} + } + + hbox = { + name = "4_personality_traits" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]" + + fixedgridbox = { + name = "personality_traits" + datamodel = "[TraitArrays.GetPersonalityTraits]" + flipdirection = yes + addcolumn = 54 + addrow = 55 + maxhorizontalslots = 4 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 55 55 } + } + } + } + } + + hbox = { + visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]" + layoutpolicy_vertical = expanding + margin = { 5 10 } + + divider_light = { + layoutpolicy_vertical = expanding + } + } + + fixedgridbox = { + name = "traits_big" + datamodel = "[TraitArrays.GetTraits]" + visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" + flipdirection = yes + addcolumn = 39 + addrow = 40 + maxhorizontalslots = 4 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 40 40 } + } + } + } + } + + fixedgridbox = { + name = "traits_small" + datamodel = "[TraitArrays.GetTraits]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" + flipdirection = yes + addcolumn = 28 + addrow = 29 + maxhorizontalslots = 6 + maxverticalslots = 1 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 29 29 } + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } + } + + fixedgridbox = { + name = "traits_tiny" + datamodel = "[TraitArrays.GetTraits]" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]" + flipdirection = yes + addcolumn = 24 + addrow = 25 + maxhorizontalslots = 6 + datamodel_wrap = 6 + maxverticalslots = 2 + + item = { + icon_trait = { + blockoverride "icon_size" + { + size = { 25 25 } + } + + blockoverride "glow_radius" + { + glow_radius = 2 + } + } + } + } + + expand = {} + } + } + expand = {} + } +} + +types Vassals +{ + type icon_vassal_contract_warning_blocked = alert_icon { + visible = "[SubjectContract.IsBlockedFromModification]" + parentanchor = bottom|right + size = { 20 20 } + + tooltip = "VASSAL_CONTRACT_IS_BLOCKED" + using = tooltip_sw + } + + type icon_vassal_contract_warning_default = alert_icon { + visible = "[Not( SubjectContract.IsContractDefault )]" + parentanchor = bottom|right + size = { 20 20 } + + tooltip = "VASSAL_CONTRACT_NOT_DEFAULT" + using = tooltip_sw + } + + type vassal_stance_icon = icon { + datacontext = "[Character.GetVassalStance]" + visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" + + texture = "[VassalStance.GetIcon]" + tooltipwidget = { + using = vassal_stance_tooltip + } + } + + type vassal_expected_legitimacy_widget = widget { + visible = "[And(And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) ), And( GetPlayer.GetGovernment.HasRule( 'legitimacy' ), GetPlayer.GetLegitimacyType.IsValid ) )]" + tooltip = "VASSAL_EXPECTED_LEGITIMACY_TT" + + # A glow if you are below their expectations. Needs to be its own icon since glow generation does not work on frame-based icons + icon = { + name = "below_glow" + size = { 100% 100% } + texture = "[GetPlayer.GetLegitimacyType.GetFlatIcon]" + + visible = "[GreaterThan_int32( Character.GetLegitimacyExpectationsOfLiege, Character.GetLiege.GetLegitimacyLevel.GetIndex )]" + using = Animation_Glow_Pulse + + glow = { + glow_radius = 3 + using = Glow_Standard + using = Color_Red + } + } + + icon = { + name = "tiered_icon" + size = { 100% 100% } + + texture = "[GetPlayer.GetLegitimacyType.GetLevelsIcon]" + framesize = { 70 70 } + frame = "[IntToFrameIndex( Character.GetLegitimacyExpectationsOfLiege )]" + } + } +} + +#################################### +########### SCROLL AREA ############ +#################################### + +## Generic scrollarea. Remember that "scrollbox_content" can only contain one child without siblings. +types Scrollbar +{ + type scrollbox = scrollarea { + size = { 100 100 } + + scrollbarpolicy_horizontal = always_off + + block "scrollbox_scrollbar_vertical" + { + scrollbar_vertical = { + using = Scrollbar_Vertical + } + } + + block "scrollbox_background" + { + background = { + using = Background_Area + } + } + + scrollwidget = { + block "scrollbox_replace_vbox" + { + vbox = { + block "scrollbox_margins" + { + using = Scrollbox_Margins + } + + block "scrollbox_content" + { + debug_square = {} + } + + text_single = { + layoutpolicy_vertical = expanding + default_format = "#weak" + + block "scrollbox_empty" + { + visible = no + } + } + + block "scrollbox_expand" + { + expand = { + layoutpolicy_vertical = growing + } + } + } + } + } + + block "scrollbox_background_fade" { + icon = { + name = "scrollbar_fade" + texture = "gfx/interface/scrollbars/scrollbar_fade.dds" + size = { 100% 100% } + alwaystransparent = yes + + spriteType = Corneredtiled + spriteborder = { 0 30 } + } + } + } +} + +## Vertical scrollbar +template Scrollbar_Vertical +{ + scrollbar = { + name = "vertical_scrollbar" + size = { 12 12 } + wheelstep = 60 + direction = vertical + + track = { + button = { + size = { 12 12 } + gfxtype = buttongfx + + texture = "gfx/interface/scrollbars/scrollbar_track_vertical.dds" + spriteType = Corneredtiled + spriteborder = { 0 3 } + effectname = "NoHighlight" + } + } + + slider = { + button = { + gfxtype = framedbuttongfx + effectname = "NoHighlight" + + texture = "gfx/interface/scrollbars/scrollbar_slider.dds" + spriteType = Corneredtiled + spriteborder = { 0 3 } + framesize = { 12 40 } + minimumsize = { -1 40 } + + upframe = 1 + overframe = 2 + downframe = 2 + + oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over" + + state = { + name = _mouse_press + start_sound = { + soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" + } + } + + state = { + name = _mouse_release + start_sound = { + soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" + } + } + } + } + + dec_button = { + button = { + } + } + + inc_button = { + button = { + } + } + } +} + +## Horizontal scrollbar +template Scrollbar_Horizontal +{ + scrollbar = { + name = "horizontal_scrollbar" + size = { 12 12 } + wheelstep = 60 + direction = horizontal + + track = { + button = { + size = { 12 12 } + gfxtype = buttongfx + + texture = "gfx/interface/scrollbars/scrollbar_track_horizontal.dds" + spriteType = Corneredtiled + spriteborder = { 3 0 } + effectname = "NoHighlight" + intersectionmask = yes + } + } + + slider = { + button = { + gfxtype = framedbuttongfx + effectname = "NoHighlight" + + texture = "gfx/interface/scrollbars/scrollbar_slider_horizontal.dds" + spriteType = Corneredtiled + spriteborder = { 3 0 } + framesize = { 40 12 } + minimumsize = { 15 -1 } + + upframe = 1 + overframe = 2 + downframe = 2 + + intersectionmask = yes + oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over" + + state = { + name = _mouse_press + start_sound = { + soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" + } + } + + state = { + name = _mouse_release + start_sound = { + soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select" + } + } + } + } + + dec_button = { + button = { + } + } + + inc_button = { + button = { + } + } + } +} + +types DataModelViewTypes +{ + type data_model_view_options_hbox = hbox + { + spacing = 5 + + button_standard = { + name = "filters" + size = { 25 25 } + + down = "[DataModelView.AreFiltersShown]" + onclick = "[DataModelView.ToggleFiltersShown]" + + tooltip = "TOGGLE_FILTERS" + using = tooltip_nw + + button_search = { + alwaystransparent = yes + parentanchor = center + size = { 20 20 } + } + } + + divider_light = { + size = { 3 20 } + } + + text_single = { + text = "SORT_BY" + align = nobaseline + } + + dropdown_menu_standard = { + name = "sort_options" + + blockoverride "dropdown_properties" + { + datamodel = "[DataModelView.GetSorters]" + selectedindex = "[DataModelView.GetActiveSortIndex]" + onselectionchanged = "[DataModelView.SortBy]" + } + + blockoverride "dropdown_active_item_properties" + { + text = "[DataModelSorter.GetName]" + } + + blockoverride "dropdown_item_properties" + { + text = "[DataModelSorter.GetName]" + } + } + + button_standard = { + name = "sort_order" + size = { 25 25 } + + using = tooltip_ne + onclick = "[DataModelView.ToggleSortOrder]" + + button_icon = { + size = { 25 25 } + texture = "gfx/interface/icons/flat_icons/sort_icon.dds" + framesize = { 66 66 } + frame = "[BoolTo1And2( DataModelView.GetSortOrder )]" + + alwaystransparent = yes + + blockoverride "button_frames" + { + effectname = "NoHighlight" + } + } + } + } + + type data_model_view_toggle_filter = button_checkbox_label + { + layoutpolicy_horizontal = expanding + + onclick = "[DataModelView.ToggleFilter( PdxGuiWidget.GetIndexInDataModel )]" + + block "toggle_onclick" + { + } + + blockoverride "checkbox" + { + checked = "[DataModelFilter.IsEnabled]" + } + + blockoverride "text" + { + text = "[DataModelFilter.GetName]" + } + } + + type data_model_view_dropdown_filter = hbox + { + layoutpolicy_horizontal = expanding + + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "[DataModelGroupedFilter.GetGroupName]" + default_format = "#medium" + align = nobaseline + autoresize = no + } + + dropdown_menu_standard = { + blockoverride "dropdown_properties" + { + datamodel = "[DataModelGroupedFilter.GetFilters]" + selectedindex = "[DataModelGroupedFilter.GetActiveFilter]" + onselectionchanged = "[DataModelView.SelectGroupFilter( PdxGuiWidget.GetIndexInDataModel )]" + + block "dropdown_onselect" + { + } + } + + blockoverride "dropdown_active_item_properties" + { + text = "[CString.GetString]" + } + + blockoverride "dropdown_item_properties" + { + text = "[CString.GetString]" + } + } + } + + type data_model_view_filter_hbox = hbox + { + layoutpolicy_horizontal = expanding + spacing = 10 + + hbox = { + name = "toggle_filters" + layoutpolicy_horizontal = expanding + datamodel = "[DataModelView.GetFilters]" + + item = { + data_model_view_toggle_filter = {} + } + } + + hbox = { + name = "grouped_filters" + layoutpolicy_horizontal = expanding + datamodel = "[DataModelView.GetGroupedFilters]" + + item = { + data_model_view_dropdown_filter = {} + } + } + } + + type data_model_view_filters_window = window + { + visible_at_creation = no + visible = "[DataModelView.AreFiltersShown]" + + parentanchor = top|right + position = { -780 20 } + size = { 510 800 } + focuspolicy = click + + allow_outside = yes + + using = Window_Movable + using = Window_Background_Subwindow + + state = { + name = _show + using = Animation_FadeIn_Quick + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + } + + vbox = { + margin = { 4 4 } + + spacing = 10 + + header_pattern = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "CHARACTER_LIST_FILTERS" + } + blockoverride "button_close" + { + onclick = "[DataModelView.ToggleSortOrder]" + } + } + + scrollbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + blockoverride "scrollbox_content" + { + vbox = { + name = "toggle_filters" + layoutpolicy_horizontal = expanding + datamodel = "[DataModelView.GetFilters]" + + item = { + data_model_view_toggle_filter = {} + } + } + + vbox = { + name = "grouped_filters" + layoutpolicy_horizontal = expanding + datamodel = "[DataModelView.GetGroupedFilters]" + + item = { + data_model_view_dropdown_filter = {} + } + } + } + } + + hbox = { + layoutpolicy_horizontal = growing + margin_bottom = 10 + + button_standard = { + name = "remove_filters" + raw_text = "Remove Filters" + focuspolicy = click + onclick = "[DataModelView.RemoveAllFilters]" + } + } + } + } +} diff --git a/gui/window_government_administration.gui b/gui/window_government_administration.gui deleted file mode 100644 index f34781e4..00000000 --- a/gui/window_government_administration.gui +++ /dev/null @@ -1,4209 +0,0 @@ -window = { - name = "government_administration_window" - widgetid = "government_administration_window" - parentanchor = top|right - layer = windows_layer - movable = no - allow_outside = yes - - visible = "[And( IsGameViewOpen('government_administration'), IsDefaultGUIMode )]" - - using = Window_Size_MainTab - - datacontext = "[GovernmentAdministrationWindow.GetMeritPoolCharacterWindow]" - datacontext = "[GovernmentAdministrationWindow.GetTitle]" - datacontext = "[Title.GetHolder]" - - oncreate = "[BindTabsContext]" - oncreate = "[PdxGuiTabs.ListenFor( 'administration_tabs' )]" - - state = { - name = _show - using = Animation_FadeIn_Quick - using = Sound_WindowShow_Standard - using = Window_Position_MainTab - using = Expand_Admin_Themes - on_start = "[SetMapMode( 'admin_vassal_types_map' )]" - - on_start = "[PdxGuiTabs.AddTabIf( 'family', GetPlayer.GetGovernment.HasRule( 'administrative' ) )]" # Referenced in Code, don't rename` - on_start = "[PdxGuiTabs.AddTab( 'families' )]" - on_start = "[PdxGuiTabs.AddTabIf( 'themes', Character.GetGovernment.HasRule( 'administrative' ) )]" - - on_start = "[GetVariableSystem.Clear( 'show_prominent_appointment' )]" - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - using = Sound_WindowHide_Standard - using = Window_Position_MainTab_Hide - on_start = "[SetMapMode( 'realms' )]" - on_start = "[MeritPoolWindow.Close]" - on_start = "[PdxGuiTabs.RemoveTab( 'family' )]" - on_start = "[PdxGuiTabs.RemoveTab( 'families' )]" - on_start = "[PdxGuiTabs.RemoveTab( 'themes' )]" - } - - margin_widget = { - size = { 100% 100% } - margin_top = 30 - margin_bottom = 12 - margin_right = 13 - - widget = { - size = { 100% 100% } - - vbox = { - using = Window_Margins - - header_pattern = { - layoutpolicy_horizontal = expanding - - blockoverride "header_text" - { - text = "ADMINISTRATIVE_GOVERNMENT_HEADER" - } - - blockoverride "button_close" - { - onclick = "[GovernmentAdministrationWindow.Close]" - } - } - - hbox_tab_buttons = { - name = "administration_tabs" - - blockoverride "tab_name" - { - text = "[PdxGuiTabItem.LocalizeTab( 'administraction_tab' )]" - } - - blockoverride "on_click" - { - onclick = "[CloseGameView( 'admin_vassal_detail_view' )]" - onclick = "[GetVariableSystem.Clear( 'show_prominent_appointment' )]" - } - } - - vbox = { - name = "your_family" - widgetid = "your_family" - datacontext = "[GovernmentAdministrationWindow.GetPlayerHouse]" - visible = "[PdxGuiTabs.IsTabSet( 'family' )]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin_top = 10 - margin_bottom = 15 - - vbox_your_family_tab = { - visible = "[Not( GetVariableSystem.Exists( 'show_prominent_appointment' ) )]" - } - - widget_your_family_appointments = { - visible = "[GetVariableSystem.Exists( 'show_prominent_appointment' )]" - } - } - - vbox = { - name = "themes" - visible = "[PdxGuiTabs.IsTabSet( 'themes' )]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin_top = 10 - margin_bottom = 15 - - widget_header_state_faith = {} - - hbox_theme_sort_options = { - blockoverride "dropdown_properties" - { - datamodel = "[GovernmentAdministrationWindow.GetOrderOptions]" - onselectionchanged = "[GovernmentAdministrationWindow.SortThemes]" - selectedindex = "[GovernmentAdministrationWindow.GetSortSelectedIndex]" - } - - button_checkbox_label = { - onclick = "[GovernmentAdministrationWindow.ToggleGroupByHouse]" - blockoverride "checkbox" - { - checked = "[GovernmentAdministrationWindow.ShouldGroupByHouse]" - } - - blockoverride "text" - { - text = "ADMIN_WINDOW_THEME_GROUP_BY_HOUSE" - } - } - } - - scrollbox = { - name = "admin_panel_province_list" # tutorial uses this - widgetid = "admin_panel_province_list" # tutorial uses this - - size = { 560 0 } - layoutpolicy_vertical = expanding - - blockoverride "scrollbox_content" - { - vbox_themes_list = { - name = "themes_list" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - } - } - } - } - - vbox = { - name = "powerful_families" - widgetid = "powerful_families" - visible = "[PdxGuiTabs.IsTabSet( 'families' )]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin_top = 5 - margin_bottom = 15 - - ### Top Liege - widget = { - size = { 560 140 } - - hbox = { - datacontext = "[GetIllustration( 'character_view_bg' )]" - spacing = 4 - margin = { 8 0 } - - background = { - texture = "[Illustration.GetTexture( Character.MakeScope )]" - alpha = 0.3 - fittype = centercrop - margin = { 10 0 } - - using = Mask_Rough_Edges - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical.dds" - blend_mode = alphamultiply - mirror = vertical - } - } - - vbox_featured_family_portrait_big = { - name = "government_panel_figurehead_family" #reactive_advice_welcome_to_japan_step_emperor_and_regent uses this - datacontext = "[GovernmentAdministrationWindow.GetFigureheadTitle]" - datacontext = "[GovernmentAdministrationWindow.GetFigureheadTitle.GetHolder]" - visible = "[Title.IsValid]" - - background = { - using = Background_Area_Dark - alpha = 0.5 - - margin = { 4 4 } - } - - blockoverride "interactions_on_click" - { - onclick = "[ToggleFilteredCharacterInteractionMenu(Character.Self, 'ceremonial_liege')]" - - tooltip = "ADMIN_GOVERNMENT_CEREMONIAL_LIEGE_INTERACTIONS_BUTTON_TOOLTIP" - tooltip_visible = "[Not(IsInteractionMenuOpenForCharacterWithFilter(Character.Self, 'ceremonial_liege'))]" - } - - blockoverride "interaction_number_text" - { - text = "[GetNumberOfValidInteractionsWithFilter(Character.Self, 'ceremonial_liege')]" - } - - blockoverride "subtitle" - { - text = "[GetPlayer.Custom('GetCeremonialLiegeOrLiegeTitle')]" - } - } - - vbox_featured_family_portrait_big = { - name = "government_panel_defacto_ruling_family" #reactive_advice_welcome_to_japan_step_emperor_and_regent uses this - datacontext = "[GovernmentAdministrationWindow.GetTitle]" - datacontext = "[Title.GetHolder]" - - blockoverride "interactions_on_click" - { - onclick = "[ToggleFilteredCharacterInteractionMenu(Character.Self, 'admin_liege')]" - - tooltip = "ADMIN_GOVERNMENT_LIEGE_INTERACTIONS_BUTTON_TOOLTIP" - tooltip_visible = "[Not(IsInteractionMenuOpenForCharacterWithFilter(Character.Self, 'admin_liege'))]" - } - - blockoverride "interaction_number_text" - { - text = "[GetNumberOfValidInteractionsWithFilter(Character.Self, 'admin_liege')]" - } - - blockoverride "subtitle" - { - text = "[GetPlayer.GetTopLiege.Custom('GetImperialFamilyType')]" - } - } - - expand = {} - } - } - - - scrollbox = { - size = { 560 0 } - layoutpolicy_vertical = expanding - - blockoverride "scrollbox_content" - { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - vbox = { - name = "family_groups_container" - - margin = { 0 4 } - - layoutpolicy_horizontal = expanding - - datamodel = "[GovernmentAdministrationWindow.GetFamilyGroups]" - - item = { - vbox_family_group_foldout = {} - } - } - } - } - } - } - } - } - - window_merit_pool_characters = { - datacontext = "[GovernmentAdministrationWindow.GetMeritPoolCharacterList]" - datacontext = "[GovernmentAdministrationWindow.GetSelectedAdminMeritPool]" - visible = "[MeritPoolWindow.IsVisible]" - } -} - -types GovernmentAdministrationThemes -{ - type button_unassigned_county_item = button_standard_list - { - layoutpolicy_horizontal = expanding - - button_ignore = none - - raw_tooltip = "#X Not yet implemented button.#!" - default_format = "#X" - - background = { - using = Background_Area_Border - using = Background_Frame_Gold - } - - hbox = { - position = { 0 -5 } - margin = { 8 0 } - - coa_title_tiny_crown = { } - - text_single = { - layoutpolicy_horizontal = expanding - - text = "[Title.GetNameNoTooltip]" - } - - expand = { } - - button_plus = { } - } - } - - type vbox_house_theme_list = vbox - { - layoutpolicy_vertical = expanding - layoutpolicy_horizontal = expanding - spacing = 5 - - oncreate = "[BindFoldOutContext]" - oncreate = "[PdxGuiFoldOut.Unfold]" - - hbox = { - layoutpolicy_horizontal = expanding - - coa_house_tiny = { - visible = "[And(DynastyHouse.IsValid, GovernmentAdministrationWindow.ShouldGroupByHouse)]" - } - - button_expandable_toggle_field = { - layoutpolicy_horizontal = expanding - datacontext = "[AdministrativeHouseItem.GetHouse]" - - blockoverride "onclick" - { - onclick = "[GetVariableSystem.Toggle( AdministrativeHouseItem.GetGroupTitle )]" - } - - blockoverride "button_expand" - { - frame = "[BoolTo1And2( Not( GetVariableSystem.Exists( AdministrativeHouseItem.GetGroupTitle ) ) )]" - } - - blockoverride "text" - { - text = "[AdministrativeHouseItem.GetGroupTitle]" - } - } - } - - fixedgridbox = { - name = "assigned_themes_list" - visible = "[Not( GetVariableSystem.Exists( AdministrativeHouseItem.GetGroupTitle ) )]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - addcolumn = 525 - addrow = 95 - - datamodel = "[AdministrativeHouseItem.GetControlledThemes]" - - item = { - widget_theme_row_item = { - datacontext = "[AdministrativeTitleItem.GetTitle]" - visible = "[AdministrativeTitleItem.ShouldShowTitle]" - } - } - } - } - - type widget_theme_item_small_no_buttons = widget - { - block "outer_size" - { - size = { 80 80 } - } - allow_outside = yes - - widget = { - parentanchor = center - block "inner_size" - { - size = { 80 80 } - } - - icon = { - name = "crown" - parentanchor = top|hcenter - widgetanchor = bottom|hcenter - position = { 0 2 } - - size = { 64% 40% } - - texture = "gfx/interface/coat_of_arms/crown_strip_115.dds" - frame = "[Title.GetTierFrame]" - framesize = { 128 80 } - - } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/window_theme_administration/admin_theme_coa_title.dds" - } - - icon = { - size = { 100% 100% } - parentanchor = top|hcenter - texture = "gfx/interface/window_theme_administration/admin_theme_coa_title.dds" - } - - coat_of_arms_icon = { - parentanchor = top|hcenter - size = { 100% 100% } - coat_of_arms = "[Title.GetTitleCoA.GetTexture('(int32)256','(int32)256')]" - coat_of_arms_slot = "[Title.GetTitleCoA.GetSlot('(int32)256','(int32)256')]" - coat_of_arms_mask = "gfx/interface/window_theme_administration/admin_theme_mask.dds" - - modify_texture = { - texture = "gfx/interface/coat_of_arms/coa_overlay.dds" - blend_mode = overlay - spritetype = corneredTiled - } - - modify_texture = { - texture = "gfx/interface/colors/black.dds" - blend_mode = normal - alpha = 1 - - visible = "[Not(Title.GetHolder.IsValid)]" - } - } - - icon = { - parentanchor = top - size = { 100% 10 } - texture = "gfx/interface/window_theme_administration/admin_theme_coa_header.dds" - } - } - } - - # Think of this as the "Province Coat of Arms" - type widget_theme_item_small = widget - { - block "outer_size" - { - size = { 80 80 } - } - allow_outside = yes - - state = { - name = _mouse_hierarchy_enter - on_start = "[PdxGuiWidget.FindChild('theme_glow').TriggerAnimation('appear')]" - } - - state = { - name = _mouse_hierarchy_leave - on_start = "[PdxGuiWidget.FindChild('theme_glow').TriggerAnimation('disappear')]" - } - - tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_THEME_TT" - using = tooltip_ne - - button = { - name = "open_detail_button" - visible = "[And(Not( GetVariableSystem.Exists( 'admin_vassal_details_refresh' ) ), IsAdministrativeRuler(Title.GetHolder))]" - size = { 100% 100% } - - block "theme_item_onclick" - { - onclick = "[GetVariableSystem.Clear( 'AdminVassalDetailAppointment' )]" - onclick = "[ToggleAdminVassalDetailView( Title.Self )]" - down = "[IsAdminVassalDetailViewShown( Title.Self )]" - } - } - - button = { - name = "refresh_detail_button" - visible = "[And(GetVariableSystem.Exists( 'admin_vassal_details_refresh' ),IsAdministrativeRuler(Title.GetHolder))]" - size = { 100% 100% } - - onclick = "[PdxGuiTriggerAllAnimations('admin_vassal_details_refresh')]" - down = "[IsAdminVassalDetailViewShown( Title.Self )]" - - state = { - name = _mouse_click - delay = 0.2 - on_finish = "[ToggleAdminVassalDetailView( Title.Self )]" - } - } - - button = { - visible = "[Or( Not(Title.GetHolder.IsValid), And( And( Not( IsAdministrativeRuler( Title.GetHolder )), Not(Title.GetHolder.IsPlayerInteractionValid('demand_admin_interaction'))), Title.GetHolder.GetLiege.IsPlayer ) ) ]" - size = { 100% 100% } - onclick = "[DefaultOnCoatOfArmsClick(Title.GetID)]" - } - - ### Makes a yellow border around your coa, should we have this? ### - - #background = { - #visible = "[Title.GetHolder.IsPlayer]" - #using = Background_Area_Border - #using = Background_Frame_Gold - #} - - widget = { - size = { 162 162} - parentanchor = center - - block "inner_size" - { - size = { 80 80 } - } - - block "crown" { - icon = { - name = "crown" - parentanchor = top|hcenter - widgetanchor = bottom|hcenter - position = { 0 -2 } - - allow_outside = yes - - size = { 80% 56% } - - texture = "gfx/interface/coat_of_arms/crown_strip_115.dds" - frame = "[Title.GetTierFrame]" - framesize = { 128 80 } - } - } - - icon = { - size = { 100% 100% } - parentanchor = top|hcenter - texture = "gfx/interface/window_theme_administration/admin_theme_coa_title.dds" - } - - coat_of_arms_icon = { #Dynasty - parentanchor = top|hcenter - size = { 100% 100% } - coat_of_arms = "[Title.GetTitleCoA.GetTexture('(int32)256','(int32)256')]" - coat_of_arms_slot = "[Title.GetTitleCoA.GetSlot('(int32)256','(int32)256')]" - coat_of_arms_mask = "gfx/interface/window_theme_administration/admin_theme_mask.dds" - - modify_texture = { - texture = "gfx/interface/coat_of_arms/coa_overlay.dds" - blend_mode = overlay - spritetype = corneredTiled - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_glow.dds" - blend_mode = alphaMultiply - alpha = 0.6 - } - - modify_texture = { - texture = "gfx/interface/colors/black.dds" - blend_mode = normal - alpha = 0.5 - - visible = "[Not(Title.GetHolder.IsValid)]" - } - } - - icon = { - name = "theme_glow" - parentanchor = top|hcenter - size = { 100% 100% } - texture = "gfx/interface/window_theme_administration/admin_theme_glow.dds" - alpha = 0 - - state = { - name = appear - using = Animation_Curve_Default - duration = 0.2 - position = { 0 0 } - alpha = 0.7 - scale = 1.01 - } - - state = { - name = disappear - using = Animation_Curve_Default - duration = 0.2 - position = { 0 0 } - alpha = 0 - scale = 0.97 - } - } - - icon = { - parentanchor = top|hcenter - size = { 100% 10 } - position = { 0 -4} - texture = "gfx/interface/window_theme_administration/admin_theme_coa_header.dds" - } - } - - } - - type button_theme_row_admin = button_standard { - datacontext = "[AdministrativeTitleItem.GetPrimaryContractAndObligationItem]" - datacontext = "[PrimaryContractAndObligation.GetObligationLevel]" - size = { 476 90 } - - block "on_click" {} - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - margin_left = 70 - margin_bottom = 8 - - # Non-Admin item - widget = { - visible = "[Not( IsAdministrativeRuler( Title.GetHolder ) )]" - - size = { 0 38 } - layoutpolicy_horizontal = expanding - allow_outside = yes - - highlight_icon = { - size = { 384 36 } - position = { -68 2 } - mirror = horizontal - - texture = "gfx/interface/window_military/military_banner_blue.dds" - } - - hbox = { - parentanchor = left|vcenter - layoutpolicy_horizontal = expanding - margin = { 15 0 } - spacing = 10 - - # Name of non-theme - text_single = { - text = "ADMIN_WINDOW_THEME_NAME" - align = nobaseline - max_width = 350 - using = Font_Size_Medium - } - - # Non-Admin Tag - text_single = { - margin_right = 10 - - text = "ADMIN_WINDOW_VASSAL_GOVERNMENT_TYPE" - align = nobaseline - } - - expand = {} - } - } - - # Admin item - widget = { - visible = "[IsAdministrativeRuler( Title.GetHolder )]" - datacontext = "[AdministrativeTitleItem.GetPrimaryContractAndObligationItem]" - datacontext = "[PrimaryContractAndObligation.GetObligationLevel]" - - size = { 0 38 } - layoutpolicy_horizontal = expanding - allow_outside = yes - - icon = { - size = { 384 36 } - position = { -68 2 } - using = Background_Obligation_Banner_Right - } - - hbox = { - parentanchor = left|vcenter - layoutpolicy_horizontal = expanding - margin = { 10 0 } - spacing = 5 - - # Admin Icon - text_single = { - text = "ADMIN_WINDOW_THEME_ADMINISTRATION_TYPE_TEXT_ICON" - align = nobaseline - } - - # Name of theme - text_single = { - text = "ADMIN_WINDOW_THEME_NAME" - align = nobaseline - max_width = 350 - using = Font_Size_Medium - } - - expand = {} - } - } - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - hbox = { - margin_left = 10 - spacing = 10 - - text_single = { - datacontext = "[Title.GetHolder]" - - text = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY" - align = nobaseline - default_format = "#low" - max_width = 90 - min_width = 90 - - tooltip = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_TT" - } - - text_single = { - text = "ADMIN_WINDOW_THEME_TAXES" - align = nobaseline - max_width = 90 - min_width = 90 - } - - text_single = { - text = "ADMIN_WINDOW_THEME_LEVIES" - align = nobaseline - max_width = 90 - min_width = 90 - } - } - - hbox = { - datacontext = "[Title.GetHolder]" - visible = "[And( IsAdministrativeRuler( Title.GetHolder ), DataModelHasItems( AdministrativeTitleItem.GetRegiments ) )]" - - spacing = 5 - - icon_soldiers = { - size = { 25 25 } - } - - text_single = { - text = "ADMIN_WINDOW_THEME_TITLE_TROOPS" - align = nobaseline - } - } - - expand = {} - } - } - - widget_theme_item_small = { - parentanchor = vcenter - position = { 8 6 } - - tooltip_when_disabled = "ADMIN_WINDOW_NON_ADMIN_THEME_FAIL_DEMAND_INTERACTION" - using = tooltip_ws - - blockoverride "crown" { - icon = { - name = "crown" - parentanchor = top|hcenter - widgetanchor = bottom|hcenter - position = { 0 -2 } - - allow_outside = yes - - size = { 60% 42% } - - texture = "gfx/interface/coat_of_arms/crown_strip_115.dds" - frame = "[Title.GetTierFrame]" - framesize = { 128 80 } - } - } - - blockoverride "outer_size" - { - position = { -2 20 } - size = { 68 68 } - } - - blockoverride "inner_size" - { - size = { 68 68 } - } - } - } - - type widget_theme_row_item = widget - { - size = { 525 90 } - - button_theme_row_admin = { - visible = "[IsAdministrativeRuler( Title.GetHolder )]" - - blockoverride "on_click" - { - onclick = "[CloseGameView('character_interaction_confirmation')]" - onclick = "[GetVariableSystem.Clear( 'AdminVassalDetailAppointment' )]" - onclick = "[ClearAdminVassalDetailCandidate]" - onclick = "[ToggleAdminVassalDetailView( Title.Self )]" - down = "[IsAdminVassalDetailViewShown( Title.Self )]" - - tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_THEME_TT" - using = tooltip_ne - } - } - - button_theme_row_admin = { - datacontext = "[Title.GetHolder]" - visible = "[Not( IsAdministrativeRuler( Character ) )]" - - blockoverride "on_click" - { - enabled = "[And( And( And( Not( IsAdministrativeRuler( Character ) ), Character.IsValid ), Character.GetLiege.IsPlayer ), Character.IsPlayerInteractionValid('demand_admin_interaction') )]" - onclick = "[CloseGameView('admin_vassal_detail_view')]" - onclick = "[Character.OpenPlayerInteraction('demand_admin_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('demand_admin_interaction')]" - } - } - - widget = { - datacontext = "[Title.GetHolder]" - parentanchor = vcenter|right - position = { 4 0 } - size = { 48 90 } - - background = { - using = Background_Area_Dark - margin = { 3 2 } - } - - vbox = { - layoutpolicy_vertical = expanding - - coa_house_tiny = { - datacontext = "[Character.GetHouse]" - } - - widget = { - visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" - size = { 40 40 } - - text_single = { - parentanchor = hcenter - position = { -1 -2 } - text = "[Character.Custom('vassal_directive_icon')]" - align = nobaseline - using = Font_Size_Medium - - tooltip = "VASSAL_DIRECTIVE_ICON_TOOLTIP" - using = tooltip_se - } - - button_round = { - parentanchor = bottom|right - position = { 1 0 } - size = { 22 22 } - - enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]" - onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]" - using = tooltip_se - - button_give_directive = { - alwaystransparent = yes - parentanchor = center - size = { 18 18 } - } - } - } - - expand = {} - } - } - } - - type hbox_theme_contract_obligation_result = hbox - { - layoutpolicy_horizontal = expanding - spacing = 8 - - text_single = { - text = ADMIN_WINDOW_THEME_ADMINISTRATION_LEVIES - } - - text_single = { - text = ADMIN_WINDOW_THEME_ADMINISTRATION_TAXES - } - } - - type button_modify_theme = button_round { - visible = "[Character.IsPlayerInteractionShown('admin_liege_modify_vassal_contract_interaction')]" - enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]" - - onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]" - onclick = "[Character.PanCameraTo]" - - tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]" - - block "feudal_contract_button_round" {} - - button_add_laws = { - alwaystransparent = yes - parentanchor = center - } - } - - type button_replace_governor = button_round { - using = Placeholder_Inactive_Button - - tooltip = "REPLACE_GOVERNOR_TOOLTIP" - - button_change = { - parentanchor = center - } - } - - type button_revoke_theme = button_round { - enabled = "[Character.IsPlayerInteractionValid('revoke_title_interaction')]" - - onclick = "[Character.OpenPlayerInteraction('revoke_title_interaction')]" - onclick = "[Character.PanCameraTo]" - - tooltip = "[Character.GetPlayerInteractionTooltip('revoke_title_interaction')]" - - button_cancel = { - alwaystransparent = yes - parentanchor = center - } - } - - type vbox_themes_list = vbox - { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - using = Animation_Tab_Switch - - vbox = { - name = "house_list" - datamodel = "[GovernmentAdministrationWindow.GetHousesWithThemes]" - - layoutpolicy_horizontal = expanding - - item = { - vbox_house_theme_list = { - datacontext = "[AdministrativeHouseItem.GetHouse]" - layoutpolicy_horizontal = expanding - } - } - } - - expand = { } - } -} - -types GovernmentAdministration -{ - type vbox_merit_examinations = vbox { - - - } - - type widget_title_troop_icon = widget { - visible = "[Not( HiredTroopRegiment.IsLevies )]" - size = { 26 26 } - parentanchor = center - - widget = { - datacontext = "[HiredTroopRegiment.GetRegiment]" - size = { 100% 100% } - - tooltipwidget = regiment_container_tooltip - using = tooltip_se - } - - icon = { - size = { 26 26 } - texture = "[HiredTroopRegiment.GetMenAtArmsType.GetIcon]" - } - } - - type widget_header_state_faith = widget { - datacontext = "[Title.GetStateFaith]" - visible = "[GetPlayer.GetGovernment.HasRule( 'state_faith' )]" - size = { 562 50 } - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 16 0 } - margin_bottom = 10 - spacing = 5 - - text_single = { - text = "[state_faith|E]" - align = nobaseline - max_width = 120 - } - - button_standard = { - layoutpolicy_horizontal = expanding - minimumsize = { 200 33 } - - onclick = "[ToggleGameViewData( 'faith', Faith.GetID )]" - - hbox = { - layoutpolicy_horizontal = expanding - - icon = { - size = { 30 30 } - texture = "[Title.GetStateFaith.GetIcon]" - } - - text_single = { - text = "[Faith.GetNameNoTooltip]" - align = nobaseline - } - - expand = {} - } - } - - hbox = { - button_round = { - datacontext = "[GetDecisionWithKey('change_state_faith')]" - visible = "[Decision.IsShownForPlayer]" - size = { 30 30 } - - onclick = "[OpenGameViewData( 'decision_detail', Decision.Self )]" - tooltip = "[Decision.GetShortDescForPlayer]" - using = tooltip_ne - - button_change = { - parentanchor = center - alwaystransparent = yes - size = { 20 20 } - } - } - - button_round = { - datacontext = "[GetDecisionWithKey('adopt_state_faith')]" - visible = "[Decision.IsShownForPlayer]" - size = { 30 30 } - - onclick = "[OpenGameViewData( 'decision_detail', Decision.Self )]" - tooltip = "[Decision.GetShortDescForPlayer]" - using = tooltip_ne - - button_plus = { - size = { 20 20 } - parentanchor = center - alwaystransparent = yes - } - } - } - - divider_light = { - layoutpolicy_vertical = expanding - } - - text_single = { - text = "[GovernmentAdministrationWindow.GetCountiesOfStateFaith]" - align = nobaseline - } - } - } - - type widget_prominent_theme_banner = widget { - allow_outside = yes - layoutpolicy_horizontal = expanding - size = { 0 34 } - - # Banner Status available - block "background_banner" - { - highlight_icon = { - position = { -2 2 } - size = { 100% 100% } - mirror = horizontal - - texture = "gfx/interface/window_military/military_banner_blue.dds" - } - } - - # Name of theme - text_single = { - parentanchor = left|vcenter - - text = "ADMIN_WINDOW_THEME_NAME" - align = nobaseline - max_width = 330 - using = Font_Size_Medium - - block "text_margin" {} - } - - hbox = { - block "taxes_and_levies_visiblity" {} - layoutpolicy_horizontal = expanding - parentanchor = right|vcenter - margin_right = 8 - spacing = 10 - - expand = {} - - text_single = { - min_width = 52 - - text = "ADMIN_WINDOW_FIND_APPOINTMENT_TAXES" - align = nobaseline - } - - text_single = { - min_width = 52 - - text = "ADMIN_WINDOW_FIND_APPOINTMENT_LEVIES" - align = nobaseline - } - } - } - - type widget_prominent_theme_item = widget { - size = { 525 82 } - - button_standard = { - size = { 525 82 } - - block "on_click" {} - - tooltip = "ADMIN_WINDOW_THEME_ADMINISTRATION_THEME_TT" - using = tooltip_ne - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - hbox = { - layoutpolicy_horizontal = expanding - margin_left = 4 - - widget_prominent_theme_banner = { - visible = "[Not( GovernmentAdministrationWindow.AllowMeritPools )]" - - blockoverride "text_margin" { - margin_left = 75 - } - } - - widget_prominent_theme_banner = { - datacontext = "[GovernmentAdministrationWindow.GetSelectedAdminMeritPool]" - visible = "[GovernmentAdministrationWindow.AllowMeritPools]" - - blockoverride "text_margin" { - margin_left = 75 - } - - blockoverride "background_banner" - { - # Banner Status Military - highlight_icon = { - visible = "[AdminMeritPool.IsMilitary]" - position = { -4 2 } - size = { 100% 100% } - mirror = horizontal - - texture = "gfx/interface/window_military/military_banner_red.dds" - } - - # Banner Status Civilian - highlight_icon = { - visible = "[Not( AdminMeritPool.IsMilitary )]" - position = { -4 2 } - size = { 100% 100% } - mirror = horizontal - - texture = "gfx/interface/window_military/military_banner_blue.dds" - } - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - margin_left = 75 - margin_top = 8 - - text_single = { - max_width = 450 - layoutpolicy_horizontal = expanding - - text = "[ProminentThemeItem.GetSuccessionLineDesc]" - align = nobaseline - } - expand = {} - } - - hbox = { - visible = "[GovernmentAdministrationWindow.AllowMeritPools]" - layoutpolicy_horizontal = expanding - margin_left = 75 - spacing = 4 - - tooltip = "ADMIN_WINDOW_MERIT_POOLS_TITLE_RATING_TT" - using = tooltip_ne - - text_single = { - text = "ADMIN_WINDOW_MERIT_POOLS_TITLE_RATING" - align = nobaseline - } - - text_single = { - text = "[ProminentThemeItem.GetTitleProminence|V2]" - align = nobaseline - } - - expand = {} - } - expand = {} - } - - # Coat of Arms - widget_theme_item_small = { - visible = "[Title.IsAdministrativeProvince]" - parentanchor = left|vcenter - position = { 6 3 } - - blockoverride "crown" {} - - blockoverride "outer_size" - { - size = { 64 64 } - } - blockoverride "inner_size" - { - size = { 64 64 } - } - } - - coa_title_small_crown = { - parentanchor = left|vcenter - position = { 12 0 } - - visible = "[Not(Title.IsAdministrativeProvince)]" - } - - - } - } - - type vbox_prominent_theme_group_foldout = vbox { - spacing = 4 - - layoutpolicy_horizontal = expanding - - oncreate = "[BindFoldOutContext]" - oncreate = "[PdxGuiFoldOut.Unfold]" - - button_expandable_toggle_field = { - blockoverride "text" - { - text = "[ProminentThemeGroupItem.GetGroupTitle]" - } - } - - vbox = { - visible = "[PdxGuiFoldOut.IsUnfolded]" - - layoutpolicy_horizontal = expanding - - fixedgridbox = { - name = "themes_in_group" - datamodel = "[ProminentThemeGroupItem.GetItems]" - - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - addcolumn = 507 - addrow = 87 - - item = { - container = { - datacontext = "[ProminentThemeItem.GetTitle]" - datacontext = "[ProminentThemeItem.GetCandidate]" - - # Top Liege Title - widget_prominent_theme_item = { - visible = "[ObjectsEqual( Title.GetHolder, Character.GetTopLiege )]" - - blockoverride "on_click"{ - onclick = "[DefaultOnCoatOfArmsClick(Title.GetID)]" - } - - blockoverride "taxes_and_levies_visiblity" - { - visible = no - } - } - - # All other titles - widget_prominent_theme_item = { - visible = "[Not( ObjectsEqual( Title.GetHolder, Character.GetTopLiege ) )]" - - blockoverride "on_click"{ - onclick = "[CloseGameView( 'character_interaction_confirmation' )]" - onclick = "[GetVariableSystem.Set( 'AdminVassalDetailAppointment', 'true' )]" - onclick = "[SetAdminVassalDetailCandidate( Character.Self )]" - onclick = "[ToggleAdminVassalDetailView( Title.Self )]" - down = "[IsAdminVassalDetailViewShown( Title.Self )]" - } - } - } - } - } - } - } - - type button_promote_candidate_scheme = button_standard { - visible = "[Character.IsValid]" - minimumsize = { 100 33 } - - enabled = "[Character.IsPlayerInteractionValid( 'start_promote_interaction' )]" - onclick = "[Character.OpenPlayerInteraction( 'start_promote_interaction' )]" - tooltip = "[Character.GetPlayerInteractionTooltip( 'start_promote_interaction' )]" - tooltip_when_disabled = "[Character.GetPlayerInteractionValidBlockers( 'start_promote_interaction' )]" - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 5 - - expand = {} - - button_promote_candidate = { - alwaystransparent = yes - } - - text_single = { - max_width = 320 - - text = "ADMIN_VASSAL_DETAILS_PROMOTE_BUTTON" - default_format = "#clickable" - align = nobaseline|center - } - - expand = {} - } - } - - type button_influence_career = button_standard { - visible = "[Character.IsValid]" - minimumsize = { 100 33 } - - enabled = "[Character.IsPlayerInteractionValid( 'influence_meritorious_career_interaction' )]" - onclick = "[Character.OpenPlayerInteraction( 'influence_meritorious_career_interaction' )]" - tooltip = "[Character.GetPlayerInteractionTooltip( 'influence_meritorious_career_interaction' )]" - tooltip_when_disabled = "[Character.GetPlayerInteractionValidBlockers( 'influence_meritorious_career_interaction' )]" - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 5 - - expand = {} - - button_promote_candidate = { - alwaystransparent = yes - } - - text_single = { - max_width = 320 - - text = "influence_meritorious_career_interaction" - default_format = "#clickable" - align = nobaseline|center - } - - expand = {} - } - } - - type widget_your_family_appointments = vbox { - datacontext = "[GovernmentAdministrationWindow.GetSelectedProminentHouseMember]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - hbox = { - datacontext = "[Title.GetProvince.GetHolding]" - layoutpolicy_horizontal = expanding - margin = { 10 0 } - margin_bottom = 10 - spacing = 10 - - background = { - using = Background_Area_Holding - margin_bottom = 40 - - mirror = horizontal - } - - portrait_head = { - visible = "[Not( Character.HasMerit )]" - allow_outside = yes - } - - portrait_shoulders = { - visible = "[Character.HasMerit]" - allow_outside = yes - } - - # Content, except widgets - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # Top Section (not dropdowns) - # Character name - hbox = { - layoutpolicy_horizontal = expanding - - text_label_left = { - layoutpolicy_horizontal = expanding - text = "[Character.GetUINameNotMeNoTooltip]" - align = nobaseline - max_width = 380 - using = Font_Size_Medium - } - - expand = {} - - ### MERIT - Your Family - Selected Prominent House Member - hbox_merit_with_label = { - datacontext = "[GovernmentAdministrationWindow.GetMeritItem]" - } - } - - # Relation to you - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - max_width = 380 - - text = "[Character.GetRelationToString( GetPlayer )]" - align = nobaseline - - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - using = tooltip_se - } - expand = {} - } - - text_single = { - visible = "[Character.HasMerit]" - margin_top = 10 - margin_bottom = 4 - layoutpolicy_horizontal = expanding - - text = "ADMIN_WINDOW_MERIT_POOLS" - align = nobaseline - } - - expand = {} - } - - vbox = { - layoutpolicy_vertical = expanding - margin_top = 5 - margin_right = 5 - - button_round = { - allow_outside = yes - - clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_close" - onclick = "[CloseGameView('admin_vassal_detail_view')]" - onclick = "[GetVariableSystem.Clear( 'show_prominent_appointment' )]" - - shortcut = "go_back" - shortcut = "go_back_2" - shortcut = "go_back_3" - - tooltip = "ADMIN_WINDOW_FIND_APPOINTMENT_BACK_BUTTON_TT" - - button_back = { - parentanchor = center - position = { -2 0 } - alwaystransparent = yes - size = { 28 28 } - } - } - - expand = {} - } - } - - hbox_theme_sort_options = { - datacontext = "[GovernmentAdministrationWindow.GetTitle]" - - blockoverride "dropdown_properties" - { - datamodel = "[GovernmentAdministrationWindow.GetAppointmentOrderOptions]" - onselectionchanged = "[GovernmentAdministrationWindow.SortAppointmentThemes]" - selectedindex = "[GovernmentAdministrationWindow.GetAppointmentSortSelectedIndex]" - } - - blockoverride "sort_order_onclick" - { - onclick = "[GovernmentAdministrationWindow.ReverseAppointmentSortOrder]" - } - - blockoverride "sort_order_frame" - { - frame = "[BoolTo1And2(GovernmentAdministrationWindow.GetAppointmentSortOrder)]" - } - } - - # Prominent Theme Items - scrollbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - blockoverride "scrollbox_content" - { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - vbox = { - datamodel = "[GovernmentAdministrationWindow.GetProminentThemeGroups]" - layoutpolicy_horizontal = expanding - spacing = 2 - - item = { - vbox_prominent_theme_group_foldout = {} - } - } - } - blockoverride "scrollbox_expand" { - expand = {} - } - } - - - - expand = {} - } - - type vbox_your_family_tab = vbox { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - ## Top info - hbox = { - margin = { 15 0 } - margin_top = 10 - margin_bottom = 24 - layoutpolicy_horizontal = expanding - - using = Background_Area_Family_Decoration - - ## Left Side - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - spacing = 6 - margin_top = 6 - - hbox = { - layoutpolicy_horizontal = expanding - spacing = 12 - margin_right = 16 - - - # House Name - text_single = { - text = "HOUSE_VIEW_NAME_WITH_HOUSE" - using = Font_Size_Medium - default_format = "#high" - align = nobaseline - autoresize = no - layoutpolicy_horizontal = expanding - } - - text_single = { - text = "[DynastyHouse.GetFamilyStatusConcept]" - align = nobaseline|right - using = Font_Size_Small - autoresize = no - layoutpolicy_horizontal = expanding - } - } - - # House Land Share % - hbox = { - visible = "[And(Or(DynastyHouse.IsDominant,DynastyHouse.IsPowerful), Not( Character.HasMerit ))]" - layoutpolicy_horizontal = expanding - margin_left = -5 #Ugly solution to offset icon - - text_single = { - layoutpolicy_horizontal = expanding - - text = "ADMIN_WINDOW_HOUSE_LAND_SHARE" - tooltip = "ADMIN_WINDOW_HOUSE_LAND_SHARE_TOOLTIP" - align = nobaseline - max_width = 320 - } - - expand = {} - } - - - expand = {} - - # House Attribute - hbox = { - visible = "[DynastyHouse.UsesHouseAspirations]" - datacontext = "[DynastyHouse.GetHouseAspiration]" - layoutpolicy_horizontal = expanding - - spacing = 5 - - button_standard = { - size = { 230 33 } - onclick = "[ToggleGameViewData( 'house_aspiration_window', DynastyHouse.Self )]" - - tooltip = "HOUSE_VIEW_CHANGE_HOUSE_POWER" - - hbox = { - margin = { 5 0 } - spacing = 5 - - expand = {} - - button_icon = { - visible = "[GetPlayer.GetGovernment.IsType( 'administrative_government' )]" - size = { 28 28 } - texture = "[HouseAspiration.GetSmallIcon]" - } - - icon = { - visible = "[Not(GetPlayer.GetGovernment.IsType( 'administrative_government' ))]" - size = { 28 28 } - texture = "[HouseAspiration.GetSmallIcon]" - } - - text_single = { - text = "[HouseAspiration.GetName]" - align = nobaseline|center - default_format = "#clickable" - max_width = 190 - } - - expand = {} - } - } - - warning_icon = { - size = { 32 32 } - visible = "[And(GreaterThan_int32( GetDataModelSize( HouseAspiration.GetLevels ), '(int32)1' ), DynastyHouse.IsHouseAttributeInactive)]" - tooltip = "FAMILY_ATTRIBUTE_WINDOW_HOUSE_ASPIRATION_ALERT" - using = tooltip_se - } - - warning_icon = { - size = { 32 32 } - visible = "[And(Not(GreaterThan_int32( GetDataModelSize( HouseAspiration.GetLevels ), '(int32)1' )), DynastyHouse.IsHouseAttributeInactive)]" - tooltip = "FAMILY_ATTRIBUTE_WINDOW_ALERT" - using = tooltip_se - } - - expand = {} - } - - - } - - expand = {} - - ## Right Side - vbox = { - background = { - using = Background_Area - margin = { 6 12} - margin_top = 2 - } - - allow_outside = yes - - dynamicgridbox = { - - allow_outside = yes - - flipdirection = yes - maxverticalslots = 1 - - datamodel = "[GovernmentAdministrationWindow.AccessRankedNeighborFamilies]" - - item = { - widget_ranked_family_neighbor = { - datacontext = "[RankedHouseItem.GetHouse]" - } - - } - } - } - } - - # Investment cap - Only for admin realms who doesn't use merit - vbox = { - name = "government_panel_investment_cap_area" - visible = "[And( GetPlayer.GetTopLiege.GetGovernment.HasRule( 'administrative' ), Not( GetPlayer.GetTopLiege.GetGovernment.HasRule( 'merit' ) ) )]" - layoutpolicy_horizontal = expanding - spacing = 10 - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 15 2 } - margin_bottom = 5 - - background = { - using = Background_Area - } - - text_single = { - layoutpolicy_horizontal = expanding - max_width = 500 - - datacontext = "[GetPlayer]" - - text = "ADMINISTRATIVE_GOVERNMENT_INVESTMENT_CAP" - align = nobaseline - - datacontext = "[GuiScope.SetRoot( GetPlayer.MakeScope ).GetScriptValueBreakdown( 'appointment_investment_cap' )]" - tooltip_visible = "[ValueBreakdown.HasTooltip]" - - tooltipwidget = { - widget_value_breakdown_tooltip = { - blockoverride "header" { - text_label_left = { - layoutpolicy_horizontal = expanding - text = "ADMINISTRATIVE_GOVERNMENT_INVESTMENT_CAP_HEADER" - default_format = "#T" - } - } - } - } - using = tooltip_below - } - expand = {} - } - } - - #exams - vbox = { - name = "government_panel_exam_area" #lesson_china_exam uses this - widgetid = "government_panel_exam_area" #lesson_china_exam uses this - - visible = "[GetPlayer.GetTopLiege.GetGovernment.HasRule( 'merit' )]" - layoutpolicy_horizontal = expanding - spacing = 10 - - # non-joinable-now examinations - vbox = { - layoutpolicy_horizontal = expanding - margin = { 15 2 } - margin_bottom = 5 - - background = { - using = Background_Area - } - - text_label_left = { - layoutpolicy_horizontal = expanding - text = "[examinations|E]" - using = Font_Size_Medium - } - - ### Local Examination - hbox = { - datacontext = "[GetActivityType( 'activity_local_examination' )]" - datacontext = "[ActivityType.FindJoinableOpenActivityOfType]" - visible = "[Not( Activity.IsValid )]" - - layoutpolicy_horizontal = expanding - spacing = 5 - - tooltip = activity_local_examination_not_available_tt - - text_single = { - layoutpolicy_horizontal = expanding - min_width = 180 - max_width = 300 - - text = "activity_local_examination_with_icon" - align = nobaseline - } - - expand = {} - - text_single = { - text = "[ActivityType.GetLastSeenDateOfOpenActivityType]" - align = nobaseline - default_format = "#weak" - max_width = 120 - } - - button_round = { - onclick = "[ActivityType.ToggleShouldNotifyCanJoinOpenActivity]" - size = { 36 36 } - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanJoinOpenActivity]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "LOCAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanJoinOpenActivity)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "LOCAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - } - } - - divider_light = { - layoutpolicy_horizontal = expanding - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" - blend_mode = alphamultiply - } - } - - ### Imperial Examination - hbox = { - datacontext = "[GetActivityType( 'activity_imperial_examination' )]" - datacontext = "[ActivityType.FindJoinableOpenActivityOfType]" - visible = "[Not( Activity.IsValid )]" - - layoutpolicy_horizontal = expanding - spacing = 5 - - tooltip = activity_imperial_examination_not_available_tt - - text_single = { - layoutpolicy_horizontal = expanding - min_width = 180 - text = "activity_imperial_examination_with_icon" - align = nobaseline - max_width = 300 - } - - expand = {} - - text_single = { - text = "[ActivityType.GetLastSeenDateOfOpenActivityType]" - align = nobaseline - default_format = "#weak" - max_width = 120 - } - - button_round = { - onclick = "[ActivityType.ToggleShouldNotifyCanJoinOpenActivity]" - size = { 36 36 } - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanJoinOpenActivity]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "CAPITAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanJoinOpenActivity)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "CAPITAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - } - } - } - - # joinable activities - vbox = { - margin = { 15 0 } - layoutpolicy_horizontal = expanding - visible = "[Or( GetActivityType( 'activity_local_examination' ).FindJoinableOpenActivityOfType.IsValid, GetActivityType( 'activity_imperial_examination' ).FindJoinableOpenActivityOfType.IsValid )]" - - hbox = { - layoutpolicy_horizontal = expanding - datacontext = "[GetActivityType( 'activity_local_examination' )]" - datacontext = "[ActivityType.FindJoinableOpenActivityOfType]" - visible = "[Activity.IsValid]" - spacing = 10 - - button_standard = { - layoutpolicy_horizontal = expanding - visible = "[Activity.IsValid]" - - onclick = "[ToggleGameViewData( 'activity_list_detail_invite_window', Activity.Self )]" - down = "[IsGameViewDataShown( 'activity_list_detail_invite_window', Activity.Self )]" - tooltip = JOIN_ACTIVITY_TOOLTIP - - text = "ACTIVITY_LIST_JOIN_GENERIC" - } - - button_round = { - size = { 36 36 } - onclick = "[ActivityType.ToggleShouldNotifyCanJoinOpenActivity]" - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanJoinOpenActivity]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "LOCAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanJoinOpenActivity)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "LOCAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - datacontext = "[GetActivityType( 'activity_imperial_examination' )]" - datacontext = "[ActivityType.FindJoinableActivityOfType]" - visible = "[Activity.IsValid]" - spacing = 10 - - button_standard = { - layoutpolicy_horizontal = expanding - visible = "[Activity.IsValid]" - - onclick = "[ToggleGameViewData( 'activity_list_detail_invite_window', Activity.Self )]" - down = "[IsGameViewDataShown( 'activity_list_detail_invite_window', Activity.Self )]" - tooltip = JOIN_ACTIVITY_TOOLTIP - - text = "ACTIVITY_LIST_JOIN_GENERIC" - } - - button_round = { - size = { 36 36 } - onclick = "[ActivityType.ToggleShouldNotifyCanJoinOpenActivity]" - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanJoinOpenActivity]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "CAPITAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanJoinOpenActivity)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "CAPITAL_EXAMINATIONS_NOTIFY_TOGGLE_TT" - } - } - } - } - - # hostable activities - vbox = { - visible = "[Or( GetActivityType( 'activity_local_examination' ).CanPlanActivity( GetPlayer.Self ), GetActivityType( 'activity_imperial_examination' ).CanPlanActivity( GetPlayer.Self ) )]" - layoutpolicy_horizontal = expanding - margin = { 15 0 } - - hbox = { - datacontext = "[GetActivityType( 'activity_local_examination' )]" - visible = "[ActivityType.CanPlanActivity( GetPlayer.Self )]" - layoutpolicy_horizontal = expanding - spacing = 10 - - button_standard = { - layoutpolicy_horizontal = expanding - text = "ACTIVITY_LIST_HOST_GENERIC" - - enabled = "[ActivityType.CanStartActivity( GetPlayer.Self )]" - onclick = "[ToggleGameViewData( 'activity_list_detail_host_window', ActivityType.Self )]" - down = "[IsGameViewDataShown( 'activity_list_detail_host_window', ActivityType.Self )]" - - tooltip = SHOW_ACTIVITY_TOOLTIP - } - - button_round = { - onclick = "[ActivityType.ToggleShouldNotifyCanHost]" - size = { 36 36 } - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanHost]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "ACTIVITY_LIST_NOTIFY_ME_ABOUT_HOSTING_EXAMINATIONS_LOCAL_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanHost)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "ACTIVITY_LIST_NOTIFY_ME_ABOUT_HOSTING_EXAMINATIONS_LOCAL_TT" - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - datacontext = "[GetActivityType( 'activity_imperial_examination' )]" - visible = "[ActivityType.CanPlanActivity( GetPlayer.Self )]" - spacing = 10 - - button_standard = { - layoutpolicy_horizontal = expanding - - enabled = "[ActivityType.CanStartActivity( GetPlayer.Self )]" - onclick = "[ToggleGameViewData( 'activity_list_detail_host_window', ActivityType.Self )]" - down = "[IsGameViewDataShown( 'activity_list_detail_host_window', ActivityType.Self )]" - tooltip = SHOW_ACTIVITY_TOOLTIP - - text = "ACTIVITY_LIST_HOST_GENERIC" - } - - button_round = { - onclick = "[ActivityType.ToggleShouldNotifyCanHost]" - size = { 36 36 } - - button_icon = { - visible = "[ActivityType.ShouldNotifyCanHost]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_on.dds" - size = { 24 24 } - - tooltip = "ACTIVITY_LIST_NOTIFY_ME_ABOUT_HOSTING_EXAMINATIONS_IMPERIAL_TT" - } - - button_icon = { - visible = "[Not(ActivityType.ShouldNotifyCanHost)]" - parentanchor = center - alwaystransparent = yes - texture = "gfx/interface/icons/flat_icons/notifications_off.dds" - size = { 24 24 } - - tooltip = "ACTIVITY_LIST_NOTIFY_ME_ABOUT_HOSTING_EXAMINATIONS_IMPERIAL_TT" - } - } - } - } - } - - spacer = { - size = { 0 10 } - } - - ## Prominent House Member Character List - vbox_character_list = { - name = "admin_panel_your_family_character_list" #ra_merit_candidacy_house_members uses this - datacontext = "[GovernmentAdministrationWindow.AccessProminentHouseMemberList]" - datacontext = "[GovernmentAdministrationWindow.AccessProminentHouseMemberCharacterList]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - blockoverride "sort_buttons" - { - hbox_list_sort_buttons = { - layoutpolicy_horizontal = expanding - - blockoverride "margins" { - margin_left = 15 - margin_right = -38 #-margin to offset an expand in the hbox_list_sort_buttons type. This was an easier solution that going into the base type and fix since we use it in so many places. - margin_top = 5 - spacing = 5 - } - - blockoverride "filters_visible" { - visible = no - } - - blockoverride "sort_prefix" { - text_single = { - text = "ADMIN_WINDOW_PROMINENT_MEMBERS" - align = nobaseline - max_width = 240 - } - expand = {} - } - - blockoverride "sort_dropdown" { - dropdown_sort_characterlist = { - name = "prominent_house_member_sort_options" - } - } - } - } - - blockoverride "skill_sort_buttons" {} - blockoverride "character_count" {} - - blockoverride "scrollbox_empty_visibility" - { - layoutpolicy_vertical = expanding - visible = "[Not( CharacterSelectionList.HasItems )]" - - text = "ADMIN_WINDOW_NO_FAMILY_MEMBERS" - } - - blockoverride "container_implementation" - { - ### CHARACTER LIST ITEM - MERIT ### - fixedgridbox = { - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), GetPlayer.GetTopLiege.GetGovernment.HasRule( 'merit' ) )]" - - addcolumn = 530 - addrow = 187 - - item = { - widget_prominent_house_member_item_celestial = {} - } - } - - ### CHARACTER LIST ITEM - OTHER ADMIN ### - fixedgridbox = { - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( GetPlayer.GetTopLiege.GetGovernment.HasRule( 'merit' ) ) )]" - - addcolumn = 530 - addrow = 130 - - item = { - widget_prominent_house_member_item = {} - } - } - } - } - } - - type widget_prominent_house_member_item_celestial = widget { - datacontext = "[CharacterListItem.GetCharacter]" - size = { 530 182 } - - background = { - using = Background_Area_Dark - - alpha = 0.6 - margin = { -2 -2 } - margin_bottom = -120 - } - - background = { - using = Background_Frame - } - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin = { 10 9 } - spacing = 5 - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - vbox = { - layoutpolicy_vertical = expanding - - ### LEFT PORTRAIT - portrait_head = {} - - expand = {} - } - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - hbox = { - layoutpolicy_horizontal = expanding - - vbox = { - layoutpolicy_horizontal = expanding - - ### NAME - hbox = { - margin_left = 5 - layoutpolicy_horizontal = expanding - - text_single = { - max_width = 310 - - text = "[Character.GetUINameNotMeNoTooltip]" - using = Font_Size_Medium - align = nobaseline - } - - expand = {} - } - - ### RELATION - hbox = { - margin_left = 5 - layoutpolicy_horizontal = expanding - - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - using = tooltip_se - - text_single = { - max_width = 310 - - text = "[Character.GetRelationToString( GetPlayer )]" - align = nobaseline - } - - expand = {} - } - } - - expand = {} - - vbox = { - layoutpolicy_vertical = expanding - allow_outside = yes - - hbox = { - allow_outside = yes - margin_right = 5 - - widget = { - datacontext = "[ProminentHouseMemberCharacterList.GetMeritItem( CharacterListItem.GetIndex )]" - visible = "[GreaterThanOrEqualTo_int32( Character.GetMeritLevel, '(int32)1' )]" - size = { 76 46 } - allow_outside = yes - - ### MERIT - Your Family - Character List Selection - hbox_merit_with_label = { - name = "admin_panel_character_item_merit_rank" - - blockoverride "icon_size" - { - size = { 42 42 } - } - - blockoverride "hbox_merit_with_label_background" {} - } - } - - widget = { - datacontext = "[ProminentHouseMemberCharacterList.GetMeritItem( CharacterListItem.GetIndex )]" - visible = "[EqualTo_int32( Character.GetMeritLevel, '(int32)0' )]" - size = { 90 46 } - allow_outside = yes - - ### MERIT - Your Family - Character List Selection - hbox_merit_with_label = { - name = "admin_panel_character_item_merit_rank" - - blockoverride "icon_size" - { - size = { 42 42 } - } - - blockoverride "hbox_merit_with_label_background" {} - } - } - - expand = {} - } - } - } - - ### MERIT and EXAMINATIONS (adults) - hbox = { - visible = "[And(Character.IsAdult, Character.ShouldShowMerit)]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_left = 5 - spacing = 16 - - ### MERIT POOLS - hbox = { - datamodel = "[ProminentHouseMemberCharacterList.GetMeritPools( CharacterListItem.GetIndex )]" - visible = "[Not(IsDataModelEmpty( ProminentHouseMemberCharacterList.GetMeritPools( CharacterListItem.GetIndex )))]" - margin_top = 10 - spacing = 10 - - item = { - button_merit_pool_item = { - blockoverride "default_format" {} - } - } - } - - text_multi = { - visible = "[IsDataModelEmpty( ProminentHouseMemberCharacterList.GetMeritPools( CharacterListItem.GetIndex ))]" - text = "ADMIN_WINDOW_CHARACTER_NOT_IN_ANY_CANDIDATE_LIST" - default_format = "#weak" - max_width = 240 - autoresize = yes - } - - expand = {} - - hbox = { - layoutpolicy_vertical = expanding - margin_top = 5 - - expand = {} - - ### EXAMINATIONS (all 3 adult exams, if there is space) - hbox = { - name = "admin_panel_character_item_exams" #ra_merit_candidacy_exams uses this - - visible = "[LessThanOrEqualTo_int32( GetDataModelSize(ProminentHouseMemberCharacterList.GetMeritPools( CharacterListItem.GetIndex )) , '(int32)3' )]" - - spacing = 5 - layoutpolicy_horizontal = expanding - - widget_provincial_exam_status = { - - size = { 40 40 } - } - - widget_metropolitan_exam_status = { - size = { 40 40 } - } - - widget_palace_exam_status = { - size = { 40 40 } - } - } - - ### PALACE EXAM (if there is little space) - - widget_palace_exam_status = { - visible = "[GreaterThanOrEqualTo_int32( GetDataModelSize(ProminentHouseMemberCharacterList.GetMeritPools( CharacterListItem.GetIndex )) , '(int32)4' )]" - } - } - } - - ### MERIT and EXAMINATIONS (children) - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - visible = "[And(Not(Character.IsAdult), Character.ShouldShowMerit)]" - - spacing = 4 - margin = { 4 4 } - - widget_childrens_exam_status = { - # no icons needed, the text already has them - blockoverride "pass_fail_icons" {} - } - - vbox = { - layoutpolicy_horizontal = expanding - - text_single = { - layoutpolicy_horizontal = expanding - text = "game_concept_childrens_examination" - align = nobaseline - } - - text_single = { - layoutpolicy_horizontal = expanding - text = "CHILDRENS_EXAMINATION_PASSED_FAIL" - align = nobaseline - } - } - } - - } - } - - ### BUTTONS BOTTOM ROW - hbox = { - layoutpolicy_horizontal = expanding - - margin = { 5 0 } - margin_bottom = 5 - spacing = 10 - - # Scheme 'influence_candidacy_interaction' - button_standard = { - datacontext = "[GetNullLandedTitle]" - visible = "[Character.IsPlayerInteractionShown( 'influence_candidacy_interaction' )]" - layoutpolicy_horizontal = expanding - minimumsize = { 0 33 } - - onclick = "[Character.OpenPlayerInteractionWithTargetTitle( 'influence_candidacy_interaction', Title.Self )]" - - tooltip = "[Character.GetPlayerInteractionTooltip( 'influence_candidacy_interaction' )]" - tooltip_when_disabled = "[Character.GetPlayerInteractionValidBlockers( 'influence_candidacy_interaction' )]" - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 8 4 } - spacing = 4 - - button_promote_candidate = { - alwaystransparent = yes - } - - text_single = { - max_width = 430 - - text = "ADMIN_VASSAL_DETAILS_VOTE_FOR_SUCCESSOR_BUTTON" - default_format = "#clickable" - align = nobaseline - } - - expand = {} - } - } - - button_influence_career = { - name = "admin_panel_character_item_influence_career" #ra_merit_candidacy_score uses this - visible = "[Not(Character.IsPlayerInteractionShown( 'send_child_to_examination_interaction' ))]" - layoutpolicy_horizontal = expanding - } - - button_promote_candidate_scheme = { - name = "admin_panel_character_item_promote_scheme" #ra_merit_candidacy_score uses this - - # hide invalid interaction to save space - visible = "[And(Character.IsValid,Character.IsPlayerInteractionValid( 'start_promote_interaction' ))]" - layoutpolicy_horizontal = expanding - } - - ### Interaction Button - Child Exam - button_standard = { - name = "admin_panel_character_item_child_exam" #ra_merit_candidacy_child_exams uses this - visible = "[Character.IsPlayerInteractionShown( 'send_child_to_examination_interaction' )]" - layoutpolicy_horizontal = expanding - minimumsize = { 0 33 } - - enabled = "[Character.IsPlayerInteractionValid( 'send_child_to_examination_interaction' )]" - onclick = "[Character.OpenPlayerInteraction( 'send_child_to_examination_interaction' )]" - - tooltip = "[Character.GetPlayerInteractionTooltip( 'send_child_to_examination_interaction' )]" - tooltip_when_disabled = "[Character.GetPlayerInteractionValidBlockers( 'send_child_to_examination_interaction' )]" - - text = "send_child_to_examination_interaction" - } - - ### Decision Button - Attend Child Exam - button_decision_entry = { - datacontext = "[GetDecisionWithKey( 'tgp_china_attend_child_exam_decision' )]" - visible = "[And( Not( Character.IsPlayerInteractionShown( 'send_child_to_examination_interaction' ) ), Decision.IsShownForPlayer )]" - - blockoverride "button_size" - { - minimumsize = { 300 33 } - } - - onclick = "[OpenGameViewData( 'decision_detail', Decision.Self )]" - } - } - } - } - - type widget_prominent_house_member_item = widget { - datacontext = "[CharacterListItem.GetCharacter]" - size = { 530 124 } - allow_outside = yes - - background = { - using = Background_Area - } - - # Container - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - background = { - using = Background_Area_Dark - alpha = 0.8 - - margin_bottom = -65 - } - - vbox = { - layoutpolicy_vertical = expanding - - portrait_head = {} - - expand = {} - } - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - margin = { 5 5 } - margin_top = 4 - - hbox = { - layoutpolicy_horizontal = expanding - allow_outside = yes - - vbox = { - layoutpolicy_horizontal = expanding - - hbox = { - layoutpolicy_horizontal = expanding - - # Character name - text_single = { - layoutpolicy_horizontal = expanding - max_width = 340 - - text = "[Character.GetUINameNotMeNoTooltip]" - using = Font_Size_Medium - align = nobaseline - } - - expand = {} - } - - # Relation to you - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - layoutpolicy_horizontal = expanding - max_width = 340 - - text = "[Character.GetRelationToString( GetPlayer )]" - align = nobaseline - - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - using = tooltip_se - } - - expand = {} - } - } - - expand = {} - - # CoA Theme - vbox = { - layoutpolicy_vertical = expanding - margin_top = 2 - margin_right = 14 - allow_outside = yes - - - widget = { - size = { 50 50 } - allow_outside = yes - - widget_theme_item_small = { - datacontext = "[Character.GetPrimaryTitle]" - visible = "[Title.IsValid]" - parentanchor = center - allow_outside = yes - - blockoverride "crown" {} - - blockoverride "outer_size" - { - size = { 62 62 } - } - blockoverride "inner_size" - { - size = { 62 62 } - } - } - } - - expand = {} - } - } - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - visible = "[Character.IsAdult]" - - expand = {} - - # Button Options - hbox = { - - layoutpolicy_horizontal = expanding - margin_bottom = 10 - spacing = 10 - - button_promote_candidate_scheme = { - layoutpolicy_horizontal = expanding - enabled = "[Character.IsPlayerInteractionValid( 'start_promote_interaction' )]" - tooltip_when_disabled = "[Character.GetPlayerInteractionValidBlockers( 'start_promote_interaction' )]" - } - - button_standard = { - layoutpolicy_horizontal = expanding - - text = "ADMIN_WINDOW_BUTTON_FIND_APPOINTMENT" - onclick = "[GovernmentAdministrationWindow.SelectProminentHouseMember( Character.Self )]" - onclick = "[GetVariableSystem.Set( 'show_prominent_appointment', 'true' )]" - } - - expand = {} - } - } - - text_single = { - visible = "[Not(Character.IsAdult)]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - # added after loc freeze, text could be better - text = "NOT_IS_ADULT_TRIGGER" - - default_format = "#weak" - align = hcenter|nobaseline - } - } - } - } - - type vbox_family_group_foldout = vbox { - layoutpolicy_horizontal = expanding - - spacing = 6 - - oncreate = "[BindFoldOutContext]" - oncreate = "[PdxGuiFoldOut.Unfold]" - - button_expandable_toggle_field = { - blockoverride "text" - { - text = "[AdminFamilyGroupItem.GetName]" - } - } - - vbox = { - visible = "[PdxGuiFoldOut.IsUnfolded]" - - layoutpolicy_horizontal = expanding - - fixedgridbox = { - name = "families_in_group" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - addcolumn = 520 - addrow = 124 - - datamodel = "[AdminFamilyGroupItem.GetFamilyItems]" - - item = { - vbox = { - layoutpolicy_horizontal = expanding - - button_family_group_item = { - datacontext = "[AdminFamilyItem.GetHouse]" - } - expand = {} - } - } - } - } - } - - type widget_house_power_banner_small = widget - { - size = { 92% 32 } - parentanchor = bottom|hcenter - position = { 0 -14 } - - background = { - texture = "gfx/interface/window_theme_administration/rating_banner.dds" - } - - tooltipwidget = { - widget_value_breakdown_tooltip = { - datacontext = "[GovernmentAdministrationWindow.GetHousePowerTooltip( DynastyHouse.Self )]" - - blockoverride "header" - { - text_label_left = { - layoutpolicy_horizontal = expanding - text = "game_concept_powerful_family_rating" - default_format = "#T" - } - } - } - } - - text_single = { - parentanchor = center - position = { 0 -1 } - max_width = 250 - - text = "[DynastyHouse.GetHousePower]" - default_format = "#light_background" - align = nobaseline - } - } - - type widget_house_power_banner_medium = widget - { - size = { 100 32 } - parentanchor = bottom|hcenter - position = { 0 -4 } - - background = { - texture = "gfx/interface/window_theme_administration/rating_banner.dds" - } - - tooltipwidget = { - widget_value_breakdown_tooltip = { - datacontext = "[GovernmentAdministrationWindow.GetHousePowerTooltip( DynastyHouse.Self )]" - - blockoverride "header" - { - text_label_left = { - layoutpolicy_horizontal = expanding - text = "game_concept_powerful_family_rating" - default_format = "#T" - } - } - } - } - - text_single = { - parentanchor = center - position = { 5 -1 } - max_width = 200 - - text = "[AdminFamilyItem.GetRankAndPower]" - default_format = "#light_background" - using = Font_Size_Tiny - align = nobaseline - } - } - - type widget_ranked_family_neighbor = widget - { - minimumsize = "[Select_CVector2f( RankedHouseItem.IsPlayerHouse, '(CVector2f)88,110', '(CVector2f)64,110' )]" - layoutpolicy_horizontal = expanding - allow_outside = yes - - vbox = { - - spacing = -4 - - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - hbox = { - layoutpolicy_horizontal = expanding - text_single = { - text = "[RankedHouseItem.GetRank]" - tooltip = "ADMIN_WINDOW_FAMILY_RANK_TOOLTIP" - default_format = "#high" - align = nobaseline - } - } - - coa_house_medium = { - visible = "[RankedHouseItem.IsPlayerHouse]" - allow_outside = yes - - widget_house_power_banner_small = { - position = { 0 22 } - allow_outside = yes - } - } - - coa_house_small = { - visible = "[Not( RankedHouseItem.IsPlayerHouse )]" - allow_outside = yes - - widget_house_power_banner_small = { - position = { 0 22 } - allow_outside = yes - } - } - - expand = {} - } - } - - type hbox_featured_family_head_portrait = hbox - { - background = { - using = Background_Area - alpha = 1.2 - - margin = { 8 4 } - } - - vbox = { - spacing = 2 - layoutpolicy_vertical = expanding - - - expand = {} - - widget_access_domicile_button = { - datacontext = "[DynastyHouse.GetHeadOfHouse]" - datacontext = "[Character.GetDomicile]" - visible = "[Character.HasDomicile]" - } - - button_round = { - visible = "[Not( Character.IsPlayer )]" - - tooltip = "ADMIN_GOVERNMENT_HOUSE_HEAD_INTERACTIONS_BUTTON_TOOLTIP" - tooltip_visible = "[Not(IsInteractionMenuOpenForCharacterWithFilter(Character.Self, 'admin_house_head'))]" - - onclick = "[ToggleFilteredCharacterInteractionMenu(Character.Self, 'admin_house_head')]" - - button_icon = { - alwaystransparent = yes - parentanchor = center - size = { 30 30 } - texture = "gfx/interface/icons/flat_icons/character_interactions.dds" - } - - text_single = { - parentanchor = bottom|hcenter - position = { 0 3 } - text = "[GetNumberOfValidInteractionsWithFilter(Character.Self, 'admin_house_head')]" - default_format = "#glow_color:{0.1,0.1,0.1,1.0}" - - background = { - margin = { 5 0 } - margin_top = -5 - using = Background_Area_Dark - } - } - - } - - expand = {} - } - - block "portrait_head" - { - portrait_head_small = {} - } - } - - type vbox_featured_family_portrait_big = hbox - { - layoutpolicy_horizontal = expanding - - vbox = { - margin_top = 12 - - # House CoA - widget = { - size = { 120 120 } - - allow_outside = yes - - datacontext = "[Character.GetHouse]" - - coa_house_big = { - datacontext = "[Character.GetHouse]" - parentanchor = top|hcenter - allow_outside = yes - - powerful_family_bonus = { - parentanchor = top|right - size = { 36 36 } - } - } - } - } - - expand = {} - - vbox = { - layoutpolicy_vertical = expanding - margin = { 4 0 } - - text_single = { - layoutpolicy_horizontal = expanding - max_width = 160 - margin_left = 8 - align = nobaseline - using = Font_Size_Medium - block "subtitle" {} - } - - hbox = { - spacing = 2 - layoutpolicy_vertical = expanding - - vbox = { - layoutpolicy_vertical = expanding - spacing = 2 - - expand = {} - - widget_access_domicile_button = { - datacontext = "[Character.GetDomicile]" - visible = "[Character.HasDomicile]" - } - - button_round = { - visible = "[Not( Character.IsPlayer )]" - - block "interactions_on_click" {} - - button_icon = { - alwaystransparent = yes - parentanchor = center - size = { 30 30 } - texture = "gfx/interface/icons/flat_icons/character_interactions.dds" - } - - text_single = { - parentanchor = bottom|hcenter - position = { 0 3 } - - block "interaction_number_text" {} - - default_format = "#glow_color:{0.1,0.1,0.1,1.0}" - - background = { - margin = { 5 0 } - margin_top = -5 - using = Background_Area_Dark - } - } - } - - expand = {} - } - portrait_head_small = {} - } - } - - } - - type button_family_group_item = widget - { - size = { 520 118 } - - using = Background_Area_Administrative_Decoration - - hbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_top = 6 - margin_left = 5 - spacing = 8 - - # House CoA - widget = { - size = { 84 110 } - layoutpolicy_vertical = expanding - allow_outside = yes - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - allow_outside = yes - - coa_house_medium = { - allow_outside = yes - - powerful_family_bonus = { - parentanchor = top|right - position = { 2 0 } - size = { 32 32 } - blockoverride "level_icons" {} - } - } - - expand = {} - } - - widget = { - parentanchor = vcenter|right - position = { 2 -15 } - size = { 20 20 } - - icon_house_relation = { - size = { 20 20 } - - datacontext = "[DynastyHouse.GetHouseRelationWith( GetPlayer.GetHouse )]" - tooltipwidget = { - house_relation_item_tooltip_no_progressbar = { - blockoverride "description_prefix" { - text_single = { - layoutpolicy_horizontal = expanding - text = "house_relation_your_relation_with" - default_format = "#weak" - align = left - } - } - } - } - } - } - - widget_house_power_banner_medium = {} - } - - hbox = { - datacontext = "[DynastyHouse.GetHeadOfHouse]" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - margin = { 5 5 } - - vbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - ignoreinvisible = no - - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - layoutpolicy_horizontal = expanding - - text = "ADMINISTRATIVE_GOVERNMENT_HOUSE_WITH_NAME" - align = nobaseline - max_width = 270 - using = Font_Size_Medium - } - - expand = {} - } - - hbox_house_bloc_info = { - layoutpolicy_horizontal = expanding - } - - # House County Control in Realm - hbox = { - layoutpolicy_horizontal = expanding - margin_left = -5 #Ugly solution to offset icon - - text_single = { - visible = "[And(Or(DynastyHouse.IsDominant,DynastyHouse.IsPowerful), Not( Character.HasMerit ))]" - layoutpolicy_horizontal = expanding - - text = "ADMIN_WINDOW_HOUSE_LAND_SHARE" - tooltip = "ADMIN_WINDOW_HOUSE_LAND_SHARE_TOOLTIP" - align = nobaseline - max_width = 270 - - - } - - expand = {} - } - - expand = {} - } - - vbox = { - - margin = { 5 2 } - - layoutpolicy_vertical = expanding - - hbox_featured_family_head_portrait = {} - - expand = {} - } - - expand = {} - } - } - } - - type widget_special_ruler = widget - { - size = { 110 149 } - - portrait_head = { - visible = "[Not( Title.MakeScope.Var( 'administrative_ui_special_title' ).Title.IsValid )]" - parentanchor = hcenter - - blockoverride "coa" {} - blockoverride "portrait_button_template_tooltip" {} - } - - widget = { - visible = "[Title.MakeScope.Var( 'administrative_ui_special_title' ).Title.IsValid]" - datacontext = "[Title.MakeScope.Var( 'administrative_ui_special_title' ).Title.GetHolder]" - size = { 110 149 } - - portrait_head = { - blockoverride "portrait_button_template_tooltip" {} - } - - text_single = { - widgetanchor = bottom|hcenter - parentanchor = bottom|hcenter - text = "[Character.GetTitledFirstName]" - } - } - } - - type button_merit_pool_item = widget { - size = { 56 56 } - allow_outside = yes - - button = { - parentanchor = bottom|hcenter - size = { 56 56 } - allow_outside = yes - texture = "gfx/interface/buttons/button_lifestyles_base.dds" - - block "button_onclick" - { - onclick = "[GovernmentAdministrationWindow.SelectProminentHouseMember( Character.Self )]" - onclick = "[GovernmentAdministrationWindow.SetMeritPoolCharacterList( AdminMeritPool.Self )]" - onclick = "[MeritPoolWindow.ScrollToCandidate( Character.Self, '(int32)15' )]" - down = "[ObjectsEqual( AdminMeritPool.Self, GovernmentAdministrationWindow.GetSelectedAdminMeritPool )]" - } - - tooltip = "[AdminMeritPool.GetCandidateTooltip( Character.Self )]" - using = tooltip_se - - text_single = { - visible = "[Not( AdminMeritPool.IsMilitary )]" - parentanchor = center - position = { 0 -5 } - - text = "celestial_province_standard_text_icon" - align = nobaseline - } - - text_single = { - visible = "[AdminMeritPool.IsMilitary]" - parentanchor = center - position = { 0 -5 } - - text = "celestial_province_military_text_icon" - align = nobaseline - } - - button_round = { - parentanchor = top|right - position = { 11 -6 } - size = { 30 30 } - - onclick = "[GovernmentAdministrationWindow.SelectProminentHouseMember( Character.Self )]" - onclick = "[GovernmentAdministrationWindow.SetMeritPoolCharacterList( AdminMeritPool.Self )]" - onclick = "[MeritPoolWindow.ScrollToCandidate( Character.Self, '(int32)15' )]" - - icon = { - name = "crown" - parentanchor = center - texture = "gfx/interface/coat_of_arms/crown_strip_28.dds" - frame = "[AdminMeritPool.GetTierFrame]" - framesize = { 32 22 } - scale = 0.8 - position = { 0 -3 } - } - } - } - - widget_succession_candidate_banner_small = { - parentanchor = bottom|hcenter - position = { 0 -3 } - size = { 60 24 } - - blockoverride "background_texture" - { - texture = "gfx/interface/hud/tgp_widget_button_banner.dds" - } - - blockoverride "banner_text" - { - parentanchor = center|vcenter - widgetanchor = center - position = { 0 2 } - - text = "TITLE_APPOINTMENT_RANK_SMALL" - } - } - - icon = { - visible = "[And( Not(Character.HasNewAppointmentCooldown), AdminMeritPool.HasCareerScorePotential( Character.Self ) )]" - parentanchor = bottom|hcenter - allow_outside = yes - - position = { 26 -3 } - size = { 20 20 } - texture = "gfx/interface/icons/appointment_score.dds" - } - - icon = { - visible = "[Character.HasNewAppointmentCooldown]" - parentanchor = bottom|hcenter - allow_outside = yes - - position = { 24 -2 } - size = { 25 25 } - texture = "gfx/interface/icons/icon_time.dds" - } - } - - type vbox_merit_pool_character_item = vbox { - margin_top = 2 - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - ### NAME and GOVERNOR EFFICIENCY ### - hbox = { - margin = { 5 5 } - margin_right = 10 - layoutpolicy_horizontal = expanding - - background = { - using = Background_Area_Dark - alpha = 0.6 - margin_left = 7 - margin_right = -2 - } - - text_single = { - layoutpolicy_horizontal = expanding - - text = "[Character.GetUINameNoTooltip|U]" - using = Font_Size_Medium - align = nobaseline - - max_width = 330 - min_height = 32 - } - - expand = {} - - ### MERIT ### - hbox_merit_with_label = { - datacontext = "[MeritPoolWindow.GetMeritItem( CharacterListItem.GetIndex )]" - - blockoverride "hbox_merit_with_label_background" {} - } - - ### APPOINTMENT SCORE ### - hbox = { - datacontext = "[CharacterListItem]" - margin_left = 10 - - text_single = { - layoutpolicy_horizontal = expanding - min_width = 50 - - text = "ADMIN_WINDOW_MERIT_POOLS_APPOINTMENT_SCORE" - align = nobaseline - } - - using = tooltip_se - tooltipwidget = { - widget_value_breakdown_tooltip = { - block "score_breakdown" { - datacontext = "[MeritPoolWindow.GetSuccessionScoreBreakdown( CharacterListItem.GetCharacter )]" - } - } - } - } - - } - - ### RELATION TO YOU ### - vbox = { - layoutpolicy_horizontal = expanding - margin_left = 5 - - text_single = { - layoutpolicy_horizontal = expanding - max_width = 470 - - text = "[Character.GetRelationToString( GetPlayer )]" - align = nobaseline - - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - using = tooltip_se - } - - expand = {} - } - - ### HOUSE, SCORE and MERIT - hbox = { - layoutpolicy_horizontal = expanding - margin_right = 5 - - ### House Coat of Arms - vbox = { - datacontext = "[Character.GetHouse]" - - coa_house_small = { - powerful_family_bonus = { - parentanchor = bottom|right - position = { 7 1 } - size = { 29 29 } - blockoverride "level_icons" {} - } - } - } - - # Currently held Primary Title, if not a .GetTitleTier Family title - widget = { - size = { 50 64 } - visible = "[Not( Character.GetPrimaryTitle.Is.GetTitleTierFamilyTitle )]" - - coa_realm_tiny_crown = { - position = { 10 6 } - - blockoverride "coa_button" - { - tooltip = "[Character.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]" - onclick = "[DefaultOnCoatOfArmsClick(Character.GetPrimaryTitle.GetID)]" - } - } - } - - expand = {} - - vbox = { - layoutpolicy_vertical = expanding - visible = "[Character.HasNewAppointmentCooldown]" - - expand = {} - - hbox = { - margin = { 10 0 } - spacing = 10 - min_height = 32 - - background = { - using = Background_Area - margin_top = 5 - margin_bottom = 2 - margin_right = 5 - } - - ### APPOINTMENT TIMEOUT ### - hbox = { - visible = "[Character.HasNewAppointmentCooldown]" - tooltip = "ADMIN_WINDOW_APPOINTMENT_COOLDOWN_TT" - - alert_icon = { - size = { 30 30 } - - texture = "gfx/interface/icons/icon_time.dds" - } - - text_single = { - layoutpolicy_horizontal = expanding - margin_left = 5 - - text = "[Character.GetNewAppointmentCooldownDate.GetTimeDiffFromNow]" - align = nobaseline - } - } - - # GOVERNOR EFFICIENCY -# hbox = { -# tooltip = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_TT" -# using = tooltip_ne -# -# icon = { -# name = "char_governor_efficiency_icon" -# size = { 32 32 } -# texture = "gfx/interface/icons/icon_skill_governor_efficiency.dds" -# } -# -# text_single = { -# name = "char_governor_efficiency_value" -# text = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_VALUE" -# align = nobaseline -# } -# } - } - } - } - - expand = {} - } - - type window_merit_pool_characters = window { - name = "merit_pool_characters_window" # Referenced in Code, don't rename - widgetanchor = right - position = { 20 90 } - size = { 700 82% } - - layer = middle - movable = yes - - using = Window_Background - using = Window_Decoration_Spike - using = Window_Size_CharacterList - - state = { - name = _show - using = Animation_FadeIn_Quick - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - } - - vbox = { - using = Window_Margins - - header_pattern = { - layoutpolicy_horizontal = expanding - - blockoverride "header_text" - { - text = "[AdminMeritPool.GetTitle]" - } - - blockoverride "button_close" - { - onclick = "[MeritPoolWindow.Close]" - onclick = "[GovernmentAdministrationWindow.ClearMeritPoolCharacterList]" - } - } - - vbox = { - margin = { 20 5 } - margin_bottom = 15 - layoutpolicy_horizontal = expanding - visible = no - - background = { - using = Background_Area - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" - blend_mode = alphamultiply - } - } - - # Leaving this commented out just in case - #text_single = { - # layoutpolicy_horizontal = expanding - # margin_bottom = 5 - # - # text = "ADMIN_WINDOW_MERIT_POOLS_PARTICIPANT_INFO" - # default_format = "#weak" - # align = center|nobaseline - # max_width = 580 - #} - - text_multi = { - layoutpolicy_horizontal = expanding - margin_top = 15 - margin_bottom = 5 - max_width = 580 - autoresize = yes - - text = "[AdminMeritPool.GetRequiredMeritLevel]" - default_format = "#weak" - align = center|nobaseline - } - - } - - vbox = { - layoutpolicy_horizontal = expanding - margin = { 0 10 } - margin_top = 0 - - text_multi = { - autoresize = yes - max_width = 580 - - text = "ADMIN_WINDOW_MERIT_POOLS_CANDIDATE_RANKING_DESC" - } - - tooltipwidget = { - container = { - using = GeneralTooltipSetup - alwaystransparent = no - - widget = { - name = "background" - using = DefaultTooltipBackground - size = { 100% 100% } - alwaystransparent = no - } - - flowcontainer = { - margin = { 20 10 } - margin_bottom = 15 - direction = vertical - - background = { - using = Background_Area - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" - blend_mode = alphamultiply - } - } - - text_multi = { - margin_bottom = 5 - max_width = 580 - autoresize = yes - - text = "[AdminMeritPool.GetRequiredMeritLevel]" - } - - ### Valid Obligation Level Types - flowcontainer = { - datamodel = "[GovernmentAdministrationWindow.GetAdminPoolTypeObligations]" - ignoreinvisible = yes - direction = vertical - - item = { - flowcontainer = { - visible = "[ObligationLevel.HasTag( AdminMeritPool.GetPoolTypeTag )]" - ignoreinvisible = yes - spacing = 5 - - text_single = { - raw_text = "•" - } - - text_single = { - text = "[ObligationLevel.GetName]" - align = center|nobaseline - } - } - } - } - } - } - - } - } - - vbox_character_list = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - blockoverride "sort_buttons" - { - hbox_list_sort_buttons = { - layoutpolicy_horizontal = expanding - - blockoverride "filters_visible" { - visible = no - } - - blockoverride "sort_dropdown" { - dropdown_sort_characterlist = { - name = "merit_pools_sort_options" - } - } - } - } - - blockoverride "skill_sort_buttons" {} - - blockoverride "scrollbox_empty_visibility" - { - layoutpolicy_vertical = expanding - visible = "[Not( CharacterSelectionList.HasItems )]" - text = "ADMIN_WINDOW_MERIT_POOLS_EMPTY" - } - - blockoverride "container_implementation" - { - fixedgridbox = { - name = "characters_grid" - addcolumn = 580 - addrow = 140 - datamodel_reuse_widgets = yes - datamodel = "[CharacterSelectionList.GetList]" - visible = "[Not(CharacterSelectionList.IsBuildingList)]" - - item = { - widget_character_list_item_finder = { - size = { 580 135 } - blockoverride "character_relation" {} - - background = { - using = Background_Frame - } - - background = { - visible = "[ObjectsEqual( Character.Self, GovernmentAdministrationWindow.GetSelectedProminentHouseMember.Self )]" - - using = Background_Frame_Gold - } - } - } - } - } - - blockoverride "portrait_head_margin" - { - margin_left = 5 - - widget_succession_candidate_banner = { - blockoverride "banner_text" - { - text = "[Add_int32( CharacterListItem.GetIndex, '(int32)1' )|O]" - } - } - } - - blockoverride "button_content" - { - vbox_merit_pool_character_item = {} - } - } - } - } - - type hbox_theme_sort_options = hbox { - layoutpolicy_horizontal = expanding - margin = { 16 0 } - margin_bottom = 8 - spacing = 4 - - hbox = { - spacing = 2 - - text_single = { - text = "SORT_BY" - align = nobaseline - } - - dropdown_menu_standard = { - blockoverride "dropdown_active_item_properties" - { - text = "[ThemeOrderOption.GetName]" - } - - blockoverride "dropdown_item_properties" - { - text = "[ThemeOrderOption.GetName]" - } - } - } - - button_standard = { - name = "sort_order" - size = { 25 25 } - - block "sort_order_onclick" - { - onclick = "[GovernmentAdministrationWindow.ReverseSortOrder]" - } - - tooltip = "ADMIN_WINDOW_THEME_SORT_BY" - using = tooltip_nw - - button_icon = { - alwaystransparent = yes - parentanchor = center - size = { 25 25 } - texture = "gfx/interface/icons/flat_icons/sort_icon.dds" - framesize = { 66 66 } - - block "sort_order_frame" - { - frame = "[BoolTo1And2(GovernmentAdministrationWindow.GetSortOrder)]" - } - - blockoverride "button_frames" - { - effectname = "NoHighlight" - } - } - } - expand = {} - } - - type widget_childrens_exam_status = widget { - size = { 60 60 } - - datacontext = "[Character.MakeScope]" - - tooltip = "MERIT_TOOLTIP_EXAMINATION_PASSED_CHILD_EXAM" - using = tooltip_se - - icon = { - size = { 100% 100% } - texture = "gfx/interface/icons/character_interactions/tgp_send_to_childrens_examination_interaction.dds" - - modify_texture = { - visible = "[Not(HasPassedChildrenExamination(Character))]" - texture = "gfx/interface/colors/colors_textured.dds" - blend_mode = multiply - framesize = { 96 96 } - frame = 4 - } - } - - - - block "pass_fail_icons" - { - passed_examination_icon = { - visible = "[HasPassedChildrenExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - - failed_examination_icon = { - visible = "[HasFailedChildrenExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - } - } - - type widget_provincial_exam_status = widget { - size = { 60 60 } - - datacontext = "[Character.MakeScope]" - - tooltip = "MERIT_TOOLTIP_EXAMINATION_PASSED_PROVINCIAL_EXAM" - using = tooltip_se - - icon = { - size = { 100% 100% } - texture = "gfx/interface/icons/character_interactions/provincial_examination.dds" - using = Animation_Glow_Pulse - - modify_texture = { - visible = "[Not(HasPassedProvincialExamination(Character))]" - texture = "gfx/interface/colors/black.dds" - blend_mode = normal - alpha = 0.4 - } - - glow = { - visible = "[And(And(Not(HasPassedProvincialExamination(Character)), And(Character.IsMeritCapped, Character.CanImproveMeritRank)), Or(ObjectsEqual(GetPlayer, Character.GetWarden.Self), Character.IsLocalPlayer))]" - using = Color_Bright_Yellow - glow_radius = 5 - using = Glow_Standard - alpha = 0.8 - } - } - - passed_examination_icon = { - visible = "[HasPassedProvincialExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - - failed_examination_icon = { - visible = "[HasFailedProvincialExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - } - - - type widget_metropolitan_exam_status = widget { - size = { 60 60 } - - datacontext = "[Character.MakeScope]" - - tooltip = "MERIT_TOOLTIP_EXAMINATION_PASSED_METROPOLITAN_EXAM" - using = tooltip_se - - icon = { - size = { 100% 100% } - texture = "gfx/interface/icons/character_interactions/imperial_examination.dds" - using = Animation_Glow_Pulse - - modify_texture = { - visible = "[Not(HasPassedMetropolitanExamination(Character))]" - texture = "gfx/interface/colors/black.dds" - blend_mode = normal - alpha = 0.4 - } - - glow = { - visible = "[And(And(Not(HasPassedMetropolitanExamination(Character)), And(Character.IsMeritCapped, Character.CanImproveMeritRank)), Or(ObjectsEqual(GetPlayer, Character.GetWarden.Self), Character.IsLocalPlayer))]" - using = Color_Bright_Yellow - glow_radius = 5 - using = Glow_Standard - alpha = 0.8 - } - } - - passed_examination_icon = { - visible = "[HasPassedMetropolitanExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - - failed_examination_icon = { - visible = "[HasFailedMetropolitanExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - } - - type widget_palace_exam_status = widget { - size = { 60 60 } - - datacontext = "[Character.MakeScope]" - - tooltip = "MERIT_TOOLTIP_EXAMINATION_PASSED_PALACE_EXAM" - using = tooltip_se - - icon = { - size = { 100% 100% } - texture = "gfx/interface/icons/character_interactions/palace_examination.dds" - using = Animation_Glow_Pulse - - modify_texture = { - visible = "[Not(HasPassedPalaceExamination(Character))]" - texture = "gfx/interface/colors/black.dds" - blend_mode = normal - alpha = 0.4 - } - - glow = { - visible = "[And(And(Not(HasPassedPalaceExamination(Character)), And(Character.IsMeritCapped, Character.CanImproveMeritRank)), Or(ObjectsEqual(GetPlayer, Character.GetWarden.Self), Character.IsLocalPlayer))]" - using = Color_Bright_Yellow - glow_radius = 5 - using = Glow_Standard - alpha = 0.8 - } - } - - passed_examination_icon = { - visible = "[HasPassedPalaceExamination(Character)]" - - size = { 50% 50% } - parentanchor = bottom|right - } - - # no failed stamp, you cannot fail palace exam - } -} - -template Background_Obligation_Banner_Right { - highlight_icon = { - visible = "[ObligationLevel.HasTag( 'byzantine_purple' )]" - size = { 100% 100% } - mirror = horizontal - spritetype = corneredTiled - spriteborder = { 0 8 } - texture_density = 2 - - texture = "gfx/interface/window_military/military_banner_gray.dds" - color = { 0.89 0.5 0.89 1 } - } - - highlight_icon = { - visible = "[ObligationLevel.HasTag( 'military' )]" - size = { 100% 100% } - mirror = horizontal - spritetype = corneredTiled - spriteborder = { 0 8 } - texture_density = 2 - - texture = "gfx/interface/window_military/military_banner_red.dds" - } - - highlight_icon = { - visible = "[And( Not( ObligationLevel.HasTag( 'byzantine_purple' ) ), Not( ObligationLevel.HasTag( 'military' ) ) )]" - size = { 100% 100% } - mirror = horizontal - spritetype = corneredTiled - spriteborder = { 2 8 } - texture_density = 2 - - texture = "gfx/interface/window_military/military_banner_blue.dds" - } -} - -template Background_Area_Administrative_Decoration { - background = { - visible = "[DynastyHouse.IsImperial]" - margin = { 4 4 } - using = Background_Area_Admin_Purple - alpha = 1 - } - - background = { - visible = "[DynastyHouse.IsDominant]" - margin = { 4 4 } - using = Background_Area_Admin_Orange - alpha = 1 - } - - background = { - visible = "[DynastyHouse.IsPowerful]" - margin = { 4 4 } - using = Background_Area_Admin_Blue - alpha = 1 - } - - background = { - texture = "gfx/interface/window_administrative_government/family_decoration.dds" - spriteType = Corneredtiled - margin_bottom = 2 - spriteborder_bottom = 14 - texture_density = 1.5 - alpha = 0.1 - using = Mask_Rough_Edges - } - - background = { - texture = "gfx/interface/window_administrative_government/family_decoration.dds" - spriteType = Corneredtiled - margin_top = 2 - spriteborder_top = 14 - texture_density = 1.5 - alpha = 0.1 - using = Mask_Rough_Edges - } - - background = { - texture = "gfx/interface/skinned/mask_pattern.dds" - texture_density = 3 - spriteType = corneredtiled - color = { 0.1 0.1 0.12 1 } - margin = { 0 -10 } - alpha = 0.2 - - using = Mask_Rough_Edges - - modify_texture = { - texture = "gfx/interface/component_masks/mask_clouds.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_scratches.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - } - } - - background = { - visible = "[DynastyHouse.GetHeadOfHouse.IsPlayer]" - using = Background_Area_Border - using = Background_Frame_Gold - } - - background = { - visible = "[And(Not(DynastyHouse.IsImperial),Not(DynastyHouse.IsPowerful))]" - texture = "gfx/interface/window_administrative_government/powerful_family_decoration.dds" - using = Mask_Rough_Edges - fittype = start - alpha = 1 - tintcolor = { 0.7 0.7 0.7 0.8 } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" - blend_mode = alphaMultiply - } - - } - - background = { - visible = "[DynastyHouse.IsPowerful]" - texture = "gfx/interface/window_administrative_government/powerful_family_decoration.dds" - using = Mask_Rough_Edges - fittype = start - alpha = 1 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" - blend_mode = alphaMultiply - } - } - - background = { - visible = "[DynastyHouse.IsImperial]" - texture = "gfx/interface/window_administrative_government/imperial_family_decoration.dds" - using = Mask_Rough_Edges - fittype = start - alpha = 1 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" - blend_mode = alphaMultiply - } - } -} - -template Background_Area_Family_Decoration { - background = { - visible = "[DynastyHouse.IsImperial]" - margin = { 4 4 } - using = Background_Area_Admin_Purple - alpha = 1 - } - - background = { - visible = "[DynastyHouse.IsDominant]" - margin = { 4 4 } - using = Background_Area_Admin_Orange - alpha = 1 - } - - background = { - visible = "[DynastyHouse.IsPowerful]" - margin = { 4 4 } - using = Background_Area_Admin_Blue - alpha = 1 - } - - background = { - texture = "gfx/interface/window_administrative_government/family_decoration.dds" - spriteType = Corneredtiled - margin_bottom = 2 - spriteborder_bottom = 14 - texture_density = 1.5 - alpha = 0.1 - using = Mask_Rough_Edges - } - - background = { - texture = "gfx/interface/window_administrative_government/family_decoration.dds" - spriteType = Corneredtiled - margin_top = 2 - spriteborder_top = 14 - texture_density = 1.5 - alpha = 0.1 - using = Mask_Rough_Edges - } - - background = { - texture = "gfx/interface/skinned/mask_pattern.dds" - texture_density = 3 - spriteType = corneredtiled - color = { 0.1 0.1 0.12 1 } - margin = { 0 -10 } - alpha = 0.2 - - using = Mask_Rough_Edges - - modify_texture = { - texture = "gfx/interface/component_masks/mask_clouds.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_scratches.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - } - } - - #background = { - #visible = "[DynastyHouse.GetHeadOfHouse.IsPlayer]" - #using = Background_Area_Border - #using = Background_Frame_Gold - #} -} - -template Background_Area_Admin_Purple { - texture = "gfx/interface/colors/grey.dds" - - using = Mask_Rough_Edges - color = { 0.5 0.1 0.5 0.6 } - - modify_texture = { - blend_mode = alphaMultiply - texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" - alpha = 0.5 - } - modify_texture = { - texture = "gfx/interface/component_masks/mask_clouds.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_scratches.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - } -} - -template Background_Area_Admin_Blue { - texture = "gfx/interface/colors/grey.dds" - - using = Mask_Rough_Edges - color = { 0 0.635 0.9 0.3 } - - modify_texture = { - blend_mode = alphaMultiply - texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" - alpha = 0.5 - } - modify_texture = { - texture = "gfx/interface/component_masks/mask_clouds.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_scratches.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - } -} - -template Background_Area_Admin_Orange { - texture = "gfx/interface/colors/grey.dds" - - using = Mask_Rough_Edges - color = { 1 0.5 0.1 0.6 } - - modify_texture = { - blend_mode = alphaMultiply - texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_clouds.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - alpha = 0.5 - } - - modify_texture = { - texture = "gfx/interface/component_masks/mask_scratches.dds" - blend_mode = alphamultiply - spriteType = corneredTiled - } -} - -template Expand_Admin_Themes { - on_start = "[GetVariableSystem.Set( 'admin_gov_unassigned_counties_list', 'true' )]" - on_start = "[GetVariableSystem.Set( 'admin_gov_assigned_duchy_themes_list', 'true' )]" - on_start = "[GetVariableSystem.Set( 'admin_gov_unassigned_duchy_themes_list', 'true' )]" -} diff --git a/gui/window_my_realm.gui b/gui/window_my_realm.gui new file mode 100644 index 00000000..963c0c25 --- /dev/null +++ b/gui/window_my_realm.gui @@ -0,0 +1,4652 @@ +###################################################### +##################### MY REALM ####################### +###################################################### + +window = { + name = "my_realm_window" + widgetid = "my_realm_window" + datacontext = "[GetVariableSystem]" + datacontext = "[GetPlayer]" + parentanchor = top|right + allow_outside = yes + movable = no + layer = windows_layer + + using = Window_Size_MainTab + + state = { + name = on_create + trigger_on_create = yes + + on_start = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + } + + state = { + name = _show + next = refresh_bookmark_tabs + + using = Animation_FadeIn_Quick + using = Sound_WindowShow_Standard + using = Window_Position_MainTab + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + using = Window_Position_MainTab_Hide + } + + state = { + name = refresh_bookmark_tabs + on_start = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_subjects', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_succession', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_laws', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_republics', 'true' )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_domain', Not( MyRealmWindow.IsActiveTab( 'bookmark_domain' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_subjects', Not( MyRealmWindow.IsActiveTab( 'bookmark_subjects' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_succession', Not( MyRealmWindow.IsActiveTab( 'bookmark_succession' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_laws', Not( MyRealmWindow.IsActiveTab( 'bookmark_laws' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_republics', Not( MyRealmWindow.IsActiveTab( 'bookmark_republics' ) ) )]" + } + + ### BOOKMARK SIDE TABS + widget = { + position = { -64 220 } + size = { 100 250 } + scissor = yes + + allow_outside = yes + + flowcontainer = { + parentanchor = right|vcenter + position = { 7 0 } + direction = vertical + ignoreinvisible = yes + allow_outside = yes + + ### BOOKMARK TAB DOMAIN + button_tab_vertical_bookmark = { + name = "tab_domain" #tutorial uses this + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_domain' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_DOMAIN_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_domain' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/legend_province_modifier.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + } + + ### BOOKMARK TAB SUBJECTS (OR VASSALS) + button_tab_vertical_bookmark = { + name = "tutorial_highlight_vassals_tab" + visible = "[GetPlayer.IsLandedRuler]" + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_subjects', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_subjects' )]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_SUBJECTS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_subjects' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/clan_contract.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + } + + button_tab_vertical_bookmark = { + name = "tutorial_highlight_republics_tab" + visible = "[And(GetPlayer.IsLandedRuler, Or(GetPlayer.GetGovernment.IsType('urbanrepublic_government'),GetPlayer.GetGovernment.IsType('peasantrepublic_government')))]" + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_republics', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_republics' )]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_REPUBLICS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_republics' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/war_outcome_victory.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + } + ### BOOKMARK TAB LAWS + button_tab_vertical_bookmark = { + name = "tutorial_highlight_laws_tab" + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_laws', 'true' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_LAWS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_laws' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/title_actions/add_laws.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + } + + ### BOOKMARK TAB SUCCESSION + button_tab_vertical_bookmark = { + name = "tutorial_highlight_succession_tab" + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_succession', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_succession' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_SUCCESSION_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_succession' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/heir.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + } + } + } + + ### Solution to make tabs look like they are layered under main tab window without code support since Maintab background seems to be set in by code somehow + icon = { + position = { 22 195 } + size = { 14 260 } + texture = "gfx/interface/component_tiles/tab_group_edge.dds" + alpha = 0.95 + texture_density = 2 + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 30 } + margin_right = 13 + + widget = { + size = { 100% 100% } + + ### WINDOW CONTENT + vbox = { + widgetid = "realm_panel_contents" #tutorial uses this + + using = Window_Margins + + header_pattern = { + layoutpolicy_horizontal = expanding + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_HEADER" + align = nobaseline + } + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_SUBJECTS" + align = nobaseline + } + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_REPUBLICS" + align = nobaseline + } + header_text = { + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_SUCCESSION" + align = nobaseline + } + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_LAWS" + align = nobaseline + } + + blockoverride "header_text" {} + + blockoverride "button_close" + { + onclick = "[MyRealmWindow.Close]" + } + } + + ### Default Header + widget_my_realm_header = { + datacontext = "[GetPlayer]" + visible = "[Not( IsLandlessAdventurer( Character ) )]" + + blockoverride "show_overlord" + { + visible = "[Character.HasOverlord]" + } + + blockoverride "show_diarchy" {} + } + + ### Adventurer Header + widget_my_realm_header = { + datacontext = "[GetPlayer]" + visible = "[IsLandlessAdventurer( Character )]" + + blockoverride "header_subtitle" + { + vbox = { + spacing = 2 + + text_single = { + name = "realm_type_adv" + text = "you_are_an_adventurer_tt" + align = nobaseline + } + + text_single = { + text = "MY_REALM_WINDOW_DOMICILE_LOCATION" + align = nobaseline + } + } + } + } + + ## MY_REALM BODY HEADERS + vbox = { + layoutpolicy_horizontal = expanding + + vbox_my_realm_subjects_top = { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + vbox_my_realm_republics_top = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + mandala_laws = { + visible = "[And(GetPlayer.GetGovernment.IsType( 'mandala_government' ), GetVariableSystem.Exists( 'bookmark_laws' ))]" + } + + vbox_my_realm_laws_top = { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' ) ]" + } + + vbox_my_realm_succession_body_top = { + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + visible = "[And( GetVariableSystem.Exists( 'bookmark_succession' ), Not( KurultaiSuccession.IsValid ) )]" + } + } + + ### MY_REALM MAIN CONTENTS / BODY + scrollbox = { + name = "my_realm_body" + datacontext = "[MyRealmWindow.GetCharacter]" + + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + visible = "[IsLandlessAdventurer( GetPlayer )]" + texture = "gfx/interface/skinned/illustrations/camp_bg.dds" + fittype = end + alpha = 0.5 + framesize = { 1500 848 } + + using = Mask_Rough_Edges + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_corner.dds" + blend_mode = alphamultiply + } + } + + background = { + visible = "[IsNomad( GetPlayer )]" + texture = "gfx/interface/illustrations/event_scenes/mpo_camp_steppe.dds" + fittype = end + alpha = 0.5 + + using = Mask_Rough_Edges + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_corner.dds" + blend_mode = alphamultiply + } + } + + blockoverride "scrollbox_margins" { + margin = { 0 5 } + margin_left = 10 + margin_right = 10 + } + + blockoverride "scrollbox_content" + { + vbox_my_realm_domain_body = { + widgetid = "my_realm_domain_body" #ra_merit_governor_holdings_open uses this + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + vbox_my_realm_subjects_body = { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + vbox_my_realm_republics_body = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + vbox_my_realm_succession_body = { + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + vbox_my_realm_laws_body = { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + } + } + + ### MY_REALM FOOTER STATS + hbox_my_realm_footer_stats = { + visible = "[And( Not( MyRealmWindow.IsPrimaryTitleTitular ), Or( GetVariableSystem.Exists( 'bookmark_domain' ), GetVariableSystem.Exists( 'bookmark_subjects' ), GetVariableSystem.Exists( 'bookmark_republics' ) ) )]" + } + } + } + } +} + +###################################################### +################ TYPES AND TEMPLATES ################# +###################################################### + +template My_Realm_Cell_Size +{ + min_width = 95 + max_width = 95 +} + +types MyRealmWindow +{ + type my_realm_coa_tiny_item = coa_title_tiny_crown + { + datacontext = "[TitleItem.GetTitle]" + parentanchor = left|vcenter + using = tooltip_ne + + icon_title_has_laws_status = {} + + icon = { + name = "is_nomad" + visible = "[TitleItem.GetTitle.IsNomad]" + parentanchor = bottom|right + position = { 5 0 } + size = { 25 25 } + texture = "gfx/interface/icons/title_status/icon_title_nomad.dds" + } + } + + type widget_my_realm_header = widget_header_with_picture { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" { + text = "[GetPlayer.GetPrimaryTitle.GetNameNoTooltip|U]" + } + + blockoverride "size" { + size = { 100% 130 } + } + + blockoverride "header_size" + { + size = { 100% 40 } + } + + blockoverride "header_position" { + position = { 0 -12 } + } + + blockoverride "header_background_visibility" { + visible = no + } + + blockoverride header_pattern_visibility { + visible = no + } + + blockoverride header_label_visibility { + visible = yes + } + + blockoverride "illustration_texture" { + texture = "gfx/interface/skinned/illustrations/header_illustrations/header_my_realm.dds" + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" + blend_mode = alphamultiply + } + } + + blockoverride "button_close" + { + visible = no + } + + vbox = { + parentanchor = center + margin_top = 36 + max_width = 350 + + ### MY_REALM HEADER CENTER + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + ### SUBTITLE + vbox = { + block "header_subtitle" + { + hbox = { + datacontext = "[GetPlayer.GetActiveLawInGroupWithFlag( 'realm_law' )]" + + ### AUTHORITY ICON + authority_icon = {} + + hbox = { + margin_left = 5 + spacing = 15 + + text_single = { + name = "realm_type" + text = "MY_REALM_WINDOW_TYPE" + max_width = 160 + align = nobaseline + } + + text_single = { + text = "REALM_WINDOW_SIZE" + align = nobaseline + max_width = 140 + tooltip = "REALM_WINDOW_SIZE_TT" + } + } + } + + vbox = { + spacing = -8 + margin_bottom = 12 + + ## OVERLORD INFO + vbox = { + name = "overlord" + margin_top = -8 + + block "show_overlord" + { + visible = no + } + + hbox = { + datacontext = "[MyRealmWindow.GetCharacter.GetOverlord]" + spacing = 4 + + button_icon_highlight = { + visible = "[Not(IsNomad( Character ))]" + datacontext = "[Character.GetActiveLawInGroupWithFlag( 'realm_law' )]" + size = { 32 32 } + texture = "[Law.GetIcon]" + tooltipwidget = { general_law_tooltip = {} } + using = tooltip_ws + } + + icon = { + visible = "[IsNomad( Character )]" + datacontext = "[Character.GetActiveLawInGroupWithFlag( 'realm_law' )]" + size = { 32 32 } + texture = "[Law.GetIcon]" + tooltipwidget = { general_law_tooltip = {} } + using = tooltip_ws + } + + text_single = { + visible = "[GetPlayer.HasSuzerain]" + text = "MY_REALM_WINDOW_SUZERAIN_NAME" + align = nobaseline + max_width = 280 + } + + text_single = { + visible = "[GetPlayer.HasLiege]" + text = "MY_REALM_WINDOW_LIEGE_NAME" + align = nobaseline + max_width = 280 + } + + coa_realm_tiny_crown = {} + } + } + + ## REGENCY / DIARCHY + hbox = { + datacontext = "[MyRealmWindow.GetCharacter]" + layoutpolicy_horizontal = expanding + + background = { + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + margin = { 40 -3 } + margin_left = 10 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + mirror = horizontal + } + } + + block "show_diarchy" + { + visible = no + } + + spacing = 10 + + expand = {} + + button_round = { + name = "open_future_diarchy_tutorial_uses_this" + widgetid = "open_future_diarchy_tutorial_uses_this" + size = { 32 32 } + + onclick = "[ToggleGameViewData( 'diarchy', Character.GetID )]" + tooltip = "DIARCHY_WINDOW_OPEN_TOOLTIP" + + button_icon = { + parentanchor = center + position = { 0 -1 } + size = { 24 24 } + alwaystransparent = yes + texture = "gfx/interface/window_regency/scale_of_power.dds" + } + } + + hbox = { + datacontext = "[Character.GetDiarchy]" + + text_single = { + visible = "[Diarchy.IsValid]" + + text = "DIARCHY_WINDOW_STATUS_ACTIVE_DIARCHY" + align = nobaseline + max_width = 400 + } + + text_single = { + visible = "[Not( Diarchy.IsValid )]" + + text = "DIARCHY_WINDOW_STATUS_INACTIVE_DIARCHY" + align = nobaseline + margin_right = 10 + } + } + + expand = {} + + } + } + } + } + + ### BELOW SUBTITLE + + expand = {} + } + } + + ### HEADER LEFT WIDGET + widget = { + size = { 64 99 } + allow_outside = yes + + ### COAT OF ARMS + coa_realm_medium_crown = { + position = { 30 0 } + } + } + + ### HEADER RIGHT WIDGET + widget = { + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + visible = "[KurultaiSuccession.IsValid]" + parentanchor = right|vcenter + position = { -25 0 } + size = { 84 84 } + allow_outside = yes + name = "kurultai_succession_stability" + + tooltipwidget = { + widget_kurultai_succession_tooltip = {} + } + + ### KURULTAI SUCCESSION ICON PEACEFUL + widget = { + visible = "[KurultaiSuccession.IsStable]" + parentanchor = center + size = { 84 84 } + + icon = { + parentanchor = center + size = { 84 84 } + texture = "gfx/interface/window_realm/succession_icon_background_peaceful.dds" + } + + icon_flat_standard = { + parentanchor = center + size = { 60 60 } + texture = "gfx/interface/icons/flat_icons/succession_peaceful.dds" + } + } + + ### KURULTAI SUCCESSION ICON CHAOTIC + widget = { + visible = "[Not( KurultaiSuccession.IsStable )]" + parentanchor = center + size = { 84 84 } + + icon = { + parentanchor = center + size = { 84 84 } + texture = "gfx/interface/window_realm/succession_icon_background_chaotic.dds" + } + + icon_flat_standard_red = { + parentanchor = center + size = { 60 60 } + texture = "gfx/interface/icons/flat_icons/succession_chaotic.dds" + } + } + } + } + + type hbox_my_realm_footer_stats = hbox { + datacontext = "[MyRealmWindow.GetCharacter]" + layoutpolicy_horizontal = expanding + + margin = { 10 0 } + margin_top = 15 + margin_bottom = 5 + + expand = { + visible = "[Not( Character.HasOverlord )]" + } + + ### YOUR INCOME + vbox = { + layoutpolicy_vertical = expanding + margin_left = 10 + + hbox = { + layoutpolicy_horizontal = expanding + + text_label_left = { + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_YOUR_INCOME" + } + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + margin_right = 15 + min_height = 25 + + expand = {} + + ### SUBJECT / VASSAL LABEL + hbox = { + layoutpolicy_horizontal = expanding + + using = My_Realm_Cell_Size + + expand = {} + + text_single = { + text = "MY_REALM_WINDOW_FROM_VASSALS" + align = nobaseline|right + max_width = 70 + } + } + + ### TRIBUTARY LABEL + hbox = { + layoutpolicy_horizontal = expanding + + using = My_Realm_Cell_Size + + expand = {} + + text_single = { + text = "MY_REALM_WINDOW_FROM_TRIBUTARIES" + align = nobaseline|right + max_width = 90 + } + } + + ### DOMAIN LABEL + hbox = { + layoutpolicy_horizontal = expanding + spacing = 2 + + using = My_Realm_Cell_Size + + expand = {} + + warning_icon = { + visible = "[MyRealmWindow.IsOverDomainLimit]" + size = { 25 25 } + + tooltip = "[Character.GetDomainLimitTooltip]" + } + + text_single = { + text = "MY_REALM_WINDOW_FROM_HOLDINGS" + align = nobaseline|right + max_width = 70 + } + } + } + + ### TAXES + hbox_realm_stats_row = { + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_TAXES" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_gold.dds" + } + + blockoverride "cell_subjects" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetVassalsIncome]" + } + } + } + + blockoverride "cell_tributaries" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetTributariesIncome]" + } + } + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetDomainIncome]" + } + } + } + } + + ### LEVIES + hbox_realm_stats_row = { + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_LEVIES" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_levies.dds" + } + + blockoverride "cell_subjects" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetVassalsLevy]" + } + } + } + + blockoverride "cell_tributaries" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetTributariesLevy]" + } + } + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetDomainLevy]" + } + } + } + } + + ### HERD + hbox_realm_stats_row = { + visible = "[IsNomad( Character )]" + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_HERD" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_herd.dds" + } + + blockoverride "cell_subjects" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetVassalsHerd]" + } + } + } + + blockoverride "cell_tributaries" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetTributariesHerd]" + } + } + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetDomainHerd]" + } + } + } + } + + ### BARTER GOODS + hbox_realm_stats_row = { + visible = "[Character.HasBarterGoods]" + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_BARTER_GOODS" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_barter.dds" + } + + blockoverride "cell_subjects" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetVassalsBarterGoods]" + } + } + } + + blockoverride "cell_tributaries" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetTributariesBarterGoods]" + } + } + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetDomainBarterGoods]" + } + } + } + } + + expand = {} + } + + ### TO LIEGE + vbox = { + visible = "[Character.HasOverlord]" + layoutpolicy_vertical = expanding + margin_left = 10 + + text_label_left = { + layoutpolicy_horizontal = expanding + + text = "[SelectLocalization(Character.HasSuzerain, 'MY_REALM_WINDOW_FROM_TO_SUZERAIN', 'MY_REALM_WINDOW_FROM_TO_LIEGE')]" + } + + hbox = { + layoutpolicy_horizontal = expanding + min_height = 25 + + ### LIEGE NAME + text_single = { + layoutpolicy_horizontal = expanding + max_width = 170 + + text = "[Character.GetOverlord.GetShortUIName]" + align = nobaseline + } + + expand = {} + } + + ### TAXES TO LIEGE + hbox = { + layoutpolicy_horizontal = expanding + + vbox = { + hbox_realm_stats_row = { + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_TAXES" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_gold.dds" + } + + blockoverride "cell_subjects" + { + visible = no + } + + blockoverride "cell_tributaries" { + visible = no + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetIncomeTax]" + } + + blockoverride "cell_value_tooltip" + { + tooltipwidget = { + tooltip_my_realm_to_liege = {} + } + } + } + } + } + + ### LEVIES TO LIEGE + hbox_realm_stats_row = { + visible = "[Not( IsNomad( Character ) )]" + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_LEVIES" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_levies.dds" + } + + blockoverride "cell_subjects" + { + visible = no + } + + blockoverride "cell_tributaries" { + visible = no + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetLevyTax]" + } + + blockoverride "cell_value_tooltip" + { + tooltipwidget = { + tooltip_my_realm_to_liege = {} + } + } + } + } + } + + ### HERD TO LIEGE + hbox_realm_stats_row = { + visible = "[IsNomad( Character )]" + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_HERD" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_herd.dds" + } + + blockoverride "cell_subjects" + { + visible = no + } + + blockoverride "cell_tributaries" { + visible = no + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetHerdTax]" + } + + blockoverride "cell_value_tooltip" + { + tooltipwidget = { + tooltip_my_realm_to_liege = {} + } + } + } + } + } + + ### BARTER GOODS TO LIEGE + hbox_realm_stats_row = { + visible = "[Character.HasBarterGoods]" + margin_right = 15 + + blockoverride "icon_tooltip" + { + tooltip = "MY_REALM_WINDOW_BARTER_GOODS" + } + + blockoverride "icon_texture" + { + texture = "gfx/interface/icons/icon_barter.dds" + } + + blockoverride "cell_subjects" + { + visible = no + } + + blockoverride "cell_tributaries" { + visible = no + } + + blockoverride "cell_domain" + { + cell_value_text = { + blockoverride "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetBarterGoodsTax]" + } + + blockoverride "cell_value_tooltip" + { + tooltipwidget = { + tooltip_my_realm_to_liege = {} + } + } + } + } + } + + expand = {} + } + + ### BUTTONS ( TO LIEGE ) + vbox = { + ### MODIFY YOUR VASSAL CONTRACT + button_round = { + datacontext = "[MyRealmWindow.GetCharacter.GetLiege]" + datacontext = "[MyRealmWindow.GetCharacter.GetVassalContract]" + visible = "[Character.IsPlayerInteractionShown( 'vassal_modify_vassal_contract_interaction' )]" + + onclick = "[Character.OpenPlayerInteraction('vassal_modify_vassal_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('vassal_modify_vassal_contract_interaction')]" + using = tooltip_se + + button_feudal_contract = { + parentanchor = center + alwaystransparent = yes + size = { 30 30 } + } + } + + ### MODIFY YOUR ADMIN VASSAL CONTRACT + button_round = { + datacontext = "[MyRealmWindow.GetCharacter.GetLiege]" + datacontext = "[MyRealmWindow.GetCharacter.GetVassalContract]" + visible = "[Character.IsPlayerInteractionShown( 'admin_vassal_modify_vassal_contract_interaction' )]" + + onclick = "[Character.OpenPlayerInteraction('admin_vassal_modify_vassal_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('admin_vassal_modify_vassal_contract_interaction')]" + using = tooltip_se + + button_add_laws = { + parentanchor = center + alwaystransparent = yes + } + } + + ### MODIFY TRIBUTARY CONTRACT + button_round = { + datacontext = "[MyRealmWindow.GetCharacter.GetSuzerain]" + visible = "[GetPlayer.HasSuzerain]" + + onclick = "[Character.OpenPlayerInteraction('subject_modify_tributary_contract_interaction')]" + tooltip = "[Character.GetPlayerInteractionTooltip('subject_modify_tributary_contract_interaction')]" + using = tooltip_se + + button_feudal_contract = { + parentanchor = center + alwaystransparent = yes + } + } + + ### BREAK FREE OF SUZERAIN + button_round = { + datacontext = "[MyRealmWindow.GetCharacter.GetSuzerain]" + visible = no + + onclick = "[Character.OpenPlayerInteraction('cease_paying_tribute_interaction')]" + enabled = "[Character.IsPlayerInteractionValid('cease_paying_tribute_interaction')]" + + tooltip = "[Character.GetPlayerInteractionTooltip('cease_paying_tribute_interaction')]" + + button_icon = { + parentanchor = center + alwaystransparent = yes + position = { 1 -1 } + size = { 40 40 } + + texture = "gfx/interface/icons/faction_type/liberty_faction.dds" + } + } + } + expand = {} + } + } + + expand = { + visible = "[Not( Character.HasOverlord )]" + } + } + + type hbox_realm_stats_row = hbox { + layoutpolicy_horizontal = expanding + + background = { + margin = { -5 -5 } + using = Background_Area + } + + icon = { + size = { 30 30 } + + block "icon_texture" {} + } + + expand = {} + + ### SUBJECT / VASSAL STATS + hbox = { + using = My_Realm_Cell_Size + + block "cell_subjects" {} + } + + ### TRIBUTARY STATS + hbox = { + using = My_Realm_Cell_Size + + block "cell_tributaries" {} + } + + ### DOMAIN STATS + hbox = { + using = My_Realm_Cell_Size + + block "cell_domain" {} + } + } + + type cell_value_text = text_single { + using = My_Realm_Cell_Size + align = right|nobaseline + + block "cell_value_datacontext" + { + datacontext = "[MyRealmWindow.GetDomainIncome]" + } + + text = "[ValueBreakdown.GetValue]" + + block "cell_value_tooltip" + { + tooltipwidget = { + widget_gold_breakdown_tooltip = { + blockoverride "income" + { + visible = no + } + } + } + } + } + + type vbox_my_realm_laws_top = vbox { + name = "realm_laws" + widgetid = "realm_panel_top_laws" + datacontext = "[GetPlayer]" + datamodel = "[MyRealmWindow.GetRealmLaws]" + layoutpolicy_horizontal = expanding + + divider_light = { + layoutpolicy_horizontal = expanding + } + + item = { + vbox = { + name = "realm_law_group" #tutorial uses this + datacontext = "[GuiLawGroup.GetLawGroup]" + visible = "[And( GuiLawGroup.GetLawGroup.HasFlag( 'realm_law' ), GuiLawGroup.IsAvailable )]" + margin_top = 10 + spacing = 10 + + text_label_center = { + visible = "[IsLandlessAdventurer( Character )]" + text = "[camp_purpose|E]" + } + + text_label_center = { + visible = "[And(GuiLawGroup.GetLawGroup.HasFlag( 'realm_law_no_number' ), Not(IsLandlessAdventurer( Character )) )]" + datacontext = "[GuiLawGroup.GetCurrentLevel.GetLaw]" + text = "MY_REALM_WINDOW_LAW_NAME" + } + + text_label_center = { + visible = "[And(Not( GuiLawGroup.GetLawGroup.HasFlag( 'realm_law_no_number' )), Not(IsLandlessAdventurer( Character )) )]" + datacontext = "[GuiLawGroup.GetCurrentLevel.GetLaw]" + text = "MY_REALM_WINDOW_LAW_NAME_AND_LEVEL" + } + + ### REGULAR LAW ITEMS + fixedgridbox = { + name = "regular_law_items" + visible = "[And( Not( IsLandlessAdventurer( Character ) ), Or(Not( IsNomad( Character ) ), Not( GuiLawGroup.GetLawGroup.HasFlag( 'dominance_law' ) ) ) )]" + + addcolumn = 55 + addrow = 55 + flipdirection = yes + layoutanchor = bottomleft + + datamodel = "[GuiLawGroup.GetLaws]" + + item = { + button_realm_law = {} + } + } + + ### ADVENTURER LAW ITEMS + fixedgridbox = { + name = "camp_purpose_items" + visible = "[IsLandlessAdventurer( Character )]" + + addcolumn = 170 + addrow = 170 + datamodel_wrap = 3 + flipdirection = yes + + datamodel = "[GuiLawGroup.GetLaws]" + + item = { + widget_realm_law_camp_purpose = {} + } + } + + ### NOMAD LAW ITEMS + fixedgridbox = { + name = "nomad_dominance_items" + visible = "[And( IsNomad( Character ), GuiLawGroup.GetLawGroup.HasFlag( 'dominance_law' ) )]" + + addcolumn = 78 + addrow = 80 + setitemsizefromcell = yes + datamodel_wrap = 5 + flipdirection = yes + layoutanchor = bottomleft + + datamodel = "[GuiLawGroup.GetLaws]" + + item = { + button_realm_law_nomad_dominance = { + datacontext = "[GuiLawGroup.GetLevelByIndex( PdxGuiWidget.GetIndexInDataModel ).GetLaw]" + } + } + } + + spacer = { + visible = "[IsNomad( Character )]" + size = { 0 5 } + } + + spacer = { + visible = "[GetPlayer.GetGovernment.IsType( 'mandala_government' )]" + size = { 0 3 } + } + } + } + } + + type icon_my_realm_law = icon { + size = { 42 42 } + alwaystransparent = yes + + texture = "[Law.GetIcon]" + + modify_texture = { + visible = "[And( Not( IsNomad( Character ) ), Not( IsLandlessAdventurer( Character ) ) )]" + texture = "gfx/interface/colors/colors_textured.dds" + blend_mode = add + framesize = { 96 96 } + spritetype = corneredtiled + } + } + + type button_realm_law = icon_button_decorative { + datacontext = "[GuiLaw.GetLaw]" + size = { 55 55 } + + alwaystransparent = "[GuiLaw.IsEnacted]" + + down = "[GuiLaw.IsEnacted]" + onclick = "[GuiLaw.Enact]" + enabled = "[Or( GuiLaw.CanEnact, GuiLaw.IsEnacted )]" + + tooltipwidget = { + pass_law_tooltip = {} + } + using = tooltip_sw + + icon_button_decorative = { + size = { 54 54 } + parentanchor = center + alwaystransparent = yes + } + + button_icon = { + visible = "[Not( GuiLaw.IsEnacted )]" + size = { 42 42 } + parentanchor = center + alwaystransparent = yes + + texture = "[Law.GetIcon]" + } + + icon = { + visible = "[And( GuiLaw.IsEnacted , Not( GuiLaw.CanEnact ) )]" + parentanchor = center + size = { 42 42 } + texture = "[Law.GetIcon]" + alwaystransparent = yes + + using = Master_Button_Modify_Texture + + blockoverride "master_color_frame" { + frame = 2 + } + } + } + + type mandala_laws = vbox { + name = "mandala emperor laws" + layoutpolicy_vertical = expanding + + block "crown_laws" {} + + widget = { + size = { 450 150 } + scissor = yes + + widget = { + size = { 450 150 } + block "mandala_laws_position" {} + + vbox = { + datacontext = "[GetPlayer]" + datamodel = "[MyRealmWindow.GetRealmLaws]" + + item = { + vbox = { + datacontext = "[GuiLawGroup.GetLawGroup]" + visible = "[And( GuiLawGroup.GetLawGroup.HasFlag( 'mandala_law' ), GuiLawGroup.IsAvailable )]" + margin_top = 10 + spacing = 7 + + text_label_center = { + visible = "[GuiLawGroup.GetLawGroup.HasFlag( 'realm_law_no_number' )]" + datacontext = "[GuiLawGroup.GetCurrentLevel.GetLaw]" + text = "MY_REALM_WINDOW_LAW_NAME" + } + + text_label_center = { + visible = "[Not( GuiLawGroup.GetLawGroup.HasFlag( 'realm_law_no_number' ) )]" + datacontext = "[GuiLawGroup.GetCurrentLevel.GetLaw]" + text = "MY_REALM_WINDOW_LAW_NAME_AND_LEVEL" + } + + ### MANDALA LAW ITEMS + fixedgridbox = { + name = "mandala_dominance_items" + visible = "[GetPlayer.GetGovernment.IsType( 'mandala_government' )]" + + addcolumn = 100 + addrow = 100 + setitemsizefromcell = yes + datamodel_wrap = 4 + flipdirection = yes + layoutanchor = bottomleft + + datamodel = "[GuiLawGroup.GetLaws]" + + item = { + button_mandala_realm_law = {} + } + } + + spacer = { + visible = "[GetPlayer.GetGovernment.IsType( 'mandala_government' )]" + size = { 0 3 } + } + } + } + } + } + } + } + + type button_mandala_realm_law = button_round { + datacontext = "[GuiLaw.GetLaw]" + size = { 100 100 } + + alwaystransparent = "[GuiLaw.IsEnacted]" + + down = "[GuiLaw.IsEnacted]" + onclick = "[GuiLaw.Enact]" + enabled = "[Or( GuiLaw.CanEnact, GuiLaw.IsEnacted )]" + + tooltipwidget = { + pass_law_tooltip = {} + } + using = tooltip_sw + + + icon = { + size = { 90 90 } + texture = "gfx/interface/buttons/button_lifestyles_base.dds" + parentanchor = center + alwaystransparent = yes + } + + highlight_icon = { + visible = "[GuiLaw.IsEnacted]" + parentanchor = center + size = { 100 100 } + + texture = "gfx/interface/buttons/button_round_frame.dds" + + modify_texture = { + texture = "gfx/interface/colors/gold.dds" + } + } + + button_icon = { + visible = "[Not( GuiLaw.IsEnacted )]" + size = { 90 90 } + parentanchor = center + alwaystransparent = yes + texture = "[Law.GetIcon]" + } + + icon = { + visible = "[And( GuiLaw.IsEnacted , Not( GuiLaw.CanEnact ) )]" + parentanchor = center + size = { 100 100 } + texture = "[Law.GetIcon]" + alwaystransparent = yes + + using = Master_Button_Modify_Texture + + blockoverride "master_color_frame" { + frame = 2 + } + } + } + + type widget_realm_law_camp_purpose = widget { + datacontext = "[GuiLaw.GetLaw]" + size = { 160 160 } + + tooltipwidget = { + pass_law_tooltip = { + blockoverride "concept_link" { + text = "[camp_purpose|E]" + } + } + } + + # easier to mouse around the grid + tooltip_offset = { 0 40 } + + using = tooltip_ws + + button_standard_clean = { + name = "camp_purpose_button" + size = { 160 160 } + alwaystransparent = "[GuiLaw.IsEnacted]" + + enabled = "[Or(GuiLaw.CanEnact, GuiLaw.IsEnacted)]" + down = "[GuiLaw.IsEnacted]" + onclick = "[GuiLaw.Enact]" + + background = { + texture = "gfx/interface/component_tiles/tile_vignette_3px.dds" + spriteType = Corneredtiled + spriteborder = { 5 5 } + margin = { -2 -2 } + } + + icon = { + size = { 160 160 } + texture = "[Law.GetIcon]" + } + + widget = { + parentanchor = bottom + size = { 100% 30 } + + background = { + using = Background_Area_Dark + } + + text_single = { + visible = "[Not(GuiLaw.IsEnacted)]" + parentanchor = center + position = { 3 -2 } + + text = "PASS_LAW_TOOLTIP_TITLE" + default_format = "#weak" + max_width = 150 + + margin = { 5 0 } + } + + text_single = { + visible = "[GuiLaw.IsEnacted]" + parentanchor = center + position = { 3 -2 } + + text = "ADVENTURER_LAW_SELECTED" + default_format = "#high;EMP" + max_width = 150 + + margin = { 5 0 } + } + } + + selection_glow = { + visible = "[GuiLaw.IsEnacted]" + } + } + } + + type button_realm_law_nomad_dominance = button { + size = { 100 100 } + allow_outside = yes + + down = "[GuiLaw.IsEnacted]" + onclick = "[GuiLaw.Enact]" + enabled = "[Or( GuiLaw.CanEnact, GuiLaw.IsEnacted )]" + + tooltipwidget = { + pass_law_tooltip = {} + } + + using = tooltip_ws + + icon = { + visible = "[GuiLaw.IsEnacted]" + parentanchor = center + size = { 72 72 } + + texture = "gfx/interface/icons/flat_icons/circle.dds" + + using = Animation_Glow_Pulse + + glow = { + glow_radius = 13 + using = Glow_Standard + using = Color_Bright_Yellow + } + } + + icon_round_button_base = { + parentanchor = center + size = { 72 72 } + } + + highlight_icon = { + visible = "[GuiLaw.IsEnacted]" + parentanchor = center + size = { 84 84 } + + texture = "gfx/interface/window_realm/dominance_frame_active.dds" + } + + highlight_icon = { + visible = "[And( GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)4'), Not( GuiLaw.IsEnacted ) )]" + parentanchor = center + position = { 1 1 } + size = { 77 77 } + + texture = "gfx/interface/window_realm/dominance_frame_gurkhan_inactive.dds" + } + + highlight_icon = { + visible = "[And( GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)4'), GuiLaw.IsEnacted )]" + parentanchor = center + position = { 1 1 } + size = { 77 77 } + + texture = "gfx/interface/window_realm/dominance_frame_gurkhan_active.dds" + } + + highlight_icon = { + parentanchor = center + size = { 72 72 } + texture = "[Law.GetIcon]" + } + + icon_flat_standard_ash = { + visible = "[And( GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)4'), Not( MyRealmWindow.IsGurkhan ) )]" + parentanchor = top|right + position = { 3 -3 } + size = { 30 30 } + + texture = "gfx/interface/window_activities/tournament/contest_selection_locked_icon.dds" + + glow = { + glow_radius = 2 + using = Color_Black + + glow_generation_rules = { + glow_alpha_mask = 0 + glow_blur_passes = 10 + glow_texture_downscale = 2.5f + glow_ignore_inside_pixels = yes + } + } + } + + widget = { + parentanchor = hcenter|bottom + position = { 0 3 } + size = { 68 16 } + allow_outside = yes + + flowcontainer = { + parentanchor = vcenter + position = { 5 0 } + spacing = 2 + allow_outside = yes + visible = "[GuiLawGroup.GetLawGroup.HasFlag( 'dominance_law' )]" + + widget = { + size = { 10 10 } + + dominance_pip = { + parentanchor = center + } + + dominance_pip_on = { + visible = "[GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)0')]" + parentanchor = center + } + } + + widget = { + size = { 10 10 } + + dominance_pip = { + parentanchor = center + } + + dominance_pip_on = { + visible = "[GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)1')]" + parentanchor = center + } + } + + widget = { + size = { 10 10 } + + dominance_pip = { + parentanchor = center + } + + dominance_pip_on = { + visible = "[GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)2')]" + parentanchor = center + } + } + + widget = { + size = { 10 10 } + + dominance_pip = { + parentanchor = center + } + + dominance_pip_on = { + visible = "[GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)3')]" + parentanchor = center + } + } + + widget = { + size = { 10 10 } + + dominance_pip = { + parentanchor = center + } + + dominance_pip_on = { + visible = "[GreaterThanOrEqualTo_int32( Law.GetIndexInLawGroup, '(int32)4')]" + parentanchor = center + } + } + } + + icon = { + size = { 68 16 } + texture = "gfx/interface/window_realm/dominance_bar_frame.dds" + } + } + } + + type vbox_kurultai_inherited_titles_group_foldout = vbox { + layoutpolicy_horizontal = expanding + margin = { 10 0 } + + oncreate = "[BindFoldOutContext]" + oncreate = "[PdxGuiFoldOut.Unfold]" + + button_expandable_toggle_field = { + blockoverride "text" + { + text = "MY_REALM_WINDOW_PARTITION_SHARE" + } + } + + vbox = { + visible = "[PdxGuiFoldOut.IsUnfolded]" + layoutpolicy_horizontal = expanding + margin_top = 5 + + overlappingitembox = { + name = "partition_share_box" + datamodel = "[MyRealmWindow.GetMyPartitionShare]" + layoutpolicy_horizontal = expanding + size = { 460 44 } + spacing = 5 + + item = { + coa_title_tiny_crown = { + datacontext = "[TitleItem.GetTitle]" + + using = tooltip_ne + } + } + } + } + } + + type vbox_kurultai_group_foldout = vbox { + layoutpolicy_horizontal = expanding + margin = { 10 0 } + + oncreate = "[BindFoldOutContext]" + oncreate = "[PdxGuiFoldOut.Unfold]" + + button_expandable_toggle_field = { + blockoverride "text" + { + text = "MY_REALM_WINDOW_KURULTAI_ELECTORS" + max_width = 510 + } + } + + vbox = { + visible = "[PdxGuiFoldOut.IsUnfolded]" + layoutpolicy_horizontal = expanding + margin_bottom = 5 + + fixedgridbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + addcolumn = 85 + addrow = 90 + setitemsizefromcell = yes + datamodel_wrap = 6 + flipdirection = yes + + datamodel = "[KurultaiSuccession.GetElectors]" + + item = { + portrait_head_small = { + blockoverride "glow_visible" + { + visible = no + } + } + } + } + } + } + + type vbox_succession_content_kurultai = vbox { + layoutpolicy_horizontal = expanding + + background = { + visible = "[KurultaiSuccession.IsStable]" + + texture = "gfx/interface/window_realm/succession_pattern_peaceful.dds" + alpha = 0.1 + spritetype = corneredtiled + texture_density = 2 + using = Color_Blue + using = Mask_Rough_Edges + + + margin = { -5 0 } + margin_top = -68 + + modify_texture = { + texture = "gfx/interface/component_overlay/seamless_noise.dds" + alpha = 0.1 + blend_mode = overlay + spritetype = corneredtiled + texture_density = 2 + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_scratches.dds" + alpha = 0.9 + blend_mode = alphamultiply + spritetype = corneredtiled + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_scratches.dds" + alpha = 0.9 + blend_mode = alphamultiply + spritetype = corneredtiled + mirror = horizontal + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + mirror = horizontal + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical.dds" + blend_mode = alphamultiply + } + } + + background = { + visible = "[Not( KurultaiSuccession.IsStable )]" + + texture = "gfx/interface/window_realm/succession_pattern_chaotic.dds" + alpha = 0.1 + mirror = horizontal + spritetype = corneredtiled + texture_density = 2 + using = Color_Red + using = Mask_Rough_Edges + + margin = { -5 0 } + margin_top = -68 + + modify_texture = { + texture = "gfx/interface/component_overlay/seamless_noise.dds" + blend_mode = overlay + spritetype = corneredtiled + texture_density = 2 + alpha = 0.1 + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_scratches.dds" + alpha = 0.9 + blend_mode = alphamultiply + spritetype = corneredtiled + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_scratches.dds" + alpha = 0.9 + blend_mode = alphamultiply + spritetype = corneredtiled + mirror = horizontal + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + mirror = horizontal + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical.dds" + blend_mode = alphamultiply + } + } + + ### STATUS BANNER + hbox = { + layoutpolicy_horizontal = expanding + + tooltipwidget = { + widget_kurultai_succession_tooltip = {} + } + + ### STABLE SUCCESSION + widget = { + visible = "[KurultaiSuccession.IsStable]" + size = { 550 84 } + + icon = { + parentanchor = vcenter + size = { 550 64 } + texture = "gfx/interface/window_realm/succession_banner_peaceful.dds" + } + + widget = { + parentanchor = left|vcenter + position = { 12 0 } + size = { 84 84 } + + icon = { + parentanchor = center + size = { 84 84 } + texture = "gfx/interface/window_realm/succession_icon_background_peaceful.dds" + } + + icon_flat_standard = { + parentanchor = center + size = { 60 60 } + texture = "gfx/interface/icons/flat_icons/succession_peaceful.dds" + } + } + + text_single = { + layoutpolicy_vertical = expanding + parentanchor = left|vcenter + position = { 100 -2 } + + text = "MY_REALM_WINDOW_KURULTAI_STABLE" + max_width = 400 + using = Font_Size_Medium + } + } + + ### CHAOTIC SUCCESSION + widget = { + visible = "[Not( KurultaiSuccession.IsStable )]" + size = { 550 84 } + + icon = { + parentanchor = vcenter + size = { 550 64 } + texture = "gfx/interface/window_realm/succession_banner_chaotic.dds" + } + + widget = { + parentanchor = left|vcenter + position = { 12 0 } + size = { 84 84 } + + icon = { + parentanchor = center + size = { 84 84 } + texture = "gfx/interface/window_realm/succession_icon_background_chaotic.dds" + } + + icon_flat_standard_red = { + parentanchor = center + size = { 60 60 } + texture = "gfx/interface/icons/flat_icons/succession_chaotic.dds" + } + } + + text_single = { + layoutpolicy_vertical = expanding + parentanchor = left|vcenter + position = { 100 -2 } + + text = "MY_REALM_WINDOW_KURULTAI_CHAOTIC" + max_width = 400 + using = Font_Size_Medium + } + } + } + + ### HEIR INFO + hbox = { + datacontext = "[MyRealmWindow.GetCharacter.GetPlayerHeir]" + visible = "[Character.IsValid]" + layoutpolicy_horizontal = expanding + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 15 0 } + + text_label_left = { + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_PREFERRED" + using = Font_Size_Medium + max_width = 360 + } + + text_single = { + margin_top = 10 + layoutpolicy_horizontal = expanding + + text = "[Character.GetUINameNoTooltip]" + align = nobaseline + default_format = "#high" + max_width = 360 + using = Font_Size_Medium + } + + text_single = { + layoutpolicy_horizontal = expanding + + text = "MRW_YOUR_PLAYER_HEIR" + default_format = "#weak" + max_width = 360 + } + + text_single = { + visible = "[Not( KurultaiSuccession.IsStable )]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_CHAOS_WARNING" + max_width = 360 + } + + ### CHANGE HEIR BUTTON + hbox = { + layoutpolicy_horizontal = expanding + + margin_top = 20 + + button_standard = { + size = { 150 32 } + text = "MY_REALM_WINDOW_DESIGNATE_HEIR" + + enabled = "[MyRealmWindow.CanDesignateHeir]" + onclick = "[OpenDesignateHeirWindow]" + + tooltip = "MRW_DESIGNATE_HEIR_TT" + } + + expand = {} + } + + expand = {} + } + + expand = {} + + portrait_torso = { + blockoverride "portrait_status_icons" {} + blockoverride "opinion_box" {} + } + } + + ### KURULTAI PROGRESS BAR + vbox = { + visible = "[GreaterThan_int32( KurultaiSuccession.GetVoteCount, '(int32)0' )]" + layoutpolicy_horizontal = expanding + margin = { 15 0 } + margin_bottom = 5 + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = "MY_REALM_WINDOW_KURULTAI_APPROVES" + align = nobaseline + max_width = 150 + } + + progressbar_standard = { + name = "kurultai_votes" + layoutpolicy_horizontal = expanding + size = { 200 20 } + + using = Animation_ShowHide_Standard + + max = "[IntToFloat( KurultaiSuccession.GetVoteCount )]" + value = "[IntToFloat( KurultaiSuccession.GetObedientCount )]" + } + + text_single = { + text = "MY_REALM_WINDOW_KURULTAI_OPPOSES" + align = nobaseline + max_width = 150 + } + } + + text_multi = { + text = "MY_REALM_WINDOW_KURULTAI_OBEDIENT" + autoresize = yes + align = center + default_format = "#italic" + max_width = 500 + margin = { 0 5 } + } + } + } + + type widget_kurultai_succession_tooltip = widget + { + alwaystransparent = no + using = GeneralTooltipSetup + + widget = { + name = "background" + alwaystransparent = no + size = { 100% 100% } + using = DefaultTooltipBackground + } + + vbox = { + set_parent_size_to_minimum = yes + margin = { 20 0 } + margin_top = 5 + margin_bottom = 20 + spacing = 20 + + ### HEADER + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + background = { + using = Background_Header + } + + background = { + using = Background_Header_Pattern + } + + icon = { + visible = "[KurultaiSuccession.IsStable]" + size = { 60 60 } + texture = "gfx/interface/icons/succession_peaceful.dds" + } + + icon = { + visible = "[Not( KurultaiSuccession.IsStable )]" + size = { 60 60 } + texture = "gfx/interface/icons/succession_chaotic.dds" + } + + text_single = { + visible = "[KurultaiSuccession.IsStable]" + + text = "MY_REALM_WINDOW_KURULTAI_STABLE" + align = nobaseline + default_format = "#bold" + using = Font_Size_Medium + } + + text_single = { + visible = "[Not( KurultaiSuccession.IsStable )]" + + text = "MY_REALM_WINDOW_KURULTAI_CHAOTIC" + align = nobaseline + default_format = "#bold" + using = Font_Size_Medium + } + + expand = {} + + text_single = { + text = "[succession|E]" + } + } + + ### SUB HEADER + vbox = { + layoutpolicy_horizontal = expanding + + text_multi = { + visible = "[KurultaiSuccession.IsStable]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_STABLE_TOOLTIP_HEADER" + autoresize = yes + minimumsize = { 100 -1 } + maximumsize = { 500 300 } + } + + text_multi = { + visible = "[Not( KurultaiSuccession.IsStable )]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_CHAOTIC_TOOLTIP_HEADER" + autoresize = yes + minimumsize = { 100 -1 } + maximumsize = { 500 300 } + } + } + + divider_light = { + layoutpolicy_horizontal = expanding + } + + text_multi = { + layoutpolicy_horizontal = expanding + + text = "[KurultaiSuccession.GetStatusTooltip]" + autoresize = yes + fontsize = 16 + fontsize_min = 12 + minimumsize = { 100 -1 } + maximumsize = { 500 300 } + } + + divider_light = { + layoutpolicy_horizontal = expanding + } + + vbox = { + layoutpolicy_horizontal = expanding + + text_multi = { + visible = "[KurultaiSuccession.IsStable]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_STABLE_TOOLTIP_FOOTER" + autoresize = yes + minimumsize = { 100 -1 } + maximumsize = { 500 300 } + } + + text_multi = { + visible = "[Not( KurultaiSuccession.IsStable )]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_KURULTAI_CHAOTIC_TOOLTIP_FOOTER" + autoresize = yes + minimumsize = { 100 -1 } + maximumsize = { 500 300 } + } + } + } + } + + type vbox_my_realm_succession_title_lost_item = vbox { + datacontext = "[TitleSuccessionItem.GetHeir]" + layoutpolicy_horizontal = expanding + + margin = { 16 8 } + margin_bottom = 15 + + background = { + using = Background_Frame + } + + hbox = { + layoutpolicy_horizontal = expanding + + vbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "heir_name" + visible = "[Character.IsValid]" + + text = "MY_REALM_WINDOW_TITLES_LOST_LABEL" + layoutpolicy_horizontal = expanding + autoresize = no + } + + text_single = { + name = "heir_not_your_dynasty" + visible = "[And( Character.IsValid, Not( ObjectsEqual( Character.GetHouse.GetDynasty.Self, GetPlayer.GetHouse.GetDynasty.Self ) ) )]" + + text = "MY_REALM_WINDOW_HEIR_NOT_MY_DYNASTY" + using = Font_Size_Small + layoutpolicy_horizontal = expanding + autoresize = no + } + + text_single = { + name = "heir_share" + datacontext = "[GetPlayer]" + visible = "[DataModelHasItems( TitleSuccessionItem.GetPartitionTitles )]" + + text = "MY_REALM_WINDOW_SUCCESSION_LAW_AND_DESC" + default_format = "#weak" + layoutpolicy_horizontal = expanding + autoresize = no + } + } + + expand = {} + + fixedgridbox = { + name = "titles_box" + datamodel = "[TitleSuccessionItem.GetPartitionTitles]" + visible = "[DataModelHasItems( TitleSuccessionItem.GetPartitionTitles )]" + + addcolumn = 36 + addrow = 60 + maxhorizontalslots = 7 + flipdirection = yes + + item = { + widget = { + size = { 36 60 } + datacontext = "[TitleItem.GetTitle]" + + coa_title_tiny_crown = { + + using = tooltip_ne + parentanchor = center + } + + icon_title_has_laws_status = {} + } + } + } + + fixedgridbox = { + name = "exception_box" + datamodel = "[TitleSuccessionItem.GetExceptionTitles]" + visible = "[DataModelHasItems( TitleSuccessionItem.GetExceptionTitles )]" + + addcolumn = 36 + addrow = 45 + maxhorizontalslots = 7 + flipdirection = yes + + item = { + container = { + datacontext = "[TitleItem.GetTitle]" + coa_title_tiny_crown = { + using = tooltip_ne + } + + icon_title_has_laws_status = {} + } + } + } + + text_single = { + name = "required_government_label" + visible = "[DataModelHasItems( TitleSuccessionItem.GetRequiredGovernmentTitles )]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_REQUIRED_GOVERNMENT_TITLES" + } + + text_single = { + name = "required_government_warning" + visible = "[DataModelHasItems( TitleSuccessionItem.GetRequiredGovernmentTitles )]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_REQUIRED_GOVERNMENT_TITLES_WARNING" + using = Font_Size_Small + } + + fixedgridbox = { + name = "required_government_box" + datamodel = "[TitleSuccessionItem.GetRequiredGovernmentTitles]" + visible = "[DataModelHasItems( TitleSuccessionItem.GetRequiredGovernmentTitles )]" + + addcolumn = 36 + addrow = 45 + maxhorizontalslots = 7 + flipdirection = yes + + + item = { + container = { + datacontext = "[TitleItem.GetTitle]" + coa_title_tiny_crown = { + using = tooltip_ne + } + + icon_title_has_laws_status = {} + } + } + } + } + } + + type icon_title_succession = icon { + size = { 25 25 } + texture = "gfx/interface/icons/title_status/icon_title_law.dds" + } + + type icon_title_has_laws_status = icon_title_succession { + name = "has_laws" + visible = "[Title.HasLaws]" + + parentanchor = bottom|right + position = { 5 0 } + } + + type vbox_succession_content_default = vbox { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + spacing = 10 + + hbox = { + name = "current_heir" + + # vassals in merit governments don't really care that your heir inherits your province, it is all transient anyway, so no need to show the warning + + visible = "[And( And( Not(GetPlayer.GetGovernment.HasRule( 'merit' )), Not(GetPlayer.IsIndependentRuler)), And( MyRealmWindow.HasHeir, Not( ObjectsEqual( MyRealmWindow.GetCharacter.GetPlayerHeir, MyRealmWindow.GetCharacter.GetPrimaryTitle.GetHeir.Self ) ) ) )]" + + + layoutpolicy_horizontal = expanding + margin_bottom = 5 + + background = { + using = Background_Area_Dark + alpha = 0.8 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + mirror = horizontal + } + } + + vbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + margin = { 5 0 } + margin_top = 5 + + text_single = { + name = "not_primary_heir" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_NOT_PRIMARY_HEIR" + align = nobaseline + } + + expand = {} + } + } + + ##### FROM REALM'S PARTITION ##### + vbox = { + layoutpolicy_horizontal = expanding + + vbox = { + name = "their_partition_share" + visible = "[And( MyRealmWindow.HasPartition, DataModelHasItems( MyRealmWindow.GetMyPartitionShare ) )]" + layoutpolicy_horizontal = expanding + + margin_left = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + text_label_left = { + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_SUCCESSION_TITLES_INHERITED" + max_width = 500 + } + + expand = {} + } + + overlappingitembox = { + name = "partition_share_box" + datamodel = "[MyRealmWindow.GetMyPartitionShare]" + layoutpolicy_horizontal = expanding + size = { 460 65 } + spacing = 5 + + item = { + coa_title_tiny_crown = { + datacontext = "[TitleItem.GetTitle]" + using = tooltip_ne + } + } + } + } + + vbox = { + name = "title_succession" + visible = "[DataModelHasItems(MyRealmWindow.GetTitleSuccession)]" + layoutpolicy_horizontal = expanding + margin = { 5 0 } + + oncreate = "[BindFoldOutContext]" + oncreate = "[PdxGuiFoldOut.Unfold]" + + button_expandable_toggle_field = { + blockoverride "text" + { + text = "MY_REALM_WINDOW_TITLES_LOST_ON_SUCCESSION" + default_format = "#X" + } + } + + vbox = { + datamodel = "[MyRealmWindow.GetTitleSuccession]" + visible = "[PdxGuiFoldOut.IsUnfolded]" + layoutpolicy_horizontal = expanding + + item = { + vbox_my_realm_succession_title_lost_item = {} + } + } + } + + vbox = { + name = "exceptions" + visible = "[DataModelHasItems( MyRealmWindow.GetSuccessionExceptions )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = growing + margin_left = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + text_label_left = { + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_EXCEPTIONS" + max_width = 520 + } + + expand = {} + } + + vbox = { + name = "exceptions_box" + datamodel = "[MyRealmWindow.GetSuccessionExceptions]" + layoutpolicy_horizontal = expanding + + + item = { + hbox = { + layoutpolicy_horizontal = expanding + margin = { 8 8 } + + datacontext = "[TitleItem.GetTitle]" + + background = { + using = Background_Area + } + + widget = { + size = { 75 0 } + layoutpolicy_vertical = expanding + + coa_title_small_crown = { + position = { 0 -16 } + parentanchor = center + } + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + spacing = 2 + + text_label_left = { + layoutpolicy_horizontal = expanding + autoresize = no + + text = "[Title.GetNameNoTooltip]" + } + + hbox = { + layoutpolicy_horizontal = expanding + + icon_title_succession = {} + + text_single = { + layoutpolicy_horizontal = expanding + + text = "[Title.GetTitleLawsTooltip]" + align = nobaseline + autoresize = no + } + } + + expand = {} + } + + vbox = { + portrait_head_small = { + datacontext = "[Title.GetHeir]" + } + + text_label_center = { + text = "[heir|E]" + } + } + + + } + } + + } + } + } + + vbox = { + name = "line_of_succession" + visible = "[MyRealmWindow.HasSingleHeir]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = growing + margin = { 5 0 } + spacing = 10 + + hbox = { + layoutpolicy_horizontal = expanding + + text_label_left = { + name = "line_of_succession_label" + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_LINE_OF_SUCCESSION" + } + + expand = {} + } + + dynamicgridbox = { + name = "line_of_succession_box" + datamodel = "[MyRealmWindow.GetLineOfSuccession]" + layoutpolicy_horizontal = expanding + + item = { + hbox = { + datacontext = "[LineOfSuccessionItem.GetCharacter]" + maximumsize = { -1 100 } + margin_left = 10 + margin_bottom = 5 + + background = { + using = Background_Area_With_Header + } + + vbox = { + layoutpolicy_vertical = growing + margin_bottom = 5 + spacing = 2 + + hbox_character_view_name_age_health = { + blockoverride "name_text" + { + text = "MY_REALM_WINDOW_LINE_OF_SUCCESSION_ORDERED_NAME" + } + + blockoverride "health_margin" { + margin_left = 4 + } + } + + spacer = { + size = { 10 3 } + } + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "character_relation_to_you" + text = "[Character.GetRelationToString( GetPlayer )]" + align = nobaseline + fontsize_min = 13 + max_width = 300 + + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + } + + expand = {} + } + + hbox_traits_list_small = { + name = "traits_list" + datacontext = "[LineOfSuccessionItem.GetTraitArrays]" + } + + text_single = { + name = "vassal_stances_that_prefer" + visible = "[And( Not( IsLandlessAdventurer( GetPlayer ) ), Not( StringIsEmpty( MyRealmWindow.GetCharacter.GetVassalStancesThatPrefer( Character.Self ) ) ) )]" + layoutpolicy_horizontal = expanding + + text = "MRW_HEIR_PREFERRED" + autoresize = no + using = Font_Size_Medium + } + + expand = {} + } + + expand = {} + + vbox = { + layoutpolicy_vertical = expanding + + portrait_shoulders = { + name = "heir_portrait" + + blockoverride "portrait_button" { + using = tooltip_ws + } + } + + expand = {} + } + } + } + } + } + + expand = {} + } + + type tooltip_my_realm_to_liege = container_my_realm_window_contribution_tooltip { + datacontext = "[MyRealmWindow.GetCharacter]" + + blockoverride "contribution_tooltip_header" + { + text = "[SelectLocalization(Character.HasSuzerain, 'MRW_TT_TAXES_TO_MY_SUZERAIN', 'MRW_TT_TAXES_TO_MY_LIEGE')]" + } + + blockoverride "contribution_tooltip_content_suffix" {} + } + + type container_my_realm_window_contribution_tooltip = container { + alwaystransparent = no + + using = GeneralTooltipSetup + using = DefaultTooltipBackground + + widget_gold_breakdown_tooltip = { + layoutpolicy_horizontal = expanding + + blockoverride "margins" + { + margin = { 15 10 } + margin_bottom = 5 + spacing = 15 + } + + blockoverride "income" + { + visible = no + } + + blockoverride "background" {} + + blockoverride "extra_info" + { + block "contribution_tooltip_content_suffix" { + text_single = { + visible = "[Character.IsTheocraticLessee]" + + text = "MY_REALM_WINDOW_CONTRIBUTION_TO_THEOCRATIC_LIEGE" + default_format = "#weak" + multiline = yes + maximumsize = { 300 -1 } + } + } + + text_single = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + + block "contribution_tooltip_header" + { + align = left + } + } + } + } + } + + type vbox_my_realm_domain_body = vbox { + layoutpolicy_horizontal = expanding + margin_top = 5 + spacing = 20 + + using = Animation_Tab_Switch + + vbox = { + visible = "[Character.HasDomicile]" + + layoutpolicy_horizontal = expanding + margin_top = 10 + spacing = 10 + + text_label_center = { + text = "[Character.GetDomicile.GetYourDomicileText]" + default_format = "#low" + using = Font_Size_Medium + } + + vbox_domicile_button = {} + } + + datamodel = "[MyRealmWindow.GetDomainItems]" + + item = { + vbox = { + name = "duchy_group" + layoutpolicy_horizontal = expanding + + hbox = { + spacing = 5 + + background = { + margin_top = -10 + margin_bottom = -5 + margin_left = 20 + margin_right = 40 + + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + } + } + + coa_title_tiny_crown = { + datacontext = "[DuchyGroup.GetDuchy]" + + using = tooltip_ws + } + + text_single = { + text = "[DuchyGroup.GetDuchy.GetNameNoTooltip|U]" + default_format = "#low" + max_width = 420 + using = Font_Size_Medium + } + } + + vbox = { + name = "county_group" + datamodel = "[DuchyGroup.GetCounties]" + layoutpolicy_horizontal = expanding + + spacing = 20 + + item = { + + vbox = { + datacontext = "[CountyGroup.GetCounty]" + datacontext = "[CountyGroup.GetCapitalProvince.GetCounty]" + + layoutpolicy_horizontal = expanding + + hbox = { + datacontext = "[CountyGroup.AccessBreakdowns]" + layoutpolicy_horizontal = expanding + + margin_left = 5 + margin_right = 10 + spacing = 7 + + coa_title_tiny = {} + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Title.GetNameNoTooltip]" + max_width = 180 + } + + expand = {} + + text_single = { + text = "[development|E]: [County.GetDevelopmentLevel|V]" + max_width = 140 + + tooltipwidget = { + county_development_tooltip_container = {} + } + } + + text_single = { + name = "tutorial_highlight_control" + text = "[CountyGroup.GetCountyControlColored]" + max_width = 130 + + tooltipwidget = { + county_control_tooltip_container = {} + } + } + } + + vbox = { + datamodel = "[CountyGroup.GetHoldings]" + layoutpolicy_horizontal = expanding + margin_left = 10 + margin_right = 10 + margin_bottom = 5 + spacing = 3 + + item = { + vbox = { + name = "holding_realm_list_item" #ra_merit_governor_holdings_list uses this + + datacontext = "[HoldingItem.GetHolding]" + layoutpolicy_horizontal = expanding + + background = { + texture = "[HoldingItem.GetHolding.GetIllustration]" + alpha = 0.7 + fittype = centercrop + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + } + + modify_texture = { + texture = "gfx/interface/component_overlay/overlay_effect.dds" + blend_mode = overlay + } + } + + button_standard_clean = { + layoutpolicy_horizontal = expanding + size = { 0 80 } + + onclick = "[HoldingItem.OnClick]" + + tooltipwidget = { holding_tooltip_click = {} } + + background = { + visible = "[Holding.IsSelected]" + using = Background_Button_Illustration + } + + using = Background_Vignette_Button + using = Holding_Mouse_Entry + + vbox = { + margin = { 10 2 } + + hbox = { + name = "holding_header" + layoutpolicy_horizontal = expanding + spacing = 6 + + hbox = { + spacing = 6 + + background = { + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + margin_left = 15 + margin_right = 25 + margin_top = 0 + margin_bottom = 5 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + mirror = horizontal + } + } + + icon = { + name = "realm_capital_icon" + visible = "[HoldingItem.IsRealmCapital]" + size = { 25 25 } + texture = "gfx/interface/icons/icon_capital.dds" + framesize = { 60 60 } + frame = 2 + + tooltip = "REALM_CAPITAL_TOOLTIP" + } + + text_single = { + text = "MY_REALM_WINDOW_HOLDING_NAME" + } + } + + expand = {} + + text_single = { + text = "MY_REALM_WINDOW_HOLDING_TAX" + alwaystransparent = yes + default_format = "#high" + + tooltip = "[Holding.GetTaxTooltip]" + } + + text_single = { + visible = "[Holding.GetHolder.HasBarterGoods]" + text = "MY_REALM_WINDOW_HOLDING_BARTER_GOODS" + alwaystransparent = yes + default_format = "#high" + + tooltip = "[Holding.GetBarterGoodsIncomeTooltip]" + } + + text_single = { + text = "MY_REALM_WINDOW_HOLDING_LEVY" + alwaystransparent = yes + default_format = "#high" + + tooltip = "[Holding.GetLeviesTooltip]" + } + } + + hbox = { + name = "holding_buildings" + layoutpolicy_horizontal = expanding + minimumsize = { 0 40 } + + vbox = { + tooltip = "MY_REALM_WINDOW_BUILDING_CONSTRUCTION_TT" + using = tooltip_ne + + text_single = { + text = "[HoldingItem.GetStatusText]" + align = nobaseline + } + + hbox = { + layoutpolicy_horizontal = expanding + + progressbar_standard = { + name = "building_progressbar" + visible = "[HoldingItem.GetHolding.IsConstructionInProgress]" + layoutpolicy_horizontal = expanding + alwaystransparent = yes + + maximumsize = { -1 15 } + value = "[HoldingItem.GetHolding.GetConstructionProgress]" + direction = horizontal + } + + expand = {} + } + } + + text_single = { + visible = "[HoldingItem.GetHolding.CanConstructAnyBuilding(GetPlayer)]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_CONSTRUCT_BUILDING" + default_format = "#P" + } + + expand = {} + } + } + } + } + } + } + + vbox = { + visible = "[DataModelHasItems(CountyGroup.GetEmptyHoldings)]" + layoutpolicy_horizontal = expanding + + spacing = 5 + margin_left = 10 + margin_right = 10 + + button_group = { + layoutpolicy_horizontal = expanding + + onclick = "[CountyGroup.ToggleExpanded]" + + flowcontainer = { + spacing = 5 + + widget = { + size = { 18 22 } + + button_expand = { + parentanchor = center + frame = "[Select_int32( CountyGroup.IsExpanded, '(int32)2', '(int32)1' )]" + } + } + + text_single = { + text = "ME_REALM_WINDOW_EMPTY_HOLDINGS" + default_format = "#low" + align = nobaseline + } + } + } + + expand = {} + + vbox = { + datamodel = "[CountyGroup.GetEmptyHoldings]" + visible = "[CountyGroup.IsExpanded]" + layoutpolicy_horizontal = expanding + + margin_left = 23 + margin_bottom = 5 + spacing = 4 + + item = { + vbox = { + datacontext = "[HoldingItem.GetHolding]" + layoutpolicy_horizontal = expanding + + button_standard = { + datacontext = "[HoldingItem.GetHolding]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + minimumsize = { 0 45 } + + onclick = "[HoldingItem.OnClick]" + down = "[Holding.IsSelected]" + + using = Holding_Mouse_Entry + + tooltipwidget = { + holding_tooltip_click = {} + } + + using = tooltip_ne + + widget = { + parentanchor = right|top + position = { -2 2 } + size = { 350 41 } + scissor = yes + + icon = { + name = "illustration" + parentanchor = right|top + size = { 180 90 } + texture = "[HoldingItem.GetHolding.GetProvince.GetTerrain.GetIllustration]" + alpha = 0.4 + mirror = horizontal + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + } + } + } + + icon = { + parentanchor = center + size = { 99% 92% } + + texture = "gfx/interface/component_tiles/tile_vignette_3px.dds" + spriteType = Corneredtiled + spriteborder = { 5 5 } + } + + hbox = { + margin = { 10 0 } + + vbox = { + layoutpolicy_vertical = expanding + margin_top = 2 + + text_single = { + text = "[HoldingItem.GetBarony.GetNameNoTierNoTooltip]" + } + + expand = {} + } + + expand = {} + + vbox = { + visible = "[HoldingItem.GetHolding.IsConstructionInProgress]" + layoutpolicy_vertical = expanding + + margin = { 0 4 } + + text_single = { + layoutpolicy_horizontal = expanding + text = "[HoldingItem.GetStatusText]" + + align = nobaseline + } + + expand = {} + + hbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 3 + + progressbar_standard = { + name = "building_progressbar" + alwaystransparent = yes + direction = horizontal + size = { 180 12 } + value = "[HoldingItem.GetHolding.GetConstructionProgress]" + } + } + } + + vbox = { + layoutpolicy_vertical = expanding + margin_top = 2 + + text_label_right = { + visible = "[HoldingItem.GetHolding.CanConstructAnyBuilding(GetPlayer)]" + layoutpolicy_vertical = fixed + text = "MY_REALM_WINDOW_CONSTRUCT_HOLDING" + default_format = "#P" + } + + expand = {} + } + } + } + } + } + } + } + + expand = {} + } + } + } + } + } + } + + type vbox_my_realm_subjects_top = vbox { + widgetid = "tab_vassals" + layoutpolicy_horizontal = expanding + + divider_light = { + layoutpolicy_horizontal = expanding + } + + vbox = { + layoutpolicy_horizontal = expanding + + margin = { 15 5 } + margin_bottom = 10 + spacing = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + text = "MY_REALM_WINDOW_VASSAL_OPINION" + max_width = 180 + + tooltip = "MY_REALM_WINDOW_VASSAL_OPINION_TT" + } + + expand = {} + + hbox = { + tooltip = "[GetPlayer.GetDreadBreakdown]" + + icon = { + name = "dread_icon" + size = { 30 30 } + texture = "gfx/interface/icons/icon_dread.dds" + } + + text_single = { + name = "dread_name" + text = "[dread|E]: [GetPlayer.GetDread|0]" + default_format = "#high" + max_width = 90 + } + } + + expand = {} + + hbox = { + name = "tutorial_highlight_vassal_limit" + spacing = 4 + + tooltip = "[Character.GetVassalLimitTooltip]" + + background = { + visible = "[GreaterThan_int32( Character.GetNumVassalsTowardsLimit, Character.GetVassalLimit )]" + using = Status_Bad + } + + icon = { + size = { 30 30 } + texture = "gfx/interface/icons/icon_vassal.dds" + } + + text_single = { + text = "MY_REALM_WINDOW_VASSAL_LIMIT" + max_width = 130 + } + + text_single = { + text = "MY_REALM_WINDOW_VASSAL_LIMIT_VALUE" + max_width = 50 + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = MY_REALM_WINDOW_VASSAL_STANCES + align = nobaseline + max_width = 100 + } + + hbox = { + datamodel = "[GetAllVassalStances]" + spacing = 5 + + item = { + text_single = { + visible = "[NotEqualTo_int32( MyRealmWindow.GetNumVassalsWithStance( VassalStance.Self ), '(int32)0' )]" + text = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT" + align = nobaseline + fonttintcolor = "[GetOpinionTint(FixedPointToInt(VassalStance.GetModifierValueFor( MyRealmWindow.GetCharacter )))]" + margin = { 0 2 } + margin_left = 5 + margin_right = 10 + + using = Background_Area_Border + + tooltip = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT_TT" + + max_width = 56 + + } + } + } + + expand = {} + } + } + + hbox = { + name = "vassal_filters_container" + layoutpolicy_horizontal = expanding + spacing = 30 + + dropdown_menu_standard = { + name = "government_filters_dropdown" + + blockoverride "dropdown_properties" + { + datamodel = "[MyRealmWindow.GetGovernmentTypeFilters]" + + onselectionchanged = "[MyRealmWindow.SelectActiveGovernmentTypeFilter]" + selectedindex = "[MyRealmWindow.GetActiveGovernmentTypeFilterIndex]" + } + + blockoverride "dropdown_active_item_properties" + { + text = "MRW_GOVERNMENT_FILTER" + + tooltip = "MRW_GOVERNMENT_FILTER_DROPDOWN_TT" + } + + blockoverride "dropdown_item_properties" + { + text = "MRW_GOVERNMENT_FILTER" + + tooltip = "MRW_GOVERNMENT_FILTER_TT" + } + } + + dropdown_menu_standard = { + name = "vassal_stance_filters_dropdown" + + blockoverride "dropdown_properties" + { + datamodel = "[MyRealmWindow.GetVassalStanceFilters]" + + onselectionchanged = "[MyRealmWindow.SelectActiveVassalStanceFilter]" + selectedindex = "[MyRealmWindow.GetActiveVassalStanceFilterIndex]" + } + + blockoverride "dropdown_active_item_properties" + { + text = "MRW_VASSAL_STANCE_FILTER" + + tooltip = "MRW_VASSAL_STANCE_FILTER_DROPDOWN_TT" + } + + blockoverride "dropdown_item_properties" + { + text = "MRW_VASSAL_STANCE_FILTER" + + tooltip = "MRW_VASSAL_STANCE_FILTER_TT" + } + } + } + + text_single = { + name = "government_filter_label" + visible = "[MyRealmWindow.HasActiveGovernmentTypeFilter]" + text = "[MyRealmWindow.GetActiveGovernmentTypeFilter.GetVassalsLabel]" + margin_bottom = 10 + } + } + + type vbox_my_realm_subjects_body = vbox { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin = { 0 10 } + + using = Animation_Tab_Switch + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetPowerfulVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + + background = { + using = Background_Frame + } + } + } + } + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetTributaries]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + } + } + } + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetRegularVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + + addcolumn = 538 + addrow = 185 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + } + } + } + + text_single = { + visible = "[EqualTo_int32( MyRealmWindow.GetVassalCount, '(int32)0' )]" + layoutpolicy_vertical = expanding + + text = "MY_REALM_WINDOW_SUBJECTS_NO_SUBJECTS" + default_format = "#weak" + } + + expand = {} + } + + type vbox_my_realm_republics_top = vbox { + widgetid = "tab_republics" + layoutpolicy_horizontal = expanding + + divider_light = { + layoutpolicy_horizontal = expanding + } + + vbox = { + layoutpolicy_horizontal = expanding + + margin = { 15 5 } + margin_bottom = 15 + spacing = 5 + + vbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = "Important Factors in Elections and Tax:" + align = nobaseline + max_width = 500 + } + } + hbox = { + layoutpolicy_horizontal = expanding + + portrait_head_small = {} + + hbox = { + visible = "[Character.GetGovernment.IsType('urbanrepublic_government'))]" + spacing = 3 + expand = {} + icon = { + name = "icon_influence" + size = { 30 30 } + texture = "[Character.GetInfluenceLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetInfluence|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "prestige_icon" + size = { 30 30 } + texture = "[Character.GetPrestigeLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_piety" + size = { 30 30 } + texture = "[Character.GetPietyLevelTexture]" + } + text_single = { + name = "piety" + text = "[Character.GetPiety|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_dynasty_prestige" + size = { 30 30 } + texture = "[Character.GetDynasty.GetDynastyPrestigeLevelTexture]" + } + text_single = { + name = "dynasty_prestige" + text = "[Character.GetDynasty.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + widget = { + size = { 50 50 } + coa_house_medium = { + datacontext = "[Character.GetHouse]" + parentanchor = center + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = MY_REALM_WINDOW_VASSAL_STANCES + align = nobaseline + max_width = 100 + } + + hbox = { + datamodel = "[GetAllVassalStances]" + spacing = 5 + + item = { + text_single = { + visible = "[NotEqualTo_int32( MyRealmWindow.GetNumVassalsWithStance( VassalStance.Self ), '(int32)0' )]" + text = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT" + align = nobaseline + fonttintcolor = "[GetOpinionTint(FixedPointToInt(VassalStance.GetModifierValueFor( MyRealmWindow.GetCharacter )))]" + margin = { 0 2 } + margin_left = 5 + margin_right = 10 + + using = Background_Area_Border + + tooltip = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT_TT" + + max_width = 56 + + } + } + } + + expand = {} + } + } + + + text_single = { + name = "government_filter_label" + visible = "[MyRealmWindow.HasActiveGovernmentTypeFilter]" + text = "[MyRealmWindow.GetActiveGovernmentTypeFilter.GetVassalsLabel]" + margin_bottom = 10 + } + } + type vbox_my_realm_republics_body = vbox { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin = { 0 10 } + + using = Animation_Tab_Switch + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetPowerfulVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_republic_vassal_list_item = { + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + + background = { + using = Background_Frame + } + } + } + } + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetRegularVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + + addcolumn = 538 + addrow = 185 + setitemsizefromcell = yes + + item = { + widget_republic_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + } + } + } + + expand = {} + } + type vbox_my_realm_succession_body_top = vbox { + layoutpolicy_horizontal = expanding + margin_bottom = 5 + + text_single = { + visible = "[MyRealmWindow.HasHeir]" + margin = { 0 4 } + + text = "MRW_YOUR_PLAYER_HEIR" + align = nobaseline + default_format = "#I" + max_width = 500 + } + + text_single = { + name = "no_heir_warning" + visible = "[Not( MyRealmWindow.HasHeir )]" + margin = { 0 4 } + + text = "MY_REALM_WINDOW_NO_HEIR_FLAVOR" + align = nobaseline + } + + hbox = { + layoutpolicy_horizontal = expanding + allow_outside = yes + margin = { 10 0 } + + ### HEIR INFO + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_left = 10 + spacing = 2 + + text_label_left = { + layoutpolicy_horizontal = expanding + text = "game_concept_player_heir" + align = nobaseline + using = Font_Size_Medium + + margin = { 0 2 } + } + + text_single = { + visible = "[MyRealmWindow.HasHeir]" + layoutpolicy_horizontal = expanding + + text = "[MyRealmWindow.GetCharacter.GetPlayerHeir.GetUINameNoTooltip]" + default_format = "#low" + max_width = 415 + using = Font_Size_Medium + } + + text_single = { + name = "vassal_stances_that_prefer" + datacontext = "[MyRealmWindow.GetCharacter.GetPlayerHeir]" + visible = "[And( Not( IsLandlessAdventurer( GetPlayer ) ), And( MyRealmWindow.HasHeir, Not( StringIsEmpty( MyRealmWindow.GetCharacter.GetVassalStancesThatPrefer( Character.Self ) ) ) ) )]" + layoutpolicy_horizontal = expanding + autoresize = no + + text = "MY_REALM_WINDOW_SUCCESSION_PREFERRED_BY" + default_format = "#weak" + } + + hbox = { + visible = [MyRealmWindow.HasHeir] + layoutpolicy_horizontal = expanding + margin = { 5 5 } + + text_single = { + datacontext = "[MyRealmWindow.GetCharacter.GetPlayerHeir]" + + text = "[MyRealmWindow.GetCharacter.GetVassalStancesThatPrefer( Character.Self )]" + align = nobaseline + using = Font_Size_Medium + + layoutpolicy_horizontal = expanding + autoresize = no + } + } + + hbox = { + layoutpolicy_horizontal = expanding + margin_top = 2 + + button_standard = { + size = { 150 32 } + + text = "MY_REALM_WINDOW_SUCCESSION_DESIGNATE_HEIR" + + enabled = "[MyRealmWindow.CanDesignateHeir]" + onclick = "[OpenDesignateHeirWindow]" + + tooltip = "MRW_DESIGNATE_HEIR_TT" + } + + expand = {} + } + + expand = {} + } + + portrait_shoulders = { + datacontext = "[MyRealmWindow.GetCharacter.GetPlayerHeir]" + visible = "[Character.IsValid]" + allow_outside = yes + + blockoverride "glow_visible" + { + visible = no + } + } + } + } + + type vbox_my_realm_succession_body = vbox { + name = "tab_succession" + widgetid = "tab_succession" + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + using = Animation_Tab_Switch + + vbox = { + layoutpolicy_horizontal = expanding + + vbox_succession_content_kurultai = { + visible = "[KurultaiSuccession.IsValid]" + } + + vbox_succession_content_default = { + visible = "[Not( KurultaiSuccession.IsValid )]" + } + } + + vbox_kurultai_group_foldout = { + visible = "[And( KurultaiSuccession.IsValid, Not( IsDataModelEmpty( KurultaiSuccession.GetElectors ) ) )]" + } + + vbox_kurultai_inherited_titles_group_foldout = { + visible = "[KurultaiSuccession.IsValid]" + } + + expand = {} + } + + type widget_my_realm_law_item = widget { + datacontext = "[GuiLawGroup]" + size = { 246 62 } + + background = { + using = Background_Area + } + + hbox = { + margin = { 10 0 } + + vbox = { + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[GuiLawGroup.GetLawGroup.GetNameSingular]:" + align = nobaseline + max_width = 170 + } + + text_single = { + layoutpolicy_horizontal = expanding + text = "[GuiLawGroup.GetCurrentLevel.GetLaw.GetName]" + align = nobaseline + default_format = "#high" + max_width = 170 + } + } + + expand = {} + + button_round = { + datacontext = "[GuiLawGroup.GetLawGroup]" + visible = "[Not( LawGroup.HasFlag( 'treasury_budget_law' ) )]" + enabled = "[LawGroup.CanRulerChange(GetPlayer)]" + tooltip_when_disabled = "[GuiLawGroup.GetCanChangeTooltip]" + size = { 30 30 } + + button_change = { + size = { 24 24 } + parentanchor = center + onclick = "[OpenSuccessionLawChangeWindow( GuiLawGroup.Self )]" + } + } + } + } + + type vbox_law_item = vbox { + layoutpolicy_horizontal = expanding + spacing = 8 + + text_label_center = { + block "item_title" + { + text = "MY_REALM_WINDOW_LAWS_REALM_LAWS" + } + } + + text_multi = { + block "item_desc" + { + visible = no + } + align = nobaseline + default_format = "#weak" + autoresize = yes + max_width = 500 + } + + flowcontainer = { + datamodel = "[MyRealmWindow.GetRealmLaws]" + ignoreinvisible = yes + wrap_count = 2 + + item = { + widget_my_realm_law_item = { + block "show_law" + { + visible = "[And( GuiLawGroup.IsAvailable, Not( GuiLawGroup.GetLawGroup.HasFlag( 'realm_law' ) ))]" + } + } + } + } + } + + type vbox_election_title_law_item = vbox { + datacontext = "[TitleItem.GetTitle]" + layoutpolicy_horizontal = expanding + + background = { + using = Background_Frame + } + + hbox = { + layoutpolicy_horizontal = expanding + + margin = { 10 0 } + margin_top = 2 + margin_bottom = 4 + spacing = 10 + + container = { + my_realm_coa_tiny_item = {} + } + + text_single = { + layoutpolicy_horizontal = expanding + + text = "[Title.GetTitleLawsTooltip]" + align = nobaseline + } + + expand = {} + + button_round = { + visible = "[Not( ObjectsEqual( Title.Self, Character.GetPrimaryTitle.Self ) )]" + + button_election_vote = { + parentanchor = center + + onclick = "[OpenSuccessionElectionWindowForTitle(Title.Self)]" + tooltip = "MY_REALM_WINDOW_VOTE_TOOLTIP" + } + } + } + } + + type vbox_my_realm_laws_body = vbox { + using = Animation_Tab_Switch + + ### LAWS TOP AND PROGRESS BAR + vbox = { + visible = "[And( And( GreaterThan_int32( MyRealmWindow.GetPowerfulVassalLawVoteCount, '(int32)0' ), Not( IsNomad( GetPlayer ) ) ), Not( GetPlayer.GetGovernment.HasRule( 'deny_powerful_vassal' )))]" + margin_top = 15 + spacing = 5 + + text_multi = { + text = "MY_REALM_WINDOW_LAWS_PROGRESS_BAR_DESC" + align = center|nobaseline + autoresize = yes + default_format = "#I" + max_width = 500 + } + + text_single = { + text = "MY_REALM_WINDOW_LAWS_PROGRESS_BAR_TITLE" + align = nobaseline + max_width = 500 + } + + ### POWERFUL VASSALS PROGRESS BAR + vbox = { + layoutpolicy_horizontal = expanding + margin = { 20 0 } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = "MY_REALM_WINDOW_LAWS_PROGRESS_BAR_APPROVES" + align = nobaseline + max_width = 150 + } + + progressbar_standard = { + layoutpolicy_horizontal = expanding + size = { 140 20 } + + using = Animation_ShowHide_Standard + + max = "[IntToFloat( MyRealmWindow.GetPowerfulVassalLawVoteCount )]" + value = "[IntToFloat( MyRealmWindow.GetPowerfulVassalLawApproves )]" + } + + text_single = { + text = "MY_REALM_WINDOW_LAWS_PROGRESS_BAR_OPPOSES" + align = nobaseline + max_width = 150 + } + } + } + } + + ### KURULTAI PROGRESS BAR + vbox = { + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + visible = "[And( GreaterThan_int32( KurultaiSuccession.GetVoteCount, '(int32)0' ), IsNomad( GetPlayer ) )]" + layoutpolicy_horizontal = expanding + + margin_top = 15 + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = "MY_REALM_WINDOW_KURULTAI_APPROVES" + align = nobaseline + max_width = 150 + } + + progressbar_standard = { + name = "kurultai_votes" + layoutpolicy_horizontal = expanding + size = { 200 20 } + + using = Animation_ShowHide_Standard + + max = "[IntToFloat( KurultaiSuccession.GetVoteCount )]" + value = "[IntToFloat( KurultaiSuccession.GetObedientCount )]" + } + + text_single = { + text = "MY_REALM_WINDOW_KURULTAI_OPPOSES" + align = nobaseline + max_width = 150 + } + } + + text_multi = { + text = "MY_REALM_WINDOW_KURULTAI_OBEDIENT" + autoresize = yes + default_format = "#italic" + align = center + max_width = 500 + margin = { 0 5 } + } + } + + vbox = { + layoutpolicy_horizontal = expanding + margin_top = 10 + spacing = 18 + + ### REALM LAWS (except the flag 'realm_law' as those are reserved for Crown Authority) + vbox_law_item = { + blockoverride "item_title" + { + visible = no + } + + blockoverride "show_law" + { + visible = "[And( GuiLawGroup.IsAvailable, Or( GuiLawGroup.GetLawGroup.HasFlag( 'succession_order_laws' ), Or( GuiLawGroup.GetLawGroup.HasFlag( 'succession_gender_laws' ), GuiLawGroup.GetLawGroup.HasFlag( 'imperial_policy' ) ) ) )]" + } + } + + ### PRIMARY TITLE ELECTION (if exists) + flowcontainer = { + name = "primary_title_election" + datacontext = "[GetPlayer]" + datamodel = "[MyRealmWindow.GetTitlesCanVote]" + visible = "[MyRealmWindow.CanVote]" + + ignoreinvisible = yes + + item = { + button_standard = { + datacontext = "[TitleItem.GetTitle]" + visible = "[ObjectsEqual( Title.Self, Character.GetPrimaryTitle.Self )]" + text = "MY_REALM_WINDOW_VOTE" + + onclick = "[OpenSuccessionElectionWindowForTitle(Title.Self)]" + + tooltip = "MY_REALM_WINDOW_VOTE_TOOLTIP" + } + } + } + + #### ELECTIONS BUTTON + vbox = { + visible = "[MyRealmWindow.CanVote]" + layoutpolicy_horizontal = expanding + + text_label_left = { + layoutpolicy_horizontal = expanding + text = "MY_REALM_WINDOW_LAWS_SPECIFIC_SUCCESSION_LAWS" + } + + vbox = { + name = "elections" + datacontext = "[GetPlayer]" + datamodel = "[MyRealmWindow.GetTitlesCanVote]" + layoutpolicy_horizontal = expanding + ignoreinvisible = yes + + margin_top = 5 + + item = { + vbox_election_title_law_item = { + visible = "[Not( ObjectsEqual( Title.Self, Character.GetPrimaryTitle.Self ) )]" + } + } + } + } + + ### PROVINCIAL LAWS + vbox_law_item = { + datacontext = "[GetPlayer]" + visible = "[ProvincialLawCharacter( Character )]" + + blockoverride "item_title" + { + text = "MY_REALM_WINDOW_LAWS_PROVINCIAL_LAWS" + } + + blockoverride "item_desc" + { + text = "MY_REALM_WINDOW_LAWS_PROVINCIAL_LAWS_DESC" + } + + blockoverride "show_law" + { + visible = "[And( GuiLawGroup.IsAvailable, GuiLawGroup.GetLawGroup.HasFlag( 'admin_law' ) )]" + + enabled = "[Not( Character.HasOverlord )]" + + tooltip_when_disabled = "MY_REALM_WINDOW_LAWS_PROVINCIAL_LAWS_DESC_DISABLED" + } + } + + ### TREASURY BUDGET LAWS + vbox_law_item = { + datacontext = "[GetPlayer]" + visible = "[And( Character.IsIndependentRuler, Character.HasTreasury )]" + + blockoverride "item_title" + { + text = "MY_REALM_WINDOW_LAWS_TREASURY_BUDGET_LAWS" + } + + blockoverride "show_law" + { + visible = "[And( GuiLawGroup.IsAvailable, GuiLawGroup.GetLawGroup.HasFlag( 'treasury_budget_law' ) )]" + + enabled = "[Not( Character.HasOverlord )]" + + tooltip_when_disabled = "MY_REALM_WINDOW_LAWS_TREASURY_BUDGET_LAWS_DESC_DISABLED" + } + } + + button_standard = { + visible = "[And( Character.IsIndependentRuler, Character.HasTreasury )]" + size = { 320 44 } + + onclick = "[OpenGameViewData( 'treasury_budget_change', GetPlayer.Self )]" + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 12 + + expand = {} + + icon = { + size = { 32 32 } + texture = "gfx/interface/icons/icon_imperial_treasury.dds" + } + + text_single = { + text = "MY_REALM_WINDOW_MANAGE_TREASURY_BUDGET" + align = nobaseline + default_format = "#clickable" + } + expand = {} + } + } + } + } + + type authority_icon = vbox { + hbox = { + visible = "[IsNomad( Character )]" + + icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)0')]" + size = { 30 30 } + texture = "gfx/interface/icons/dominance_01.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)1')]" + size = { 30 30 } + texture = "gfx/interface/icons/dominance_02.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)2')]" + size = { 30 30 } + texture = "gfx/interface/icons/dominance_03.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)3')]" + size = { 30 30 } + texture = "gfx/interface/icons/dominance_04.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)4')]" + size = { 30 30 } + texture = "gfx/interface/icons/dominance_05.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + } + + hbox = { + visible = "[And(Not(IsNomad( Character )),Not(Character.GetGovernment.HasGovernmentFlag( 'government_is_tribal' )))]" + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)0')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/crown_authority_0.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)1')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/crown_authority_1.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)2')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/crown_authority_2.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)3')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/crown_authority_3.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + } + + hbox = { + visible = "[Character.GetGovernment.HasGovernmentFlag( 'government_is_tribal' )]" + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)0')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/tribal_authority_0.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)1')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/tribal_authority_1.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)2')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/tribal_authority_2.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + + button_icon = { + visible = "[EqualTo_int32( Law.GetIndexInLawGroup, '(int32)3')]" + size = { 30 30 } + texture = "gfx/interface/icons/laws/tribal_authority_3.dds" + + tooltipwidget = { + general_law_tooltip = {} + } + } + } + } +} diff --git a/history/provinces/e_alps.txt b/history/provinces/e_alps.txt index 43d2b07a..56ec06ab 100644 --- a/history/provinces/e_alps.txt +++ b/history/provinces/e_alps.txt @@ -227,7 +227,7 @@ religion = roman_catholic } 2976 = { - holding = city_holding + holding = none } 2948 = { holding = none @@ -286,7 +286,7 @@ } ###c_ladinia 8808 = { - holding = tribal_holding + holding = city_holding culture = ladin religion = roman_catholic } diff --git a/history/provinces/e_italy.txt b/history/provinces/e_italy.txt index ef8acf5b..4fb5d098 100644 --- a/history/provinces/e_italy.txt +++ b/history/provinces/e_italy.txt @@ -212,7 +212,7 @@ 2542 = { culture = emilian religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = university_bologna_01 1066.1.1 = { buildings = { @@ -222,12 +222,12 @@ } } 2549 = { - holding = castle_holding + holding = city_holding } 2541 = { holding = none 1178.1.1 = { - holding = city_holding + holding = castle_holding } } ###c_reggio_emilia @@ -236,7 +236,7 @@ culture = emilian religion = roman_catholic 950.1.1 = { - holding = castle_holding + holding = city_holding } } 2535 = { @@ -246,34 +246,34 @@ 2540 = { culture = emilian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2530 = { - holding = city_holding + holding = castle_holding } ###c_parma 2532 = { culture = emilian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2533 = { - holding = monotown_holding + holding = castle } 2490 = { - holding = monotown_holding + holding = none } ###c_ferrara 2527 = { culture = emilian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2526 = { holding = church_holding } 2528 = { - holding = city_holding + holding = castle_holding } 2529 = { holding = none @@ -282,7 +282,7 @@ 2488 = { culture = emilian religion = fraticelli - holding = castle_holding + holding = city_holding } 2489 = { holding = none @@ -292,7 +292,7 @@ 2466 = { culture = ligurian religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = fortified_port_of_genoa_01 867.1.1 = { buildings = { @@ -316,7 +316,7 @@ 2485 = { holding = none 1147.1.1 = { - holding = castle_holding + holding = monotown_holding } } 2531 = { @@ -326,12 +326,12 @@ } ###c_luni 2465 = { - holding = castle_holding + holding = city_holding culture = ligurian religion = fraticelli } 2022 = { - holding = castle_holding + holding = city_holding special_building_slot = mountain_fortress_imperia_01 } 8804 = { @@ -635,7 +635,7 @@ 2546 = { culture = romagnol religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = apollinare_nuovo_01 900.1.1 = { } @@ -647,13 +647,13 @@ 2553 = { culture = romagnol religion = roman_catholic - holding = castle_holding + holding = city_holding 900.1.1 = { culture = romagnol } } 2548 = { - holding = city_holding + holding = monotown_holding } 2547 = { culture = romagnol @@ -712,7 +712,7 @@ holding = city_holding } 2564 = { - holding = city_holding + holding = monotown_holding } 2584 = { holding = city_holding @@ -730,7 +730,7 @@ 2565 = { holding = none 1178.1.1 = { - holding = city_holding + holding = monotown_holding } } 8760 = { @@ -741,7 +741,7 @@ } } 2558 = { - holding = city_holding + holding = monotown_holding culture = tuscan religion = roman_catholic } @@ -772,7 +772,7 @@ 2545 = { holding = none 950.1.1 = { - holding = city_holding + holding = monotown_holding } } ###c_orbetello @@ -785,7 +785,7 @@ holding = none } 2570 = { - holding = city_holding + holding = monotown_holding } 2567 = { holding = church_holding @@ -819,16 +819,16 @@ 2555 = { culture = romagnol religion = roman_catholic - holding = castle_holding + holding = city_holding } 2556 = { - holding = none + holding = monotown_holding } ###c_fermo 2598 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding } 2597 = { holding = church_holding @@ -991,15 +991,15 @@ 2609 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding } 2669 = { - holding = castle_holding + holding = monotown_holding culture = pugliese religion = roman_catholic } 8757 = { - holding = city_holding + holding = church_holding } ###c_salerno 2612 = { @@ -1031,15 +1031,15 @@ 2603 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding } 2604 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = monotown_holding } 8759 = { - holding = city_holding + holding = church_holding } ###c_abruzzi 2600 = { @@ -1056,7 +1056,7 @@ 2596 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding } 2595 = { holding = church_holding @@ -1064,25 +1064,25 @@ ###c_molise 2607 = { holding = church_holding - holding = castle_holding + holding = city_holding culture = pugliese religion = roman_catholic } 2605 = { - holding = castle_holding + holding = monotown_holding } ##d_apulia ###c_foggia 2610 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding } 8758 = { - holding = city_holding + holding = monotown_holding } 2614 = { - holding = city_holding + holding = church_holding } 9760 = { holding = none @@ -1091,7 +1091,7 @@ 2619 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = city_holding special_building_slot = port_of_bari_01 1066.1.1 = { buildings = { @@ -1106,14 +1106,14 @@ 2623 = { culture = pugliese religion = roman_catholic - holding = castle_holding + holding = church_holding } 9761 = { holding = none } ###c_taranto 2621 = { - holding = castle_holding + holding = city_holding culture = pugliese religion = roman_catholic } @@ -1129,7 +1129,7 @@ holding = castle_holding } 2622 = { - holding = castle_holding + holding = city_holding culture = pugliese religion = roman_catholic } @@ -1225,7 +1225,7 @@ 2517 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = doges_palace_01 1066.1.1 = { buildings = { @@ -1245,12 +1245,12 @@ 2512 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = church_holding } 2506 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = monotown_holding } 2504 = { holding = city_holding @@ -1260,7 +1260,7 @@ 2505 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2511 = { holding = none @@ -1275,29 +1275,29 @@ 2503 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = city_holding } 8765 = { - holding = city_holding + holding = monotown_holding } ###c_polesine 2525 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2524 = { - holding = city_holding + holding = church_holding } ##d_friuli ###c_aquileia 2514 = { culture = friulian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2508 = { - holding = city_holding + holding = monotown_holding } 2510 = { holding = none @@ -1308,7 +1308,7 @@ 9708 = { culture = ladin religion = roman_catholic - holding = city + holding = city_holding } ###c_friuli 8766 = { @@ -1324,7 +1324,7 @@ 2501 = { culture = venetian religion = roman_catholic - holding = castle_holding + holding = city_holding } 2502 = { holding = none @@ -1332,7 +1332,7 @@ 2666 = { holding = none 1178.1.1 = { - holding = city_holding + holding = monotown_holding } } ###c_trent @@ -1349,7 +1349,7 @@ } ###c_vicenza 2509 = { - holding = castle_holding + holding = city_holding culture = venetian religion = roman_catholic } diff --git a/history/titles/NEOW_admin_titles.txt b/history/titles/NEOW_admin_titles.txt index 817e84ab..9d530e83 100644 --- a/history/titles/NEOW_admin_titles.txt +++ b/history/titles/NEOW_admin_titles.txt @@ -238,14 +238,6 @@ d_nf_bollani = { # Bollani } } -d_nf_robecchi-bricchetti = { # Bollani - 2554.1.1 = { - liege = k_venice - holder = italy0002 - government = administrative_government - succession_laws = { noble_family_succession_law } - } -} #old britania, keep for future potential changes diff --git a/history/titles/k_lombardy_venetio.txt b/history/titles/k_lombardy_venetio.txt index b7ba4d7a..4bd2e424 100644 --- a/history/titles/k_lombardy_venetio.txt +++ b/history/titles/k_lombardy_venetio.txt @@ -1,7 +1,6 @@ k_venice = { 2550.1.1 = { holder = italy0002 - government = administrative_government } } diff --git a/localization/english/replace/dlc/ep3/dlc_ep3_game_concepts_l_english.yml b/localization/english/replace/dlc/ep3/dlc_ep3_game_concepts_l_english.yml new file mode 100644 index 00000000..3374d2e9 --- /dev/null +++ b/localization/english/replace/dlc/ep3/dlc_ep3_game_concepts_l_english.yml @@ -0,0 +1,316 @@ +l_english: + game_concept_administrative_government: "Administrative Government" + game_concept_administrative_governments: "Administrative Governments" + game_concept_administrative: "Administrative" + game_concept_administrative_i: "@government_type_administrative!" + game_concept_administrative_desc: "$game_concept_administrative$ is a [government_bureaucratic_type|E] [government_form|E] that appoints [characters|E] as [governors|E], to manage and preside over land, called [provinces|E], on behalf of their [liege|E].\n\n$game_concept_administrative$ Characters have access to [influence|E] and some also have a personal [family_estate|E].\n\nOnly [independent|E] [rulers|E] of an $game_concept_administrative$ [realm|E] have [legitimacy|E], while [vassals|E] do not.\n\n$admin_cannot_declare_internal_wars$" + game_concept_imperial_bureaucracy: "Imperial Bureaucracy" + game_concept_imperial_bureaucracy_desc: "$game_concept_imperial_bureaucracy$ represents an [administrative|E] [realms|E] level of centralization and the general power that the [ruler|E] wields over their [vassals|E].\n\nOnly the [top_liege|E] can change $game_concept_imperial_bureaucracy$. Administrative $game_concept_vassals$ use the same level as their $game_concept_liege$.\n\nThere are four levels of $game_concept_imperial_bureaucracy$:\n$EFFECT_LIST_BULLET$$imperial_bureaucracy_0$\n$EFFECT_LIST_BULLET$$imperial_bureaucracy_1$\n$EFFECT_LIST_BULLET$$imperial_bureaucracy_2$\n$EFFECT_LIST_BULLET$$imperial_bureaucracy_3$\n\nIncreasing $game_concept_imperial_bureaucracy$ costs an amount of [prestige|E] depending on [realm_size|E] and the ruler's [learning_skill|E]." + game_concept_governor: "Governor" + game_concept_governor_possessive: "Governor's" + game_concept_governors: "Governors" + game_concept_governors_possessive: "Governors'" + game_concept_governed: "Governed" + game_concept_strategos: "Strategos" + game_concept_strategos_possessive: "Strategos'" + game_concept_strategoi: "Strategoi" + game_concept_strategoi_possessive: "Strategoi's" + game_concept_governorship: "Governorship" + game_concept_governorships: "Governorships" + game_concept_governor_desc: "A $game_concept_governor$ is the primary vassal of a [liege|E] with a [government_bureaucratic_gov|E]. They are appointed by their Liege to preside over the lands within the [realm|E], utilizing their [governor_efficiency|E].\n\nA $game_concept_governor$'s [title|E], as well as the [counties|E] it includes, is referred to as a [province|E]. [governance_issues|E] may appear inside a Province, which the $game_concept_governor$ has to solve.\n\n$game_concept_governors$ can accumulate [influence|E] and manipulate the [succession|E] of other $game_concept_governorships$." + game_concept_candidate_score: "Candidate Score" + game_concept_candidate_scores: "Candidate Scores" + game_concept_candidate_score_desc: "[characters|E] in the [line_of_succession|E] for a [title|E] with [administrative_government|E] have a $game_concept_candidate_score$.\n\nThis score dictates who will receive the title(s) upon [succession|E] and can be changed through various means from [scheming|E] to spending [influence|E]." + game_concept_influence: "Influence" + game_concept_influence_desc: "$game_concept_influence$ represents a [character_possessive|E] political reach and authority in a [realm|E] that has the [administrative_government|E].\n\n$game_concept_influence$ is an essential tool and can be acquired in numerous ways. For example by becoming a [governor|E], upgrading an [estate|E], or being allied to the [house_head|E] of a [noble_family|E].\n\nThe main way to spend and make use of $game_concept_influence$ is to acquire a [governorship|E], but is also a valuable resource to sway other Characters to do your bidding.\n\nEvery time a Character gains $game_concept_influence$, they also progress towards their next [influence_level|E]." + game_concept_influence_i: "@influence_icon!" + game_concept_influential: "Influential" + game_concept_influence_level: "Level of Influence" + game_concept_influence_level_desc: "A [character_possessive|E] Level of Influence measures their overall political power and reach.\n\nEach time a Character gains [influence|E], they also gain progress towards the next $game_concept_influence_level$.\n\nThe Levels are:\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_0' ).GetNameWithTooltip|L]\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_1' ).GetNameWithTooltip|L]\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_2' ).GetNameWithTooltip|L]\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_3' ).GetNameWithTooltip|L]\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_4' ).GetNameWithTooltip|L]\n$EFFECT_LIST_BULLET$[GetModifier( 'influence_level_5' ).GetNameWithTooltip|L]" + game_concept_influence_levels: "Levels of Influence" + game_concept_influence_level_impact: "Level of Influence Impact" + game_concept_influence_level_impact_desc: "Level of Influence Impact increases or decreases the [modifiers|E] gained from your current [influence_level|E]." + game_concept_title_men_at_arms: "Title Men-at-Arms" + game_concept_title_men_at_arms_desc: "$game_concept_title_men_at_arms$ are [men_at_arms|E] that exists for a given [title|E]. Instead of being personally owned by the [ruler|E], these troops always follow the $game_concept_title$ they belong to. Meaning that whomever owns the $game_concept_title$ will also own and control the corresponding troops.\n\n$game_concept_title_men_at_arms$ are used by certain [government_forms|E], such as [administrative|E]." + game_concept_domicile: "Domicile" + game_concept_domiciles: "Domiciles" + game_concept_domicile_desc: "A $game_concept_domicile$ is the private property of certain [characters|E] who have a particular [government_form|E], such as [administrative|E] and [adventurer|E].\n\nThe $game_concept_domicile$ acts as the owner's primary powerbase instead of [holdings|E], and can be improved with [domicile_buildings|E].\n\nEvery $game_concept_domicile$ is located within a designated [barony|E], and may be moved to a new location. Restrictions may apply depending on the $game_concept_domicile$ Type.\n\nEach $game_concept_domicile$ has a special landless [title|E] and follows its [succession|E]." + game_concept_domicile_building: "Domicile Building" + game_concept_domicile_buildings: "Domicile Buildings" + game_concept_domicile_building_desc: "All [domiciles|E] can be upgraded with certain $game_concept_domicile_buildings$, which grant income, resources such as [prestige|E], and many other benefits to the owner.\n\nThe availability of buildings depends on the type of $game_concept_domicile$, as each type has a vastly different set of buildings.\n\nSome $game_concept_domicile_buildings$ can have [internal_upgrades|E]." + game_concept_domicile_build_speed: "[domicile_building|E] Construction Time" + game_concept_domicile_travel_speed: "Move [domicile|E] Travel Speed" + game_concept_domicile_building_upgrade: "Internal Upgrade" + game_concept_domicile_building_upgrade_desc: "Some $game_concept_domicile_buildings$ can be improved with $game_concept_internal_upgrades$.\n\nAn Upgrade, while similar to other $game_concept_domicile_buildings$, may only be constructed within a specific building. Every building with access to Upgrades have their own unique set of Upgrades available." + game_concept_domicile_building_slot: "$game_concept_domicile_building$ Slot" + game_concept_domicile_building_slots: "$game_concept_domicile_building$ Slots" + game_concept_domicile_building_slot_slot: "Slot" + game_concept_domicile_building_slot_slots: "Slots" + game_concept_domicile_building_slot_desc: "Each [domicile|E] has only a limited number of potential $game_concept_domicile_building_slot_slots$ for new buildings.\n\nNew $game_concept_domicile_building_slot_slots$ can be unlocked by upgrading the central $game_concept_domicile_building$, like an [estate|E]'s [GetDomicileBuilding('estate_main_01').GetName] or a [camp|E]'s [GetDomicileBuilding('camp_main_01').GetName].\n\n#WEAK Locked $game_concept_domicile_building_slot_slots$ are shown in the $game_concept_domicile$ view — there is no way to get extra $game_concept_domicile_building_slot_slots$ beyond these.#!" + game_concept_internal_upgrades: "Internal Upgrades" + game_concept_estate: "Estate" + game_concept_estates: "Estates" + game_concept_family_estate: "Family Estate" + game_concept_family_estates: "Family Estates" + game_concept_estate_desc: "An $game_concept_estate$ is a type of [domicile|E] held by the [house_head|E] of notable [noble_families|E] within [administrative|E] [realms|E]. They represent private landholdings untied to any particular [landed|E] [title|E].\n\n[estate_buildings|E] may be constructed here to expand the family's wealth and [influence|E], and the $game_concept_estate$ will be inherited by future generations." + game_concept_estate_building: "Estate Building" + game_concept_estate_buildings: "Estate Buildings" + game_concept_estate_building_desc: "$game_concept_estate_buildings$ are unique and persistent improvements to a [noble_family_possessive|E] [estate|E].\n\nA large variety of structures are available for construction and may be built by the Estate's owner to generate private income, expand the family's [influence|E], and gain access to a number of [decisions|E], [interactions|E], and more." + game_concept_camp: "Camp" + game_concept_camps: "Camps" + game_concept_adventurer_camp: "Adventurer Camp" + game_concept_adventurer_camps: "Adventurer Camps" + game_concept_camp_desc: "$game_concept_camps$ are a portable mess of tents, pack animals, and people. They vary in size from just a small circle to great roving armies.\n\nEach [GetGovernment( 'landless_adventurer_government' ).GetName] has a $game_concept_camp$ [domicile|E] which moves across the map with them.\n\n[camp_buildings|E] may be built here, which provide powerful bonuses to the $game_concept_adventurer$ in lieu of [counties|E] of their own. [followers|E], like their [family|E] and [knights|E], travel with the $game_concept_camp$, and may be appointed as [officers|E].\n\n#WEAK Like [courts|E], $game_concept_camps$ include some nameless [characters|E] not important enough to portray — albeit less of them.\n\nEven when not [traveling|E] between $game_concept_counties$, $game_concept_camps$ are generally not static in the [location|E] they're in, and will move around every few nights.#!" + game_concept_camp_building: "Camp Upgrade" + game_concept_camp_buildings: "Camp Upgrades" + game_concept_camp_building_desc: "$game_concept_camp_buildings$ are unique improvements to a [camp|E].\n\nMechanically, they are [domicile_buildings|E] — though many represent social customs or simply areas of focus for the $game_concept_camp$, rather than being literal structures.\n\nThe bonuses they can confer include:\n$EFFECT_LIST_BULLET$ Unlocking new [officers|E]\n$EFFECT_LIST_BULLET$ Powerful [skill|E] buffs for [followers|E]\n$EFFECT_LIST_BULLET$ Boosting the strength of [men_at_arms|E]\n$EFFECT_LIST_BULLET$ Unlocking actions that [landed|E] [rulers|E] take for granted.\n\n#WEAK When an [adventurer|E] becomes [landed|E], their $game_concept_camp_buildings$ are liquidated and a portion refunded as [gold|E].#!" + game_concept_follower: "Follower" + game_concept_followers: "Followers" + game_concept_following: "Following" + game_concept_follower_desc: "A $game_concept_follower$ is an [unlanded|E] character who accompanies an [adventurer|E].\n\nMechanically, they are equivalent to [courtiers|E], though they are under less obligation to show respect or hang around if they dislike their leader.\n\nThe collective [opinion|E] of a character's $game_concept_followers$ determine their [camp_temperament|E].\n\n$game_concept_followers$ can:\n$BULLET_WITH_TAB$Serve as [officers|E]\n$BULLET_WITH_TAB$Serve in [armies|E] as [commanders|E] or [knights|E]\n$BULLET_WITH_TAB$Let their [adventurer|E] press their [claims|E] in [war|E]" + game_concept_camp_temperament: "Camp Temperament" + game_concept_camp_temperament_desc: "Unlike the rigid hierarchy of a [court|E], $game_concept_camps$ are largely informal places where grumbling from important [characters|E] #EMP other#! than the leading [adventurer|E] can matter a great deal.\n\n#P $DOMICILE_WINDOW_BOOKMARK_FOLLOWERS_TEMPERAMENT_POSITIVE$#! $game_concept_camps$ confer positive [character_modifiers|E] on their $game_concept_adventurer$. They require the majority [opinion|E] of all named [characters|E] to be [GetDefine('NDomicile', 'TEMPERAMENT_THRESHOLD_HIGH')|=P0] or more.\n\n#N $DOMICILE_WINDOW_BOOKMARK_FOLLOWERS_TEMPERAMENT_NEGATIVE$#! $game_concept_camps$ apply negative $game_concept_character_modifiers$ to their $game_concept_adventurer$. They require the majority $game_concept_opinion$ of all named $game_concept_characters$ to be [GetDefine('NDomicile', 'TEMPERAMENT_THRESHOLD_LOW')|=N0] or less.\n\n#V $DOMICILE_WINDOW_BOOKMARK_FOLLOWERS_TEMPERAMENT_NEUTRAL$#! $game_concept_camps$ are any where the range of $game_concept_opinions$ fall between these two extremes. They apply no $game_concept_modifiers$.\n\n#WEAK The effects of $game_concept_camp_temperament$ scale with an $game_concept_adventurer_possessive$ [prestige_level|E]. The more famous the $game_concept_adventurer$, the more dramatic the possible benefits — and drawbacks — of the atmosphere in their $game_concept_camp$.#!" + game_concept_adventurer: "Adventurer" + game_concept_adventurers: "Adventurers" + game_concept_adventurer_possessive: "Adventurer's" + game_concept_adventurers_possessive: "Adventurers'" + game_concept_adventurer_i: "@government_type_adventurer!" + game_concept_adventurer_desc: "An $game_concept_adventurer$ is an [unlanded|E] [character|E] who leads a [camp|E].\n\nThey do not have [vassals|E], nor do they earn income passively in the usual fashion — instead, they must take [task_contracts|E] to earn their coin, or call in favors from their [contact_list|E].\n\n$game_concept_adventurers$ may freely roam the map. Their main concern is making sure they have enough [provisions|E] to survive on the move.\n\nInstead of [crown_authority|E], most $game_concept_adventurers$ will set a [camp_purpose|E]. This indicates what type of group they have and why they stick together.\n\n#WEAK Driven seventh sons with no inheritance, ambitious nomads, petulant run-aways, curious scholars, vicious sell-swords, and deposed nobles alike all flesh out the ranks of these tireless wanderers.\n\nTheir sole uniting factor is a hunger for something more than a quiet life of obscurity, and the will to do something about it.#!" + game_concept_officer: "Officer" + game_concept_officers: "Officers" + game_concept_officer_desc: "$game_concept_officers$ are specialized roles [followers|E] can be granted in order to aid their [camp|E].\n\nMechanically, they operate very similarly to [court_positions|E]. As with them, the benefits you gain from $game_concept_officers$ are dictated by the holder's [aptitude|E] for the position.\n\nUnlike $game_concept_court_positions$, appointing $game_concept_officers$ is free and they are not paid a monthly salary, though revoking them still costs [prestige|E].#!\n\n#WEAK $game_concept_officers$ are unlocked by many different [camp_buildings|E].#!" + game_concept_imperial_family: "Ruling Family" + game_concept_imperial_families: "Ruling Families" + game_concept_imperial: "Ruling" + game_concept_imperial_family_desc: "The $game_concept_imperial_family$ is the top [house|E] in an [administrative|E] [realm|E]." + game_concept_noble_family: "Noble Family" + game_concept_noble_families: "Noble Families" + game_concept_noble_family_possessive: "Noble Family's" + game_concept_noble_family_desc: "$game_concept_noble_families$ are powerful [houses|E] in an [administrative|E] [realm|E]. They own an [estate|E], controlled and managed by the [house_head|E], and remain an integral part of the Realm at all times, as they will attempt to gather [influence|E] and secure [provinces|E] for themselves.\n\nAn influential $game_concept_noble_family$ may become a [powerful_family|E] or a [dominant_family|E]." + game_concept_powerful_family: "Powerful Family" + game_concept_powerful_families: "Powerful Families" + game_concept_powerful: "Powerful" + game_concept_powerful_family_desc: "A $game_concept_powerful_family$ represents one of the most influential [houses|E] and [noble_families|E] in an [administrative|E] [realm|E].\n\nA member of a $game_concept_powerful_family$ is better at [political_schemes|E] and is more likely to get what they want when [interacting|E] with other [characters|E].\n\nThere can only be a limited number of $game_concept_powerful_families$ at any given time, and it is the top rated $game_concept_noble_families$ that are considered powerful based on their [powerful_family_rating_short|E]. The House of the [top_liege|E] is an exception, which is always considered Powerful.\n\nA Family controlling a significant part of a Realm's land can become a [dominant_family|E]." + game_concept_dominant_family: "Dominant Family" + game_concept_dominant_families: "Dominant Families" + game_concept_dominant: "Dominant" + game_concept_dominant_family_desc: "A $game_concept_dominant_family$ is a [powerful_family|E] that has spread their control far and wide. They are considered the most influential [house|E] within a [realm|E].\n\nA member of a $game_concept_dominant_family$ is even better at [political_schemes|E] and is even more likely to get what they want when [interacting|E] with other [characters|E].\n\nA $game_concept_house$ must control at least [EmptyScope.ScriptValue('dominant_family_threshold_value')|V0%] of the Realm to become Dominant." + + game_concept_house_attribute: "House Attribute" + game_concept_house_attribute_desc: "In certain [governments|E], [houses|E] can have a $game_concept_house_attribute$ which affects the members of the House.\n\nThe different House Attributes are:\n$EFFECT_LIST_BULLET$[powerful_family_attribute|E]\n$EFFECT_LIST_BULLET$[house_aspiration|E]\n$EFFECT_LIST_BULLET$[mandala_aspect|E]" + + game_concept_powerful_family_attribute: "Powerful Family Attribute" + game_concept_family_attribute: "Family Attribute" + game_concept_powerful_family_attribute_desc: "A $game_concept_powerful_family_attribute$ is a set of bonuses associated with a [house|E] inside an [administrative|E] [realm|E]. The Attribute benefits the members of the $game_concept_house$, as well as the [liege|E].\n\nAttributes are only active as long as the $game_concept_house$ is considered a [powerful_family|E], and the $game_concept_family_attribute$ of a [dominant_family|E] does not benefit their [liege|E].\n\nThe [house_head|E] can freely replace the Attribute at any given time." + + + game_concept_powerful_family_rating: "Powerful Family Rating" + game_concept_powerful_family_rating_short: "Rating" + game_concept_powerful_family_rating_mid: "Family Rating" + game_concept_powerful_family_rating_desc: "$game_concept_powerful_family_rating$ is a measure of how influential a [powerful_family|E] is.\n\nWhile there are many ways to increase a Family's $game_concept_powerful_family_rating_short$, the main factor is the number of held [governorships|E].\n\nA [house|E] must have a $game_concept_powerful_family_rating_short$ of at least [GetDefine('NHouse', 'POWERFUL_HOUSE_MINIMUM_POWER')|V0] to be considered Powerful." + + game_concept_admin_confirmation: "$admin_confirmation_decision$" + game_concept_admin_confirmation_desc: "[governors|E] can have their appointments formally and publicly confirmed by their [liege|E]." + + game_concept_ep3_become_landless_adventurer_decision: "$become_landless_adventurer_decision$ Decision" + game_concept_ep3_become_landless_adventurer_decision_desc: "A [decision|E] unlocked by certain [traditions|E] which allows a [ruler|E] of a small [realm|E] to voluntarily leave and become an [adventurer|E]" + game_concept_ep3_purchase_land_interaction: "$purchase_land_interaction$" + game_concept_ep3_purchase_land_interaction_desc: "An [interaction|E] which allows an [adventurer|E] to buy land from a [ruler|E] and settle in their [realm|E]" + game_concept_ep3_negotiate_settlement_interaction: "$negotiate_settlement_interaction$" + game_concept_ep3_negotiate_settlement_interaction_desc: "An [interaction|E] which allows a [ruler|E] to grant settle an unruly [adventurer|E] in their [realm|E]" + game_concept_ep3_laamp_adventurer_invasion_war: "$EP3_LAAMP_INVASION_CB_NAME$" + game_concept_ep3_laamp_adventurer_invasion_war_desc: "A [casus_belli|E] which allows an [adventurer|E] to declare [war|E] to attempt to carve out a new [realm|E]" + + game_concept_contractor: "Contractor" + game_concept_contractors: "Contractors" + game_concept_contractor_possessive: "Contractor's" + game_concept_contractors_possessive: "Contractors'" + game_concept_contractor_desc: "A $game_concept_contractor$ is the [character|E] putting out a $game_concept_task_contract$.\n\nThe $game_concept_task_contract$ will generally chiefly affect them, and they are usually the one paying an [adventurer_possessive|E] wages.\n\n#N [criminal_task_contracts|E] are generally #BOL not#! put out by their $game_concept_contractor$, and instead focus on exploiting them — for instance, tricking someone into giving you [gold|E] because they signaled their gullability.#!" + + game_concept_contract_scheme: "Contract Scheme" + game_concept_contract_schemes: "Contract Schemes" + game_concept_contract_scheme_possessive: "Contract Scheme's" + game_concept_contract_schemes_possessive: "Contract Schemes'" + game_concept_contract_scheme_contract: "Contract" + game_concept_contract_scheme_desc: "Many $game_concept_task_contracts$ require [adventurers|E] to successfully complete a [scheme|E].\n\nThese can be harmful (like murdering a [contractor_possessive|E] [rival|E]), pleasant (like simply telling stories to entertain their [court|E] for a few months), or innocuous (like transcribing texts for them).\n\nIf the $game_concept_scheme$ is failed or abandoned for any reason, the $game_concept_task_contract$ is failed too." + + game_concept_contact_list: "Roll of Patrons" + game_concept_contact_list_contacts: "Patrons" + game_concept_contact_list_contact: "Patron" + game_concept_contact_list_desc: "[adventurers|E] are without [land|E], but not without #EMP connections#!.\n\nThe $game_concept_contact_list$ is a list of every [character|E] they have successfully completed a [task_contract|E] for, as well as others that have some reason to support them — [family|E] with high [opinion|E] of them, [friends|E], [lovers|E], and so on.\n\n$game_concept_contact_list_contacts$ can be milked for extra support via the $contact_list_request_interaction|V$ [character_interaction|E]." + + game_concept_camp_purpose: "Camp Purpose" + game_concept_camp_purposes: "Camp Purposes" + game_concept_camp_purpose_purpose: "Purpose" + game_concept_camp_purpose_purposes: "Purposes" + game_concept_camp_purpose_desc: "$game_concept_camp_purposes$ are what passes for law in the free-spirited anarchy of [camps|E].\n\nThey represent the binding force that motivates the $game_concept_camp$ to stay together, whether that be scholarly inclination, sellswording skills, or a burning desire to put a rightful ruler back on their throne.\n\nDifferent $game_concept_camp_purpose_purposes$ unlock different [camp_buildings|E] (and in turn unique [officers|E]), lead to different events or event options, and affect which [task_contracts|E] are spawned.\n\n#WEAK $game_concept_camp_purpose$ also affects the $game_concept_adventurer_possessive$ title and the clothing of their [followers|E].#!" + + game_concept_mercenary_task_contract: "Mercenary Contract" + game_concept_mercenary_task_contracts: "Mercenary Contracts" + game_concept_mercenary_task_contract_possessive: "Mercenary Contract's" + game_concept_mercenary_task_contracts_possessive: "Mercenary Contracts'" + game_concept_mercenary_task_contract_desc: "A $game_concept_mercenary_task_contract$ involves aiding a [character|E] in either an on-going [war|E], or else one they intend to start with your help. Pay is awarded based on [war_contribution|E], as well as the actual result." + + game_concept_transport_task_contract: "Transport Contract" + game_concept_transport_task_contracts: "Transport Contracts" + game_concept_transport_task_contract_possessive: "Transport Contract's" + game_concept_transport_task_contracts_possessive: "Transport Contracts'" + game_concept_transport_task_contract_desc: "A $game_concept_transport_task_contract$ typically involves transporting goods, like [artifacts|E], or escorting important character like [wards|E] over intermediate distances." + + game_concept_treasure_map_task_contract: "Treasure Map Contract" + game_concept_treasure_map_task_contracts: "Treasure Map Contracts" + game_concept_treasure_map_task_contract_possessive: "Treasure Map Contract's" + game_concept_treasure_map_task_contracts_possessive: "Treasure Map Contracts'" + game_concept_treasure_map_task_contract_desc: "Bring an old and withered adventurer to find their final treasure." + + game_concept_task_contracts_i: "@task_contract_icon!" + game_concept_task_contract: "Contract" + game_concept_task_contracts: "Contracts" + game_concept_task_contract_possessive: "Contract's" + game_concept_task_contracts_possessive: "Contracts'" + game_concept_task_contract_desc: "$game_concept_task_contracts$ are the primary way that [adventurers|E] make [gold|E] or [prestige|E]. They can also award [provisions|E], [piety|E], and even [artifacts|E].\n\nEach one is a task put out by a local [ruler|E] — generally requiring the $game_concept_adventurer$ to perform a [scheme|E], complete a [travel|E], or help them in [war|E] — and can be undertaken for a reward and to put the [contractor|E] on the [contact_list|E].\n\nMore $game_concept_task_contracts$ are spawned by traveling either long distances or to new [kingdoms|E].\n\nThe higher the [title_tier|E] or the $game_concept_ruler$ offering a $game_concept_task_contract$, the higher that $game_concept_task_contract_possessive$ [task_contract_tier_tier|E]. Higher tiers pay #EMP substantially#! better.\n\n#alert_trial Beware [criminal_task_contracts|E]: their rewards are often excellent, but the world has far less understanding for the petty crimes of some homeless vagrant than a [landed|E] [liege|E].#!" + + game_concept_task_contract_tier_i: "@task_contract_tier_icon!" + game_concept_task_contract_tier: "$TASK_CONTRACT_CONTRACT$ Tier" + game_concept_task_contract_tier_tier: "Tier" + game_concept_task_contract_tier_desc: "$game_concept_task_contract_tier$ is reflective of the [title_tier|E] of the [contractor|E].\n\n[barons|E] and [counts|E] are one star, [dukes|E] are two stars, and [kings|E] and [emperors|E] are three stars.\n\n$game_concept_contractors$ won't offer work to [adventurers|E] with insufficient [prestige_level|E] for their [rank|E]. If you're #EMP only#! [GetModifier( 'prestige_level_1' ).GetNameWithTooltip|L], then [kings|E] and [emperors|E] won't even consider you.\n\nThe higher the $game_concept_task_contract_tier$, the higher the pay is scaled to be — though the difficulty of the task is generally also higher.\n\n#WEAK [personality|E] also affects pay: [GetTrait('greedy').GetName( GetNullCharacter )] [characters|E] will pay under the going rate, [GetTrait('generous').GetName( GetNullCharacter )] or [GetTrait('profligate').GetName( GetNullCharacter )] $game_concept_characters$ will pay far over it.#!" + + game_concept_governance_issue_i: "@task_contract_icon!" + game_concept_governance_issue: "$TASK_CONTRACT_ISSUE$" + game_concept_governance_issues: "$TASK_CONTRACT_ISSUE_PLURAL$" + game_concept_governance_issue_possessive: "$TASK_CONTRACT_ISSUE_POSSESSIVE$" + game_concept_governance_issues_possessive: "$TASK_CONTRACT_ISSUE_POSSESSIVE_PLURAL$" + game_concept_governance_issue_desc: "A $game_concept_governance_issue$ is a task for a [governor|E] to perform.\n\nIssue appears within a [province|E] every few years or so, and often revoles around a problem the $game_concept_governor$ must solve. Issues can, however, present opportunities as well.\n\nSuccessfully solving Issues typically awards [gold|E], [influence|E], and experience in the [GetTrait('governor').GetName(GetNullCharacter)] [trait|E]. Depending on the Issue at hand, other rewards may be available as well.\n\nEach $game_concept_governance_issue$ has a [governance_issue_tier_tier|E] which affects the rewards it provides." + + game_concept_governance_issue_tier_i: "@task_contract_tier_icon!" + game_concept_governance_issue_tier: "$TASK_CONTRACT_ISSUE$ Tier" + game_concept_governance_issue_tier_tier: "Tier" + game_concept_governance_issue_tier_desc: "Every [governance_issue|E] has a $game_concept_governance_issue_tier$, which reflects the overall rewards of an Issue when successfully solved. Solving an Issue with a higher tier will typically result in larger amounts of [gold|E] or [influence|E], as well as a greater amount of experience gained in the [GetTrait('governor').GetName(GetNullCharacter)] [trait|E]" + + game_concept_criminal_task_contract: "Criminal Contract" + game_concept_criminal_task_contracts: "Criminal Contracts" + game_concept_criminal_task_contract_possessive: "Criminal Contract's" + game_concept_criminal_task_contracts_possessive: "Criminal Contracts'" + game_concept_criminal_task_contract_desc: "A $game_concept_criminal_task_contract$ typically involves seedy contracts that may be lucrative, but will award you @gallowsbait_icon![GetTrait('gallowsbait').GetName(GetNullCharacter)] [trait_level_track_xp|E].\n\nLevelling the $trait_gallowsbait$ [trait|E] will make most of the world hate you more and respect you less, and eventually cause [followers|E] of yours who disapprove of your brigandry to dramatically leave your employ.\n\n#WEAK $trait_gallowsbait$ is a highly negative $game_concept_trait$, meaning a character is a petty criminal of the lowest order — at least a murder at court has some kind of #EMP class#! to it.\n\nIt can be scrubbed clean with the [GetDecisionWithKey('wipe_slate_decision').GetName] [decision|E].#!" + + game_concept_justicar_task_contract: "Justicar Contract" + game_concept_justicar_task_contracts: "Justicar Contracts" + game_concept_justicar_task_contract_possessive: "Justicar Contract's" + game_concept_justicar_task_contracts_possessive: "Justicar Contracts'" + game_concept_justicar_task_contract_desc: "A $game_concept_justicar_task_contract$ typically involve culling criminals while bringing justice and adhering to local law." + + game_concept_hireling_task_contract: "Hireling Contract" + game_concept_hireling_task_contracts: "Hireling Contracts" + game_concept_hireling_task_contract_possessive: "Hireling Contract's" + game_concept_hireling_task_contracts_possessive: "Hireling Contracts'" + game_concept_hireling_task_contract_desc: "A $game_concept_hireling_task_contract$ typically involve hired muscle work such as guarding rulers, merchants, and bolstering garrisons." + + game_concept_diplomacy_task_contract: "Diplomacy Contract" + game_concept_diplomacy_task_contracts: "Diplomacy Contracts" + game_concept_diplomacy_task_contract_possessive: "Diplomacy Contract's" + game_concept_diplomacy_task_contracts_possessive: "Diplomacy Contracts'" + game_concept_diplomacy_task_contract_desc: "A $game_concept_diplomacy_task_contract$ typically involves settling local disputes or negotiating advantageous deals using your wit." + + game_concept_hunting_task_contract: "Hunting Contract" + game_concept_hunting_task_contracts: "Hunting Contracts" + game_concept_hunting_task_contract_possessive: "Hunting Contract's" + game_concept_hunting_task_contracts_possessive: "Hunting Contracts'" + game_concept_hunting_task_contract_desc: "A $game_concept_hunting_task_contract$ typically involves assisting the local ruler to cull wildlife and help bolster supplies." + + game_concept_stewardship_task_contract: "Stewardship Contract" + game_concept_stewardship_task_contracts: "Stewardship Contracts" + game_concept_stewardship_task_contract_possessive: "Stewardship Contract's" + game_concept_stewardship_task_contracts_possessive: "Stewardship Contracts'" + game_concept_stewardship_task_contract_desc: "A $game_concept_stewardship_task_contract$ typically involves performing a census or even constructing buildings." + + game_concept_learning_task_contract: "Learning Contract" + game_concept_learning_task_contracts: "Learning Contracts" + game_concept_learning_task_contract_possessive: "Learning Contract's" + game_concept_learning_task_contracts_possessive: "Learning Contracts'" + game_concept_learning_task_contract_desc: "A $game_concept_learning_task_contract$ typically involves copying texts or facilitating actions of solidarity." + + game_concept_intrigue_task_contract: "Intrigue Contract" + game_concept_intrigue_task_contracts: "Intrigue Contracts" + game_concept_intrigue_task_contract_possessive: "Intrigue Contract's" + game_concept_intrigue_task_contracts_possessive: "Intrigue Contracts'" + game_concept_intrigue_task_contract_desc: "A $game_concept_intrigue_task_contract$ typically involves assisting with matters ranging from reconnaissance to jailbreaks." + + game_concept_governor_efficiency: "Governor Efficiency" + game_concept_governor_efficiency_i: "@governor_efficiency!" + game_concept_governor_efficiency_desc: "$game_concept_governor_efficiency$ is a measurement of how good a [governor|E] is at their job, and how well they manage the [holdings|E] they are assigned to.\n\nThe Efficiency affects how much [taxes|E] and [levies|E] a $game_concept_holding$ provides, and the effectiveness of [title_men_at_arms|E].\n\nA character's $game_concept_governor_efficiency$ is mainly decided by their [skills|E] and the [GetTrait('governor').GetName( GetNullCharacter )] [trait|E]." + + game_concept_province_administration: "Province Administration" + game_concept_province_administration_desc: "Each [province|E] of an [administrative|E] [realm|E] has a $game_concept_province_administration$, which may be set by the [liege|E] and [governor|E] to specialize the Province.\n\nOnly one $game_concept_province_administration$ may be active per Province." + game_concept_province_administrations: "Province Administrations" + game_concept_theme_administration: "Theme Administration" + game_concept_theme_administrations: "Theme Administrations" + game_concept_province_administration_short: "Administration" + + game_concept_province: "Province" + game_concept_province_desc: "A $game_concept_province$ is a [title|E] held by a [governor|E] inside a [realm|E] with the [administrative_government|E].\n\nA Province has an associated [province_administration|E] that greatly impacts the benefits the Province provides." + game_concept_provinces: "Provinces" + game_concept_provincial: "Provincial" + game_concept_theme: "Theme" + game_concept_themes: "Themes" + game_concept_thematic: "Thematic" + + PROVINCE_CONCEPT: "[province|E]" + PROVINCE_CONCEPT_NO_TOOLTIP: "$game_concept_province$" + PROVINCE_CONCEPT_PLURAL: "[provinces|E]" + PROVINCE_CONCEPT_PLURAL_NO_TOOLTIP: "$game_concept_provinces$" + PROVINCE_CONCEPT_ADJECTIVE: "[provincial|E]" + PROVINCE_CONCEPT_ADJECTIVE_NO_TOOLTIP: "$game_concept_provincial$" + THEME_CONCEPT: "[theme|E]" + THEME_CONCEPT_NO_TOOLTIP: "$game_concept_theme$" + THEME_CONCEPT_PLURAL: "[themes|E]" + THEME_CONCEPT_PLURAL_NO_TOOLTIP: "$game_concept_themes$" + THEME_CONCEPT_ADJECTIVE: "[thematic|E]" + THEME_CONCEPT_ADJECTIVE_NO_TOOLTIP: "$game_concept_thematic$" + GOVERNOR_CONCEPT: "[governor|E]" + GOVERNOR_CONCEPT_NO_TOOLTIP: "$game_concept_governor$" + GOVERNOR_CONCEPT_POSSESSIVE_NO_TOOLTIP: "$game_concept_governor_possessive$" + GOVERNORS_CONCEPT: "[governors|E]" + GOVERNORS_CONCEPT_NO_TOOLTIP: "$game_concept_governors$" + GOVERNORS_CONCEPT_POSSESSIVE_NO_TOOLTIP: "$game_concept_governors_possessive$" + STRATEGOS_CONCEPT: "[strategos|E]" + STRATEGOS_CONCEPT_NO_TOOLTIP: "$game_concept_strategos$" + STRATEGOS_CONCEPT_POSSESSIVE_NO_TOOLTIP: "$game_concept_strategos_possessive$" + STRATEGOI_CONCEPT: "[strategoi|E]" + STRATEGOI_CONCEPT_NO_TOOLTIP: "$game_concept_strategoi$" + STRATEGOI_CONCEPT_POSSESSIVE_NO_TOOLTIP: "$game_concept_strategoi_possessive$" + PROVINCE_ADMINISTRATION_CONCEPT: "[province_administration|E]" + THEME_ADMINISTRATION_CONCEPT: "[theme_administration|E]" + + game_concept_provincial_army: "Provincial Army" + game_concept_provincial_army_desc: "A Provincial Army is an army recruited and maintained by a [governor|E] in a [realm|E] with the [administrative|E] [government|E].\n\nThey are exclusively made up of [title_men_at_arms|E]. The effectiveness of [men_at_arms|E] are affected by a [governor]'s [governor_efficiency|E].\n\nThe [liege|E] can spend [influence|E] to gain control of Armies.\n\n[governors] may borrow troops from their peers under certain circumstances, such as being [allies|E] or using a [hook|E].\n\nA borrowed Army is returned if the [character] who borrowed them dies or when they end all of their ongoing [wars|E]. Armies can also be returned manually." + game_concept_provincial_armies: "Provincial Armies" + game_concept_thematic_army: "Thematic Army" + game_concept_thematic_armies: "Thematic Armies" + THEMATIC_ARMY_CONCEPT: "[thematic_army|E]" + THEMATIC_ARMY_CONCEPT_NO_TOOLTIP: "$game_concept_thematic_army$" + PROVINCIAL_ARMY_CONCEPT: "[provincial_army|E]" + PROVINCIAL_ARMY_CONCEPT_NO_TOOLTIP: "$game_concept_provincial_army$" + THEMATIC_ARMIES_CONCEPT: "[thematic_armies|E]" + THEMATIC_ARMIES_CONCEPT_NO_TOOLTIP: "$game_concept_thematic_armies$" + PROVINCIAL_ARMIES_CONCEPT: "[provincial_armies|E]" + PROVINCIAL_ARMIES_CONCEPT_NO_TOOLTIP: "$game_concept_provincial_armies$" + + game_concept_reinforce_soldiers: "Manually Reinforce" + game_concept_reinforcements: "Reinforcements" + game_concept_reinforce_soldiers_desc: "[adventurers|E] and [nomads|E] may recruit [men_at_arms|E], but they do not reinforce automatically as [landed|E] [rulerpossessive|E] do. Instead, recruits must be enticed using interactions." + game_concept_adventurer_siege_replenishment: "Siege Replenishment" + game_concept_adventurer_siege_replenishment_desc: "When an [adventurer|E] successfully [sieges|E] a [holding|E], a portion of their [men_at_arms|E] will be replenished.\n\nAll Men-at-Arms [regiments|E] in the [army|E] will be replenished by #V x2#! times the Holding's [loot|E] value.\n\n#weak The increase is made up of new recruits, the press-ganging of locals, and simply paying those who wandered off during the siege.#!" + + game_concept_investment_cap: "Investment Capacity" + game_concept_investment_cap_desc: "This is the maximum a character may invest in their own or anyone else's [candidate_score|E] for a [governorship|E].\n\nAge, [powerful_family_rating_mid|E], [influence_level|E], and [estate_buildings|E] are the main factors that determine this limit. Children have a small scaling malus to this limit, while adult's limits rise as they age." + + game_concept_appointment_succession_law: "Appointment Succession Law" + game_concept_appointment_succession_laws: "Appointment Succession Laws" + game_concept_appointment: "Appointment" + game_concept_appointments: "Appointments" + game_concept_appointment_succession: "Appointment Succession" + game_concept_appointment_succession_law_desc: "Under $game_concept_appointment_succession_law$, the [title|E] and its associated [holdings|E] will be inherited by the Candidate with the highest [candidate_score|E].\n\nThe types are:\n$EFFECT_LIST_BULLET$[GetLaw('appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('acclamation_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('celestial_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('celestial_military_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('celestial_ministry_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('celestial_grand_marshal_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('meritocratic_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('meritocratic_military_appointment_succession_law').GetName]\n$EFFECT_LIST_BULLET$[GetLaw('japanese_appointment_succession_law').GetName]" + + game_concept_appointment_level: "Appointment Level" + game_concept_appointment_levels: "Appointment Levels" + game_concept_appointment_level_desc: "An $game_concept_appointment_level$ is used by some [appointment_succession_laws|E] as a requirement for [characters|E] to become eligible candidates.\n\nLevels are based on the level of a specific currency and each law can use a different currency as a requirement. A higher tier [title|E] will typically require a higher level.\n\n#weak For example: [GetLaw('celestial_appointment_succession_law').GetName] requires [merit|E] - A [duchy|E] requires a [merit_level|E] of [GetModifier( 'merit_level_3' ).GetNameWithTooltip|L] or above, while a [kingdom|E] requires [GetModifier( 'merit_level_5' ).GetNameWithTooltip|L] or above.#!" diff --git a/localization/english/replace/urepublic_loc_l_english.yml b/localization/english/replace/urepublic_loc_l_english.yml index a34bb911..6c741da7 100644 --- a/localization/english/replace/urepublic_loc_l_english.yml +++ b/localization/english/replace/urepublic_loc_l_english.yml @@ -81,7 +81,9 @@ game_concept_monotown_holding_desc: "A settlement dedicated to the production of a specific trade good it's economy is entirely devoted to the production of that single good, whatever it is." NEOW_citizen_militia: "Citizen Militia" NEOW_citizen_militia_flavor: "Citizen Militia are well trained if not well equipped troops of the Cities." - + MY_REALM_WINDOW_BOOKMARK_REPUBLICS_TT: "Internal Influence" + MY_REALM_WINDOW_BODY_TITLE_REPUBLICS: "Internal Influence" + important_factors_in_elections_and_tax: "Important Factors in Elections and Tax:" palace_CONCEPT: "[palace_i|E][palace|E]"