537 lines
13 KiB
Text
537 lines
13 KiB
Text
chariot_race_trigger = {
|
|
involved_activity.activity_host.culture = {
|
|
OR = {
|
|
AND = {
|
|
has_cultural_tradition = tradition_ep3_roman_ceremonies
|
|
NOT = { has_cultural_era_or_later = culture_era_late_medieval }
|
|
}
|
|
this = culture:roman
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_is_valid_tournament_contestant_training_decision = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
is_imprisoned = no
|
|
# Exclude clergy who don't fight
|
|
trigger_if = {
|
|
limit = { is_clergy = yes }
|
|
faith = { has_doctrine_parameter = clergy_can_fight }
|
|
}
|
|
}
|
|
|
|
activity_is_competing_trigger = {
|
|
activity_is_valid_tournament_contestant = yes
|
|
is_in_guest_subset = { name = contestant }
|
|
exists = var:progress_to_victory # Ensure they have a PtV as a valid contestant
|
|
}
|
|
|
|
activity_is_valid_tournament_contestant = {
|
|
exists = involved_activity
|
|
involved_activity = { has_activity_type = activity_tournament }
|
|
is_alive = yes
|
|
is_adult = yes
|
|
is_imprisoned = no
|
|
# Exclude clergy who don't fight
|
|
trigger_if = {
|
|
limit = { is_clergy = yes }
|
|
OR = {
|
|
faith = { has_doctrine_parameter = clergy_can_fight }
|
|
culture = { has_cultural_parameter = culture_clergy_can_fight }
|
|
}
|
|
}
|
|
# Has not opted out
|
|
NOR = {
|
|
has_character_flag = tournament_not_competing
|
|
is_in_guest_subset = { name = spectator }
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
involved_activity = {
|
|
NOR = {
|
|
has_current_phase = tournament_phase_horse_race
|
|
has_current_phase = tournament_phase_board_game
|
|
has_current_phase = tournament_phase_recital
|
|
}
|
|
}
|
|
}
|
|
# Only martial sex competes
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = involved_activity.activity_host }
|
|
NOR = {
|
|
has_trait = wounded_2
|
|
has_trait = wounded_3
|
|
}
|
|
}
|
|
# Mulan is clever enough not to reveal themselves
|
|
trigger_if = {
|
|
limit = {
|
|
involved_activity = { has_current_phase = tournament_phase_wrestling }
|
|
}
|
|
NOT = { has_character_modifier = ignores_gender_army_rules }
|
|
}
|
|
NOT = {
|
|
has_trait = incapable
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
NOT = {
|
|
involved_activity = { has_current_phase = tournament_phase_horse_race }
|
|
}
|
|
}
|
|
NOR = {
|
|
has_trait = blind
|
|
has_trait = infirm
|
|
}
|
|
}
|
|
trigger_if = { # Blind and maimed people don't do archery
|
|
limit = {
|
|
NOT = {
|
|
involved_activity = { has_current_phase = tournament_phase_archery }
|
|
}
|
|
}
|
|
NOR = {
|
|
has_trait = blind
|
|
has_trait = maimed
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_contest_non_martial_gender_allowed = {
|
|
involved_activity ?= {
|
|
OR = {
|
|
has_current_phase = tournament_phase_horse_race
|
|
has_current_phase = tournament_phase_board_game
|
|
has_current_phase = tournament_phase_recital
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_contest_martial_gender_only = {
|
|
involved_activity ?= {
|
|
OR = {
|
|
has_current_phase = tournament_phase_duel
|
|
has_current_phase = tournament_phase_wrestling
|
|
has_current_phase = tournament_phase_melee
|
|
has_current_phase = tournament_phase_archery
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_has_reason_to_cheer_character_trigger = {
|
|
exists = $CHAR$
|
|
OR = {
|
|
this = $CHAR$
|
|
AND = {
|
|
opinion = {
|
|
target = $CHAR$
|
|
value >= 25
|
|
}
|
|
OR = {
|
|
is_close_family_of = $CHAR$
|
|
is_consort_of = $CHAR$
|
|
has_any_good_relationship_with_character_trigger = { CHARACTER = $CHAR$ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_has_reason_to_anger_character_trigger = {
|
|
exists = $CHAR$
|
|
NOT = { this = $CHAR$ }
|
|
opinion = {
|
|
target = $CHAR$
|
|
value < 25
|
|
}
|
|
has_any_bad_relationship_with_character_trigger = { CHARACTER = $CHAR$ }
|
|
}
|
|
|
|
tournament_contest_wager_trigger = {
|
|
AND = {
|
|
has_current_phase = tournament_phase_$CONTEST$
|
|
NOT = {
|
|
any_guest_subset = {
|
|
name = winner
|
|
phase = tournament_phase_$CONTEST$
|
|
}
|
|
}
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
count >= 3
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = var:contest_versus_progress }
|
|
var:contest_versus_progress <= 3
|
|
}
|
|
}
|
|
|
|
activity_tournament_armor_trigger = {
|
|
involved_activity ?= { has_activity_type = activity_tournament }
|
|
OR = {
|
|
AND = {
|
|
is_in_guest_subset = { name = qualified }
|
|
involved_activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_melee
|
|
has_current_phase = tournament_phase_duel
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
}
|
|
AND = {
|
|
has_character_modifier = ignores_gender_army_rules
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_shirtless_trigger = {
|
|
involved_activity ?= {
|
|
has_activity_type = activity_tournament
|
|
has_current_phase = tournament_phase_wrestling
|
|
}
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
|
|
activity_tournament_valid_winner_trigger = {
|
|
is_alive = yes
|
|
exists = var:contest_aptitude
|
|
exists = var:progress_to_victory
|
|
}
|
|
|
|
activity_adult_available_or_attending_same_activity_trigger = {
|
|
is_adult = yes
|
|
OR = {
|
|
is_available = yes
|
|
AND = {
|
|
exists = involved_activity
|
|
involved_activity = scope:activity
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_versus_contest_trigger = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_joust
|
|
has_current_phase = tournament_phase_wrestling
|
|
has_current_phase = tournament_phase_duel
|
|
has_current_phase = tournament_phase_board_game
|
|
}
|
|
}
|
|
|
|
activity_tournament_team_contest_trigger = {
|
|
scope:activity = { has_current_phase = tournament_phase_melee }
|
|
}
|
|
|
|
activity_tournament_turn_contest_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_archery
|
|
has_current_phase = tournament_phase_recital
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_mind_contest_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_recital
|
|
has_current_phase = tournament_phase_board_game
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_prowess_contest_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_melee
|
|
has_current_phase = tournament_phase_joust
|
|
has_current_phase = tournament_phase_duel
|
|
has_current_phase = tournament_phase_wrestling
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_armor_contest_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_melee
|
|
has_current_phase = tournament_phase_joust
|
|
has_current_phase = tournament_phase_duel
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_horse_contest_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
has_current_phase = tournament_phase_horse_race
|
|
has_current_phase = tournament_phase_joust
|
|
has_current_phase = tournament_phase_melee
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_race_contest_trigger = {
|
|
scope:activity = { has_current_phase = tournament_phase_horse_race }
|
|
}
|
|
|
|
activity_tournament_same_team_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
AND = {
|
|
any_guest_subset = {
|
|
name = team_alpha
|
|
this = $FIRST$
|
|
}
|
|
any_guest_subset = {
|
|
name = team_alpha
|
|
this = $SECOND$
|
|
}
|
|
}
|
|
AND = {
|
|
any_guest_subset = {
|
|
name = team_beta
|
|
this = $FIRST$
|
|
}
|
|
any_guest_subset = {
|
|
name = team_beta
|
|
this = $SECOND$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tournament_character_any_contest_winner_trigger = {
|
|
involved_activity = {
|
|
any_guest_subset = {
|
|
name = winner
|
|
this = $CHAR$
|
|
phase = tournament_phase_$CONTEST$
|
|
}
|
|
}
|
|
}
|
|
|
|
contest_versus_player_vs_ai_trigger = {
|
|
calc_true_if = {
|
|
amount = 1
|
|
scope:versus_matchee = { is_ai = no }
|
|
scope:versus_matcher = { is_ai = no }
|
|
}
|
|
calc_true_if = {
|
|
amount = 1
|
|
scope:versus_matchee = { is_ai = yes }
|
|
scope:versus_matcher = { is_ai = yes }
|
|
}
|
|
NOR = {
|
|
scope:versus_matchee = { has_character_flag = resigned_contest_flag }
|
|
scope:versus_matcher = { has_character_flag = resigned_contest_flag }
|
|
}
|
|
}
|
|
|
|
contest_event_general_contestant_valid_trigger = {
|
|
is_alive = yes
|
|
exists = var:contest_aptitude
|
|
exists = var:progress_to_victory
|
|
is_ai = yes
|
|
NOT = { this = root }
|
|
}
|
|
|
|
has_ongoing_grand_activity_trigger = {
|
|
trigger_if = {
|
|
limit = { exists = involved_activity }
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_type = activity_tournament
|
|
has_activity_type = activity_tour
|
|
has_activity_type = activity_wedding
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
always = no
|
|
}
|
|
}
|
|
|
|
is_grand_activity_trigger = {
|
|
OR = {
|
|
has_activity_type = activity_tournament
|
|
has_activity_type = activity_tour
|
|
has_activity_type = activity_wedding
|
|
}
|
|
}
|
|
|
|
tournament_contest_event_trigger = {
|
|
is_ai = no
|
|
is_in_guest_subset = { name = qualified }
|
|
exists = var:progress_to_victory
|
|
NOT = { has_character_flag = busy_in_contest_event }
|
|
}
|
|
|
|
tournament_contest_versus_event_trigger = {
|
|
is_ai = no
|
|
exists = var:progress_to_victory
|
|
is_in_guest_subset = { name = qualified }
|
|
NOT = { has_character_flag = resigned_contest_flag }
|
|
save_temporary_scope_as = versus_event_scope
|
|
# Only fire events if the bout has not been pre-decided
|
|
involved_activity = {
|
|
switch = {
|
|
trigger = has_current_phase
|
|
tournament_phase_joust = {
|
|
scope:versus_event_scope = {
|
|
switch = {
|
|
trigger = involved_activity.var:contest_versus_progress
|
|
0 = { exists = var:contest_qualified_match_joust.var:progress_to_victory }
|
|
1 = { exists = var:contest_semi_finalist_match_joust.var:progress_to_victory }
|
|
2 = { exists = var:contest_finalist_match_joust.var:progress_to_victory }
|
|
}
|
|
}
|
|
}
|
|
tournament_phase_duel = {
|
|
scope:versus_event_scope = {
|
|
switch = {
|
|
trigger = involved_activity.var:contest_versus_progress
|
|
0 = { exists = var:contest_qualified_match_duel.var:progress_to_victory }
|
|
1 = { exists = var:contest_semi_finalist_match_duel.var:progress_to_victory }
|
|
2 = { exists = var:contest_finalist_match_duel.var:progress_to_victory }
|
|
}
|
|
}
|
|
}
|
|
tournament_phase_wrestling = {
|
|
scope:versus_event_scope = {
|
|
switch = {
|
|
trigger = involved_activity.var:contest_versus_progress
|
|
0 = { exists = var:contest_qualified_match_wrestling.var:progress_to_victory }
|
|
1 = { exists = var:contest_semi_finalist_match_wrestling.var:progress_to_victory }
|
|
2 = { exists = var:contest_finalist_match_wrestling.var:progress_to_victory }
|
|
}
|
|
}
|
|
}
|
|
tournament_phase_board_game = {
|
|
scope:versus_event_scope = {
|
|
switch = {
|
|
trigger = involved_activity.var:contest_versus_progress
|
|
0 = { exists = var:contest_qualified_match_board_game.var:progress_to_victory }
|
|
1 = { exists = var:contest_semi_finalist_match_board_game.var:progress_to_victory }
|
|
2 = { exists = var:contest_finalist_match_board_game.var:progress_to_victory }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
tournament_contest_can_compete_trigger = {
|
|
exists = var:progress_to_victory
|
|
NOT = {
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
activity_is_valid_tournament_contestant = yes
|
|
}
|
|
|
|
tournament_contest_can_compete_race_trigger = {
|
|
is_adult = yes
|
|
exists = var:progress_to_victory
|
|
OR = {
|
|
is_lowborn = no
|
|
AND = {
|
|
is_playable_character = yes
|
|
primary_title.tier >= tier_county
|
|
}
|
|
gold >= major_gold_value
|
|
}
|
|
NOT = {
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
}
|
|
|
|
contest_team_enemy_member_exists_trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
is_in_guest_subset = { name = team_alpha }
|
|
is_in_guest_subset = { name = team_beta }
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
is_in_guest_subset = { name = team_alpha }
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
is_alive = yes
|
|
is_ai = yes
|
|
}
|
|
}
|
|
trigger_else = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
is_alive = yes
|
|
is_ai = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tournament_pertinent_contestant_trigger = {
|
|
OR = {
|
|
root.var:contest_murder_attempt ?= this
|
|
has_any_good_relationship_with_character_trigger = { CHARACTER = root }
|
|
has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
|
|
is_consort_of = root
|
|
is_close_family_of = root
|
|
AND = {
|
|
has_court_position = champion_court_position
|
|
liege = root
|
|
}
|
|
is_knight_of = root
|
|
AND = {
|
|
exists = root.house
|
|
house ?= root.house
|
|
}
|
|
root.var:tournament_wager_target ?= this
|
|
}
|
|
}
|
|
|
|
tournament_is_knightly_entourage_character_trigger = {
|
|
is_knight = yes
|
|
is_playable_character = no
|
|
save_temporary_scope_as = char_temp
|
|
involved_activity = {
|
|
any_attending_character = { this = scope:char_temp.liege }
|
|
}
|
|
}
|
|
|
|
would_want_to_attend_tournament = {
|
|
trigger_if = {
|
|
limit = { is_playable_character = yes }
|
|
NOR = {
|
|
government_has_flag = government_is_tribal
|
|
government_has_flag = government_is_mercenary
|
|
government_has_flag = government_is_holy_order
|
|
}
|
|
}
|
|
trigger_else = { is_clergy = no }
|
|
OR = {
|
|
is_ai = no
|
|
has_trait = tourney_participant
|
|
has_trait = education_martial
|
|
has_trait = education_martial_prowess
|
|
has_trait = gregarious
|
|
has_trait = brave
|
|
prowess >= decent_skill_rating
|
|
has_court_position = champion_court_position
|
|
is_knight = yes
|
|
number_of_commander_traits >= 1
|
|
has_any_scripted_relation = scope:inviter
|
|
}
|
|
}
|
|
|
|
is_available_ai_adult_locale_person = { #to prevent bishops from being anything else than temple priests
|
|
is_available_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
is_clergy = no
|
|
}
|