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

Scripted trigger

portrait_wear_armor_trigger

portrait_wear_armor_trigger = yes

game/common/scripted_triggers/00_clothing_triggers.txt, line 123 (117 lines). No parameters.

portrait_wear_armor_trigger is a scripted trigger in Crusader Kings III, written at line 123 of its file. It takes no parameters: portrait_wear_armor_trigger = yes (or no). The game's script calls it in 14 places, among them portrait_armor_generic_trigger (scripted trigger), portrait_commoner_armor_trigger (scripted trigger) and portrait_high_nobles_armor_trigger (scripted trigger). Patch 1.20.1.2, from game/common/scripted_triggers/00_clothing_triggers.txt.

What it checks

  • Is not incapable
  • Is not imprisoned
  • If

    a check the game hides

    Then

    • Their activity:
      • has_activity_type = activity_tournament
  • None of these

  • portrait_ep2_wedding_clothes_trigger = no
  • If

    Then

    • is_in_army = yes
  • One of these

    • All of these

      • Is a ruler
      • One of these

    • or

      Has the Trait: Military Order Member
    • or

      is_commanding_army = yes
    • or

      exists = knight_army
    • or

      All of these

      • One of these

      • Is not a Councillor
      • One of these

        • All of these

        • or

          has_court_position = bodyguard_court_position
        • or

          has_court_position = champion_court_position
        • or

          has_court_position = garuda_court_position
        • or

          has_court_position = akolouthos_court_position
        • or

          has_court_position = master_of_arms_camp_officer
        • or

          has_court_position = light_cavalry_captain_camp_officer
        • or

          has_court_position = camelry_captain_camp_officer
        • or

          has_court_position = elephantry_captain_camp_officer
        • or

          has_court_position = heavy_cavalry_captain_camp_officer
        • or

          has_court_position = horse_archer_captain_camp_officer
        • or

          has_court_position = archer_captain_camp_officer
        • or

          has_court_position = heavy_infantry_captain_camp_officer
        • or

          has_court_position = light_infantry_captain_camp_officer
        • or

          has_court_position = pike_captain_camp_officer
    • or

      All of these

    • or

      If

      Then

    • or

      has_character_flag = wear_armor
    • or

      has_character_flag = is_currently_varangian
    • or

      has_character_flag = single_combat_duel_armor
    • or

      has_character_flag = forced_knight_armor
    • or

      activity_tournament_armor_trigger = yes
    • or

      All of these

      • has_character_flag = military_outfit
      • Is not a ruler
    • or

      If

      a check the game hides

      Then

      • death_reason = death_battle

• 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 (117 lines of game script)
portrait_wear_armor_trigger = {
	exists = this
	is_incapable = no
	is_imprisoned = no
	trigger_if = {
		limit = { exists = involved_activity }
		involved_activity = { has_activity_type = activity_tournament }
	}
	NOT = {
		OR = {
			has_court_position = court_astrologer_court_position
			has_any_charioteer_trait = yes
		}
	}
	portrait_ep2_wedding_clothes_trigger = no
	trigger_if = {
		limit = { portrait_sickness_trigger = yes }
		is_in_army = yes
	}
	OR = {
		# Mercenaries, Military Orders, Adventurers
		AND = {
			is_ruler = yes
			OR = {
				government_has_flag = government_is_mercenary
				government_has_flag = government_is_military_holy_order
				has_realm_law = camp_purpose_mercenaries
				has_realm_law = camp_purpose_brigands
			}
		}
		has_trait = order_member
		# Commanding an army
		is_commanding_army = yes
		# Knight in an army
		exists = knight_army
		AND = {
			OR = {
				is_landed_or_landless_administrative_or_theocratic = no
				liege = { is_at_war = yes }
			}
			is_councillor = no
			OR = {
				AND = {
					is_knight = yes
					NAND = {
						is_ruler = no
						government_has_flag = government_is_landless_adventurer
						liege ?= {
							NOR = {
								has_realm_law = camp_purpose_mercenaries
								has_realm_law = camp_purpose_brigands
							}
							is_at_war = no
						}
					}
				}
				has_court_position = bodyguard_court_position
				has_court_position = champion_court_position
				has_court_position = garuda_court_position
				has_court_position = akolouthos_court_position
				has_court_position = master_of_arms_camp_officer
				has_court_position = light_cavalry_captain_camp_officer
				has_court_position = camelry_captain_camp_officer
				has_court_position = elephantry_captain_camp_officer
				has_court_position = heavy_cavalry_captain_camp_officer
				has_court_position = horse_archer_captain_camp_officer
				has_court_position = archer_captain_camp_officer
				has_court_position = heavy_infantry_captain_camp_officer
				has_court_position = light_infantry_captain_camp_officer
				has_court_position = pike_captain_camp_officer
			}
		}
		# Marshal lower than Duke
		AND = {
			has_council_position = councillor_marshal
			OR = {
				is_landed_or_landless_administrative_or_theocratic = no
				primary_title.tier < tier_kingdom
			}
		}
		# Military style governor
		trigger_if = {
			limit = {
				is_independent_ruler = no
				government_allows = merit
			}
			OR = {
				vassal_contract_has_flag = province_military
				vassal_contract_has_flag = celestial_grand_marshal_obligation
			}
			is_adult = yes
			trigger_if = {
				limit = { has_trait = devoted }
				rite = { rite_has_parameter = clergy_can_fight }
			}
			save_temporary_scope_as = fighter_temp
			can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:fighter_temp }
		}
		has_character_flag = wear_armor
		# Serving Varangian
		has_character_flag = is_currently_varangian
		# In a Duel
		has_character_flag = single_combat_duel_armor
		has_character_flag = forced_knight_armor
		# In a Tournament
		activity_tournament_armor_trigger = yes
		AND = { # In case these characters become landed they should stop wearing armor
			has_character_flag = military_outfit
			is_ruler = no
		}
		# Died in battle
		trigger_if = {
			limit = { is_alive = no }
			death_reason = death_battle
		}
	}
}

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

Where it is used

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

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