1787 lines
47 KiB
Text
1787 lines
47 KiB
Text
ep3_should_use_byzantine_graphics_trigger = {
|
|
OR = {
|
|
culture = { has_building_gfx = byzantine_building_gfx }
|
|
culture = { has_building_gfx = caucasian_building_gfx }
|
|
}
|
|
}
|
|
|
|
is_roman_emperor_trigger = {
|
|
OR = {
|
|
has_title = title:e_byzantium
|
|
has_title = title:h_roman_empire
|
|
has_title = title:h_eastern_roman_empire
|
|
}
|
|
}
|
|
|
|
is_roman_emperor_excluding_byzantium_trigger = {
|
|
OR = {
|
|
has_title = title:h_roman_empire
|
|
has_title = title:h_eastern_roman_empire
|
|
}
|
|
}
|
|
|
|
is_roman_emperor_primary_title_trigger = {
|
|
OR = {
|
|
primary_title ?= title:e_byzantium
|
|
primary_title ?= title:h_roman_empire
|
|
primary_title ?= title:h_eastern_roman_empire
|
|
}
|
|
}
|
|
|
|
is_roman_emperor_primary_title_excluding_byzantium_trigger = {
|
|
OR = {
|
|
primary_title ?= title:h_roman_empire
|
|
primary_title ?= title:h_eastern_roman_empire
|
|
}
|
|
}
|
|
|
|
valid_for_byz_emperor_content_trigger = {
|
|
has_ep3_dlc_trigger = yes
|
|
culture = {
|
|
OR = {
|
|
has_cultural_pillar = heritage_byzantine
|
|
has_cultural_pillar = heritage_caucasian
|
|
}
|
|
}
|
|
OR = {
|
|
is_roman_emperor_primary_title_trigger = yes
|
|
AND = {
|
|
culture = {
|
|
OR = {
|
|
this = culture:greek
|
|
any_parent_culture_or_above = { this = culture:greek }
|
|
}
|
|
}
|
|
highest_held_title_tier >= tier_empire
|
|
}
|
|
}
|
|
}
|
|
|
|
valid_for_byz_governor_content_trigger = {
|
|
has_ep3_dlc_trigger = yes
|
|
is_governor = yes
|
|
top_liege.culture = {
|
|
OR = {
|
|
has_cultural_pillar = heritage_byzantine
|
|
has_cultural_pillar = heritage_caucasian
|
|
}
|
|
}
|
|
top_liege = {
|
|
OR = {
|
|
is_roman_emperor_primary_title_trigger = yes
|
|
AND = {
|
|
culture = {
|
|
OR = {
|
|
this = culture:greek
|
|
any_parent_culture_or_above = { this = culture:greek }
|
|
}
|
|
}
|
|
highest_held_title_tier >= tier_empire
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
valid_for_byz_succession_trigger = {
|
|
is_eunuch_trigger = no
|
|
NOR = {
|
|
has_trait = incapable
|
|
has_trait = blind
|
|
has_trait = disfigured
|
|
has_trait = maimed
|
|
has_trait = one_eyed
|
|
has_trait = one_legged
|
|
has_trait = clubfooted
|
|
has_trait = hunchbacked
|
|
has_trait = dwarf
|
|
}
|
|
}
|
|
|
|
has_any_charioteer_trait = {
|
|
OR = {
|
|
has_trait = charioteer_blue
|
|
has_trait = charioteer_green
|
|
has_trait = charioteer_white
|
|
has_trait = charioteer_red
|
|
}
|
|
}
|
|
|
|
available_charioteers_spots_trigger = {
|
|
scope:activity = {
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
has_trait = charioteer_$TEAM$
|
|
count < scope:activity.var:num_$TEAM$s
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_varangian_trigger = {
|
|
OR = {
|
|
culture = {
|
|
OR = {
|
|
has_cultural_tradition = tradition_fp1_coastal_warriors
|
|
has_cultural_tradition = tradition_hird
|
|
has_cultural_tradition = tradition_fp1_performative_honour
|
|
has_cultural_pillar = heritage_north_germanic
|
|
has_cultural_pillar = heritage_west_germanic
|
|
}
|
|
}
|
|
has_trait = varangian
|
|
}
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
|
is_physically_able_adult = yes
|
|
}
|
|
|
|
is_competing_for_same_title_as = {
|
|
government_allows = administrative
|
|
any_heir_title = {
|
|
exists = this
|
|
is_noble_family_title = no
|
|
save_temporary_scope_as = temp_title
|
|
}
|
|
$CHARACTER$ = {
|
|
government_allows = administrative
|
|
}
|
|
scope:temp_title = {
|
|
any_title_heir = {
|
|
this = $CHARACTER$
|
|
}
|
|
}
|
|
}
|
|
|
|
is_winning_competing_for_same_title_as = {
|
|
$CHARACTER$ = { save_temporary_scope_as = target_char }
|
|
is_competing_for_same_title_as = { CHARACTER = $CHARACTER$ }
|
|
save_temporary_scope_as = root_scope
|
|
any_heir_title = {
|
|
exists = this
|
|
is_noble_family_title = no
|
|
save_temporary_scope_as = temp_title
|
|
}
|
|
scope:temp_title = {
|
|
"place_in_line_of_succession(scope:root_scope)" > "place_in_line_of_succession(scope:target_char)"
|
|
}
|
|
}
|
|
|
|
restore_greece_decision_county_trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
holder.top_liege = root
|
|
has_county_modifier = backwater_county_modifier
|
|
}
|
|
development_level >= 50
|
|
}
|
|
}
|
|
|
|
any_valid_title_to_grant_trigger = {
|
|
# IMPORTANT!
|
|
# The is_valid_showing_failures_only of support_candidacy_interaction doesn't use this
|
|
# It uses a cloned version that has been optimized for AI usage
|
|
# Please update that one too if you're updating this one
|
|
$CANDIDATE$ ?= {
|
|
is_clergy = no
|
|
save_temporary_scope_as = candidate_temp
|
|
custom_tooltip = {
|
|
text = support_candidacy_can_appoint_for_title_tt
|
|
$TOP_LIEGE$.primary_title = {
|
|
any_in_de_jure_hierarchy = {
|
|
continue = {
|
|
tier > tier_duchy
|
|
}
|
|
save_temporary_scope_as = title_temp
|
|
scope:candidate_temp = { can_appoint_for_title = scope:title_temp }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
any_valid_candidacy_trigger = {
|
|
$CANDIDATE$ = {
|
|
custom_tooltip = {
|
|
text = any_valid_candidacy_tt
|
|
trigger_if = {
|
|
limit = {
|
|
$TOP_LIEGE$ = {
|
|
OR = {
|
|
has_realm_law_flag = appointment_type_succession
|
|
primary_title = {
|
|
has_title_law_flag = appointment_type_succession
|
|
}
|
|
}
|
|
}
|
|
appointment_candidate_score = {
|
|
target = $TOP_LIEGE$.primary_title
|
|
value > 0
|
|
}
|
|
}
|
|
always = yes
|
|
}
|
|
trigger_else = {
|
|
$TOP_LIEGE$.primary_title ?= {
|
|
any_in_de_jure_hierarchy = {
|
|
exists = holder
|
|
tier >= tier_duchy
|
|
OR = {
|
|
has_title_law_flag = appointment_type_succession
|
|
holder = {
|
|
has_realm_law_flag = appointment_type_succession
|
|
}
|
|
}
|
|
save_temporary_scope_as = title_temp
|
|
trigger_if = {
|
|
limit = { exists = scope:title_temp }
|
|
$CANDIDATE$ = {
|
|
appointment_candidate_score = {
|
|
target = scope:title_temp
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
is_candidate_for_title_trigger = {
|
|
$CANDIDATE$ = {
|
|
custom_tooltip = {
|
|
text = is_candidate_for_title_tt
|
|
$TITLE$ = {
|
|
OR = {
|
|
has_title_law = acclamation_succession_law
|
|
has_title_law = appointment_succession_law
|
|
holder ?= {
|
|
OR = {
|
|
has_realm_law = acclamation_succession_law
|
|
has_realm_law = appointment_succession_law
|
|
}
|
|
}
|
|
}
|
|
holder = {
|
|
NOT = { this = $CANDIDATE$ }
|
|
}
|
|
}
|
|
appointment_candidate_score = {
|
|
target = $TITLE$
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
valid_governor_contract_trigger = {
|
|
OR = {
|
|
government_allows = administrative
|
|
AND = {
|
|
government_has_flag = government_is_landless_minority
|
|
exists = liege
|
|
liege = {
|
|
government_allows = administrative
|
|
}
|
|
}
|
|
}
|
|
|
|
is_available_quick = {
|
|
adult = yes
|
|
alive = yes
|
|
incapable = no
|
|
}
|
|
}
|
|
|
|
valid_governor_contract_basic_trigger = {
|
|
task_contract_taker = {
|
|
#you have to be a governor
|
|
OR = {
|
|
trigger_if = {
|
|
limit = {
|
|
government_has_flag = government_is_celestial
|
|
}
|
|
is_governor_or_admin_count = yes
|
|
}
|
|
trigger_else = {
|
|
is_governor = yes
|
|
}
|
|
#and the location has to be in your realm
|
|
custom_tooltip = {
|
|
text = task_contract_location_not_in_realm
|
|
any_sub_realm_county = {
|
|
any_county_province = {
|
|
this = root.task_contract_location
|
|
}
|
|
}
|
|
}
|
|
AND = {
|
|
government_has_flag = government_is_landless_minority
|
|
exists = liege
|
|
liege = {
|
|
government_allows = administrative
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
governor_contract_invalidated_message_trigger = {
|
|
task_contract_employer ?= {
|
|
NOT = { root.task_contract_taker ?= this }
|
|
OR = {
|
|
is_incapable = yes
|
|
is_imprisoned = yes
|
|
is_alive = no
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
### CHARIOT RACE TRIGGERS
|
|
##################################################
|
|
|
|
chariot_race_0201_sitting_in_kathisma_trigger = {
|
|
OR = {
|
|
AND = {
|
|
exists = scope:activity.special_guest:chariot_race_honorary_guest
|
|
this = scope:activity.special_guest:chariot_race_honorary_guest
|
|
}
|
|
is_close_family_of = scope:host
|
|
is_consort_of = scope:host
|
|
}
|
|
}
|
|
|
|
chariot_race_0201_negative_crowd_reaction_trigger = {
|
|
OR = {
|
|
scope:activity.var:emperor_speech_topic = flag:increase_legitimacy_fail
|
|
scope:activity.var:emperor_speech_topic = flag:discredit_claimant_fail
|
|
AND = {
|
|
scope:host.capital_county = {
|
|
county_opinion <= -30
|
|
}
|
|
NOT = { scope:activity.var:emperor_speech_topic = flag:appease_populace }
|
|
}
|
|
AND = {
|
|
scope:host = {
|
|
legitimacy_level < 2
|
|
}
|
|
NOR = {
|
|
scope:activity.var:emperor_speech_topic = flag:increase_legitimacy_success
|
|
scope:activity.var:emperor_speech_topic = flag:appease_populace
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
cares_about_charioteer_trigger = {
|
|
OR = {
|
|
$CHARIOTEER$ = {
|
|
trigger_if = {
|
|
limit = { has_court_position = charioteer_court_position }
|
|
is_court_position_employer = {
|
|
court_position = charioteer_court_position
|
|
who = prev
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
is_close_family_of = $CHARIOTEER$
|
|
trigger_if = {
|
|
limit = { has_variable = wager_target }
|
|
OR = {
|
|
var:wager_target = $CHARIOTEER$
|
|
trigger_if = {
|
|
limit = { var:wager_target = root }
|
|
trigger_if = {
|
|
limit = { $CHARIOTEER$ = { has_trait = charioteer_blue } }
|
|
var:wager_team = flag:blues
|
|
}
|
|
trigger_if = {
|
|
limit = { $CHARIOTEER$ = { has_trait = charioteer_green } }
|
|
var:wager_team = flag:greens
|
|
}
|
|
trigger_if = {
|
|
limit = { $CHARIOTEER$ = { has_trait = charioteer_white } }
|
|
var:wager_team = flag:whites
|
|
}
|
|
trigger_if = {
|
|
limit = { $CHARIOTEER$ = { has_trait = charioteer_red } }
|
|
var:wager_team = flag:reds
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
}
|
|
|
|
supports_chariot_team_trigger = {
|
|
trigger_if = {
|
|
limit = { $TEAM$ = flag:blues }
|
|
OR = {
|
|
AND = {
|
|
has_variable = wager_team
|
|
var:wager_team = flag:blues
|
|
}
|
|
AND = {
|
|
employs_court_position = charioteer_court_position
|
|
court_position:charioteer_court_position = { has_trait = charioteer_blue }
|
|
}
|
|
}
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $TEAM$ = flag:greens }
|
|
OR = {
|
|
AND = {
|
|
has_variable = wager_team
|
|
var:wager_team = flag:greens
|
|
}
|
|
AND = {
|
|
employs_court_position = charioteer_court_position
|
|
court_position:charioteer_court_position = { has_trait = charioteer_green }
|
|
}
|
|
}
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $TEAM$ = flag:whites }
|
|
OR = {
|
|
AND = {
|
|
has_variable = wager_team
|
|
var:wager_team = flag:whites
|
|
}
|
|
AND = {
|
|
employs_court_position = charioteer_court_position
|
|
court_position:charioteer_court_position = { has_trait = charioteer_white }
|
|
}
|
|
}
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $TEAM$ = flag:reds }
|
|
OR = {
|
|
AND = {
|
|
has_variable = wager_team
|
|
var:wager_team = flag:reds
|
|
}
|
|
AND = {
|
|
employs_court_position = charioteer_court_position
|
|
court_position:charioteer_court_position = { has_trait = charioteer_red }
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
always = no
|
|
}
|
|
}
|
|
|
|
has_same_chariot_team_as = {
|
|
trigger_if = {
|
|
limit = { has_trait = charioteer_blue }
|
|
$TARGET$ = { has_trait = charioteer_blue }
|
|
}
|
|
trigger_else_if = {
|
|
limit = { has_trait = charioteer_green }
|
|
$TARGET$ = { has_trait = charioteer_green }
|
|
}
|
|
trigger_else_if = {
|
|
limit = { has_trait = charioteer_white }
|
|
$TARGET$ = { has_trait = charioteer_white }
|
|
}
|
|
trigger_else_if = {
|
|
limit = { has_trait = charioteer_red }
|
|
$TARGET$ = { has_trait = charioteer_red }
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
|
|
chariot_racer_valid_trigger = {
|
|
save_temporary_scope_as = chariot_racer
|
|
is_alive = yes
|
|
exists = var:current_place_in_race
|
|
is_in_guest_subset = { name = charioteers }
|
|
}
|
|
|
|
chariot_race_anyone_ahead_of_racer_trigger = {
|
|
scope:activity ?= {
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
chariot_racer_valid_trigger = yes
|
|
NOT = { this = $RACER$ }
|
|
var:current_place_in_race < $RACER$.var:current_place_in_race
|
|
}
|
|
}
|
|
}
|
|
|
|
chariot_race_anyone_behind_racer_trigger = {
|
|
scope:activity ?= {
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
chariot_racer_valid_trigger = yes
|
|
NOT = { this = $RACER$ }
|
|
var:current_place_in_race > $RACER$.var:current_place_in_race
|
|
}
|
|
}
|
|
}
|
|
|
|
flag_matches_charioteer_team_trigger = {
|
|
trigger_if = {
|
|
limit = { $VAR$ = flag:blues }
|
|
has_trait = charioteer_blue
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $VAR$ = flag:greens }
|
|
has_trait = charioteer_green
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $VAR$ = flag:whites }
|
|
has_trait = charioteer_white
|
|
}
|
|
trigger_else_if = {
|
|
limit = { $VAR$ = flag:reds }
|
|
has_trait = charioteer_red
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
|
|
stands_to_win_chariot_wager_trigger = {
|
|
save_temporary_scope_as = gambler
|
|
exists = scope:activity
|
|
exists = var:wager_type
|
|
# Specific Charioteer
|
|
trigger_if = {
|
|
limit = {
|
|
exists = var:wager_target
|
|
NOT = { this = var:wager_target }
|
|
}
|
|
var:wager_target ?= {
|
|
chariot_racer_valid_trigger = yes
|
|
save_temporary_scope_as = wager_target_temp
|
|
}
|
|
OR = {
|
|
# All bets gain by first place
|
|
scope:wager_target_temp.var:current_place_in_race = 1
|
|
# Place & Show gain by second place
|
|
trigger_if = {
|
|
limit = {
|
|
OR = {
|
|
var:wager_type = flag:place
|
|
var:wager_type = flag:show
|
|
}
|
|
}
|
|
scope:wager_target_temp.var:current_place_in_race <= 2
|
|
}
|
|
trigger_else = { always = no }
|
|
# Show gains by third place
|
|
trigger_if = {
|
|
limit = { var:wager_type = flag:show }
|
|
scope:wager_target_temp.var:current_place_in_race <= 3
|
|
}
|
|
trigger_else = { always = no }
|
|
# Fallback no one is ahead of wager
|
|
NOT = {
|
|
chariot_race_anyone_ahead_of_racer_trigger = { RACER = scope:wager_target_temp }
|
|
}
|
|
}
|
|
}
|
|
# Team
|
|
trigger_else = {
|
|
scope:activity ?= {
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
chariot_racer_valid_trigger = yes
|
|
flag_matches_charioteer_team_trigger = { VAR = scope:gambler.var:wager_team }
|
|
}
|
|
OR = {
|
|
# All bets gain by first place
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
flag_matches_charioteer_team_trigger = { VAR = scope:gambler.var:wager_team }
|
|
var:current_place_in_race = 1
|
|
}
|
|
# Place & Show gain by second place
|
|
trigger_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:gambler.var:wager_type = flag:place
|
|
scope:gambler.var:wager_type = flag:show
|
|
}
|
|
}
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
flag_matches_charioteer_team_trigger = { VAR = scope:gambler.var:wager_team }
|
|
var:current_place_in_race <= 2
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
# Show gains by third place
|
|
trigger_if = {
|
|
limit = { scope:gambler.var:wager_type = flag:show }
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
flag_matches_charioteer_team_trigger = { VAR = scope:gambler.var:wager_team }
|
|
var:current_place_in_race <= 3
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
# Fallback no one is ahead of wager
|
|
AND = {
|
|
any_guest_subset = {
|
|
name = charioteers
|
|
flag_matches_charioteer_team_trigger = { VAR = scope:gambler.var:wager_team }
|
|
save_temporary_scope_as = racer
|
|
}
|
|
NOT = {
|
|
chariot_race_anyone_ahead_of_racer_trigger = { RACER = scope:racer }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
novice_charioteer_trigger = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = charioteer_blue
|
|
value < 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_green
|
|
value < 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_white
|
|
value < 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_red
|
|
value < 40
|
|
}
|
|
NOR = {
|
|
has_trait = charioteer_blue
|
|
has_trait = charioteer_green
|
|
has_trait = charioteer_white
|
|
has_trait = charioteer_red
|
|
}
|
|
}
|
|
}
|
|
|
|
middling_charioteer_trigger = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = charioteer_blue
|
|
value >= 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_green
|
|
value >= 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_white
|
|
value >= 40
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_red
|
|
value >= 40
|
|
}
|
|
}
|
|
}
|
|
|
|
experienced_charioteer_trigger = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = charioteer_blue
|
|
value >= 90
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_green
|
|
value >= 90
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_white
|
|
value >= 90
|
|
}
|
|
has_trait_xp = {
|
|
trait = charioteer_red
|
|
value >= 90
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_ideal_castration_candidate_trigger = {
|
|
is_available_quick = {
|
|
ai = yes
|
|
female = no
|
|
adult = yes
|
|
}
|
|
is_close_family_of = scope:actor
|
|
is_eunuch_trigger = no
|
|
is_available = yes
|
|
is_betrothed = no
|
|
age < 10
|
|
}
|
|
|
|
ep3_castration_male_family_trigger = {
|
|
any_close_family_member = {
|
|
count >= 2
|
|
is_male = yes
|
|
house ?= scope:actor.house
|
|
is_eunuch_trigger = no
|
|
NOR = {
|
|
has_trait = celibate
|
|
has_trait = devoted
|
|
has_trait = order_member
|
|
has_trait = bastard
|
|
}
|
|
OR = {
|
|
#Is an old adult with a kid
|
|
AND = {
|
|
age >= 40
|
|
any_child = {
|
|
is_male = yes
|
|
}
|
|
}
|
|
#Is a young adult or child
|
|
age < 40
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_castration_interest_trigger = {
|
|
OR = {
|
|
is_landless_ruler = yes
|
|
highest_held_title_tier <= tier_county
|
|
AND = {
|
|
is_landed = yes
|
|
highest_held_title_tier <= tier_duchy
|
|
influence_level <= 1
|
|
}
|
|
highest_held_title_tier >= tier_empire
|
|
}
|
|
}
|
|
|
|
ep3_ai_castration_target_trigger = {
|
|
age < 12
|
|
is_male = yes
|
|
OR = {
|
|
AND = {
|
|
exists = liege
|
|
liege.culture = { has_cultural_parameter = family_castration }
|
|
}
|
|
AND = {
|
|
NOT = { exists = liege }
|
|
culture = { has_cultural_parameter = family_castration }
|
|
}
|
|
}
|
|
is_available = yes
|
|
is_landed = no
|
|
is_betrothed = no
|
|
NOR = {
|
|
#Should not be close family of a player
|
|
any_close_family_member = {
|
|
is_ai = no
|
|
}
|
|
#Should not be close family of a character who can use the interaction
|
|
any_close_family_member = {
|
|
highest_held_title_tier >= tier_county
|
|
}
|
|
#Should not be the child of a playable title heir
|
|
any_parent = {
|
|
any_heir_title = {
|
|
tier >= tier_county
|
|
}
|
|
}
|
|
#Should not be the grandchild of a playable title heir, if their parent is the eldest son
|
|
any_parent = {
|
|
any_parent = {
|
|
highest_held_title_tier >= tier_county
|
|
}
|
|
any_sibling = {
|
|
count <= 0
|
|
is_male = yes
|
|
age > prev.age
|
|
house ?= prev.house
|
|
}
|
|
}
|
|
}
|
|
#Not already a eunuch
|
|
is_eunuch_trigger = no
|
|
NOR = {
|
|
#Doesn't have a positive trait being a eunuch would ruin
|
|
has_trait = physique_good_1
|
|
has_trait = physique_good_2
|
|
has_trait = physique_good_3
|
|
has_trait = fecund
|
|
has_trait = strong
|
|
has_trait = sayyid
|
|
has_trait = giant
|
|
}
|
|
OR = {
|
|
is_lowborn = yes
|
|
has_trait = bastard
|
|
#Sons of barons are valid if they have an elder male sibling
|
|
any_sibling = {
|
|
count >= 2
|
|
is_male = yes
|
|
age > prev.age
|
|
house ?= prev.house
|
|
}
|
|
}
|
|
}
|
|
|
|
valid_for_pagan_conversion_trigger = {
|
|
faith.religion = { is_in_family = rf_pagan }
|
|
faith = { has_doctrine_parameter = unreformed }
|
|
is_at_war = no
|
|
NOR = {
|
|
has_character_flag = do_not_disturb_preachers
|
|
primary_title = { has_variable = do_not_disturb_preachers }
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_valid_story_trigger = {
|
|
any_owned_story = {
|
|
type = story_cycle_admin_eunuch
|
|
save_temporary_scope_as = story_temp
|
|
var:eunuch ?= {
|
|
is_alive = yes
|
|
save_temporary_scope_as = eunuch_temp
|
|
}
|
|
story_owner = { save_temporary_scope_as = emperor_temp }
|
|
trigger_if = {
|
|
limit = { exists = var:protege }
|
|
var:protege = { save_temporary_scope_as = protege_temp }
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:student }
|
|
var:student = { save_temporary_scope_as = student_temp }
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:rival }
|
|
var:rival = { save_temporary_scope_as = rival_temp }
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:seducer }
|
|
var:seducer = { save_temporary_scope_as = seducer_temp }
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:spouse }
|
|
var:spouse = { save_temporary_scope_as = spouse_temp }
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:puppet }
|
|
var:puppet = { save_temporary_scope_as = puppet_temp }
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_involved_character = {
|
|
employer.top_liege = {
|
|
ep3_story_cycle_admin_eunuch_valid_story_trigger = yes
|
|
OR = {
|
|
scope:eunuch_temp ?= this
|
|
scope:protege_temp ?= this
|
|
scope:student_temp ?= this
|
|
scope:seducer_temp ?= this
|
|
scope:spouse_temp ?= this
|
|
scope:puppet_temp ?= this
|
|
}
|
|
}
|
|
}
|
|
|
|
is_appointment_valid_trigger = {
|
|
$TITLE$ = { save_temporary_scope_as = title_temp }
|
|
$CANDIDATE$ = { save_temporary_scope_as = candidate_temp }
|
|
$TOP_LIEGE$ = { save_temporary_scope_as = top_liege_temp }
|
|
custom_tooltip = { # Capital should be never a valid appointment (go for higher title instead
|
|
text = not_top_liege_capital_county_tt
|
|
NOT = { scope:title_temp ?= scope:candidate_temp.top_liege.capital_county }
|
|
}
|
|
scope:candidate_temp = {
|
|
trigger_if = {
|
|
limit = { exists = scope:title_temp }
|
|
custom_tooltip = { # Has relevant law
|
|
text = has_appointment_succession_tt
|
|
$TITLE$ = {
|
|
OR = {
|
|
has_title_law_flag = appointment_type_succession
|
|
holder ?= { has_realm_law_flag = appointment_type_succession }
|
|
}
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
NOT = { top_liege.highest_held_title_tier = scope:title_temp.tier }
|
|
}
|
|
is_adult = yes
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
any_held_title = { count >= 1 }
|
|
}
|
|
trigger_if = {
|
|
limit = { government_has_flag = government_is_celestial }
|
|
custom_tooltip = { # Only one province of highest rank
|
|
text = cannot_compete_for_lower_rank_titles_tt
|
|
NOT = {
|
|
any_held_title = {
|
|
tier > scope:title_temp.tier
|
|
is_landless_type_title = no
|
|
is_noble_family_title = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
custom_tooltip = { # Only one province of highest rank
|
|
text = only_one_province_of_highest_rank_tt
|
|
NOT = {
|
|
any_held_title = {
|
|
tier = scope:title_temp.tier
|
|
is_landless_type_title = no
|
|
is_noble_family_title = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = promote_candidate_interaction_existing_holder_tt
|
|
this != scope:title_temp.holder
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = can_be_appointed_interaction_tt
|
|
OR = {
|
|
can_be_granted_titles_by = { RULER = scope:top_liege_temp }
|
|
can_be_granted_theocratic_titles_by = { RULER = scope:top_liege_temp }
|
|
AND = {
|
|
is_diarch_of_target = scope:top_liege_temp
|
|
scope:top_liege_temp = { has_diarchy_active_parameter = diarchy_is_co_rulership }
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = { # Only administrative
|
|
text = only_administrative_tt
|
|
trigger_if = {
|
|
limit = { is_landed = yes }
|
|
government_allows = administrative
|
|
}
|
|
}
|
|
is_clergy = no
|
|
}
|
|
}
|
|
|
|
ep3_adventurer_ai_logic_valid_trigger = {
|
|
is_alive = yes
|
|
is_ai = yes
|
|
government_has_flag = government_is_landless_adventurer
|
|
domicile ?= { is_domicile_type = camp }
|
|
}
|
|
|
|
ep3_laamp_diplo_range_trigger = {
|
|
custom_description = {
|
|
text = ep3_laamp_diplo_range_trigger_tt
|
|
subject = scope:actor
|
|
object = scope:recipient
|
|
trigger_if = {
|
|
limit = { exists = $LAAMP$.domicile.domicile_location }
|
|
trigger_if = {
|
|
limit = {
|
|
NOT = { exists = $TARGET$.capital_province }
|
|
exists = $TARGET$.host.capital_province
|
|
}
|
|
$TARGET$.host.capital_province ?= {
|
|
squared_distance = {
|
|
target = $LAAMP$.domicile.domicile_location
|
|
value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
|
|
}
|
|
}
|
|
}
|
|
trigger_else_if = {
|
|
limit = {
|
|
NOT = { exists = $TARGET$.capital_province }
|
|
exists = $TARGET$.location
|
|
}
|
|
$TARGET$.location ?= {
|
|
squared_distance = {
|
|
target = $LAAMP$.domicile.domicile_location
|
|
value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
$TARGET$.capital_province ?= {
|
|
squared_distance = {
|
|
target = $LAAMP$.domicile.domicile_location
|
|
value < define:NTaskContract|ADVENTURER_DISTANCE_RESTRICTION
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_else = { always = no }
|
|
}
|
|
}
|
|
|
|
can_recruit_archer_cavalry_trigger = {
|
|
custom_tooltip = {
|
|
text = can_recruit_archer_cavalry_trigger_desc
|
|
OR = {
|
|
can_create_maa = horse_archers
|
|
can_create_maa = mangudai
|
|
can_create_maa = asawira
|
|
can_create_maa = accolade_maa_horse_archers
|
|
can_create_maa = emishi_horse_archers
|
|
can_create_maa = japanese_horse_archers
|
|
can_create_maa = kheshig
|
|
can_create_maa = heavy_horse_archers
|
|
can_create_maa = heavy_horse_archers
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_transport_contract_trigger = {
|
|
OR = {
|
|
has_task_contract_type = laamp_transport_vip
|
|
has_task_contract_type = laamp_transport_artifact
|
|
has_task_contract_type = laamp_transport_gold
|
|
has_task_contract_type = laamp_transport_ward
|
|
has_task_contract_type = laamp_transport_explorer
|
|
has_task_contract_type = laamp_transport_animal
|
|
has_task_contract_type = laamp_construction_contract
|
|
}
|
|
}
|
|
|
|
ep3_vassal_will_become_admin = {
|
|
#This trigger picks out vassals that automatically convert to Admin.
|
|
#We convert vassals that are:
|
|
#Clan or Feudal
|
|
#De Jure part of the Empire
|
|
#Have the State Faith
|
|
#Aren't rivals of the admin liege
|
|
#Dukes and above must like the main liege at least a little.
|
|
highest_held_title_tier > tier_barony
|
|
primary_title = {
|
|
target_is_de_jure_liege_or_above = scope:administrative_liege.primary_title #We only auto convert de jure vassals
|
|
}
|
|
OR = { #We convert only clan and feudal vassals in this decision
|
|
government_has_flag = government_is_feudal
|
|
government_has_flag = government_is_clan
|
|
government_has_flag = government_is_japan_feudal
|
|
}
|
|
faith = scope:administrative_liege.faith #The future state faith
|
|
}
|
|
|
|
ep3_kings_will_convert_trigger = {
|
|
primary_title.tier >= tier_kingdom
|
|
NOR = {
|
|
opinion = {
|
|
target = liege
|
|
value < -50
|
|
}
|
|
has_relation_rival = liege
|
|
}
|
|
}
|
|
|
|
ep3_is_clan_inclined_trigger = {
|
|
OR = {
|
|
faith.religion = religion:islam_religion
|
|
culture ?= {
|
|
OR = {
|
|
has_cultural_pillar = heritage_arabic
|
|
has_cultural_pillar = heritage_iranian
|
|
has_cultural_pillar = heritage_turkic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
cid_story_cycle_start_trigger = {
|
|
is_alive = yes
|
|
is_playable_character = yes
|
|
has_ep3_dlc_trigger = yes
|
|
NOR = {
|
|
has_variable = ongoing_cid_story_cycle
|
|
has_variable = had_cid_story_cycle
|
|
}
|
|
has_government = landless_adventurer_government
|
|
top_liege ?= {
|
|
any_courtier = { is_available_healthy_ai_adult = yes }
|
|
}
|
|
}
|
|
|
|
ep3_can_have_legitimists_camp_purpose_trigger = {
|
|
custom_tooltip = {
|
|
text = ep3_can_have_legitimists_camp_purpose_trigger.tt.explanation
|
|
any_claim = {
|
|
explicit = yes
|
|
tier >= tier_kingdom
|
|
}
|
|
}
|
|
}
|
|
|
|
has_any_gallowsbait_xp_trigger = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value >= 1
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value >= 1
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value >= 1
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value >= 1
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value >= 1
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_restored_rome_hard_mode_trigger = {
|
|
OR = {
|
|
this = title:h_roman_empire.holder
|
|
this = title:h_eastern_roman_empire.holder
|
|
}
|
|
any_owned_story = {
|
|
type = ep3_story_cycle_restoring_rome
|
|
has_variable = roman_empire_hard_mode
|
|
}
|
|
}
|
|
|
|
faith_is_interesting_heresy_to_state_faith_trigger = {
|
|
religion = root.top_liege.primary_title.state_faith.religion
|
|
this != root.top_liege.primary_title.state_faith
|
|
num_county_followers >= 3
|
|
save_temporary_scope_as = temp_heresy
|
|
root.top_liege.primary_title.state_faith = {
|
|
faith_hostility_level = {
|
|
target = scope:temp_heresy
|
|
value >= faith_hostile_level
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_boundary_dispute_county_trigger = {
|
|
tier = tier_county
|
|
custom_tooltip = {
|
|
text = dispute_border_county_neighbour_tt
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $TARGET$ }
|
|
OR = {
|
|
any_neighboring_county = {
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $OWNER$ }
|
|
}
|
|
AND = {
|
|
de_jure_liege.holder ?= $OWNER$
|
|
any_title_to_title_neighboring_and_across_water_county = {
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $OWNER$ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_subsume_province_duchy_trigger = {
|
|
tier = tier_duchy
|
|
holder ?= $TARGET$
|
|
is_noble_family_title = no
|
|
is_landless_type_title = no
|
|
trigger_if = {
|
|
limit = { tier = tier_duchy }
|
|
custom_tooltip = {
|
|
text = subsume_province_must_neighbor_tt
|
|
any_de_jure_county = {
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $TARGET$ }
|
|
any_neighboring_county = {
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $OWNER$ }
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = subsume_province_more_than_half_tt
|
|
any_de_jure_county = {
|
|
percent < 0.5
|
|
county_held_or_vassal_to_target_trigger = { TARGET = $OWNER$ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_interesting_courtier_to_ask_trigger = {
|
|
is_councillor = no
|
|
has_any_court_position = no
|
|
OR = {
|
|
diplomacy >= high_skill_rating
|
|
martial >= high_skill_rating
|
|
stewardship >= high_skill_rating
|
|
intrigue >= high_skill_rating
|
|
learning >= high_skill_rating
|
|
prowess >= high_skill_rating
|
|
has_trait = education_diplomacy_4
|
|
has_trait = education_diplomacy_5
|
|
has_trait = education_martial_4
|
|
has_trait = education_martial_5
|
|
has_trait = education_stewardship_4
|
|
has_trait = education_stewardship_5
|
|
has_trait = education_intrigue_4
|
|
has_trait = education_intrigue_5
|
|
has_trait = education_learning_4
|
|
has_trait = education_learning_5
|
|
has_trait_xp = { trait = lifestyle_physician value >= 20 }
|
|
has_trait_xp = { trait = lifestyle_traveler track = travel value >= 20 }
|
|
has_trait_xp = { trait = lifestyle_traveler track = danger value >= 20 }
|
|
has_trait_xp = { trait = lifestyle_hunter track = hunter value >= 20 }
|
|
has_trait_xp = { trait = lifestyle_hunter track = falconer value >= 20 }
|
|
has_trait_xp = { trait = charioteer_blue value >= 20 }
|
|
has_trait_xp = { trait = charioteer_green value >= 20 }
|
|
has_trait_xp = { trait = charioteer_red value >= 20 }
|
|
has_trait_xp = { trait = charioteer_white value >= 20 }
|
|
has_trait_xp = { trait = governor value >= 20 }
|
|
}
|
|
}
|
|
|
|
ep3_admin_faction_trigger = {
|
|
trigger_if = { # Enabled for all admin realms with EP3
|
|
limit = { has_ep3_dlc_trigger = yes }
|
|
$FACTION_TARGET$ = { government_allows = administrative }
|
|
}
|
|
trigger_else = { # Enabled for Byzantium without EP3
|
|
$FACTION_TARGET$ = { has_title = title:e_byzantium }
|
|
}
|
|
}
|
|
|
|
ep3_switch_faction_war_sides_war_trigger = {
|
|
# Recipient involved in war
|
|
is_participant = scope:recipient
|
|
# Is a Faction war
|
|
save_temporary_scope_as = faction_war_temp
|
|
primary_attacker.joined_faction.faction_war ?= scope:faction_war_temp
|
|
# Actor and recipient on opposing sides
|
|
trigger_if = {
|
|
limit = { is_defender = scope:recipient }
|
|
is_attacker = scope:actor
|
|
# Recipient must not be an ally of the opposing war leader
|
|
NOT = {
|
|
primary_defender = { is_allied_to = scope:recipient }
|
|
}
|
|
}
|
|
trigger_else = {
|
|
is_defender = scope:actor
|
|
# Recipient must not be an ally of the opposing war leader
|
|
NOT = {
|
|
primary_attacker = { is_allied_to = scope:recipient }
|
|
}
|
|
}
|
|
# Recipient must not be a war leader
|
|
NOT = { is_war_leader = scope:recipient }
|
|
# Recipient must not be the claimant
|
|
primary_attacker.joined_faction.special_character != scope:recipient
|
|
}
|
|
|
|
ep3_raid_insight_trigger = {
|
|
scope:owner = {
|
|
NOT = { has_character_modifier = raid_insight_$TYPE$ }
|
|
}
|
|
scope:target_domicile = { has_domicile_building_or_higher = $TYPE$_01 }
|
|
}
|
|
|
|
ep3_adventurer_ai_valid_war_target_trigger = {
|
|
is_landed = yes
|
|
reverse_opinion = {
|
|
target = $ADVENTURER$
|
|
value <= 0
|
|
}
|
|
in_diplomatic_range = $ADVENTURER$
|
|
NOR = {
|
|
is_at_war_with = $ADVENTURER$
|
|
is_allied_to = $ADVENTURER$
|
|
}
|
|
current_strength_with_allies_value < $ADVENTURER$.current_strength_with_allies_seventy_five_percent_value
|
|
save_temporary_scope_as = war_target_temp
|
|
trigger_if = {
|
|
limit = { government_has_flag = government_is_tribal }
|
|
OR = {
|
|
$ADVENTURER$.culture.culture_head ?= { government_has_flag = government_is_tribal }
|
|
capital_county.culture = {
|
|
any_parent_culture_or_above = { this = $ADVENTURER$.culture }
|
|
}
|
|
$ADVENTURER$.culture = {
|
|
any_parent_culture_or_above = { this = scope:war_target_temp.capital_county.culture }
|
|
}
|
|
}
|
|
}
|
|
$ADVENTURER$ = {
|
|
trigger_if = {
|
|
limit = { has_realm_law = camp_purpose_legitimists }
|
|
any_claim = {
|
|
tier >= tier_kingdom
|
|
holder = scope:war_target_temp
|
|
save_temporary_scope_as = claim_temp
|
|
}
|
|
can_declare_war = {
|
|
defender = scope:war_target_temp
|
|
casus_belli = claim_cb
|
|
claimant = $ADVENTURER$
|
|
target_titles = { scope:claim_temp }
|
|
}
|
|
}
|
|
trigger_else = {
|
|
OR = {
|
|
AND = {
|
|
scope:war_target_temp = {
|
|
any_held_title = {
|
|
count >= 1
|
|
title_tier = empire
|
|
save_temporary_scope_as = war_target_title_temp
|
|
}
|
|
}
|
|
can_declare_war = {
|
|
defender = scope:war_target_temp
|
|
casus_belli = ep3_laamp_adventurer_empire_invasion
|
|
target_titles = { scope:war_target_title_temp }
|
|
}
|
|
}
|
|
AND = {
|
|
scope:war_target_temp = {
|
|
any_held_title = {
|
|
count >= 1
|
|
title_tier = kingdom
|
|
save_temporary_scope_as = war_target_title_temp
|
|
}
|
|
}
|
|
can_declare_war = {
|
|
defender = scope:war_target_temp
|
|
casus_belli = ep3_laamp_adventurer_kingdom_invasion
|
|
target_titles = { scope:war_target_title_temp }
|
|
}
|
|
}
|
|
AND = {
|
|
scope:war_target_temp = {
|
|
any_held_title = {
|
|
count >= 1
|
|
title_tier = duchy
|
|
save_temporary_scope_as = war_target_title_temp
|
|
}
|
|
}
|
|
can_declare_war = {
|
|
defender = scope:war_target_temp
|
|
casus_belli = ep3_laamp_adventurer_duchy_invasion
|
|
target_titles = { scope:war_target_title_temp }
|
|
}
|
|
}
|
|
AND = {
|
|
scope:war_target_temp = {
|
|
any_held_title = {
|
|
count >= 1
|
|
title_tier = county
|
|
save_temporary_scope_as = war_target_title_temp
|
|
}
|
|
}
|
|
can_declare_war = {
|
|
defender = scope:war_target_temp
|
|
casus_belli = ep3_laamp_adventurer_county_invasion
|
|
target_titles = { scope:war_target_title_temp }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_adventurer_ai_valid_legitimist_target_trigger = {
|
|
is_landed = yes
|
|
NOR = {
|
|
has_relation_friend = $ADVENTURER$
|
|
is_at_war_with = $ADVENTURER$
|
|
is_allied_to = $ADVENTURER$
|
|
}
|
|
save_temporary_scope_as = target_temp
|
|
current_strength_with_allies_value < $ADVENTURER$.current_strength_with_allies_seventy_five_percent_value
|
|
any_held_title = {
|
|
title_tier >= kingdom
|
|
any_claimant = { this = $ADVENTURER$ }
|
|
save_temporary_scope_as = claim_temp
|
|
}
|
|
$ADVENTURER$ = {
|
|
can_declare_war = {
|
|
defender = scope:target_temp
|
|
casus_belli = claim_cb
|
|
claimant = $ADVENTURER$
|
|
target_titles = { scope:claim_temp }
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_adventurer_might_attack_target_trigger = {
|
|
has_government = landless_adventurer_government
|
|
# Army at least half the size
|
|
current_strength_with_allies_value > $TARGET$.current_strength_with_allies_fifty_percent_value
|
|
# Not allies
|
|
NOT = { is_allied_to = $TARGET$ }
|
|
OR = {
|
|
# Has a claim on a title in subrealm
|
|
any_claim = {
|
|
holder ?= {
|
|
OR = {
|
|
this = $TARGET$
|
|
target_is_liege_or_above = $TARGET$
|
|
}
|
|
}
|
|
}
|
|
# Opinion
|
|
opinion = {
|
|
target = $TARGET$
|
|
value < -25
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_adventurer_mercenary_war_trigger = {
|
|
is_war_leader = $EMPLOYER$
|
|
OR = {
|
|
using_civil_war_cb_trigger = yes
|
|
using_non_ghw_holy_war_cb_trigger = yes
|
|
using_de_jure_cb_trigger = yes
|
|
using_conquest_cb_trigger = yes
|
|
}
|
|
NOT = { is_participant = $LAAMP$ }
|
|
}
|
|
|
|
ep3_adventurer_ai_valid_contract_trigger = {
|
|
$LAAMP$ = {
|
|
OR = {
|
|
# DIPLOMACY
|
|
can_create_task_contract = { type_name = laamp_base_0001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_0011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_0021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_0031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_0011 employer = $EMPLOYER$ }
|
|
# MARTIAL
|
|
can_create_task_contract = { type_name = laamp_base_1001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_1011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_1021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_1031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_1041 employer = $EMPLOYER$ }
|
|
# STEWARDSHIP
|
|
can_create_task_contract = { type_name = laamp_base_2001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_2011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_2021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_2031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_2041 employer = $EMPLOYER$ }
|
|
# INTRIGUE
|
|
can_create_task_contract = { type_name = laamp_base_3001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_3011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_3021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_3031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_3041 employer = $EMPLOYER$ }
|
|
# LEARNING
|
|
can_create_task_contract = { type_name = laamp_base_4001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_4011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_4021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_4031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_4041 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_4100 employer = $EMPLOYER$ }
|
|
# PROWESS
|
|
can_create_task_contract = { type_name = laamp_base_5001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_5011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_5021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_5031 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_5041 employer = $EMPLOYER$ }
|
|
# JUSTICAR
|
|
can_create_task_contract = { type_name = laamp_base_6001 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_6011 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_6021 employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_base_6031 employer = $EMPLOYER$ }
|
|
# EXTRA
|
|
can_create_task_contract = { type_name = laamp_boost_legitimacy_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_rid_councillor_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_gain_wanderer_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_find_secret_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_eliminate_heir_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_steal_artifact_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_construction_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_cultural_minority_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_religious_minority_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_prison_break_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_join_faction_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_faith_conversion_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_fight_faith_conversion_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_find_secrets_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_fabricate_claim_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_increase_control_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_find_secrets_contract employer = $EMPLOYER$ }
|
|
}
|
|
AND = {
|
|
has_realm_law = camp_purpose_mercenaries
|
|
OR = {
|
|
can_create_task_contract = { type_name = laamp_raid_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_join_war_contract employer = $EMPLOYER$ }
|
|
can_create_task_contract = { type_name = laamp_help_claimant_contract employer = $EMPLOYER$ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hasan_evangelize_province_trigger = {
|
|
save_temporary_scope_as = county
|
|
scope:county.faith = {
|
|
# Religion is same as Hasan's (i.e. Muslim)
|
|
#religion = root.religion # QA thinks its more fun without this!
|
|
NOR = {
|
|
# Faith is different from Hasan's
|
|
custom_tooltip = {
|
|
text = zealous_missionary_start_decision_other_faith_location
|
|
this = root.faith
|
|
}
|
|
# County is not held by it's Faith's Religious Head
|
|
custom_tooltip = {
|
|
text = is_held_by_hof_tt
|
|
religious_head ?= scope:county.holder
|
|
}
|
|
}
|
|
}
|
|
development_level <= 25
|
|
custom_tooltip = {
|
|
text = has_tougher_to_convert_tt
|
|
NOT = { has_county_modifier = tougher_to_convert }
|
|
}
|
|
custom_tooltip = {
|
|
text = 0_or_below_county_opinion_tt
|
|
county_opinion <= 0
|
|
}
|
|
custom_tooltip = {
|
|
text = NOT_IS_HOLY_SITE_TRIGGER
|
|
NOT = {
|
|
any_direct_de_jure_vassal_title = { is_holy_site_of = scope:county.faith }
|
|
}
|
|
}
|
|
}
|
|
|
|
hasan_camp_in_foes_realm_trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
any_owned_story = {
|
|
var:ultimate_foe ?= {
|
|
save_temporary_scope_as = ultimate_foe
|
|
}
|
|
}
|
|
}
|
|
custom_description = {
|
|
text = hasan_stroy_cycle_camp_at_foe_realm
|
|
object = scope:ultimate_foe
|
|
domicile.domicile_location.county.holder = {
|
|
OR = {
|
|
any_liege_or_above = {
|
|
this = scope:ultimate_foe
|
|
}
|
|
this = scope:ultimate_foe
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
character:3096 = {
|
|
save_temporary_scope_as = caliph
|
|
}
|
|
save_temporary_scope_as = hasan
|
|
any_owned_story = {
|
|
trigger_if = {
|
|
limit = { exists = var:radical_points }
|
|
save_temporary_scope_value_as = {
|
|
name = radical_points
|
|
value = var:radical_points
|
|
}
|
|
}
|
|
trigger_else = {
|
|
save_temporary_scope_value_as = {
|
|
name = radical_points
|
|
value = 0
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = hasan_stroy_cycle_ultimate_foe
|
|
any_owned_story = {
|
|
story_type = story_hasan
|
|
exists = var:ultimate_foe
|
|
exists = var:radical_points
|
|
var:radical_points >= 15
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
estate_can_construct_market_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_market_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_market_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_market_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_garden_leisure_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_garden_leisure_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_garden_leisure_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
estate_can_construct_garden_fruit_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_garden_fruit_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_garden_fruit_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_guardhouse_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_guardhouse_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
|
|
estate_can_construct_workshop_carpenter_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_workshop_carpenter_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_workshop_carpenter_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_workshop_carpenter_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
estate_can_construct_workshop_mason_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_workshop_mason_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_workshop_mason_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_workshop_mason_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
estate_can_construct_workshop_textile_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_workshop_textile_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_workshop_textile_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_workshop_textile_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_barracks_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_barracks_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_barracks_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_barracks_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_vineyard_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_vineyard_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_vineyard_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_vineyard_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_olive_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_olive_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_olive_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_olive_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_health_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_02 }
|
|
}
|
|
estate_can_construct_health_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_03 }
|
|
}
|
|
estate_can_construct_health_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_04 }
|
|
}
|
|
estate_can_construct_health_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = estate_main_05 }
|
|
}
|
|
|
|
estate_can_construct_japanese_tea_plantation_03_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 }
|
|
}
|
|
estate_can_construct_japanese_tea_plantation_04_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 }
|
|
}
|
|
estate_can_construct_japanese_tea_plantation_05_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 }
|
|
}
|
|
estate_can_construct_japanese_tea_plantation_06_trigger = {
|
|
domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 }
|
|
}
|
|
|
|
# Check succession law types for Influence Candidacy validity
|
|
# TYPE should always be 'realm' or 'title'
|
|
influence_candidacy_valid_succession_law_trigger = {
|
|
OR = {
|
|
# Byzantium
|
|
has_$TYPE$_law = acclamation_succession_law
|
|
has_$TYPE$_law = appointment_succession_law
|
|
# Celestial Governors
|
|
has_$TYPE$_law = celestial_appointment_succession_law
|
|
has_$TYPE$_law = celestial_military_appointment_succession_law
|
|
# Meritocratic Governors
|
|
has_$TYPE$_law = meritocratic_appointment_succession_law
|
|
has_$TYPE$_law = meritocratic_military_appointment_succession_law
|
|
# Japanese Governors
|
|
has_$TYPE$_law = japanese_appointment_succession_law
|
|
has_$TYPE$_law = japanese_military_appointment_succession_law
|
|
# Ceremonial Regents
|
|
has_$TYPE$_law = meritocratic_regency_succession_law
|
|
has_$TYPE$_law = japanese_regency_succession_law
|
|
}
|
|
}
|