Scripted effect · Tours and Tournaments files
tournament_contest_race_winner_effect
tournament_contest_race_winner_effect = { CONTEST = … }game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt, line 1409 (164 lines). Parameters: $CONTEST$.
tournament_contest_race_winner_effect is a scripted effect in Crusader Kings III, in the Tours and Tournaments files, written at line 1409 of its file. A call passes 1 parameter: CONTEST. The game's script calls it in 1 place, among them Grand Tournament (activity). Patch 1.20.1.2, from game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt.
The comment above it in the file
Determines first, second, and third place in turn based contests
What it does
little_william_marshal_achievement_contest_end_effect = yesscope:activity:- Every guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$
If
- Any guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$- Is played by a person
None of these
- Any guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$is_alive = yesexists = var:contest_aptitudeexists = var:progress_to_victory- Progress to victory more than scope:winner temp.var:progress to victory
- Any guest subset:
Then
- One random guest subset:
- Only some of them (the filter is in the script below)
name = qualifiedphase = tournament_phase_$CONTEST$
Otherwise
- One random guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$
- Any guest subset:
scope:contest_winner:- One random guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$tournament_horse_race_fetch_horse_effect = yes
- One random guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$tournament_horse_race_fetch_horse_effect = yes
- Every guest subset:
name = qualifiedphase = tournament_phase_$CONTEST$
add_to_guest_subset = { name = winner target = scope:contest_winner phase = tournament_phase_$CONTEST$ }If
a check the game hides
Then
add_to_guest_subset = { name = second_place target = scope:second_place phase = tournament_phase_$CONTEST$ }
If
a check the game hides
Then
add_to_guest_subset = { name = third_place target = scope:third_place phase = tournament_phase_$CONTEST$ }
tournament_contest_rewards_effect = { CONTEST = $CONTEST$ }activity_host = { trigger_event = contest_events.0505 }- Every attending character:
- Every guest subset:
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (120 lines of game script)
tournament_contest_race_winner_effect = {
# Achievement.
little_william_marshal_achievement_contest_end_effect = yes
scope:activity = {
every_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
set_variable = {
name = progress_to_victory
value = progress_to_victory_active_contestant_value
}
}
save_scope_value_as = { name = contest_complete value = flag:$CONTEST$ }
# Set winner if player
if = {
limit = {
any_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
is_alive = yes
exists = var:contest_aptitude
exists = var:progress_to_victory
is_ai = no
save_temporary_scope_as = winner_temp
}
NOT = {
any_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
is_alive = yes
exists = var:contest_aptitude
exists = var:progress_to_victory
var:progress_to_victory > scope:winner_temp.var:progress_to_victory
}
}
}
random_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
limit = {
is_alive = yes
exists = var:contest_aptitude
exists = var:progress_to_victory
is_ai = no
save_temporary_scope_as = winner_temp
scope:activity = {
NOT = {
any_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
is_alive = yes
exists = var:contest_aptitude
exists = var:progress_to_victory
var:progress_to_victory > scope:winner_temp.var:progress_to_victory
}
}
}
}
save_scope_as = contest_winner
}
}
else = {
# Determine winner
random_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
limit = {
is_alive = yes
exists = var:progress_to_victory
save_temporary_scope_as = winner_temp
}
weight = {
base = 1
# Weights heavily on PtV, and major differences in score
tournament_contest_winner_determiner_modifier = { CHAR = scope:winner_temp CONTEST = $CONTEST$ }
}
save_scope_as = contest_winner
}
}
scope:contest_winner = {
tournament_horse_race_fetch_horse_effect = yes
tournament_complete_win_contest_intent_effect = yes
# Achievement.
little_william_marshal_achievement_contest_end_winner_effect = yes
}
# Determine second place
random_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
limit = {
is_alive = yes
exists = var:progress_to_victory
this != scope:contest_winner
save_temporary_scope_as = second_temp
}
weight = {
base = 1
# Weights heavily on PtV, and major differences in score
tournament_contest_winner_determiner_modifier = { CHAR = scope:second_temp CONTEST = $CONTEST$ }
}
save_scope_as = second_place
tournament_horse_race_fetch_horse_effect = yes
}
# Determine third place
random_guest_subset = {
name = qualified
phase = tournament_phase_$CONTEST$
limit = {
is_alive = yes
exists = var:progress_to_victory
NOR = {
this = scope:contest_winner
this = scope:second_place
}
save_temporary_scope_as = third_temp
}
weight = {
base = 1
# Weights heavily on PtV, and major differences in score
tournament_contest_winner_determiner_modifier = { CHAR = scope:third_temp CONTEST = $CONTEST$ }As written in game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt.
The first 120 of its 164 lines; the rest is in game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt from line 1409.
Where it is used
Every place in common/, events/ and history/ that calls tournament_contest_race_winner_effect.
Activities (1)
Source: game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.