我参考了俄罗斯那张卡“设置军营”,把其中的代码(添加建筑到探险家的建造栏)修改后添加到AAStandardStartingTechs这个西方国家共用的科技树里: <tech name="AAStandardStartingTechs" type="Normal"> <dbid>821</dbid> <displaynameid>27845</displaynameid> <status>UNOBTAINABLE</status> <flag>Shadow</flag> <effects> <effect mergeMode='add' type="CommandAdd" proto="Factory" page="6" column="-1"> <target type="ProtoUnit">Explorer</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="Factory" relativity="Assign"> <target type="ProtoUnit">Explorer</target> </effect> <effect mergeMode='add' type="CommandAdd" proto="Factory" page="6" column="-1"> <target type="ProtoUnit">deGeneral</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="Factory" relativity="Assign"> <target type="ProtoUnit">deGeneral</target> </effect> <effect mergeMode='add' type="CommandAdd" proto="Factory" page="6" column="-1"> <target type="ProtoUnit">deGeneral2</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="Factory" relativity="Assign"> <target type="ProtoUnit">deGeneral2</target> </effect> <effect mergeMode='add' type="CommandAdd" proto="Factory" page="6" column="-1"> <target type="ProtoUnit">deGrandMaster</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="Factory" relativity="Assign"> <target type="ProtoUnit">deGrandMaster</target> </effect> </effects> </tech> 当然也把类似的代码添加到了YPAge0ChineseTechs里,因为中国也能从俄罗斯盟友那里获得工厂。 然后把设置军营中的另一段代码修改后(工厂的建筑上限+1)增加到工厂、工业革命、强盗贵族等所有运输一辆工厂马车到殖民地的船运卡/科技中,因为数量很多,我这里仅以工厂卡为例: <tech name="HCUnlockFactory" type="Normal"> <dbid>625</dbid> <displaynameid>25932</displaynameid> <cost resourcetype="Ships">1.0000</cost> <researchpoints>40.0000</researchpoints> <status>UNOBTAINABLE</status> <icon>resources\art\buildings\factory\shared_factory_icon.png</icon> <rollovertextid>25931</rollovertextid> <flag>HomeCity</flag> <effects> <effect mergeMode='add' type="Data" amount="1.00" subtype="BuildLimit" relativity="Absolute"> <target type="ProtoUnit">Factory</target> </effect> </effects> </tech>
以上是techtreemods里修改的部分。 在protomods里,增加了限制工厂修建数量为0的代码: <Unit mergeMode='modify' name="Factory"> <buildlimit>0</buildlimit> <allowedage>3</allowedage> </Unit>
类似的,我也对日本的道场进行了修改,日本的道场ypDojo一开始建造上限就是0,没有改,道场卡也是建造上限+1、运送一辆道场人力车到殖民地的代码内容,和我修改过的工厂卡没什么区别,也不改,只是在YPAge0JapaneseTechs里添加了如下代码,目的是让日本僧侣能够重建道场: <effect mergeMode='add' type="CommandAdd" proto="ypDojo" page="6" column="-1"> <target type="ProtoUnit">ypMonkJapanese</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="ypDojo" relativity="Assign"> <target type="ProtoUnit">ypMonkJapanese</target> </effect> <effect mergeMode='add' type="CommandAdd" proto="ypDojo" page="6" column="-1"> <target type="ProtoUnit">ypMonkJapanese2</target> </effect> <effect mergeMode='add' type="Data" action="Build" amount="1.00" subtype="WorkRate" unittype="ypDojo" relativity="Assign"> <target type="ProtoUnit">ypMonkJapanese2</target> </effect>
问题来了,我用日本和法国分别进行测试,日本可以正常发送道场卡,可以重建;法国无法发送工厂卡,显示为红色不可用状态,提示已达到建筑上限,不可发送该卡。我想知道为什么两者代码基本没区别,日本可以正常发卡,法国就不行?
|