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
- 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.
- 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.