实战用法
当你的 mod 希望通过某个事件或国策奖励/惩罚玩家更换装备设计团队的代价时,可在 MIO 的 scope 内调用此 effect 直接覆盖基础费用值。例如,某科技突破事件触发后将更换设计团队的 XP 消耗重置为一个更低的固定值:
mio:my_advanced_mio = {
set_mio_design_team_change_cost = 2
}
也可以结合变量动态赋值,实现随游戏进程变化的弹性费用:
mio:my_advanced_mio = {
set_mio_design_team_change_cost = var:design_team_cost_var
}
配合关系
[add_mio_design_team_change_cost](/wiki/effect/add_mio_design_team_change_cost):此命令在现有基础值上做增减,而本命令是直接覆盖基础值;二者配合可先用 set_ 确立基准,再用 add_ 做后续微调。
[set_mio_design_team_assign_cost](/wiki/effect/set_mio_design_team_assign_cost):同为 MIO 费用管理类命令,通常在同一事件或效果块中一并调整分配与更换两项费用,保持游戏内体验的一致性。
[has_mio_size](/wiki/trigger/has_mio_size):常作为前置条件判断 MIO 规模,决定是否触发费用覆盖,例如只有规模达到阈值的 MIO 才享受更低的更换费用。
[is_mio_available](/wiki/trigger/is_mio_available):执行费用修改前检查 MIO 当前是否可用,避免对非激活状态的 MIO 执行无效操作。
常见坑
- 传入负值会报错:官方明确规定输入值不能为负数,新手容易尝试用负值来"免费"更换设计团队,这会导致脚本错误或被引擎拒绝执行;若想降低费用应将其设置为
0 而非负数。
- 混淆 set 与 add 的语义:
set_mio_design_team_change_cost 会直接覆盖基础值,后续修饰符(modifier)仍会叠加在新基础值之上。若误用为"在当前值基础上减少",应改用 add_mio_design_team_change_cost 并传入负数(前提是结果不为负)。