《文明6》城市无驻军战斗力(涉及COMBAT_GARRISON_MILITIA_MODIFIER 参数)的mod制作和参数修改经验分享
简介
在游戏《文明VI》中,城市的防御不仅仅取决于城墙和驻守的单位,还包括一个叫做“城市守备队”(Garrison Militia)的概念。这个概念通过一个全局参数 COMBAT_GARRISON_MILITIA_MODIFIER 来定义,它决定了城市初始战斗力的一部分。理解这个参数的作用对于平衡游戏节奏以及调整玩家体验至关重要。
COMBAT_GARRISON_MILITIA_MODIFIER 参数详解
在《文明VI》中,当一个城市没有驻扎军事单位时,它依然拥有一定的防御能力,这被称为城市守备队。城市守备队的战斗力是基于所属文明所能建造的最强近战单位的战斗力,然后减去 COMBAT_GARRISON_MILITIA_MODIFIER 的值。
默认情况下,GlobalParameters.xml 文件中定义的 COMBAT_GARRISON_MILITIA_MODIFIER 值为10。

原始的战斗力修正效果如图:

调整参数对游戏的影响
通过sql修改COMBAT_GARRISON_MILITIA_MODIFIER 更改参数,从默认的10增加到50
例如:
```sql
UPDATE GlobalParameters SET Value = ‘50’ WHERE Name = ‘COMBAT_GARRISON_MILITIA_MODIFIER’;
```
假设一个文明的最强近战单位战斗力是25,那么25-50=-25,造成了25点额外减益,但是因为游戏机制有驻军保护的关系,推测存在or的语法逻辑,会产生补偿计算引入驻军战斗力,抵消掉COMBAT_GARRISON_MILITIA_MODIFIER的改动值。

COMBAT_GARRISON_MILITIA_MODIFIER 改到35

而如果城市如图中没有驻军,就彻底可以受COMBAT_GARRISON_MILITIA_MODIFIER 参数支配了。

我是建议把这个参数改到25,较为合理,抵消游戏早期城市的无驻军防御力。
-- 将无守军的城市基础战斗力下调参数改到25,意思是无驻军城市战斗力-25
UPDATE GlobalParameters SET Value = '25' WHERE `Name` = 'COMBAT_GARRISON_MILITIA_MODIFIER';
