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
- Conditions:
- Else, if all of these hold:
- Conditions:
One of these
has_relation_lover = $PARTNER$or
is_consort_of = $PARTNER$
accepts_adultery_without_penalty_trigger = no
- Then:
- Does not have the Trait: Loyal
- Does not have the Trait: Chaste
If
has_relation_soulmate = $PARTNER$
Then
Otherwise
One of these
One of these
- Has the Trait: Lustful
or
Has the Trait: Seduceror
has_focus = intrigue_temptation_focusor
All of these
- Ai compassion at most -50
- Ai honor at most -50
or
All of these
is_deviant_trigger = yes$PARTNER$ = { is_deviant_trigger = no }
or
All of these
- Has the Trait: Rakish
- Stress Level at least 2
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
- Conditions:
- 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)
- … Intimate Desires
pilgrimage.2101 - My One and Only
lover.0300 - My One and Only
lover.0301 - The Arrival
pilgrimage.4002
Scripted triggers (1)
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.