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

Scripted trigger

has_focus_or_focus_trait_trigger

has_focus_or_focus_trait_trigger = { FOCUS = … }

game/common/scripted_triggers/00_lifestyle_triggers.txt, line 342 (72 lines). Parameters: $FOCUS$.

has_focus_or_focus_trait_trigger is a scripted trigger in Crusader Kings III, written at line 342 of its file. A call passes 1 parameter: FOCUS. The game's script calls it in 54 places, among them Train for a Tournament (decision), story_mandala (story cycle) and book_topic_stewardship_architect (artifact). Patch 1.20.1.2, from game/common/scripted_triggers/00_lifestyle_triggers.txt.

What it checks

  • save_temporary_scope_value_as = { name = trigger_focus value = flag:$FOCUS$ }
  • One of these

    • has_focus = $FOCUS$
    • or

      If

      • scope:trigger_focus = flag:diplomacy_foreign_affairs_focus

      Then

      Else if

      • scope:trigger_focus = flag:diplomacy_majesty_focus

      Then

      Else if

      • scope:trigger_focus = flag:diplomacy_family_focus

      Then

      Else if

      • scope:trigger_focus = flag:martial_strategy_focus

      Then

      Else if

      • scope:trigger_focus = flag:martial_authority_focus

      Then

      Else if

      • scope:trigger_focus = flag:martial_chivalry_focus

      Then

      Else if

      • scope:trigger_focus = flag:stewardship_wealth_focus

      Then

      Else if

      • scope:trigger_focus = flag:stewardship_domain_focus

      Then

      Else if

      • scope:trigger_focus = flag:stewardship_duty_focus

      Then

      Else if

      • scope:trigger_focus = flag:intrigue_skulduggery_focus

      Then

      Else if

      • scope:trigger_focus = flag:intrigue_temptation_focus

      Then

      Else if

      • scope:trigger_focus = flag:intrigue_intimidation_focus

      Then

      Else if

      • scope:trigger_focus = flag:learning_medicine_focus

      Then

      Else if

      • scope:trigger_focus = flag:learning_scholarship_focus

      Then

      Else if

      • scope:trigger_focus = flag:learning_theology_focus

      Then

      Otherwise

      • Never

• 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 (72 lines of game script)
has_focus_or_focus_trait_trigger = {
	save_temporary_scope_value_as = {
		name = trigger_focus
		value = flag:$FOCUS$
	}
	OR = {
		has_focus = $FOCUS$
		trigger_if = {
			limit = { scope:trigger_focus = flag:diplomacy_foreign_affairs_focus }
			has_trait = diplomat
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:diplomacy_majesty_focus }
			has_trait = august
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:diplomacy_family_focus }
			has_trait = family_first
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:martial_strategy_focus }
			has_trait = strategist
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:martial_authority_focus }
			has_trait = overseer
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:martial_chivalry_focus }
			has_trait = gallant
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:stewardship_wealth_focus }
			has_trait = avaricious
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:stewardship_domain_focus }
			has_trait = architect
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:stewardship_duty_focus }
			has_trait = administrator
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:intrigue_skulduggery_focus }
			has_trait = schemer
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:intrigue_temptation_focus }
			has_trait = seducer
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:intrigue_intimidation_focus }
			has_trait = torturer
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:learning_medicine_focus }
			has_trait = whole_of_body
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:learning_scholarship_focus }
			has_trait = erudite
		}
		trigger_else_if = {
			limit = { scope:trigger_focus = flag:learning_theology_focus }
			has_trait = theologian
		}
		trigger_else = {
			always = no
		}
	}
}

As written in game/common/scripted_triggers/00_lifestyle_triggers.txt.

Where it is used

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

Story cycles (1)

  • story_mandala

Artifacts (1)

  • book_topic_stewardship_architect

Events (20)

14 more

Script values (15)

  • diplomacy_family_focus_friend_points
  • diplomacy_foreign_affairs_focus_friend_points
  • diplomacy_majesty_focus_friend_points
  • intrigue_intimidation_focus_friend_points
  • intrigue_skulduggery_focus_friend_points
  • intrigue_temptation_focus_friend_points
9 more
  • learning_medicine_focus_friend_points
  • learning_scholarship_focus_friend_points
  • learning_theology_focus_friend_points
  • martial_authority_focus_friend_points
  • martial_chivalry_focus_friend_points
  • martial_strategy_focus_friend_points
  • stewardship_domain_focus_friend_points
  • stewardship_duty_focus_friend_points
  • stewardship_wealth_focus_friend_points

Scripted modifiers (AI weights) (1)

  • ai_economical_building_preference_modifier

Customizable localization (2)

  • herhis_subject_of_interest
  • my_subject_of_interest

Source: game/common/scripted_triggers/00_lifestyle_triggers.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?