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

Scripted effect

accolade_squire_training_effect

accolade_squire_training_effect = yes

game/common/scripted_effects/00_accolades_scripted_effects.txt, line 4377 (2682 lines). No parameters.

accolade_squire_training_effect is a scripted effect in Crusader Kings III, written at line 4377 of its file. It takes no parameters: accolade_squire_training_effect = yes. The game's script calls it in 1 place, among them yearly_playable_pulse (on action). Patch 1.20.1.2, from game/common/scripted_effects/00_accolades_scripted_effects.txt.

The comment above it in the file

train chars in acclaimed knight's court
Inside Accolade scope

What it does

  • pick_accolade_type_effect = yes
  • acclaimed_knight = { … }
  • If a check the game hides passes: the same again (1 line)
    • acclaimed_knight = { … }
  • If a check the game hides passes: the same again (1 line)
    • acclaimed_knight = { … }
  • If

    a check the game hides

    Then

    • scope:squire:
      • …% chance of:
      • If

        • scope:accolade: Accolade squires quality at least 60

        Then

        • 1 of 4 things will happen:
          • 25%: Nothing else happens
          • 25%: Nothing else happens
          • 25%: Nothing else happens
          • 25%: Nothing else happens

        Else if

        • scope:accolade:
          • scope:type = accolade_type:vanguard_attribute

        Then

        • 1 of 2 things will happen:
          • 67%: Nothing else happens
          • 33%: Nothing else happens

        Else if

        • scope:accolade:
          • scope:type = accolade_type:besieger_attribute

        Then

        • 1 of 3 things will happen:
          • 50%: Nothing else happens
          • 33%: Nothing else happens
          • 17%: Nothing else happens
    • scope:owner › scope:squire:
      • If does not have the Trait: scope:personality trait add: Gains the Trait scope:personality trait add
      • If number of personality traits more than 3: Loses the Trait scope:personality trait remove
      • If

        • scope:accolade:
          • Accolade squires quality at least 80
          • scope:type = accolade_type:politicker_attribute

        Then

        • add_diplomacy_skill = 2

        Else if

        • scope:accolade:
          • Accolade squires quality at least 80
          • scope:type = accolade_type:tactician_attribute

        Then

        • add_martial_skill = 2

        Else if

        • scope:accolade:
          • Accolade squires quality at least 80
          • scope:type = accolade_type:reeve_attribute

        Then

        • add_stewardship_skill = 2

        Else if

        • scope:accolade:
          • Accolade squires quality at least 80
          • scope:type = accolade_type:manipulator_attribute

        Then

        • add_intrigue_skill = 2

        Else if

        • scope:accolade:
          • Accolade squires quality at least 80
          • One of these

            • scope:type = accolade_type:mentor_attribute
            • or

              scope:type = accolade_type:gunpowder_attribute

        Then

        • add_learning_skill = 2

        Else if

        • scope:accolade:
          • Accolade squires quality at least 60
          • scope:type = accolade_type:politicker_attribute

        Then

        • add_diplomacy_skill = 1

        Else if

        • scope:accolade:
          • Accolade squires quality at least 60
          • scope:type = accolade_type:tactician_attribute

        Then

        • add_martial_skill = 1

        Else if

        • scope:accolade:
          • Accolade squires quality at least 60
          • scope:type = accolade_type:reeve_attribute

        Then

        • add_stewardship_skill = 1

        Else if

        • scope:accolade:
          • Accolade squires quality at least 60
          • scope:type = accolade_type:manipulator_attribute

        Then

        • add_intrigue_skill = 1

        Else if

        • scope:accolade:
          • Accolade squires quality at least 60
          • One of these

            • scope:type = accolade_type:mentor_attribute
            • or

              scope:type = accolade_type:gunpowder_attribute

        Then

        • add_learning_skill = 1
      • If

        • scope:accolade:
          • scope:type = accolade_type:archer_attribute

        Then

        • If

          • scope:accolade.accolade_owner › Any held title:
            • Title tier exactly County
            • is_landless_type_title = no
            • Any county province:
              • One of these

                • terrain = forest
                • or

                  … (more in the script below)
          • … (more in the script below)
      • … (more in the script below)

• 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)
accolade_squire_training_effect = {
	save_scope_as = accolade
	accolade_owner = {
		save_scope_as = owner
	}

	pick_accolade_type_effect = yes

	#PICK A SQUIRE TO TRAIN
	#First, pick from the knight's wards
	acclaimed_knight = {
		save_scope_as = acclaimed_knight
		ordered_relation = {
			order_by = prowess
			type = ward
			limit = {
				this = scope:owner
				valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
			}
			alternative_limit = {
				is_close_family_of = scope:owner
				valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
			}
			alternative_limit = {
				exists = scope:owner.dynasty
				dynasty = scope:owner.dynasty
				valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
			}
			alternative_limit = {
				valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
			}
			save_scope_as = squire
		}
	}
	#Then, pick from the knight's children
	if = {
		limit = {
			NOT = {
				exists = scope:squire
			}
		}
		acclaimed_knight = {
			ordered_child = {
				order_by = prowess
				limit = {
					this = scope:owner
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					is_close_family_of = scope:owner
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					exists = scope:owner.dynasty
					dynasty = scope:owner.dynasty
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					scope:accolade = {
						has_variable_list = accolade_squire_chars
					}
					save_temporary_scope_as = squire_temp
					scope:accolade = {
						any_in_list = {
							variable = accolade_squire_chars
							this = scope:squire_temp
						}
					}
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				save_scope_as = squire
			}
		}
	}
	#Then, pick from the knight's siblings
	if = {
		limit = {
			NOT = {
				exists = scope:squire
			}
		}
		acclaimed_knight = {
			ordered_sibling = {
				order_by = prowess
				limit = {
					this = scope:owner
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					is_close_family_of = scope:owner
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					exists = scope:owner.dynasty
					dynasty = scope:owner.dynasty
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					scope:accolade = {
						has_variable_list = accolade_squire_chars
					}
					save_temporary_scope_as = squire_temp
					scope:accolade = {
						any_in_list = {
							variable = accolade_squire_chars
							this = scope:squire_temp
						}
					}
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				alternative_limit = {
					valid_squire_for_accolade_trigger = { KNIGHT = scope:acclaimed_knight }
				}
				save_scope_as = squire
			}
		}
	}

As written in game/common/scripted_effects/00_accolades_scripted_effects.txt.

The first 120 of its 2682 lines; the rest is in game/common/scripted_effects/00_accolades_scripted_effects.txt from line 4377.

Where it is used

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

On actions (the game's own hooks) (1)

  • yearly_playable_pulse

Source: game/common/scripted_effects/00_accolades_scripted_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?