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

Scripted effect

evaluate_compliment_effect

evaluate_compliment_effect = { COMPLIMENT_GIVER = … COMPLIMENT_TYPE = … }

game/common/scripted_effects/00_compliment_effects.txt, line 363 (277 lines). Parameters: $COMPLIMENT_GIVER$, $COMPLIMENT_TYPE$.

evaluate_compliment_effect is a scripted effect in Crusader Kings III, written at line 363 of its file. A call passes 2 parameters: COMPLIMENT_GIVER and COMPLIMENT_TYPE. The game's script calls it in 7 places, among them … of Words (event seduce_ongoing.1801), Holy Letter (event learning_theology.3021) and Hospitality: Petals and Thorns (event diplomacy_foreign_special.1028). Patch 1.20.1.2, from game/common/scripted_effects/00_compliment_effects.txt.

What it does

  • If

    a check the game hides

    Then

    • 1 of 3 things will happen:
      • 0% (base chance; changed in play): Nothing else happens
      • 71% (base chance; changed in play): Nothing else happens
      • 29% (base chance; changed in play): Nothing else happens

• 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)
evaluate_compliment_effect = {

	save_scope_value_as = {
		name = evaluated_compliment_type
		value = flag:$COMPLIMENT_TYPE$
	}

	if = {
		limit = { exists = scope:evaluated_compliment_type } #Because there are error messages otherwise
		
		random_list = {
			# BAD OUTCOME
			0 = { # Base chance of 0, since we don't ever want to randomly penalize the player due to bad luck even if they picked the right compliment.
				modifier = {
					add = 100 #Incorrect type of compliment significantly increases chances of being insulted.
					OR = {
						AND = {
							scope:evaluated_compliment_type = flag:compassionate
							ai_compassion < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:bold
							ai_boldness < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:honorable
							ai_honor < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:greedy
							ai_greed < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:rational
							ai_rationality < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:zealous
							ai_zeal < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:energetic
							ai_energy < 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:forgiving
							ai_vengefulness > 0
						}
						AND = {
							scope:evaluated_compliment_type = flag:beautiful
							attraction < -10
						}
						AND = {
							scope:evaluated_compliment_type = flag:strong
							OR = {
								has_trait = weak
								has_trait = physique_bad_1
								has_trait = physique_bad_2
								has_trait = physique_bad_3
							}
						}
						AND = {
							scope:evaluated_compliment_type = flag:extroverted
							has_personality_introverted_trigger = yes
						}
						AND = {
							scope:evaluated_compliment_type = flag:dominant
							has_personality_submissive_trigger = yes
						}
					}
				}
				modifier = { #Humble people struggle with compliments
					factor = 1.5
					has_trait = humble
				}

				save_scope_value_as = {
					name = compliment_outcome
					value = flag:bad
				}
			}

			60 = { #NEUTRAL OUTCOME
				modifier = {
					factor = 1.3
					has_trait = arrogant
				}
				modifier = {
					factor = 1.3
					has_trait = humble
				}

				save_scope_value_as = {
					name = compliment_outcome
					value = flag:neutral
				}
			}

			25 = { #GOOD OUTCOME
				modifier = { #Great compliment (not step-based)
					factor = 8
					OR = {
						AND = {
							scope:evaluated_compliment_type = flag:extroverted
							has_personality_extroverted_trigger = yes
						}
						AND = {
							scope:evaluated_compliment_type = flag:dominant
							has_personality_dominant_trigger = yes
						}
					}
				}
				modifier = { #Great compliment (step-based)
					factor = 2 #Adds up to 8 with the two modifiers below
					OR = {
						AND = {
							scope:evaluated_compliment_type = flag:compassionate
							ai_compassion >= high_positive_compassion
						}
						AND = {

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

The first 120 of its 277 lines; the rest is in game/common/scripted_effects/00_compliment_effects.txt from line 363.

Where it is used

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

Events (7)

1 more

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