N3OW/common/scripted_triggers/00_court_position_triggers.txt

1682 lines
53 KiB
Text

# Grants a random unfilled court position based on skills and traits using CANDIDATE - ROOT is ruler
any_court_position_available_trigger = {
OR = {
NOT = { employs_court_position = royal_architect_court_position }
NOT = { employs_court_position = seneschal_court_position }
NOT = { employs_court_position = court_tutor_court_position }
NOT = { employs_court_position = high_almoner_court_position }
NOT = { employs_court_position = court_physician_court_position }
NOT = { employs_court_position = antiquarian_court_position }
NOT = { employs_court_position = master_of_horse_court_position }
AND = {
$CANDIDATE$ = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = ROOT }
}
NOT = { employs_court_position = bodyguard_court_position }
}
AND = {
$CANDIDATE$ = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = ROOT }
}
NOT = { employs_court_position = champion_court_position }
}
NOT = { employs_court_position = master_of_hunt_court_position }
NOT = { employs_court_position = court_poet_court_position }
NOT = { employs_court_position = court_musician_court_position }
NOT = { employs_court_position = cupbearer_court_position }
AND = {
is_female = yes
$CANDIDATE$ = { is_female = yes }
NOT = { employs_court_position = lady_in_waiting_court_position }
}
AND = {
culture = { has_cultural_parameter = can_appoint_chief_eunuch }
$CANDIDATE$ = { is_eunuch_trigger = yes }
NOT = { employs_court_position = chief_eunuch_court_position }
}
AND = {
culture = { has_cultural_parameter = can_appoint_court_gardener }
NOT = { employs_court_position = court_gardener_court_position }
}
AND = {
$CANDIDATE$ = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = ROOT }
}
NOT = { employs_court_position = akolouthos_court_position }
}
AND = {
government_has_flag = government_is_nomadic
OR = {
has_religion = religion:tengrism_religion
culture = { has_cultural_pillar = heritage_mongolic }
culture = { has_cultural_pillar = heritage_turkic }
}
NOT = { employs_court_position = court_astrologer_court_position }
}
AND = {
government_has_flag = government_is_nomadic
NOT = { employs_court_position = boyan_court_position }
}
AND = {
has_trait = military_engineer
NOT = { employs_court_position = siege_engineer_court_position }
}
AND = {
government_has_flag = government_is_nomadic
NOT = { employs_court_position = yurtchi_court_position }
}
AND = {
government_has_flag = government_is_nomadic
NOT = { employs_court_position = cherbi_court_position }
}
AND = {
government_has_flag = government_is_nomadic
NOT = { employs_court_position = yeke_jarquchi_court_position }
}
AND = {
NOT = { root.culture = $CANDIDATE$.culture }
NOT = { employs_court_position = foreign_emissary_court_position }
}
AND = {
government_has_flag = government_is_nomadic
NOT = { employs_court_position = keeper_of_the_horses_court_position }
}
}
}
# Used in the trigger for court positions to make sure that they don't already have a "job"
# If a court position is considered a full time job, the character cannot hold another similar position
court_position_does_not_already_have_a_job_trigger = {
custom_tooltip = {
text = does_not_have_a_full_time_job
NOR = {
has_court_position = court_tutor_court_position
has_court_position = food_taster_court_position
has_court_position = seneschal_court_position
has_court_position = cupbearer_court_position
has_court_position = antiquarian_court_position
has_court_position = lady_in_waiting_court_position
has_court_position = court_jester_court_position
has_court_position = court_poet_court_position
has_court_position = court_musician_court_position
has_court_position = bodyguard_court_position
has_court_position = executioner_court_position
has_court_position = court_gardener_court_position
has_court_position = travel_leader_court_position
has_court_position = wet_nurse_court_position
has_court_position = akolouthos_court_position
is_councillor = yes
}
}
}
# IMPORTANT: This should be used before most instances of appoint_court_position - CU
# Checks that you can employ a specific character to a specific court position at a given moment. This prevents errors from randomly trying to already hire the holder of that court position in some cases.
# Trigger should be used in the scope of the hiring liege
# $COURT_POS$ is the position to which you want to appoint a character
# $CHAR$ is the character you wish to appoint
can_appoint_char_to_court_position = {
save_temporary_scope_as = hiring_liege
can_employ_court_position_type = $COURT_POS$
$CHAR$ = {
NOT = { this = scope:hiring_liege }
NOT = { has_court_position = $COURT_POS$ }
can_be_employed_as = $COURT_POS$
}
}
can_appoint_char_to_any_court_position = {
OR = {
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_physician_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = cultural_emissary_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = keeper_of_swans_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = chief_qadi_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = garuda_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_gardener_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = lady_in_waiting_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = antiquarian_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = travel_leader_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = wet_nurse_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_tutor_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = food_taster_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = master_of_horse_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = master_of_hunt_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = royal_architect_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = high_almoner_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = seneschal_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = cupbearer_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = chief_eunuch_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_jester_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_poet_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_musician_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = bodyguard_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = champion_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = executioner_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_artificer_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = master_assassin_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = cave_hermit_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = chronicler_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_scholar_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = charioteer_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = bookmaker_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = akolouthos_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_brewmaster_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = court_astrologer_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = boyan_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = siege_engineer_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = yurtchi_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = cherbi_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = yeke_jarquchi_court_position }
can_appoint_char_to_court_position = { CHAR = $CHAR$ COURT_POS = keeper_of_the_horses_court_position }
}
}
has_diplomacy_court_position = {
OR = {
has_court_position = court_poet_court_position
has_court_position = court_musician_court_position
has_court_position = court_jester_court_position
has_court_position = cupbearer_court_position
has_court_position = lady_in_waiting_court_position
has_court_position = chronicler_court_position
has_court_position = yeke_jarquchi_court_position
has_court_position = foreign_emissary_court_position
}
}
has_martial_court_position = {
OR = {
has_court_position = master_of_horse_court_position
has_court_position = bodyguard_court_position
has_court_position = champion_court_position
has_court_position = master_of_hunt_court_position
has_court_position = akolouthos_court_position
has_court_position = boyan_court_position
has_court_position = siege_engineer_court_position
has_court_position = cherbi_court_position
has_court_position = keeper_of_the_horses_court_position
}
}
has_stewardship_court_position = {
OR = {
has_court_position = royal_architect_court_position
has_court_position = seneschal_court_position
has_court_position = keeper_of_swans_court_position
has_court_position = court_gardener_court_position
has_court_position = yurtchi_court_position
}
}
has_intrigue_court_position = {
OR = {
has_court_position = food_taster_court_position
has_court_position = chief_eunuch_court_position
has_court_position = master_assassin_court_position
}
}
has_learning_court_position = {
OR = {
has_court_position = court_tutor_court_position
has_court_position = high_almoner_court_position
has_court_position = court_physician_court_position
has_court_position = antiquarian_court_position
has_court_position = cave_hermit_court_position
has_court_position = court_scholar_court_position
has_court_position = court_brewmaster_court_position
has_court_position = court_astrologer_court_position
}
}
court_position_stewardship_trigger = { # Is courtier suited to stewardship positions?
OR = {
has_education_stewardship_trigger = yes
has_trait = diligent
stewardship >= medium_skill_rating
}
}
court_position_martial_trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
OR = {
number_of_commander_traits > 0
has_trait = brave
prowess >= mediocre_skill_rating
has_trait = viking
has_trait = varangian
has_trait = berserker
has_trait = shieldmaiden
has_trait = lifestyle_blademaster
has_trait = education_martial_prowess
}
}
court_position_learning_trigger = { # Is courtier suited to learning positions?
OR = {
has_education_learning_trigger = yes
has_trait = devoted
}
}
base_court_position_validity_trigger = { # would_be_valid_for_court_position ultimately traces back to this, so touch with caution
is_imprisoned = no
NOT = { is_at_war_with = $EMPLOYER$ }
}
royal_architect_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
seneschal_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
stewardship >= 12
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = seneschal_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_tutor_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
learning >= 12
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_tutor_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
high_almoner_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
learning >= 12
}
}
court_physician_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
}
antiquarian_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
learning >= 12
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = antiquarian_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
master_of_horse_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
bodyguard_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
NOR = {
has_trait = blind
has_trait = infirm
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = bodyguard_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
champion_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
NOR = {
has_trait = blind
has_trait = infirm
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
}
master_of_hunt_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
NOR = {
has_trait = blind
has_trait = infirm
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
}
court_poet_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_poet_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_musician_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
diplomacy >= 12
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_musician_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_jester_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_jester_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
executioner_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_adult = yes
is_landed = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
OR = {
custom_tooltip = {
text = has_imprisonment_reason_no_subject
$EMPLOYER$ = { has_imprisonment_reason = prev }
}
custom_tooltip = {
text = is_imprisoned_court_position_executioner
trigger_if = { # Imprisoned characters should only be valid if they aren't already the executioner
limit = {
is_imprisoned = yes
NOT = { has_court_position = executioner_court_position }
}
is_imprisoned_by = $EMPLOYER$
}
}
custom_tooltip = {
text = has_strong_hook_no_subject
$EMPLOYER$ = { has_strong_usable_hook = prev }
}
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = executioner_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
food_taster_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
custom_tooltip = {
text = faith_allows_recruitment_court_position
trigger_if = {
limit = {
scope:liege.faith = {
NOT = { has_doctrine = doctrine_clerical_function_recruitment }
}
}
is_clergy = no
}
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = food_taster_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
cupbearer_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = cupbearer_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
lady_in_waiting_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
is_female = yes
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = lady_in_waiting_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
chief_eunuch_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
is_eunuch_trigger = yes
}
court_gardener_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
stewardship >= 12
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_gardener_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_artificer_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
OR = {
custom_tooltip = {
text = has_a_completed_inspiration
has_completed_inspiration = yes
}
custom_tooltip = {
text = has_an_inspiration
exists = inspiration
}
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_artificer_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
cultural_emissary_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
diplomacy >= 8
}
chief_qadi_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
has_religion = religion:islam_religion
has_trait = education_learning
custom_tooltip = {
text = MATCHING_FAITH_DOCTRINE_GENDER
trigger_if = {
limit = { $EMPLOYER$.faith = { has_doctrine = doctrine_gender_male_dominated } }
is_male = yes
}
trigger_if = {
limit = { $EMPLOYER$.faith = { has_doctrine = doctrine_gender_female_dominated } }
is_female = yes
}
trigger_else = { always = yes }
}
}
garuda_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_knight = yes
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
}
keeper_of_swans_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
travel_leader_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
is_clergy = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = IS_NOT_APPLICABLE_DIARCH_COURT_POSITION
trigger_if = {
limit = { bannable_serving_diarch_trigger = yes }
bannable_serving_diarch_trigger = no
}
}
custom_tooltip = {
text = IS_NOT_GONE_ADVENTURING
trigger_if = {
limit = { has_variable = gone_adventuring }
NOT = { has_variable = gone_adventuring }
}
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = travel_leader_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
wet_nurse_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_playable_character = no
is_female = yes
custom_tooltip = {
text = wet_nurse_age_tt
age < 46
}
custom_tooltip = {
text = NONE_IS_NOT_CLOSE_FAMILY_OF_CHARACTER_COURT_POSITION
NOT = { is_close_family_of = $EMPLOYER$ }
}
custom_tooltip = {
text = none_has_no_particular_noble_roots_trigger
has_no_particular_noble_roots_trigger = yes
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = wet_nurse_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
# Nuns cannot be wet nurses
NOT = { has_trait = devoted }
}
cave_hermit_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_playable_character = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 50
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = cave_hermit_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
master_assassin_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_playable_character = no # You can't be a public figure and a master assassin
custom_tooltip = {
text = none_has_no_particular_noble_roots_trigger
has_no_particular_noble_roots_trigger = yes
}
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
custom_tooltip = {
text = faith_allows_master_assassin
faith = {
has_doctrine = tenet_fp3_fedayeen
NOR = {
has_doctrine = tenet_pacifism
has_doctrine = tenet_dharmic_pacifism
}
}
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = master_assassin_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_scholar_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_adult = yes
is_landed = no #A requirement for inspirations
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_scholar_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
chronicler_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
OR = {
is_landed = no
diplomacy >= 12
}
}
akolouthos_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ } # check culture of warrior not liege
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
OR = {
culture = {
OR = {
custom_tooltip = {
text = court_position_fp1_coastal_warriors
has_cultural_tradition = tradition_fp1_coastal_warriors
}
custom_tooltip = {
text = court_position_hird
has_cultural_tradition = tradition_hird
}
custom_tooltip = {
text = court_position_fp1_performative_honour
has_cultural_tradition = tradition_fp1_performative_honour
}
custom_tooltip = {
text = court_position_north_germanic
has_cultural_pillar = heritage_north_germanic
}
custom_tooltip = {
text = court_position_west_germanic
has_cultural_pillar = heritage_west_germanic
}
}
}
AND = {
has_trait = loyal
culture = {
NOR = {
custom_tooltip = {
text = court_position_not_same_culture_heritage
has_same_culture_heritage = $EMPLOYER$.culture
}
custom_tooltip = {
text = court_position_not_same_culture_language
has_same_culture_language = $EMPLOYER$.culture
}
}
}
}
}
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = akolouthos_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
court_brewmaster_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
drinks_alcohol_trigger = yes
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = court_brewmaster_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
OR = {
learning >= 12
has_trait = lifestyle_reveler
has_trait = diligent
has_trait = patient
}
}
court_astrologer_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
OR = {
has_religion = religion:tengrism_religion
custom_tooltip = {
text = court_position_mongolic
culture = { has_cultural_pillar = heritage_mongolic }
}
custom_tooltip = {
text = court_position_turkic
culture = { has_cultural_pillar = heritage_turkic }
}
has_trait = nomadic_philosophy
has_trait = lifestyle_mystic
$EMPLOYER$.domicile.domicile_culture ?= culture
}
custom_tooltip = {
text = court_position_not_kurultai
is_councillor = no
}
}
boyan_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
custom_tooltip = {
text = court_position_nomadic
government_has_flag = government_is_nomadic
}
custom_tooltip = {
text = boyan_validity_trigger_tt
trigger_if = {
limit = {
NOT = {
has_court_position = boyan_court_position
}
}
martial >= 12
}
}
}
siege_engineer_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
has_trait = military_engineer
}
yurtchi_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = court_position_nomadic
government_has_flag = government_is_nomadic
}
custom_tooltip = {
text = yurtchi_validity_trigger_tt
trigger_if = {
limit = {
NOT = {
has_court_position = yurtchi_court_position
}
}
stewardship >= 12
}
}
}
cherbi_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = court_position_nomadic
government_has_flag = government_is_nomadic
}
custom_tooltip = {
text = cherbi_validity_trigger_tt
trigger_if = {
limit = {
NOT = {
has_court_position = cherbi_court_position
}
}
prowess >= 12
}
}
}
yeke_jarquchi_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = court_position_nomadic
government_has_flag = government_is_nomadic
}
custom_tooltip = {
text = yeke_jarquchi_validity_trigger_tt
trigger_if = {
limit = {
NOT = {
has_court_position = yeke_jarquchi_court_position
}
}
diplomacy >= 12
}
}
}
foreign_emissary_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = court_position_different_culture
NOT = { culture = $EMPLOYER$.culture }
}
}
keeper_of_the_horses_validity_trigger = {
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
is_landed = no
custom_tooltip = {
text = court_position_nomadic
government_has_flag = government_is_nomadic
}
custom_tooltip = {
text = keeper_of_the_horses_validity_trigger_tt
trigger_if = {
limit = {
NOT = {
has_court_position = keeper_of_the_horses_court_position
}
}
prowess >= 12
}
}
}
court_position_generator_pickable_trigger = {
$EMPLOYER$ = {
OR = {
can_employ_court_position_type = $POS$_court_position
employs_court_position = $POS$_court_position
}
}
NOT = { has_court_position = $POS$_court_position }
trigger_if = {
limit = { liege ?= $EMPLOYER$ }
can_be_employed_as = $POS$_court_position
}
trigger_else = {
$POS$_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
trigger_if = {
limit = { exists = var:target_court_position }
NOT = { var:target_court_position = flag:$POS$ }
}
trigger_if = {
limit = { exists = var:second_court_position }
NOT = { var:second_court_position = flag:$POS$ }
}
trigger_if = {
limit = { exists = scope:eunuch }
NOT = {
$EMPLOYER$ = {
any_court_position_holder = {
type = $POS$_court_position
is_close_family_of = scope:eunuch
}
}
}
}
}
camp_officer_generator_pickable_trigger = {
$EMPLOYER$ = {
OR = {
can_employ_court_position_type = $POS$_camp_officer
employs_court_position = $POS$_camp_officer
}
}
NOT = { has_court_position = $POS$_camp_officer }
would_be_valid_for_court_position = {
court_position = $POS$_camp_officer
employer = $EMPLOYER$
}
trigger_if = {
limit = { exists = var:target_court_position }
NOT = { var:target_court_position = flag:$POS$ }
}
trigger_if = {
limit = { exists = var:second_court_position }
NOT = { var:second_court_position = flag:$POS$ }
}
}
# Set to 0 with Dynasty Perk Inner Circle
court_position_inner_circle_salary_trigger = {
trigger_if = {
limit = { exists = scope:liege }
scope:liege ?= {
dynasty ?= { has_dynasty_perk = fp2_coterie_legacy_1 }
employs_court_position = $POS$_court_position
any_court_position_holder = {
type = $POS$_court_position
house ?= scope:liege.house
}
}
}
trigger_else = { always = no }
}
# Halved via obligation hook
court_position_obligation_hook_salary_trigger = {
trigger_if = {
limit = { exists = $LIEGE$ }
$LIEGE$ = {
employs_court_position = $POS$_court_position
any_court_position_holder = {
type = $POS$_court_position
$LIEGE$ = {
OR = {
has_hook_of_type = {
type = obligation_hook
target = prev
}
has_hook_of_type = {
type = strong_obligation_hook
target = prev
}
}
}
}
}
}
trigger_else = { always = no }
}
can_be_employed_as_any_court_position_trigger = {
OR = {
can_be_employed_as = court_poet_court_position
can_be_employed_as = court_musician_court_position
can_be_employed_as = court_jester_court_position
can_be_employed_as = cupbearer_court_position
can_be_employed_as = lady_in_waiting_court_position
can_be_employed_as = chronicler_court_position
can_be_employed_as = master_of_horse_court_position
can_be_employed_as = bodyguard_court_position
can_be_employed_as = champion_court_position
can_be_employed_as = master_of_hunt_court_position
can_be_employed_as = akolouthos_court_position
can_be_employed_as = royal_architect_court_position
can_be_employed_as = seneschal_court_position
can_be_employed_as = keeper_of_swans_court_position
can_be_employed_as = court_gardener_court_position
can_be_employed_as = food_taster_court_position
can_be_employed_as = chief_eunuch_court_position
can_be_employed_as = master_assassin_court_position
can_be_employed_as = court_tutor_court_position
can_be_employed_as = high_almoner_court_position
can_be_employed_as = court_physician_court_position
can_be_employed_as = antiquarian_court_position
can_be_employed_as = cave_hermit_court_position
can_be_employed_as = court_scholar_court_position
can_be_employed_as = court_brewmaster_court_position
can_be_employed_as = court_astrologer_court_position
can_be_employed_as = boyan_court_position
can_be_employed_as = siege_engineer_court_position
can_be_employed_as = yurtchi_court_position
can_be_employed_as = cherbi_court_position
can_be_employed_as = yeke_jarquchi_court_position
can_be_employed_as = foreign_emissary_court_position
can_be_employed_as = keeper_of_the_horses_court_position
}
}
court_position_petition_ai_weight_trigger = {
scope:employee.var:petition_court_position_liege ?= scope:liege
scope:employee.var:petition_court_position_role ?= flag:$ROLE$
}
# Salary halved
court_position_halved_salary_trigger = {
trigger_if = {
limit = { exists = scope:liege }
scope:liege = {
employs_court_position = $POS$_court_position
any_court_position_holder = {
type = $POS$_court_position
scope:liege = {
is_target_in_variable_list = {
name = halved_position_salary_employees
target = prev
}
}
}
}
}
trigger_else = { always = no }
}
# Salary increased
court_position_increased_salary_trigger = {
trigger_if = {
limit = { exists = scope:liege }
scope:liege = {
employs_court_position = $POS$_court_position
any_court_position_holder = {
type = $POS$_court_position
scope:liege = {
is_target_in_variable_list = {
name = increased_position_salary_employees
target = prev
}
}
}
}
}
trigger_else = { always = no }
}
# canp officers valid character triggers
valid_camp_officer_trigger = {
scope:employee = {
$OFFICER$_validity_trigger = { EMPLOYER = scope:liege }
}
}
second_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = second_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
quartermaster_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = quartermaster_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
stewardship >= decent_skill_rating
# Personality.
has_trait = greedy
has_trait = gluttonous
has_trait = diligent
# Misc.
has_trait = logistician
has_trait = organizer
}
}
armorer_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = armorer_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
stewardship >= decent_skill_rating
# Personality.
has_trait = wrathful
has_trait = gregarious
has_trait = humble
has_trait = diligent
}
}
chief_forager_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = chief_forager_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
learning >= decent_skill_rating
# Personality.
has_trait = humble
has_trait = eccentric
has_trait = deceitful
has_trait = diligent
# Misc.
has_trait = lifestyle_mystic
has_trait = lifestyle_gardener
has_trait = lifestyle_herbalist
has_trait = lifestyle_physician
has_trait = scholar
has_trait = witch
}
}
master_thief_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = master_thief_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
intrigue >= decent_skill_rating
# Personality.
has_trait = craven
has_trait = deceitful
has_trait = arbitrary
has_trait = diligent
}
}
head_porter_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = head_porter_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
martial >= decent_skill_rating
# Personality.
has_trait = humble
has_trait = content
has_trait = diligent
# Misc.
has_trait = athletic
}
}
head_groom_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = head_groom_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
stewardship >= decent_skill_rating
# Personality.
has_trait = patient
has_trait = calm
has_trait = diligent
}
}
huntperson_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = huntperson_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
prowess >= decent_skill_rating
# Personality.
has_trait = patient
has_trait = callous
has_trait = brave
has_trait = diligent
# Misc.
has_trait = lifestyle_hunter
has_trait = athletic
}
}
kennelperson_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = kennelperson_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
martial >= decent_skill_rating
# Personality.
has_trait = gregarious
has_trait = stubborn
has_trait = diligent
}
}
chief_engineer_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = chief_engineer_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
learning >= decent_skill_rating
# Personality.
has_trait = patient
has_trait = stubborn
has_trait = eccentric
has_trait = diligent
# Misc.
has_trait = military_engineer
has_trait = logistician
}
}
witness_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = witness_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
diplomacy >= decent_skill_rating
# Personality.
has_trait = honest
has_trait = just
has_trait = brave
}
}
person_haggler_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = person_haggler_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
diplomacy >= decent_skill_rating
# Personality.
has_trait = callous
has_trait = sadistic
has_trait = greedy
has_trait = diligent
}
}
camp_cook_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = camp_cook_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
intrigue >= decent_skill_rating
# Personality.
has_trait = gluttonous
has_trait = humble
has_trait = diligent
}
}
master_bard_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = master_bard_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
diplomacy >= decent_skill_rating
# Personality.
has_trait = gregarious
has_trait = arrogant
has_trait = deceitful
has_trait = diligent
# Misc.
has_trait = poet
has_trait = drunkard
}
}
stooge_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = stooge_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
master_of_arms_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = master_of_arms_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
martial >= decent_skill_rating
# Personality.
has_trait = brave
has_trait = stubborn
has_trait = callous
has_trait = diligent
# Misc.
has_trait = aggressive_attacker
has_trait = unyielding_defender
has_trait = organizer
}
}
light_cavalry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = light_cavalry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
camelry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = camelry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
elephantry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = elephantry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
heavy_cavalry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = heavy_cavalry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
horse_archer_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = horse_archer_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
archer_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = archer_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
heavy_infantry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = heavy_infantry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
light_infantry_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = light_infantry_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
pike_captain_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = pike_captain_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
}
master_of_spoils_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = master_of_spoils_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
stewardship >= decent_skill_rating
# Personality.
has_trait = greedy
has_trait = stubborn
has_trait = just
has_trait = diligent
}
}
laureate_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = laureate_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
# Qualifications.
OR = {
# Skill.
diplomacy >= decent_skill_rating
# Personality.
has_trait = gregarious
has_trait = arrogant
has_trait = fickle
# Misc.
has_trait = poet
has_trait = lifestyle_reveler
}
}
camp_priest_validity_trigger = {
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = camp_priest_camp_officer } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
base_court_position_validity_trigger = { EMPLOYER = $EMPLOYER$ }
#have to be the same faith
faith = scope:liege.faith
# Qualifications.
OR = {
# Skill.
learning >= decent_skill_rating
# Personality.
has_trait = zealous
has_trait = gregarious
has_trait = compassionate
has_trait = diligent
# Misc.
has_trait = pilgrim
has_trait = holy_warrior
has_trait = faith_warrior
}
}
charioteer_validity_trigger = {
is_imprisoned = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $EMPLOYER$ }
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = charioteer_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
bookmaker_validity_trigger = {
is_imprisoned = no
custom_tooltip = {
text = NONE_NOT_THE_SPOUSE_OF_CHARACTER_COURT_POSITION
NOT = { is_spouse_of = $EMPLOYER$ }
}
stewardship >= 8
custom_tooltip = {
text = none_does_not_have_a_full_time_job
trigger_if = {
limit = { NOT = { has_court_position = bookmaker_court_position } }
court_position_does_not_already_have_a_job_trigger = yes # This positions is considered a job, and cannot be held at the same time as another similar position
}
}
}
### Court Position Task Triggers ###
wet_nurse_instill_virtue_trigger = {
NOT = { has_trait = $TRAIT$ }
scope:notification_character.faith = { trait_is_virtue = $TRAIT$ }
}