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

Scripted effect

select_critical_moment_agents_effect

select_critical_moment_agents_effect = { CHOICE = … }

game/common/scripted_effects/00_scheme_scripted_effects.txt, line 10936 (421 lines). Parameters: $CHOICE$.

select_critical_moment_agents_effect is a scripted effect in Crusader Kings III, written at line 10936 of its file. A call passes 1 parameter: CHOICE. The game's script calls it in 1 place, among them Conclude … (event scheme_critical_moments.0001). Patch 1.20.1.2, from game/common/scripted_effects/00_scheme_scripted_effects.txt.

The comment above it in the file

Add an agent type to a scheme.
When you add a new agent type, add them to the bottom of this effect. Everything else should be taken care of automatically.

What it does

  • If

    • $CHOICE$ = flag:agent_assassin

    Then

    • scope:scheme:
      • add_agent_slot = agent_assassin

    Else if

    • $CHOICE$ = flag:agent_lookout

    Then

    • scope:scheme:
      • add_agent_slot = agent_lookout

    Else if

    • $CHOICE$ = flag:agent_infiltrator

    Then

    • scope:scheme:
      • add_agent_slot = agent_infiltrator

    Else if

    • $CHOICE$ = flag:agent_footpad

    Then

    • scope:scheme:
      • add_agent_slot = agent_footpad

    Else if

    • $CHOICE$ = flag:agent_alibi

    Then

    • scope:scheme:
      • add_agent_slot = agent_alibi

    Else if

    • $CHOICE$ = flag:agent_thug

    Then

    • scope:scheme:
      • add_agent_slot = agent_thug

    Else if

    • $CHOICE$ = flag:agent_comrade_in_arms

    Then

    • scope:scheme:
      • add_agent_slot = agent_comrade_in_arms

    Else if

    • $CHOICE$ = flag:agent_socialite

    Then

    • scope:scheme:
      • add_agent_slot = agent_socialite

    Else if

    • $CHOICE$ = flag:agent_musician

    Then

    • scope:scheme:
      • add_agent_slot = agent_musician

    Else if

    • $CHOICE$ = flag:agent_tumbler

    Then

    • scope:scheme:
      • add_agent_slot = agent_tumbler

    Else if

    • $CHOICE$ = flag:agent_poet

    Then

    • scope:scheme:
      • add_agent_slot = agent_poet

    Else if

    • $CHOICE$ = flag:agent_gabbler

    Then

    • scope:scheme:
      • add_agent_slot = agent_gabbler

    Else if

    • $CHOICE$ = flag:agent_shill

    Then

    • scope:scheme:
      • add_agent_slot = agent_shill

    Else if

    • $CHOICE$ = flag:agent_diplomat

    Then

    • scope:scheme:
      • add_agent_slot = agent_diplomat

    Else if

    • $CHOICE$ = flag:agent_justiciar

    Then

    • scope:scheme:
      • add_agent_slot = agent_justiciar

    Else if

    • $CHOICE$ = flag:agent_scribe

    Then

    • scope:scheme:
      • add_agent_slot = agent_scribe

    Else if

    • $CHOICE$ = flag:agent_cleric

    Then

    • scope:scheme:
      • add_agent_slot = agent_cleric

    Else if

    • $CHOICE$ = flag:agent_theologian

    Then

    • scope:scheme:
      • add_agent_slot = agent_theologian

    Else if

    • $CHOICE$ = flag:agent_herald

    Then

    • scope:scheme:
      • add_agent_slot = agent_herald

    Else if

    • $CHOICE$ = flag:agent_wolf_hunter

    Then

    • scope:scheme:
      • add_agent_slot = agent_wolf_hunter

    Else if

    • $CHOICE$ = flag:agent_thief

    Then

    • scope:scheme:
      • add_agent_slot = agent_thief

    Else if

    • $CHOICE$ = flag:agent_tutor

    Then

    • scope:scheme:
      • add_agent_slot = agent_tutor

    Else if

    • $CHOICE$ = flag:agent_poisoner

    Then

    • scope:scheme:
      • add_agent_slot = agent_poisoner

    Else if

    • … (more in the script below)
  • … (more in the script below)

• 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)
select_critical_moment_agents_effect = {
	if = {
		limit = { $CHOICE$ = flag:agent_assassin }
		scope:scheme = { add_agent_slot = agent_assassin }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_assassin
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_lookout }
		scope:scheme = { add_agent_slot = agent_lookout }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_lookout
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_infiltrator }
		scope:scheme = { add_agent_slot = agent_infiltrator }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_infiltrator
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_footpad }
		scope:scheme = { add_agent_slot = agent_footpad }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_footpad
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_alibi }
		scope:scheme = { add_agent_slot = agent_alibi }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_alibi
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_thug }
		scope:scheme = { add_agent_slot = agent_thug }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_thug
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_comrade_in_arms }
		scope:scheme = { add_agent_slot = agent_comrade_in_arms }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_comrade_in_arms
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_socialite }
		scope:scheme = { add_agent_slot = agent_socialite }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_socialite
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_musician }
		scope:scheme = { add_agent_slot = agent_musician }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_musician
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_tumbler }
		scope:scheme = { add_agent_slot = agent_tumbler }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_tumbler
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_poet }
		scope:scheme = { add_agent_slot = agent_poet }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_poet
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_gabbler }
		scope:scheme = { add_agent_slot = agent_gabbler }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_gabbler
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_shill }
		scope:scheme = { add_agent_slot = agent_shill }
		# Error suppression.
		save_scope_value_as = {
			name = $CHOICE$
			value = flag:agent_shill
		}
	}
	else_if = {
		limit = { $CHOICE$ = flag:agent_diplomat }

As written in game/common/scripted_effects/00_scheme_scripted_effects.txt.

The first 120 of its 421 lines; the rest is in game/common/scripted_effects/00_scheme_scripted_effects.txt from line 10936.

Where it is used

Every place in common/, events/ and history/ that calls select_critical_moment_agents_effect.

Events (1)

Source: game/common/scripted_effects/00_scheme_scripted_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?