Hands-On Usage
has_completed_faction_goal is commonly used in faction cooperation mods. When a faction completes a specific milestone objective, it unlocks subsequent decisions, triggers reward events, or opens new national focus tree branches. For example, in a multi-nation alliance mod, you can check whether the alliance has completed a strategic objective before allowing the leading nation to initiate the next phase of war goals:
available = {
has_completed_faction_goal = faction_goal_phase_one
}
Synergy
[add_faction_goal](/wiki/effect/add_faction_goal): Typically use this effect first to add objectives to a faction, then use has_completed_faction_goal to check whether that objective is achieved, forming a complete "assign objective → verify completion" workflow.
[faction_goal_fulfillment](/wiki/trigger/faction_goal_fulfillment): Both can work together to distinguish between "partial completion" and "full completion" logic. The former handles progress percentage checks, while the latter handles final completion status.
[add_faction_goal_slot](/wiki/effect/add_faction_goal_slot): After confirming that old objectives are complete, combine this effect with opening new objective slots to achieve phased progression of faction goals.
[country_event](/wiki/effect/country_event): Place the trigger in event firing conditions so that narrative events are automatically pushed to the player when faction objectives are achieved, providing clear feedback and story beats.
Common Pitfalls
- Incorrect goal_id: Beginners often misspell the goal ID defined in
add_faction_goal or use inconsistent casing, causing the trigger to always return false with no clear reason. Always ensure that the IDs in both places match exactly.
- Scope confusion: This trigger only works within COUNTRY scope. If mistakenly placed within STATE or CHARACTER scope, the game will not error but the condition will never be true. When debugging, pay special attention to verifying that the outer scope correctly points to a country.