Wiki

trigger · is_active_scientist

Definition

  • Supported scope:CHARACTER
  • Supported target:any

Description

Checks if the scientist of the character in scope is assigned to a project
is_scientist_active = <bool>
ex: my_character = {
        is_scientist_active = yes
        is_scientist_active = no
	}

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

is_active_scientist is commonly used in science system-related mods. Use it when you need to decide whether to trigger events, execute effects, or unlock options based on whether a character is currently leading a research project. For example, prevent reassigning tasks to a scientist busy with a project, or only allow injuries when the scientist is idle:

# Trigger injury event only when scientist is not executing a project
some_scientist_character = {
    limit = {
        is_active_scientist = no
    }
    injure_scientist_for_days = 30
}

Synergy

  • [is_scientist_injured](/wiki/trigger/is_scientist_injured): Use in combination with is_active_scientist to simultaneously check both the "busy" and "injured" states of a scientist, building more precise availability conditions.
  • [injure_scientist_for_days](/wiki/effect/injure_scientist_for_days): Execute the injury effect only after confirming the scientist is not currently involved in a project (is_active_scientist = no), avoiding logical contradictions.
  • [has_scientist_level](/wiki/trigger/has_scientist_level): Commonly used together with this trigger in available blocks to check both the scientist's level and active status simultaneously, ensuring only idle scientists meeting the conditions can trigger specific mechanics.
  • [add_scientist_xp](/wiki/effect/add_scientist_xp): Can reward experience after a scientist completes a project and their status changes from active to inactive, using this trigger as a prerequisite validation gate.

Common Pitfalls

  1. Incorrect scope: This trigger must be used under CHARACTER scope. Placing it directly in a country scope or event root scope will fail silently (no error but always returns false). Always use some_character = { } to enter character scope before using it.
  2. Confusion about "active" meaning: is_active_scientist = yes means the character is currently assigned to a research project, not that the character is a scientist type itself. If the character has no scientist role at all (not assigned via add_scientist_role), this trigger will also return no. First confirm the character's role with [has_advisor_role](/wiki/trigger/has_advisor_role) or related conditions.