trigger · is_character
Definition
- Supported scope:
CHARACTER - Supported target:
none
Description
Checks whether the character in scope matches the character in input
is_characterCHARACTERnoneChecks whether the character in scope matches the character in input
Hands-on notes are AI-generated and checked against the vanilla command vocabulary — treat them as a starting point, not authoritative reference. The definition above is the game's own documentation.
is_character is commonly used in character-exclusive events or decisions to ensure effects trigger only for specific characters, such as in general death events or advisor recruitment logic where precise targeting of the character is required. It can also be used within limit blocks to filter out a unique character before executing subsequent operations, preventing logic from inadvertently affecting other characters.
# Example event option: remove a specific trait only if the current character is the designated general
option = {
trigger = {
is_character = GER_erwin_rommel
}
remove_unit_leader_trait = ill_supplied
}
[has_trait](/wiki/trigger/has_trait): First use is_character to lock in a specific character, then use has_trait to check whether they possess a certain trait, enabling compound conditions like "for this person and satisfying this condition".[is_field_marshal](/wiki/trigger/is_field_marshal): Combine with is_character to confirm that the character is both the designated person and holds the position of field marshal, commonly used for promotions or story unlocks.[remove_unit_leader_trait](/wiki/effect/remove_unit_leader_trait): After confirming character identity with the condition, execute trait removal to ensure the effect applies precisely to the target character and not other characters in the same scope.[set_character_flag](/wiki/effect/set_character_flag): Pair with is_character to set flags on specific characters, useful for tracking whether that character has already experienced a particular story branch.is_character directly under country or division scope will cause script errors or silent failures. You must first enter the correct scope using any_character/every_character or similar constructs before using it.is_character = GER will not produce a syntax error but will always evaluate to false logically. The correct approach is to use the specific character token declared in the character definition files (e.g., GER_erwin_rommel).