Scripted effect
progress_towards_lover_effect
progress_towards_lover_effect = { CHARACTER = … OPINION = … REASON = … }game/common/scripted_effects/00_relation_effects.txt, line 488 (91 lines). Parameters: $CHARACTER$, $OPINION$, $REASON$.
progress_towards_lover_effect is a scripted effect in Crusader Kings III, written at line 488 of its file. A call passes 3 parameters: CHARACTER, OPINION and REASON. The game's script calls it in 112 places, among them seductive_exchange (activity pulse), ... From My Friends (event imperial_examination.4030) and …: Caught! (event tour_general.4004). Patch 1.20.1.2, from game/common/scripted_effects/00_relation_effects.txt.
The comment above it in the file
Sets potential lover + opinion or upgrades potential lover to full lover
What it does
If
has_relation_potential_lover = $CHARACTER$can_set_relation_lover_trigger = { CHARACTER = $CHARACTER$ }
Then
If
has_activity_intent = woo_attendee_intentintent_target ?= $CHARACTER$intent_target.involved_activity ?= this.involved_activity
Then
complete_activity_intent = yes
Otherwise
If
can_set_relation_potential_lover_trigger = { CHARACTER = $CHARACTER$ }
Then
set_relation_potential_lover = $CHARACTER$
If
NOT = { scope:lover_opinion = 0 }
Then
reverse_add_opinion = { target = $CHARACTER$ modifier = romance_opinion opinion = scope:lover_opinion }
• 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 (91 lines of game script)
progress_towards_lover_effect = {
#If potential lover, set lover!
if = {
limit = {
has_relation_potential_lover = $CHARACTER$
can_set_relation_lover_trigger = { CHARACTER = $CHARACTER$ }
}
if = {
limit = {
exists = scope:relationship_reason_involved_character
exists = scope:relationship_reason_province
}
set_relation_lover = {
reason = $REASON$
target = $CHARACTER$
involved_character = scope:relationship_reason_involved_character
province = scope:relationship_reason_province
}
}
else_if = {
limit = {
exists = scope:relationship_reason_province
}
set_relation_lover = {
reason = $REASON$
target = $CHARACTER$
province = scope:relationship_reason_province
}
}
else_if = {
limit = {
exists = scope:relationship_reason_involved_character
}
set_relation_lover = {
reason = $REASON$
target = $CHARACTER$
involved_character = scope:relationship_reason_involved_character
}
}
else = {
set_relation_lover = {
reason = $REASON$
target = $CHARACTER$
}
}
# Complete activity intent if relevant
if = {
limit = {
exists = involved_activity
has_activity_intent = woo_attendee_intent
intent_target ?= $CHARACTER$
intent_target.involved_activity ?= this.involved_activity
}
save_scope_as = intent_completer
send_interface_toast = {
title = activity_intent_complete_toast
left_icon = $CHARACTER$
complete_activity_intent = yes
}
}
}
# If not...
else = {
# ... set potential relation if we're not already rivals!
if = {
limit = { can_set_relation_potential_lover_trigger = { CHARACTER = $CHARACTER$ } }
set_relation_potential_lover = $CHARACTER$
}
# ... add opinion if we should!
save_temporary_scope_value_as = {
name = lover_opinion
value = $OPINION$
}
if = {
limit = { NOT = { scope:lover_opinion = 0 } }
reverse_add_opinion = {
target = $CHARACTER$
modifier = romance_opinion
opinion = scope:lover_opinion
}
hidden_effect = {
add_opinion = {
target = $CHARACTER$
modifier = romance_opinion
opinion = scope:lover_opinion
}
}
}
}
}As written in game/common/scripted_effects/00_relation_effects.txt.
Where it is used
Every place in common/, events/ and history/ that calls progress_towards_lover_effect.
Activity pulse actions (1)
- seductive_exchange
Events (101)
- ... From My Friends
imperial_examination.4030 - …: Caught!
tour_general.4004 - …: Potential Suitors
tournament_events.1404 - …: the Garden
ep3_laamp_decision_event.1045 - …: the Potential Match
ep3_laamp_decision_event.1035 - A …'s Heart
ep2_wedding.1200
95 more
- A Bad Match
ep2_wedding.1180 - A Beautiful Specimen
hunt.5003 - A Bloom In The Wilderness
intrigue_temptation.3011 - A Fiery Dance
ep2_wedding.1050 - A Fortuitous Stroll
tournament_events.9003 - A Hunter's Poem
tgp_hunt.0006 - A Magnificent Welcome
ep2_wedding.1010 - A Meeting of Houses
ep2_wedding.3400 - A Misstep
ep2_wedding.1140 - A Moment to Talk
hunt.7100 - A Moment to Talk
hunt.7101 - A Moment to Talk
hunt.7103 - A Night to Die For
ep2_wedding.3060 - A Night to Forget: Walking in the Moonlight
relation_upgrade.1003 - A Night to Remember
ep2_wedding.3030 - A Rival's Reunion
feast_tsagaan_sar_events.0220 - A Single Night
feast_default.3006 - A Vision of Splendor
fp3_dynasty_decision.0005 - Alone in the Dark
tour_travel.3020 - An Admirer
feast_default.2002 - An Exotic Show
ep2_wedding.1070 - An Odd Request
bp1_yearly.9020 - At the Service of a …
legend_spread_events.0050 - By the Pond
witch.3015 - Caught in the Act
intrigue_temptation.3150 - Confessions
ep2_wedding.3010 - Courteous Courtiers
bp2_yearly.8110 - Danger: Killer Charm
travel_events.3130 - Defying Gravity
hunt.7020 - Deviancy
trait_specific_ongoing.6003 - Deviant Liege
trait_specific_ongoing.6002 - Dinner and a Show
feast_events_ewan.0201 - Distaste to Detest
bp1_yearly.7100 - Do You Know of …?
prelude_events.0150 - Drawn to the Flame
yearly.1070 - Dreams of Destruction
fp2_struggle.1050 - Exotic Espand
fp3_yearly.8003 - Extremes of Passion
intrigue_temptation.3161 - Family First
tgp_travel_events.0025 - fund_inspiration.6301
- Homesick
nomad_events.0230 - I Need a Hero
court.4751 - Imperial Melange
chariot_race_ongoing_jp.0200 - In Times Past
ep2_locale_events.1070 - Inspiration: Burning Thirst
fund_inspiration.6502 - Inspiration: Unhappy Stanza
fund_inspiration.6300 - Late Night Baijiu
imperial_examination.4050 - Learn Language: Lexical Love
learn_language_ongoing.1130 - Learn Language: The Lure of Poetry
learn_language_ongoing.1110 - May I...?
cultural_festival.3060 - My … Friend
lover.7002 - Nice to See You
prelude_events.0030 - Obsession
stress_trait_ongoing.1501 - Of Love and Lust
intrigue_temptation_special.1005 - Old as Stone
ep2_locale_events.5500 - Peacocking
hunt.8000 - Religious Complaints
ep2_wedding.1190 - Religious Study: A Second Pair of Hands
study_scripture_outcome.1040 - Romance: Competition
court_ongoing.1110 - Romantic Scouting
ep2_wedding.1150 - Select Society
chariot_race_ongoing_jp.0201 - Spreading Joy
tgp_japan_yearly_events.0001 - Study Rite: Pleasures of the Faith
study_faith_ongoing.1130 - Study Rite: The Allure of … Poetry
study_faith_ongoing.1110 - Study: A Supportive Partner
study_confucian_classics_outcome.1040 - Temple: Performative Worship
ep2_locale_events.1501 - The … …: an Omen
hunt.8540 - The … Address
chariot_race.0201 - The … Rival
lover.7004 - The Arrival
pilgrimage.4002 - The Burden of Pregnancy
bp2_yearly.8120 - The Dilemma
feast_default.6251 - The Eager …
feast_default.2006 - The Flower Thief
yearly.9110 - The Giver of the Games
chariot_race.0200 - The Lady of the Land
fp3_yearly.8020 - The Oldest Joke In The Book
yearly.1060 - The Ten Days of the Dead
fp3_yearly.8032 - Timid Beginnings
ep2_wedding.3000 - To Forgive, Divine
feast_events_flavor.0002 - Tourney Troubles
relation_upgrade.0001 - Tourney Troubles
relation_upgrade.0011 - Triumph's Allure
tournament_events.6510 - Triumph's Allure
tournament_events.6511 - Triumph's Allure
tournament_events.6513 - Tumble Trouble
vassal.3002 - Tumble Trouble
vassal.3003 - Tumble Trouble
vassal.3004 - Unsheathed
mpo_events_ariana.0041 - Wandering Hearts
intrigue_temptation.3120 - What Beautiful... Stitching
intrigue_temptation.3100 - What You Are
pam_generic_events.0003 - Why Me?
ep2_wedding.1300 - Why Me?
ep2_wedding.1301 - Why Trot When You Can Ride?
migration_events.1010
Scripted effects inside an event file (4)
- coronation_events_1019_memory_reward_effect
- intrigue_temptation_3022_great_outcome_effect
- tour_grounds_events_6000_sex_effect
- tournament_gift_relationship_effect
Source: game/common/scripted_effects/00_relation_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.