Protoy.xml:单位的属性修改

用记事本打开游戏目录\data\protoy.xml这个文件:假如是决定版,则需要用Resource Manager在Data\Data.bar提取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的名字(代号)。



		<SubCiv>civname</SubCiv>
		限制此单位的训练,使其必须与特定次要文明结盟,或与属于指定次要文明的原住民定居点(土著、宗教)结盟才允许建造。
		将单位建造限制绑定为指定次要文明的联盟等级的倍数,以及在属于它的原住民定居点上建造的贸易站数量。




		<ObstructionRadiusX>X.0000</ObstructionRadiusX>
		<ObstructionRadiusZ>X.0000</ObstructionRadiusZ>
		单位的实际体积,数值越大,体积越大,目标占用位置越大。注:图像与模型不会变大。
		上述两句可以用下面的ObstructionRadius代替。

		<ObstructionRadius>X.0000</ObstructionRadius>
		在 X 轴和 Z 轴上的障碍半径(单位的实际体积),实测仍为正方形,非圆形。



		<FormationCategory>X.0000</FormationCategory>
		单位编队类别?有Ranged,protected,body,mobile这几类
		Ranged一般用于带远程攻击的兵种
		Protected一般用于炮兵及几乎没有攻击能力的单位
		Body一般用于近战型步兵
		Mobile一般用于骑兵
		该设定疑是混合编队时单位排列靠前或者靠后,但实测似乎没效果;有可能是神话时代遗留的产物。
		测试过程:
		把鹰炮改成Mobile,没变化,去除鹰炮的<UnitType>AbstractArtillery</UnitType>;鹰炮在混合编队不再靠后,而是跟步兵一起;再增加<UnitType>AbstractCavalry</UnitType>,鹰炮在混合编队靠前;所以靠前靠后是由UnitType决定的,FormationCategory似乎没效果。
    
 


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


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

		

		<PlacementBuffer>X.0000</PlacementBuffer>
		建筑物放置时使用的额外避让半径;可能有用,但目前实测无用。




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


		<MaxVelocity>X.0000</MaxVelocity>
		移动速度,数值越大,移动越快。

		<MaxRunVelocity>X.0000</MaxRunVelocity>
		单位掉队时,追赶队伍的速度。
		似乎是原型单位的最大跑步速度,无论是通过触发效果触发,还是通过设置SpeedBoost执行攻击动作获得的额外速度。
 


		<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提取。
 


		
		<AnimStateMachine>xxxxx</AnimStateMachine>
		指向原型单位动画状态机文件的路径,相对于 Data\animstatemachine


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


		
		<PhysicsInfo>XXXXXXXX</PhysicsInfo>
		相对于 Data\physics 的 protoUnit 物理信息文件的路径。
 


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


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




		<SelectionPriority>10</SelectionPriority>
		选择单位时的优先级值,似乎无效果。



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

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

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



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

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



		<DeadReplacement>protoname</DeadReplacement>
		单位死亡后变成另一个单位,一般用于建筑物废墟设定,你也可以尝试将村民(Settler)死亡后变成村民(Settler),然后等同于不死。



		<BuildReplacement>protoname</BuildReplacement>
		用于建筑物一旦完全建成,就会变成定义的单位,该行代码必须在带有<UnitType>Building</UnitType>的建筑物才会生效。
		若要使用,注意建筑物大小,否则可能将单位卡在建筑物里面,无法走动。实测将马厩转换成兵营,村民被卡在兵营中。
		你还可以将两个建筑物相互转换,这两个建筑物会无限循环互转,可以用单位干涉建筑物移动,但你无法使用这两个建筑物。



		<PartisanType>protoname</PartisanType>
		当前文明/国家设定了允许游击队(civs.xml中设定<Partisans>1</Partisans>),则建筑物被摧毁后会生成游击队单位。

		<PartisanCount>12</PartisanCount>
		当前文明/国家设定了允许游击队(civs.xml中设定<Partisans>1</Partisans>),则建筑物被摧毁后生成游击队单位的数量。



		<LOS>X.0000</LOS>
		单位视野,数值越大,视野越广。注意不要超过99,否则可能会出现bug。该bug由sjh大佬提供,经过实测,大于100是有可能会出现bug。



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



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



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



		<Bounty>X.0000</Bounty> 
		单位死亡后,敌人增加的经验值。

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

		<Bounty resourcetype='Gold'>X.0000</Bounty> 
		仅限于决定版:从《Knights of The Mediterranean AoE3DE DLC》开始,它可以采用资源类型属性,允许分配除 XP 之外的资源的奖励,并且可以同时存在多个Bounty。

		<BuildBounty resourcetype='Wood'>X.0000</BuildBounty>
		仅限于决定版:从《The African Royals AoE3DE DLC》开始,它可以采用资源类型属性,允许分配除 XP 之外的资源的奖励,并且可以同时存在多个BuildBounty。
		
		



		<Contain>XXX</Contain>
		可以驻守的类型
		可以采用单位调用名或标签,例:AbstractVillager村民、AbstractInfantry步兵、AbstractHeavyInfantry重步兵...具体看教程的单位标签;此外还可以使用All代表所有单位) 
		Contain可以采用以下参数:
			external:如果设置为 1,所包含的单位将在包含的建筑物或单位之外呈现。
popException:[仅在决定版有效]如果设置为 1,则指定类型的所包含单位在驻扎期间不会计算其人口。从 AoE3DE 版本开始可用。 popDiscount:[仅在决定版有效]从指定类型的驻军单位人口中扣除设定值。从 AoE3DE 版本开始可用。 inDelay:[仅在决定版有效]指定单位类型的驻军延迟时间(以秒为单位)。从《Knights of The Mediterranean AoE3DE DLC》 开始可用。 outDelay :[仅在决定版有效]弹出指定单位类型的单位的延迟时间(以秒为单位)。需要在容器中设置<Flag>MeteredGarrison</Flag> 才能正常运行。
以下为示例: <Contain external="1">XXX</Contain> 如果设置为1,驻守的单位会显示在被驻守的单位或建筑的中心位置(盲猜为模型原点),虽然驻守的单位可见,但其不能攻击,也不会受到伤害;你可以通过点击或框选选中驻守的单位,但无法控制。
<Contain popDiscount="1" indelay="3.0" outDelay="1">XXX</Contain> popExceptionpopDiscountinDelayoutDelay仅在决定版有效
<MaxContained>X.0000</MaxContained> 建筑物最大驻守数量。 <Cost resourcetype ='XXX'>X.0000</Cost> 生产单位所需资源类型及数目。(food是食物,wood是木头,gold是金子,trade是茶叶,ships是船运,xp经验) <CostEscalation>X.0000</CostEscalation> 设定后,每存在一个当前的单位,该单位的建造成本*X倍,可无限叠加,无上限,下限为免费建造。 假设村民的成本为100食物,设定<CostEscalation>10.0000</CostEscalation>,训练一个村民后,村民的成本变成1000食物,训练2个后成本变成10000食物,删除第二个村民后,成本变回1000食物。 <ScoreValue>X.0000</ScoreValue> 对玩家得分的贡献。如果设置,则覆盖根据成本计算(十分之一)的默认值。实测似乎没效果。 <InitialResource resourcetype ='XXX'>X.0000</InitialResource> 提供资源开采的单位(如树,银矿),提供的资源类型及数目。(food是食物,wood是木头,gold是金子,trade是茶叶,ships是船运,xp经验) <CarryCapacity resourcetype ='XXX'>1.0000</CarryCapacity> 单位可携带的最大资源量,对于不携带资源的单位,设置执行狩猎行动时允许采集的资源类型。 携带的最大资源量用于类似帝国2或神话时代的资源采集方式,具体参考12-7 类似帝国2的采集 XXX资源类型同上面的InitialResource,可采集资源的单位一般设定Food、Wood、Gold各一行。 <CarryCapacity resourcetype ='Food'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Wood'>1.0000</CarryCapacity> <CarryCapacity resourcetype ='Gold'>1.0000</CarryCapacity> <ResourceSubType>xxxx</ResourceSubType> 资源类型(鼠标指针移到指定单位身上时会依据资源类型而显示不同的指针图案。资源类型:forage浆果、meat肉、wood木材、gold黄金、grain种田、fish鱼群、XP自动收集的经验、Fame隐藏资源。) <RechargeTime>X.0000</RechargeTime> 蓄力技能的释放间隔(冷却时间);蓄力技能请参考12-10 蓄力技能 <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=帝王时代 决定版:0=探索时代,1=商业时代,2=要塞时代,3=工业时代,4=帝王时代 <Armor type ='XXX' value ='X'></Armor> 单位护甲类型(ranged,siege,hand)及抵消伤害的百分比,1为对某种伤害全部抵消。 要不要尝试一下将护甲改为All呢?然而并没有什么卵用,All在damagetypes.xml没有定义,所以是默认的炮轰、攻城图标,实际上不存在。
注:决定版从《The African Royals AoE3DE DLC》开始可以存在多种护甲,但亚洲王朝只能存在一种护甲。 <Armor type ='ranged' value ='X'></Armor> <Armor type ='siege' value ='X'></Armor>
<BuilderLimit>X.0000</BuilderLimit> 建造一个该单位的最大建造数量(建造人数)。 <MinimapColor red ='1.0000' blue ='1.0000' green ='1.0000'></MinimapColor> 强制设定单位在小地图上显示的颜色,RGB按百分比设定,假如red ='0.1' blue ='0.5' green ='1.0000'则换算成RGB≈26,255,128;?有疑问?看清楚xml属性,里面写的是red、blue、green。 <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 ='0.0000' duration ='90000.0000'></Decay> 单位/建筑死亡后,尸体/废墟保留:Delay消失延迟时间,duration保留时间。 <ResourceDecay>0.7500</ResourceDecay> 死亡的可畜牧动物和可猎捕动物的资源衰减率。 <WanderDistance>30</WanderDistance> Gaia(大自然)单位四处走动范围,需要添加<Flag>Wanders</Flag>才会生效 <SocketUnitType>TradePostSocket</SocketUnitType> 地基,可以让定义的建筑物在此地基上建造,例如贸易站TradePostSocket必须在贸易站地点建造。 设定地基需要几个条件,具体请看12-8 限制建筑物在地基建造 <SocketOffsetX>X.0000</SocketOffsetX> 地基在X轴上的偏移量 <SocketOffsetZ>X.0000</SocketOffsetZ> 地基在Z轴上的偏移量

以下边框内的内容仅在决定版可用,由海文大佬实测。

<sharedbuildlimitunit>X</sharedbuildlimitunit> <sharedbuildlimitunittypes> <unittype>Y</unittype> </sharedbuildlimitunittypes> 单位共享上限,以上两组代码必须配合使用,然后必须设定<flag>UseSharedBuildLimit</flag>才会生效。 其中X是单位调用名,Y可以是单位调用名,也可以是单位标签。当Y是单位标签时,则所有含有Y类标签的单位都共享上限,X为该单位自身;如果Y是单位调用名,则需要列举所有你想要共享的单位调用名,X为除自己之外的其余单位调用名。 <sharedselectionunittypes> <unittype>X</unittype> </sharedselectionunittypes> 共享单位选择,通常与共享单位上限共同使用。 <veterancybonus> <rank id="0"> <veterancymodify modifytype="MaxHP">X.00</veterancymodify> <veterancymodify modifytype="ROF">X.00</veterancymodify> </rank> <rank id="1"> <veterancymodify modifytype="MaxHP">X.00</veterancymodify> <veterancymodify modifytype="ROF">X.00</veterancymodify> </rank> <rank id="2"> <veterancymodify modifytype="MaxHP">X.00</veterancymodify> <veterancymodify modifytype="ROF">X.00</veterancymodify> </rank> </veterancybonus> 单位晋升设定,必须搭配<flag>ExperienceUnit</flag>才会生效: rank id="X"为等级,取值范围(0-2),每个等级的加成不叠加,每击杀1个单位升1级;modifytype有MaxHP[最大生命值]、Speed[速度]、Range[射程]、UnitDamage[非攻城类型伤害]、SiegeDamage[攻城类型伤害]、ROF[攻速]、Bounty[此单位击杀敌人经验回馈]、BaseHP[基础生命值百分比血量上限]、BaseSpeed[基础值百分比速度]、RangeAbsolute[攻击距离的 % 修改];X.00为在其基础上*X倍。 modifytype来源于myonion大佬的测试:https://www.aoebbs.net/thread-1474-1-1.html
<UnitType>XXXXXXXX</UnitType> 单位标签与属性。具体看此教程的单位标签。 单位标签的叫法源于寰宇工作室制作的帝国时代3单位手册,Unittype翻译应为单位类型,但因为单位手册的影响,所以本教程继续使用单位标签这个名称。 <Flag>XXX</Flag> 定义单位的特殊属性及效果。↓↓↓↓↓
		<Flag>NotCommandable</Flag>
使单位不能接受命令,你也没办法删除该单位。
		<Flag>NotDeleteable</Flag>
使单位不能被玩家删除
		<Flag>ConvertToGaiaAtZeroHitpoints</Flag>
当生命值为0时,将单位控制权转移到 Gaia(大自然),推荐与<Flag>DoNotDieAtZeroHitpoints</Flag>联合使用。与<Flag>KnockoutDeath</Flag>一同使用也是可以的。
		<Flag>Immoveable</Flag>
使单位不能移动,等同于设定移动速度0;攻击时不会旋转角度,即使敌人在背后,也是向前攻击。
		<Flag>RotateInPlace</Flag>
即使单位不能移动,也可以使单位在攻击时旋转角度
		<Flag>KnockoutDeath</Flag>
单位生命值归0后会倒下而不是消失
		<Flag>StartEnabled</Flag>
单位游戏开始时即为启用状态,无需通过其他设定启用该单位。
		<Flag>AllowAutoGarrison</Flag>
允许按右键自动驻防,没有这句必须使用命令栏的按钮才能驻守到建筑物。
		<Flag>MeteredGarrison</Flag>
若添加,当其他单位在取消驻守当前建筑物时,逐个进行撤出当前建筑物。
		<Flag>ShowTactics</Flag>
显示能力按钮
		<Flag>TieToWaterSurface</Flag>
单位贴在水面或地面上,一般用于船只
		<Flag>StartOnNoUpdate</Flag>
不允许自动生产单位,可能还有其他效果
		<Flag>PlaceAsFoundation</Flag>
编辑器放置(包括复制粘贴)该建筑后,外观只能是地基形态。
		<Flag>ForcePopulationImpactWhenPlaced</Flag>
如果建筑物提供人口空间,建筑物在放置地基时,即使不建造也会增加人口。此外还会导致编辑器放置(包括复制粘贴)该建筑后,外观只能是地基形态。
		<Flag>Tracked</Flag>
疑似与KB函数有关。
		<Flag>ValidateResourceInventory</Flag>
默认设置,可用<Flag>DoNotValidateResourceInventory</Flag>抵消,用意不明,资源单位被采集后立刻消失。
		<Flag>DoNotValidateResourceInventory</Flag>
允许采集指定数量资源(没有这语句,除非开秘籍快速,否则只能收集1资源,资源单位会立刻消失)
如果不添加则默认为<Flag>ValidateResourceInventory</Flag>
		<Flag>DoesNotHaveGatherPoint</Flag>
默认设置,无法通过右键设定集合点,可通过<Flag>HasGatherPoint</Flag>抵消。
		<Flag>HasGatherPoint</Flag>
允许通过右键设定集合点;若不添加则无法通过右键设定集合点。
		<Flag>RMCanRotate</Flag>
作用不明,用在城镇中心上,开局第一个城镇中心会旋转180°
		<Flag>NotRotateable</Flag>
禁止物体或建筑物在放置时旋转,即使使用旋转快捷键(滚轮),也无法在建造时旋转建筑。
		<Flag>SnapPlacement</Flag>
会因环境而自动旋转,码头,贸易站专用,给其他建筑用了后不能手动旋转。
		<Flag>CanAutoHeal</Flag>
允许自动回血
		<Flag>NotPlayerPlaceable</Flag>
在剧情编辑器隐藏放置该单位的选项
		<Flag>Invulnerable</Flag>
不能被攻击也不能受到伤害
		<Flag>InvulnerableIfGaia</Flag>
如果该单位是Gaia(大自然)的单位,那么该单位不能被攻击也不能受到伤害。
		<Flag>DoNotCreateUnitGroupAutomatically</Flag>
不能创建编队
		<Flag>DoNotShowOnMiniMap</Flag>
在小地图不显示这个单位
		<Flag>Selectable</Flag>
默认设置,可以选择该单位。可用<Flag>NotSelectable</Flag>抵消。
		<Flag>NotSelectable</Flag>
不能选取该单位
		<Flag>DoNotYawDuringMovement</Flag>
单位移动时不会旋转,永远朝向一个方向
		<Flag>SelectOnTrain</Flag>
训练该单位后,立即选取该单位。
		<Flag>Nugget</Flag>
定义为宝藏
		<Flag>UnlimitedSupply</Flag>
自身资源无上限。
		<Flag>HeroName1</Flag>
设定随机名称必须加上HeroName1或HeroName2才会生效。
		<Flag>HeroName2</Flag>
设定随机名称必须加上HeroName1或HeroName2才会生效。
		<Flag>PlaceAnywhere</Flag>
可以任意在任意地方放置单位或建筑,但不代表你能建造建筑在水中或敌人第一城镇附近。
		<Flag>VisibleUnderFog</Flag>
只要探索了地图,该单位即使不在你的视野内也能在战雾中看见
		<Flag>VisibleUnderFogIfGaia</Flag>
如果该单位是Gaia(大自然)的单位,只要探索了地图,即使不在你的视野内也能在战雾中看见。
		<Flag>VisibleUnderFogOnlyAfterSeen</Flag>
在看见此单位后,可以在已探索的地图但没有视野的情况下看见此单位。
		<Flag>GivesLOSToAll</Flag>
所有玩家都能看见此单位的视野。
		<Flag>Wanders</Flag>
当该单位为Gaia(大自然)单位的情况下,会在一定范围内自动走动
		<Flag>ForceToGaia</Flag>
强制设定为Gaia(大自然)单位
		<Flag>AllowOverPopCap</Flag>
在有空余人口数(最少为1)的情况下,建造此单位可以超出人口上限。
		<Flag>AlwaysAllowOverPopCap</Flag>
建造此单位必须有空余人口,而且当前人口数量必须<当前人口总数-此单位占用人口点数;从字面上翻译不是这样,但实测就是这样
		<Flag>YPUsesExtraWorkerSlot</Flag>
采集资源时,一个单位占用两个采集者位置
		<Flag>HideGarrisonFlag</Flag>
隐藏驻守情况下的出现的旗帜
		<Flag>InvalidTownBellLocation</Flag>
如果该建筑物可以驻守村民、神父等带<UnitType>AffectedByTownBell</UnitType>单位,在城镇敲警钟时,不会自动驻守到该建筑物。
		<Flag>DieAtZeroResources</Flag>
只有自身携带资源归0后才会死亡并且消失。一般与下面的<Flag>DoNotDieAtZeroHitpoints</Flag>联合使用。
		<Flag>DoNotDieAtZeroHitpoints</Flag>
生命值归0后不会死亡,不会消失,但是无法控制,除了技能外无法对其再造成伤害。
		<Flag>ExcludeFromMoveAllMilitary</Flag>
使用“移动所有军事单位”命令时,不会移动
		<Flag>wallBuild</Flag>
添加后,建造此单位/建筑的时候,会变成放置墙。
		<Flag>DestroyUnderBuilding</Flag>
一旦建筑物地基放置在该对象上,就会删除该对象。
		<Flag>UseAlignedObstructionOnMinimap</Flag>
城墙那种在小地图上对齐。
		<Flag>VisibleOwnerOnly</Flag>
该单位只有自己能见,其他玩家看不见。
		<Flag>AnnounceDestruction</Flag>
该单位或建筑被摧毁后,显示“您/玩家X”的xxxx被摧毁了。
		<Flag>RevealFoundation</Flag>
建筑物在首次施工时,此建筑的位置将向所有人公开,并显示“玩家名称”已开始建造xxxx建筑。
		<Flag>NonSolid</Flag>
该单位或建筑障碍物不会阻挡其他单位通过。
		<Flag>PlayerOwnsObstruction</Flag>
该单位或建筑障碍物不会阻挡其他己方玩家单位通过,用于城门。
		<Flag>NeverCountDeathAsLoss</Flag>
在游戏结束后的资料不统计该单位死亡值。
		<Flag>ColorTransformNonGaia</Flag>
当单位从Gaia(大自然)转换后,小地图图标将还原为使用玩家颜色。用于取代<MinimapColor>设定的颜色。
		<Flag>FadeInOnBuild</Flag>
使建筑在完全建成前呈现淡入效果:刚放置时为透明,随着建造进度逐渐变不透明。
		<Flag>VariationLocked</Flag>
当单位存在多个模型时,单位图形变化在场景(剧情编辑器)保存时设置到单位数据中。
		<Flag>InvulnerableToAreaDamage</Flag>
[决定版]免疫范围攻击


		<Train row ='0' page ='X' column ='Y'>A</Train>
		此单位/建筑可以生产的单位。采用三个参数:row 、page 、column 。尽管游戏始终会设置和处理row参数,但该参数实际上并未使用。

		<Tech row ='0' page ='X' column ='Y'>A</Tech>
		此单位/建筑可以研究的科技。采用三个参数:row 、page 、column 。尽管游戏始终会设置和处理row参数,但该参数实际上并未使用。

		<Command page ='X' column ='Y'>A</Command>
		这是对该类单位的某些能力(控制按钮)的设定。例如最下方的命令按钮,与工厂的自动生产,城墙开门等。采用两个参数:page 、column 。

		

		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,Data\Data3.bar,Data\Data2.bar,Data\Data.bar)。决定版则需要用Resource Manager在Data\Data.bar提取。

攻击设定



<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>
		<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:只对Gaia(大自然)与敌人造成伤害。
Enemy:只对敌人造成伤害。
没有这句但有上面的<DamageArea>XXX</DamageArea>,那么会打伤自己人;
如果利用在黄坚的技能天火[power.xml定义可攻击类型为All]并且删除了<DamageFlags>XXX</DamageFlags>就可以用来打自己人了。
			<DamageCap>XXX</DamageCap>
带有范围伤害【<DamageArea>XXX</DamageArea>】能造成的最大伤害,如果要一次性摧毁敌人请删除这句。并把范围调高。
		</ProtoAction>
V3.5版本补充: <DamageArea>XXX</DamageArea>范围伤害的范围不支持小数点,出现小数则向下取整,例如0.5≈0,1.9≈1,2.5≈2;即使在科技运算中,也是先将protoy定义的范围向下取整再运算科技加成。
例如2-0.5=1≠2,0.5+0.5=0≠1,0.5X2=0;对此计算有疑问?第一个数字为protoy定义的范围,优先向下取整,然后运算后再一次向下取整;0.5+0.5实际为0+0.5,然后又向下取整,最后变成0。
V3.7版本补充:决定版已修正不能存在小数点问题,因此该限制仅在亚洲王朝存在。

村民自动采集茶叶



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

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



<ProtoAction> <Name>Build</Name> <Rate type ='TradingPost'>3.000000</Rate> <Rate type ='TownCenter'>1.000000</Rate> <Rate type =''>1.000000</Rate> </ProtoAction>
		<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> <Name>Heal</Name> <Type>Heal</Type> <Rate type ='LogicalTypeHealed'>6.000000</Rate> <Rate type =''>X.000000</Rate> </ProtoAction>
		<ProtoAction> 
			<Name>Heal</Name>
治疗
			<Type>Heal</Type>
			<Rate type ='LogicalTypeHealed'>6.000000</Rate>
每秒治疗被治疗者6%生命;数值越大治疗速度越快。
			<Rate type ='单位调用名或者标签'>X.000000</Rate>
		</ProtoAction>

村民采集



<ProtoAction> <Name>Gather</Name> <dropsitegathering>0</dropsitegathering> <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>
		<ProtoAction> 
			<Name>Gather</Name>
采集;数值越大,采集速度越快。
			<dropsitegathering>0</dropsitegathering>
如果设定为1,那么必须将采集的资源放到仓库类建筑物,具体参考12-7 类似帝国2的采集
			<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> <ProtoAction> <Name>AutoGatherFood</Name> <Rate type ='Food'>5.500000</Rate> </ProtoAction> <ProtoAction> <Name>AutoGatherWood</Name> <Rate type ='Wood'>5.500000</Rate> </ProtoAction>
		<ProtoAction>
			<Name>AutoGatherCoin</Name>
			<Rate type ='Gold'>5.500000</Rate>
		</ProtoAction>

自动采集黄金
每秒采集5.5黄金
		<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的话,城镇中心是不会自动采集食物的。