N3OW/common/scripted_triggers/07_ep3_triggers.txt
2026-04-25 18:55:31 -04:00

1856 lines
49 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

eligible_for_ep3_administrative_legacy_trigger = {
has_ep3_dlc_trigger = yes
OR = {
game_rule_unrestricted_dynasty_legacies_trigger = yes
dynasty = {
OR = {
dynast = {
government_allows = administrative
}
has_dynasty_perk = ep3_administrative_legacy_1
}
}
}
}
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 = {
has_access_to_maa = horse_archers
has_access_to_maa = mangudai
has_access_to_maa = asawira
has_access_to_maa = accolade_maa_horse_archers
has_access_to_maa = emishi_horse_archers
has_access_to_maa = japanese_horse_archers
has_access_to_maa = kheshig
has_access_to_maa = heavy_horse_archers
}
}
}
## Is this contract a transport contract?
#
# root (task contract) The contract to be checked.
#
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
}
}
laamp_as_mercenary_payout_trigger = {
save_temporary_scope_as = merc_temp
$WAR$ = { save_temporary_scope_as = war_temp }
scope:merc_temp ?= {
var:joined_as_mercenary ?= {
is_leader_in_war = scope:war_temp
trigger_if = {
limit = { is_attacker_in_war = scope:war_temp }
scope:merc_temp = { is_attacker_in_war = scope:war_temp }
}
trigger_else = {
scope:merc_temp = { is_attacker_in_war = scope:war_temp }
}
}
NOT = { is_leader_in_war = scope:war_temp }
OR = {
has_raised_armies = yes
scope:war_temp = {
war_contribution = {
target = scope:merc_temp
value > 0
}
}
}
}
}
laamp_as_mercenary_payout_last_war_trigger = {
save_temporary_scope_as = merc_temp
$WAR$ = { save_temporary_scope_as = war_temp }
scope:merc_temp ?= {
# ENSURE THIS IS THE LAST WAR YOU ARE FIGHTING IN WITH THE EMPLOYER
NOT = {
any_character_war = {
NOT = { this = scope:war_temp }
is_war_leader = scope:merc_temp.var:joined_as_mercenary
trigger_if = {
limit = { is_attacker = scope:merc_temp.var:joined_as_mercenary }
is_attacker = scope:merc_temp
}
trigger_else = {
is_defender = scope:merc_temp
}
}
}
}
}