因为个人比较喜欢历史,在玩文明6时看到天朝只有虎蹲炮和长城很不爽,因此起了添加新建筑和单位的想法,这篇就讲一下如何简单的添加特色建筑,仿照粮仓添加一个新的市中心建筑:常平仓
这是一篇入门教程,因为添加的是市中心建筑,且大部分内容是照抄原版,所以不需要自制图标和模型,门槛较低。
修改涉及文件:
1.Sid Meier’s Civilization VIBaseAssetsGameplayDataBuildings.xml(主体)
2.Sid Meier’s Civilization VIBaseAssetsGameplayDataCivilizations.xml(可选)
3.Sid Meier’s Civilization VIBaseAssetsUIIconsIcons_Buildings.xml(图标)
4.Sid Meier’s Civilization VIBaseAssetsTextVanilla_zh_Hans_CN.xml(汉化)
所需软件:任何文本编辑器(我使用的UE,其实记事本也可以)
如果看过我的添加文明特性的指南,再看这一篇无疑会非常简单,第一步同样是定义新建筑。
首先我们打开Buildings.xml文件,打开后是这样子的:
这开头的一大段相似的代码就是对新建筑的定义,包含在<Types>和</Types>中间。
标准格式是:<Row Type=”BUILDING_名字” Kind=”KIND_BUILDING”/>
那么我们就在开头处添加一个新建筑(常平仓)的定义即可,
<Row Type=”BUILDING_CPC” Kind=”KIND_BUILDING”/>
效果如图:
这样第一步就完成了,但是我还需要给这个定义的建筑加上基础属性,包括解释说明一类的内容,将文档下拉,下面紧贴着的就是基本属性的定义,包含在<Buildings>和</Buildings>中间。如图:
选中的一部分是粮仓的定义
那么我们只需照抄粮仓的代码即可,粮仓的定义代码是:
<Row
BuildingType=”BUILDING_GRANARY” (决定给哪个建筑定义)
Name=”LOC_BUILDING_GRANARY_NAME” (定义名字文本)
PrereqTech=”TECH_POTTERY” (前置科技)
PrereqDistrict=”DISTRICT_CITY_CENTER” (建筑位置,这里是建在市中心的意思)
PurchaseYield=”YIELD_GOLD” (购买方式,此处为金币购买,可更改为信仰值购买)
Cost=”65″ (所需生产力,金币购买额数为所需生产力x2)
AdvisorType=”ADVISOR_GENERIC” (顾问种类,这个没有影响)
Housing=”2″ (增加的住房数)
/>
首先我们要把名字(GRANARY)全部改成我们刚才定义的名字(CPC),其次要给这部分定义做一些修改。
1.若要该建筑增加更多住房,修改Housing=”2″数字即可,若要其额外增加宜居度,在后边增添语句Entertainment=”?”即可,“?”处填想要增加的数字。
2.前置科技代码可查询汉化文本,通过搜索中文名字找出其代码,替换即可,若想该建筑开局即可建造,可删除PrereqTech=”XXXXXX” 部分,即去除科技限制。
3.PrereqDistrict=”XXXXXX”定义了建筑位置,此处推荐不要更改,因为我并不知道建在其他区域中是否需要额外的模型,建在市中心则没有这个问题,如果更改可能会造成坐城瞬间跳出的恶性Bug.
4.可以设置建筑的制造上限,因为如果设置该建筑添加政策槽,当槽数过多显示可能会有Bug(并不影响游戏),且如果没有设置该建筑为文明专属,所有文明都能建造的情况下,可以通过设置建造上限保证加成落到自己身上。方法是仿照任意奇观定义文本添加语句 MaxPlayerInstances=”?”,”?”处填想要的上限数字(我一般设置为4)。
5.如果要设置该建筑为某一文明专有,须在结尾处加上这么一段语句:
TraitType=”TRAIT_CIVILIZATION_BUILDING_CPC”
且粮仓并非文明专属建筑,所以它实际少了在加载页面中说明的定义语句,我们需要在Name=”XXXXXX“后边加上该部分内容:
Description=”LOC_BUILDING_CPC_DESCRIPTION”
那么所有基础内容的设定就完成了,完成后的代码大致上是这样的:
<Row
BuildingType=”BUILDING_CPC”
Name=”LOC_BUILDING_CPC_NAME” (名字:需汉化)
Description=”LOC_BUILDING_CPC_DESCRIPTION” (说明:需汉化)
PrereqTech=”TECH_POTTERY” (前置科技,可删除)
PrereqDistrict=”DISTRICT_CITY_CENTER” (建筑位置:市中心)
PurchaseYield=”YIELD_GOLD” (购买方式)
Cost=”1″ (生产力花费为1,开局可0金购买)
MaxPlayerInstances=”4″ (最大建造数为4)
AdvisorType=”ADVISOR_GENERIC”
Housing=”2″ (住房 2)
Entertainment=”1″ (宜居度 1)
TraitType=”TRAIT_CIVILIZATION_BUILDING_CPC” (特色建筑相关设定)
/>
如果你在上一步定义了
Description=”LOC_BUILDING_CPC_DESCRIPTION” 和
TraitType=”TRAIT_CIVILIZATION_BUILDING_CPC”,
那么你就需要看这一部分内容,如果没有定义,那么大可以跳过。
给一个建筑添加文明归属不止需要在建筑的基础属性定义处增加那两段代码,还要涉及对文明特性的修改,我们要打开Civilizations.xml文件,
从选中的一部分开始定义的是文明特性(这在我的另一篇指南中有详细介绍)
而特色建筑实际也是文明特性的一种,所以我们要在其中添加相似的语句:
<Row Type=”TRAIT_CIVILIZATION_BUILDING_CPC” Kind=”KIND_TRAIT”/>
效果如图:
其次,在Civilizations.xml文件中同样有名字文本的定义(Buildings.xml中名字文本翻译为”常平仓”,而此处则翻译为”X国特色建筑:常平仓”),两处使用地方不同,含义不同,均需要设置。但在加载页面所有的建筑说明都统一显示为”一种特色建筑”,所以此处无需设置说明文本的定义。在上图中任选一种文明特性,搜索找到文本定义部分,如图:
仿照其余部分添加文本定义代码即可,我在此处添加的是
<Row
TraitType=”TRAIT_CIVILIZATION_BUILDING_CPC” Name=”LOC_TRAIT_CIVILIZATION_BUILDING_CPC_NAME”
/>
效果如图:
最后还要将这个”文明特性添加归属”,搜索任意国家代码找到以下内容,我用的中国(CHINA):
选中的一部分是中国的文明特性(我自己已经增加了好多),只需仿照增添即可:
添加
<Row
CivilizationType=”CIVILIZATION_CHINA”
TraitType=”TRAIT_CIVILIZATION_BUILDING_CPC”
/>
再保存修改,这一步就完成了。
打开Vanilla_zh_Hans_CN.xml文件,在开头部分加入我们需要汉化的部分即可。
标准格式是:
<Replace
Tag=”需要汉化的文本”
Language=”语言>
<Text>汉化文本</Text>
</Replace>
那么只需要将我们前面定义的三部分的内容复制过来,再添上自己的解释。如:
<Replace
Tag=”LOC_BUILDING_CPC_NAME”
Language=”zh_Hans_CN”>
<Text>常平仓</Text>
</Replace>
<Replace
Tag=”LOC_BUILDING_CPC_DESCRIPTION”
Language=”zh_Hans_CN”>
<Text>中国特色建筑。提供大量 [ICON_Food] 食物和 [ICON_Housing] 住房,但会消耗一定数量的 [ICON_GOLD] 金币。</Text>
</Replace>
<Replace
Tag=”LOC_TRAIT_CIVILIZATION_BUILDING_CPC_NAME”
Language=”zh_Hans_CN”>
<Text>中国特色建筑:常平仓</Text>
</Replace>
中间加入的[ICON_Food] 一类指的是在说明中增加图标,非必需,只是让说明更生动好看。嫌麻烦可以不设置。
值得说明的是,这游戏有知识百科的存在,如果不想它一片空白,我们需要加上对应的文本:
Tag=”LOC_PEDIA_BUILDINGS_PAGE_BUILDING_名字_CHAPTER_HISTORY_PARA_1″(推测1应该指第一段,再添加一段相同的代码,数字改为2,应该就实现了百科说明中的分段,未测试)
那么最终效果如图所示:
到此为止,一个基本的特色建筑就已经添加完成了。
这一步很简单,我们能设计的新建筑“常平仓”直接使用已有的“粮仓”图标即可。
打开Sid Meier’s Civilization VIBaseAssetsUIIconsIcons_Buildings.xml
选定的部分就是“粮仓”的图标定义代码(可以搜索喜欢的建筑,用他的图标),这部分意为“粮仓”用的是编号为“3”的图标,照抄即可,改个名字,效果如图:那么图标的设置就完成了。
完成了上面四步,我们已经得到了一个基础的白板建筑(已经可以进入游戏使用),但只会增加住房和宜居度并不能满足我们的要求,我们需要给它添加额外的基础属性。
重新打开Buildings.xml文件,搜索<Building_YieldChanges>可以找到以下内容
这部分定义了基础加成,可以看到有两段名字为”HAN”和”XINGGONG”的是我已经添加的建筑,我们需要仿照添加新的内容,格式为:
<Row
BuildingType=”BUILDING_名字”
YieldType=”YIELD_种类”
YieldChange=”数值”
/>
每种加成都要单独一串代码,可使用的种类为SCIENCE(科技值),CULTURE(文化值),GOLD(金币),FAITH(信仰值),FOOD(食物),PRODUCTION(生产力)
通过添加这一类代码,建筑就能产出对应的资源。
文本在此处下拉,紧接着的是伟人点数的产出设置,包含在<Building_GreatPersonPoints>之后,
如图:
我们只需复制一串其他的,将名字修改即可,标准格式为:
<Row
BuildingType=”BUILDING_名字”
GreatPersonClassType=”GREAT_PERSON_CLASS_种类”
PointsPerTurn=”数值”
/>
因为我并没有使用过这部分内容(用金币信仰直接赞助就行了不一定要设置这个),所以在此不提供伟人点数种类的代码,如有需要可在汉化文本中搜索。
文本继续下拉,是关于著作槽位的设定。
途中选定的是我设置的”行宫”,我们只需要在下边添加一段相同的代码即可:
<Row
BuildingType=”BUILDING_CPC”
GreatWorkSlotType=”GREATWORKSLOT_PALACE”
NumSlots=”6″
/>
这样会添加6个任意类型的著作槽位。
注:这个数值并没有最大值,但最好不要超过6,因为著作展示的UI中,同一建筑提供的槽位会强制显示在一个格子内,而这个格子最大只能容纳6个槽位(大英博物馆的设定),如果设置大于6个,就会出现所有槽位挤得重合的显示Bug,但并不影响游戏,如果你从不打开著作页面,或者不是强迫症,请忽略这部分内容。
因为我自身水平和时间的原因,我并没有钻研如何添加新的特殊效果(主要是用不到),原版的效果已经足够使用。
这里是给建筑添加一个已有的效果,增加一个通配符政策槽。
因为效果的现成的,所以我们并不需要设置新的效果,只需要给这个建筑增添即可。
在Buildings.xml文件中搜索BUILDING_FORBIDDEN_CITY(紫禁城)
找到以下内容:
选中的部分就是游戏中能增加不同种类政策槽位的四个建筑,紫禁城是第三个,添加了通配符政策槽,我们只需要复制下来,改个名字即可,效果如图:
值得一提的是,一个建筑似乎只能有一种效果,因为当我设置多个效果时一个都没有起作用,所以推荐只设置一种效果。
如果需要添加其他建筑的效果,搜索建筑名找到效果代码,改个名字即可。