Hands-On Usage
add_mio_funds is commonly used in events or decisions to reward or penalize specific military industrial organizations—for example, injecting capital into an MIO after completing a research milestone to accelerate upgrades, or simulating management fluctuations in random events by deducting funds to represent budget overruns. The example below demonstrates injecting funds into a specific MIO within an on_action event:
# Within an option block of a country_event, reference the MIO scope via a variable
var:target_mio = {
add_mio_funds = 150 # Reward for successful project progression
}
Synergy
[set_mio_funds](/wiki/effect/set_mio_funds): When you need to reset funds to an exact value rather than relative adjustments, use both commands in sequence—zero out first, then fill to desired level—to maintain precise control over the value.
[add_mio_size](/wiki/effect/add_mio_size): If you want to skip the fund accumulation process and directly force an MIO to upgrade in size, combine this with add_mio_funds to handle both "organic growth" and "script-forced growth" paths separately.
[has_mio_size](/wiki/trigger/has_mio_size): Check current size with this trigger before executing fund operations to avoid meaninglessly injecting capital into MIOs that have already reached their size limit, or branch your decision on injection amount accordingly.
[add_mio_funds_gain_factor](/wiki/effect/add_mio_funds_gain_factor): Use together to first boost the fund gain coefficient, then trigger a one-time fund injection to create a "dual bonus" effect in active events.
Common Pitfalls
- Negative values do not reduce size: Newcomers often assume passing a sufficiently large negative number will downgrade an MIO, but funds have a hard floor at 0 and size will not shrink as a result; if you need to downgrade, use
[add_mio_size](/wiki/effect/add_mio_size) with a negative value instead.
- Scope must be INDUSTRIAL_ORG, not a country: Calling
add_mio_funds directly under a country scope will be silently ignored or throw an error; you must first enter the corresponding MIO's scope via var:my_mio_var = { } or similar before invoking this command.