CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Scripted effect · Coronations files

coronation_update_supporters_detractors_effect

coronation_update_supporters_detractors_effect = yes

game/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 = detractor
    • scope: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
  • 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 = supporter
    • scope: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

• 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:host

As 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)

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.

Spotted a mistake on this page?