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

Scripted trigger

block_exposed_secret_general_notifications

block_exposed_secret_general_notifications = yes

game/common/scripted_triggers/00_secret_triggers.txt, line 197 (38 lines). No parameters.

block_exposed_secret_general_notifications is a scripted trigger in Crusader Kings III, written at line 197 of its file. It takes no parameters: block_exposed_secret_general_notifications = yes (or no). The game's script calls it in 2 places, among them show_me_exposed_secret_event_trigger (scripted trigger) and show_me_exposed_secret_feed_message_trigger (scripted trigger). Patch 1.20.1.2, from game/common/scripted_triggers/00_secret_triggers.txt.

What it checks

  • One of these

    • this = scope:secret_exposer
    • or

      this = scope:exposed_secret_character
    • or

      this = scope:exposed_secret_owner
    • or

      All of these

      • exists = scope:exposed_secret_target
      • this = scope:exposed_secret_target
    • or

      If

      • scope:secret:
        • secret_type = secret_lover

      Then

      • One of these

        • is_spouse_of = scope:exposed_secret_owner
        • or

          has_relation_lover = scope:exposed_secret_owner
        • or

          is_spouse_of = scope:exposed_secret_target
        • or

          has_relation_lover = scope:exposed_secret_target

      Else if

      • scope:secret:
        • One of these

          • secret_type = secret_disputed_heritage
          • or

            secret_type = secret_unmarried_illegitimate_child

      Then

      • One of these

        • scope:exposed_secret_target.mother = scope:show_me
        • or

          scope:exposed_secret_target.real_father = scope:show_me

• 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 (38 lines of game script)
block_exposed_secret_general_notifications = { #Because you're already getting your own, special event
	OR = {
		#Is one of the involved parties
		this = scope:secret_exposer
		this = scope:exposed_secret_character
		this = scope:exposed_secret_owner
		AND = {
			exists = scope:exposed_secret_target
			this = scope:exposed_secret_target
		}
		#For lover secret: No events for spouses or lovers, they get infidelity_confrontation.1000 instead
		trigger_if = {
			limit = { scope:secret = { secret_type = secret_lover } }
			OR = {
				is_spouse_of = scope:exposed_secret_owner
				has_relation_lover = scope:exposed_secret_owner
				is_spouse_of = scope:exposed_secret_target
				has_relation_lover = scope:exposed_secret_target
			}
		}
		#For bastard secrets: No events for child mother and real father
		trigger_else_if = {
			limit = {
				scope:secret = {
					OR = {
						secret_type = secret_disputed_heritage
						secret_type = secret_unmarried_illegitimate_child
					}
				}
			}
			OR = {
				scope:exposed_secret_target.mother = scope:show_me #mother
				scope:exposed_secret_target.real_father = scope:show_me #real father
			}
		}
		trigger_else = { } #Just to avoid errors
	}
}

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

Where it is used

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

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