Protoy.xml:单位的属性修改


用记事本打开游戏目录\data\protoy.xml这个文件:

	<Unit id ='Y' name ='XXX'>
		XXX是单位调用名。Y是Unit ID,没有用的。
		Y其实也不是没有用,实际上就是给你观赏用的。
		从0开始一个单位计一个数;你会发现帝国3里面的单位就是从0计算到1462,而帝国3的自定义的触发程序有一个就是用上了UnitID,也是从0开始计算。
		[(int )] kbUnitCount(int player, int unitTypeID, int stateID ): Returns a quick unit count of units for a player.
		说了一堆你听不懂的事情,总之就是一个单位为0,第十个单位为9,第100个单位为99,第1463个单位为1462。
		

		<DBID>X.0000</DBID>
		单位DBID,貌似没用。



		<DisplayNameID>XXXXX</DisplayNameID>
		在游戏中显示的名字(代号),与stringtabley.xml关联。(在stringtabley.xml搜索中间的五个数字你就会懂了)

		<EditorNameID>XXXXX</EditorNameID>
		在剧情编辑器显示的名字(代号),与stringtabley.xml关联。(在stringtabley.xml搜索中间的五个数字你就会懂了)
		如果没有这语句,剧情编辑器就显示DisplayNameID的名字(代号)。



		<ObstructionRadiusX>X.0000</ObstructionRadiusX>
		<ObstructionRadiusZ>X.0000</ObstructionRadiusZ>
		单位的实际体积,数值越大,体积越大,目标占用位置越大。XXX注:图像与模型不会变大。



		<FormationCategory>X.0000</FormationCategory>
		单位类型,有Ranged,protected,body,mobile这几类
		Ranged一般用于带远程攻击的兵种
		protected一般用于炮兵及几乎没有攻击能力的单位
		body一般用于近战型步兵
		mobile一般用于骑兵
 


		<PopulationCount>X.0000</PopulationCount>
		每个该类单位所占人口。
		注意:俄国军队不能改为0,否则俄国不能出兵的。
		(如果要改为0需要在civs.xml删除沙俄的捆绑出兵方式的语句,具体请点击这里
 


		<PlacementFile>xxxxx.xml</PlacementFile>
		建筑建造位置限制的xml,具体看11-8
 


		<PopulationCapAddition>X.0000</PopulationCapAddition>
		每个该类单位支持的人口。(例如房屋、村庄、神社提供的人口数)
 


		<MaxVelocity>X.0000</MaxVelocity>
		移动速度

		<MaxRunVelocity>X.0000</MaxRunVelocity>
		单位掉队时,追赶队伍的速度。
 


		<MovementType>X.0000</MovementType>
		单位移动模式,共分air,water,land三类
		air:移动完全不受阻碍,即在天上飞;注:修改成air不能捡陆地上的宝藏。
		water:只能在海里移动。
		land:只能在陆地移动。
 


		<TurnRate>X.0000</TurnRate>
		单位转弯时的速度,数值越大,转弯越快。 (如果数值过小,单位在转弯时会先朝目标方向移动,再慢慢把身子转过去)
 


		<AnimFile>xxxxx.xml</AnimFile>单位的动画xml。要用AOE3ED在art1、2、3、4、5.bar提取。
 


		<ImpactType>X.0000</ImpactType>
		单位自身类型,如Flesh(人体),Animal(动物), Wood(木制),Stone(石制)
		这个跟命中单位特效文件有关联,不过你现在是不会懂得啦。
 

		<Icon>icon\xxxx</Icon>		
		单位调用的图标文件,这是显示在建造命令里的图标。
		???我是不是下载错文件了?吓得我赶紧查看了一遍,是帝国3修改圣典没错。


		<PortraitIcon>icon\xxxx</PortraitIcon>		
		单位调用的图标文件,这是当你点选某个单位时,中间的图标。



		<RolloverTextID>XXXXX</RolloverTextID>
		语言显示代码,这是显示在建造命令里或主城模式卡片里对单位进行描述的语言代码。

		↑与stringtabley.xml关联↓。(在stringtabley.xml搜索中间的五个数字)

		<ShortRolloverTextID>XXXXX</ShortRolloverTextID>
		语言显示代码,当你将光标移动到某个单位上,显示的对单位进行描述的语言代码。



		<InitialHitpoints>X.0000</InitialHitpoints>
		单位刚被生产出来的初始生命值。

		<MaxHitpoints>X.0000</MaxHitpoints>
		单位的最高生命值(未升级的情况下)。 



		<DeadReplacement>protoname</DeadReplacement>
		单位死亡后变成XXX,例如你将村民死亡后变成村民,然后等同于不死。



		<LOS>X.0000</LOS>
		单位视野,数值越大,视野越广。



		<ProjectileProtoUnit>X.0000</ProjectileProtoUnit>
		单位攻击时发射的投射物,即单位名称。【实际上在tactics或者在ProtoAction定义】



		<BuildPoints>X.0000</BuildPoints>
		建筑被产出来需要的时间。数值越大,生产越慢。 (如果将建筑物的改为0,则刚放下建筑就建成) 



		<TrainPoints>X.0000</TrainPoints>
		单位被产出来需要的时间。数值越大,生产越慢。



		<Bounty>X.0000</Bounty> 
		单位死亡出来加的经验值。

		<BuildBounty>X.0000</BuildBounty>
		单位生产出来加的经验值。



		<Contain>XXX</Contain>可以驻守的类型
		(注:可以采用单位调用名或标签,例:AbstractVillager村民、AbstractInfantry步兵、AbstractHeavyInfantry重步兵,all全部......具体看教程的单位标签) 



		<MaxContained>X.0000</MaxContained>
		建筑物最大驻守数量。



		<Cost resourcetype ='XXX'>X.0000</Cost>
		生产单位所需资源类型及数目。(food是食物,wood是木头,gold是金子,trade是茶叶,ships是船运,xp经验)



		<InitialResource resourcetype ='XXX'>X.0000</InitialResource> 
		提供资源开采的单位(如树,银矿),提供的资源类型及数目。(food是食物,wood是木头,gold是金子,trade是茶叶,ships是船运,xp经验)
 


		<ResourceSubType>xxxx</ResourceSubType>
		提供资源开采的单位,提供的资源类型及数目 (food,wood,gold,trade,ships,xp,fame<BuildingWorkRate>X.0000</BuildingWorkRate> 
		建筑工作速度(如研究,生产)的乘数。 



		<MaxContained>X.0000</MaxContained>
		单位提供的驻扎空间。



		<Lifespan>X.0000</Lifespan>
		单位存活时间。修改远程导弹发现导弹消失了,就是这个原因——发射物挂掉了



		<BuildLimit>X.0000</BuildLimit>
		单位建造上限。注:比较容易与下面的BuilderLimit混淆。



		<AllowedAge>X.0000</AllowedAge>
		单位被生产出来的最早时代(0-4)。0发现时代,1殖民时代2堡垒3工业4帝王


		<Armor type ='XXX' value ='X'></Armor><
		单位护甲类型(ranged,siege,hand)及抵消伤害的百分比,1为对某种伤害全部抵消。 
		要不要尝试一下将护甲改为All呢?然而并没有什么卵用,All在damagetypes.xml没有定义,所以是默认的炮轰、攻城,实际上不存在。



		<BuilderLimit>X.0000</BuilderLimit>
		建造一个该单位的最大建造数量(建造人数)。 



		<MinimapIcon>图标路径</MinimapIcon>
		单位在小地图上所显示的图案(因为有人理解能力不行,特意加上了图标.....)

		<MinimapIcon>ui\minimap\t</MinimapIcon>
		贸易站

		<MinimapIcon>ui\minimap\n</MinimapIcon>
		土著贸易站

		<MinimapIcon>ui\minimap\asian_native_site</MinimapIcon>
		亚洲宗教贸易站

		<MinimapIcon>ui\minimap\wonder_16x16</MinimapIcon>
		亚洲奇观

		<MinimapIcon>ui\minimap\towncenter</MinimapIcon>
		市镇中心

		<MinimapIcon>ui\minimap\fort_star_16x16</MinimapIcon>
		堡垒

		<MinimapIcon>ui\minimap\highlighted item</MinimapIcon>
		目标

		<MinimapIcon>ui\minimap\treasure</MinimapIcon>
		宝藏

		<MinimapIcon>ui\minimap\hero</MinimapIcon>
		英雄

		<MinimapIcon>ui\minimap\s</MinimapIcon>
		市镇中心马车	你是不是认为我忘记添加图标了?

		<MinimapIcon>ui\minimap\minimap_gold</MinimapIcon>
		黄金



		<GathererLimit>X.0000</GathererLimit>
		该单位支持的最大采集者数量。 



		<Decay delay ='90000.0000' duration ='90000.0000'></Decay>
		Delay消失延迟时,duration保留时间。



		<SocketUnitType>TradePostSocket</SocketUnitType>
		建筑只能在贸易站地点上面建造,经试验,改成其它无效



		<UnitType>XXXXXXXX</UnitType>单位标签与属性。具体看此教程的单位标签。(点一下这个图片)




		<Flag>XXX</Flag> 可以定义单位最基本的属性。

		<Flag>NotDeleteable</Flag>
不能被delete掉
		<Flag>KnockoutDeath</Flag>
单位生命值归0后会倒下而不是消失
		<Flag>AllowAutoGarrison</Flag>
允许按右键自动驻防
		<Flag>ShowTactics</Flag>
显示能力按钮
		<Flag>DontFlattenGround</Flag>
不能守护可转化单位
		<Flag>TieToWaterSurface</Flag>
单位贴在水面或地面上,一般用于船只
		<Flag>StartOnNoUpdate</Flag>
不允许自动生产单位,可能还有其他效果
		<Flag>DoNotValidateResourceInventory</Flag>
允许采集指定数量资源(没有这语句,除非开秘籍快速,否则只能收集1资源)
		<Flag>RMCanRotate</Flag>
作用不明,用在城镇中心上,开局第一个城镇中心会旋转180°
		<Flag>SnapPlacement</Flag>
会因环境而自动旋转,码头,贸易站专用,给其他建筑用了后不能手动旋转。
		<Flag>CanAutoHeal</Flag>
允许自动回血
		<Flag>NotPlayerPlaceable</Flag>
在剧情编辑器隐藏放置该单位的选项
		<Flag>Invulnerable</Flag>
不能被攻击也不能受到伤害
		<Flag>InvulnerableIfGaia</Flag>
如果该单位是大自然的单位,那么该单位不能被攻击也不能受到伤害。
		<Flag>DoNotCreateUnitGroupAutomatically</Flag>
不能创建编队
		<Flag>DoNotShowOnMiniMap</Flag>
在小地图不显示这个单位
		<Flag>NotSelectable</Flag>
不能选取该单位
		<Flag>Nugget</Flag>
宝藏
		<Flag>VisibleUnderFogIfGaia</Flag>
如果该单位是大自然的单位,只要探索了地图,即使不在你的视野内也能看见。
		<Flag>UnlimitedSupply</Flag>
自身资源无上限。
<Train row ='0' page
='X' column ='Y'>A</Train> 此单位/建筑可以生产的单位。 <Tech row ='0' page ='X' column ='Y'>A</Tech> 此单位/建筑可以研究的科技。 <Command page ='X' column ='Y'>A</Command> 这是对该类单位的某些能力(控制按钮)的设定。例如最下方的命令按钮,与工厂的自动生产,城墙开门等。 Y是X行的第几个,protoname是单位调用名,techname是科技调用名,protoPowerName是protounitcommands.xml的调用名 X的显示值看下表
='0' 训练 ='12' 英国人
='1' 改良 ='13' 法国人
='2' 步兵 ='14' 俄罗斯人
='3' 奇观 ='15' 荷兰人
='4' 骑兵 ='16' 西班牙领事馆
='5' 炮兵 ='17' 葡萄牙人
='6' 建造 ='18' 选择盟友
='7' 购买 ='19' 军队
='8' 出售 ='20' (领事馆的解约科技大按钮)
='9' 战术 ='21' 购买
='10' 命令 ='22' (空白)
='11' 能力(Abilities)
<Tactics>XXX.tactics</Tactics> 单位基本属性。单位的战术、技能、攻击、自动采集、等走动都要在这里定义。要用AOE3ED提取(DataPY.bar/data3.bar/data2.bar/data.bar)。

攻击设定

		<ProtoAction> 

		<ProtoAction> 
			<Name>XXXXX</Name>
			<Damage>XXX</Damage>
			<Accuracy>0.9900</Accuracy>
			<DamageType>XXX</DamageType>
			<MinRange>XXX</MinRange>
			<MaxRange>XXX</MaxRange>
			<ROF>XXX</ROF>
			<DamageBonus type ='A'>X.0000<DageBonus>
			<DamageArea>XXX</DamageArea>
			<DamageFlags>XXX</DamageFlags> 
			<DamageCap>XXX</DamageCap>
		</ProtoAction>
			<Name>XXXXX</Name>
攻击名称
			<Damage>XXX</Damage>
单位攻击力
			<Accuracy>0.9900</Accuracy>
命中率,只能用于近战与弓箭攻击,火枪或炮弹的命中率会在tactics说到。
			<DamageType>XXX</DamageType>
攻击类型;有Hand、Ranged、Siege三种
			<MinRange>XXX</MinRange>
最小射程(例如是4,那么要距离敌方4才能攻击)
			<MaxRange>XXX</MaxRange>
最大射程
			<ROF>XXX</ROF>
攻击速率(数值越小,攻击速度越高)
			<DamageArea>XXX</DamageArea>
攻击的伤害范围
			<DamageBonus type ='A'>X.0000<DageBonus>
对A造成X倍伤害,A为单位标签或者单位调用名。
			<DamageFlags>XXX</DamageFlags> 

范围伤害类型。
GAIAEnemy:只对大自然与敌人造成伤害。
Enemy:只对敌人造成伤害。
没有这句但有上面的<DamageArea>XXX</DamageArea>,那么会打伤自己人;
如果利用在黄坚的技能天火[power.xml定义可攻击类型为All]并且删除了<DamageFlags>XXX</DamageFlags>就可以用来打自己人了。
			<DamageCap>XXX</DamageCap>
带有范围伤害【<DamageArea>XXX</DamageArea>】能造成的最大伤害,如果要一次性摧毁敌人请删除这句。并把范围调高。
		</ProtoAction>

村民自动采集茶叶

		<ProtoAction> 

		<ProtoAction>
			<Name>AutoGatherTrade</Name>
			<Type>AutoGather</Type>
			<Rate type ='Trade'>0.030000</Rate>
		</ProtoAction>
			<Name>AutoGatherTrade</Name>
自动采集茶叶
			<Type>AutoGather</Type>
			<Rate type ='Trade'>0.030000</Rate>
每秒自动采集0.03茶叶;数值越大,采集速度越快。
		</ProtoAction>

探险家建造建筑倍数,可以加到村民那里去。

		<ProtoAction> 

		<ProtoAction>
			<Name>Build</Name>
			<Rate type ='TradingPost'>3.000000</Rate>
			<Rate type ='TownCenter'>1.000000</Rate>
			<Rate type =''>1.000000</Rate>
		</ProtoAction> 
			<Name>Build</Name>
建造倍数;数值越大,建造速度越快。
			<Rate type ='TradingPost'>3.000000</Rate>
3倍速度建造贸易站
			<Rate type ='TownCenter'>1.000000</Rate>
1倍速度建造城镇中心
			<Rate type ='单位调用名或者标签'>X.000000</Rate>
		</ProtoAction>

治疗设定

		<ProtoAction> 

		<ProtoAction>
			<Name>Heal</Name>
			<Type>Heal</Type>
			<Rate type ='LogicalTypeHealed'>6.000000</Rate>
			<Rate type =''>X.000000</Rate>
		</ProtoAction>
			<Name>Heal</Name>
治疗
			<Type>Heal</Type>
			<Rate type ='LogicalTypeHealed'>6.000000</Rate>
每秒治疗被治疗者6生命;数值越大治疗速度越快。
			<Rate type ='单位调用名或者标签'>X.000000</Rate>
		</ProtoAction>

村民采集

		<ProtoAction> 

		<ProtoAction>
			<Name>Gather</Name>
			<Rate type ='Tree'>0.500000</Rate>
			<Rate type ='Mill'>0.670000</Rate>
			<Rate type ='AbstractMine'>0.600000</Rate>
			<Rate type ='Plantation'>0.50</Rate>
			<Rate type ='Herdable'>2.000000</Rate>
			<Rate type ='Huntable'>0.840000</Rate>
			<Rate type ='BerryBush'>0.670000</Rate>
			<Rate type ='AbstractFarm'>0.670000</Rate>
			<Rate type ='AbstractFish'>0.670000</Rate>
			<Rate type ='AbstractWhale'>0.500000</Rate>
			<Rate type ='ypRicePaddy' resource ='Food'>0.500000</Rate>
			<Rate type ='ypRicePaddy' resource ='Gold'>0.340000</Rate>
			<Rate type ='ypBerryBuilding'>0.670000</Rate>
			<Rate type ='ypGroveBuilding'>0.500000</Rate>
			<Rate type =''>X.000000</Rate> 
		</ProtoAction>
			<Name>Gather</Name>
采集;数值越大,采集速度越快。
			<Rate type ='Tree'>0.500000</Rate>
每秒从树木采集0.5木材
			<Rate type ='Mill'>0.670000</Rate>
每秒从磨坊采集0.67食物(实际为0.67X75%)
			<Rate type ='AbstractMine'>0.600000</Rate>
每秒矿场采集0.6黄金
			<Rate type ='Plantation'>0.50</Rate>
每秒从种植园·采集0.5黄金(实际为0.5X75%)
			<Rate type ='Herdable'>2.000000</Rate>
每秒从畜牧采集2食物
			<Rate type ='Huntable'>0.840000</Rate>
每秒从猎物采集0.84食物
			<Rate type ='BerryBush'>0.670000</Rate>
每秒从浆果采集0.67食物
			<Rate type ='AbstractFarm'>0.670000</Rate>
每秒从农田采集0.67食物
			<Rate type ='AbstractFish'>0.670000</Rate>
每秒从鱼群采集0.67食物【这个是渔船的】
			<Rate type ='AbstractWhale'>0.500000</Rate>
每秒从鲸鱼采集0.5黄金【这个是鲸鱼的】
			<Rate type ='ypRicePaddy' resource ='Food'>0.5000</Rate>
每秒从稻田采集0.5食物
			<Rate type ='ypRicePaddy' resource ='Gold'>0.3400</Rate>
每秒从稻田采集0.34黄金
			<Rate type ='ypBerryBuilding'>0.670000</Rate>
每秒从樱桃园采集0.67食物
			<Rate type ='ypGroveBuilding'>0.500000</Rate>
每秒从芒果园采集0.5木材
			<Rate type ='单位调用名或者标签'>速率X.000000</Rate> 
		</ProtoAction>

银行、工厂等自动采集;数值越大,采集速度越快,可以换成其他的资源。:

		<ProtoAction>
			<Name>AutoGatherCoin</Name>
			<Rate type ='Gold'>5.500000</Rate>
		</ProtoAction>

自动采集黄金
每秒采集5.5黄金

		<ProtoAction>
			<Name>AutoGatherCoin</Name>
			<Rate type ='Gold'>5.500000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>AutoGatherFood</Name>
			<Rate type ='Food'>5.500000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>AutoGatherWood</Name>
			<Rate type ='Wood'>5.500000</Rate>
		</ProtoAction>
		<ProtoAction>
			<Name>AutoGatherFood</Name>
			<Rate type ='Food'>5.500000</Rate>
		</ProtoAction>

自动采集食物
每秒采集5.5食物

		<ProtoAction>
			<Name>AutoGatherWood</Name>
			<Rate type ='Wood'>5.500000</Rate>
		</ProtoAction>

自动采集木材
每秒采集5.5木材

ProtoAction必须在tactics定义才能生效,否者你直接在protoy城镇中心添加了自动采集食物速率,却不修改tactics的话,城镇中心是不会自动采集食物的。