Scripted effect
demand_concubine_interaction_on_accept_effect
demand_concubine_interaction_on_accept_effect = yesgame/common/scripted_effects/00_marriage_interaction_effects.txt, line 889 (222 lines). No parameters.
demand_concubine_interaction_on_accept_effect is a scripted effect in Crusader Kings III, written at line 889 of its file. It takes no parameters: demand_concubine_interaction_on_accept_effect = yes. The game's script calls it in 1 place, among them Demand Concubine (interaction). Its body carries 1 text of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/00_marriage_interaction_effects.txt.
The comment above it in the file
This effect has some small differences AGAIN to the previous one since this one has some roles reversed
What it does
scope:secondary_actor:- Event marriage_interaction.0040
- If imprisoned:
release_from_prison = yes- Opinion: Forced Me to Serve as a Concubine
- Every close family member:
If
a check the game hides
Then
- Opinion: Forced My Relative to Serve as a Concubine
If
One of these
None of these
- Their rite: Has the Concubines Doctrine
or
None of these
- Their rite: The rite has the tenet Polyamory
or
All of these
allowed_to_marry_same_sex_trigger = noscope:actor:sex_same_as = scope:secondary_actor
Then
- Opinion: Forced My Relative into a Blasphemous Union
If
NOT = { betrothed = scope:actor }
Then
break_betrothal = betrothed
- If number of concubines more than 0 › Every concubine › scope:secondary_actor:
remove_concubine = prev
If
is_concubine_of = scope:recipient
Then
scope:recipient:remove_concubine = scope:secondary_actor
- scope:actor › scope:actor:
• 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)
demand_concubine_interaction_on_accept_effect = {
if = {
limit = {
scope:actor = {
has_opinion_modifier = {
target = scope:recipient
modifier = offer_concubine_opinion
}
}
scope:recipient = { is_ai = no }
}
custom_tooltip = ALREADY_OFFERED_CONCUBINE_WARNING
}
scope:secondary_actor = {
save_scope_as = concubine_victim
trigger_event = marriage_interaction.0040
if = {
# Victim is angry for being forced into concubinage.
limit = {
is_imprisoned = yes
}
add_character_flag = {
flag = block_release_from_prison_event
days = 3
}
release_from_prison = yes
add_opinion = {
target = scope:actor
modifier = forced_me_concubine_marriage_opinion
}
}
# Family members of victim are also angry that you've forced them into concubinage.
every_close_family_member = {
if = {
limit = {
NOT = { this = scope:actor } # Don't hate yourself.
}
add_opinion = {
target = scope:actor
modifier = forced_family_concubine_marriage_opinion
}
hidden_effect = {
send_interface_message = {
type = msg_family_became_concubine
title = msg_close_family_member_taken_as_concubine_title
right_icon = scope:actor
left_icon = scope:secondary_actor
show_as_tooltip = { scope:actor = { make_concubine = scope:secondary_actor } }
}
}
# Family members are even *more* angry if they don't believe in concubines/polyamory (different from polygamy). Also if they don't accept same-sex relationships
if = {
limit = {
OR = {
NOT = { rite = { rite_has_doctrine = doctrine_concubines } }
NOT = { rite = { rite_has_tenet = tenet_polyamory } }
AND = {
allowed_to_marry_same_sex_trigger = no
scope:actor = { sex_same_as = scope:secondary_actor }
}
}
}
add_opinion = {
target = scope:actor
modifier = relative_in_blasphemous_union_opinion
}
}
}
}
# Spouses, if any exist, are also furious.
if = {
limit = {
is_married = yes
#A check to make sure you haven't somehow married them during the consideration time
NOT = { any_spouse = { this = scope:actor } }
}
every_spouse = {
if = {
limit = {
NOT = {
this = scope:actor
}
}
add_opinion = {
target = scope:actor
modifier = forced_spouse_concubine_marriage_opinion
}
}
divorce = scope:secondary_actor # no additional opinion hit, no scripted effect
save_scope_value_as = { # For tooltips in the coming event
name = was_spouse
value = yes
}
}
}
# Stealing concubines pisses the former concubinist off.
if = {
limit = {
is_concubine = yes
#A check to make sure you haven't somehow gotten them as concubine during the consideration time
NOT = { any_consort = { this = scope:actor } }
}
this.concubinist = {
if = {
limit = {
NOT = {
this = scope:actor
}
}
add_opinion = {
target = scope:actor
modifier = stole_concubine_opinion
}
}
remove_concubine = scope:secondary_actor # no additional opinion hit, no scripted effectAs written in game/common/scripted_effects/00_marriage_interaction_effects.txt.
The first 120 of its 222 lines; the rest is in game/common/scripted_effects/00_marriage_interaction_effects.txt from line 889.
Where it is used
Every place in common/, events/ and history/ that calls demand_concubine_interaction_on_accept_effect.
Character interactions (1)
Source: game/common/scripted_effects/00_marriage_interaction_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.