Hands-On Usage
This trigger is commonly found in faction mods or alliance system-related scripts, used to determine whether a nation's faction has unlocked military action permissions, thereby deciding whether to display or activate relevant decisions and focus branches. For example, it can serve as a prerequisite check in the available block of a decision for a faction's joint military operation:
available = {
is_faction_leader = yes
has_faction_military_unlocked = yes
}
Synergy
[faction_upgrade_level](/wiki/trigger/faction_upgrade_level): Commonly used in conjunction to further check whether the faction's upgrade level meets the threshold for unlocking military actions; both together form a layered condition.
[has_completed_faction_goal](/wiki/trigger/has_completed_faction_goal): Faction military unlock is typically tied to completion of specific faction objectives; used together to verify whether the complete unlock prerequisite chain is satisfied.
[faction_goal_fulfillment](/wiki/trigger/faction_goal_fulfillment): Used to quantitatively assess the completion progress of faction objectives; paired with this trigger enables tiered design such as "display military options only after reaching certain progress."
[add_faction_initiative](/wiki/effect/add_faction_initiative): Once conditions are met, invoke this effect within the effect block to advance faction initiative; logically forms a complete flow of "first verify military is unlocked, then increase authority."
Common Pitfalls
- Scope Error: This trigger must be used under COUNTRY scope; if mistakenly written within STATE or CHARACTER scope it will cause a direct error or silently return false. When debugging, beginners should prioritize checking whether the current scope is at the national level.
- Confusing "Faction Leader" with "Regular Members": This trigger checks whether the nation's current faction has unlocked the feature, not whether the nation itself has permission; if the faction leader has not yet advanced the corresponding upgrade, member nations calling this trigger will likewise return false. Do not mistake this for an error in script syntax.