《文明:太空》单位晋升中只能二选一,很多玩家对此不是很满意,接下来介绍的是玩家爱分享的关于游戏中单位晋升三选一的修改方法,感兴趣的玩家可以试试。
单位升级文件是CivBEUnitUpgrades
以士兵升级到海军陆战队为例,是这么一堆数据:
<Row>
<ID>0</ID>
<Type>UNITUPGRADE_MARINE_1</Type>
<Description>TXT_KEY_UNIT_MARINE02</Description>
<UnitType>UNIT_MARINE</UnitType>
<UpgradeTier>1</UpgradeTier>
<AnyAffinityLevel>1</AnyAffinityLevel>
<ExtraProductionCost>50</ExtraProductionCost>
<FreePerk>UNITPERK_MARINE_1</FreePerk>
<IconAtlas>UNIT_UPGRADE_ATLAS_1</IconAtlas>
<PortraitIndex>4</PortraitIndex>
</Row>
在这些数据中,只有UNITUPGRADE_MARINE_1这一条是需要关注的,就在这个文件里搜索这条,会得到这么两条:
<Row>
<UpgradeType>UNITUPGRADE_MARINE_1</UpgradeType>
<PerkType>UNITPERK_ATTACK_0</PerkType>
</Row>
<Row>
<UpgradeType>UNITUPGRADE_MARINE_1</UpgradeType>
<PerkType>UNITPERK_HEALING_1</PerkType>
</Row>
这两条就是升级时二选一的代码
但是要注意,你不能直接这么干:
<Row>
<UpgradeType>UNITUPGRADE_MARINE_1</UpgradeType>
<PerkType>UNITPERK_ATTACK_0</PerkType>
<PerkType>UNITPERK_HEALING_1</PerkType>
</Row>
这样会出错
你只能在这两条下面新建一条,比如:
<Row>
<UpgradeType>UNITUPGRADE_MARINE_1</UpgradeType>
<PerkType>UNITPERK_ATTACK_0_B</PerkType>
</Row>
但是,这个PERK没有对应的数据,这时,就要在CivBEUnitPerks里来新建一条,比如:
<Row>
<Type>UNITPERK_ATTACK_0_B</Type>
<PortraitIndex>4</PortraitIndex>
<IconAtlas>PERK_ATLAS</IconAtlas>
<PediaType>PEDIA_MEDIC</PediaType>
<PediaEntry>TXT_KEY_UNITPERK_ATTACK_0</PediaEntry>
<AttackMod>15</AttackMod>
<FriendlyHealChange>5</FriendlyHealChange>
<NeutralHealChange>5</NeutralHealChange>
<EnemyHealChange>5</EnemyHealChange>
</Row>
注意最后四条数据,分别是+15攻击力,在友方(自己的也算)领土内回血+5,在中立地带回血+5,在敌方领土回血+5
在游戏里,原来的二选一会变成三选一,而且这第三条下面还会列出这4个属性,假如你觉得不好看,可以在条目里加入这么一条:
<Help>TXT_KEY_UNITPERK_HEALING_1_HELP</Help>
这条是调用CivBEGameTextInfos_UnitPerks里的TXT_KEY_UNITPERK_HEALING_1_HELP条目下的说明,该条目是选择回血+5升级时的说明“不入水時 +5 點生命值回復”
你同样可以新建条目,新建说明来定义新的升级