DataPlayer

DataPlayer

前言

注:仅为个人经验之言,有误请留言!

在我的理解中,“Trait”即添加各种的BUFF。

而如果要增添一个BUFF,一般要通过修改 <LeaderTraits>(领袖特性)或者<CivilizationTraits>(文明特性),或者增添一个拥有BUFF的建筑来实现。

而文明6中是有玩家根特性的(几乎所有的游戏都有,通过这个实现不同难度下AI的加成)TraitType="TRAIT_LEADER_MAJOR_CIV"是所有玩家领袖的根领袖特性,通过修正TRAIT_LEADER_MAJOR_CIV,可以实现给玩家本身增添BUFF,这样无论什么文明,都可以吃到加成。而且因为是修正玩家特性的原因,这个BUFF在加载页面是看不到的,因而也省去了汉化等步骤,虽然是进阶教程,实际上要比前两篇修改要简单得多。

涉及文件:Sid Meier's Civilization VI\Base\Assets\Gameplay\Data\Leaders.xml

因为是针对游戏本体的修改(如果要做单独的MOD还要弄额外的文件),如果出现错误且怎么都解决不了时,请在Steam库中进行“验证游戏完整性”即可恢复纯净状态。

工具:UE或其他任何文本编辑工具,甚至记事本也可以。

另:我的其他相关指南

https://steamcommunity.com/sharedfiles/filedetails/?id=1820057925

https://steamcommunity.com/sharedfiles/filedetails/?id=1824485779

https://steamcommunity.com/sharedfiles/filedetails/?id=1995430807

(一)定义新特性


DataPlayer image 13
DataPlayer image 14
DataPlayer image 15

首先打开你的Leaders.xml文件,这个文件定义的其实是领袖特性,但是玩家特性以及城邦特性都整合在这个文件中,而其实哪一个文件都没有区别,只要格式正确即可,但在类似的部分进行修改可以省去很大的功夫(前提是你能分得清那些代码)。

好了,打开后是这个样子的

然后我们进行查找,内容为:TraitType="TRAIT_LEADER_MAJOR_CIV"

搜索到前面有<TraitModifiers>的部分,这部分从字面上就可以看出,是在给“Trait”添加“Modifiers”,即添加特性,我们要修改的就在这一部分

随意截取一段:

<Row TraitType="TRAIT_LEADER_MAJOR_CIV" ModifierId="STANDARD_DIPLOMATIC_ALLY"/>

它定义的是玩家拥有"STANDARD_DIPLOMATIC_ALLY"这个特性,这只是个名字(这个名字没有太多限制,推荐全大写英文),自己添加的特性名字越简单越容易分清楚,当然,越简单,和你安装MOD以后撞车出错的概率也就越大。

我们给自己添加一个名字叫“COOL”的BUFF,整段代码为:

<Row TraitType="TRAIT_LEADER_MAJOR_CIV" ModifierId="COOL"/>

添加以后是这个样子的:

这样第一部分就完成了,是不是超级简单?粘贴一段代码就行!如果要增添多个特性,那么换个名字,同样复制就行。

(二)添加效果


DataPlayer image 28
DataPlayer image 29
DataPlayer image 30

定义了一个BUFF的名字,但没有效果可不行,选中刚才原版部分任一效果的名字

搜索以后找到<Modifiers>以下内容

这一部分添加的BUFF的效果,也是重点部分,大部分问题都是出在这一部分

我们截取第一段进行分析

<Row>

<ModifierId>STANDARD_DIPLOMATIC_ALLY</ModifierId>

(BUFF名字) <ModifierType>MODIFIER_PLAYER_DIPLOMACY_SIMPLE_MODIFIER</ModifierType>

(效果代码)

<SubjectRequirementSetId>PLAYER_ALLY</SubjectRequirementSetId>

(限定)

</Row>

一般的代码实际上只需要前两部分即可,但我们如果只有前两部分而不加限定的话,所有的玩家即电脑也可以享受加成,这显然不符合我们的要求。

如果添加

<OwnerRequirementSetId>PLAYER_IS_HUMAN</OwnerRequirementSetId>

则只有真人玩家可以吃到这个BUFF

如果添加

<OwnerRequirementSetId>PLAYER_IS_AI</OwnerRequirementSetId>

则只有电脑玩家可以吃到这个BUFF

这里实际上可以添加各种各样的限制,比如时代啊,科技啊,需要对应资源啊等等,但是实在是过于麻烦,不做过多解释,有兴趣的可以自行在刚才代码位置向下翻阅查看各种限制。

我在另外的指南中贴了一些常用的BUFF代码,这里直接引用(以后有空我会开一个新的指南总结各种有用的代码)。

己方所有单位攻击力增加。

MODIFIER_PLAYER_UNITS_ADJUST_COMBAT_STRENGTH

完整如下:

<Row>

<ModifierId>COOL</ModifierId> <ModifierType>MODIFIER_PLAYER_UNITS_ADJUST_COMBAT_STRENGTH</ModifierType>

<OwnerRequirementSetId>PLAYER_IS_HUMAN</OwnerRequirementSetId>

</Row>

效果如图:

这样第二步也就完成了!

(三)确定效果数值


DataPlayer image 61

现在这个BUFF有“名字”和“修正效果”,但是还没有修正的幅度,这部分讲给效果添加具体数值。

同样,选中原版代码的任一部分(只选中名字),如图:

然后搜索到<ModifierArguments>以下内容:

我们截取第一段进行分析

<Row>

<ModifierId>TRAIT_JINBI</ModifierId>(名字)

<Name>YieldType</Name>(修正类型)

<Value>YIELD_GOLD</Value>(修正类型为金币)

</Row>

<Row>

<ModifierId>TRAIT_JINBI</ModifierId>(名字)

<Name>Amount</Name>(数值)

<Value>25</Value>(具体数值为25)

</Row>

有的更简单,有的会更复杂,这取决于你选择的是什么BUFF,而我们这里选择的“增加攻击力”的数值代码为:

<Row>

<ModifierId>COOL</ModifierId>

<Name>Amount</Name>

<Value>5</Value>

</Row>

仅此而已,因为效果代码即已是“攻击力修正”,所以不用确定类型,而有的代码比如是“地块产出增加”,你就要在此处添加限定是什么类型,就像上面解析的那个限定了是修正金币那样。

将这段代码粘贴上去

这样就全部完成了!

(四)总结

(五)一些可能出现的问题

如果有什么问题我看到了会进行回复

1.效果代码部分

<Row>

<ModifierId>COOL</ModifierId> <ModifierType>MODIFIER_PLAYER_UNITS_ADJUST_COMBAT_STRENGTH</ModifierType>

<OwnerRequirementSetId>PLAYER_IS_HUMAN</OwnerRequirementSetId>

</Row>

请注意是否在正确位置,以及是否缺少左右括号,任一缺少都会导致无法生效甚至加载失败。

2.名称设置

<Row TraitType="TRAIT_LEADER_MAJOR_CIV" ModifierId="COOL"/>

中间有两个空格,容易忽视这两个空格造成问题

3.电脑也能吃到BUFF,这是效果代码部分未添加限定导致。

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=1993910730					

More Sid Meier's Civilization VI guilds