文明六自定义领袖特色建筑
文明六自定义领袖特色建筑
文明6的特色建筑,你可以直接下载,也可以深入阅读学习它。
简述
在联机模式下,只允许特定主机,特定领袖,特定文明使用特定功能的模组.
模组介绍
这是一个建筑添加与德国特色工业区下,每回合建筑生产一定的资源并修改城市每回合所产出的资源.
建筑本身加成:黄金 + 5, 食物 + 5, 文化 + 1, 科技 + 1, 信仰 + 5, 生产力 + 5
城市资源加成:黄金 + 116, 信仰 + 116, 文化 + 5, 生产力 + 20, 食物 + 20, 科技 + 5
| 建筑名称 | 加成类型 | 建筑每回合生产 | 城市每回合生产 |
|---|---|---|---|
| 少年的野心/DefinCivilizationTraitBuilding | 黄金 | +5 | +116 |
| 食物 | +5 | +116 | |
| 文化 | +1 | +5 | |
| 科技 | +1 | +5 | |
| 信仰 | +5 | +116 | |
| 生产力 | +5 | +20 |
订阅地址
你可以直接订阅这个模组:Stem 创意工坊
参考链接
思路记录
下午打开 Steam 时收到来自玉皇大帝模组开发者的回复.
墨影斋主人:在你的建筑下添加一个修改器,判定建造条件是 “玩家”,如果是绑定领袖或者文明,就直接用 TraitType
打开 HBX(HBuilderX) 检索一下 TraitType 看下这玩意怎么写的.
我在 Civilizations.xml 文件中的 第 200 行 找到了一条相关有可能的但与玉皇大帝作者说的完全不同的代码
<Row CivilizationType="CIVILIZATION_GERMANY" LeaderType="LEADER_BARBAROSSA"第 2657 - 2659 行有点像
<Row CivilizationType="CIVILIZATION_GERMANY" TraitType="TRAIT_CIVILIZATION_IMPERIAL_FREE_CITIES"/>
<Row CivilizationType="CIVILIZATION_GERMANY" TraitType="TRAIT_CIVILIZATION_DISTRICT_HANSA"/>
<Row CivilizationType="CIVILIZATION_GERMANY" TraitType="TRAIT_CIVILIZATION_UNIT_GERMAN_UBOAT"/>我没有在修改器文件Modifiers.xml文件中找到相关代码,据猜测这可能是自由添加,或许游戏源文件没有可能说明那只是一部分示例代码,并且游戏开发商不可能想象到各种可能性.
修改器文件如何编写
第一种可能性
他说的是修改器Modifiers 应该不可能是 ModifierArguments, BuildingModifiers这两个修改器.
我没有见过单独绑定领袖的写法,在读一遍修改器文件吧Modifiers.xml
这两千多行代码全都是一个写法
<Types>
<Row Type="MODIFIER_ALL_PLAYERS_ATTACH_MODIFIER" Kind="KIND_MODIFIER"/>
</Types>
<DynamicModifiers>
<Row>
<ModifierType>MODIFIER_ALL_PLAYERS_ATTACH_MODIFIER</ModifierType>
<CollectionType>COLLECTION_ALL_PLAYERS</CollectionType>
<EffectType>EFFECT_ATTACH_MODIFIER</EffectType>
</Row>
</DynamicModifiers>根据这段代码,可以猜测出一种可能性.
- 第六行代码的修改器类型和第 2 行的类型相等,这说明引用的是建筑名称
- 后面第7和8行不知道表达的什么意思
- 可能需要拼接代码
<Types>
<Row Type="BUILDING_DEFIN_CIVILIZATION_TRAIT_BUILDING" Kind="KIND_BUILDING" />
</Types>
<Modifiers>
<Row>
<!-- 声明建筑要修改的建筑名称 -->
<ModifierType>BUILDING_DEFIN_CIVILIZATION_TRAIT_BUILDING</ModifierType>
<!-- 绑定玩家拥有使用当前建筑权限 -->
<OwnerRequirementSetId>PLAYER_IS_HUMAN</OwnerRequirementSetId>
<!-- 绑定指定的领袖使用当前建筑: 德国 -->
<TraitType>CIVILIZATION_GERMANY</TraitType>
</Row>
</Modifiers>第 10 行完全是文明类型和区域类型的两种结合写法,先构建一下试试效果吧.
试了下其他文明是否有这个建筑,很遗憾,并没有成功绑定领袖
第二种可能性
我打开了领袖Leaders.xml 文件,终于发现了一个比较合理的代码.
换了好几个关键字,终于用巴巴罗萨的英译名在第 828 行找到了LEADER_BARBAROSSA
<Row LeaderType="LEADER_BARBAROSSA" TraitType="TRAIT_LEADER_HOLY_ROMAN_EMPEROR"/>应该是这一行了,很遗憾,也不是这个
第三种可能性
我阅读了玉皇大帝的领袖文件,我猜测写法应该是这样.
<Row
BuildingType="BUILDING_DEFIN_CIVILIZATION_TRAIT_BUILDING"
PrereqDistrict="DISTRICT_CITY_CENTER"
PurchaseYield="YIELD_GOLD"
Cost="0"
AdvisorType="ADVISOR_GENERIC"
TraitType="TRAIT_LEADER_HOLY_ROMAN_EMPEROR"/>我直接追加到了建筑名称的后面,当我使用其它领袖的时候,他成功的没有显示出来.当然不排除是我写错了,在没有写正确的情况下是不会显示的.
我再试试德国,万一我写对了呢.对吧!
竟然真成功了,再试试一下热座模式,因为仅允许玩家使用和德国使用,看看这两个条件冲突不,还真能用没有任何冲突,终于完成了