###################################################### #################### META INFO ####################### ###################################################### widget = { size = { 100% 100% } name = "meta_info" visible = "[IsDefaultGUIMode]" layer = bottom using = Animation_ShowHide_Standard flowcontainer = { name = "observer_status" visible = "[And( Not(IsGameViewOpen('succession_event')), IsObserver )]" visible_at_creation = no parentanchor = bottom|left position = { 180 -110 } ignoreinvisible = yes margin_top = 2 margin_left = 80 margin_right = 2 background = { using = Background_Area_Dark } text_single = { name = "global_observer_indication" visible = "[Not(GetPlayer.IsValid)]" text = "GLOBAL_OBSERVER" } text_single = { name = "player_observer_indication" visible = "[GetPlayer.IsValid]" text = "PLAYER_OBSERVER" } button_cancel = { name = "cancel_button" visible = "[GetPlayer.IsValid]" size = { 30 30 } onclick = "[ClearObserver]" tooltip = "OBSERVER_MODE_ON" } icon_observer = { size = { 30 30 } visible = "[Not(GetPlayer.IsValid)]" } } ## Build version & Beta warning text_single = { name = "build_version_text" visible = "[And( Not(IsGameViewOpen('barbershop')), Not(LiveMode))]" position = { 5 5 } tooltip = "[GetBuildVersionDescription]" text = "VERSION_SHORT" default_format = "#low" max_width = 300 } text_single = { name = "beta_warning_text" visible = "[And( Not(IsGameViewOpen('barbershop')), Not(LiveMode))]" position = { 5 22 } tooltip = "[GetBuildVersionDescription]" text = "BETA_BUILD" default_format = "#low" max_width = 300 } error_horse = { parentanchor = bottom|left position = { 850 -10 } visible = "[And( Not(IsGameViewOpen('barbershop')), And( Not( IsPauseMenuShown ), Not(ReleaseMode) ) )]" } loaded_mods_icon = { parentanchor = bottom|left visible = "[And( Not( IsPauseMenuShown ), And( HasLoadedMods, Not(ReleaseMode) ) )]" tooltip = "[GetLoadedMods]" position = { 670 -5 } } } ###################################################### #################### TOP RIGHT ####################### ###################################################### #Top right: resources and alerts, outliner, and panel tabs widget = { name = "ingame_topbar" visible = "[InGameTopbar.ShouldBeVisible]" size = { 100% 100% } layer = hud_layer using = Animation_ShowHide_Quick ### Ruler Objectives container = { visible = "[And( GetPlayersRulerObjectiveDecision.IsValid, Not( IsGameViewOpen( 'hud_ruler_objective' )) )]" datacontext = "[GetPlayersRulerObjectiveDecision]" parentanchor = top|left position = { 8 16 } using = Animation_ShowHide_Quick button_round = { name = "ruler_objective_button" size = { 84 84 } alpha = 0.7 onclick = "[ToggleGameView( 'hud_ruler_objective' )]" tooltip = "SHOW_RULER_OBJECTIVE" state = { name = _mouse_enter alpha = 1 duration = 0.2 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0.7 duration = 0.7 using = Animation_Curve_Default } button_ruler_objective = { parentanchor = center alwaystransparent = yes size = { 64 64 } } } } ### Outliner Button container = { visible = "[And(Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_outliner').GetValue, '(CFixedPoint)0' ) ), And( Not( IsGameViewOpen('barbershop') ), And( Not( IsPauseMenuShown ), And(Not(IsRightWindowOpen), IsDefaultGUIMode))))]" parentanchor = top|right position = { -3 55 } using = Animation_ShowHide_Quick button_round = { name = "outliner_button" size = { 35 35 } alpha = 0.7 onclick = "[ToggleGameView('outliner')]" tooltip = "TOGGLE_OUTLINER" state = { name = _mouse_enter alpha = 1 duration = 0.2 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0.7 duration = 0.7 using = Animation_Curve_Default } button_outliner = { parentanchor = center alwaystransparent = yes size = { 25 25 } } } } widget = { layer = hud_layer size = { 100% 88 } position = { 0 -24 } allow_outside = yes hbox = { ### Alerts expand = {} notifications_alerts = { visible = "[And( Not(IsGameViewOpen('barbershop')), Not( IsPauseMenuShown ) )]" using = Animation_ShowHide_Quick } ### Suggestions / Current Situation widget = { size = { 80 80 } widgetid = "suggestions_placer" visible = "[Not( IsPauseMenuShown )]" } spacer = { size = { 16 1 } } #### Top Right Bar resources_top_right_bar = { name = "top_bar" visible = "[And(Not( IsPauseMenuShown ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_top_bar').GetValue, '(CFixedPoint)0' ) ))]" } } } ### Main Tabs widget = { name = "main_tabs" visible = "[And(And(And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), Not(IsGameViewOpen('struggle'))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_main_tabs').GetValue, '(CFixedPoint)0' ) ))]" parentanchor = top|right position = { 0 105 } size = { 50 0 } allow_outside = yes using = Animation_ShowHide_Quick vbox = { alwaystransparent = no filter_mouse = all visible = "[Not(IsGameViewOpen('barbershop'))]" margin = { 5 10 } Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" texture = "gfx/interface/skinned/hud_maintab_bg_middle.dds" spriteType = CorneredTiled texture_density = 2 margin = { 0 -50 } } Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" spriteType = CorneredStretched spriteborder_top = 100 parentanchor = top|right texture_density = 2 size = { 50 100 } texture = "gfx/interface/skinned/hud_maintab_bg_top.dds" } Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" spriteType = CorneredStretched spriteborder_bottom = 100 parentanchor = top|right texture_density = 2 size = { 50 100 } texture = "gfx/interface/skinned/hud_maintab_bg_bottom.dds" } vbox = { state = { name = _show alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _hide duration = 0.6 alpha = 0 using = Animation_Curve_Default } hbox = { name = "tab_government_administration" #tutorial uses this widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[And(Character.GetGovernment.HasRule( 'noble_families' ),Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government' ),Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ),GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_administrative.dds" onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" tooltip = "ADMINISTRATIVE_BUTTON" } } widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_soryo_japan.dds" onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" tooltip = "ADMINISTRATIVE_BUTTON" } } widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[GetPlayer.GetGovernment.IsType( 'japan_administrative_government' )]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_ritsuryo_japan.dds" onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" tooltip = "ADMINISTRATIVE_BUTTON" } } widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[GetPlayer.GetGovernment.IsType( 'celestial_government' )]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_administrative_china.dds" onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" tooltip = "ADMINISTRATIVE_BUTTON" } } } widget = { size = { 0 15 } layoutpolicy_horizontal = expanding icon = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[And(Or( Character.GetGovernment.HasRule( 'noble_families' ), Character.GetGovernment.HasRule( 'administrative' ) ), And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)))]" size = { 25 15 } parentanchor = right|vcenter texture = "gfx/interface/skinned/hud_spike_big.dds" using = Animation_ShowHide_Standard } } widget_hud_main_tab = { name = "tab_my_realm_tutorial_uses_this" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_my_realm.dds" onclick = "[ToggleGameView('my_realm')]" shortcut = "my_realm_window" tooltip = "MY_REALM_BUTTON" down = "[IsGameViewOpen('my_realm')]" } } widget_hud_main_tab = { name = "tab_military_tutorial_uses_this" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_military.dds" onclick = "[ToggleGameViewData('military', GetPlayer.GetID)]" shortcut = "military_window" tooltip = "MILITARY_BUTTON" down = "[IsGameViewOpen('military')]" } } widget_hud_main_tab = { name = "tab_council" visible = "[Not( IsLandlessAdventurer( GetPlayer ) )]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_council.dds" onclick = "[ToggleGameViewData('council_window', GetPlayer.GetID)]" shortcut = "council_window" tooltip = "COUNCIL_BUTTON" down = "[IsGameViewOpen('council_window')]" } } } widget = { layoutpolicy_horizontal = expanding size = { 0 15 } icon = { visible = "[And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode))]" parentanchor = right|vcenter texture = "gfx/interface/skinned/hud_spike_big.dds" size = { 25 15 } using = Animation_ShowHide_Standard } } vbox = { widget_hud_main_tab = { name = "tab_court_tutorial_uses_this" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_court.dds" onclick = "[ToggleGameViewData( 'court_window', GetPlayer.GetID )]" shortcut = "court_window" tooltip = "COURT_BUTTON" down = "[IsGameViewOpen( 'court_window' )]" } } widget_hud_main_tab = { name = "tab_intrigue" #tutorial uses this blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_intrigue.dds" onclick = "[ToggleGameViewData('intrigue_window', GetPlayer.GetID)]" shortcut = "intrigue_window" tooltip = "INTRIGUE_BUTTON" down = "[IsGameViewOpen('intrigue_window')]" } } widget_hud_main_tab = { name = "tab_factions" #tutorial uses this visible = "[Or( Or( GetPlayer.IsInAFaction, GetPlayer.IsLandedRuler ), GetPlayer.HasLiege)]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_factions.dds" onclick = "[ToggleGameView('factions_window')]" shortcut = "factions_window" tooltip = "FACTION_BUTTON" down = "[IsGameViewOpen('factions_window')]" } } } widget = { layoutpolicy_horizontal = expanding size = { 0 15 } icon = { visible = "[And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode))]" parentanchor = right|vcenter texture = "gfx/interface/skinned/hud_spike_big.dds" size = { 25 15 } using = Animation_ShowHide_Standard } } vbox = { widget_hud_main_tab = { name = "tab_decisions" #tutorial uses this visible = "[Not(Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ) GetPlayer.GetGovernment.IsType( 'landless_minority_government' )))]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_decisions.dds" onclick = "[ToggleGameView('decisions')]" shortcut = "decision_window" tooltip = "DECISIONS_BUTTON" down = "[IsGameViewOpen('decisions')]" } } widget_hud_main_tab = { name = "tab_contracts" visible = "[Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ) GetPlayer.GetGovernment.IsType( 'landless_minority_government' ))]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_contracts.dds" onclick = "[ToggleGameView('decisions')]" shortcut = "decision_window" tooltip = "DECISIONS_BUTTON" down = "[IsGameViewOpen('decisions')]" } } widget_hud_main_tab = { name = "tab_activities" #tutorial uses this blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_activities.dds" onclick = "[ToggleGameView('activity_list_window')]" shortcut = "activity_list_window" tooltip = "ACTIVITY_LIST_BUTTON" down = "[IsGameViewOpen('activity_list_window')]" } } widget_hud_main_tab = { name = "tab_situation" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_situations.dds" onclick = "[ToggleGameView( 'situations' )]" tooltip = "SITUATIONS_BUTTON" shortcut = "situations" down = "[IsGameViewOpen( 'situations' )]" } } widget_hud_main_tab = { datacontext = "[GetPlayer]" datacontext = "[AccessLocalPlayerCachedData]" datacontext = "[LocalPlayerCachedData.AccessNewArtifacts]" datacontext = "[LocalPlayerCachedData.AccessCourtEvents]" datacontext = "[Character.GetCourtGrandeurData]" visible = "[And(Character.HasRoyalCourt ,And(And( And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), HasDlcFeature( 'court_room_view' )), Not( IsLandlessAdventurer( GetPlayer ) )))]" allow_outside = yes name = "royal_court_button_tutorial_uses_this" tooltipwidget = { container_royal_court_tooltip = {} } blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_courtview.dds" onclick = "[Character.OpenRoyalCourtView( 'throne' )]" # Looping glow when you have unhandled court events or first get your royal court using = Animation_Glow_Pulse glow = { glow_radius = 8 using = Glow_Standard using = Color_Bright_Yellow visible = "[Or( And( Character.HasRoyalCourt, Not( LocalPlayerCachedData.HasEverOpenedRoyalCourt ) ), GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ) )]" } # Pulse when you get a new pending court event state = { name = "pending_court_event_start" next = "pending_court_event_a" position_x = 0 duration = 0.2 size = { 45 45 } using = Animation_Curve_Default trigger_when = "[GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' )]" start_sound = { soundeffect = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" } } state = { name = "pending_court_event_a" next = "pending_court_event_b" position_x = -30 duration = 0.45 size = { 85 85 } using = Animation_Curve_Default } state = { name = "pending_court_event_b" position_x = 0 duration = 0.25 size = { 45 45 } bezier = { 0.43 0 0.2 2.2 } } flowcontainer = { position = { -5 0 } direction = vertical ignoreinvisible = yes visible = "[Character.HasRoyalCourt]" datacontext = "[GetPlayer]" widget_royal_court_notification = { visible = "[And( GreaterThanOrEqualTo_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel ), Or( GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'court' ), '(int32)0' ), Or( GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ), GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' ) ) ) )]" } widget_below_cgv_expectations = { visible = "[LessThan_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel )]" } } } } widget_hud_main_tab = { name = "tab_tax_jurisdiction" datacontext = "[GetPlayer]" enabled = "[Character.HasTaxSlots]" visible = "[Or( GetPlayer.GetGovernment.IsType( 'clan_government' ), Character.HasTaxSlots )]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_tax_jurisdictions.dds" onclick = "[ToggleGameViewData('manage_tax_slots', GetPlayer.GetID)]" down = "[IsGameViewOpen('manage_tax_slots')]" using = tooltip_ws tooltipwidget = { tax_jurisdictions_button_tooltip = {} } icon = { size = { 100% 100% } visible = "[GreaterThan_int32( GetPlayer.GetUnassignedVassalsCount, '(int32)0' )]" texture = "gfx/interface/skinned/hud_maintab/maintab_tax_jurisdictions.dds" glow = { glow_radius = 8 using = Glow_Standard using = Color_Red } state = { name = a next = b alpha = 0.3 trigger_on_create = yes duration = 1.2 using = Animation_Curve_Default } state = { name = b next = a alpha = 0.5 duration = 0.6 using = Animation_Curve_Default } } icon = { visible = "[Or( Or( GreaterThan_int32( Character.GetUnassignedVassalsCount, '(int32)0' ), Not( Character.HasTaxSlots ) ), GreaterThan_int32( Character.GetUntaxedJurisdictionCount, '(int32)0' ) )]" size = { 25 25 } position = { -5 5} texture = "gfx/interface/icons/symbols/icon_warning.dds" icon = { size = { 100% 100% } alwaystransparent = yes texture = "gfx/interface/icons/symbols/icon_warning.dds" modify_texture = { texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" blend_mode = alphamultiply } modify_texture = { texture = "gfx/interface/colors/red.dds" blend_mode = colordodge } state = { name = a next = b alpha = 0 trigger_on_create = yes duration = 1.2 using = Animation_Curve_Default } state = { name = b next = a alpha = 0.8 duration = 0.6 using = Animation_Curve_Default } } } } } } } # Invisible button to ensure that these shortcuts don't get hidden button = { size = { 0 0 } onclick = "[ToggleGameViewData( 'character', GetPlayer.GetID )]" shortcut = "character_window" } # widget = { # datacontext = "[GetPlayer]" # datacontext = "[AccessLocalPlayerCachedData]" # datacontext = "[LocalPlayerCachedData.AccessNewArtifacts]" # datacontext = "[LocalPlayerCachedData.AccessCourtEvents]" # datacontext = "[Character.GetCourtGrandeurData]" # visible = "[And( And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), HasDlcFeature( 'royal_court' ))]" # enabled = "[Character.HasRoyalCourt]" # parentanchor = bottom # position = { 4 50 } # size = { 45 45 } # icon = { # name = "royal_court_button_background" # visible = "[Not(IsRightWindowOpen)]" # size = { 45 45 } # texture = "gfx/interface/buttons/maintab_courtview_bg.dds" # allow_outside = yes # state = { # name = _show # alpha = 1 # duration = 0.1 # using = Animation_Curve_Default # } # state = { # name = _hide # duration = 0.6 # alpha = 0 # using = Animation_Curve_Default # } # state = { # name = "hud_tab_glow_courtview_enter" # duration = 0.03 # using = Animation_Curve_Default # modify_texture = { # name = "glow_courtview" # alpha = 1 # } # } # state = { # name = "hud_tab_glow_courtview_leave" # duration = 0.1 # using = Animation_Curve_Default # modify_texture = { # name = "glow_courtview" # alpha = 0 # } # } # modify_texture = { # name = "glow_courtview" # texture = "gfx/interface/buttons/maintab_courtview_bg_glow.dds" # alpha = 0 # } # } # widget_hud_main_tab = { # allow_outside = yes # name = "royal_court_button_tutorial_uses_this" # tooltipwidget = { # container_royal_court_tooltip = {} # } # state = { # name = _mouse_hierarchy_enter # on_start = "[PdxGuiInterruptThenTriggerAllAnimations('hud_tab_glow_courtview_leave','hud_tab_glow_courtview_enter')]" # alpha = 1 # } # state = { # name = _mouse_hierarchy_leave # on_start = "[PdxGuiInterruptThenTriggerAllAnimations('hud_tab_glow_courtview_enter','hud_tab_glow_courtview_leave')]" # alpha = 1 # } # blockoverride "maintab_button" # { # texture = "gfx/interface/buttons/maintab_courtview.dds" # onclick = "[Character.OpenRoyalCourtView( 'throne' )]" # # Looping glow when you have unhandled court events or first get your royal court # using = Animation_Glow_Pulse # glow = { # glow_radius = 8 # using = Glow_Standard # using = Color_Bright_Yellow # visible = "[Or( And( Character.HasRoyalCourt, Not( LocalPlayerCachedData.HasEverOpenedRoyalCourt ) ), GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ) )]" # } # # Pulse when you get a new pending court event # state = { # name = "pending_court_event_start" # next = "pending_court_event_a" # position_x = 0 # duration = 0.2 # size = { 45 45 } # using = Animation_Curve_Default # trigger_when = "[GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' )]" # start_sound = { # soundeffect = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" # } # } # state = { # name = "pending_court_event_a" # next = "pending_court_event_b" # position_x = -30 # duration = 0.45 # size = { 85 85 } # using = Animation_Curve_Default # } # state = { # name = "pending_court_event_b" # position_x = 0 # duration = 0.25 # size = { 45 45 } # bezier = { 0.43 0 0.2 2.2 } # } # flowcontainer = { # position = { 0 6 } # parentanchor = bottom|hcenter # widgetanchor = center # direction = vertical # ignoreinvisible = yes # visible = "[Character.HasRoyalCourt]" # datacontext = "[GetPlayer]" # widget_royal_court_notification = { # visible = "[And( GreaterThanOrEqualTo_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel ), Or( GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'court' ), '(int32)0' ), Or( GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ), GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' ) ) ) )]" # } # widget_below_cgv_expectations = { # visible = "[LessThan_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel )]" # } # } # } # } # } } widget_stress_sounds = {} } ### Time Controls icon = { name = "timeline_widget" visible = "[And(And( Not(IsGameViewOpen('barbershop')), And( And( Not( IsPauseMenuShown ), TimelineWidget.ShouldBeVisible ), Not(GetVariableSystem.Exists('royal_court_screenshot_window')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_timeline').GetValue, '(CFixedPoint)0' ) ))]" size = { 649 65 } parentanchor = bottom|right filter_mouse = all alwaystransparent = yes layer = top allow_outside = yes texture = "gfx/interface/skinned/hud_bg_gamespeed.dds" using = Animation_ShowHide_Quick widget = { parentanchor = bottom|right size = { 629 45 } allow_outside = yes icon = { parentanchor = top|right position = { 7 -15} texture = "gfx/interface/skinned/component_decoration/decoration_arch.dds" size = { 30 30 } } icon = { visible = "[IsManuallyPaused]" size = { 100% 100% } texture = "gfx/interface/skinned/hud_pause_indicator.dds" color = { 0.4 0.25 0.25 0.7 } state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide using = Animation_FadeOut_Standard } } icon = { visible = "[IsPausedByEvent]" size = { 100% 100% } texture = "gfx/interface/skinned/hud_pause_indicator.dds" color = { 0.3 0.3 0.3 0.7 } state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide using = Animation_FadeOut_Standard } } hotkeys_HUD = {} ### Extra Buttons flowcontainer = { name = "extra_buttons_menu" visible = "[And( Not( IsPauseMenuShown ), GetVariableSystem.Exists( 'extra_buttons_expand' ))]" visible_at_creation = no parentanchor = bottom|right widgetanchor = bottom|hcenter position = { -570 -20 } alwaystransparent = no margin = { 40 40 } direction = vertical spacing = 3 ignoreinvisible = yes allow_outside = yes background = { using = Background_Area_Dark margin = { -25 -25 } } state = { name = _show using = Animation_FadeIn_Quick position_y = -20 } state = { name = _hide using = Animation_FadeOut_Quick position_y = 60 } state = { name = _mouse_hierarchy_leave on_finish = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" } button_standard = { name = "find_character_button" text = "FIND_CHARACTER" onclick = "[ToggleGameView( 'character_finder' )]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = "IM_TT_FIND_CHARACTER" shortcut = "character_finder" } button_standard = { name = "find_title_button" onclick = "[ToggleGameView( 'find_title' )]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" down = "[IsGameViewOpen('find_title')]" shortcut = "find_title_shortcut" text = "FIND_TITLE" tooltip = "IM_TT_FIND_TITLE" } button_standard = { name = "plagues_button" onclick = "[ToggleGameView( 'epidemics' )]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" down = "[IsGameViewOpen('epidemics')]" shortcut = "explore_plagues" text = "EXPLORE_PLAGUES" tooltip = "EXPLORE_PLAGUES_TT" } button_standard = { name = "legacy_button" text = "SHOW_LEGACY" onclick = "[ToggleGameViewData( 'lineage_view', GetPlayer.GetID )]" down = "[IsGameViewOpen('succession_event')]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = "IM_TT_SHOW_LEGACY" } button_standard = { name = "go_to_capital_button" text = "GO_TO_CAPITAL" onclick = "[OnGoToPlayerCapital]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" shortcut = "go_to_capital" tooltip = "IM_TT_GO_TO_CAPITAL" visible = "[GetPlayer.IsValid]" } button_standard = { name = "toggle_message_settings_button" text = "MESSAGE_SETTINGS_WINDOW_NAME" onclick = "[ToggleMessageSettings]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = "MESSAGE_SETTINGS_WINDOW_TT" } button_standard = { name = "toggle_music_player_button" text = "MUSIC_PLAYER_NAME" onclick = "[ToggleMusicPlayer]" tooltip = "MUSIC_PLAYER_OPEN_PLAYER_TT" } } hbox = { margin_left = 35 allow_outside = yes hbox = { margin_top = 12 spacing = 3 button_dots = { name = "button_hud_extra_buttons" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = MORE_POPOUT_TT using = tooltip_ne } button_menu = { name = "pause_menu_button" onclick = "[OnPauseMenu]" tooltip = INGAME_MENU_TT using = tooltip_ne tooltipwidget = { using = TooltipWithFakeShortcut blockoverride "shortcut_text" { text = FAKE_ESCAPE } } } button_encyclopedia_small = { name = "encyclopedia_button_extended_menu" tooltip = "OPEN_ENCYCLOPEDIA" onclick = "[ToggleEncyclopedia]" shortcut = "encyclopedia" using = tooltip_ne } } hbox = { name = "tutorial_highlight_bottom_right_bar" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_right = 5 margin_left = 15 margin_top = 12 allow_outside = yes ## Date button_standard_hover = { name = "play_pause_button_tutorial_uses_this" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding onclick = "[OnPause]" tooltip = "CURRENT_DATE_TOOLTIP" using = tooltip_nw tooltip_offset = { 0 10 } margin_widget = { visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" size = { 100% 100% } state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide using = Animation_FadeOut_Standard } Animation_HUD_daily_tick = { visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" size = { 100% 100% } blockoverride "duration" { duration = 30 } blockoverride "alpha" { alpha = 0.3 } } Animation_HUD_daily_tick = { visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" size = { 100% 100% } blockoverride "duration" { duration = 15 } blockoverride "alpha" { alpha = 0.25 } } Animation_HUD_daily_tick = { visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" size = { 100% 100% } blockoverride "duration" { duration = 7.5 } blockoverride "alpha" { alpha = 0.2 } } Animation_HUD_daily_tick = { visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" size = { 100% 100% } blockoverride "duration" { duration = 3.75 } blockoverride "alpha" { alpha = 0.15 } } Animation_HUD_daily_tick = { visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" size = { 100% 100% } blockoverride "duration" { duration = 1.9 } blockoverride "alpha" { alpha = 0.15 } } } hbox = { margin = { 5 0 } margin_bottom = 2 hbox = { layoutpolicy_horizontal = expanding margin_top = 2 margin_right = 2 expand = {} text_single = { name = "date_text_sp" visible = "[Not(GameHasMultiplePlayers)]" layoutpolicy_horizontal = expanding text = "CURRENT_DATE" default_format = "#date" autoresize = no align = right|nobaseline using = Font_Size_Medium } text_single = { name = "date_text_mp" visible = "[GameHasMultiplePlayers]" layoutpolicy_horizontal = expanding text = "CURRENT_DATE" default_format = "#medium;glow_color:{0.1,0.1,0.1,1}" autoresize = no align = right|nobaseline using = Font_Size_Medium } } container = { name = "pause_play_icons" button_pause = { visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" alwaystransparent = yes parentanchor = center } button_play = { visible = "[Or(IsPausedByEvent, IsManuallyPaused)]" alwaystransparent = yes parentanchor = center } } } } button_normal = { shortcut = "decrease_speed" shortcut = "decrease_speed_2" shortcut = "decrease_speed_3" onclick = "[OnDecreaseGameSpeed]" } button_normal = { shortcut = "increase_speed" shortcut = "increase_speed_2" shortcut = "increase_speed_3" onclick = "[OnIncreaseGameSpeed]" } hbox = { layoutpolicy_vertical = expanding margin = { 0 -4 } allow_outside = yes icon = { name = "speed_indicator" layoutpolicy_vertical = expanding size = { 170 0 } framesize = { 200 28 } texture = "gfx/interface/hud/speed_indicator.dds" frame = "[GetCurrentGameSpeed]" tooltip = "CURRENT_SPEED_TOOLTIP" tooltip_offset = { 0 -170 } alpha = 0.8 modify_texture = { visible = "[IsPausedByEvent]" texture = "gfx/interface/hud/speed_indicator_auto_pause.dds" spritetype = corneredtiled blend_mode = darken texture_density = 2 } modify_texture = { visible = "[And(IsManuallyPaused, Not(IsPausedByEvent))]" texture = "gfx/interface/hud/speed_indicator_pause.dds" spritetype = corneredtiled blend_mode = darken texture_density = 2 } modify_texture = { visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" texture = "gfx/interface/hud/speed_indicator_play.dds" spritetype = corneredtiled blend_mode = darken texture_density = 2 } button = { visible = "[Not( GameHasMultiplePlayers )]" onclick = "[OnPause]" shortcut = "pause" } icon = { parentanchor = right|vcenter position = { 10 0 } size = { 15 90%} texture = "gfx/interface/skinned/overlay_stone.dds" color = { 0.32 0.32 0.32 1 } } icon = { size = { 100% 100% } texture = "gfx/interface/skinned/speed_indicator_frame.dds" } hbox = { margin_left = 6 margin_right = 6 button = { name = "speed_1" shortcut = "speed_1" layoutpolicy_horizontal = shrinking layoutpolicy_vertical = expanding size = { 34 18 } alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" onclick = "[SetGameSpeed('(int32)0')]" tooltip = "CHANGE_SPEED_TOOLTIP_1" using = tooltip_ne alpha = 0 state = { name = _mouse_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0 duration = 0.1 using = Animation_Curve_Default } margin_widget = { size = { 100% 100% } margin = { 0 8 } icon = { size = { 100% 100% } texture = "gfx/interface/hud/speed_indicator_mouseover.dds" } } } button = { name = "speed_2" shortcut = "speed_2" layoutpolicy_horizontal = shrinking layoutpolicy_vertical = expanding size = { 34 18 } alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" onclick = "[SetGameSpeed('(int32)1')]" tooltip = "CHANGE_SPEED_TOOLTIP_2" using = tooltip_ne alpha = 0 state = { name = _mouse_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0 duration = 0.1 using = Animation_Curve_Default } margin_widget = { size = { 100% 100% } margin = { 0 8 } icon = { size = { 100% 100% } texture = "gfx/interface/hud/speed_indicator_mouseover.dds" } } } button = { name = "speed_3" shortcut = "speed_3" layoutpolicy_horizontal = shrinking layoutpolicy_vertical = expanding size = { 34 18 } alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" onclick = "[SetGameSpeed('(int32)2')]" tooltip = "CHANGE_SPEED_TOOLTIP_3" using = tooltip_ne alpha = 0 state = { name = _mouse_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0 duration = 0.1 using = Animation_Curve_Default } margin_widget = { size = { 100% 100% } margin = { 0 8 } icon = { size = { 100% 100% } texture = "gfx/interface/hud/speed_indicator_mouseover.dds" } } } button = { name = "speed_4" shortcut = "speed_4" layoutpolicy_horizontal = shrinking layoutpolicy_vertical = expanding size = { 34 18 } alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" onclick = "[SetGameSpeed('(int32)3')]" tooltip = "CHANGE_SPEED_TOOLTIP_4" using = tooltip_ne alpha = 0 state = { name = _mouse_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0 duration = 0.1 using = Animation_Curve_Default } margin_widget = { size = { 100% 100% } margin = { 0 8 } icon = { size = { 100% 100% } texture = "gfx/interface/hud/speed_indicator_mouseover.dds" } } } button = { name = "speed_5" shortcut = "speed_5" layoutpolicy_horizontal = shrinking layoutpolicy_vertical = expanding size = { 34 18 } alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" onclick = "[SetGameSpeed('(int32)4')]" tooltip = "CHANGE_SPEED_TOOLTIP_5" using = tooltip_ne alpha = 0 state = { name = _mouse_enter alpha = 1 duration = 0.1 using = Animation_Curve_Default } state = { name = _mouse_leave alpha = 0 duration = 0.1 using = Animation_Curve_Default } margin_widget = { size = { 100% 100% } margin = { 0 8 } icon = { size = { 100% 100% } texture = "gfx/interface/hud/speed_indicator_mouseover.dds" } } } } } } } # Just the hotkeys for increase/decrease speed container = { name = "speed_hotkeys" button = { name = "increase_speed" size = { 0 0 } shortcut = "increase_speed" shortcut = "increase_speed_2" shortcut = "increase_speed_3" onclick = "[OnIncreaseGameSpeed]" oversound = "event:/SFX/UI/Generic/sfx_ui_generic_pointer_over" clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_increment" } button = { name = "decrease_speed" size = { 0 0 } shortcut = "decrease_speed" shortcut = "decrease_speed_2" shortcut = "decrease_speed_3" onclick = "[OnDecreaseGameSpeed]" oversound = "event:/SFX/UI/Generic/sfx_ui_generic_pointer_over" clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_decrement" } } widget_gamespeed_sounds = {} } } } ### Bottom edge widget = { name = "bottom_bar" visible = "[And( Not( IsPauseMenuShown ), IsDefaultGUIMode )]" size = { 100% 100% } layer = bottom datacontext = "[GetPlayer]" using = Animation_ShowHide_Quick #### DYNAMIC BACKGROUND BEHIND THE CHARACTER PORTRAIT widget = { parentanchor = bottom|left position = { -100 -100} hbox = { visible = "[And(And(And( Not( IsGameViewOpen( 'barbershop' ) ), And( GetPlayer.IsValid, Not( GetVariableSystem.Exists( 'hide_bottom_left_HUD' ) ) ) ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character').GetValue, '(CFixedPoint)0' ) )), IsNomad( GetPlayer ))]" layoutpolicy_horizontal = expanding spacer = { visible = "[LessThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)1' )]" size = { 364 1 } } spacer = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)2' )]" size = { 424 1 } } spacer = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)3' )]" size = { 484 1 } } spacer = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)4' )]" size = { 544 1 } } spacer = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)5' )]" size = { 604 1 } } spacer = { visible = "[GreaterThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)6' )]" size = { 664 1 } } icon = { size = { 340 105 } texture = "gfx/interface/hud/nomad_widget.dds" } } } ### TGP WIDGET BACKGROUND widget = { visible = "[And(And( Not( IsGameViewOpen( 'barbershop' ) ), And( GetPlayer.IsValid, Not( GetVariableSystem.Exists( 'hide_bottom_left_HUD' ) ) ) ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_left_bar').GetValue, '(CFixedPoint)0' ) ))]" parentanchor = bottom|left widgetanchor = bottom|left position = { -6 0 } size = { 548 116 } # BACKGROUND MERIT + DYNASTIC CYCLE + MOVEMENTS icon = { visible = "[And(InGameBottomBar.ShouldShowDynasticCycle, Character.ShouldShowMerit)]" size = { 548 116 } texture = "gfx/interface/hud/tgp_widget_background_big.dds" } # BACKGROUND MERIT + DYNASTIC CYCLE icon = { visible = "[And(GetSituation('dynastic_cycle').GetTopParticipantGroupByKey('other_rulers').IsCharacterParticipant( Character.Self ), Character.ShouldShowMerit)]" parentanchor = left size = { 474 116 } texture = "gfx/interface/hud/tgp_widget_background_medium.dds" } # BACKGROUND ONLY MERIT WIDGET icon = { visible = "[And(Not( InGameBottomBar.ShouldShowDynasticCycle ), Character.ShouldShowMerit )]" parentanchor = left size = { 430 116 } texture = "gfx/interface/hud/tgp_widget_background_small.dds" } # BACKGROUND ONLY MOVEMENT icon = { visible = "[And(InGameBottomBar.ShouldShowDynasticCycle, Not(Character.ShouldShowMerit))]" parentanchor = left position = { -10 25 } size = { 430 116 } texture = "gfx/interface/hud/tgp_widget_background_small.dds" } } icon_hud_background_container = { visible = "[And(And( Not( IsGameViewOpen( 'barbershop' ) ), And( GetPlayer.IsValid, Not( GetVariableSystem.Exists( 'hide_bottom_left_HUD' ) ) ) ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_left_bar').GetValue, '(CFixedPoint)0' ) ))]" parentanchor = bottom|left ignoreinvisible = yes } ##### END OF BACKGROUND ### BOTTOM LEFT CHARACTER PORTRAIT bottom_left_portrait = { parentanchor = bottom|left } ### TGP WIDGET flowcontainer = { visible = "[And(And( Not( IsGameViewOpen( 'barbershop' ) ), And( GetPlayer.IsValid, Not( GetVariableSystem.Exists( 'hide_bottom_left_HUD' ) ) ) ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_left_bar').GetValue, '(CFixedPoint)0' ) ))]" direction = horizontal widgetanchor = bottom|left parentanchor = bottom|left position = { 269 -58 } allow_outside = yes ignoreinvisible = yes widget_merit_hud = { name = "merit_button_tutorial_uses_this" datacontext = "[InGameBottomBar.GetMeritItem]" parentanchor = vcenter alwaystransparent = no filter_mouse = all size = { 74 94 } allow_outside = yes } spacer = { visible = "[Not(Character.ShouldShowMerit)]" size = { 7 0 } } widget = { size = { 120 60 } parentanchor = bottom allow_outside = yes flowcontainer = { parentanchor = left|vcenter position = { -5 0 } spacing = 5 allow_outside = yes ignoreinvisible = yes button_merit_pool_item = { datacontext = "[InGameBottomBar.GetTopAdminMeritPool]" visible = "[Character.ShouldShowMerit]" allow_outside = yes blockoverride "button_onclick" { onclick = "[OpenGameViewData( 'government_administration', Character.Self)]" } blockoverride "default_format" {} } button_situation_group_banner = { datacontext = "[InGameBottomBar.GetDynasticCycle]" datacontext = "[InGameBottomBar.GetDynasticCycleGroup]" datacontext = "[SituationParticipantGroup.GetType]" visible = "[InGameBottomBar.ShouldShowDynasticCycle]" allow_outside = yes } } } } ## Bottom left tabs left_edge_tabs = { parentanchor = bottom|left position = { -3 -100 } } ## Bottom left CoA coa_realm_medium_crown = { visible = "[And(And(Not(IsGameViewOpen('barbershop')), And(And(IsDefaultGUIMode, GetPlayer.IsRuler), Not(GetVariableSystem.Exists( 'hide_ui_coa_bottom_left')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_model').GetValue, '(CFixedPoint)0' ) ))]" visible_at_creation = no parentanchor = bottom|left state = { name = _show using = Animation_Curve_Default duration = 0.25 position = { 0 0 } alpha = 1 } state = { name = _hide using = Animation_Curve_Default duration = 0.25 position = { 0 50 } alpha = 0 } blockoverride "coa_button" { tooltip = "[GetPlayer.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]" onclick = "[DefaultOnCoatOfArmsClick(GetPlayer.GetPrimaryTitle.GetID)]" } } ### Legitimacy, Lifestyle, etc bottom_left_button_row = { parentanchor = bottom|left position = { 66 0 } } ### Regular position bottom_left_temporary_statuses = { visible = "[Not( Or( InGameBottomBar.ShouldShowDynasticCycle, Character.ShouldShowMerit ) )]" parentanchor = bottom|left position = { 270 -62 } } ### Positioned higher when you have the celestial widget bottom_left_temporary_statuses = { visible = "[Or( InGameBottomBar.ShouldShowDynasticCycle, Character.ShouldShowMerit )]" parentanchor = bottom|left position = { 277 -160 } } ###################################################### ######### MAPMODES AND WARS AND INSPIRATIONS ######### ###################################################### map_modes_debug = { visible = "[And( InDebugMode, And( Not( GetVariableSystem.Exists( 'mapmodes_expand' ) ), And(IsDefaultGUIMode, Not(IsRightWindowOpen))))]" visible_at_creation = no parentanchor = bottom|right position = { 0 -230 } filter_mouse = all alwaystransparent = no scale = 0.9 } widget = { # Inspiration Details visible = "[And( InGameBottomBar.HasSelectedInspiration, And( IsDefaultGUIMode, Not( IsRightWindowOpen ) ) )]" visible_at_creation = no datacontext = "[InGameBottomBar.GetSelectedInspiration]" datacontext = "[Inspiration.GetOwner]" parentanchor = bottom|right position = { -200 -150 } using = Window_Background_Subwindow alwaystransparent = no filter_mouse = all state = { name = _show using = Animation_FadeIn_Quick using = Sound_WindowShow_Standard } state = { name = _hide using = Animation_FadeOut_Quick using = Sound_WindowHide_Standard } vbox = { name = "selected_inspiration" set_parent_size_to_minimum = yes margin = { 4 4 } margin_bottom = 20 spacing = 5 vbox = { layoutpolicy_horizontal = expanding header_pattern = { layoutpolicy_horizontal = expanding blockoverride "header_text" { text = "SELECTED_INSPIRATION_HEADER" } blockoverride "button_close" { onclick = "[InGameBottomBar.ClearSelectedInspiration]" } blockoverride "button_back" { visible = no } } } hbox = { name = "selected_inspiration_data" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_left = 20 background = { using = Background_Area layoutpolicy_horizontal = expanding margin_top = 14 } portrait_shoulders = { name = "inspiration_owner_portrait" blockoverride "inspiration_status_icons" { } } vbox = { name = "text" layoutpolicy_horizontal = expanding margin_left = 10 margin_bottom = 10 margin_top = -14 text_multi = { name = "inspiration_text" min_width = 300 max_width = 300 autoresize = yes text = "SELECTED_INSPIRATION_TEXT" margin_right = 10 margin_top = 4 } spacer = { size = { 0 6 } } hbox = { name = "recuirt_owner" layoutpolicy_horizontal = expanding spacing = 5 text_single = { text = "[Character.GetRelationToString( GetPlayer )]" tooltip = "EXTENDED_RELATIONS_TOOLTIP" } button_recruit_character = {} warning_icon = { name = "wants_to_leave" visible = "[And( Character.CourtierWantsToLeaveCourt, Not( Character.IsImprisoned))]" size = { 20 20 } tooltip = "[Character.GetCourtierLeaveDescription]" } expand = {} } text_single = { name = "gold_invested" text = INSPIRATION_INVESTED_GOLD layoutpolicy_horizontal = expanding visible = "[Inspiration.GetSponsor.IsLocalPlayer]" } } } hbox = { layoutpolicy_horizontal = expanding margin_top = 4 button_primary = { name = "sponsor_inspiration" text = START_SPONSOR_INSPIRATION visible = "[Not( Inspiration.GetSponsor.IsValid )]" enabled = "[Character.IsPlayerInteractionValid( 'fund_inspiration_interaction' )]" onclick = "[Character.OpenPlayerInteraction( 'fund_inspiration_interaction' )]" tooltip = "[Character.GetPlayerInteractionTooltip( 'fund_inspiration_interaction' )]" } } vbox = { name = "inspiration_progress" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_bottom = -8 margin_top = -10 spacing = 5 visible = "[Inspiration.GetSponsor.IsValid]" text_single = { text = INSPIRATION_IN_PROGRESS } progressbar_segmented_chance = { name = "progress_bar" tooltip = "INSPIRATION_ITEM_PROGRESS_TOOLTIP" datamodel = "[GetSegmentedProgressChanceBar( GetDefine( 'NInspiration', 'MAX_PROGRESS' ), GetDefine( 'NInspiration', 'PROGRESS_FRAMES' ), Inspiration.GetProgress, Inspiration.GetProgressChance )]" } text_single = { text = INSPIRATION_ESTIMATED_REMAINING tooltip = INSPIRATION_ESTIMATED_TIME_TOOLTIP } expand = { layoutpolicy_vertical = expanding } } } } ### Ongoing longer term objects and map modes # eg: Wars, Schemes, Inspirations flowcontainer = { visible = "[And(And(IsDefaultGUIMode, Not(IsRightWindowOpen)), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_right_temporary_statuses').GetValue, '(CFixedPoint)0' ) ))]" parentanchor = bottom|right widgetanchor = top|right position = { 0 -175 } alwaystransparent = yes ignoreinvisible = yes filter_mouse = all allow_outside = yes spacing = 30 state = { name = _show using = Animation_FadeIn_Quick } state = { name = _hide using = Animation_FadeOut_Quick } # In progress systems flowcontainer = { name = "in_progress_systems" ignoreinvisible = yes margin_top = 15 visible = "[Not(IsGameViewOpen('barbershop'))]" ### Raise/Disband armies ### container = { visible = "[Not(GetPlayer.HasActiveCompanionAISetting('raise_armies'))]" ignoreinvisible = yes parentanchor = vcenter button_raise_disband_armies = { name = "tutorial_highlight_raise_troops" visible = "[And( Character.IsAtWar, Not(Character.HasRaisedRegiments))]" visible_at_creation = no enabled = "[PlayerCanRaiseAnyRallyPoint]" onclick = "[PlayerRaiseAllRegiments]" onrightclick = "[PlayerRaiseAllRegimentsAtLocation]" button_ignore = none clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_raise_army" onclick = "[PdxGuiTriggerAllAnimations('button_army')]" tooltip = "[GetPlayerRaiseAllTooltip]" animation_aggressive = {} } button_raise_disband_armies = { visible = "[PlayerShouldDisbandAll]" visible_at_creation = no onclick = "[PlayerDisbandAll]" enabled = "[PlayerCanDisbandAll]" clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_unit_army_disband" blockoverride "text" { text = "DISBAND_ALL" } tooltip = "[GetDisbandAllTooltip]" } } ### Inspirations ### flowcontainer = { name = "player_inspirations" parentanchor = vcenter spacing = 5 margin = { 5 0 } allow_outside = yes datamodel = "[GetPlayer.GetSponsoredInspirations]" item = { button_normal = { datacontext = "[Inspiration.GetOwner]" size = { 60 60 } tooltip = "TT_INSPIRATION_WIDGET" using = tooltip_above onclick = "[InGameBottomBar.ToggleSelectedInspiration( Inspiration.Self )]" icon_round_button_base = {} icon = { visible = "[ObjectsEqual( InGameBottomBar.GetSelectedInspiration, Inspiration.Self )]" texture = "gfx/interface/buttons/button_lifestyles_active_frame.dds" size = { 100% 100% } } icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } parentanchor = center alpha = 0.5 } progresspie = { name = "progress" visible = "[And( Inspiration.GetSponsor.IsValid, Not( Inspiration.IsComplete ) )]" size = { 52 52 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 widgetanchor = center parentanchor = center min = 0 max = 100 value = "[Select_float( GreaterThan_int32( Inspiration.GetProgress, '(int32)0' ), CurrentAndMaxToProgressbarValueInt32( Inspiration.GetProgress, GetDefine( 'NInspiration', 'MAX_PROGRESS' ) ), '(float)2' )]" } highlight_icon = { texture = "[Inspiration.GetType.GetIcon]" alwaystransparent = yes size = { 40 40 } position = { 1 1 } parentanchor = center } } } } ### Schemes ### flowcontainer = { name = "player_schemes" datamodel = "[InGameBottomBar.GetSchemes]" parentanchor = vcenter spacing = 10 margin = { 5 0 } allow_outside = yes item = { button_normal = { name = "tutorial_highlight_lifestyle_HUD_button" onclick = "[BottomBarSchemeItem.OnClick]" onrightclick = "[BottomBarSchemeItem.OnClick]" onrightclick = "[PostCommand( BottomBarSchemeItem.TriggerSchemeHudClick )]" button_ignore = none datacontext = "[BottomBarSchemeItem.GetScheme]" tooltip = "BOTTOMBAR_SCHEME_TOOLTIP" size = { 90 112 } ### Scheme exposed animation icon = { visible = "[Scheme.IsExposed]" parentanchor = center position = { 0 0 } size = { 120 135 } texture = "gfx/interface/colors/white.dds" using = Color_Red shaderfile = "gfx/FX/pdxgui_repeat_texture.shader" modify_texture = { name = "clouds" texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply spriteType = corneredtiled texture_density = 3 } modify_texture = { texture = "gfx/interface/component_masks/mask_glow.dds" mirror = vertical blend_mode = alphamultiply } state = { name = mask_a next = mask_b trigger_on_create = yes modify_texture = { name = "clouds" translate_uv = { 0 -1 } } } state = { name = mask_b next = mask_a duration = 8 modify_texture = { name = "clouds" translate_uv = { 0 1 } } } } # Glow pulse animation when you have an opportunity icon = { visible = "[GreaterThan_int32( Scheme.GetAgentCharges, '(int32)0' )]" parentanchor = center position = { 0 4 } size = { 100 114 } texture = "gfx/interface/window_scheme/scheme_hud_bg_glow.dds" using = Color_Bright_Yellow alpha = 0 modify_texture = { texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply alpha = 0.8 } state = { name = a next = b trigger_on_create = yes alpha = 0 duration = 0 scale = 1 using = Animation_Curve_Default } state = { name = b next = c alpha = 1 duration = 0.3 scale = 1.07 using = Animation_Curve_Default } state = { name = c next = d alpha = 0 duration = 0.5 scale = 1.1 using = Animation_Curve_Default } state = { name = d next = a alpha = 0 duration = 0 delay = 3 scale = 1 } } highlight_icon = { texture = "gfx/interface/window_scheme/scheme_hud_bg.dds" size = { 100% 100% } } # Pogressbar & frame highlight_icon = { name = "progress_frame" texture = "gfx/interface/window_scheme/scheme_hud_bg_progress_frame.dds" size = { 100% 100% } parentanchor = center alpha = 0.5 } progresspie = { name = "progress" position = { 0.3 -2.5 } size = { 76 76 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 widgetanchor = center parentanchor = center value = "[Scheme.GetProgressBar]" min = 0 max = 1 mirror = vertical|horizontal } # Target container = { parentanchor = center # Character Target container = { datacontext = "[Scheme.GetTargetCharacter]" visible = "[Character.IsValid]" parentanchor = center position = { 0 9 } portrait_scheme_hud = {} } # Title Target container = { datacontext = "[Scheme.GetTargetTitle]" visible = "[Title.IsValid]" parentanchor = center position = { 0 -12 } coa_title_tiny = { tooltip_visible = no alwaystransparent = yes } } # Faith Target container = { datacontext = "[Scheme.GetTargetFaith]" visible = "[Faith.IsValid]" parentanchor = center position = { 0 -12 } icon = { name = "faith_icon" texture = "[Faith.GetIcon]" size = { 40 40 } } } # Culture Target container = { datacontext = "[Scheme.GetTargetCulture]" visible = "[Culture.IsValid]" parentanchor = center position = { 0 -12 } text_single = { text = "HUD_GETCULTURE" } } } # Scheme type icon & bg widget = { parentanchor = bottom|hcenter position = { 0 -16 } highlight_icon = { parentanchor = center size = { 32 32 } texture = "gfx/interface/window_scheme/scheme_hud_icon_bg.dds" alwaystransparent = yes } highlight_icon = { texture = "[Scheme.GetSchemeType.GetIcon]" size = { 30 30 } alwaystransparent = yes parentanchor = center } } # Scheme success chance hbox = { parentanchor = center position = { 0 14 } maximumsize = { 30 20 } spacing = 2 background = { using = Background_Area_Dark } icon = { name = success_icon size = { 20 20 } texture = "gfx/interface/icons/schemes/icon_scheme_success.dds" } text_single = { name = "success" text = "SCHEME_WIDGET_SUCCESS_CHANCE" align = nobaseline fontsize = 13 # Smallest allowed fontsize } icon = { visible = "[Scheme.IsExposed]" size = { 20 20 } alwaystransparent = yes texture = "gfx/interface/icons/schemes/icon_discovered_scheme.dds" tooltip = "INTRIGUE_WINDOW_AGENT_DISCOVERED_TT" } } # Opportunities widget = { visible = "[GreaterThan_int32( Scheme.GetAgentCharges, '(int32)0' )]" parentanchor = top|right position = { 5 8 } size = { 45 22 } alwaystransparent = yes background = { using = Background_Area_Dark margin_right = 10 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_middle.dds" blend_mode = alphamultiply } } flowcontainer = { parentanchor = center icon = { parentanchor = vcenter size = { 20 20 } texture = "gfx/interface/icons/schemes/icon_scheme_opportunity.dds" } text_single = { text = "[Scheme.GetAgentCharges]" default_format = "#high" max_width = 25 align = nobaseline } } } ### Countermeasure icon widget = { visible = "[And(Scheme.GetSchemeCountermeasureProtectingTarget.IsValid, Scheme.GetSchemeType.IsHostile)]" datacontext = "[Scheme.GetSchemeCountermeasureProtectingTarget]" parentanchor = top|left position = { 0 2 } size = { 30 30 } tooltip = "SCHEME_COUNTERMEASURE_PROTECTING_TARGET" background = { using = Background_Area_ExtraDark margin = { 2 2 } modify_texture = { texture = "gfx/interface/component_masks/mask_circle.dds" blend_mode = alphamultiply } } # The frame icon = { parentanchor = center size = { 30 30 } alwaystransparent = yes texture = "gfx/interface/icons/scheme_countermeasure_types/frame_purple.dds" } icon = { visible = "[SchemeCountermeasureType.IsValid]" parentanchor = center size = { 30 30 } alwaystransparent = yes texture = "[SchemeCountermeasureType.GetIcon]" } } } } } ### Task Contacts ### flowcontainer = { name = "task_contracts" datamodel = "[GetPlayer.GetAcceptedTaskContracts]" parentanchor = vcenter ignoreinvisible = yes item = { button_task_contract_banner = {} } } ### Epidemics in/near your realm ### button_epidemics = { name = "epidemics_hud" parentanchor = vcenter visible_at_creation = no visible = "[Or( InGameBottomBar.HasGlobalNotificationEpidemic, Or( DataModelHasItems( InGameBottomBar.GetEpidemicsInRealm ), DataModelHasItems( InGameBottomBar.GetEpidemicsBorderingRealm ) ) )]" } ### Wars ### flowcontainer = { name = "wars" parentanchor = vcenter ignoreinvisible = yes flowcontainer = { name = "great_holy_wars" parentanchor = vcenter ignoreinvisible = yes flowcontainer = { ignoreinvisible = yes parentanchor = vcenter datamodel = "[GetPlayer.GetFaith.GetDefensiveGreatHolyWars]" item = { button_ghw_banner = { name = "defensive_ghw" parentanchor = vcenter blockoverride "ghw_tooltip" { tooltip = "GHW_OPEN_TOOLTIP_DEFENDER" using = tooltip_ne } } } } button_ghw_banner = { name = "player_faith_ghw" datacontext = "[GetPlayer.GetFaith.GetGreatHolyWar]" visible = "[GetPlayer.GetFaith.HasOffensiveGreatHolyWar]" visible_at_creation = no parentanchor = vcenter blockoverride "ghw_tooltip" { tooltip = "GHW_OPEN_TOOLTIP_ATTACKER" using = tooltip_ne } } } flowcontainer = { name = "raids_on_me" datamodel = "[GetPlayer.GetHostileRaiders]" parentanchor = vcenter item = { button_raid_banner = { parentanchor = vcenter tooltip = "RAID_ON_ME_TOOLTIP" } } } flowcontainer = { name = "raids_by_me" datamodel = "[GetPlayer.GetRaidTargets]" parentanchor = vcenter item = { button_raid_banner = { parentanchor = vcenter tooltip = "RAID_BY_ME_TOOLTIP" } } } flowcontainer = { name = "regular_wars" datamodel = "[InGameBottomBar.GetWarItems]" ignoreinvisible = yes item = { button_war_banner = {} } } } ### Situations & Struggles ### flowcontainer = { name = "hud_situations_tutorial_uses_this" parentanchor = vcenter ignoreinvisible = yes flowcontainer = { name = "visible_situations" parentanchor = vcenter ignoreinvisible = yes datamodel = "[InGameBottomBar.GetVisibleSituations]" item = { button_situation_banner = { parentanchor = bottom } } } flowcontainer = { name = "visible_struggles" parentanchor = vcenter ignoreinvisible = yes datamodel = "[InGameBottomBar.GetVisibleStruggles]" item = { button_struggle_banner = {} } } button_situation_banner = { visible = "[InGameBottomBar.ShouldShowDynasticCycle]" datacontext = "[InGameBottomBar.GetDynasticCycle]" size = { 100 100 } name = "dynastic_cycle_highlight" onclick = "[OpenGuiTab( 'dynastic_cycle_tabs', 'dynastic_cycle' )]" blockoverride "tooltipwidget" { tooltip = "DYNASTIC_CYCLE_OPEN_CYCLE_TT" using = tooltip_ne } blockoverride "glow_visible" { visible = no } blockoverride "background_texture" { texture = "gfx/interface/hud/situation_background_dynastic_cycle.dds" } blockoverride "icon_size" { size = { 56 56 } position = { 0 1 } } blockoverride "progress_pie_visibility" { visible = yes } blockoverride "progresspie_size" { size = { 66 66 } position = { 0 1 } } } } } ## Map Modes map_modes = { visible = "[Not(IsGameViewOpen('barbershop'))]" filter_mouse = all using = Animation_ShowHide_Quick alwaystransparent = no parentanchor = vcenter blockoverride "map_mode_tutorial" { widgetid = "map_mode_duchies_button" } } } } ###################################################### ############# MESSAGES AND NOTIFICATIONS ############# ###################################################### ### Message Feed notifications_message_feed = { position = { -10 -135 } layer = bottom } ### Toasts notifications_toasts = { parentanchor = top|hcenter layer = middle } ### Suggestions / Current Situation notifications_suggestions = { layer = hud_layer attachto = { widgetid = "suggestions_placer" } } ###################################################### ################ TYPES AND TEMPLATES ################# ###################################################### types HUD { type icon_hud_background_container = container { icon_hud_background = { visible = "[LessThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)1' )]" size = { 400 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)2' )]" size = { 460 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)3' )]" size = { 520 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)4' )]" size = { 580 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)5' )]" size = { 640 64 } } icon_hud_background = { visible = "[GreaterThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)6' )]" size = { 700 64 } } } type bottom_left_temporary_statuses = flowcontainer { name = "bottom_left_bar_temporary_statuses" datacontext = "[GetPlayer]" datacontext = "[Character.GetInvolvedActivity]" visible = "[And( Not( IsPauseMenuShown ), And( And( IsDefaultGUIMode, Character.IsValid ), Not( GetVariableSystem.Exists( 'hide_bottom_left_HUD') ) ) )]" visible_at_creation = no ignoreinvisible = yes alwaystransparent = no flowcontainer = { name = "involved_activity" visible = "[And( Activity.IsValid, Not( Activity.IsComplete ) )]" visible_at_creation = no spacing = 8 activity_hud_button = { name = "activity_button" } button_hud_travel = { name = "activity_travel_button" datacontext = "[Character.GetTravelPlan]" visible = "[Character.IsTraveling]" parentanchor = "vcenter" text = "ACTIVITY_VIEW_TRAVEL" tooltip = "[SelectLocalization(Character.GetTravelPlan.GetData.IsTravelWithDomicile, 'TT_TRAVELING_WITH_DOMICILE_WIDGET', 'TT_TRAVELING_GENERIC_WIDGET')]" max_width = 160 onclick = "[ToggleGameViewData('travel_planner', TravelPlan.GetID)]" onclick = "[Character.ZoomCameraTo]" } } button_normal = { name = "traveling" datacontext = "[Character.GetTravelPlan]" visible_at_creation = no visible = "[And( Character.IsTraveling, Or( Not( Activity.IsValid ), Activity.IsComplete ) )]" size = { 60 60 } onclick = "[ToggleGameViewData('travel_planner', TravelPlan.GetID)]" onclick = "[Character.ZoomCameraTo]" tooltip = "[SelectLocalization(Character.GetTravelPlan.GetData.IsTravelWithDomicile, 'TT_TRAVELING_WITH_DOMICILE_WIDGET', 'TT_TRAVELING_GENERIC_WIDGET')]" using = tooltip_above icon_round_button_base = {} icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } parentanchor = center alpha = 0.5 } progresspie = { name = "progress" size = { 50 50 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 widgetanchor = center parentanchor = center value = "[TravelPlan.GetData.GetNextDestinationProgress]" min = 0 max = 1 } highlight_icon = { texture = "gfx/interface/icons/travel/icon_travel_hud_placeholder.dds" alwaystransparent = yes size = { 45 45 } parentanchor = center } } button_normal = { name = "away_from_capital" visible_at_creation = no visible = "[And( Not( Character.IsTraveling ), And( Character.IsAwayFromHome, Or( Not( Activity.IsValid ), Activity.IsComplete ) ) )]" size = { 60 60 } onclick = "[Character.ZoomCameraTo]" tooltip = "TT_AWAY_FROM_HOME_WIDGET" using = tooltip_above icon = { texture = "gfx/interface/icons/activity_phases/button_activity_base.dds" size = { 100% 100% } } icon = { texture = "gfx/interface/icons/character_interactions/request_camp_follower_interaction.dds" alwaystransparent = yes size = { 35 35 } parentanchor = center } } } #### # # NOTE: If you add a button in here, you must update InGameBottomBar.GetHudOptionalItemsCount and use a code defined function for visibility # Otherwise, the background (which is placed behind the player portrait) will not extend properly # #### type bottom_left_button_row = flowcontainer { name = "bottom_left_bar" visible = "[And(And( Not(IsGameViewOpen('barbershop')), And( Not( IsPauseMenuShown ), And(And(IsDefaultGUIMode, GetPlayer.IsValid), Not(GetVariableSystem.Exists( 'hide_bottom_left_HUD'))))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_left_bar').GetValue, '(CFixedPoint)0' ) ))]" ignoreinvisible = yes alwaystransparent = no allow_outside = yes spacing = 4 state = { name = _show using = Animation_Curve_Default duration = 0.21 position = { 66 0 } alpha = 1 } state = { name = _hide using = Animation_Curve_Default duration = 0.21 position = { 30 50 } alpha = 0 } button_normal = { name = "legitimacy_button" datacontext = "[Character.GetLegitimacyType]" datacontext = "[Character.GetLegitimacyLevel]" visible = "[InGameBottomBar.ShouldShowLegitimacyInHUD]" parentanchor = vcenter using = tooltip_ne tooltipwidget = { legitimacy_hud_tooltip = { datacontext = "[InGameBottomBar.GetLegitimacyBar]" } } size = { 48 48 } icon = { texture = "gfx/interface/icons/activity_phases/button_activity_base.dds" size = { 100% 100% } } icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } #alpha = 0.5 } icon = { parentanchor = vcenter position = { 6 0 } size = { 36 36 } texture = "[Character.GetLegitimacyType.GetLevelsIcon]" framesize = { 70 70 } frame = "[IntToFrameIndex( LegitimacyLevel.GetIndex )]" modify_texture = { name = "lvl_increase" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } modify_texture = { name = "lvl_decrease" texture = "gfx/interface/colors/red.dds" blend_mode = colordodge alpha = 0 } state = { name = "legitimacy_level_increase" next = "legitimacy_level_increase_2" modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "legitimacy_level_increase_2" next = "legitimacy_level_increase_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_increase" alpha = 0.7 } } state = { name = "legitimacy_level_increase_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "legitimacy_level_decrease" next = "legitimacy_level_decrease_2" modify_texture = { name = "lvl_decrease" alpha = 0 } } state = { name = "legitimacy_level_decrease_2" next = "legitimacy_level_decrease_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_decrease" alpha = 0.7 } } state = { name = "legitimacy_level_decrease_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_decrease" alpha = 0 } } } progresspie = { name = "progress" size = { 42 42 } texture = "gfx/interface/progressbars/action_progress_thin_blue.dds" framesize = { 128 128 } frame = 2 value = "[InGameBottomBar.GetLegitimacyProgress]" parentanchor = center modify_texture = { texture = "gfx/interface/colors/blue.dds" blend_mode = normal } } } widget = { name = "stress_widget" size = { 110 55 } alwaystransparent = no filter_mouse = all widget = { parentanchor = center size = { 180 108 } tooltip = "PLAYER_STRESS_TOOLTIP" using = tooltip_ne widget = { name = "progressbar" parentanchor = center widgetanchor = left|vcenter position = { -13 0 } size = { 60 20 } background = { texture = "gfx/interface/colors/white.dds" color = { 0.1 0.1 0.1 0.8 } } icon = { visible = "[EqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]" size = { 100% 100% } texture = "gfx/interface/colors/white.dds" color = { 1 0.1 0.1 0.2 } using = Animation_ShowHide_Standard state = { name = a next = b trigger_on_create = yes using = Animation_Curve_Default duration = 0.8 alpha = 0 } state = { name = b next = a using = Animation_Curve_Default duration = 1.5 alpha = 1 } } hbox = { widget = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( GetPlayer.GetStressProgress, '(float)100', '(int32)60' )]" progressbar_hud_stress = { visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)3')]" visible_at_creation = no size = { 100% 100% } using = Animation_ShowHide_Standard blockoverride "bar_color" { texture = "gfx/interface/colors/red.dds" } blockoverride "bar_color_flow" { texture = "gfx/interface/colors/gold.dds" alpha = 0.7 } } progressbar_hud_stress = { visible = "[EqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]" visible_at_creation = no size = { 100% 100% } using = Animation_ShowHide_Standard blockoverride "bar_color" { texture = "gfx/interface/colors/orange.dds" } blockoverride "bar_color_flow" { texture = "gfx/interface/colors/white.dds" alpha = 0.3 } } progressbar_hud_stress = { visible = "[EqualTo_int32(GetPlayer.GetStressLevel, '(int32)1')]" visible_at_creation = no size = { 100% 100% } using = Animation_ShowHide_Standard blockoverride "bar_color" { texture = "gfx/interface/colors/gold_darker.dds" } blockoverride "bar_color_flow" { texture = "gfx/interface/colors/white.dds" alpha = 0.3 } } progressbar_hud_stress = { visible = "[EqualTo_int32(GetPlayer.GetStressLevel, '(int32)0')]" size = { 100% 100% } using = Animation_ShowHide_Standard blockoverride "bar_color" { texture = "gfx/interface/colors/blue.dds" } blockoverride "bar_color_flow" { texture = "gfx/interface/colors/white.dds" alpha = 0.3 } } } widget = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( GetPlayer.GetStressProgress, '(float)100', '(int32)60' )]" } } } widget = { size = { 100% 100% } progressbar_hud_stress_glow = { texture = "gfx/interface/hud/hud_stress_glow_red.dds" blockoverride "animation_trigger_1" { name = "stress_level_increase" } blockoverride "animation_trigger_2" { name = "stress_increase" } } progressbar_hud_stress_glow = { texture = "gfx/interface/hud/hud_stress_glow_blue.dds" blockoverride "animation_trigger_1" { name = "stress_level_decrease" } blockoverride "animation_trigger_2" { name = "stress_decrease" } } progressbar_hud_stress_glow = { visible = "[EqualTo_int32(GetPlayer.GetStressLevel, '(int32)3')]" texture = "gfx/interface/hud/hud_stress_glow_red.dds" blockoverride "animation_trigger_1" { name = "lvl3_fire" trigger_on_create = yes } blockoverride "animation_trigger_2" {} blockoverride "lvl_3" {} } icon = { parentanchor = center position = { -30 0 } size = { 30 30 } texture = "gfx/interface/colors/white.dds" using = Color_Red modify_texture = { name = "mask_1" texture = "gfx/interface/component_masks/mask_glow.dds" blend_mode = alphamultiply rotate_uv = 1 } modify_texture = { name = "mask_2" texture = "gfx/interface/component_masks/mask_glow.dds" blend_mode = alphamultiply rotate_uv = -1 } modify_texture = { name = "mask_3" texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply alpha = 0.1 } modify_texture = { name = "mask_4" texture = "gfx/interface/component_masks/mask_circle.dds" blend_mode = mask } modify_texture = { name = "mask_3" texture = "gfx/interface/colors/gold.dds" blend_mode = add } state = { name = "stress_level_increase" next = b using = Animation_Curve_Default scale = 1 alpha = 0 } state = { name = b next = c duration = 0.6 bezier = { 0.5 0 1 0.5 } scale = 5 alpha = 0.7 } state = { name = c duration = 0.3 alpha = 0 scale = 6 } state = { name = rotate_a next = rotate_b trigger_on_create = yes modify_texture = { name = "mask_1" rotate_uv = 1 } } state = { name = rotate_a next = rotate_b duration = 1 modify_texture = { name = "mask_1" rotate_uv = 180 } } state = { name = rotate_a_2 next = rotate_b_2 trigger_on_create = yes modify_texture = { name = "mask_2" rotate_uv = -1 } } state = { name = rotate_a_2 next = rotate_b_2 duration = 1 modify_texture = { name = "mask_2" rotate_uv = -180 } } state = { name = rotate_a_3 next = rotate_b_3 trigger_on_create = yes modify_texture = { name = "mask_3" rotate_uv = 0 alpha = 0.1 } } state = { name = rotate_a_3 next = rotate_b_3 duration = 1 modify_texture = { name = "mask_3" rotate_uv = 40 alpha = 0.8 } } } icon = { size = { 100% 100% } texture = "gfx/interface/skinned/hud_stress_bg.dds" icon = { parentanchor = vcenter position = { 41 0 } size = { 35 35 } texture = "gfx/interface/icons/stress/icon_stress_level.dds" framesize = { 70 70 } frame = "[IntToFrameIndex( GetPlayer.GetStressLevel )]" modify_texture = { visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]" name = "lvl3_glow" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } modify_texture = { name = "lvl_increase" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } state = { name = a next = b duration = 0.6 trigger_on_create = yes using = Animation_Curve_Default modify_texture = { name = "lvl3_glow" alpha = 0.3 } } state = { name = b next = a duration = 1.5 using = Animation_Curve_Default modify_texture = { name = "lvl3_glow" alpha = 0 } } state = { name = "stress_level_increase" next = "stress_level_increase_2" modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "stress_level_increase_2" next = "stress_level_increase_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_increase" alpha = 0.7 } } state = { name = "stress_level_increase_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_increase" alpha = 0 } } } } } } } spacer = { size = { 5 0 } } flowcontainer = { ignoreinvisible = yes margin_bottom = 5 spacing = 4 button_normal = { name = "lifestyle_button" visible = "[GetPlayer.IsAdult]" tooltip = "PLAYER_LIFESTYLE_TOOLTIP" using = tooltip_ne onclick = "[OpenGameViewData( 'lifestyle', GetPlayer.GetID )]" size = { 56 56 } icon_round_button_base = {} icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } alpha = 0.5 } highlight_icon_lifestyle_focus = { name = "tutorial_highlight_lifestyle_HUD_button" texture = "[GetPlayer.GetFocus.GetIcon]" alwaystransparent = yes size = { 100% 100% } modify_texture = { texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" blend_mode = alphamultiply } } icon = { visible = "[And(Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_pulsating_lifestyle').GetValue, '(CFixedPoint)0' ) ),Or(GetPlayer.CanPlayerChangeMyFocus, Not( GetPlayer.GetLifestyle.IsValid )))]" size = { 100% 100% } alwaystransparent = yes texture = "[GetPlayer.GetFocus.GetIcon]" modify_texture = { texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" blend_mode = alphamultiply } modify_texture = { texture = "gfx/interface/colors/gold.dds" blend_mode = add } modify_texture = { texture = "gfx/interface/colors/red.dds" blend_mode = colordodge } state = { name = a next = b alpha = 0 trigger_on_create = yes duration = 1.2 using = Animation_Curve_Default } state = { name = b next = a alpha = 0.8 duration = 0.6 using = Animation_Curve_Default } } progresspie = { name = "progress" size = { 48 48 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 value = "[GetPlayer.GetLifestyleExperienceProgress( GetPlayer.GetLifestyle.Self )]" widgetanchor = center parentanchor = center position = { 0 0 } min = 0 max = 1 } button_round = { datacontext = "[GetPlayer]" visible = "[And(GreaterThan_int32( Character.GetTotalPerkPoints, '(int32)0' ), Character.IsLocalPlayer)]" parentanchor = bottom|right position = { 7 3 } size = { 28 28 } framesize = { 82 82 } upframe = 1 uphoverframe = 1 uppressedframe = 1 alwaystransparent = yes text_single = { parentanchor = center datacontext = "[GetPlayer]" text = "[Character.GetTotalPerkPoints]" default_format = "#high" max_width = 180 align = nobaseline # animation_attention = { # visible = "[GreaterThan_int32( GetPlayer.GetTotalPerkPoints, '(int32)0' )]" # } } } animation_sonar = { texture = "gfx/interface/component_effects/effect_sonar_ring.dds" visible = "[GreaterThan_int32( GetPlayer.GetTotalPerkPoints, '(int32)0' )]" } } button_normal = { name = "education_button" visible = "[Not(GetPlayer.IsAdult)]" tooltip = "PLAYER_EDUCATION_FOCUS_TOOLTIP" using = tooltip_ne onclick = "[ToggleGameViewData( 'character_focus', GetPlayer.GetID )]" size = { 56 56 } icon_round_button_base = {} highlight_icon_lifestyle_focus = { texture = "[GetPlayer.GetFocus.GetIcon]" onclick = "[ToggleGameViewData( 'character_focus', GetPlayer.GetID )]" size = { 100% 100% } gfxtype = togglepushbuttongfx effectname = "NoHighlight" framesize = { 140 140 } modify_texture = { texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" blend_mode = alphamultiply } } } widget = { size = { 56 56 } button_open_inventory = { name = "open_inventory_tutorial_uses_this" using = tooltip_ne size = { 55 55 } datacontext = "[GetPlayer]" blockoverride "highlight_icon_size" { size = { 40 40 } } } widget_new_artifacts = { position = { 6 2 } parentanchor = bottom|right visible = "[Or( GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'inventory' ), '(int32)0' ), And( Not( GetPlayer.HasRoyalCourt ), GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'court' ), '(int32)0' ) ) )]" } } button_round = { name = "open_diarchy_tutorial_uses_this" parentanchor = left onclick = "[ToggleGameViewData( 'diarchy', Character.GetID )]" visible = "[InGameBottomBar.ShouldShowDiarchyInHUD]" tooltip = "DIARCHY_WINDOW_OPEN_TOOLTIP" using = tooltip_ne size = { 56 56 } icon_round_button_base = {} button = { size = { 40 40 } alwaystransparent = yes parentanchor = center texture = "gfx/interface/icons/scale_of_power.dds" } icon_power_sharing_level = { name = "your_power_sharing_level" datacontext = "[GetPlayer.GetDiarchy]" visible = "[Diarchy.IsValid]" parentanchor = bottom|right position = { 3 3 } } icon_power_sharing_level = { name = "liege_power_sharing_level" datacontext = "[GetPlayer.GetLiege.GetDiarchy]" visible = "[And(GetPlayer.HasLiege, Diarchy.IsValid)]" parentanchor = bottom|right position = { 3 3 } } } # Radiance (enabled) button_normal = { datacontext = "[Character.GetRadianceBreakdown]" visible = "[InGameBottomBar.ShouldShowRadianceInHUD]" size = { 56 56 } using = tooltip_ne tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { visible = "[ValueBreakdown.HasTooltip]" widget_value_breakdown_tooltip = { blockoverride "input_info_text" { text = "SELECT_MANDALA_MAPMODE" default_format = "#I" } } } onclick = "[ToggleMapMode( 'mandala' )]" icon_round_button_base = { parentanchor = center size = { 100% 100% } } button_icon = { alwaystransparent = yes texture = "gfx/interface/icons/flat_icons/mandala_radiance.dds" size = { 60% 60% } parentanchor = center } } button_round = { name = "hud_camp_button" #tutorial uses this widgetid = "hud_camp_button" datacontext = "[Character.GetDomicile]" visible = "[InGameBottomBar.ShouldShowDomicileInHUD]" parentanchor = left size = { 56 56 } using = tooltip_ne onclick = "[ToggleGameViewData( 'domicile', Domicile.Self )]" tooltip = "[Domicile.GetMapPinTooltip( Character.Self )]" icon_round_button_base = {} progresspie = { name = "progress" visible = "[Domicile.IsConstructing]" size = { 48 48 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 value = "[Domicile.GetConstructionProgress]" widgetanchor = center parentanchor = center position = { 0 0 } min = 0 max = 1 } button_icon = { size = { 40 40 } position = { 0 -1 } parentanchor = center alwaystransparent = yes texture = "[Domicile.GetType.GetIcon]" } } # Bloc button_normal = { name = "confederation_button" #tutorial uses this datacontext = "[GetPlayer.GetConfederation]" visible = "[InGameBottomBar.ShouldShowBlocInHUD]" parentanchor = left size = { 56 56 } onclick = "[OpenGameViewData( 'confederation_window', Confederation.GetID )]" using = tooltip_ne tooltip_offset = { 20 0 } tooltipwidget = { using = confederation_tooltip } icon_round_button_base = { alwaystransparent = yes parentanchor = center size = { 100% 100% } button_icon = { alwaystransparent = yes texture = "gfx/interface/icons/flat_icons/confederations.dds" size = { 60% 60% } parentanchor = center } } } button_normal = { name = "house_power_hud_button" #tutorial uses this datacontext = "[Character.GetHouse]" datacontext = "[DynastyHouse.GetHouseAspiration]" visible = "[And(InGameBottomBar.ShouldShowHousePowerInHUD, Not( IsLandlessAdventurer( GetPlayer ) ) )]" size = { 56 56 } onclick = "[ToggleGameViewData( 'house_aspiration_window', DynastyHouse.Self )]" tooltip = "OPEN_HOUSE_ASPIRATION_TT_SELECT" using = tooltip_ne icon_round_button_base = { parentanchor = center size = { 100% 100% } } powerful_family_bonus_icon = { parentanchor = center size = { 46 46 } } animation_sonar = { texture = "gfx/interface/component_effects/effect_sonar_ring.dds" visible = "[ObjectsEqual( GetHouseAspiration('no_aspect'), HouseAspiration.Self)]" } } } spacer = { size = { 24 1 } } nomad_widget = { visible = "[IsNomad( GetPlayer )]" datacontext = "[InGameBottomBar.GetDomainFertilityProgressBar]" } widget_stress_sounds = {} } type left_edge_tabs = flowcontainer { name = "side_bottom_left_tabs" visible = "[And(And( Not( IsPauseMenuShown ), And(And(IsDefaultGUIMode, Character.IsValid), Not(GetVariableSystem.Exists( 'hide_bottom_left_HUD')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_bottom_left_bar').GetValue, '(CFixedPoint)0' ) ))]" visible_at_creation = no ignoreinvisible = yes alwaystransparent = no using = Animation_ShowHide_Standard widget = { parentanchor = left|top size = { 100% 150% } widget = { size = { 100% 100% } position = { -24 -20} Background = { texture = "gfx/interface/skinned/hud_maintab_bg_middle.dds" mirror = horizontal spriteType = CorneredTiled texture_density = 2 margin = { 0 -50 } } Background = { spriteType = CorneredStretched spriteborder_top = 100 parentanchor = top|right texture_density = 2 size = { 50 100 } texture = "gfx/interface/skinned/hud_maintab_bg_top.dds" mirror = horizontal } Background = { spriteType = CorneredStretched spriteborder_bottom = 100 parentanchor = top|right texture_density = 2 size = { 50 100 } texture = "gfx/interface/skinned/hud_maintab_bg_bottom.dds" mirror = horizontal } Background = { size = { 100% 100% } margin_bottom = 100 using = Background_Area_Dark modify_texture = { texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" blend_mode = alphaMultiply } } } } flowcontainer = { parentanchor = bottom ignoreinvisible = yes direction = vertical button_hud_character_bar = { name = "legend_tab" visible = "[HasDlcFeature( 'legends' )]" onclick = "[ToggleGameView( 'legends' )]" tooltipwidget = { legends_hud_tooltip = {} } using = tooltip_es tooltip_offset = { 20 0 } highlight_icon = { parentanchor = center position = { 0 1 } size = { 40 40 } texture = "gfx/interface/icons/legend_hud.dds" scale = 0.9 glow = { color = { 0 0 0 0.8 } glow_radius = 3 using = Glow_Standard } } } button_hud_character_bar = { name = "player_culture_button_tutorial_uses_this" datacontext = "[GetPlayer.GetCulture]" onclick = "[OpenGameViewData( 'culture_window', Culture.GetID )]" using = tooltip_es tooltip_offset = { 20 0 } tooltipwidget = { culture_tooltip_click = {} } highlight_icon = { parentanchor = center position = { 0 1 } size = { 40 40 } texture = "gfx/interface/icons/icon_culture.dds" glow = { color = { 0 0 0 0.8 } glow_radius = 3 using = Glow_Standard } } } # Faith button_hud_character_bar = { name = "faith_button" datacontext = "[GetPlayer.GetFaith]" parentanchor = left onclick = "[OpenGameViewData( 'faith', GetPlayer.GetFaith.GetID )]" using = tooltip_es tooltip_offset = { 20 0 } tooltipwidget = { faith_tooltip_click = {} } highlight_icon = { texture = "[Faith.GetIcon]" size = { 40 40 } position = { 0 1 } parentanchor = center glow = { color = { 0 0 0 0.8 } glow_radius = 3 using = Glow_Standard } } } # Confederation button_hud_character_bar = { name = "confederation_button" #tutorial uses this datacontext = "[GetPlayer.GetConfederation]" visible = "[And(Confederation.IsValid, Not(Confederation.GetType.IsHouseBasedConfederation))]" parentanchor = left onclick = "[OpenGameViewData( 'confederation_window', Confederation.GetID )]" using = tooltip_es tooltip_offset = { 20 0 } tooltipwidget = { using = confederation_tooltip } button = { visible = "[Not(Confederation.GetType.IsHouseBasedConfederation)]" parentanchor = top|hcenter alwaystransparent = yes position = { 0 -10 } size = { 42 42 } texture = "gfx/interface/icons/diplomatic_icons.dds" frame = "5" framesize = { 120 120 } tooltip_visible = no } coat_of_arms_icon = { visible = "[Not(Confederation.GetType.IsHouseBasedConfederation)]" parentanchor = center position = { 0 1 } size = { 28 28 } coat_of_arms = "[Confederation.GetConfederationCoA.GetTexture('(int32)56','(int32)56')]" coat_of_arms_slot = "[Confederation.GetConfederationCoA.GetSlot('(int32)56','(int32)56')]" coat_of_arms_mask = "gfx/interface/coat_of_arms/title_mask.dds" coat_of_arms_offset = "[DefaultCoATitleMaskOffset]" coat_of_arms_scale = "[DefaultCoATitleMaskScale]" modify_texture = { texture = "gfx/interface/coat_of_arms/coa_overlay.dds" blend_mode = overlay alpha = 0.4 } coa_confederation_frame = { parentanchor = center texture = "gfx/interface/coat_of_arms/title_28.dds" size = { 36 36 } } } } # Dynasty House button_hud_character_bar = { name = "house_button" datacontext = "[GetPlayer.GetHouse]" onclick = "[DefaultOnHouseCoatOfArmsClick(DynastyHouse.GetID)]" parentanchor = left using = tooltip_es tooltip_offset = { 20 0 } tooltipwidget = { using = dynasty_house_tooltip } coa_house_tiny = { parentanchor = center position = { 0 1 } scale = 0.92 blockoverride "coa_button" { alwaystransparent = yes } blockoverride "coa_tooltip" {} } } } } type bottom_left_portrait = container { datacontext = "[GetPlayer]" visible = "[And(And( Not(IsGameViewOpen('barbershop')) , And(GetPlayer.IsValid, Not(GetVariableSystem.Exists( 'hide_bottom_left_HUD')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_model').GetValue, '(CFixedPoint)0' ) ))]" visible_at_creation = no state = { name = _show using = Animation_Curve_Default duration = 0.15 position = { 0 0 } alpha = 1 } state = { name = _hide using = Animation_Curve_Default duration = 0.15 position = { 0 50 } alpha = 0 } portrait_hud = { scale = 1.3 parentanchor = center position = { -20 -40 } } icon = { texture = "gfx/interface/hud/bottom_left_portrait_fade.dds" parentanchor = bottom|left color = { 0.12 0.12 0.12 1 } } icon = { texture = "gfx/interface/hud/bottom_left_portrait_fade.dds" parentanchor = bottom|left color = { 0.15 0.15 0.15 0.3 } } } type Animation_HUD_daily_tick = widget { using = Animation_ShowHide_Quick icon = { size = { 100% 100% } texture = "gfx/interface/colors/white.dds" shaderfile = "gfx/FX/pdxgui_repeat_texture.shader" color = { 0.63 0.59 0.68 1 } block "alpha" { alpha = 0.5 } modify_texture = { name = "pattern" texture = "gfx/interface/component_masks/mask_clouds.dds" spriteType = corneredtiled blend_mode = alphamultiply } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" blend_mode = alphamultiply } state = { name = a next = b duration = 0 trigger_on_create = yes modify_texture = { name = "pattern" translate_uv = { 0 0 } } } state = { name = b next = a block "duration" { duration = 2 } modify_texture = { name = "pattern" translate_uv = { -1 0 } } } } } type progressbar_hud_stress_glow = icon { size = { 100% 100% } block "lvl_3" { alpha = 0 } shaderfile = "gfx/FX/pdxgui_repeat_texture.shader" modify_texture = { name = "clouds" texture = "gfx/interface/component_masks/mask_clouds.dds" blend_mode = alphamultiply spriteType = corneredtiled texture_density = 3 } state = { name = mask_a next = mask_b trigger_on_create = yes modify_texture = { name = "clouds" translate_uv = { 0 -1 } } } state = { name = mask_b next = mask_a duration = 8 modify_texture = { name = "clouds" translate_uv = { 0 1 } } } state = { block "animation_trigger_1" { name = "stress_level_increase" } next = "fade_out" duration = 0.2 delay = 0.3 bezier = { 0.5 0 1 0.5 } alpha = 1 } block "lvl_3" { state = { block "animation_trigger_2" { name = "stress_increase" } next = "fade_out" duration = 0.2 delay = 0.3 bezier = { 0.5 0 1 0.5 } alpha = 1 } state = { name = "fade_out" duration = 1.5 bezier = { 0 0.5 0.5 1 } alpha = 0 } } } type progressbar_hud_stress = icon { shaderfile = "gfx/FX/pdxgui_repeat_texture.shader" alpha = 0.8 block "bar_color" { # texture = "gfx/interface/colors/red.dds" } modify_texture = { texture = "gfx/interface/component_masks/mask_rough_edges.dds" spriteType = Corneredtiled spriteborder = { 20 20 } blend_mode = alphamultiply texture_density = 5 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphamultiply alpha = 0.3 } modify_texture = { texture = "gfx/interface/component_masks/mask_scratches.dds" blend_mode = alphamultiply spriteType = corneredtiled alpha = 0.3 texture_density = 3 } modify_texture = { name = "flash" texture = "gfx/interface/colors/white.dds" blend_mode = colordodge alpha = 0 } modify_texture = { visible = "[GreaterThanOrEqualTo_int32(GetPlayer.GetStressLevel, '(int32)2')]" name = "lvl3_glow" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } modify_texture = { name = "clouds" texture = "gfx/interface/component_masks/mask_clouds_solid.dds" blend_mode = mask spriteType = corneredtiled texture_density = 1 } modify_texture = { block "bar_color_flow" { # texture = "gfx/interface/colors/yellow.dds" alpha = 0.3 } blend_mode = colordodge } state = { name = "lvl3_glow_a" next = "lvl3_glow_b" duration = 0.6 trigger_on_create = yes using = Animation_Curve_Default modify_texture = { name = "lvl3_glow" alpha = 0.5 } } state = { name = "lvl3_glow_b" next = "lvl3_glow_a" duration = 1.5 using = Animation_Curve_Default modify_texture = { name = "lvl3_glow" alpha = 0 } } state = { name = "stress_level_increase" next = "fade_out" duration = 0.1 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "flash" alpha = 0.6 } } state = { name = "stress_increase" next = "fade_out" duration = 0.1 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "flash" alpha = 0.6 } } state = { name = "fade_out" duration = 0.8 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "flash" alpha = 0 } } state = { name = a next = b trigger_on_create = yes modify_texture = { name = "clouds" translate_uv = { 1 0 } } } state = { name = b next = a duration = 15 modify_texture = { name = "clouds" translate_uv = { -1 0 } } } } type button_raise_disband_armies = button_standard { size = { 200 64 } datacontext = "[GetPlayer]" parentanchor = vcenter background = { using = Background_Area_Dark_Border } background = { using = Background_Area_Dark } margin_left = 45 block "text" { text = "RAISE_ALL" } using = tooltip_ne icon = { texture = "gfx/interface/icons/icon_banner.dds" size = { 40 40 } alwaystransparent = yes parentanchor = left|vcenter position = { 10 0 } } state = { name = _show using = Animation_FadeIn_Quick position_y = 0 } state = { name = _hide using = Animation_FadeOut_Quick position_y = 20 } } type button_hud_travel = button_standard { size = { 170 36 } datacontext = "[GetPlayer]" parentanchor = vcenter background = { using = Background_Area_Dark_Border } margin_left = 34 using = tooltip_ne icon = { texture = "gfx/interface/icons/travel/icon_travel_hud_placeholder.dds" size = { 30 30 } alwaystransparent = yes parentanchor = left|vcenter position = { 8 0 } } state = { name = _show using = Animation_FadeIn_Quick position_y = 0 } state = { name = _hide using = Animation_FadeOut_Quick position_y = 20 } } type button_war_banner = button_normal { visible = "[Not(IsGameViewOpen('barbershop'))]" size = { 78 82 } onclick = "[WarItem.OnClick]" tooltip = "[WarItem.GetTooltip]" using = tooltip_ne animation_sonar = { visible = "[WarItem.CanEnforceVictory]" texture = "gfx/interface/component_masks/mask_glow.dds" using = Color_Orange } ##Show animation state = { name = _show next = banner_default using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } size = { 86 88 } alpha = 1 trigger_on_create = yes } state = { name = banner_default using = Animation_FadeIn_Standard size = { 78 82 } } state = { name = _hide using = Animation_FadeOut_Standard bezier = { 1 0 0.5 0.5 } size = { 66 70 } alpha = 0 } icon = { name = "enforce_victory_glow" visible = "[WarItem.CanEnforceVictory]" parentanchor = center size = { 100% 100% } scale = 1.2 texture = "gfx/interface/icons/war_status/war_won_glow.dds" state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 1 } state = { name = b next = a using = Animation_Curve_Default duration = 1.6 alpha = 0.2 } } button = { name = "enforce_victory_icon" visible = "[WarItem.CanEnforceVictory]" parentanchor = hcenter position = { 0 -27 } texture = "gfx/interface/icons/war_status/war_won_icon.dds" modify_texture = { name = "shimmer_war_banner" texture = "gfx/interface/component_effects/effect_shimmer.dds" blend_mode = colordodge translate_uv = { 1 1 } alpha = 0.8 } state = { name = shimmer next = pause trigger_when = "[WarItem.CanEnforceVictory]" delay = 0.5 bezier = { 0 0.9 1 0.4 } modify_texture = { name = "shimmer_war_banner" translate_uv = { 1 0.8 } alpha = 0.5 } } state = { name = pause duration = 0.8 modify_texture = { name = "shimmer_war_banner" translate_uv = { -1 -1 } alpha = 0.5 } } } highlight_icon = { name = "war_icon" visible = "[WarItem.IsPlayerParticipant]" parentanchor = center size = { 100% 100% } texture = "gfx/interface/icons/war_status/war_icon.dds" modify_texture = { name = "shimmer_war_banner" texture = "gfx/interface/component_effects/effect_shimmer.dds" blend_mode = colordodge translate_uv = { 1 1 } } state = { name = shimmer next = pause trigger_when = "[WarItem.CanEnforceVictory]" delay = 0.5 bezier = { 0 0.9 1 0.4 } modify_texture = { name = "shimmer_war_banner" translate_uv = { 1 0.5 } alpha = 0.5 } } state = { name = pause duration = 0.8 modify_texture = { name = "shimmer_war_banner" translate_uv = { -1 -1 } alpha = 0.5 } } } highlight_icon = { name = "war_icon_liege" visible = "[Not(WarItem.IsPlayerParticipant)]" parentanchor = center size = { 100% 100% } texture = "gfx/interface/icons/war_status/war_icon_liege.dds" } coa_realm_small = { name = "enemy_realm" datacontext = "[WarItem.GetWar.GetPrimaryPlayerEnemy]" parentanchor = hcenter scale = 0.9 position = { 0 25 } tooltip_visible = no alwaystransparent = yes } text_single = { name = "warscore" parentanchor = bottom|hcenter position = { 0 -7 } size = { 50 10 } align = center text = "[WarItem.GetWarScoreFraction|0%=+]" background = { using = Background_Area_Dark } } widget = { visible = "[WarItem.CanEnforceVictory]" state = { name = _show start_sound = { soundeffect = "event:/SFX/UI/War/sfx_ui_war_enforce_demand" soundparam = { name = StateChange value = 1.5 } } } } } type button_task_contract_banner = button_normal { size = { 100 100 } icon = { visible = "[And( TaskContract.IsEasy, Not(TaskContract.IsCriminal) )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_1.dds" } icon = { visible = "[And( TaskContract.IsEasy, TaskContract.IsCriminal )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_1_crime.dds" } icon = { visible = "[And( TaskContract.IsMedium, Not(TaskContract.IsCriminal) )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_2.dds" } icon = { visible = "[And( TaskContract.IsMedium, TaskContract.IsCriminal )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_2_crime.dds" } icon = { visible = "[And( TaskContract.IsHard, Not(TaskContract.IsCriminal) )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_3.dds" } icon = { visible = "[And( TaskContract.IsHard, TaskContract.IsCriminal )]" size = { 100% 100% } texture = "gfx/interface/window_contract/pin_contract_3_crime.dds" } highlight_icon = { parentanchor = center alwaystransparent = yes texture = "[TaskContract.GetType.GetIcon]" size = { 40% 40% } position = { 0 -2 } } onclick = "[ToggleGameViewData('task_contract', TaskContract.Self )]" tooltip = "[TaskContract.GetName]" using = tooltip_ne } type button_situation_banner = button_normal { name = "situation_banner_item" size = { 90 90 } onclick = "[ToggleGameViewData(Situation.GetWindowName, Situation.GetID)]" block "tooltipwidget" { tooltipwidget = situation_tooltip using = tooltip_nw } widget = { name = "natural_disaster_highlight" size = { 100% 100% } visible = "[Or(EqualTo_string( 'impact' , Situation.GetTopCurrentPhase.GetType.GetKey ), EqualTo_string( 'warning' , Situation.GetTopCurrentPhase.GetType.GetKey ))]" } icon = { name = "below_glow" block "glow_visible" { visible = "[GreaterThan_CFixedPoint( Situation.GetTopCurrentPhase.GetRelativeProgress, '(CFixedPoint)0.8' )]" } size = { 100% 100% } texture = "gfx/interface/icons/character_interactions/icon_bg.dds" using = Animation_Glow_Pulse glow = { glow_radius = 5 using = Glow_Standard using = Color_Bright_Yellow } } # Current phase widget = { size = { 100% 100% } datacontext = "[Situation.GetTopCurrentPhase]" parentanchor = center button = { size = { 88% 88% } parentanchor = center block "background_texture" { texture = "gfx/interface/window_situations/hud_situation_widget.dds" } alwaystransparent = yes } icon = { parentanchor = center block "icon_size" { size = { 60% 60% } } block "button_icon" { texture = "[Situation.GetIcon]" } } } progresspie = { block "progress_pie_visibility" {} block "progresspie_size" { size = { 70% 70% } } parentanchor = center value = "[Situation.GetTopCurrentPhase.GetRelativeProgress]" max = 1 texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 } } type button_situation_group_banner = button_normal { name = "situation_group_banner_item" size = { 56 56 } onclick = "[ToggleGameViewData(Situation.GetWindowName, Situation.GetID)]" onclick = "[OpenGuiTab( 'dynastic_cycle_tabs', 'movements' )]" tooltip = "[SelectLocalization( And(SituationParticipantGroup.IsValid, InGameBottomBar.ShouldShowDynasticCycleOwnedLand), 'DYNASTIC_CYCLE_HUD_GROUP_OWNED_LAND_TOOLTIP', 'DYNASTIC_CYCLE_HUD_GROUP_POWER_TOOLTIP' )]" using = tooltip_ne # Current phase widget = { size = { 100% 100% } parentanchor = center button = { size = { 56 56 } parentanchor = center texture = "gfx/interface/buttons/button_lifestyles_base.dds" alwaystransparent = yes } button_icon = { visible = "[InGameBottomBar.ShouldShowMovementPower]" parentanchor = center position = { 0 -5 } size = { 27 27 } texture = "[SituationParticipantGroup.GetType.GetIcon]" alwaystransparent = yes } # Bigger icon that is centered in background when you don't have the banner with movement power button_icon = { visible = "[Not(InGameBottomBar.ShouldShowMovementPower)]" parentanchor = center size = { 35 35 } texture = "[SituationParticipantGroup.GetType.GetIcon]" alwaystransparent = yes } } icon = { visible = "[InGameBottomBar.ShouldShowMovementPower]" parentanchor = bottom|hcenter position = { 0 -3 } size = { 60 24 } texture = "gfx/interface/hud/tgp_widget_button_banner.dds" datacontext = "[SituationParticipantGroup]" using = tooltip_ne tooltip_offset = { 3 38 } flowcontainer = { parentanchor = center spacing = 3 tooltip = "DYNASTIC_CYCLE_HUD_PERSONAL_MOVEMENT_POWER_TT" using = tooltip_ne tooltip_offset = { 0 -5 } widget = { parentanchor = vcenter size = { 12 24 } icon_flat_standard_gold = { parentanchor = vcenter position = { 0 2 } size = { 12 12 } texture = "gfx/interface/icons/flat_icons/group_power.dds" alwaystransparent = yes } } text_single = { parentanchor = vcenter text = "[InGameBottomBar.GetDynasticCycleMovementPower]" using = Font_Size_Tiny max_width = 40 } } } icon = { size = { 25 25 } position = { -5 10 } texture = "gfx/interface/icons/dynastic_cycle/favored_by_hegemon.dds" visible = "[InGameBottomBar.IsDynasticCycleMovementFavored]" widgetanchor = center parentanchor = top|right tooltip = "DYNASTIC_CYCLE_WINDOW_FAVORED_MOVEMENT_TOOLTIP" } } type button_situations_scroll = button_normal { size = { 80 110 } onclick = "[ToggleGameViewData(Situation.GetWindowName, Situation.GetID)]" widget = { parentanchor = bottom|hcenter size = { 74 78 } highlight_icon = { size = { 74 78 } texture = "gfx/interface/window_situations/silk_road_hud_widget_bg.dds" } widget = { size = { 50 50 } parentanchor = center highlight_icon = { size = { 46 46 } parentanchor = center texture = "gfx/interface/icons/struggle_banners/icon_background_02.dds" } highlight_icon = { parentanchor = center size = { 34 34 } texture = "[Situation.GetIcon]" } } tooltip = "SITUATION_LIST_HUD_BUTTON" } } type button_struggle_banner = button_normal { name = "struggle_banner_tutorial_uses_this" size = { 110 110 } onclick = "[ToggleGameViewData('struggle', Struggle.GetID)]" onmousehierarchyenter = "[HighlightStruggle( Struggle.Self )]" onmousehierarchyleave = "[ClearHighlightedStruggleBorder]" state = { name = _show next = banner_default using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } size = { 80 80 } alpha = 1 trigger_on_create = yes } state = { name = banner_default using = Animation_FadeIn_Standard size = { 110 110 } } state = { name = _hide using = Animation_FadeOut_Standard bezier = { 1 0 0.5 0.5 } size = { 80 80 } alpha = 0 } # Animations struggle_phase_based_widget = { datacontext = "[Struggle.GetCurrentPhase]" visible = "[Struggle.HasPossibleEndingDecision]" parentanchor = center animation_sonar = { texture = "gfx/interface/component_masks/mask_glow.dds" using = Color_Orange } blockoverride "point_based_widget_content" { icon = { size = { 100% 100% } position = { 0 -12 } texture = "gfx/interface/icons/struggle_banners/upper_point_glow.dds" state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 1 } state = { name = b next = a using = Animation_Curve_Default duration = 1.6 alpha = 0.2 } } } blockoverride "time_based_widget_content" { icon = { position = { 0 -12 } size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/upper_time_glow.dds" state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 1 } state = { name = b next = a using = Animation_Curve_Default duration = 1.6 alpha = 0.2 } } } } # Leading phase struggle_phase_based_widget = { datacontext = "[Struggle.GetCurrentLeadingPhase]" blockoverride "point_based_widget_content" { icon = { size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/lower_point_banner.dds" } } blockoverride "time_based_widget_content" { icon = { size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/lower_time_banner.dds" } } blockoverride "ending_widget_content" { icon = { size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/lower_ending_banner.dds" } icon = { size = { 100% 100% } texture = "gfx/interface/component_effects/ending_banner_fire_01.dds" alpha = 0.25 state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 0.25 } state = { name = b next = a using = Animation_Curve_Default duration = 1 alpha = 0 } } icon = { size = { 100% 100% } texture = "gfx/interface/component_effects/ending_banner_fire_02.dds" alpha = 0 state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 0 } state = { name = b next = a using = Animation_Curve_Default duration = 1 alpha = 0.25 } } icon = { name = "ending_phase_glow" visible = "[Struggle.HasPossibleEndingDecision]" parentanchor = center size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/lower_ending_glow.dds" state = { trigger_on_create = yes name = a next = b using = Animation_Curve_Default duration = 1 alpha = 0.5 } state = { name = b next = a using = Animation_Curve_Default duration = 1.6 alpha = 0.2 } } } widget = { visible = "[Struggle.GetCurrentLeadingPhase.IsValid]" parentanchor = bottom|left size = { 25 25 } position = { 20 -14 } } } # Tie icon = { visible = "[Not(Struggle.GetCurrentLeadingPhase.IsValid)]" size = { 100% 100% } texture = "gfx/interface/icons/struggle_banners/lower_tied_banner.dds" } # Current phase struggle_phase_based_widget = { datacontext = "[Struggle.GetCurrentPhase]" blockoverride "point_based_widget_content" { struggle_highlight_icon = { visible = "[Struggle.IsInvolvedCharacter(Character.Self)]" blockoverride "texture" { texture = "gfx/interface/icons/struggle_banners/upper_point_involved_banner.dds" } } struggle_highlight_icon = { visible = "[Not(Struggle.IsInvolvedCharacter(Character.Self))]" blockoverride "texture" { texture = "gfx/interface/icons/struggle_banners/upper_point_interloper_banner.dds" } } widget = { size = { 52 52 } position = { 0 15 } parentanchor = top|hcenter icon = { size = { 52 52 } parentanchor = center texture = "gfx/interface/icons/struggle_banners/icon_background_02.dds" } icon = { parentanchor = center size = { 40 40 } texture = "[Struggle.GetCurrentPhase.GetIcon]" } } progressbar_standard = { size = { 60 12 } parentanchor = bottom|hcenter position = { 0 -20 } value = "[Struggle.GetProgress]" progresstexture = "gfx/interface/progressbars/progress_orange.dds" } widget_struggle_hourglass = { } } blockoverride "time_based_widget_content" { struggle_highlight_icon = { visible = "[Struggle.IsInvolvedCharacter(Character.Self)]" blockoverride "texture" { texture = "gfx/interface/icons/struggle_banners/upper_time_involved_banner.dds" } } struggle_highlight_icon = { size = { 100% 100% } visible = "[Struggle.IsInterloperCharacter(Character.Self)]" blockoverride "texture" { texture = "gfx/interface/icons/struggle_banners/upper_time_interloper_banner.dds" } } widget = { size = { 52 52 } parentanchor = top|hcenter position = { 1 18 } icon = { parentanchor = center texture = "gfx/interface/icons/struggle_banners/icon_background_02.dds" size = { 60 60 } } progresspie = { name = "progress" parentanchor = center size = { 52 52 } position = { 0 -1} texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 124 124 } frame = 2 value = "[Struggle.GetProgress]" } icon = { parentanchor = center size = { 40 40 } texture = "[Struggle.GetCurrentPhase.GetIcon]" } } widget_struggle_hourglass = { } text_single = { text = "[Struggle.GetPhaseValue(Struggle.GetCurrentLeadingPhase)]" default_format = "#high" parentanchor = bottom|hcenter position = { 0 -14 } } } } widget = { size = { 80 110 } tooltipwidget = struggle_tooltip parentanchor = center } } type struggle_highlight_icon = highlight_icon { size = { 100% 100% } block "texture" {} ##Pulse glow glow = { name = "glow_defined" glow_radius = 3 using = Glow_Standard using = Color_Orange glow_alpha = 0 } state = { name = struggle_pulse_glow next = struggle_pulse_glow_stop using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } glow_alpha = 1 } state = { name = struggle_pulse_glow_stop bezier = { 1 0 0.5 0.5 } duration = 0.3 glow_alpha = 0 } #white fill state = { name = struggle_pulse_icon next = struggle_pulse_icon_stop using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } modify_texture = { name = "white_icon" alpha = 1 } } state = { name = struggle_pulse_icon_stop bezier = { 1 0 0.5 0.5 } duration = 0.3 modify_texture = { name = "white_icon" alpha = 0 } } modify_texture = { name = "white_icon" texture = "gfx/interface/component_masks/mask_rough_edges.dds" blend_mode = colordodge alpha = 0 } } type widget_struggle_hourglass = widget { visible = "[Struggle.IsInTransitionPhase]" position = { 0 0 } size = { 32 32 } icon = { parentanchor = center size = { 32 32 } texture = "gfx/interface/icons/struggle_banners/icon_background_dark.dds" #white fill state = { name = struggle_pulse_icon next = struggle_pulse_icon_stop using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } modify_texture = { name = "white_icon" alpha = 1 } } state = { name = struggle_pulse_icon_stop bezier = { 1 0 0.5 0.5 } duration = 0.3 modify_texture = { name = "white_icon" alpha = 0 } } modify_texture = { name = "white_icon" texture = "gfx/interface/component_masks/mask_rough_edges.dds" blend_mode = colordodge alpha = 0 } } icon = { parentanchor = center size = { 30 30 } texture = "gfx/interface/icons/icon_time.dds" #white fill state = { name = struggle_pulse_icon next = struggle_pulse_icon_stop using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } modify_texture = { name = "white_icon" alpha = 1 } } state = { name = struggle_pulse_icon_stop bezier = { 1 0 0.5 0.5 } duration = 0.3 modify_texture = { name = "white_icon" alpha = 0 } } modify_texture = { name = "white_icon" texture = "gfx/interface/component_masks/mask_rough_edges.dds" blend_mode = colordodge alpha = 0 } } } type button_ghw_banner = button_normal { size = { 78 82 } onclick = "[OpenGameViewData( 'great_holy_war', GreatHolyWar.GetID )]" block "ghw_tooltip" { raw_tooltip = "#D no tooltip :(#!" } ##Show animation state = { name = _show next = banner_default using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } size = { 86 88 } alpha = 1 trigger_on_create = yes } state = { name = banner_default using = Animation_FadeIn_Standard size = { 78 82 } } state = { name = _hide using = Animation_FadeOut_Standard bezier = { 1 0 0.5 0.5 } size = { 66 70 } alpha = 0 } button = { name = "holy_war_icon_started" visible = "[GreatHolyWar.HasWarStarted]" onclick = "[OpenGameViewData( 'great_holy_war', GreatHolyWar.GetID )]" parentanchor = center size = { 100% 100% } texture = "gfx/interface/icons/war_status/holy_war_icon_started.dds" } button = { name = "holy_war_icon_prep" visible = "[Not(GreatHolyWar.HasWarStarted)]" onclick = "[OpenGameViewData( 'great_holy_war', GreatHolyWar.GetID )]" parentanchor = center size = { 100% 100% } texture = "gfx/interface/icons/war_status/holy_war_icon_prep.dds" } button = { name = "faith_icon" datacontext = "[GreatHolyWar.GetFaith]" onclick = "[OpenGameViewData( 'great_holy_war', GreatHolyWar.GetID )]" parentanchor = center position = { 1 -3 } size = { 35 35 } texture = "[Faith.GetIcon]" } } type button_raid_banner = button_normal { size = { 78 82 } onclick = "[DefaultOnCharacterClick(Character.GetID)]" using = tooltip_ne ##Show animation state = { name = _show next = banner_default using = Animation_FadeIn_Quick bezier = { 1 0 0.5 0.5 } size = { 86 88 } alpha = 1 trigger_on_create = yes } state = { name = banner_default using = Animation_FadeIn_Standard size = { 78 82 } } state = { name = _hide using = Animation_FadeOut_Standard bezier = { 1 0 0.5 0.5 } size = { 66 70 } alpha = 0 } highlight_icon = { texture = "gfx/interface/icons/war_status/raid_icon.dds" size = { 100% 100% } parentanchor = center } coa_realm_small = { name = "enemy_realm" parentanchor = hcenter scale = 0.9 position = { 0 12 } tooltip_visible = no alwaystransparent = yes } text_single = { name = "time_left" parentanchor = bottom|hcenter position = { 0 -7 } size = { 50 10 } align = center text = "[GetPlayer.GetRaidHostilityEnd( Character.Self ).GetTimeDiffFromNow]" } } type button_hud_character_bar = button_normal { effectname = "NoHighlight" framesize = { 103 102} size = { 52 52 } texture = "gfx/interface/skinned/button_hud_character_sidebar.dds" using = tooltip_ne state = { name = _show frame = 1 position_x = 0 using = Animation_Curve_Default duration = 0.25 } state = { name = _mouse_hierarchy_enter frame = 2 position_x = 3 using = Animation_Curve_Default duration = 0.1 } state = { name = _mouse_leave frame = 1 position_x = 0 using = Animation_Curve_Default duration = 0.25 } state = { name = _mouse_press frame = 3 position_x = 3 } state = { name = _mouse_release frame = 2 position_x = 0 using = Animation_Curve_Default duration = 0.25 } } type widget_hud_main_tab = widget { size = { 45 45 } using = tooltip_ws tooltip_offset = { 35 0 } button_normal = { parentanchor = center size = { 45 45 } scale = 1 block "maintab_button" {} modify_texture = { name = "glow" texture = "gfx/interface/component_effects/effect_shimmer.dds" blend_mode = colordodge translate_uv = { 1 0 } alpha = 0 } state = { name = _mouse_enter duration = 0.03 scale = 1.2 position_x = -3 using = Animation_Curve_Default modify_texture = { name = "glow" translate_uv = { 0 0 } alpha = 0.4 } } state = { name = _mouse_leave duration = 0.1 scale = 1 position_x = 0 using = Animation_Curve_Default modify_texture = { name = "glow" translate_uv = { 1 0 } alpha = 0 } } } } type hotkeys_HUD = widget { # Mapmodes button_normal = { onclick = "[SetMapMode('players')]" shortcut = "map_mode_8" enabled = "[Or(GameHasMultiplePlayers, InDebugMode)]" } button_normal = { onclick = "[SetMapMode('dejure_duchies')]" shortcut = "map_mode_9" shortcut = "mapmode_duchies_secondary" } button_normal = { onclick = "[SetMapMode('dejure_kingdoms')]" shortcut = "map_mode_10" shortcut = "mapmode_kingdoms_secondary" } button_normal = { onclick = "[SetMapMode('dejure_empires')]" shortcut = "map_mode_11" shortcut = "mapmode_empires_secondary" } button_normal = { onclick = "[SetMapMode('religions')]" shortcut = "map_mode_3" shortcut = "mapmode_faith_secondary" } button_normal = { onclick = "[SetMapMode('cultures')]" shortcut = "map_mode_2" shortcut = "mapmode_culture_secondary" } button_normal = { onclick = "[SetMapMode('houses')]" onclick = "[ClearExploringHouses]" shortcut = "map_mode_4" shortcut = "mapmode_house_secondary" } button_normal = { onclick = "[SetMapMode('realms')]" onclick = "[ClearExploringRealms]" shortcut = "map_mode_1" } button_normal = { onclick = "[SetMapMode('government')]" shortcut = "map_mode_5" } button_normal = { onclick = "[SetMapMode('epidemics')]" shortcut = "map_mode_16" } button_normal = { onclick = "[SetMapMode('legends')]" shortcut = "map_mode_17" } button_normal = { onclick = "[SetMapMode('landless_rulers')]" shortcut = "map_mode_18" } button_normal = { onclick = "[SetMapMode('migration_counties')]" shortcut = "map_mode_19" } button_normal = { onclick = "[SetMapMode('dejure_counties')]" shortcut = "map_mode_6" } button_normal = { onclick = "[SetMapMode('dejure_hegemonies')]" shortcut = "map_mode_20" } button_normal = { onclick = "[SetMapMode('court_languages')]" shortcut = "map_mode_7" } button_normal = { onclick = "[SetMapMode('terrain')]" shortcut = "map_mode_terrain" } button_normal = { onclick = "[SetMapMode('simple_terrain')]" shortcut = "map_mode_12" } button_normal = { onclick = "[SetMapMode('county_development')]" shortcut = "map_mode_13" } button_normal = { onclick = "[SetMapMode( 'economy_buildings' )]" shortcut = "map_mode_14" } button_normal = { onclick = "[SetMapMode( 'county_control' )]" shortcut = "map_mode_15" } button_normal = { onclick = "[SetMapMode( 'diplomatic_relations' )]" shortcut = "map_mode_diplomatic_relations" } button_normal = { onclick = "[SetMapMode( 'confederations' )]" shortcut = "map_mode_confederations" } button_normal = { name = "find_title_shortcut" onclick = "[ToggleGameView( 'find_title' )]" onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" shortcut = "find_title_shortcut" } button_normal = { name = "plagues_shortcut" onclick = "[ToggleGameView( 'epidemics' )]" onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" shortcut = "explore_plagues" } button_normal = { name = "legends_shortcut" onclick = "[ToggleGameView( 'legends' )]" onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" shortcut = "explore_legends" } # 0 size button for shortcut to work button_normal = { name = "find_character_shortcut" onclick = "[ToggleGameView( 'character_finder' )]" onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" shortcut = "character_finder" } # 0 size button for shortcut to work button_normal = { name = "encyclopedia_shortcut" onclick = "[ToggleEncyclopedia]" onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" shortcut = "encyclopedia" } button_normal = { onclick = "[SetMapMode( 'mandala' )]" shortcut = "map_mode_mandala" } } type button_pause_hud = button_round { size = { 33 33 } enabled = "[Not(IsGameOver)]" onclick = "[OnPause]" oversound = "event:/SFX/UI/Generic/sfx_ui_generic_pointer_over" clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_select" button_play = { visible = "[IsGamePaused]" size = { 35 35 } tooltip = "[SelectLocalization( IsGameOver, 'UNPAUSE_GAME_OVER', 'UNPAUSE_GAME')]" using = tooltip_ne alwaystransparent = yes parentanchor = center } button_pause = { visible = "[Not(IsGamePaused)]" size = { 35 35 } tooltip = "PAUSE_GAME" using = tooltip_ne alwaystransparent = yes parentanchor = center } } type container_resource_balance = container { text_single = { name = "balance_pos" visible = "[GreaterThanOrEqualTo_CFixedPoint(PlayerValueItem.GetBalance, '(CFixedPoint)0')]" text = "[PlayerValueItem.GetBalance|1=]" max_width = 110 default_format = "#low" } text_single = { name = "balance_neg" visible = "[LessThan_CFixedPoint(PlayerValueItem.GetBalance, '(CFixedPoint)0')]" text = "[PlayerValueItem.GetBalance|1=]" max_width = 110 default_format = "#N" } } type container_saving_indicator = container { visible = yes background = { name = "bg" texture = "gfx/interface/tooltips/tooltip_bg.dds" spriteType = Corneredtiled gfxtype = icongfx spriteborder = { 2 2 } shaderfile = "gfx/FX/pdxgui_default.shader" } background = { name = "frame" texture = "gfx/interface/tooltips/tooltip_frame.dds" gfxtype = icongfx spriteType = Corneredtiled spriteborder = { 20 20 } shaderfile = "gfx/FX/pdxgui_default.shader" modify_texture = { name = "overlay" texture = "gfx/interface/component_overlay/overlay_window.dds" spriteType = Corneredstretched spriteborder = { 0 0 } blend_mode = overlay } } flowcontainer = { spacing = 15 margin = { 20 15 } progressbar = { size = { 44 44 } gfxtype = framedprogressbargfx texture = "gfx/interface/frontend/loading_progress.dds" framesize = { 88 88 } loopinterval = 2.0 max = 0 } text_single = { parentanchor = vcenter align = nobaseline using = Font_Size_Medium block "csi_text" { text = "AUTOSAVE_IN_PROGRESS" } } } } type resources_top_right_bar = hbox { layer = top using = Animation_ShowHide_Quick ## Resources hbox = { name = "resources" visible = "[Not( IsGameViewOpen('barbershop') )]" hbox = { name = "spendables" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding hbox = { name = "tutorial_highlight_resources_bar" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding widget = { name = "gold" size = { 144 70 } state = { name = _mouse_enter on_start = "[InGameTopbar.ResetLastUpdateFrame]" } widget = { size = { 144 45 } tooltipwidget = { widget_gold_breakdown_tooltip = { blockoverride "income" { datacontext = "[InGameTopbar.GetGoldIncomeBreakdown]" } blockoverride "expenses" { datacontext = "[InGameTopbar.GetGoldExpensesBreakdown]" } } } using = tooltip_ne } background = { texture = "gfx/interface/skinned/resource_panel_start.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "gold_icon" size = { 30 30 } texture = "gfx/interface/icons/icon_gold.dds" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical ignoreinvisible = yes text_single = { name = "gold_value_positive" visible = "[GreaterThanOrEqualTo_CFixedPoint(GetPlayer.GetGold, '(CFixedPoint)0')]" text = "[GetPlayer.GetGold|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } text_single = { name = "gold_value_negative" visible = "[LessThan_CFixedPoint(GetPlayer.GetGold, '(CFixedPoint)0')]" text = "[GetPlayer.GetGold|0]" max_width = 50 default_format = "#N" using = Font_Size_Medium } container = { text_single = { name = "balance_positive" visible = "[GreaterThanOrEqualTo_CFixedPoint(InGameTopbar.GetGoldBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetGoldBalance|=1]" max_width = 50 default_format = "#low" } text_single = { name = "balance_negative" visible = "[LessThan_CFixedPoint(InGameTopbar.GetGoldBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetGoldBalance|=1]" max_width = 50 default_format = "#N" } } } } spacer = { size = { 10 1} } divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "treasury" visible = "[GetPlayer.HasTreasury]" size = { 112 70 } allow_outside = yes state = { name = _mouse_enter on_start = "[InGameTopbar.ResetLastUpdateFrame]" } button = { size = { 112 45 } onclick = "[ToggleGameViewData( 'treasury_budget_change', GetPlayer.GetTopLiege.Self )]" enabled = "[GetPlayer.IsIndependentRuler]" tooltipwidget = { widget_gold_breakdown_tooltip = { blockoverride "my_gold" { text_single = { layoutpolicy_horizontal = expanding text = "[treasury_i] [GetPlayer.GetPrimaryTitle.GetNameNoTierNoTooltip] [treasury|E]" default_format = "#T" } } blockoverride "income" { datacontext = "[InGameTopbar.GetTreasuryIncomeBreakdown]" } blockoverride "expenses" { datacontext = "[InGameTopbar.GetTreasuryExpensesBreakdown]" } blockoverride "extra_info" { text_single = { visible = "[And( GetPlayer.IsIndependentRuler, IsAdministrativeRuler( GetPlayer ) )]" layoutpolicy_horizontal = expanding text = "CLICK_TO_OPEN_TREASURY_BUDGETING" default_format = "#I" } } } } using = tooltip_ne } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 allow_outside = yes hbox = { layoutpolicy_horizontal = expanding allow_outside = yes widget = { size = { 20 40 } allow_outside = yes vbox = { position = { -10 0 } parentanchor = center button_round = { size = { 20 20 } datacontext = "[GetPlayer]" datacontext = "[GetDecisionWithKey( 'extract_gold_from_treasury' )]" visible = "[Decision.IsShownForPlayer]" onclick = "[OpenGameViewData( 'decision_detail', Decision.Self)]" tooltip = "TRANSFER_TREASURY_TO_GOLD_DECISION_TOOLTIP" using = tooltip_se button_icon = { size = { 100% 100% } alwaystransparent = yes texture = "gfx/interface/icons/flat_icons/transfer_left.dds" enabled = "[Decision.IsPossibleForPlayer]" } } button_round = { size = { 20 20 } name = "transfer_gold_to_treasury_button_tutorial_uses_this" datacontext = "[GetPlayer]" enabled = "[Character.CanSendPlayerInteraction('transfer_small_gold_amount_to_treasury_interaction')]" onclick = "[Character.SendPlayerInteraction( Select_CString( IsCtrlDown, 'transfer_huge_gold_amount_to_treasury_interaction', 'transfer_small_gold_amount_to_treasury_interaction' ) )]" onrightclick = "[Character.SendPlayerInteraction( 'transfer_large_gold_amount_to_treasury_interaction' )]" button_ignore = none tooltip = "TRANSFER_GOLD_TO_TREASURY_INTERACTION_TOOLTIP" using = tooltip_se button_icon = { size = { 100% 100% } alwaystransparent = yes texture = "gfx/interface/icons/flat_icons/transfer_right.dds" } tooltip_offset = { 0 10 } } } } expand = {} hbox = { spacing = 7 name = "treasury_tutorial_uses_this" icon = { name = "treasury_icon" size = { 30 30 } texture = "gfx/interface/icons/icon_imperial_treasury.dds" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical ignoreinvisible = yes text_single = { name = "treasury_value_positive" visible = "[GreaterThanOrEqualTo_CFixedPoint(GetPlayer.GetTreasury, '(CFixedPoint)0')]" text = "[GetPlayer.GetTreasury|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } text_single = { name = "treasury_value_negative" visible = "[LessThan_CFixedPoint(GetPlayer.GetTreasury, '(CFixedPoint)0')]" text = "[GetPlayer.GetTreasury|0]" max_width = 50 default_format = "#N" using = Font_Size_Medium } container = { text_single = { name = "treasury_balance_positive" visible = "[GreaterThanOrEqualTo_CFixedPoint(InGameTopbar.GetTreasuryBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetTreasuryBalance|=1]" max_width = 50 default_format = "#low" } text_single = { name = "treasury_balance_negative" visible = "[LessThan_CFixedPoint(InGameTopbar.GetTreasuryBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetTreasuryBalance|=1]" max_width = 50 default_format = "#N" } } } } spacer = { size = { 10 1} } divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "barter_goods" datacontext = "[GetPlayer]" visible = "[GetPlayer.HasBarterGoods]" size = { 112 70 } state = { name = _mouse_enter on_start = "[InGameTopbar.ResetLastUpdateFrame]" } widget = { size = { 112 45 } using = tooltip_ne tooltipwidget = { widget_gold_breakdown_tooltip = { blockoverride "income" { datacontext = "[InGameTopbar.GetBarterGoodsIncomeBreakdown]" } blockoverride "expenses" { datacontext = "[InGameTopbar.GetBarterGoodsExpensesBreakdown]" } } } } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "barter_goods_icon" size = { 30 30 } texture = "gfx/interface/icons/icon_barter.dds" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical ignoreinvisible = yes text_single = { name = "barter_goods_value_positive" text = "[GetPlayer.GetCurrency('barter_goods')|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } container = { text_single = { name = "barter_goods_balance_positive" visible = "[GreaterThanOrEqualTo_CFixedPoint(InGameTopbar.GetBarterGoodsBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetBarterGoodsBalance|=1]" max_width = 50 default_format = "#low" } text_single = { name = "barter_goods_balance_negative" visible = "[LessThan_CFixedPoint(InGameTopbar.GetBarterGoodsBalance, '(CFixedPoint)0')]" text = "[InGameTopbar.GetBarterGoodsBalance|=1]" max_width = 50 default_format = "#N" } } } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "prestige" datacontext = "[InGameTopbar.GetPrestigeItem]" size = { 112 70 } widget = { size = { 112 45 } tooltipwidget = { widget_resource_value_tooltip = {} } using = tooltip_ne } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "prestige_icon" size = { 30 30 } texture = "[GetPlayer.GetPrestigeLevelTexture]" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical text_single = { name = "prestige_value" text = "[GetPlayer.GetPrestige|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } container_resource_balance = {} } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "piety" datacontext = "[InGameTopbar.GetPietyItem]" size = { 112 70 } button = { size = { 112 45 } onclick = "[OpenGameViewData( 'faith', GetPlayer.GetFaith.GetID )]" using = tooltip_ne tooltipwidget = { widget_resource_value_tooltip = {} } } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 6 icon = { name = "piety_icon" size = { 30 30 } texture = "[GetPlayer.GetPietyLevelTexture]" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical text_single = { name = "piety_value" text = "[GetPlayer.GetPiety|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } container_resource_balance = {} } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "provisions" visible = "[Or(IsLandlessAdventurer( GetPlayer ) GetPlayer.GetGovernment.IsType( 'landless_minority_government' ) )]" size = { 112 70 } widget = { datacontext = "[GetPlayer.GetDomicile]" size = { 112 45 } tooltip = "[Domicile.GetProvisionsBreakdown]" using = tooltip_ne } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { datacontext = "[GetPlayer.GetDomicile]" margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "provisions_icon" size = { 30 30 } framesize = { 60 60 } frame = 0 texture = "gfx/interface/icons/icon_camp_supply.dds" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical ignoreinvisible = yes text_single = { name = "provisions_value_positive" visible = "[Not( Or( Domicile.IsProvisionsLow, Domicile.IsProvisionsCritical ) )]" text = "[Domicile.GetProvisions|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } text_single = { name = "provisions_value_low" visible = "[Domicile.IsProvisionsLow]" text = "[Domicile.GetProvisions|0]" max_width = 50 default_format = "#color_yellow" using = Font_Size_Medium } text_single = { name = "provisions_value_critical" visible = "[Domicile.IsProvisionsCritical]" text = "[Domicile.GetProvisions|0]" max_width = 50 default_format = "#N" using = Font_Size_Medium } container = { text_single = { name = "provisions_max" text = "[Domicile.GetProvisionsMax]" max_width = 50 default_format = "#low" } } } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} hbox = { layoutpolicy_horizontal = expanding spacing = 6 vbox = { margin_top = -2 layoutpolicy_vertical = expanding expand = {} } } expand = {} } } widget = { name = "influence" datacontext = "[InGameTopbar.GetInfluenceItem]" visible = "[GetPlayer.GetGovernment.HasRule( 'administrative' )]" size = { 112 70 } widget = { size = { 112 45 } tooltipwidget = { widget_resource_value_tooltip = {} } using = tooltip_ne } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "influence_icon" size = { 30 30 } texture = "[GetPlayer.GetInfluenceLevelTexture]" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical text_single = { name = "influence_value" text = "[GetPlayer.GetInfluence|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } container_resource_balance = {} } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "renown" datacontext = "[InGameTopbar.GetDynastyPrestigeItem]" size = { 112 70 } layoutpolicy_vertical = expanding button = { size = { 112 45 } onclick = "[DefaultOnHouseCoatOfArmsClick(GetPlayer.GetHouse.GetID)]" using = tooltip_ne tooltipwidget = { widget_resource_value_tooltip = {} } } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 6 icon = { visible = "[GetPlayer.IsDynast]" texture = "[GetPlayer.GetDynasty.GetDynastyPrestigeLevelTexture]" size = { 30 30 } } icon = { visible = "[Not(GetPlayer.IsDynast)]" texture = "[GetPlayer.GetDynasty.GetDynastyPrestigeLevelTexture]" size = { 30 30 } alpha = 0.3 } flowcontainer = { visible = "[GetPlayer.IsDynast]" margin_bottom = 7 spacing = -6 direction = vertical text_single = { name = "prestige_value" text = "[GetPlayer.GetDynasty.GetPrestige|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } container_resource_balance = {} } flowcontainer = { visible = "[Not(GetPlayer.IsDynast)]" margin_bottom = 7 spacing = -6 direction = vertical text_single = { name = "prestige_value_nodynast" text = "[GetPlayer.GetDynasty.GetPrestige|0]" max_width = 50 default_format = "#low" using = Font_Size_Medium } container_resource_balance = {} } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } widget = { name = "herd" datacontext = "[GetPlayer]" datacontext = "[Character.GetDomicile]" visible = "[Or( IsNomad( GetPlayer ), Character.GetGovernment.HasGovernmentFlag( 'government_is_prepublic') )]" size = { 112 70 } state = { name = _mouse_enter on_start = "[InGameTopbar.ResetLastUpdateFrame]" } widget = { size = { 112 45 } using = tooltip_ne tooltipwidget = { herd_breakdown_hud_toolip = {} } } background = { texture = "gfx/interface/skinned/resource_panel_piece.dds" } vbox = { margin_top = -2 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 7 icon = { name = "herd_icon" size = { 30 30 } texture = "gfx/interface/icons/icon_herd.dds" } flowcontainer = { margin_bottom = 7 spacing = -6 direction = vertical ignoreinvisible = yes text_single = { name = "herd_value_positive" visible = "[Not( Domicile.IsAboveHerdLimit )]" text = "[Domicile.GetHerd|0]" max_width = 50 default_format = "#high" using = Font_Size_Medium } text_single = { name = "above_herd_limit" visible = "[Domicile.IsAboveHerdLimit]" text = "[Domicile.GetHerd|0]" max_width = 50 default_format = "#color_yellow" using = Font_Size_Medium } container = { text_single = { name = "army_from_herd" text = "[InGameTopbar.GetHerdChangeValue|=1]" max_width = 50 default_format = "#low" } } } } expand = {} divider_light = { layoutpolicy_vertical = expanding alpha = 0.8 } } expand = {} } } } hbox = { name = "military" datacontext = "[GetPlayer]" widget = { button = { size = { 112 45 } onclick = "[ToggleGameViewData('military', GetPlayer.GetID)]" tooltip = "[InGameTopbar.GetMilitaryTooltip]" using = tooltip_ne } size = { 112 70 } background = { texture = "gfx/interface/skinned/resource_panel_piece_light.dds" } ### Stiches for the Nomadic UI skin placed as a separate texture to be able to place it perfectly aligned with texture change and tiling. ### Placed on top of the divider that is there normally. widget = { name = "nomadic_stiches_divider" visible = "[IsNomad( GetPlayer )]" parentanchor = vcenter size = { 10 42 } position = { -6 -17 } icon = { parentanchor = center position = { 0 0 } size = { 10 42 } texture = "gfx/interface/hud/nomadic_resource_panel_stiches.dds" } } vbox = { margin_top = 4 hbox = { layoutpolicy_horizontal = expanding expand = {} hbox = { spacing = 5 icon = { name = "icon_soldier" texture = "gfx/interface/icons/icon_soldier.dds" size = { 25 25 } } flowcontainer = { direction = vertical datacontext = "[GetPlayerArmyComposition]" flowcontainer = { spacing = 2 text_single = { name = "strength" text = "[InGameTopbar.GetCurrentTroopsCount]" default_format = "#high" align = nobaseline } army_quality_icon = {} } progressbar_standard = { name = "soldiers_max" size = { 40 8 } visible = "[NotEqualTo_int32(ArmyComposition.GetMaxNumberOfSoldiers, '(int32)0')]" min = 0 max = "[IntToFloat(ArmyComposition.GetMaxNumberOfSoldiers)]" value = "[IntToFloat(ArmyComposition.GetCurrentNumberOfSoldiers)]" } } } expand = {} } expand = {} } } widget = { name = "domain_limit" visible = "[Not( IsLandlessAdventurer( GetPlayer ) )]" layoutpolicy_vertical = expanding button = { size = { 112 45 } onclick = "[ToggleGameViewData( 'my_realm', 'bookmark_domain' )]" tooltip = "[Character.GetDomainLimitTooltip]" using = tooltip_ne } size = { 112 70 } background = { texture = "gfx/interface/skinned/resource_panel_end.dds" } vbox = { margin_top = 4 hbox = { margin_bottom = 16 expand = {} hbox = { margin = { 5 5 } spacing = 5 background = { visible = "[GreaterThan_int32( Character.GetDomainSize, Character.GetDomainLimit )]" using = Status_Bad margin_bottom = -3 } icon = { texture = "gfx/interface/icons/icon_domain.dds" size = { 25 25 } } text_single = { name = "value" text = "[Character.GetDomainSize]/[Character.GetDomainLimit]" align = nobaseline margin_bottom = 1 max_width = 110 } } expand = {} } expand = {} } } } } } } type container_royal_court_tooltip = container { using = GeneralTooltipSetup alwaystransparent = no object_tooltip_pop_out = { blockoverride "title_text" { margin = { 0 8 } text = "ROYAL_COURT" default_format = "#T" } blockoverride "concept_link" { visible = no } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding cooltip_paragraph = { visible = "[Not( Character.HasRoyalCourt )]" text = "[Character.GetRoyalCourtBlockers]" } cooltip_paragraph = { visible = "[GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' )]" text = "ROYAL_COURT_STATUS_PENDING_EVENTS_BULLET" } cooltip_paragraph = { visible = "[GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'court' ), '(int32)0' )]" text = "ROYAL_COURT_STATUS_NEW_COURT_ARTIFACTS_BULLET" } cooltip_paragraph = { visible = "[And(LessThan_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel ),HasDlcFeature( 'royal_court' ))]" text = "ROYAL_COURT_STATUS_CGV_EXPECTATIONS_BULLET" } cooltip_paragraph = { visible = "[GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' )]" text = "ROYAL_COURT_STATUS_CURRENT_EVENTS_BULLET" } } } } } type activity_hud_button = button_normal { size = { 58 58 } tooltip = "TT_ACTIVITY_WIDGET" using = tooltip_above onclick = "[Activity.OpenActivityView]" icon_round_button_base = {} icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } parentanchor = center alpha = 0.5 } progresspie = { name = "progress" visible = "[Character.HasActivityState( 'travel' )]" size = { 50 50 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 widgetanchor = center parentanchor = center min = 0 max = 1 value = "[Character.GetTravelPlan.GetData.GetNextDestinationProgress]" } highlight_icon = { texture = "[Activity.GetType.GetIcon]" alwaystransparent = yes size = { 45 45 } parentanchor = center } } type icon_hud_background = icon { size = { 200 64 } texture = "gfx/interface/skinned/hud_bg_character_bar.dds" spritetype = corneredtiled spriteborder_left = 70 spriteborder_right = 240 texture_density = 2 state = { name = _show using = Animation_Curve_Default duration = 0.21 position = { 0 0 } alpha = 1 } state = { name = _hide using = Animation_Curve_Default duration = 0.21 position = { -36 50 } alpha = 0 } } type tax_jurisdictions_button_tooltip = widget { alwaystransparent = no datacontext = "[GetPlayer]" vbox = { using = Background_Tooltip spacing = 10 margin = { 20 10 } parentanchor = right|vcenter text_single = { text = "TAX_JURISDICTIONS_BUTTON" layoutpolicy_horizontal = expanding } hbox = { layoutpolicy_horizontal = expanding visible = "[Or( Or( GreaterThan_int32( Character.GetUnassignedVassalsCount, '(int32)0' ), Not( Character.HasTaxSlots ) ), GreaterThan_int32( Character.GetUntaxedJurisdictionCount, '(int32)0' ) )]" icon = { size = { 25 25 } texture = "gfx/interface/icons/symbols/icon_warning.dds" } vbox = { layoutpolicy_horizontal = expanding margin_left = 5 text_single = { visible = "[GreaterThan_int32( Character.GetUntaxedJurisdictionCount, '(int32)0' )]" layoutpolicy_horizontal = expanding text = "TAX_SLOT_OVERVIEW_WINDOW_TAX_SLOTS_WARNING" default_format = "#N" max_width = 320 } text_single = { visible = "[GreaterThan_int32( Character.GetUnassignedVassalsCount, '(int32)0' )]" layoutpolicy_horizontal = expanding text = "TAX_SLOT_OVERVIEW_WINDOW_UNASSIGNED_VASSALS_WARNING" default_format = "#N" max_width = 320 } text_single = { visible = "[Not( Character.HasTaxSlots )]" layoutpolicy_horizontal = expanding text = "NO_TAX_SLOT_AVAILABLE" default_format = "#N" max_width = 320 } } } expand = {} } } type administrative_button_tooltip = widget { alwaystransparent = no datacontext = "[GetPlayer]" vbox = { using = DefaultTooltipBackground spacing = 10 margin = { 20 10 } parentanchor = right|vcenter text_single = { text = "ADMINISTRATIVE_BUTTON" layoutpolicy_horizontal = expanding } expand = {} } } type epidemic_hud_tooltip_list = vbox { layoutpolicy_horizontal = expanding spacing = 10 background = { using = Background_Area_With_Header margin = { 10 7 } using = Mask_Rough_Edges } cooltip_paragraph = { block "heading_text" { raw_text = "#D Fill me#!" } default_format = "#S" } vbox = { layoutpolicy_horizontal = expanding spacing = 10 block "epidemic_datamodel" { } item = { hbox = { layoutpolicy_horizontal = expanding spacing = 10 visible = "[Epidemic.IsValidCheck]" background = { using = Background_Area using = Mask_Rough_Edges using = Background_Alternate_Datamodel margin = { 10 7 } } icon_epidemic = { tooltipwidget = epidemic_tooltip } vbox = { layoutpolicy_horizontal = expanding cooltip_paragraph = { text = "[Epidemic.GetName]" default_format = "#S" } cooltip_paragraph = { text = "EPIDEMIC_TOTAL_DEATH_TOLL" } block "item_extra_data" { } } expand = {} } } } } type epidemic_hud_tooltip = object_tooltip_pop_out { blockoverride "title_text" { text = "EPIDEMICS_TITLE" default_format = "#T" } blockoverride "concept_link" { visible = no } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding spacing = 16 epidemic_hud_tooltip_list = { name = "realm_epidemics" visible = "[DataModelHasItems( InGameBottomBar.GetEpidemicsInRealm )]" blockoverride "heading_text" { text = "HUD_EPIDEMICS_IN_REALM" } blockoverride "epidemic_datamodel" { datamodel = "[InGameBottomBar.GetEpidemicsInRealm]" } blockoverride "item_extra_data" { cooltip_paragraph = { text = "EPIDMIC_TOOLTIP_DOMAIN_INFECTIONS" } } } epidemic_hud_tooltip_list = { name = "nearby_epidemics" visible = "[DataModelHasItems( InGameBottomBar.GetEpidemicsBorderingRealm )]" blockoverride "heading_text" { text = "HUD_EPIDEMICS_BORDERING_REALM" } blockoverride "epidemic_datamodel" { datamodel = "[InGameBottomBar.GetEpidemicsBorderingRealm]" } } epidemic_hud_tooltip_list = { name = "global_epidemics" visible = "[DataModelHasItems( InGameBottomBar.GetGlobalNotificationEpidemics )]" blockoverride "heading_text" { text = "HUD_EPIDEMICS_GLOBAL_NOTIFICATIONS" } blockoverride "epidemic_datamodel" { datamodel = "[InGameBottomBar.GetGlobalNotificationEpidemics]" } blockoverride "item_extra_data" { cooltip_paragraph = { text = "HUD_EPIDEMIC_GLOBAL_NOTIFICATION" default_format = "#flavor" } } } } } } type button_epidemics = button { size = { 80 80 } using = tooltip_ne onclick = "[ToggleGameView( 'epidemics' )]" tooltipwidget = { epidemic_hud_tooltip = {} } video_icon = { name = "epidemic_particules" size = { 80 80 } visible = "[InGameBottomBar.HasGlobalNotificationEpidemic]" gfxtype = videogfx shaderfile = "" video = "gfx/particles/fly.bk2" loop = yes modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" blend_mode = alphamultiply spriteType = corneredTiled alpha = 0.8 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" blend_mode = alphamultiply spriteType = corneredTiled mirror = horizontal alpha = 0.8 } } button = { name = "epidemic_icon_global_notify" visible = "[InGameBottomBar.HasGlobalNotificationEpidemic]" texture = "gfx/interface/hud/button_epidemics_black_plague.dds" size = { 100% 100% } alwaystransparent = yes } button = { name = "epidemic_icon" visible = "[Not( InGameBottomBar.HasGlobalNotificationEpidemic )]" texture = "gfx/interface/hud/button_epidemics.dds" size = { 100% 100% } alwaystransparent = yes } } type legends_hud_tooltip = object_tooltip_pop_out { blockoverride "title_text" { text = "LEGENDS_TITLE" default_format = "#T" margin = { 0 5 } } blockoverride "concept_link" { visible = no } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding spacing = 15 datacontext = "[GetPlayer]" datacontext = "[Character.GetPromotedLegend]" datacontext = "[AccessLocalPlayerCachedData]" vbox = { name = "promoted_legend" layoutpolicy_horizontal = expanding spacing = 15 visible = "[And( Legend.IsValid, Not( Legend.IsCompleted ) )]" background = { using = Background_Area_With_Header margin = { 10 7 } using = Mask_Rough_Edges } cooltip_paragraph = { datacontext = "[Character.GetPromotedLegend]" text = "PROMOTED_LEGEND" default_format = "#S" } hbox = { layoutpolicy_horizontal = expanding spacing = 10 background = { using = Background_Area using = Mask_Rough_Edges using = Background_Alternate_Datamodel margin = { 10 7 } } icon_legend = { datacontext = "[Legend.GetType]" tooltipwidget = legend_tooltip } vbox = { layoutpolicy_horizontal = expanding cooltip_paragraph = { text = "[Legend.GetName]" default_format = "#S" } legend_summary_vbox = {} } expand = {} } } vbox = { name = "legend_seeds" layoutpolicy_horizontal = expanding cooltip_paragraph = { text = "LEGEND_SEEDS" default_format = "#S" } cooltip_paragraph = { text = "HUD_LEGEND_SEEDS" visible = "[Or( DataModelHasItems( Character.GetLegendSeeds ), DataModelHasItems( LocalPlayerCachedData.GetTriggeredLegendSeeds ) )]" } cooltip_paragraph = { text = "LEGEND_SEEDS_EMPTY" visible = "[And( IsDataModelEmpty( Character.GetLegendSeeds ), IsDataModelEmpty( LocalPlayerCachedData.GetTriggeredLegendSeeds ) )]" } } } } } type icon_power_sharing_level = highlight_icon { size = { 28 28 } texture = "gfx/interface/window_regency/regency_level_button_badge.dds" text_single = { align = nobaseline parentanchor = center raw_text = "[Diarchy.GetPowerLevel]" } } type legitimacy_hud_tooltip = object_tooltip_pop_out { visible = "[And(LegitimacyType.IsValid, Character.GetGovernment.HasRule( 'legitimacy' ))]" blockoverride "title_text" { margin = { 0 8 } text = "legitimacy_hud_tt" default_format = "#T" } blockoverride "concept_link" { text = "[legitimacy|E]" } blockoverride "subheading" { text_single = { layoutpolicy_horizontal = expanding autoresize = yes fontsize_min = 14 using = Font_Size_Small text = "legitimacy_hud_tt_subheading" default_format = "#weak" fonttintcolor = "[TooltipInfo.GetTintColor]" max_width = 400 margin_top = -4 } } blockoverride "header_additions" { widget = { size = { 120 74 } widget = { size = { 240 74 } position = { -16 0 } visible = "[And( Not( IsNomad( GetPlayer ) ), Not( GetPlayer.GetGovernment.IsType( 'celestial_government' ) ) )]" proportional_icon = { size = { 100% 100% } visible = "[GreaterThanOrEqualTo_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/window_legend_chronicle/expected_legitimacy_decoration.dds" using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" blend_mode = alphaMultiply } } proportional_icon = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/window_legend_chronicle/under_expected_legitimacy_decoration.dds" using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" blend_mode = alphaMultiply } } } widget = { size = { 240 74 } position = { -16 0 } visible = "[IsNomad( GetPlayer )]" proportional_icon = { size = { 100% 100% } visible = "[GreaterThanOrEqualTo_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/illustrations/decisions/mpo_decision_great_khan.dds" mirror = horizontal using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphaMultiply } } proportional_icon = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/illustrations/event_scenes/mpo_raid_burning_asian.dds" mirror = horizontal using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphaMultiply } } } widget = { size = { 240 74 } position = { -16 0 } visible = "[GetPlayer.GetGovernment.IsType( 'celestial_government' )]" proportional_icon = { size = { 100% 100% } visible = "[GreaterThanOrEqualTo_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds" mirror = horizontal using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphaMultiply } } proportional_icon = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_consolidation.dds" mirror = horizontal using = Mask_Rough_Edges modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" blend_mode = alphaMultiply } } } } } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding margin_right = 10 hbox = { layoutpolicy_horizontal = expanding cooltip_paragraph = { text = "LEGITIMACY_EFFECTS" max_width = 500 } expand = { layoutpolicy_horizontal = expanding } } spacer = { size = { 0 15 } } ### LEGITIMACY BREAKDOWN hbox = { datacontext = "[Character.GetMonthlyLegitimacyTooltip]" visible = "[Not( EqualTo_CFixedPoint( Character.GetLegitimacy, '(CFixedPoint)0' ))]" layoutpolicy_horizontal = expanding using = tooltip_se text_single = { layoutpolicy_horizontal = expanding text = "[Character.GetMonthlyLegitimacy]" align = nobaseline } tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { visible = "[ValueBreakdown.HasTooltip]" widget_value_breakdown_tooltip = {} } expand = {} } spacer = { size = { 0 15 } } hbox = { name = "track_header" layoutpolicy_horizontal = expanding spacing = 5 margin_left = -10 min_height = 45 background = { using = Background_Area margin = { -5 -5 } modify_texture = { texture = "gfx/interface/component_masks/mask_fade_horizontal_right.dds" blend_mode = alphaMultiply } } icon_legitimacy_flat = {} text_single = { text = "LEGITIMACY_TRACK_TITLE" layoutpolicy_horizontal = expanding align = nobaseline } } margin_widget = { size = { 500 50 } margin = { 10 0 } datacontext = "[Character.GetLegitimacyType]" datacontext = "[Character.GetLegitimacyLevel]" hbox_complex_bar_progress = { layoutpolicy_horizontal = expanding margin_top = 30 } hbox_complex_bar_levels = { layoutpolicy_horizontal = expanding position = { 0 -10 } blockoverride "marker" { widget_level_marker = { scale = 0.75 # Hide last one, it is the maximum not an actual level visible = "[LessThan_int32( PdxGuiWidget.GetIndexInDataModel, GetDataModelSize( LegitimacyType.GetLevels ) )]" blockoverride "marker_addon" { icon = { texture = "gfx/interface/colors/white.dds" using = Mask_Rough_Edges position = { -4 28 } size = { 8 40 } alpha = 0.4 visible = "[GreaterThan_int32( PdxGuiWidget.GetIndexInDataModel, '(int32)0' )]" } widget = { size = { 52 52 } position = { -26 24 } visible = "[And( EqualTo_int32( Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex, PdxGuiWidget.GetIndexInDataModel ), Not( Character.GetGovernment.HasRule( 'deny_powerful_vassal' ) ) ) ]" icon = { size = { 100% 100% } visible = "[Not(LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex ))]" texture = "gfx/interface/window_legend_chronicle/pin_expected_legitimacy.dds" } icon = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/window_legend_chronicle/pin_under_expected_legitimacy.dds" } widget = { parentanchor = center size = { 28 28 } icon_flat_standard_red = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex )]" texture = "[LegitimacyType.GetFlatIcon]" } icon_flat_standard = { size = { 100% 100% } visible = "[Not(LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex ))]" texture = "[LegitimacyType.GetFlatIcon]" } } } widget = { size = { 52 52 } position = { -26 24 } visible = "[And( EqualTo_int32( Character.GetAverageVassalLegitimacyExpectation.GetIndex, PdxGuiWidget.GetIndexInDataModel ), Character.GetGovernment.HasRule( 'deny_powerful_vassal' ) ) ]" icon = { size = { 100% 100% } visible = "[Not(LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAverageVassalLegitimacyExpectation.GetIndex ))]" texture = "gfx/interface/window_legend_chronicle/pin_expected_legitimacy.dds" } icon = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAverageVassalLegitimacyExpectation.GetIndex )]" texture = "gfx/interface/window_legend_chronicle/pin_under_expected_legitimacy.dds" } widget = { parentanchor = center size = { 28 28 } icon_flat_standard_red = { size = { 100% 100% } visible = "[LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAverageVassalLegitimacyExpectation.GetIndex )]" texture = "[LegitimacyType.GetFlatIcon]" } icon_flat_standard = { size = { 100% 100% } visible = "[Not(LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAverageVassalLegitimacyExpectation.GetIndex ))]" texture = "[LegitimacyType.GetFlatIcon]" } } } } blockoverride "visible_active" { visible = "[EqualTo_int32( LegitimacyLevel.GetIndex, PdxGuiWidget.GetIndexInDataModel )]" } blockoverride "visible_inactive" { visible = "[NotEqualTo_int32( LegitimacyLevel.GetIndex, PdxGuiWidget.GetIndexInDataModel )]" } blockoverride "marker_tooltip" { datacontext_from_model = { datamodel = "[LegitimacyType.GetLevels]" index = "[PdxGuiWidget.GetIndexInDataModel]" } tooltip = "LEGITIMACY_TRACK_TOOLTIP" using = tooltip_se } blockoverride "marker_text" { text = "[PdxGuiWidget.GetIndexInDataModel|V]" } } } } } spacer = { size = { 0 15 } } hbox = { layoutpolicy_horizontal = expanding vbox = { visible = "[Character.HasVassals]" spacing = 10 layoutpolicy_horizontal = expanding cooltip_paragraph = { text = "LEGITIMACY_AVERAGE_EXPECTATIONS" visible = "[Not(Character.GetGovernment.HasRule( 'deny_powerful_vassal' ))]" } cooltip_paragraph = { text = "LEGITIMACY_AVERAGE_EXPECTATIONS_NO_POWERFUL_VASSALS" visible = "[Character.GetGovernment.HasRule( 'deny_powerful_vassal' )]" } cooltip_paragraph = { visible = "[And( LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAveragePowerfulVassalLegitimacyExpectation.GetIndex ), Not( Character.GetGovernment.HasRule( 'deny_powerful_vassal' ) ) ) ]" text = "LEGITIMACY_BELOW_AVERAGE_EXPECTATIONS" } cooltip_paragraph = { visible = "[And( LessThan_int32( LegitimacyLevel.GetIndex, Character.GetAverageVassalLegitimacyExpectation.GetIndex ), Character.GetGovernment.HasRule( 'deny_powerful_vassal' ) ) ]" text = "LEGITIMACY_BELOW_AVERAGE_EXPECTATIONS" } } expand = { layoutpolicy_horizontal = expanding } } } } } type hbox_merit_with_label = hbox { visible = "[Character.ShouldShowMerit]" spacing = 4 margin = { 4 0 } block "hbox_merit_with_label_background" { background = { using = Background_Area margin = { 4 4 } } } widget_merit = { blockoverride "merit_widget_tooltip" { # use our own hitbox for the tooltip } } text_single = { name = "rank_number" visible = "[GreaterThanOrEqualTo_int32( Character.GetMeritLevel, '(int32)1' )]" text = "[GetMeritLevelShortNameNoTooltip( MeritItem.GetCurrentLevel )|V]" align = nobaseline } text_single = { name = "no_rank" visible = "[LessThanOrEqualTo_int32( Character.GetMeritLevel, '(int32)0' )]" text = "[GetMeritLevelShortNameNoTooltip( MeritItem.GetCurrentLevel )]" default_format = "#weak" max_width = 50 align = nobaseline } tooltipwidget = { merit_hud_tooltip = { block "merit_tooltip" {} } } } type widget_merit = widget { visible = "[Character.ShouldShowMerit]" block "icon_size" { size = { 32 32 } } using = tooltip_ne block "merit_widget_tooltip" { tooltipwidget = { merit_hud_tooltip = { block "merit_tooltip" {} } } } block "background_texture" { icon = { texture = "gfx/interface/icons/activity_phases/button_activity_base.dds" size = { 100% 100% } } } icon = { name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } } icon = { parentanchor = center size = { 66% 66% } texture = "[Character.GetMeritLevelTexture]" frame = "[IntToFrameIndex( Character.GetMeritLevel )]" modify_texture = { name = "lvl_increase" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } modify_texture = { name = "lvl_decrease" texture = "gfx/interface/colors/red.dds" blend_mode = colordodge alpha = 0 } state = { name = "merit_level_increase" next = "merit_level_increase_2" modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "merit_level_increase_2" next = "merit_level_increase_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_increase" alpha = 0.7 } } state = { name = "merit_level_increase_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "merit_level_decrease" next = "merit_level_decrease_2" modify_texture = { name = "lvl_decrease" alpha = 0 } } state = { name = "merit_level_decrease_2" next = "merit_level_decrease_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_decrease" alpha = 0.7 } } state = { name = "merit_level_decrease_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_decrease" alpha = 0 } } } widget = { size = { 87% 87% } parentanchor = center progresspie = { name = "progress" size = { 100% 100% } texture = "gfx/interface/progressbars/action_progress_thin_blue.dds" framesize = { 128 128 } frame = 2 min = 0 max = 100 value = "[MeritItem.GetProgress]" } icon = { name = "progress_capped" visible = "[And(Character.IsMeritCapped, Not( EqualTo_int32( Character.GetMeritLevel, '(int32)9' ) ) )]" size = { 100% 100% } texture = "gfx/interface/progressbars/action_progress_thin_red.dds" framesize = { 128 128 } frame = 2 } } } type widget_merit_hud = widget { visible = "[And(Character.ShouldShowMerit, Character.IsAlive)]" size = { 74 94 } using = tooltip_ne block "merit_widget_tooltip" { tooltipwidget = { merit_hud_tooltip = { block "merit_tooltip" {} } } } # WIDGET BACKGROUND TEXTURE icon = { texture = "gfx/interface/hud/tgp_widget_merit_background.dds" size = { 100% 100% } } # MERIT ICON icon = { parentanchor = top|hcenter position = { 0 17 } size = { 40 40 } texture = "[Character.GetMeritLevelTexture]" frame = "[IntToFrameIndex( Character.GetMeritLevel )]" modify_texture = { name = "lvl_increase" texture = "gfx/interface/colors/gold.dds" blend_mode = colordodge alpha = 0 } modify_texture = { name = "lvl_decrease" texture = "gfx/interface/colors/red.dds" blend_mode = colordodge alpha = 0 } state = { name = "merit_level_increase" next = "merit_level_increase_2" modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "merit_level_increase_2" next = "merit_level_increase_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_increase" alpha = 0.7 } } state = { name = "merit_level_increase_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_increase" alpha = 0 } } state = { name = "merit_level_decrease" next = "merit_level_decrease_2" modify_texture = { name = "lvl_decrease" alpha = 0 } } state = { name = "merit_level_decrease_2" next = "merit_level_decrease_3" duration = 0.4 bezier = { 0.5 0 1 0.5 } modify_texture = { name = "lvl_decrease" alpha = 0.7 } } state = { name = "merit_level_decrease_3" duration = 0.5 bezier = { 0 0.5 0.5 1 } modify_texture = { name = "lvl_decrease" alpha = 0 } } } # PROGRESS BAR widget = { parentanchor = top|hcenter position = { 0 9 } size = { 56 56 } progresspie = { name = "progress" size = { 100% 100% } texture = "gfx/interface/progressbars/action_progress_thin_blue.dds" framesize = { 128 128 } frame = 2 min = 0 max = 100 value = "[MeritItem.GetProgress]" } icon = { name = "progress_capped" visible = "[And(Character.IsMeritCapped, Not( EqualTo_int32( Character.GetMeritLevel, '(int32)9' ) ) )]" size = { 100% 100% } framesize = { 128 128 } texture = "gfx/interface/progressbars/action_progress_thin_red.dds" frame = 2 } } # RANK text_single = { visible = "[GreaterThan_int32( Character.GetMeritLevel, '(int32)0' )]" parentanchor = bottom|hcenter position = { 0 -6 } text = "[GetMeritLevelShortNameNoTooltip( MeritItem.GetCurrentLevel )|V]" align = nobaseline using = Font_Size_Small } # IF YOU HAVE NO RANK text_single = { visible = "[EqualTo_int32( Character.GetMeritLevel, '(int32)0' )]" parentanchor = bottom|hcenter position = { 0 -5 } raw_text = "-" align = nobaseline using = Font_Size_Small } } type hbox_merit_complex_bar_progress = hbox { allow_outside = yes hbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding layoutstretchfactor_horizontal = "[MeritItem.GetMeritStretchFactor]" allow_outside = yes block "filled" { background = { spriteType = Corneredstretched spriteborder = { 3 3 } block "texture_merit" { texture = "gfx/interface/progressbars/progress_standard.dds" } } } } hbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding layoutstretchfactor_horizontal = "[MeritItem.GetOverflowMeritStretchFactor]" visible = "[GreaterThan_int32( MeritItem.GetOverflowMeritStretchFactor, '(int32)0' )]" allow_outside = yes tooltip = "MERIT_RANK_CAP_TT" block "next" { background = { spriteType = Corneredstretched spriteborder = { 3 3 } block "texture_overflow_merit" { texture = "gfx/interface/progressbars/progress_red.dds" } } } } hbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding layoutstretchfactor_horizontal = "[MeritItem.GetLeftoverSpaceStretchFactor]" allow_outside = yes block "empty" { background = { spriteType = Corneredstretched spriteborder = { 3 3 } block "texture_empty" { texture = "gfx/interface/progressbars/progress_black.dds" } } } } } type merit_hud_tooltip = object_tooltip_pop_out { datacontext = "[MeritItem.GetValueItem]" datacontext = "[MeritItem.GetComplexBar]" visible = "[Character.HasMerit]" blockoverride "title_text" { text = "[GetMeritModifierByLevel( Character.GetMeritLevel ).GetName]" default_format = "#T" } blockoverride "concept_link" { text = "[merit_level|E]" } blockoverride "subheading" { text_single = { max_width = 400 layoutpolicy_horizontal = expanding text = "[Character.GetCareerPathDesc]" fonttintcolor = "[TooltipInfo.GetTintColor]" using = Font_Size_Small fontsize_min = 14 autoresize = yes default_format = "#weak_glow" } } blockoverride "header_additions" { widget = { size = { 60 74 } icon = { size = { 64 64 } parentanchor = center position = { -8 0 } texture = "[Character.GetMeritLevelTexture]" frame = "[IntToFrameIndex( Character.GetMeritLevel )]" } } } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding margin_right = 5 spacing = 16 ### MERIT EFFECTS vbox = { layoutpolicy_horizontal = expanding ### modifier effects cooltip_paragraph = { visible = "[Not( StringIsEmpty( GetMeritLevelEffects( Character.GetMeritLevel ) ) )]" max_width = 500 text = "[GetMeritLevelEffects( Character.GetMeritLevel )]" } ### Merit affecting Movement Power cooltip_paragraph = { visible = "[Character.ShouldShowMovementPower]" max_width = 500 text = "MERIT_MOVEMENT_POWER" } ### Merit enabling appointment cooltip_paragraph = { max_width = 500 name = "merit_appointment" layoutpolicy_horizontal = expanding text = "[GetMaxAppointmentRankDescription( 'merit', Character.GetMeritLevel )]" } } text_label_left = { layoutpolicy_horizontal = expanding text = "MERIT_PROGRESS_HEADING" } ### MERIT COMPLEX PROGRESS BAR widget = { layoutpolicy_horizontal = expanding size = { 500 50 } hbox_merit_complex_bar_progress = { layoutpolicy_horizontal = expanding margin_top = 30 margin_right = 16 margin_left = 5 } hbox_complex_bar_levels = { layoutpolicy_horizontal = expanding position = { 0 -10 } margin_right = 16 blockoverride "marker" { widget_level_marker = { visible = "[And( GreaterThan_int32( ComplexBarItem.GetIndex, '(int32)0' ), LessThan_int32( PdxGuiWidget.GetIndexInDataModel, GetDataModelSize( ComplexBar.GetItems ) ) )]" scale = 0.75 blockoverride "marker_size" { size = { 55 55 } } blockoverride "marker_size_inactive" { size = { 45 45 } } blockoverride "marker_addon" { icon = { texture = "gfx/interface/colors/white.dds" using = Mask_Rough_Edges position = { -4 42 } size = { 8 23 } alpha = 0.3 visible = "[GreaterThan_int32( PdxGuiWidget.GetIndexInDataModel, '(int32)0' )]" } widget = { size = { 52 52 } position = { -26 24 } visible = "[EqualTo_int32( Add_int32( Character.GetMaxMeritLevelForCharacter, '(int32)1' ), PdxGuiWidget.GetIndexInDataModel )]" tooltip = "MERIT_RANK_CAP_TT" icon = { size = { 100% 100% } texture = "gfx/interface/window_legend_chronicle/pin_under_expected_legitimacy.dds" } icon_flat_standard_red = { parentanchor = center size = { 26 26 } texture = "gfx/interface/icons/domicile_building/domicile_lock_wagons.dds" } } } blockoverride "visible_active" { visible = "[EqualTo_int32( MeritItem.GetCurrentLevel, ComplexBarItem.GetIndex )]" } blockoverride "level_inactive_style" { datacontext = "[ComplexBarItem]" allow_outside = yes datacontext_from_model = { datamodel = "[MeritItem.GetLevels]" index = "[PdxGuiWidget.GetIndexInDataModel]" } modify_texture = { visible = "[GreaterThan_int32( ComplexBarItem.GetIndex, PlayerValueItem.GetMaxLevelIndex( Character.Self ) )]" texture = "gfx/interface/colors/black.dds" blend_mode = multiply alpha = 0.1 } } blockoverride "visible_inactive" { visible = "[NotEqualTo_int32( MeritItem.GetCurrentLevel, ComplexBarItem.GetIndex )]" } blockoverride "marker_tooltip" { datacontext = "[ComplexBarItem]" datacontext_from_model = { datamodel = "[MeritItem.GetLevels]" index = "[PdxGuiWidget.GetIndexInDataModel]" } tooltip = "MERIT_PROGRESSBAR_MARKER_TOOLTIP" using = tooltip_se } blockoverride "marker_text" { text = "[GetMeritLevelShortNameNoTooltip( ComplexBarItem.GetIndex )]" } } } } } vbox = { layoutpolicy_horizontal = expanding hbox = { layoutpolicy_horizontal = expanding ### MERIT TOTAL text_single = { layoutpolicy_horizontal = expanding text = "[Character.GetTotalMerit]" align = nobaseline } ### MERIT CAP text_single = { visible = "[PlayerValueItem.HasNonStandardLevel( Character.Self )]" layoutpolicy_horizontal = expanding text = "[PlayerValueItem.GetMaxLevel( Character.Self )]" align = right|nobaseline default_format = "#underline" tooltip = "MAX_MERIT_RANK_BREAKDOWN_TOOLTIP" } } hbox = { layoutpolicy_horizontal = expanding ### MERIT BREAKDOWN WITH TOOLTIP text_single = { datacontext = "[PlayerValueItem.GetBalanceGained]" text = "[Character.GetMeritBalanceBreakdown]" align = nobaseline tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { widget_value_breakdown_tooltip = { } } } expand = {} } } ### MERIT EXAMINATIONS vbox = { layoutpolicy_horizontal = expanding spacing = 5 text_label_left = { layoutpolicy_horizontal = expanding text = "MERIT_TOOLTIP_COMPLETED_EXAMINATIONS" } hbox = { datacontext = "[Character.MakeScope]" spacing = 50 widget_childrens_exam_status = {} widget_provincial_exam_status = {} widget_metropolitan_exam_status = {} widget_palace_exam_status = {} } text_single = { layoutpolicy_horizontal = expanding text = "MERIT_TOOLTIP_EXAMINATION_DISCLAIMER" default_format = "#weak" } } } } } type passed_examination_icon = icon_flat_standard_green { size = { 30 30 } texture = "gfx/interface/icons/flat_icons/passed_examination_icon.dds" background = { using = Background_Area_Solid block "background_margins" { margin = { -1 -1 } } } } type failed_examination_icon = icon_flat_standard_red { size = { 30 30 } texture = "gfx/interface/icons/flat_icons/failed_examination_icon.dds" background = { using = Background_Area_Solid margin = { -1 -1 } } } type herd_breakdown_hud_toolip = container { using = GeneralTooltipSetup alwaystransparent = no object_tooltip_pop_out = { blockoverride "title_text" { margin = { 0 8 } text = "DOMICILE_HERD_TITLE" default_format = "#T" block "herd_limit_breakdown" { datacontext = "[InGameTopbar.GetHerdLimitBreakdown( Domicile.Self )]" } tooltipwidget = { widget_value_breakdown_tooltip = {} } } blockoverride "concept_link" { visible = no } blockoverride "main_description" { vbox = { layoutpolicy_horizontal = expanding cooltip_paragraph = { visible = "[Domicile.IsAboveHerdLimit]" text = "[Domicile.GetAboveHerdLimitEffects]" } spacer = { visible = "[Domicile.IsAboveHerdLimit]" size = { 0 15 } } cooltip_paragraph = { block "herd_change_breakdown" { datacontext = "[InGameTopbar.GetHerdChangeBreakdown]" } text = "VALUE_BREAKDOWN_TEXT_LINK" tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { widget_value_breakdown_tooltip = {} } } cooltip_paragraph = { block "herd_conversion_breakdown" { datacontext = "[InGameTopbar.GetHerdConversionBreakdown( Domicile.Self )]" } text = "VALUE_BREAKDOWN_TEXT_LINK" tooltip_visible = "[ValueBreakdown.HasTooltip]" tooltipwidget = { widget_value_breakdown_tooltip = {} } } spacer = { size = { 0 15 } } cooltip_paragraph = { visible = "[Character.HasRaisedHorde]" text = "DOMICILE_HERD_ALREADY_RAISED" } cooltip_paragraph = { visible = "[Not( Character.HasRaisedHorde )]" text = "DOMICILE_HERD_HERD_TO_RAISE" } } } } } }