trigger · has_army_ledger
Definition
- Supported scope:
CHARACTER - Supported target:
none
Description
has_army_ledger = yes/no - Checks if the current character has an army ledger
has_army_ledgerCHARACTERnonehas_army_ledger = yes/no - Checks if the current character has an army ledger
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.
has_army_ledger is commonly used to determine whether a character possesses an army ledger (i.e., whether the character has been assigned a military command-related leader role), thereby deciding whether to trigger specific bonuses, traits, or event branches. For example, in a custom general growth system, you can confirm the character's role identity before promoting skills, avoiding incorrect assignments to non-army characters.
# Only allow acquiring specific traits when the character holds an army ledger
add_unit_leader_trait = {
limit = {
has_army_ledger = yes
}
trait = infantry_expert
}
[is_army_leader](/wiki/trigger/is_army_leader): These two are often used in combination. is_army_leader checks whether a character is actively commanding army forces, and paired with has_army_ledger provides a dual confirmation that the character both possesses an army ledger and is in an actual command state.[has_navy_ledger](/wiki/trigger/has_navy_ledger), [has_air_ledger](/wiki/trigger/has_air_ledger): Typically appear in mutually exclusive patterns to distinguish between the three military branches, ensuring specific logic only applies to characters of the corresponding unit type.[add_unit_leader_trait](/wiki/effect/add_unit_leader_trait): Used as a gate condition in limit blocks with has_army_ledger to ensure only army ledger holders can be granted the corresponding army-exclusive traits.[has_trait](/wiki/trigger/has_trait): When used together with has_army_ledger, simultaneously checks whether a character already has a prerequisite trait before granting a new one, forming a multi-condition composite check.has_army_ledger only functions within CHARACTER scope. Using it in other scopes such as COUNTRY or STATE will cause script errors or silent failures. Be sure to call it only after entering the correct scope (such as through iterators like any_army_leader).is_army_leader: has_army_ledger checks whether a character has been assigned an army ledger (character type level), not whether they are actively commanding troops. The semantics are different, and mixing them up will result in condition checks that don't match expectations.