1682 lines
53 KiB
Text
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$ }
|
|
}
|