基础知识



主要学习修改三个文件,分别是data文件夹里面的protoy.xml、techtreey.xml与stringtabley.xml。

protoy可以修改单位各种属性与建造按钮,例如生命值、速度、视野、图标、建造单位按钮等。

techtreey可以修改科技、卡片的效果,例如增加可训练单位、增加或减少生命值、运送单位等。

stringtabley是语言文件,作用是其他文件的5个数字会转变成这个文件与那5个数字相对应的文字。

刚入门的萌新请务必看完本页面,谢谢。



如果你还没下载单位手册,请点击此处下载帝国时代3亚洲王朝1.03版单位手册终极版.exe。



注意:在本教程中中间的X是数值或路径,后面或下一行的文字是对整行效果的解释。如果你问我X是什么,我保证我不会打死你的。

图片的<PopulationCapAddition>X</PopulationCapAddition>为可容纳人口数,把X改成100,那么该单位/建筑就能容纳100人口。
把<MaxVelocity>X</MaxVelocity>中间的X改成10,那么该单位移动速度变成10

像军营那种单位没有可容纳人口数量的语句怎么办?
鉴于你是刚入门,我不欺负你:没有就自己将语句添加进军营就可以了。

PS:随意伸手会受到惩罚,甚至是受到-2147483647点暴击伤害。



萌新(LV1):!@#¥%……&怎样修改?
萌新(LV2):^&*(!@#$)_*&怎样修改?
萌新(LV3):/*-+23456^%
萌新(LV4):~!@#$%~``#%;怎样修改?
小羽(LV??)向萌新(LV4)发动攻击,造成了-2147483648点致命伤害。


小羽(LV??):最不喜欢那些自己不思考却又总是伸手的人了。不把你直接炸成灰已经算是对你手下留情了。
另一个萌新(LV1)看见此状况在瑟瑟发抖。



本教程一些术语:

protoname为Protoy.xml的单位调用名
techname为Techtreey.xml的科技调用名
protoPowerName为Protounitcommands.xml的调用名



什么是单位调用名?


什么是调用名?
凡是name = 'XXXX'都是调用名。
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id ='909' name ='ypChuKoNu'>
<DBID>1333</DBID>
<DisplayNameID>60152</DisplayNameID>
<EditorNameID>60153</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>

上图中的单位调用名为ypChuKoNu,然后在Stringtabley.xml搜索60152,查到该单位为诸葛弩。你可能看见了一张假截图


  techtreey.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Tech name ='HCShipCrossbowmen3German' type ='Normal'>
<DBID>2474</DBID>
<DisplayNameID>36423</DisplayNameID>
<Cost resourcetype ='Ships'>1.0000</Cost>
<ResearchPoints>40.0000</ResearchPoints>
<Status>UNOBTAINABLE</Status>
<Icon>units\infantry_ranged\crossbow\crossbow_icon_64x64</Icon>

上图中的科技调用名为HCShipCrossbowmen3,在Stringtabley搜索42201,查到该科技为运送21个弩手的卡片。








此处非常重要



怎样修改单位人口啊?

.看圣典

怎样让村民建造工厂啊?

..看圣典

怎样让中国训练火枪手啊?

...看圣典

怎样建造剧情里面的英雄啊?

....

圣典我看了,就是不会。

.....

你就教教我呗

......我还能说些什么?
不是你不会,而是你想不劳而获。要么你就是猪。







请记住以下语句:

  techtreey.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
		启用科技

<Effect type ='TechStatus' status ='obtainable'>Techname</Effect>
禁用科技
<Effect type ='TechStatus' status ='unobtainable'>Techname</Effect>
直接改良科技
<Effect type ='TechStatus' status ='active'>Techname</Effect>
停用单位(0是停用,1是启用,-1是停用。)
<Effect type ='Data' amount ='0' subtype ='Enable' relativity ='Absolute'>
<Target type ='ProtoUnit'>Protoname</Target></Effect>
启用单位(0是停用,1是启用,-1是停用。)
<Effect type ='Data' amount ='1' subtype ='Enable' relativity ='Absolute'>
<Target type ='ProtoUnit'>Protoname</Target></Effect>





protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<PopulationCount>X.0000</PopulationCount>
每个该类单位所占人口。
注意:俄国军队不能改为0,否则俄国不能出兵的。(如果要改为0需要在civs.xml删除沙俄的捆绑出兵方式的语句,具体请点击这里
<Train row ='0' page ='X' column ='Y'>A</Train>
此单位/建筑可以生产的单位。
<Tech row ='0' page ='X' column ='Y'>A</Tech>
此单位/建筑可以研究的科技。
Y是X行的第几个,protoname是单位调用名,techname是科技调用名
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)











怎样修改单位人口?
很简单的,例如修改诸葛弩:
打开protoy.xml,搜索ypchukonu(ypchukonu是诸葛弩的单位调用名,自己看单位手册或者圣典的单位调用名,自己在stringtabley.xml寻找也行)
然后会看到<Unit id ='909' name ='ypChuKoNu'>

接下来把 <PopulationCount>1</PopulationCount>中间的1修改成0,那么诸葛弩占用人口就变成0了,修改成100,占用人口就变成100。
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Unit id ='909' name ='ypChuKoNu'>
<DBID>1333</DBID>
<DisplayNameID>60152</DisplayNameID>
<EditorNameID>60153</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
<FormationCategory>Ranged</FormationCategory>
<MaxVelocity>4.5000</MaxVelocity>
<MaxRunVelocity>6.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\Mods\ming\crossbow\crossbow.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
<Icon>icon\mingcrossbow_icon_64</Icon>
<PortraitIcon>icon\mingcrossbow_icon_portrait</PortraitIcon>
<RolloverTextID>60151</RolloverTextID>
<ShortRolloverTextID>60150</ShortRolloverTextID>
<InitialHitpoints>90.0000</InitialHitpoints>
<MaxHitpoints>90.0000</MaxHitpoints>
<LOS>20.0000</LOS>
<ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
<AutoAttackRange>16.0000</AutoAttackRange>
<UnitAIType>RangedCombative</UnitAIType>
<TrainPoints>24.0000</TrainPoints>
<Bounty>9.0000</Bounty>
<BuildBounty>9.0000</BuildBounty>
<Cost resourcetype ='Food'>85.0000</Cost>
<AllowedAge>1</AllowedAge>
<Armor type ='Ranged' value ='0.2000'></Armor>
<UnitType>LogicalTypeHealed</UnitType>
<UnitType>LogicalTypeValidSharpshoot</UnitType>



自己来试一遍,点击下面的(假)记事本文本框,然后按ctrl+F搜索ypchukonu


把PopulationCount的1改成0,或100,按保存。。。这个记事本是假的,不能保存,自己到外面去打开protoy.xml修改后再保存。
  protoy.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Unit id ='908' name ='ypMonkIndian'>
<DBID>1332</DBID>
<DisplayNameID>60148</DisplayNameID>
<EditorNameID>60149</EditorNameID>
<ObstructionRadiusX>0.7900</ObstructionRadiusX>
<ObstructionRadiusZ>0.7900</ObstructionRadiusZ>
<FormationCategory>Mobile</FormationCategory>
<MaxVelocity>5.0000</MaxVelocity>
<MaxRunVelocity>7.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\asians\indians\monk\monk_elephant.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<Icon>units\asians\indians\monk\indian_monk_icon_64</Icon>
<MinimapIcon>ui\minimap\hero</MinimapIcon>
<PortraitIcon>units\asians\indians\monk\indian_monk_icon_portrait</PortraitIcon>
<SelectionPriority>5</SelectionPriority>
<RolloverTextID>60147</RolloverTextID>
<ShortRolloverTextID>60146</ShortRolloverTextID>
<InitialHitpoints>250.0000</InitialHitpoints>
<MaxHitpoints>250.0000</MaxHitpoints>
<LOS>18.0000</LOS>
<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
<AutoAttackRange>16.0000</AutoAttackRange>
<UnitAIType>RangedCombative</UnitAIType>
<TrainPoints>20.0000</TrainPoints>
<BuildLimit>1</BuildLimit>
<Bounty>45.0000</Bounty>
<Cost resourcetype ='Gold'>175.0000</Cost>
<RechargeTime>10.0000</RechargeTime>
<AllowedAge>0</AllowedAge>
<Armor type ='Ranged' value ='0.2000'></Armor>
<UnitType>LogicalTypeHealed</UnitType>
<UnitType>LogicalTypeNeededForVictory</UnitType>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeLandMilitary</UnitType>
<UnitType>LogicalTypeScout</UnitType>
<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
<UnitType>LogicalTypeGarrisonInShips</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>Hero</UnitType>
<UnitType>AbstractCavalry</UnitType>
<UnitType>AbstractElephant</UnitType>
<UnitType>Unit</UnitType>
<UnitType>Military</UnitType>
<UnitType>UnitClass</UnitType>
<UnitType>AbstractCavalryInfantry</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>Ranged</UnitType>
<UnitType>AbstractCanSeeStealth</UnitType>
<UnitType>AbstractHandCavalry</UnitType>
<UnitType>ConvertsHerds</UnitType>
<UnitType>AbstractMonk</UnitType>
<UnitType>AbstractIndianMonk</UnitType>
<Train row ='0' page ='6' column ='1'>TradingPost</Train>
<Train row ='0' page ='6' column ='0'>TownCenter</Train>
<Train row ='0' page ='6' column ='3'>NatBlowgunAmbusher</Train>
<Train row ='0' page ='6' column ='2'>WarDog</Train>
<Train row ='0' page ='6' column ='4'>NatClubmanLoyal</Train>
<Train row ='0' page ='6' column ='2'>PetCoyote</Train>
<Train row ='0' page ='6' column ='2'>YPPetTiger</Train>
<Train row ='0' page ='6' column ='5'>YPPetRhino</Train>
<Train row ='0' page ='6' column ='4'>YPPetWhiteTiger</Train>
<Train row ='0' page ='6' column ='3'>ypPetLion</Train>
<Flag>CollidesWithProjectiles</Flag>
<Flag>ApplyHandicapTraining</Flag>
<Flag>CorpseDecays</Flag>
<Flag>ShowGarrisonButton</Flag>
<Flag>DontRotateObstruction</Flag>
<Flag>ObscuredByUnits</Flag>
<Flag>HeroName2</Flag>
<Flag>RotateInPlace</Flag>
<Flag>ForceBuildingData</Flag>
<Flag>NotDeleteable</Flag>
<Flag>KnockoutDeath</Flag>
<Flag>CanAutoHeal</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='0'>Garrison</Command>
<Command page ='10' column ='2'>Stop</Command>
<Command page ='11' column ='0'>Abilities</Command>
<Command page ='9' column ='0'>ToggleStealth</Command>
<Tactics>ypindianmonk.tactics</Tactics>
<ProtoAction>
<Name>AutoGatherWood</Name>
<Type>AutoGather</Type>
<Rate type ='Wood'>0.100000</Rate>
</ProtoAction>
<ProtoAction>
<Name>Build</Name>
<Rate type ='TradingPost'>3.000000</Rate>
<Rate type ='TownCenter'>1.000000</Rate>
<Rate type ='WarHut'>1.000000</Rate>
<Rate type ='ArtilleryDepot'>1.000000</Rate>
<Rate type ='Corral'>1.000000</Rate>
</ProtoAction>
<ProtoAction>
<Name>BuildingAttack</Name>
<Damage>10.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
<DamageBonus type ='Building'>1.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>GuardianAttack</Name>
<Damage>4.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageCap>40.000000</DamageCap>
<DamageBonus type ='Guardian'>3.000000</DamageBonus>
<DamageArea>2.000000</DamageArea>
<DamageFlags>GAIAEnemy</DamageFlags>
<HitPercent>10.000000</HitPercent>
<HitPercentType>Sweep</HitPercentType>
</ProtoAction>
<ProtoAction>
<Name>HandAttack</Name>
<Damage>4.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageCap>40.000000</DamageCap>
<DamageBonus type ='Guardian'>3.000000</DamageBonus>
<DamageArea>2.000000</DamageArea>
<DamageFlags>Enemy</DamageFlags>
<HitPercent>10.000000</HitPercent>
<HitPercentType>Sweep</HitPercentType>
<DamageBonus type ='AbstractVillager'>0.250000</DamageBonus>
<DamageBonus type ='Hero'>0.500000</DamageBonus>
<DamageBonus type ='AbstractArtillery'>1.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>Heal</Name>
<Type>Heal</Type>
<Rate type ='LogicalTypeHealed'>4.000000</Rate>
</ProtoAction>
<ProtoAction>
<Name>Stun</Name>
<Damage>30.000000</Damage>
<DamageType>Hand</DamageType>
<MaxRange>2.000000</MaxRange>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>sweepDamage</Name>
<Damage>5.000000</Damage>
<DamageType>Hand</DamageType>
<DamageFlags>GAIAEnemy</DamageFlags>
</ProtoAction>
</Unit>
<Unit id ='909' name ='ypChuKoNu'>
<DBID>1333</DBID>
<DisplayNameID>60152</DisplayNameID>
<EditorNameID>60153</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
<FormationCategory>Ranged</FormationCategory>
<MaxVelocity>4.5000</MaxVelocity>
<MaxRunVelocity>6.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\Mods\ming\crossbow\crossbow.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
<Icon>icon\mingcrossbow_icon_64</Icon>
<PortraitIcon>icon\mingcrossbow_icon_portrait</PortraitIcon>
<RolloverTextID>60151</RolloverTextID>
<ShortRolloverTextID>60150</ShortRolloverTextID>
<InitialHitpoints>90.0000</InitialHitpoints>
<MaxHitpoints>90.0000</MaxHitpoints>
<LOS>20.0000</LOS>
<ProjectileProtoUnit>Arrow</ProjectileProtoUnit>
<AutoAttackRange>16.0000</AutoAttackRange>
<UnitAIType>RangedCombative</UnitAIType>
<TrainPoints>24.0000</TrainPoints>
<Bounty>9.0000</Bounty>
<BuildBounty>9.0000</BuildBounty>
<Cost resourcetype ='Food'>85.0000</Cost>
<AllowedAge>1</AllowedAge>
<Armor type ='Ranged' value ='0.2000'></Armor>
<UnitType>LogicalTypeHealed</UnitType>
<UnitType>LogicalTypeValidSharpshoot</UnitType>
<UnitType>LogicalTypeNeededForVictory</UnitType>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeLandMilitary</UnitType>
<UnitType>LogicalTypeScout</UnitType>
<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
<UnitType>LogicalTypeGarrisonInShips</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>ConvertsHerds</UnitType>
<UnitType>AbstractRangedInfantry</UnitType>
<UnitType>Ranged</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>AbstractCavalryInfantry</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>UnitClass</UnitType>
<UnitType>Military</UnitType>
<UnitType>Unit</UnitType>
<UnitType>AbstractArcher</UnitType>
<UnitType>AbstractInfantry</UnitType>
<Flag>CollidesWithProjectiles</Flag>
<Flag>ApplyHandicapTraining</Flag>
<Flag>CorpseDecays</Flag>
<Flag>ShowGarrisonButton</Flag>
<Flag>DontRotateObstruction</Flag>
<Flag>ObscuredByUnits</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Stop</Command>
<Command page ='10' column ='0'>Garrison</Command>
<Command page ='10' column ='2'>Delete</Command>
<Tactics>chukonu.tactics</Tactics>
<ProtoAction>
<Name>BuildingAttack</Name>
<Damage>3.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>DefendHandAttack</Name>
<Damage>6.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>DefendRangedAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Ranged</DamageType>
<MinRange>2.000000</MinRange>
<MaxRange>16.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>MeleeHandAttack</Name>
<Damage>6.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerHandAttack</Name>
<Damage>6.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerRangedAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Ranged</DamageType>
<MinRange>2.000000</MinRange>
<MaxRange>16.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>VolleyHandAttack</Name>
<Damage>6.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>VolleyRangedAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Ranged</DamageType>
<MinRange>2.000000</MinRange>
<MaxRange>16.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
</Unit>
<Unit id ='910' name ='ypArquebusier'>
<DBID>1334</DBID>
<DisplayNameID>60156</DisplayNameID>
<EditorNameID>60157</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
<FormationCategory>Ranged</FormationCategory>
<MaxVelocity>4.0000</MaxVelocity>
<MaxRunVelocity>6.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\Mods\ming\master\master.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
<Icon>icon\mingmaster_icon_64</Icon>
<PortraitIcon>icon\mingmaster_icon_portrait</PortraitIcon>
<RolloverTextID>60155</RolloverTextID>
<ShortRolloverTextID>60154</ShortRolloverTextID>
<InitialHitpoints>105.0000</InitialHitpoints>
<MaxHitpoints>105.0000</MaxHitpoints>
<LOS>24.0000</LOS>
<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
<AutoAttackRange>16.0000</AutoAttackRange>
<UnitAIType>RangedCombative</UnitAIType>
<TrainPoints>27.0000</TrainPoints>
<Bounty>9.0000</Bounty>
<BuildBounty>9.0000</BuildBounty>
<Cost resourcetype ='Gold'>85.0000</Cost>
<AllowedAge>2</AllowedAge>
<Armor type ='Ranged' value ='0.3000'></Armor>
<UnitType>LogicalTypeHealed</UnitType>
<UnitType>LogicalTypeValidSharpshoot</UnitType>
<UnitType>LogicalTypeNeededForVictory</UnitType>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeLandMilitary</UnitType>
<UnitType>LogicalTypeScout</UnitType>
<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
<UnitType>LogicalTypeGarrisonInShips</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>AbstractInfantry</UnitType>
<UnitType>Unit</UnitType>
<UnitType>Military</UnitType>
<UnitType>UnitClass</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>AbstractCavalryInfantry</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>Ranged</UnitType>
<UnitType>AbstractGunpowderTrooper</UnitType>
<UnitType>AbstractRangedInfantry</UnitType>
<UnitType>ConvertsHerds</UnitType>
<Flag>CollidesWithProjectiles</Flag>
<Flag>ApplyHandicapTraining</Flag>
<Flag>CorpseDecays</Flag>
<Flag>ShowGarrisonButton</Flag>
<Flag>DontRotateObstruction</Flag>
<Flag>ObscuredByUnits</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Stop</Command>
<Command page ='10' column ='0'>Garrison</Command>
<Command page ='10' column ='2'>Delete</Command>
<Tactics>musketBayonet.tactics</Tactics>
<ProtoAction>
<Name>BuildingAttack</Name>
<Damage>9.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>DefendHandAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>DefendRangedAttack</Name>
<Damage>14.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>20.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>MeleeHandAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerHandAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerRangedAttack</Name>
<Damage>14.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>20.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>VolleyHandAttack</Name>
<Damage>5.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>VolleyRangedAttack</Name>
<Damage>14.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>20.000000</MaxRange>
<ROF>3.000000</ROF>
<DamageBonus type ='AbstractLightCavalry'>2.000000</DamageBonus>
<DamageBonus type ='AbstractHeavyInfantry'>2.000000</DamageBonus>
<DamageBonus type ='xpEagleKnight'>2.000000</DamageBonus>
<DamageBonus type ='xpCoyoteMan'>0.750000</DamageBonus>
<DamageBonus type ='AbstractCavalry'>0.750000</DamageBonus>
</ProtoAction>
</Unit>
<Unit id ='911' name ='ypQiangPikeman'>
<DBID>1335</DBID>
<DisplayNameID>60160</DisplayNameID>
<EditorNameID>60161</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
<FormationCategory>Body</FormationCategory>
<MaxVelocity>5.0000</MaxVelocity>
<MaxRunVelocity>7.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\Mods\ming\pikeman\pikeman.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
<Icon>icon\mingpikeman_icon_64</Icon>
<PortraitIcon>icon\mingpikeman_icon_portrait</PortraitIcon>
<SelectionPriority>20</SelectionPriority>
<RolloverTextID>60159</RolloverTextID>
<ShortRolloverTextID>60158</ShortRolloverTextID>
<InitialHitpoints>110.0000</InitialHitpoints>
<MaxHitpoints>110.0000</MaxHitpoints>
<LOS>12.0000</LOS>
<UnitAIType>HandCombative</UnitAIType>
<TrainPoints>24.0000</TrainPoints>
<Bounty>7.0000</Bounty>
<BuildBounty>7.0000</BuildBounty>
<Cost resourcetype ='Wood'>60.0000</Cost>
<AllowedAge>1</AllowedAge>
<Armor type ='Hand' value ='0.1000'></Armor>
<UnitType>LogicalTypeHealed</UnitType>
<UnitType>LogicalTypeValidSharpshoot</UnitType>
<UnitType>LogicalTypeNeededForVictory</UnitType>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeLandMilitary</UnitType>
<UnitType>LogicalTypeScout</UnitType>
<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
<UnitType>LogicalTypeGarrisonInShips</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>ConvertsHerds</UnitType>
<UnitType>AbstractHandInfantry</UnitType>
<UnitType>AbstractPikeman</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>AbstractCavalryInfantry</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>UnitClass</UnitType>
<UnitType>Military</UnitType>
<UnitType>Unit</UnitType>
<UnitType>AbstractInfantry</UnitType>
<UnitType>AbstractHeavyInfantry</UnitType>
<Flag>CollidesWithProjectiles</Flag>
<Flag>ApplyHandicapTraining</Flag>
<Flag>CorpseDecays</Flag>
<Flag>ShowGarrisonButton</Flag>
<Flag>DontRotateObstruction</Flag>
<Flag>ObscuredByUnits</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Stop</Command>
<Command page ='10' column ='0'>Garrison</Command>
<Command page ='10' column ='2'>Delete</Command>
<Tactics>pikeman.tactics</Tactics>
<ProtoAction>
<Name>BuildingAttack</Name>
<Damage>30.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>CoverBuildingAttack</Name>
<Damage>15.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>CoverHandAttack</Name>
<Damage>3.500000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus>
<DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>DefendHandAttack</Name>
<Damage>7.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus>
<DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>MeleeHandAttack</Name>
<Damage>7.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>5.000000</DamageBonus>
<DamageBonus type ='AbstractLightInfantry'>3.000000</DamageBonus>
</ProtoAction>
</Unit>







其他的使用方法看
1-6初始科技