Scripted effect · Coronations files
coronation_update_supporters_detractors_effect
coronation_update_supporters_detractors_effect = yesgame/common/scripted_effects/10_ach_effects.txt, line 6532 (412 lines). No parameters.
coronation_update_supporters_detractors_effect is a scripted effect in Crusader Kings III, in the Coronations files, written at line 6532 of its file. It takes no parameters: coronation_update_supporters_detractors_effect = yes. The game's script calls it in 3 places, among them The Ceremony (event coronation_events.0205), The Feast (event coronation_events.0210) and The Prelude (event coronation_events.0200). Patch 1.20.1.2, from game/common/scripted_effects/10_ach_effects.txt.
What it does
- Every attending character:
- Only some of them (the filter is in the script below)
scope:activity:add_to_guest_subset = { name = detractor target = prev }
- Every guest subset:
- Only some of them (the filter is in the script below)
name = detractorscope:activity:remove_from_guest_subset = { name = detractor target = prev }
If
- Guest subset (at least 3):
name = detractor
Then
- One guest subset, picked in order:
name = detractor
Else if
- Guest subset (exactly 2):
name = detractor
Then
- One guest subset, picked in order:
name = detractor
Else if
- Guest subset (exactly 1):
name = detractor
Then
- One guest subset, picked in order:
name = detractor
- Guest subset (at least 3):
- Every attending character:
- Only some of them (the filter is in the script below)
scope:activity:add_to_guest_subset = { name = supporter target = prev }
- Every guest subset:
- Only some of them (the filter is in the script below)
name = supporterscope:activity:remove_from_guest_subset = { name = supporter target = prev }
If
- Guest subset (at least 3):
name = supporter
Then
- One guest subset, picked in order:
name = supporter
Else if
- Guest subset (exactly 2):
name = supporter
Then
- One guest subset, picked in order:
name = supporter
Else if
- Guest subset (exactly 1):
name = supporter
Then
- One guest subset, picked in order:
name = supporter
- Guest subset (at least 3):
• 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)
coronation_update_supporters_detractors_effect = {
#Add appropriate characters to detractors
every_attending_character = {
limit = {
NOR = {
is_in_guest_subset = { name = detractor }
government_has_flag = government_is_herder
this = scope:host
has_activity_intent = coronation_offer_support
}
trigger_if = {
limit = {
has_activity_intent = coronation_disrupt_loyalists
}
has_activity_intent = coronation_disrupt_loyalists
}
trigger_else = {
#Opinion combined with a less direct reason
opinion = {
target = scope:host
value < -10
}
OR = {
opinion = {
target = scope:host
value < -50
}
AND = {
is_a_faction_member = yes
is_vassal_of = scope:host
}
has_activity_intent = coronation_seize_advantages
is_causing_raid_hostility_towards = scope:host
scope:host = {
is_causing_raid_hostility_towards = prev
}
is_at_war_with = scope:host
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:host }
}
}
scope:activity = {
trigger_if = {
limit = {
has_variable_list = blocked_from_detractors
}
NOT = {
is_target_in_variable_list = {
name = blocked_from_detractors
target = prev
}
}
}
trigger_if = {
limit = {
has_variable_list = locked_into_supporters
}
NOT = {
is_target_in_variable_list = {
name = locked_into_supporters
target = prev
}
}
}
}
#Players should have a reason they can see for their assignment
trigger_if = {
limit = {
is_ai = no
}
OR = {
has_activity_intent = coronation_disrupt_loyalists
AND = {
is_a_faction_member = yes
is_vassal_of = scope:host
}
is_causing_raid_hostility_towards = scope:host
scope:host = {
is_causing_raid_hostility_towards = prev
}
is_at_war_with = scope:host
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:host }
reverse_opinion = {
target = scope:host
value < -80
}
}
}
}
scope:activity = {
add_to_guest_subset = {
name = detractor
target = prev
}
}
}
#Remove inappropriate detractors
every_guest_subset = {
name = detractor
limit = {
scope:activity = {
trigger_if = {
limit = {
has_variable_list = locked_into_detractors
}
NOT = {
is_target_in_variable_list = {
name = locked_into_detractors
target = prev
}
}
}
}
OR = {
government_has_flag = government_is_herder
this = scope:host
has_activity_intent = coronation_offer_support
NOR = {
has_activity_intent = coronation_disrupt_loyalists
opinion = {
target = scope:hostAs written in game/common/scripted_effects/10_ach_effects.txt.
The first 120 of its 412 lines; the rest is in game/common/scripted_effects/10_ach_effects.txt from line 6532.
Where it is used
Every place in common/, events/ and history/ that calls coronation_update_supporters_detractors_effect.
Events (3)
- The Ceremony
coronation_events.0205 - The Feast
coronation_events.0210 - The Prelude
coronation_events.0200
Source: game/common/scripted_effects/10_ach_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.