Wiki

trigger · focus_progress

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

checks focus progress example:
 focus_progress = { focus = id progress > 0.5 }

Hands-On Notes

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.

Hands-On Usage

focus_progress is commonly used to dynamically unlock or block certain decisions, advisors, or event options during a focus's execution. For example, you can allow a specific event to trigger or enable a decision only after the player has progressed a key focus past the halfway mark. In custom focus tree mods, it can also serve as a "progress gate check" to prevent players from bypassing intermediate steps and directly claiming rewards.

# A decision becomes available to the player only when focus_id progress exceeds 50%
available = {
    focus_progress = {
        focus = my_custom_focus
        progress > 0.5
    }
}

Synergy

  • [has_completed_focus](/wiki/trigger/has_completed_focus): These two are often paired to create a dual "in-progress vs completed" check. focus_progress detects progress on an active focus, while has_completed_focus checks if it has finished, covering the complete lifecycle.
  • [has_decision](/wiki/trigger/has_decision): When a decision needs to be staged as a focus progresses, combining it with focus_progress allows precise control over the decision's available window.
  • [activate_targeted_decision](/wiki/effect/activate_targeted_decision): Called within on_complete or event effects after the focus reaches a threshold, linking "progress detection" and "decision activation" into a complete workflow.
  • [country_event](/wiki/effect/country_event): Used alongside focus_progress as a condition in event triggers to implement narrative design where "reaching a certain focus stage automatically triggers a story event".

Common Pitfalls

  1. The progress range is 0 to 1, not 0 to 100: Beginners often write progress > 50, causing the condition to always evaluate false (a focus's maximum progress value is 1.0). The correct syntax is progress > 0.5.
  2. Using this trigger on a completed focus returns false: focus_progress only works on focuses that are currently in progress. Once a focus is completed, its progress data no longer exists. Use [has_completed_focus](/wiki/trigger/has_completed_focus) instead to check completion status.