第一部分:
Types这个标记定义了政策,所有的政策必须在这里出现一次才有效(事实上你在游戏中新增的任何内容都必须首先在types标记里声明一下,只有这样游戏才会读取它)。
这里我给我的政策起名为 POLICY_IMPERIAL_EXAMINATION 你可以给你的政策按照这个格式来起名,比如POLICY_XXXXX_XXXXXX(如果你的政策名包含多个单词,每个单词之前用“_”隔开)注意所有字母都是大写(其实如果你不按照这个格式来起名也可以,但看起来不标准,我建议大家用这个格式来起名字,哪怕只是汉语拼音)。后边的kind属性表示你定义的内容是什么,这里我们用KIND_POLICY来表示这是一个政策,(KIND_UNIT表示单位等,还有好多,你可以在游戏的date文件夹下查看)
第二部分
我们新声明了一个政策,它叫POLICY_IMPERIAL_EXAMINATION,现在,我们需要在Policies标记下添加一些它的基本信息。
其中PolicyType属性的值就是我们刚刚起的名字,Name和Description则是两个新建的属性,你可以同样按照LOC_POLICY_xxxxx_xxxx_NAME和LOC_POLICY_xxxxx_xxxx_DESCRIPTION来给他们起名,这两个值代表游戏中显示的名字和描述的文本,会在后面的翻译文件中使用。
PrereqCivic属性代表的是它是由那个人文科技解锁的,这里我选择的是CIVIC_RECORDED_HISTORY(历史记录)代表科举制是由历史记录这个科技解锁的。(所有的人文科技都的名字都可以在date文件夹下的Civics文件中查看,如果你的英语不好,你可以对照文明六中文百科)。
GovernmentSlotType属性表示的是这个政策属于那种类型的政策。目前游戏一共有五种类型的政策: SLOT_ECONOMIC 经济
SLOT_MILITARY 军事
SLOT_DIPLOMATIC 外交
SLOT_GREAT_PERSON 伟人
SLOT_WILDCARD 通用
你可以根据需求选择,这里我选则的是经济。
第三部分:
这里指定的是失效政策,即什么政策会使你当前的政策淘汰(可以不选,那么你增加的政策就会永久生效)
因为我觉得进入工业时代后科举制会失效,所以我选择的是歌剧与芭蕾这个科技研发后当前政策被淘汰,那么我在属性里写的是歌剧与芭蕾下的一个政策即大歌剧(注意是科技下的一个政策使你的政策淘汰,而不是科技本身)。
同样的PolicyType后边跟的是你的名字,而ObsoletePolicy则是淘汰你的政策的政策的名字,同样的,游戏自带政策的名字可以在date文件夹下的policies文件查看
第四部分:
这里我把这两个标记区块放到一起来讲,因为它们的关系很紧密。
第一个区块PolicyModifiers定义了政策加成的名字,注意的是一次加成就应当定义一次,比如我的设计,加2文化和2科技,其实它是两个加成效果,所有我把它们分成两部分来写,即RowPolicyType="POLICY_IMPERIAL_EXAMINATION"ModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"
和
RowPolicyType="POLICY_IMPERIAL_EXAMINATION"ModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER_CULTURE"
PolicyType属性就是政策的名字,ModifierId就是加成效果的名字
这两个效果前者我起名为POLICY_IMPERIAL_EXAMINATION_MODIFIER,负责增加科技,后者起名为POLICY_IMPERIAL_EXAMINATION_MODIFIER_CULTURE负责增加文化。
这个名字是你自己起的,注意遵循官方格式。
第二个Modifiers区块定义了加成目标的类型,像这样
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"ModifierType=
"MODIFIER_PLAYER_CITIES_ADJUST_BUILDING_YIELD_MODIFIER"
其中ModifierId是你刚刚起的加成效果的名字,而ModifierType属性的值则是官方定义好的,它在date文件夹下的Modifiers文件中,这里定义了上百种加成方式,你可以根据你的需要来选择一种。这里我选择的是建筑加成。(图书馆属于建筑)
第五部分:
这部分就是对效果的实际定义了,像这样:
一个完整的加成效果由两到三个不等的标记组成,比如图书馆加2科技这个效果,就可以这么写(我们之前已经定义过加成类型为建筑加成了,这一点请不要忘记)。
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"Name="BuildingType" Value="BUILDING_LIBRARY"
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER" Name="YieldType"Value="YIELD_SCIENCE"
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"Name="Amount" Value="2"
这三句话的含义分别是:
第一句,定义了受到加成的类型为建筑,建筑是图书馆。
其中Name的属性是收到加成的类型,可以是建筑或者商路,或者城区,也可以是地块,地形,改良设施,当然单位也可以。具体的内容可以在date文件夹中查看。这里我选择的是建筑,即BuildingType(单位是UnitType,地形是TerrainType等等),value的属性就是具体的那一个建筑了,建筑的名字可以在date的building文件中查看,这里我选择的是BUILDING_LIBRARY(图书馆)
第二句。定义了加成点数的类型,
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"Name="YieldType" Value="YIELD_SCIENCE"
其中Name属性我选的是点数加成(其他的还有视野加成,移动力加成,甚至有巨作和遗物加成)
而value属性后边的值同样可以在date文件夹下查看,这里我选择的是YIELD_SCIENCE(科技值)
第三句:就是具体加成多少点了
RowModifierId="POLICY_IMPERIAL_EXAMINATION_MODIFIER"Name="Amount" Value="2"
Name属性的值Amount代表点数,你可以写一个数字,比如2,代表加成2点,3就是三点咯。
但如果你写一百,那将意味着100%的加成,而不是增加100点(这其中的规律我也暂时没搞懂,等我慢慢研究吧)
这样一个完整的加成效果就完成了,即图书馆加2科技值
另外一个加成效果同样可以这样做,我们只需要把科技改成文化即可。
更多更复杂的加成效果(比如加视野,商路加金币,发现奇观加遗物,甚至于发现奇观加金币,你都可以仿照date文件加下的一些文件中的内容制作,几乎能满足你的任何需求)