Wiki

effect · clr_project_flag

Definition

  • Supported scope:SPECIAL_PROJECT
  • Supported target:none

Description

clear project flag

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

clr_project_flag is used in the lifecycle management of Special Projects to clear status markers previously set via set_project_flag. It is commonly employed when resetting old phase markers during phase transitions, or cleaning up temporary flags when a project completes or is interrupted. For example, after a prototype research phase concludes, clearing the marker representing "accelerated research in progress" prevents subsequent condition checks from triggering incorrectly.

# After a project completes a phase, clear the temporary acceleration flag
SPECIAL_PROJECT = {
    complete_prototype_reward_option = {
        option = {
            effect = {
                clr_project_flag = accelerated_phase_active
            }
        }
    }
}

Synergy

  • [has_project_flag](/wiki/trigger/has_project_flag): Before clearing a flag, it is standard practice to first use this trigger to confirm the flag exists, avoiding meaningless operations or logical inconsistencies.
  • [set_project_flag](/wiki/effect/set_project_flag): These two effects are inverse operations—set applies the flag while clr revokes it, and they commonly appear in pairs during phase transitions.
  • [modify_project_flag](/wiki/effect/modify_project_flag): When you need to update a flag's value rather than simply clearing it, consider this as an alternative. Clarifying the semantic boundary between "clearing" and "modifying" helps avoid logical errors.
  • [add_project_progress_ratio](/wiki/effect/add_project_progress_ratio): After advancing project progress, it is often necessary to synchronously clear old phase flags. These two effects frequently appear in the same execution block.

Common Pitfalls

  1. Clearing a flag that was never set does not produce an error, but if subsequent logic depends on "the clearing action itself representing a state change," it creates a silent logical flaw—it is recommended to always precede the clear operation with [has_project_flag](/wiki/trigger/has_project_flag) for validation, ensuring the clearing action has actual significance.
  2. The scope must be SPECIAL_PROJECT—beginners often mistakenly use this command under country or state scope, resulting in script parsing failures or silent execution failures. Always verify that the execution block has correctly entered the special project scope.