Hands-On Usage
is_mio_trait_completed is commonly used to check whether a military industrial organization has unlocked and completed a specific trait, thereby determining whether subsequent bonuses, event triggers, or other effects should apply. For example, in the available block of MIO-related events or decisions, you can verify that a critical production trait has been completed before allowing the player to perform advanced operations.
# In a decision or event trigger block
mio:my_tank_manufacturer = {
is_mio_trait_completed = advanced_armor_plating
}
Synergy
[has_mio_trait](/wiki/trigger/has_mio_trait): First use this trigger to check whether the organization possesses the trait (regardless of completion status), then use is_mio_trait_completed to further confirm it is completed, forming a two-stage safety check that prevents unexpected results from traits not existing.
[complete_mio_trait](/wiki/effect/complete_mio_trait): Often used in conjunction with the corresponding effect—first use is_mio_trait_completed to check if the trait has not yet been completed, and only trigger complete_mio_trait to force completion when the condition is not met, preventing duplicate execution.
[has_mio_number_of_completed_traits](/wiki/trigger/has_mio_number_of_completed_traits): Combining the two allows you to simultaneously check "total number of completed traits" and "whether a specific trait is completed," building a more granular unlock condition tree.
Common Pitfalls
- Scope placement error: Beginners often write
is_mio_trait_completed directly under a country scope or equipment scope, when in fact you must first enter the INDUSTRIAL_ORG scope via mio:my_mio = { ... }, otherwise the script will error or silently fail.
- Confusing "possessing a trait" with "completing a trait":
has_mio_trait only checks whether the trait exists (including locked, incomplete states), while is_mio_trait_completed requires the trait to be fully unlocked and completed. These have different meanings—using the wrong one will cause conditions to evaluate true or false in unexpected situations.