Hands-On Usage
In mods featuring the Military Industrial Organization (MIO) size upgrade system, this effect is commonly used to provide "discounts" for specific MIOs through events or national focuses—lowering the financial threshold required for size upgrades and incentivizing players to invest in particular industrial directions. For example, when a player completes certain research, the MIO receives reduced expansion costs as a reward:
# In a national focus on_completion effect block
mio:my_armor_manufacturer = {
set_mio_size_up_requirement_factor = 0.75
}
Synergy
[add_mio_size_up_requirement_factor](/wiki/effect/add_mio_size_up_requirement_factor): When relative adjustments are needed on top of a base value (rather than direct overwrite), the add version should be prioritized. Using both together enables fine-tuned control through "set baseline then stack modifications."
[add_mio_funds](/wiki/effect/add_mio_funds): Since size upgrades require funds, supplementing current funds while lowering the cost factor ensures the effect takes immediate impact.
[has_mio_size](/wiki/trigger/has_mio_size): Use this trigger before execution to check the MIO's current size, avoiding wasted discounts on organizations that haven't yet met upgrade conditions.
[set_mio_funds_gain_factor](/wiki/effect/set_mio_funds_gain_factor): Adjust alongside fund acquisition rates to construct complete "cost-income" balance design, commonly seen in long-term buff event chains.
Common Pitfalls
- Passing negative values causes script errors: The official documentation explicitly states that input values cannot be negative. Newcomers often mistakenly attempt to use negative values to "reverse-penalize" an MIO, but this actually triggers script exceptions or silent engine rejection. Instead, use values greater than 1 (such as
1.5) to express cost increases.
- Mistakenly assuming modifiers are also overwritten: This command only changes the base value; modifiers from national focuses, traits, and other sources continue to stack on top of the new base value. Directly replacing all
add_mio_size_up_requirement_factor calls with set_ leads to the false belief that modifier effects are being ignored.