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

disburse_xp_and_liege_prestige_effect

disburse_xp_and_liege_prestige_effect = yes

game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt, line 6123 (373 lines). No parameters.

disburse_xp_and_liege_prestige_effect is a scripted effect in Crusader Kings III, in the Tours and Tournaments files, written at line 6123 of its file. It takes no parameters: disburse_xp_and_liege_prestige_effect = yes. The game's script calls it in 1 place, among them …: Conclusion (event tournament_events.0150). Patch 1.20.1.2, from game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt.

The comment above it in the file

Award XP in relevant tourney trait tracks

What it does

  • If has the Trait: Hastiluder:
    • If

      a check the game hides

      Then

    • If

      • One of these

        • exists = scope:melee_winner
        • or

          exists = scope:joust_winner
        • or

          exists = scope:horse_race_winner

      Then

    • If

      • One of these

        • exists = scope:melee_winner
        • or

          exists = scope:duel_winner
        • or

          exists = scope:wrestling_winner
        • or

          exists = scope:joust_winner

      Then

    • If

      • One of these

        • exists = scope:board_game_winner
        • or

          exists = scope:recital_winner

      Then

    • If

      a check the game hides

      Then

  • If

    • One of these

      • All of these

        • exists = scope:archery_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:archery_winner
          • or

            scope:archery_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:recital_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:recital_winner
          • or

            scope:recital_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:joust_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:joust_winner
          • or

            scope:joust_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:wrestling_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:wrestling_winner
          • or

            scope:wrestling_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:duel_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:duel_winner
          • or

            scope:duel_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:board_game_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:board_game_winner
          • or

            scope:board_game_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:horse_race_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:horse_race_winner
          • or

            scope:horse_race_winner:
            • is_knight_of = root
      • or

        All of these

        • exists = scope:melee_winner
        • One of these

          • root.court_position:champion_court_position ?= scope:melee_winner
          • or

            scope:melee_winner:
            • is_knight_of = root

    Then

    • add_prestige = { … }

• 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)
disburse_xp_and_liege_prestige_effect = {
	# XP
	if = {
		limit = { has_trait = tourney_participant }
		# Bow
		if = {
			limit = { exists = scope:archery_winner }
			add_trait_xp = {
				trait = tourney_participant
				track = bow
				value = {
					value = 0
					if = {
						limit = { scope:archery_winner ?= this }
						add = tournament_hastiludes_xp_gain_massive_value
					}
					else = { add = tournament_hastiludes_xp_gain_medium_value }
				}
			}
		}
		# Horse
		if = {
			limit = {
				OR = {
					exists = scope:melee_winner
					exists = scope:joust_winner
					exists = scope:horse_race_winner
				}
			}
			add_trait_xp = {
				trait = tourney_participant
				track = horse
				value = {
					value = 0
					if = { # Melee
						limit = {
							scope:activity = {
								any_guest_subset = { name = qualified phase = tournament_phase_melee this = root }
							}
						}
						if = {
							limit = {
								scope:activity = {
									any_guest_subset = { name = winner phase = tournament_phase_melee this = root }
								}
							}
							add = tournament_hastiludes_xp_gain_medium_value
						}
						else = { add = tournament_hastiludes_xp_gain_minor_value }
					}
					if = { # Joust
						limit = {
							scope:activity = {
								any_guest_subset = { name = qualified phase = tournament_phase_joust this = root 
								}
							}	
						}
						if = {
							limit = { scope:joust_winner ?= this }
							add = tournament_hastiludes_xp_gain_massive_value
						}
						else = { add = tournament_hastiludes_xp_gain_medium_value }
					}
					if = { # Horse Race
						limit = {
							scope:activity = {
								any_guest_subset = { name = qualified phase = tournament_phase_horse_race this = root }
							}	
						}
						if = {
							limit = { scope:horse_race_winner ?= this }
							add = tournament_hastiludes_xp_gain_massive_value
						}
						else = { add = tournament_hastiludes_xp_gain_medium_value }
					}
				}
			}
		}
		# Foot
		if = {
			limit = {
				OR = {
					exists = scope:melee_winner
					exists = scope:duel_winner
					exists = scope:wrestling_winner
					exists = scope:joust_winner
				}
			}
			add_trait_xp = {
				trait = tourney_participant
				track = foot
				value = {
					value = 0
					if = { # Melee
						limit = {
							scope:activity = {
								any_guest_subset = { name = qualified phase = tournament_phase_melee this = root }
							}
						}
						if = {
							limit = {
								scope:activity = {
									any_guest_subset = { name = winner phase = tournament_phase_melee this = root }
								}
							}
							add = tournament_hastiludes_xp_gain_medium_value
						}
						else = { add = tournament_hastiludes_xp_gain_minor_value }
					}
					if = { # Duel
						limit = {
							scope:activity = {
								any_guest_subset = { name = qualified phase = tournament_phase_duel this = root }
							}
						}
						if = {
							limit = { scope:duel_winner ?= this }
							add = tournament_hastiludes_xp_gain_massive_value
						}
						else = { add = tournament_hastiludes_xp_gain_medium_value }

As written in game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt.

The first 120 of its 373 lines; the rest is in game/common/scripted_effects/04_dlc_ep2_tournament_effects.txt from line 6123.

Where it is used

Every place in common/, events/ and history/ that calls disburse_xp_and_liege_prestige_effect.

Events (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?