Scripted effect
accolade_personality_trait_picking_effect
accolade_personality_trait_picking_effect = yesgame/common/scripted_effects/00_accolades_scripted_effects.txt, line 9078 (1060 lines). No parameters.
accolade_personality_trait_picking_effect is a scripted effect in Crusader Kings III, written at line 9078 of its file. It takes no parameters: accolade_personality_trait_picking_effect = yes. The game's script calls it in 2 places, among them accolade_knight_training_effect (scripted effect) and accolade_squire_training_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_effects/00_accolades_scripted_effects.txt.
The comment above it in the file
Personality trait picking for above training effects
What it does
If
If
a check the game hides
Then
- Is played by the AI
One of these
All of these
- Their liege: Is played by a person
has_relation_guardian = scope:acclaimed_knight
or
None of these
- Any close or extended family member: Is played by a person
Not all of these
has_relation_guardian = scope:accolade.accolade_owner- scope:accolade.accolade_owner: Is played by a person
Then
If
scope:accolade:scope:type = accolade_type:marauder_attribute
Not all of these
- Has the Trait: Forgiving
- Has the Trait: Compassionate
Then
- 1 of 3 things will happen:
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
If
scope:accolade:scope:type = accolade_type:idealist_attribute
None of these
- Character trait (at least 3):
One of these
this = trait:sadisticor
this = trait:callousor
this = trait:vengefulor
this = trait:paranoidor
this = trait:greedy
- Character trait (at least 3):
One of these
this = trait:compassionateor
this = trait:forgivingor
this = trait:trustingor
this = trait:generous
- Character trait (at least 3):
Then
- 1 of 4 things will happen:
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
If
scope:accolade:scope:type = accolade_type:thug_attribute
None of these
- Character trait (at least 3):
One of these
this = trait:calmor
this = trait:justor
this = trait:patientor
this = trait:humble
- Character trait (at least 3):
One of these
this = trait:wrathfulor
this = trait:arbitraryor
this = trait:impatientor
this = trait:arrogant
- Character trait (at least 3):
Then
- 1 of 4 things will happen:
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
- 25% (base chance; changed in play): Nothing else happens
If
scope:accolade:scope:type = accolade_type:disciplinarian_attribute
None of these
- Character trait (at least 3):
One of these
this = trait:fickleor
this = trait:eccentricor
this = trait:lazyor
this = trait:gluttonous
- Character trait (at least 3):
One of these
this = trait:stubbornor
this = trait:diligentor
this = trait:temperate
- Character trait (at least 3):
Then
- 1 of 3 things will happen:
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
If
scope:accolade:scope:type = accolade_type:stalwart_attribute
None of these
- Character trait (at least 3):
One of these
this = trait:deceitfulor
this = trait:arbitraryor
this = trait:impatient
- Character trait (at least 3):
One of these
this = trait:honestor
this = trait:justor
this = trait:patient
- Character trait (at least 3):
Then
- 1 of 3 things will happen:
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
- 33% (base chance; changed in play): Nothing else happens
If
- … (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_personality_trait_picking_effect = {
#COMMON ATTRIBUTES - CHANGE PERSONALITY
#Only change personality if they aren't related to player
if = {
limit = {
#Only need to check relations if scope:owner is a squire
trigger_if = {
limit = {
exists = scope:squire
}
#Don't ever change PC personality with this
is_ai = yes
#Only change family members of players if they assigned knight as ward
OR = {
AND = {
liege ?= {
is_ai = no
}
has_relation_guardian = scope:acclaimed_knight
}
NOT = {
any_close_or_extended_family_member = {
is_ai = no
}
}
}
#Do not change personality of player's ward
NAND = {
has_relation_guardian = scope:accolade.accolade_owner
scope:accolade.accolade_owner = {
is_ai = no
}
}
}
}
#MARAUDER
if = {
limit = {
scope:accolade = {
scope:type = accolade_type:marauder_attribute
}
#Doesn't have all opposing traits
NAND = {
has_trait = forgiving
has_trait = compassionate
}
#Doesn't have all possible traits they could gain
NAND = {
has_trait = sadistic
has_trait = callous
has_trait = vengeful
}
}
trait:sadistic = { add_to_list = accolade_traits }
trait:vengeful = { add_to_list = accolade_traits }
trait:callous = { add_to_list = accolade_traits }
random_list = {
#Vengeful
10 = {
trigger = {
NOR = {
has_trait = vengeful
has_trait = forgiving
}
}
modifier = {
ai_vengefulness > 0
add = ai_vengefulness
}
modifier = {
ai_vengefulness < 0
add = -9
}
trait:vengeful = { save_scope_as = personality_trait_add }
add_character_flag = {
flag = squire_gained_trait
days = 30
}
}
#Sadistic
10 = {
trigger = {
NOR = {
has_trait = sadistic
has_trait = compassionate
has_trait = callous
}
}
modifier = {
ai_compassion < 0
add = {
value = ai_compassion
multiply = -1
}
}
modifier = {
ai_compassion > 0
add = -9
}
trait:sadistic = { save_scope_as = personality_trait_add }
add_character_flag = {
flag = squire_gained_trait
days = 30
}
}
#Callous
10 = {
trigger = {
NOR = {
has_trait = sadistic
has_trait = compassionate
has_trait = callous
}
}
modifier = {
ai_compassion < 0
add = {
value = ai_compassion
multiply = -1
}As written in game/common/scripted_effects/00_accolades_scripted_effects.txt.
The first 120 of its 1060 lines; the rest is in game/common/scripted_effects/00_accolades_scripted_effects.txt from line 9078.
Where it is used
Every place in common/, events/ and history/ that calls accolade_personality_trait_picking_effect.
Scripted effects (2)
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.