#Court Maintenance events of various persuasions namespace = court_maintenance #Children should acquire personality trait events court_maintenance.0003 = { hidden = yes trigger = { OR = { is_adult = no any_courtier_or_guest = { is_adult = no } any_prisoner = { is_adult = no } } } immediate = { if = { limit = { is_adult = no OR = { age = 9 age = 11 age = 13 age >= 14 #Backup in case something has gone wrong } number_of_personality_traits < childhood_personality_trait_gain_limit } if = { limit = { age = 9 has_variable = reincarnation_of can_become_reincarnation_trigger = yes } trigger_event = child_personality.9900 } else = { trigger_event = { on_action = child_personality_gain days = { 1 360 } } } } every_courtier_or_guest = { limit = { is_adult = no OR = { age = 9 age = 11 age = 13 age >= 14 #Backup in case something has gone wrong } number_of_personality_traits < childhood_personality_trait_gain_limit } trigger_event = { on_action = child_personality_gain days = { 1 360 } } } #Small random chance to acquire a fourth personality trait every_courtier_or_guest = { limit = { is_adult = no number_of_personality_traits = childhood_personality_trait_gain_limit number_of_personality_traits < personality_trait_limit } random = { chance = childhood_fourth_personality_trait_chance trigger_event = { on_action = child_personality_gain days = { 1 360 } } } } every_prisoner = { limit = { is_adult = no OR = { age = 9 age = 11 age = 13 age >= 14 #Backup in case something has gone wrong } number_of_personality_traits < childhood_personality_trait_gain_limit } trigger_event = { on_action = child_personality_gain days = { 1 360 } } } #Small random chance to acquire a fourth personality trait every_prisoner = { limit = { is_adult = no number_of_personality_traits = childhood_personality_trait_gain_limit number_of_personality_traits < personality_trait_limit } random = { chance = childhood_fourth_personality_trait_chance trigger_event = { on_action = child_personality_gain days = { 1 360 } } } } } } court_maintenance.0005 = { hidden = yes trigger = { scope:new_employer = { government_has_flag = government_is_holy_order } } immediate = { add_trait = order_member } } #Absent from your court court_maintenance.0010 = { theme = crown override_background = { reference = council_chamber } type = character_event title = court_maintenance.0010.t left_portrait = { character = scope:messenger animation = worry } cooldown = { years = 5 } trigger = { always = no # Disabled for now has_royal_court = yes has_dlc_feature = royal_court is_ai = no is_available_adult = yes is_at_war = no } desc = { desc = court_maintenance.0010.desc first_valid = { triggered_desc = { trigger = { exists = scope:great_cgv_court } desc = court_maintenance.0010.desc.seeking_gainful_employment } desc = court_maintenance.0010.desc.general_ending } } immediate = { ordered_independent_ruler = { order_by = court_grandeur_current limit = { faith.religion = root.faith.religion in_diplomatic_range = root this != root } alternative_limit = { this != root in_diplomatic_range = root } alternative_limit = { this != root } save_scope_as = great_cgv_court } random_courtier = { limit = { has_any_court_position = yes } alternative_limit = { is_available_adult = yes } save_scope_as = messenger } } option = { name = court_maintenance.0010.a #Open Royal Court custom_tooltip = court_maintenance.0010.a.tooltip open_view_data = { view = royal_court player = root } } option = { name = { text = court_maintenance.0010.b.paranoid trigger = { has_trait = paranoid } } name = { text = court_maintenance.0010.b.depressed trigger = { has_trait = depressed } } name = { text = court_maintenance.0010.b.brave trigger = { has_trait = brave } } name = { text = court_maintenance.0010.b trigger = { always = yes } } change_current_court_grandeur = miniscule_court_grandeur_loss if = { limit = { exists = scope:great_cgv_court } custom_tooltip = court_maintenance.0010.b.tooltip } hidden_effect = { if = { limit = { exists = scope:great_cgv_court } random_courtier = { limit = { has_any_court_position = no is_physically_able_ai_adult = yes is_councillor = no NOT = { is_vassal_of = root } NOT = { is_close_family_of = ROOT } } set_employer = scope:great_cgv_court return_to_court = yes } } } } } #Gained a Royal Court court_maintenance.0011 = { theme = new_royal_court type = character_event title = { first_valid = { triggered_desc = { trigger = { tgp_is_ceremonial_regent_trigger = yes } # Not 'actual' ruler desc = court_maintenance.0011.t.regent } desc = court_maintenance.0011.t } } window = visit_settlement_window desc = { first_valid = { triggered_desc = { trigger = { tgp_is_ceremonial_regent_trigger = yes } # Not 'actual' ruler desc = court_maintenance.0011.desc.regent } triggered_desc = { trigger = { coronation_trigger = yes } desc = court_maintenance.0011.desc.ach } desc = court_maintenance.0011.desc } } left_portrait = { character = root animation = war_over_win } right_portrait = { character = scope:messenger animation = ecstasy } artifact = { # To display the dynasty banner in the event-window target = scope:dynasty_banner position = lower_center_portrait } artifact = { # To display the house banner in the event-window target = scope:house_banner position = lower_right_portrait } trigger = { is_ai = no is_landed = yes has_dlc_feature = royal_court # To avoid farming and duplication OR = { # No owned house banner NOT = { any_character_artifact = { has_variable = banner_house var:banner_house = root.house } } AND = { # Is Dynasty Head OR = { this = dynasty.dynast # Dynasty Head any_parent = { # Parent landless employer = prev dynasty = prev.dynasty this = dynasty.dynast } } # Dynasty banner does not exist NOT = { any_character_artifact = { has_variable = banner_dynasty var:banner_dynasty = root.dynasty } } } } } immediate = { tgp_save_realm_ceremonial_liege_effect = yes if = { limit = { coronation_trigger = yes NOT = { has_game_rule = coronation_laws_off } } coronation_reset_realm_law_effect = yes #we need to reset the crown laws immediately, not wait for the next tick set_variable = coronation_discount custom_tooltip = court_maintenance.0011.coronation_discount # Coronations law show_as_tooltip = { add_realm_law = uncrowned } # Artifact for Coronations setup create_proper_coronation_artifact_setup = yes } if = { limit = { exists = cp:councillor_chancellor } cp:councillor_chancellor = { save_scope_as = messenger } } else_if = { limit = { any_councillor = { is_kurultai_trigger = yes } } random_councillor = { limit = { is_kurultai_trigger = yes } save_scope_as = messenger } } else = { random_vassal = { save_scope_as = messenger } } #House banner if = { limit = { tgp_is_ceremonial_regent_trigger = no NOT = { any_character_artifact = { has_variable = banner_house var:banner_house = root.house } } } set_variable = banner_from_house create_artifact_wall_banner_effect = { OWNER = root CREATOR = scope:messenger TARGET = root.house } if = { # For artifact portraits limit = { exists = scope:newly_created_artifact } scope:newly_created_artifact = { save_scope_as = house_banner } } } #Dynasty banner if = { limit = { tgp_is_ceremonial_regent_trigger = no OR = { this = dynasty.dynast # Dynasty Head any_parent = { # Parent landless employer = root dynasty = root.dynasty this = dynasty.dynast } } NOT = { any_character_artifact = { has_variable = banner_dynasty var:banner_dynasty = root.dynasty } } } set_variable = banner_from_dynasty create_artifact_wall_banner_effect = { OWNER = root CREATOR = scope:messenger TARGET = root.dynasty } if = { # For artifact portraits limit = { exists = scope:newly_created_artifact } scope:newly_created_artifact = { save_scope_as = dynasty_banner } } } #Both if = { limit = { exists = scope:house_banner exists = scope:dynasty_banner } custom_tooltip = court_maintenance.0011.banner_tooltip } #House else_if = { limit = { exists = scope:house_banner } custom_tooltip = court_maintenance.0011.banner_house_tooltip } #Dynasty else = { custom_tooltip = court_maintenance.0011.banner_dynasty_tooltip } # Add extra legitimacy, for the first time they gain the Kingdom title add_legitimacy_effect = { LEGITIMACY = major_legitimacy_gain } } option = { name = court_maintenance.0011.coronation custom_tooltip = court_maintenance.0011.coronation.tooltip trigger = { coronation_trigger = yes NOR = { has_character_flag = had_coronation_prompt has_game_rule = coronation_laws_off tgp_is_ceremonial_regent_trigger = yes } } if = { #ai should always go straight for it if they can limit = { is_ai = yes can_host_activity = activity_coronation } ai_attempt_to_host_activity = activity_coronation } else_if = { #if you already have a crown, a window opened for you sire limit = { coronation_has_proper_artifact_trigger = yes is_ai = no } open_view_data = { view = activity_list_detail_host_window data = activity_type:activity_coronation player = root } } else = { #Else we start creating a crown create_proper_coronation_artifact_creation = yes } custom_tooltip = court_maintenance.0011.b.tooltip ai_chance = { #AI should always start hosting coronations base = 100 } } option = { name = { text = court_maintenance.0011.a trigger = { tgp_is_ceremonial_regent_trigger = no } # Not 'actual' ruler } name = { text = court_maintenance.0011.a.regent trigger = { tgp_is_ceremonial_regent_trigger = yes } # Not 'actual' ruler } #Open Royal Court custom_tooltip = court_maintenance.0011.a.tooltip if = { limit = { coronation_trigger = yes tgp_is_ceremonial_regent_trigger = no # Not 'actual' ruler NOR = { has_character_flag = had_coronation_prompt has_game_rule = coronation_laws_off government_has_flag = government_is_mandala } } custom_tooltip = court_maintenance.0011.b.tooltip.ach } open_view_data = { view = royal_court player = root } } option = { name = court_maintenance.0011.b custom_tooltip = court_maintenance.0011.b.tooltip if = { limit = { coronation_trigger = yes tgp_is_ceremonial_regent_trigger = no # Not 'actual' ruler NOR = { has_character_flag = had_coronation_prompt has_game_rule = coronation_laws_off government_has_flag = government_is_mandala } } custom_tooltip = court_maintenance.0011.b.tooltip.ach } } after = { add_character_flag = had_coronation_prompt if = { limit = { has_tgp_dlc_trigger = yes government_allows = merit NOT = { has_government = celestial_government } #Created from cycle } create_artifact_dynastic_imperial_seal_effect = { OWNER = root SMITH = root } } } } #Dynasty Banner improves scripted_trigger dynasty_banner_improve_rarity_trigger = { trigger_if = { limit = { root.dynasty.dynasty_prestige_level = max_dynasty_prestige_level } NOT = { rarity = illustrious } } trigger_else_if = { limit = { root.dynasty.dynasty_prestige_level >= high_dynasty_prestige_level } NOR = { rarity = famed rarity = illustrious } } trigger_else = { root.dynasty.dynasty_prestige_level >= medium_dynasty_prestige_level NOR = { rarity = masterwork rarity = famed rarity = illustrious } } } scripted_effect dynasty_banner_improve_rarity_effect = { if = { limit = { scope:target.dynasty_prestige_level = max_dynasty_prestige_level } set_artifact_rarity = illustrious } else_if = { limit = { scope:target.dynasty_prestige_level >= high_dynasty_prestige_level } set_artifact_rarity = famed } else = { set_artifact_rarity = masterwork } hidden_effect = { set_artifact_description = artifact_wall_banner_dynasty_description clear_artifact_modifiers = yes add_scaled_artifact_modifier_grandeur_small_effect = yes add_scaled_artifact_modifier_dynasty_prestige_effect = yes add_scaled_artifact_modifier_prestige_effect = yes add_scaled_artifact_modifier_rulership_effect = yes } } court_maintenance.0012 = { theme = new_royal_court type = character_event title = court_maintenance.0012.t desc = { desc = court_maintenance.0012.desc first_valid = { triggered_desc = { trigger = { scope:target.dynasty_prestige_level = max_dynasty_prestige_level } desc = court_maintenance.0012.desc_illustrious } triggered_desc = { trigger = { scope:target.dynasty_prestige_level >= high_dynasty_prestige_level } desc = court_maintenance.0012.desc_masterwork } desc = court_maintenance.0012.desc_famed } } left_portrait = { character = root animation = personality_honorable } artifact = { # To display the artifact in the event-window target = scope:banner_scope position = lower_right_portrait } trigger = { any_character_artifact = { trigger_if = { # To stop errors limit = { exists = var:banner_dynasty } # is a dynasty banner var:banner_dynasty = root.dynasty # of my dynasty dynasty_banner_improve_rarity_trigger = yes # and should be a higher level } trigger_else = { always = no } } } immediate = { dynasty = { save_scope_as = target } # for banner desc # save relevant banners (all just in case) every_character_artifact = { limit = { has_variable = banner_dynasty var:banner_dynasty = root.dynasty dynasty_banner_improve_rarity_trigger = yes } add_to_list = dynasty_banner_list } random_in_list = { list = dynasty_banner_list limit = { is_equipped = yes } alternative_limit = { always = yes } save_scope_as = banner_scope save_scope_as = newly_created_artifact } every_in_list = { list = dynasty_banner_list dynasty_banner_improve_rarity_effect = yes } } option = { name = court_maintenance.0012.a } } court_maintenance.0013 = { theme = new_royal_court type = character_event title = court_maintenance.0013.t desc = { desc = court_maintenance.0013.desc first_valid = { triggered_desc = { trigger = { exists = scope:banner_scope.var:banner_commissioner scope:banner_scope.var:banner_commissioner != root } desc = court_maintenance.0013.desc_creator } desc = court_maintenance.0013.desc_fallback } } left_portrait = { character = root animation = personality_honorable } artifact = { # To display the artifact in the event-window target = scope:banner_scope position = lower_right_portrait } trigger = { any_character_artifact = { # Has more than one dynasty banner of own dynasty count > 1 trigger_if = { # To stop errors limit = { exists = var:banner_dynasty } var:banner_dynasty = root.dynasty } trigger_else = { always = no } } } immediate = { every_character_artifact = { # Fetch all dynasty banners limit = { has_variable = banner_dynasty var:banner_dynasty = root.dynasty } add_to_list = dynasty_banner_list } ordered_in_list = { # Save oldest dynasty banner list = dynasty_banner_list order_by = artifact_age save_scope_as = banner_scope } every_in_list = { # Destroy all but oldest dynasty banner list = dynasty_banner_list limit = { this != scope:banner_scope } destroy_artifact = this } } option = { name = court_maintenance.0013.a custom_tooltip = court_maintenance.0013.tt } }