Scripted trigger
portrait_wear_helmet_trigger
portrait_wear_helmet_trigger = yesgame/common/scripted_triggers/00_clothing_triggers.txt, line 285 (145 lines). No parameters.
portrait_wear_helmet_trigger is a scripted trigger in Crusader Kings III, written at line 285 of its file. It takes no parameters: portrait_wear_helmet_trigger = yes (or no). The game's script calls it in 2 places, among them portrait_war_nobles_helmet_ccp5_trigger (scripted trigger) and portrait_war_nobles_helmet_trigger (scripted trigger). Patch 1.20.1.2, from game/common/scripted_triggers/00_clothing_triggers.txt.
What it checks
If
a check the game hides
Then
- Their activity:
NOT = { has_activity_type = activity_hunt }NOT = { has_activity_type = activity_pilgrimage }NOT = { has_activity_type = activity_roaming }
- Their activity:
- Is not incapable
- Is not imprisoned
NOT = { has_court_position = court_astrologer_court_position }One of these
All of these
- Is a ruler
- Government is Adventurer
- Has the Swords-for-Hire Law
or
All of these
- Has the Trait: Military Order Member
One of these
is_commanding_army = yesor
exists = knight_army
or
All of these
is_commanding_army = yesOne of these
is_landed_or_landless_administrative_or_theocratic = noor
All of these
exists = primary_titleOne of these
primary_title.tier < tier_kingdomor
portrait_wear_no_crown_trigger = yes
or
exists = knight_armyor
All of these
is_knight = yes- Is not a Councillor
One of these
is_landed_or_landless_administrative_or_theocratic = noor
All of these
exists = primary_titleprimary_title.tier < tier_kingdom- Their liege: Is at War
Not all of these
- Is not a ruler
- Government is Adventurer
- Their liege:
- Is at not War
- Does NOT have the Swords-for-Hire Law
or
All of these
has_council_position = councillor_marshalOne of these
is_landed_or_landless_administrative_or_theocratic = noor
primary_title.tier < tier_duchy
or
has_character_flag = wear_armoror
has_character_flag = is_currently_varangianor
has_character_flag = single_combat_duel_armoror
activity_tournament_armor_trigger = yesor
All of these
has_character_flag = military_outfit- Is not a ruler
or
All of these
- Is not an Independent Ruler
- Government allows: merit
One of these
vassal_contract_has_flag = province_militaryor
vassal_contract_has_flag = celestial_grand_marshal_obligationor
All of these
has_council_position = councillor_marshal- Their liege:
One of these
All of these
- Is an Independent Ruler
- Highest held Title is at least Kingdom Rank
or
tgp_is_ceremonial_liege_trigger = yes
- Is an Adult
- If has the Trait: Monk:
- Their rite: The rite has Members of the Clergy can serve as Commanders or Knights
save_temporary_scope_as = fighter_tempcan_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:fighter_temp }
NOT = { activity_tournament_shirtless_trigger = yes }Not all of these
- Has the Trait: Peasant Leader
One of these
- Is not a ruler
or
is_leading_faction_type = peasant_factionor
All of these
- Is a ruler
is_landed_or_landless_administrative_or_theocratic = no
• 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)
portrait_wear_helmet_trigger = { # Different from Armor, as (crowned) Kings and Emperors should show their crowns!
exists = this
trigger_if = {
limit = { exists = involved_activity }
involved_activity = {
NOR = {
has_activity_type = activity_hunt
has_activity_type = activity_pilgrimage
has_activity_type = activity_roaming
}
}
}
is_incapable = no
is_imprisoned = no
NOT = { has_court_position = court_astrologer_court_position }
trigger_if = {
limit = { portrait_sickness_trigger = yes }
is_in_army = yes
}
OR = {
# Adventurers
AND = {
is_ruler = yes
government_has_flag = government_is_landless_adventurer
has_realm_law = camp_purpose_mercenaries
}
# Military Orders
# Rank-and-file military order members only wear helmets when actively fighting
# (commanding an army or riding out as a knight). Otherwise they're shown in their
# tonsured monastic form. Mirrors the commanding-army / knight_army logic used for
# regular knights & marshals below. NOTE: portrait_wear_armor_trigger still lets
# them wear their armor at all times, per the military-order aesthetic.
AND = {
has_trait = order_member
OR = {
is_commanding_army = yes
exists = knight_army
}
}
# Commanding and lower than a King or uncrowned
AND = {
is_commanding_army = yes
OR = {
is_landed_or_landless_administrative_or_theocratic = no
AND = {
exists = primary_title
OR = {
primary_title.tier < tier_kingdom
portrait_wear_no_crown_trigger = yes
}
}
}
}
# Knight in an army
exists = knight_army
# Non-Council Knight lower than King and liege is at war
AND = {
is_knight = yes
is_councillor = no
OR = {
is_landed_or_landless_administrative_or_theocratic = no
AND = {
exists = primary_title
primary_title.tier < tier_kingdom
liege = { is_at_war = yes }
}
}
NAND = {
is_ruler = no
government_has_flag = government_is_landless_adventurer
liege ?= {
is_at_war = no
NOT = { has_realm_law = camp_purpose_mercenaries }
}
}
}
# Marshal lower than Duke
AND = {
has_council_position = councillor_marshal
OR = {
is_landed_or_landless_administrative_or_theocratic = no
primary_title.tier < tier_duchy
}
}
has_character_flag = wear_armor
# Serving Varangian
has_character_flag = is_currently_varangian
# In a Duel
has_character_flag = single_combat_duel_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
}
# Military style governor
AND = {
is_independent_ruler = no
government_allows = merit
OR = {
vassal_contract_has_flag = province_military
vassal_contract_has_flag = celestial_grand_marshal_obligation
AND = {
has_council_position = councillor_marshal
liege = {
OR = {
AND = {
is_independent_ruler = yes
highest_held_title_tier >= tier_kingdom
}
tgp_is_ceremonial_liege_trigger = yes
}
}
}
}
is_adult = yes
trigger_if = {
limit = { has_trait = devoted }
rite = { rite_has_parameter = clergy_can_fight }
}As written in game/common/scripted_triggers/00_clothing_triggers.txt.
The first 120 of its 145 lines; the rest is in game/common/scripted_triggers/00_clothing_triggers.txt from line 285.
Where it is used
Every place in common/, events/ and history/ that calls portrait_wear_helmet_trigger.
Scripted triggers (2)
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.