Scripted trigger
are_characters_sensible_and_appropriate_lovers_trigger
are_characters_sensible_and_appropriate_lovers_trigger = { INSTIGATING_LOVER = … TARGET_OF_LOVE = … }game/common/scripted_triggers/00_generic_event_sensibility_triggers.txt, line 141 (133 lines). Parameters: $INSTIGATING_LOVER$, $TARGET_OF_LOVE$.
are_characters_sensible_and_appropriate_lovers_trigger is a scripted trigger in Crusader Kings III, written at line 141 of its file. A call passes 2 parameters: INSTIGATING_LOVER and TARGET_OF_LOVE. The game's script calls it in 3 places, among them story_adventurer_ai (story cycle), … The Fishermen of … (event pilgrimage_seasia.500) and are_characters_sensible_and_appropriate_open_lovers_trigger (scripted trigger). Patch 1.20.1.2, from game/common/scripted_triggers/00_generic_event_sensibility_triggers.txt.
The comment above it in the file
Various social blockers - what would you, interpreting society, think of having a lover
What it checks
$INSTIGATING_LOVER$ = { save_temporary_scope_as = instigating_character }$TARGET_OF_LOVE$ = { save_temporary_scope_as = target_of_love }are_characters_sensible_lovers_trigger = { INSTIGATING_LOVER = scope:instigating_character TARGET_OF_LOVE = scope:target_of_love }scope:instigating_character:- If a member of the Clergy › Their rite: The rite has Members of the Clergy are allowed to Marry
If
is_courtier = yesis_close_or_extended_family_of = liegehas_no_particular_noble_roots_trigger = no
Then
One of these
scope:target_of_love:or
is_deviant_trigger = yesor
Has the Trait: Lustfulor
trait_compatibility = { target = scope:target_of_love value >= high_positive_trait_compatibility }
If
Then
None of these
All of these
is_female = yesscope:target_of_love:is_female = yes
All of these
is_male = yesscope:target_of_love:is_male = yes
scope:target_of_love:- If a member of the Clergy › Their rite: The rite has Members of the Clergy are allowed to Marry
If
is_courtier = yesis_close_or_extended_family_of = liegehas_no_particular_noble_roots_trigger = no
Then
One of these
scope:instigating_character:or
is_deviant_trigger = yesor
Has the Trait: Lustfulor
trait_compatibility = { target = scope:instigating_character value >= high_positive_trait_compatibility }
If
Then
None of these
All of these
is_female = yesscope:target_of_love:is_female = yes
All of these
is_male = yesscope:target_of_love:is_male = 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)
are_characters_sensible_and_appropriate_lovers_trigger = {
$INSTIGATING_LOVER$ = { save_temporary_scope_as = instigating_character }
$TARGET_OF_LOVE$ = { save_temporary_scope_as = target_of_love }
are_characters_sensible_lovers_trigger = {
INSTIGATING_LOVER = scope:instigating_character
TARGET_OF_LOVE = scope:target_of_love
}
scope:instigating_character = {
OR = {
has_trait = lustful
any_relation = {
type = lover
count < 1
}
}
trigger_if = {
limit = {
is_clergy = yes
}
rite = {
rite_has_parameter = clergy_can_marry
}
}
trigger_if = {
limit = {
is_courtier = yes
is_close_or_extended_family_of = liege
has_no_particular_noble_roots_trigger = no
}
OR = {
scope:target_of_love = { has_no_particular_noble_roots_trigger = no }
is_deviant_trigger = yes
has_trait = lustful
trait_compatibility = {
target = scope:target_of_love
value >= high_positive_trait_compatibility
}
}
}
trigger_if = {
limit = {
OR = {
rite = {
rite_has_parameter = homosexuality_shunned
}
liege.rite ?= {
rite_has_parameter = homosexuality_shunned
}
rite = {
rite_has_parameter = homosexuality_illegal
}
liege.rite ?= {
rite_has_parameter = homosexuality_illegal
}
}
}
NOR = {
AND = {
is_female = yes
scope:target_of_love = { is_female = yes }
}
AND = {
is_male = yes
scope:target_of_love = { is_male = yes }
}
}
}
}
scope:target_of_love = {
OR = {
has_trait = lustful
any_relation = {
type = lover
count < 1
}
}
trigger_if = {
limit = {
is_clergy = yes
}
rite = {
rite_has_parameter = clergy_can_marry
}
}
trigger_if = {
limit = {
is_courtier = yes
is_close_or_extended_family_of = liege
has_no_particular_noble_roots_trigger = no
}
OR = {
scope:instigating_character = { has_no_particular_noble_roots_trigger = no }
is_deviant_trigger = yes
has_trait = lustful
trait_compatibility = {
target = scope:instigating_character
value >= high_positive_trait_compatibility
}
}
}
trigger_if = {
limit = {
OR = {
rite = {
rite_has_parameter = homosexuality_shunned
}
liege.rite ?= {
rite_has_parameter = homosexuality_shunned
}
rite = {
rite_has_parameter = homosexuality_illegal
}
liege.rite ?= {
rite_has_parameter = homosexuality_illegal
}
}
}As written in game/common/scripted_triggers/00_generic_event_sensibility_triggers.txt.
The first 120 of its 133 lines; the rest is in game/common/scripted_triggers/00_generic_event_sensibility_triggers.txt from line 141.
Where it is used
Every place in common/, events/ and history/ that calls are_characters_sensible_and_appropriate_lovers_trigger.
Story cycles (1)
- story_adventurer_ai
Events (1)
- … The Fishermen of …
pilgrimage_seasia.500
Scripted triggers (1)
Source: game/common/scripted_triggers/00_generic_event_sensibility_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.