701 lines
16 KiB
Text
701 lines
16 KiB
Text
#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 = {
|
|
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 = {
|
|
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
|
|
|
|
}
|
|
}
|