Hands-On Usage
When you want to permanently reduce (or temporarily increase) the funding multiplier required for a military industrial organization to upgrade through scripted events or national focus rewards, this effect is your tool. A typical scenario involves: after the player completes a research project, triggering an event that reduces the expansion cost of a specified MIO, thereby encouraging continued investment.
# After a national focus completes, reduce the upgrade funding requirement for a specific MIO
complete_national_focus = {
...
mio:ger_krupp_mio = {
add_mio_size_up_requirement_factor = -0.15
}
}
Synergy
[set_mio_size_up_requirement_factor](/wiki/effect/set_mio_size_up_requirement_factor) — If you need to reset the multiplier to an absolute value rather than stacking additively, first use set to establish a baseline, then use add for fine-tuning; combining both allows precise control.
[add_mio_funds](/wiki/effect/add_mio_funds) — Simultaneously supplement the MIO's current funds to ensure that while lowering the upgrade threshold, the organization has sufficient capital to execute the upgrade action immediately.
[has_mio_size](/wiki/trigger/has_mio_size) — Before executing add, use this trigger to check the MIO's current scale, avoiding wasted execution on organizations that have already reached their cap or haven't been unlocked yet.
[has_mio_flag](/wiki/trigger/has_mio_flag) — Pair with flags for deduplication protection, preventing the same reward from being triggered multiple times and causing the multiplier factor to stack infinitely.
Common Pitfalls
- Assuming the final value can be negative without limit: This effect only modifies the base factor; the game clamps the final calculated result to a minimum of 0, produces no error, and offers no feedback, leading players to believe that stacking negative values multiple times can infinitely suppress costs when in reality, any stacking beyond the floor has no effect whatsoever.
- Calling outside an INDUSTRIAL_ORG scope: This effect is only valid within an MIO scope; if written directly in a country or state scope (forgetting to wrap it with
mio:xxx = { }), the script fails silently or throws a scope error, making it difficult to locate during debugging.