Hands-On Usage
When you want to dynamically adjust the XP cost for switching design teams within a specific military industry organization (MIO) through events or decisions, this effect is the tool for the job. Typical use cases include unlocking a "team switch discount" feature as the MIO grows, or applying a penalty cost increase to a specific MIO after completing a particular national focus. Note that the value is a percentage modifier rather than an absolute value, and multiple applications will accumulate on top of the base value.
# After a national focus completes, reduce the team switching cost for a designated MIO
mio:my_tank_mio = {
add_mio_design_team_change_cost = -0.15 # Reduces base cost by 15%
}
Synergy
[add_mio_design_team_assign_cost](/wiki/effect/add_mio_design_team_assign_cost): These two effects control the XP costs for "assignment" and "switching" respectively. They are typically adjusted together to maintain consistency across your cost structure.
[set_mio_design_team_change_cost](/wiki/effect/set_mio_design_team_change_cost): The set version directly overwrites the base value, while the add version applies an incremental change. Use set when you need to reset to a fixed value, avoiding uncontrolled accumulation.
[has_mio_size](/wiki/trigger/has_mio_size): Commonly used in trigger conditions to check the current size of an MIO and decide whether to apply cost adjustments accordingly, embodying the design intent that "larger MIOs have cheaper/more expensive switching costs."
[is_mio_trait_completed](/wiki/trigger/is_mio_trait_completed): Checks whether a specific trait has been completed; after the condition is met, grants a switching cost discount. This enables advanced gameplay that ties trait unlocks to cost changes.
Common Pitfalls
- Confusing absolute values with percentages: The value you pass is a percentage modifier (e.g.,
0.2 means +20%). Beginners often mistake this for a direct addition to the XP value itself. If you need to set a fixed value directly, use set_mio_design_team_change_cost instead.
- Overlooking the floor function trap: The game explicitly floors the final result. Multiple small stacks (e.g., two consecutive
0.05 additions) may produce unexpected results due to rounding, so it's recommended to merge multiple calls into one or use larger increments to ensure the rounded value actually changes.