CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Scripted effect · Tours and Tournaments files

tournament_contest_turn_winner_effect

tournament_contest_turn_winner_effect = { CONTEST = … }

game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt, line 1059 (159 lines). Parameters: $CONTEST$.

tournament_contest_turn_winner_effect is a scripted effect in Crusader Kings III, in the Tours and Tournaments files, written at line 1059 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 = yes
  • scope:activity:
    • Every guest subset:
      • name = qualified
    • If

      • Any guest subset:
        • name = qualified
        • phase = tournament_phase_$CONTEST$
        • Is played by a person
      • None of these

        • Any guest subset:
          • name = qualified
          • phase = tournament_phase_$CONTEST$
          • is_alive = yes
          • exists = var:contest_aptitude
          • exists = var:progress_to_victory
          • Progress to victory more than scope:winner temp.var:progress to victory

      Then

      • One random guest subset:
        • Only some of them (the filter is in the script below)
        • name = qualified
        • phase = tournament_phase_$CONTEST$

      Otherwise

      • One random guest subset:
        • name = qualified
        • phase = tournament_phase_$CONTEST$
    • scope:contest_winner:
    • One random guest subset:
      • name = qualified
      • phase = tournament_phase_$CONTEST$
    • One random guest subset:
      • name = qualified
      • phase = tournament_phase_$CONTEST$
    • Every guest subset:
      • name = qualified
      • phase = tournament_phase_$CONTEST$
    • add_to_guest_subset = { name = winner target = scope:contest_winner phase = tournament_phase_$CONTEST$ }
    • add_to_guest_subset = { name = second_place target = scope:second_place phase = tournament_phase_$CONTEST$ }
    • 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.0705 }
    • Every attending character:

• 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_turn_winner_effect = {
	# Achievement.
	little_william_marshal_achievement_contest_end_effect = yes
	scope:activity = {
		every_guest_subset = {
			name = qualified
			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
			}
		}
		# Determine winner
		else = {
			random_guest_subset = {
				name = qualified
				phase = tournament_phase_$CONTEST$
				limit = {
					is_alive = yes
					exists = var:contest_aptitude
					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_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:contest_aptitude
				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
		}
		# Determine third place
		random_guest_subset = {
			name = qualified
			phase = tournament_phase_$CONTEST$
			limit = {
				is_alive = yes
				exists = var:contest_aptitude
				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 159 lines; the rest is in game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt from line 1059.

Where it is used

Every place in common/, events/ and history/ that calls tournament_contest_turn_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.

Spotted a mistake on this page?