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

Scripted trigger

might_cheat_on_partner_trigger

might_cheat_on_partner_trigger = { PARTNER = … }

game/common/scripted_triggers/00_romance_and_seduction_triggers.txt, line 399 (124 lines). Parameters: $PARTNER$.

might_cheat_on_partner_trigger is a scripted trigger in Crusader Kings III, written at line 399 of its file. A call passes 1 parameter: PARTNER. The game's script calls it in 7 places, among them Seduce (scheme), … Intimate Desires (event pilgrimage.2101) and My One and Only (event lover.0300). Patch 1.20.1.2, from game/common/scripted_triggers/00_romance_and_seduction_triggers.txt.

What it checks

  • Does not have the Trait: Celibate
  • If played by a person:
    • always = yes
  • Else, if all of these hold:
    • Conditions:
      • $PARTNER$ = { … }
    • Then: Never
  • Else, if all of these hold:
    • Conditions:
    • Then:
      • Does not have the Trait: Loyal
      • Does not have the Trait: Chaste
      • If

        • has_relation_soulmate = $PARTNER$

        Then

        • Ai honor at most -35
        • 2 of these 3

        Otherwise

        • One of these

          • One of these

          • or

            If ai honor at most -50:
            • If

              • is_consort_of = $PARTNER$

              Then

              • Opinion of $PARTNER$ at most 40

              Otherwise

              • Opinion of $PARTNER$ at most 60
          • or

            Else, if ai honor at most 35:
            • If

              • is_consort_of = $PARTNER$

              Then

              • Opinion of $PARTNER$ at most 0

              Otherwise

              • Opinion of $PARTNER$ at most 20
          • or

            Otherwise: Opinion of $PARTNER$ at most -60
  • Otherwise:
    • always = yes

• 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)
might_cheat_on_partner_trigger = {
	NOT = { has_trait = celibate }
	# Technically (and, historically, frequently) eunuchs can still have affairs, they just aren't able to impregnate.
	# is_eunuch_trigger = no
	trigger_if = {
		limit = { is_ai = no }
		# Players always have the option to cheat - we check this here so that we don't constantly need to OR it when using might_cheat_on_every_partner_trigger.
		always = yes
	}
	trigger_else_if = {
		limit = {
			$PARTNER$ = {
				government_has_flag = government_is_nomadic
				domicile ?= {
					has_domicile_parameter = nomad_yurt_spouse_will_not_cheat
				}
			}
		}
		always = no
	}
	trigger_else_if = {
		limit = {
			# If $PARTNER$ isn't actually my partner, it's not cheating!
			OR = {
				has_relation_lover = $PARTNER$
				is_consort_of = $PARTNER$ # Includes both spouses and concubines
			}
			# Additionally, in faiths with the Polyamory doctrine, extramarital relationships aren't considered to be cheating on partners.
			# Additionally, some cultures do not have scruples about extramarital relationships.
			accepts_adultery_without_penalty_trigger = no
		}

		NOT = { has_trait = loyal } # Loyal people never cheat
		NOT = { has_trait = chaste }

		# Soulmates never cheat, unless they're Lustful/Seducer and have low Honor
		trigger_if = {
			limit = { has_relation_soulmate = $PARTNER$ }
			ai_honor <= medium_negative_ai_value
			calc_true_if = {
				amount >= 2
				has_trait = lustful
				has_trait = seducer
				has_focus = intrigue_temptation_focus
			}
		}
		# Non-soulmates have slightly more complex criteria
		trigger_else = {
			OR = {
				# Having one of these things that makes characters always willing to cheat:
				OR = {
					has_trait = lustful
					has_trait = seducer
					has_focus = intrigue_temptation_focus
					# Dishonorable and callous enough to not care about current partners (regardless of opinion).
					AND = {
						ai_compassion <= high_negative_ai_value
						ai_honor <= high_negative_ai_value
					}
					# Needs aren't getting met.
					AND = {
						is_deviant_trigger = yes
						$PARTNER$ = { is_deviant_trigger = no }
					}
					# Rakish character that's about to have a mental breakdown.
					AND = {
						has_trait = rakish
						stress_level >= 2
					}
				}

				# Calc for honour.
				## Characters with really lacking honour might cheat even at decently opinion positive levels.
				trigger_if = {
					limit = { ai_honor <= high_negative_ai_value }
					# Consorts (spouses, concubines).
					trigger_if = {
						limit = { is_consort_of = $PARTNER$ }
						opinion = {
							target = $PARTNER$
							value <= medium_positive_opinion
						}
					}
					# Lovers.
					trigger_else = {
						opinion = {
							target = $PARTNER$
							value <= high_positive_opinion
						}
					}
				}
				## Characters with at least some honour require much less happy relationships.
				trigger_else_if = {
					limit = { ai_honor <= medium_positive_ai_value }
					# Consorts (spouses, concubines).
					trigger_if = {
						limit = { is_consort_of = $PARTNER$ }
						# Consorts (spouses, concubines)
						opinion = {
							target = $PARTNER$
							value <= neutral_opinion
						}
					}
					# Lovers.
					trigger_else = {
						opinion = {
							target = $PARTNER$
							value <= low_positive_opinion # 80 for lovers
						}
					}
				}
				## Finally, characters might also cheat if they just dislike their partner enough, regardless of honor.
				trigger_else = {
					opinion = {
						target = $PARTNER$
						value <= high_negative_opinion
					}
				}
			}
		}

As written in game/common/scripted_triggers/00_romance_and_seduction_triggers.txt.

The first 120 of its 124 lines; the rest is in game/common/scripted_triggers/00_romance_and_seduction_triggers.txt from line 399.

Where it is used

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

Schemes (1)

  • Seduce

Events (4)

Script values (1)

  • odds_seduce_scheme_misc_value

Source: game/common/scripted_triggers/00_romance_and_seduction_triggers.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?