更换单位模型




更换单位模型的意思是将一个单位的模型,换成另一个模型,例如城墙换成剧情那种堡垒城墙,火枪手的模型换成瑞士长枪兵的。

下面是城墙换成剧情那种堡垒城墙修改方法:


简单粗暴的方法一:

去protoy.xml将animfile的路径修改了,然后所有国家的城墙都会变成剧情的堡垒城墙了。
  protoy.xml - 记事本------未修改过的WallStraight5(墙1X5) ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Unit id="375" name="WallStraight5">
<DBID>190</DBID>
<DisplayNameID>24927</DisplayNameID>
<EditorNameID>25388</EditorNameID>
<ObstructionRadiusX>5.0000</ObstructionRadiusX>
<ObstructionRadiusZ>1.0000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>land</MovementType>
<AnimFile>buildings\wall\wall_1x5.xml</AnimFile>
<ImpactType>Stone</ImpactType>
<PhysicsInfo>house</PhysicsInfo>
<PlacementFile>wall.xml</PlacementFile>
<Icon>buildings\wall\wall_icon_64x64</Icon>
<PortraitIcon>buildings\wall\wall_portrait</PortraitIcon>
<RolloverTextID>24926</RolloverTextID>
<ShortRolloverTextID>25745</ShortRolloverTextID>
<InitialHitpoints>3000.0000</InitialHitpoints>
<MaxHitpoints>3000.0000</MaxHitpoints>
<LOS>4.0000</LOS>
<BuildPoints>5.0000</BuildPoints>
<Cost resourcetype="Wood">5.0000</Cost>
<BuildingWorkRate>1.0000</BuildingWorkRate>
<AllowedAge>0</AllowedAge>
<Decay delay="0.0000" duration="0.0000"/>
<Armor type="Siege" value="0.0000"/>
<UnitType>LogicalTypeValidSabotage</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>AbstractWall</UnitType>
<UnitType>ColonyBuilding</UnitType>
<UnitType>Building</UnitType>
<Tech row="0" page="1" column="0">Bastion</Tech>
<Tactics>wall.tactics</Tactics>
<Flag>SelectWithObstruction</Flag>
<Flag>Doppled</Flag>
<Flag>CollidesWithProjectiles</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>wallBuild</Flag>
<Flag>NeverShowButton</Flag>
<Flag>UseAlignedObstructionOnMinimap</Flag>
<Flag>NoIdleActions</Flag>
<Flag>TileAlignPlacement</Flag>
<Flag>ColonyBuilding</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>CanAutoHeal</Flag>
<Flag>FlattenGround</Flag>
<Flag>Tracked</Flag>
<Command page="6" column="0">Transform</Command>
<Command page="10" column="0">Delete</Command>
</Unit>

可以无视上面,只是放出来让你对比一下而已。
正确方法是先搜索堡垒城墙,然后复制animfile,然后再搜索村民建造出来的城墙,将animfile替换掉就好了。

  protoy.xml - 记事本------SPCFortWallLarge(大型堡垒城墙) ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Unit id="598" name="SPCFortWallLarge">
<DBID>870</DBID>
<DisplayNameID>34619</DisplayNameID>
<EditorNameID>34620</EditorNameID>
<ObstructionRadiusX>5.0000</ObstructionRadiusX>
<ObstructionRadiusZ>2.0000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>land</MovementType>
<AnimFile>buildings\spc\fort\spc_fort_wall_large.xml</AnimFile>
<ImpactType>Stone</ImpactType>
<PhysicsInfo>house</PhysicsInfo>
<Icon>buildings\spc\fort\spc_fort_wall_icon64x64</Icon>
<PortraitIcon>buildings\spc\fort\spc_fort_wall_portrait</PortraitIcon>
<RolloverTextID>34618</RolloverTextID>
<ShortRolloverTextID>34645</ShortRolloverTextID>
<InitialHitpoints>4500.0000</InitialHitpoints>
<MaxHitpoints>4500.0000</MaxHitpoints>
<LOS>6.0000</LOS>
<Cost resourcetype="Wood">50.0000</Cost>
<BuildingWorkRate>1.0000</BuildingWorkRate>
<AllowedAge>0</AllowedAge>
<Decay delay="0.0000" duration="0.0000"/>
<Armor type="Siege" value="0.0000"/>
<UnitType>LogicalTypeValidSabotage</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>AbstractWall</UnitType>
<UnitType>Building</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<Flag>SelectWithObstruction</Flag>
<Flag>Doppled</Flag>
<Flag>CollidesWithProjectiles</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>wallBuild</Flag>
<Flag>DontFlattenGround</Flag>
<Flag>NeverShowButton</Flag>
<Flag>UseAlignedObstructionOnMinimap</Flag>
<Flag>NoIdleActions</Flag>
<Flag>TileAlignPlacement</Flag>
<Flag>ColonyBuilding</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>Tracked</Flag>
<Command page="10" column="1">Delete</Command>
</Unit>

将如下WallStraight5(墙1X5)的模成模型修改成堡垒城墙如下↓↓↓↓↓

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

<Unit id="375" name="WallStraight5">
<DBID>190</DBID>
<DisplayNameID>24927</DisplayNameID>
<EditorNameID>25388</EditorNameID>
<ObstructionRadiusX>5.0000</ObstructionRadiusX>
<ObstructionRadiusZ>1.0000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>land</MovementType>
<AnimFile>buildings\spc\fort\spc_fort_wall_large.xml</AnimFile>
<ImpactType>Stone</ImpactType>
<PhysicsInfo>house</PhysicsInfo>
<PlacementFile>wall.xml</PlacementFile>
<Icon>buildings\wall\wall_icon_64x64</Icon>
<PortraitIcon>buildings\wall\wall_portrait</PortraitIcon>
<RolloverTextID>24926</RolloverTextID>
<ShortRolloverTextID>25745</ShortRolloverTextID>
<InitialHitpoints>3000.0000</InitialHitpoints>
<MaxHitpoints>3000.0000</MaxHitpoints>
<LOS>4.0000</LOS>
<BuildPoints>5.0000</BuildPoints>
<Cost resourcetype="Wood">5.0000</Cost>
<BuildingWorkRate>1.0000</BuildingWorkRate>
<AllowedAge>0</AllowedAge>
<Decay delay="0.0000" duration="0.0000"/>
<Armor type="Siege" value="0.0000"/>
<UnitType>LogicalTypeValidSabotage</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>AbstractWall</UnitType>
<UnitType>ColonyBuilding</UnitType>
<UnitType>Building</UnitType>
<Tech row="0" page="1" column="0">Bastion</Tech>
<Tactics>wall.tactics</Tactics>
<Flag>SelectWithObstruction</Flag>
<Flag>Doppled</Flag>
<Flag>CollidesWithProjectiles</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>wallBuild</Flag>
<Flag>NeverShowButton</Flag>
<Flag>UseAlignedObstructionOnMinimap</Flag>
<Flag>NoIdleActions</Flag>
<Flag>TileAlignPlacement</Flag>
<Flag>ColonyBuilding</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>CanAutoHeal</Flag>
<Flag>FlattenGround</Flag>
<Flag>Tracked</Flag>
<Command page="6" column="0">Transform</Command>
<Command page="10" column="0">Delete</Command>
</Unit>


剩下的WallStraight2(墙 1x2)、WallConnector(墙柱)、CWallGate(城门)自己分别换成SPCFortWallMedium(中型堡垒城墙)、SPCFortCorner(堡垒墙柱)、SPCFortGate(堡垒墙柱)的animfile,我就不举例了。

比较高级的方法二:让某个国家的城墙变成堡垒城墙


视频:https://www.bilibili.com/video/av60693312,这个视频与下面的教程不一样,视频只是随便制作的,没有修改动画之类的,所以被摧毁后还是会变成城墙摧毁的动画。

仍然是将WallStraight5(墙1X5)作为例子,WallStraight2(墙 1x2)、WallConnector(墙柱)、CWallGate(城门)自己修改。

①先去protoy.xml查WallStraight5(墙1X5)与SPCFortWallLarge(大型堡垒城墙)的animfile文件是什么,顺便用AOE3ED去art5.bar与art1.bar将这两个文件提取出来。

  wall_1x5.xml.xml - 记事本------未修改过的WallStraight5(墙1X5) ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_debris_1a</definebone>
<definebone>bone_debris_1b</definebone>
<definebone>bone_debris_1c</definebone>
<definebone>bone_debris_1d</definebone>
<definebone>bone_debris_1e</definebone>
<definebone>bone_debris_1f</definebone>
<definebone>bone_debris_1g</definebone>
<definebone>bone_debris_1h</definebone>
<definebone>bone_debris_1i</definebone>
<definebone>bone_debris_2a</definebone>
<definebone>bone_debris_2b</definebone>
<definebone>bone_debris_2c</definebone>
<definebone>bone_debris_2d</definebone>
<definebone>bone_debris_2e</definebone>
<definebone>bone_debris_3a</definebone>
<definebone>bone_debris_3b</definebone>
<definebone>bone_debris_3c</definebone>
<definebone>bone_debris_3d</definebone>
<definebone>bone_debris_3e</definebone>
<definebone>bone_debris_3f</definebone>
<definebone>bone_debris_3g</definebone>
<definebone>bone_debris_3h</definebone>
<definebone>bone_debris_3i</definebone>
<definebone>bone_debris_3j</definebone>
<definebone>bone_debris_4a</definebone>
<definebone>bone_debris_4b</definebone>
<definebone>bone_debris_4c</definebone>
<definebone>bone_debris_4d</definebone>
<definebone>bone_debris_4e</definebone>
<definebone>bone_debris_4f</definebone>
<definebone>bone_debris_5a</definebone>
<definebone>bone_debris_5b</definebone>
<definebone>bone_debris_5c</definebone>
<definebone>bone_debris_5d</definebone>
<definebone>bone_debris_5e</definebone>
<definebone>bone_debris_5f</definebone>
<submodel>
wood
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
woodWall
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<logic type="Variation">
<v1>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5_damaged</file>
</assetreference>
</v1>
<v2 weight="0">
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5_damaged_B</file>
</assetreference>
</v2>
</logic>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_wooden_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<component>
woodWall_death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_wooden_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>2.00</height>
</decal>
</component>
<anim>
Idle
<component>woodWall</component>
<simskeleton>
<model>buildings\wall\wall_wooden_1X5_damaged</model>
<damagetemplate>buildings\wall\wall_wooden_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_A</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_B</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_C</file>
<weight>10</weight>
</assetreference>
<component>woodWall_death</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
stone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
stoneWall
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_stone_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_stone_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\lp_wall_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
stoneWall_death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>stoneWall</component>
<simskeleton>
<model>buildings\wall\wall_stone_1X5</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_stone_1X5_deathAnim</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iroPalisade_1X5_deathAnim2</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iroPalisade_1X5_deathAnim3</file>
<weight>10</weight>
</assetreference>
<component>stoneWall_death</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
base_construction
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\constructions\wall_1x5a_con</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
mid_construction
<component>
mid_con
<assetreference type="GrannyModel">
<file>buildings\constructions\wall_1x5b_con</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>mid_con</component>
</anim>
</submodel>
<submodel>
wood_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wood_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wood_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wicker
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>2.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_iro_wicker_1X5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_iro_wicker_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim_2</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim_3</file>
<weight>10</weight>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
palisade
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_iro_palisade_1X5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_iro_palisade_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_deathanim</file>
<weight>10</weight>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
aztecstone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\wall_aztec_1x5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\wall_az_stone_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\lp_wall_az_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\lp_wall_az_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_aztec_1x5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_aztec_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathanim</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathanim1</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage1
<component>
iro_1x5_con_stage1
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage1</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage2
<component>
iro_1x5_con_stage2
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage2</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage3
<component>
iro_1x5_con_stage3
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage3</component>
</anim>
</submodel>
<submodel>
az_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
az_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
az_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage1_age4
<component>
iro_1x5_con_stage1_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage1_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage1_age4</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage2_age4
<component>
iro_1x5_con_stage2_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage2_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage2_age4</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage3_age4
<component>
iro_1x5_con_stage3_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage3_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage3_age4</component>
</anim>
</submodel>
<submodel>
asianwall
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_damaged_1x5</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathmodel_1x5</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\wall\Asian_walls_destructions\1x5\asian_wall_damaged_1x5</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathanime_1x5</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathanime_1x5</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
asian_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
asian_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
asian_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indianstone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_lp</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_lp</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\wall\Indian_wall\indian_wall_1x5_stone_damaged</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathanime</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathanime</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
indian_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indian_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indian_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<component>
wall
<logic type="Culture">
<easterneurope>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="stone"/>
</p100>
</logic>
</bastion>
</logic>
</easterneurope>
<mediterranean>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="stone"/>
</p100>
</logic>
</bastion>
</logic>
</mediterranean>
<westerneurope>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="stone"/>
</p100>
</logic>
</bastion>
</logic>
</westerneurope>
<iroquois>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="iro_1x5_con_stage1"/>
</p0>
<p33>
<submodelref ref="iro_1x5_con_stage2"/>
</p33>
<p66>
<submodelref ref="iro_1x5_con_stage3"/>
</p66>
<p100>
<submodelref ref="wicker"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="iro_1x5_con_stage1_age4"/>
</p0>
<p33>
<submodelref ref="iro_1x5_con_stage2_age4"/>
</p33>
<p66>
<submodelref ref="iro_1x5_con_stage3_age4"/>
</p66>
<p100>
<submodelref ref="palisade"/>
</p100>
</logic>
</bastion>
</logic>
</iroquois>
<aztec>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="az_stone_con1"/>
</p0>
<p33>
<submodelref ref="az_stone_con2"/>
</p33>
<p66>
<submodelref ref="az_stone_con3"/>
</p66>
<p100>
<submodelref ref="aztecstone"/>
</p100>
</logic>
</bastion>
</logic>
</aztec>
<chinese>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="asian_stone_con1"/>
</p0>
<p33>
<submodelref ref="asian_stone_con2"/>
</p33>
<p66>
<submodelref ref="asian_stone_con3"/>
</p66>
<p100>
<submodelref ref="asianwall"/>
</p100>
</logic>
</bastion>
</logic>
</chinese>
<indian>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="indian_stone_con1"/>
</p0>
<p33>
<submodelref ref="indian_stone_con2"/>
</p33>
<p66>
<submodelref ref="indian_stone_con3"/>
</p66>
<p100>
<submodelref ref="indianstone"/>
</p100>
</logic>
</bastion>
</logic>
</indian>
<japanese>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="asian_stone_con1"/>
</p0>
<p33>
<submodelref ref="asian_stone_con2"/>
</p33>
<p66>
<submodelref ref="asian_stone_con3"/>
</p66>
<p100>
<submodelref ref="asianwall"/>
</p100>
</logic>
</bastion>
</logic>
</japanese>
</logic>
</component>
</animfile>


需要从SPCFortWallLarge(大型堡垒城墙)复制粘贴的语句已用蓝色背景标出。
  SPC_Fort_Wall_Large.xml.xml - 记事本-----不需要修改的SPCFortWallLarge(大型堡垒城墙) ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_debris_1a</definebone>
<definebone>bone_debris_1b</definebone>
<definebone>bone_debris_1c</definebone>
<definebone>bone_debris_1d</definebone>
<definebone>bone_debris_1e</definebone>
<definebone>bone_debris_1f</definebone>
<definebone>bone_debris_1g</definebone>
<definebone>bone_debris_1h</definebone>
<definebone>bone_debris_1i</definebone>
<definebone>bone_debris_1j</definebone>
<definebone>bone_debris_1k</definebone>
<definebone>bone_debris_1l</definebone>
<definebone>bone_debris_1m</definebone>
<definebone>bone_debris_2a</definebone>
<definebone>bone_debris_2b</definebone>
<definebone>bone_debris_2c</definebone>
<definebone>bone_debris_2d</definebone>
<definebone>bone_debris_2e</definebone>
<definebone>bone_debris_2f</definebone>
<definebone>bone_debris_2g</definebone>
<definebone>bone_debris_2h</definebone>
<definebone>bone_debris_3a</definebone>
<definebone>bone_debris_3b</definebone>
<definebone>bone_debris_3c</definebone>
<definebone>bone_debris_3d</definebone>
<definebone>bone_debris_3e</definebone>
<definebone>bone_debris_3f</definebone>
<definebone>bone_debris_2i</definebone>
<attachment>
base smoke
<component>
smoke base
<assetreference type="ParticleSystem">
<file>effects\smoke\collapsesmoke01.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke base</component>
</anim>
</attachment>
<attachment>
base smoke2
<component>
smoke wave
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wave.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke wave</component>
</anim>
</attachment>
<attachment>
base smoke3
<component>
smoke wave center
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wave02.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke wave center</component>
</anim>
</attachment>
<attachment>
collapse_smoke
<component>
collapse_smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_a.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>collapse_smoke</component>
</anim>
</attachment>
<component>
SPC_Fort_Wall_Large
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\SPC_Fort_Wall_large_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\SPC_Fort_Wall_Large</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\lp_SPC_Fort_Wall_Large</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\spc\fort\spc_ft_wall_large_ground</texture>
<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
<bumptexture>buildings\spc\fort\spc_ft_wall_large_ground_bumpmap</bumptexture>
<width>12.00</width>
<height>5.50</height>
</decal>
</component>
<component>
SPC_Fort_Wall_Large_Death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\spc\fort\spc_fort_wall_large_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\spc\fort\lp_SPC_Fort_Wall_Large</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\spc\fort\spc_ft_wall_large_ground</texture>
<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
<bumptexture>buildings\spc\fort\spc_ft_wall_large_ground_bumpmap</bumptexture>
<width>12.00</width>
<height>5.50</height>
</decal>
</component>
<anim>
Idle
<component>SPC_Fort_Wall_Large</component>
<simskeleton>
<model>buildings\spc\fort\SPC_Fort_Wall_large_damaged</model>
<damagetemplate>buildings\spc\fort\SPC_Fort_Wall_large.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\spc\fort\SPC_Fort_Wall_large_deathAnim</file>
</assetreference>
<component>SPC_Fort_Wall_Large_Death</component>
<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</animfile>

②打开WallStraight5(墙1X5)的xml进行修改:SPCFortWallLarge(大型堡垒城墙)的模型复制到WallStraight5(墙1X5)里面
一般来说,有多个外观的单位都会用到submodel(不是只贴图),因为submodel可以设定不同的anim动作;WallStraight5(墙1X5)也是这样,设定了多个submodel,所以我们直接创建一个submodel,然后随便命名为fort,再把语句粘贴进去就完成一半了。submodel传送门
最后到底部的BuildingCompletion把p100改成fort就可以了。BuildingCompletion传送门
至于Death那些amin动作之类的因为WallStraight5(墙1X5)与SPCFortWallLarge(大型堡垒城墙)定义的名称是一样的,所以就不用管了(仅仅是这里不用管,不排除其他单位要改成与其tactics调用的anim名称的可能性)。
  wall_1x5.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_debris_1a</definebone>
<definebone>bone_debris_1b</definebone>
<definebone>bone_debris_1c</definebone>
<definebone>bone_debris_1d</definebone>
<definebone>bone_debris_1e</definebone>
<definebone>bone_debris_1f</definebone>
<definebone>bone_debris_1g</definebone>
<definebone>bone_debris_1h</definebone>
<definebone>bone_debris_1i</definebone>
<definebone>bone_debris_2a</definebone>
<definebone>bone_debris_2b</definebone>
<definebone>bone_debris_2c</definebone>
<definebone>bone_debris_2d</definebone>
<definebone>bone_debris_2e</definebone>
<definebone>bone_debris_3a</definebone>
<definebone>bone_debris_3b</definebone>
<definebone>bone_debris_3c</definebone>
<definebone>bone_debris_3d</definebone>
<definebone>bone_debris_3e</definebone>
<definebone>bone_debris_3f</definebone>
<definebone>bone_debris_3g</definebone>
<definebone>bone_debris_3h</definebone>
<definebone>bone_debris_3i</definebone>
<definebone>bone_debris_3j</definebone>
<definebone>bone_debris_4a</definebone>
<definebone>bone_debris_4b</definebone>
<definebone>bone_debris_4c</definebone>
<definebone>bone_debris_4d</definebone>
<definebone>bone_debris_4e</definebone>
<definebone>bone_debris_4f</definebone>
<definebone>bone_debris_5a</definebone>
<definebone>bone_debris_5b</definebone>
<definebone>bone_debris_5c</definebone>
<definebone>bone_debris_5d</definebone>
<definebone>bone_debris_5e</definebone>
<definebone>bone_debris_5f</definebone>
<submodel>
Fort
<attachment>
base smoke
<component>
smoke base
<assetreference type="ParticleSystem">
<file>effects\smoke\collapsesmoke01.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke base</component>
</anim>
</attachment>
<attachment>
base smoke2
<component>
smoke wave
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wave.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke wave</component>
</anim>
</attachment>
<attachment>
base smoke3
<component>
smoke wave center
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wave02.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>smoke wave center</component>
</anim>
</attachment>
<attachment>
collapse_smoke
<component>
collapse_smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_a.particle</file>
</assetreference>
</component>
<anim>
Idle
<component>collapse_smoke</component>
</anim>
</attachment>
<component>
SPC_Fort_Wall_Large
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\SPC_Fort_Wall_large_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\SPC_Fort_Wall_Large</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="spc_fort_wall_large">
<file>buildings\spc\fort\lp_SPC_Fort_Wall_Large</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\spc\fort\spc_ft_wall_large_ground</texture>
<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
<bumptexture>buildings\spc\fort\spc_ft_wall_large_ground_bumpmap</bumptexture>
<width>12.00</width>
<height>5.50</height>
</decal>
</component>
<component>
SPC_Fort_Wall_Large_Death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\spc\fort\spc_fort_wall_large_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\spc\fort\lp_SPC_Fort_Wall_Large</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\spc\fort\spc_ft_wall_large_ground</texture>
<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
<bumptexture>buildings\spc\fort\spc_ft_wall_large_ground_bumpmap</bumptexture>
<width>12.00</width>
<height>5.50</height>
</decal>
</component>
<anim>
Idle
<component>SPC_Fort_Wall_Large</component>
<simskeleton>
<model>buildings\spc\fort\SPC_Fort_Wall_large_damaged</model>
<damagetemplate>buildings\spc\fort\SPC_Fort_Wall_large.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\spc\fort\SPC_Fort_Wall_large_deathAnim</file>
</assetreference>
<component>SPC_Fort_Wall_Large_Death</component>
<attach a="base smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="base smoke2" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="base smoke3" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
<attach a="collapse_smoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>

<submodel>
wood
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
woodWall
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<logic type="Variation">
<v1>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5_damaged</file>
</assetreference>
</v1>
<v2 weight="0">
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5_damaged_B</file>
</assetreference>
</v2>
</logic>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\wall\wall_wooden_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_wooden_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<component>
woodWall_death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_wooden_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>2.00</height>
</decal>
</component>
<anim>
Idle
<component>woodWall</component>
<simskeleton>
<model>buildings\wall\wall_wooden_1X5_damaged</model>
<damagetemplate>buildings\wall\wall_wooden_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_A</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_B</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_wooden_1X5_deathAnim_C</file>
<weight>10</weight>
</assetreference>
<component>woodWall_death</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
stone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
stoneWall
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_stone_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_stone_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\lp_wall_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
stoneWall_death
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_deathModel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\lp_wall_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>stoneWall</component>
<simskeleton>
<model>buildings\wall\wall_stone_1X5</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\wall_stone_1X5_deathAnim</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iroPalisade_1X5_deathAnim2</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iroPalisade_1X5_deathAnim3</file>
<weight>10</weight>
</assetreference>
<component>stoneWall_death</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
base_construction
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\constructions\wall_1x5a_con</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
mid_construction
<component>
mid_con
<assetreference type="GrannyModel">
<file>buildings\constructions\wall_1x5b_con</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>mid_con</component>
</anim>
</submodel>
<submodel>
wood_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wood_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wood_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_wooden_1X5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\wall_stone_1X5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
wicker
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_wood_1X5">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_wicker_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>2.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_iro_wicker_1X5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_iro_wicker_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim_2</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_wicker_1X5_deathanim_3</file>
<weight>10</weight>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
palisade
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_iro_palisade_1x5">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_iro_palisade_1X5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_iro_palisade_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_iro_palisade_1X5_deathanim</file>
<weight>10</weight>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
aztecstone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\wall_aztec_1x5_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\wall_az_stone_1X5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_aztec_1x5">
<file>buildings\native_civs\wall\lp_wall_az_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\lp_wall_az_stone_1X5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\native_civs\wall\wall_aztec_1x5_damaged</model>
<damagetemplate>buildings\native_civs\wall\wall_aztec_1x5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathanim</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\native_civs\wall\wall_aztec_1x5_deathanim1</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage1
<component>
iro_1x5_con_stage1
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage1</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage2
<component>
iro_1x5_con_stage2
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage2</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage3
<component>
iro_1x5_con_stage3
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage3</component>
</anim>
</submodel>
<submodel>
az_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
az_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
az_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\native_civs\wall\wall_aztec_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage1_age4
<component>
iro_1x5_con_stage1_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage1_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage1_age4</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage2_age4
<component>
iro_1x5_con_stage2_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage2_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage2_age4</component>
</anim>
</submodel>
<submodel>
iro_1x5_con_stage3_age4
<component>
iro_1x5_con_stage3_age4
<assetreference type="GrannyModel">
<file>buildings\constructions\iro_wall_1x5_stage3_age4</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x128</selectedtexture>
<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
<width>11.00</width>
<height>2.50</height>
<xoffset>0.00</xoffset>
<zoffset>-0.15</zoffset>
</decal>
</component>
<anim>
Idle
<component>iro_1x5_con_stage3_age4</component>
</anim>
</submodel>
<submodel>
asianwall
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_damaged_1x5</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathmodel_1x5</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\wall_1x5</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\wall\Asian_walls_destructions\1x5\asian_wall_damaged_1x5</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathanime_1x5</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\Asian_walls_destructions\1x5\asian_wall_deathanime_1x5</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
asian_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
asian_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
asian_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Asian_walls_construction\asian_wall_stone_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indianstone
<attachment>
collapseSmoke
<component>
smoke
<assetreference type="ParticleSystem">
<file>effects\smoke\collapse_smoke_wall.particle</file>
</assetreference>
</component>
<anim>
None
<component>smoke</component>
</anim>
</attachment>
<component>
LIVE
<logic type="LowPoly">
<normal>
<logic type="Destruction">
<p1>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_damaged</file>
</assetreference>
</p1>
<p99>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone</file>
</assetreference>
</p99>
</logic>
</normal>
<lowpoly>
<assetreference type="GrannyModel" shape="wall_stone_1X5">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_lp</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<component>
DEAD
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathmodel</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_lp</file>
</assetreference>
</lowpoly>
</logic>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>LIVE</component>
<simskeleton>
<model>buildings\wall\Indian_wall\indian_wall_1x5_stone_damaged</model>
<damagetemplate>buildings\wall\wall_stone_1X5.dmg</damagetemplate>
</simskeleton>
</anim>
<anim>
Death
<assetreference type="GrannyAnim">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathanime</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>buildings\wall\Indian_wall\indian_wall_1x5_stone_deathanime</file>
</assetreference>
<component>DEAD</component>
<attach a="collapseSmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
</anim>
</submodel>
<submodel>
indian_stone_con1
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con1</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indian_stone_con2
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con2</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<submodel>
indian_stone_con3
<component>
base_con
<assetreference type="GrannyModel">
<file>buildings\wall\Indian_walls_constructions\indian_wall_stone_1x5_con3</file>
</assetreference>
<decal>
<effecttype>bump</effecttype>
<texture>buildings\wall\wall_wood_stone_ground_large</texture>
<selectedtexture>shadows_selections\selection_square_64x64</selectedtexture>
<bumptexture>buildings\wall\wall_wood_stone_ground_large_bumpmap</bumptexture>
<width>14.00</width>
<height>5.00</height>
</decal>
</component>
<anim>
Idle
<component>base_con</component>
</anim>
</submodel>
<component>
wall
<logic type="Culture">
<easterneurope>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="stone"/>
</p100>
</logic>
</bastion>
</logic>
</easterneurope>
<mediterranean>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="stone"/>
</p100>
</logic>
</bastion>
</logic>
</mediterranean>
<westerneurope>

<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/><!--往下看-->
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="stone_con1"/>
</p0>
<p33>
<submodelref ref="stone_con2"/>
</p33>
<p66>
<submodelref ref="stone_con3"/>
</p66>
<p100>
<submodelref ref="Fort"/>
</p100>

</logic>
<!--因为最开始是使用<logic type="Culture">,所以我只修改了文化westerneurope,也就是说只有法国、英国、荷兰会生效,除了Culture,后面还有一个<logic type="Tech">,因为只修改了bastion(城墙升级科技--要塞)但并没有改none(默认),所以要改良要塞科技才会看见,如果你想未升级的情况下就变成堡垒城墙,你可以将上面绿色的wood也改成Fort。至于BuildingCompletion是建造进度,p100是100%也就是建造好的样子,不过因为官方没有给堡垒城墙设定建造模型,所以只改了p100,而p0、p33、p66还是原来建造城墙的模型。-->
</bastion>
</logic>
</westerneurope>
<iroquois>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="iro_1x5_con_stage1"/>
</p0>
<p33>
<submodelref ref="iro_1x5_con_stage2"/>
</p33>
<p66>
<submodelref ref="iro_1x5_con_stage3"/>
</p66>
<p100>
<submodelref ref="wicker"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="iro_1x5_con_stage1_age4"/>
</p0>
<p33>
<submodelref ref="iro_1x5_con_stage2_age4"/>
</p33>
<p66>
<submodelref ref="iro_1x5_con_stage3_age4"/>
</p66>
<p100>
<submodelref ref="palisade"/>
</p100>
</logic>
</bastion>
</logic>
</iroquois>
<aztec>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="az_stone_con1"/>
</p0>
<p33>
<submodelref ref="az_stone_con2"/>
</p33>
<p66>
<submodelref ref="az_stone_con3"/>
</p66>
<p100>
<submodelref ref="aztecstone"/>
</p100>
</logic>
</bastion>
</logic>
</aztec>
<chinese>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="asian_stone_con1"/>
</p0>
<p33>
<submodelref ref="asian_stone_con2"/>
</p33>
<p66>
<submodelref ref="asian_stone_con3"/>
</p66>
<p100>
<submodelref ref="asianwall"/>
</p100>
</logic>
</bastion>
</logic>
</chinese>
<indian>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="indian_stone_con1"/>
</p0>
<p33>
<submodelref ref="indian_stone_con2"/>
</p33>
<p66>
<submodelref ref="indian_stone_con3"/>
</p66>
<p100>
<submodelref ref="indianstone"/>
</p100>
</logic>
</bastion>
</logic>
</indian>
<japanese>
<logic type="Tech">
<none>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="wood_con1"/>
</p0>
<p33>
<submodelref ref="wood_con2"/>
</p33>
<p66>
<submodelref ref="wood_con3"/>
</p66>
<p100>
<submodelref ref="wood"/>
</p100>
</logic>
</none>
<bastion>
<logic type="BuildingCompletion">
<p0>
<submodelref ref="asian_stone_con1"/>
</p0>
<p33>
<submodelref ref="asian_stone_con2"/>
</p33>
<p66>
<submodelref ref="asian_stone_con3"/>
</p66>
<p100>
<submodelref ref="asianwall"/>
</p100>
</logic>
</bastion>
</logic>
</japanese>
</logic>
</component>
</animfile>


重复一遍:因为最开始是使用<logic type="Culture">,所以我只修改了文化westerneurope,也就是说只有法国、英国、荷兰会生效,除了Culture,后面还有一个<logic type="Tech">,因为只修改了bastion(城墙升级科技--要塞)但并没有改none(默认),所以要改良要塞科技才会看见,如果你想未升级的情况下就变成堡垒城墙,你可以将上面绿色的wood也改成Fort。至于BuildingCompletion是建造进度,p100是100%也就是建造好的样子,不过因为官方没有给堡垒城墙设定建造模型,所以只改了p100,而p0、p33、p66还是原来建造城墙的模型。












~~~~~~~~~~~~~~我是华丽丽的分割线~~~~~~~~~~~~~~




再列举一个将火枪手模型换成瑞士长枪兵的例子:

很简单,把<assetreference type="GrannyModel">下面的file路径改掉就行了。

①提取火枪手的xml(注:优先提取art5.bar的xml文件),瑞士长枪兵懒得提取了,直接在AOE3ED复制语句就行了
②将火枪手<assetreference type="GrannyModel">下面的调用gr2模型文件的file路径改成瑞士长枪兵的gr2。



红色字是修改后,灰色字(注释)是修改前,只是修改了默认的样子,升级后的模型没有修改(反正只是随便弄一个例子,细节之类的都无所谓了)
传送门
  musketeer.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_hat</definebone>
<definebone>Bip01_AttachRt</definebone>
<definebone>Bip01_AttachLt</definebone>
<definebone>bone_sword</definebone>
<definebone>bone_gun</definebone>
<definebone>Bip01 Prop1</definebone>
<definebone>Bip01 Prop2</definebone>
<attachment>
gun
<include>units\infantry_ranged\musketeer\musketeer_guns.xml</include>
</attachment>
<attachment>
hats
<include>units\infantry_ranged\musketeer\musketeer_hats.xml</include>
</attachment>
<attachment>
sword
<include>units\attachments\sword.xml</include>
</attachment>
<attachment>
torch
<include>effects\projectiles\torch.xml</include>
</attachment>
<attachment>
measure tape
<component>
measure tape
<assetreference type="GrannyModel">
<file>units\attachments\measuring_tape</file>
</assetreference>
</component>
<anim>
Idle
<component>measure tape</component>
</anim>
</attachment>
<attachment>
saw
<component>
saw_villager
<assetreference type="GrannyModel">
<file>units\attachments\saw_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>saw_villager</component>
</anim>
</attachment>
<attachment>
hammer
<component>
hammer
<assetreference type="GrannyModel">
<file>units\attachments\hammer_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>hammer</component>
</anim>
</attachment>
<component>
ModelComp
<logic type="Tech">
<none>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\swiss_pikeman</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\lp_swiss_pikeman</file>
</assetreference>
</lowpoly>
<!-- <normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly> -->

</logic>
</none>
<veteranmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_3age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_3age</file>
</assetreference>
</lowpoly>
</logic>
</veteranmusketeers>
<guardmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_4age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_4age</file>
</assetreference>
</lowpoly>
</logic>
</guardmusketeers>
</logic>
<decal>
<effecttype>default</effecttype>
<texture isfakeshadow="1">shadows_selections\shadow_circle_32x32</texture>
<selectedtexture>shadows_selections\selection_circle_32x32</selectedtexture>
<width>1.0</width>
<height>1.0</height>
</decal>
</component>
<anim>
Death_by_melee
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_A</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.51</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_B</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.18</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_C</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.73</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_range
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.50</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.55</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.45</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_havoc
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_death</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathD</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_flail
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_flail</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_spin
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_spin</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cheer
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_B</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_D</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_E</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Recoil
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_E</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_G</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
OpenDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorOpen</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
CloseDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorClose</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_Idle
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throw_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Raze_Attack
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwA</file>
<tag type="Attack">0.61</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.52</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwB</file>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.44</tag>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_ranged_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.28</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.80</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.29</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.76</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.68</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_fire</file>
<tag type="Attack">0.48</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="MusketShot">0.48</tag>
<tag type="Particles" particlename="musketshot">0.48</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_reload
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_reload</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_walk
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.62</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.08</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_jog
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_run
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleB</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackA</file>
<tag type="Attack">0.53</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackB</file>
<tag type="Attack">0.52</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.38</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackA</file>
<tag type="Attack">0.53</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackB</file>
<tag type="Attack">0.69</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackC</file>
<tag type="Attack">0.50</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.06</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_runA</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.66</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
IGC_Pointing
<assetreference type="GrannyAnim">
<file>animation_library\range\pointing_rifleman_A</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_diga</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_dig_boreda</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate3_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleb</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idlec</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idled</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleE</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Exit
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_draw_gun</file>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_idle
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
BuildLifting
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\BuildLifting</file>
<weight>90</weight>
<tag type="Attack">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.38</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.67</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_build_standing_idlea</file>
<weight>10</weight>
<tag type="Attack">0.66</tag>
</assetreference>
<component>ModelComp</component>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildSaw
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.09</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.32</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.70</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildStaking
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_a</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
Build
<assetreference type="GrannyAnim">
<file>animation_library\villager\villager_male_build1</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.36</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_b</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_c</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_d</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_e</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_f</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="measure tape" frombone="MASTER" tobone="Bip01 Prop2" syncanims="0"/>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
</animfile>














如果你只想让某个国家设定这个模型可以添加


<logic type="Civ">
<none>
</none>
<xxxxx>
</xxxxx>
<国家调用名>
</国家调用名>
</logic>

none是默认,我只给Chinese(中国)设定了瑞士长枪兵的外观,其他国家仍然是none,调用火枪手原本的外观,即为不变。灰色字(注释)依然是修改前的语句,你自己对比一下修改前与修改后的不同之处吧。
传送门
  musketeer.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_hat</definebone>
<definebone>Bip01_AttachRt</definebone>
<definebone>Bip01_AttachLt</definebone>
<definebone>bone_sword</definebone>
<definebone>bone_gun</definebone>
<definebone>Bip01 Prop1</definebone>
<definebone>Bip01 Prop2</definebone>
<attachment>
gun
<include>units\infantry_ranged\musketeer\musketeer_guns.xml</include>
</attachment>
<attachment>
hats
<include>units\infantry_ranged\musketeer\musketeer_hats.xml</include>
</attachment>
<attachment>
sword
<include>units\attachments\sword.xml</include>
</attachment>
<attachment>
torch
<include>effects\projectiles\torch.xml</include>
</attachment>
<attachment>
measure tape
<component>
measure tape
<assetreference type="GrannyModel">
<file>units\attachments\measuring_tape</file>
</assetreference>
</component>
<anim>
Idle
<component>measure tape</component>
</anim>
</attachment>
<attachment>
saw
<component>
saw_villager
<assetreference type="GrannyModel">
<file>units\attachments\saw_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>saw_villager</component>
</anim>
</attachment>
<attachment>
hammer
<component>
hammer
<assetreference type="GrannyModel">
<file>units\attachments\hammer_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>hammer</component>
</anim>
</attachment>
<component>
ModelComp
<logic type="Tech">
<none>
<logic type="Civ">
<none>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly>
</logic>
</none>
<Chinese>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\swiss_pikeman</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\lp_swiss_pikeman</file>
</assetreference>
</lowpoly>
</logic>
</Chinese>

</logic>

<!-- <logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly>
</logic> -->

</none>
<veteranmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_3age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_3age</file>
</assetreference>
</lowpoly>
</logic>
</veteranmusketeers>
<guardmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_4age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_4age</file>
</assetreference>
</lowpoly>
</logic>
</guardmusketeers>
</logic>
<decal>
<effecttype>default</effecttype>
<texture isfakeshadow="1">shadows_selections\shadow_circle_32x32</texture>
<selectedtexture>shadows_selections\selection_circle_32x32</selectedtexture>
<width>1.0</width>
<height>1.0</height>
</decal>
</component>
<anim>
Death_by_melee
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_A</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.51</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_B</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.18</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_C</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.73</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_range
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.50</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.55</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.45</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_havoc
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_death</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathD</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_flail
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_flail</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_spin
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_spin</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cheer
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_B</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_D</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_E</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Recoil
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_E</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_G</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
OpenDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorOpen</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
CloseDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorClose</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_Idle
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throw_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Raze_Attack
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwA</file>
<tag type="Attack">0.61</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.52</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwB</file>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.44</tag>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_ranged_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.28</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.80</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.29</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.76</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.68</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_fire</file>
<tag type="Attack">0.48</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="MusketShot">0.48</tag>
<tag type="Particles" particlename="musketshot">0.48</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_reload
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_reload</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_walk
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.62</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.08</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_jog
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_run
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleB</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackA</file>
<tag type="Attack">0.53</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackB</file>
<tag type="Attack">0.52</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.38</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackA</file>
<tag type="Attack">0.53</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackB</file>
<tag type="Attack">0.69</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackC</file>
<tag type="Attack">0.50</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.06</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_runA</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.66</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
IGC_Pointing
<assetreference type="GrannyAnim">
<file>animation_library\range\pointing_rifleman_A</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_diga</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_dig_boreda</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate3_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleb</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idlec</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idled</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleE</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Exit
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_draw_gun</file>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_idle
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
BuildLifting
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\BuildLifting</file>
<weight>90</weight>
<tag type="Attack">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.38</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.67</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_build_standing_idlea</file>
<weight>10</weight>
<tag type="Attack">0.66</tag>
</assetreference>
<component>ModelComp</component>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildSaw
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.09</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.32</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.70</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildStaking
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_a</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
Build
<assetreference type="GrannyAnim">
<file>animation_library\villager\villager_male_build1</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.36</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_b</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_c</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_d</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_e</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_f</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="measure tape" frombone="MASTER" tobone="Bip01 Prop2" syncanims="0"/>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
</animfile>


















如果你只想让某个文化设定这个模型可以添加

	<logic type="Culture">
<none>
</none>
<xxxxx>
</xxxxx>
<文化调用名>
</文化调用名>
</logic>

none是默认,我只给WesternEurope(西欧:英国、法国、荷兰)设定了瑞士长枪兵的外观,其他国家仍然是none,调用火枪手原本的外观,即为不变。灰色字(注释)依然是修改前的语句,你自己对比一下修改前与修改后的不同之处吧。
传送门
  musketeer.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_hat</definebone>
<definebone>Bip01_AttachRt</definebone>
<definebone>Bip01_AttachLt</definebone>
<definebone>bone_sword</definebone>
<definebone>bone_gun</definebone>
<definebone>Bip01 Prop1</definebone>
<definebone>Bip01 Prop2</definebone>
<attachment>
gun
<include>units\infantry_ranged\musketeer\musketeer_guns.xml</include>
</attachment>
<attachment>
hats
<include>units\infantry_ranged\musketeer\musketeer_hats.xml</include>
</attachment>
<attachment>
sword
<include>units\attachments\sword.xml</include>
</attachment>
<attachment>
torch
<include>effects\projectiles\torch.xml</include>
</attachment>
<attachment>
measure tape
<component>
measure tape
<assetreference type="GrannyModel">
<file>units\attachments\measuring_tape</file>
</assetreference>
</component>
<anim>
Idle
<component>measure tape</component>
</anim>
</attachment>
<attachment>
saw
<component>
saw_villager
<assetreference type="GrannyModel">
<file>units\attachments\saw_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>saw_villager</component>
</anim>
</attachment>
<attachment>
hammer
<component>
hammer
<assetreference type="GrannyModel">
<file>units\attachments\hammer_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>hammer</component>
</anim>
</attachment>
<component>
ModelComp
<logic type="Tech">
<none>
<logic type="Culture">
<none>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly>
</logic>
</none>
<WesternEurope>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\swiss_pikeman</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\lp_swiss_pikeman</file>
</assetreference>
</lowpoly>
</logic>
</WesternEurope>

</logic>

<!-- <logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly>
</logic> -->

</none>
<veteranmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_3age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_3age</file>
</assetreference>
</lowpoly>
</logic>
</veteranmusketeers>
<guardmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_4age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_4age</file>
</assetreference>
</lowpoly>
</logic>
</guardmusketeers>
</logic>
<decal>
<effecttype>default</effecttype>
<texture isfakeshadow="1">shadows_selections\shadow_circle_32x32</texture>
<selectedtexture>shadows_selections\selection_circle_32x32</selectedtexture>
<width>1.0</width>
<height>1.0</height>
</decal>
</component>
<anim>
Death_by_melee
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_A</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.51</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_B</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.18</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_C</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.73</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_range
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.50</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.55</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.45</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_havoc
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_death</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathD</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_flail
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_flail</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_spin
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_spin</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cheer
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_B</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_D</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_E</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Recoil
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_E</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_G</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
OpenDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorOpen</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
CloseDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorClose</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_Idle
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throw_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Raze_Attack
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwA</file>
<tag type="Attack">0.61</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.52</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwB</file>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.44</tag>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_ranged_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.28</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.80</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.29</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.76</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.68</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_fire</file>
<tag type="Attack">0.48</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="MusketShot">0.48</tag>
<tag type="Particles" particlename="musketshot">0.48</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_reload
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_reload</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_walk
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.62</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.08</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_jog
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_run
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleB</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackA</file>
<tag type="Attack">0.53</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackB</file>
<tag type="Attack">0.52</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.38</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackA</file>
<tag type="Attack">0.53</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackB</file>
<tag type="Attack">0.69</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackC</file>
<tag type="Attack">0.50</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.06</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_runA</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.66</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
IGC_Pointing
<assetreference type="GrannyAnim">
<file>animation_library\range\pointing_rifleman_A</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_diga</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_dig_boreda</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate3_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleb</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idlec</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idled</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleE</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Exit
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_draw_gun</file>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_idle
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
BuildLifting
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\BuildLifting</file>
<weight>90</weight>
<tag type="Attack">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.38</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.67</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_build_standing_idlea</file>
<weight>10</weight>
<tag type="Attack">0.66</tag>
</assetreference>
<component>ModelComp</component>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildSaw
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.09</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.32</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.70</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildStaking
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_a</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
Build
<assetreference type="GrannyAnim">
<file>animation_library\villager\villager_male_build1</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.36</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_b</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_c</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_d</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_e</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_f</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="measure tape" frombone="MASTER" tobone="Bip01 Prop2" syncanims="0"/>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
</animfile>






















如果你想设定改良某科技后才会变成这个模型可以添加

	<logic type="Tech">
<none>
</none>
<xxxxx>
</xxxxx>
<科技调用名>
</科技调用名>
</logic>

火枪手原本就已经有<logic type="Tech">了,直接复制粘贴一个就可以了
我设定了改良科技TestTech5就会将模型换成瑞士长枪兵模型:传送门
  musketeer.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<animfile>
<definebone>bone_hat</definebone>
<definebone>Bip01_AttachRt</definebone>
<definebone>Bip01_AttachLt</definebone>
<definebone>bone_sword</definebone>
<definebone>bone_gun</definebone>
<definebone>Bip01 Prop1</definebone>
<definebone>Bip01 Prop2</definebone>
<attachment>
gun
<include>units\infantry_ranged\musketeer\musketeer_guns.xml</include>
</attachment>
<attachment>
hats
<include>units\infantry_ranged\musketeer\musketeer_hats.xml</include>
</attachment>
<attachment>
sword
<include>units\attachments\sword.xml</include>
</attachment>
<attachment>
torch
<include>effects\projectiles\torch.xml</include>
</attachment>
<attachment>
measure tape
<component>
measure tape
<assetreference type="GrannyModel">
<file>units\attachments\measuring_tape</file>
</assetreference>
</component>
<anim>
Idle
<component>measure tape</component>
</anim>
</attachment>
<attachment>
saw
<component>
saw_villager
<assetreference type="GrannyModel">
<file>units\attachments\saw_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>saw_villager</component>
</anim>
</attachment>
<attachment>
hammer
<component>
hammer
<assetreference type="GrannyModel">
<file>units\attachments\hammer_villager</file>
</assetreference>
</component>
<anim>
Idle
<component>hammer</component>
</anim>
</attachment>
<component>
ModelComp
<logic type="Tech">
<none>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_2age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_2age</file>
</assetreference>
</lowpoly>
</logic>
</none>
<TestTech5>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\swiss_pikeman</file>
</assetreference>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\mercenaries\swiss_pikeman\lp_swiss_pikeman</file>
</assetreference>
</lowpoly>
</logic>
</TestTech5>

<veteranmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_3age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_3age</file>
</assetreference>
</lowpoly>
</logic>
</veteranmusketeers>
<guardmusketeers>
<logic type="LowPoly">
<normal>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\musketeer_4age</file>
</assetreference>
<attach a="hats" frombone="bone_hat" tobone="HEAD" syncanims="0"/>
</normal>
<lowpoly>
<assetreference type="GrannyModel">
<file>units\infantry_ranged\musketeer\lp_musketeer_4age</file>
</assetreference>
</lowpoly>
</logic>
</guardmusketeers>
</logic>
<decal>
<effecttype>default</effecttype>
<texture isfakeshadow="1">shadows_selections\shadow_circle_32x32</texture>
<selectedtexture>shadows_selections\selection_circle_32x32</selectedtexture>
<width>1.0</width>
<height>1.0</height>
</decal>
</component>
<anim>
Death_by_melee
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_A</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.51</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_B</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.18</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\death_standing_rifleman_C</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.73</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_range
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeA</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.50</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeB</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.55</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\death_by_rangeC</file>
<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.45</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_by_havoc
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_death</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_deathD</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_flail
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_flail</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Death_havoc_spin
<assetreference type="GrannyAnim">
<file>animation_library\range\havoc_spin</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cheer
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_B</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_D</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\cheer_E</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Recoil
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_A</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_C</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_E</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\recoil_G</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
OpenDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorOpen</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
CloseDoor
<assetreference type="GrannyAnim">
<file>animation_library\shared\doorClose</file>
</assetreference>
<component>ModelComp</component>
</anim>
<anim>
Raze_Idle
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throw_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Raze_Attack
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwA</file>
<tag type="Attack">0.61</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.52</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\shared\torch_throwB</file>
<tag type="Attack">0.56</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="TorchSwing">0.44</tag>
</assetreference>
<component>ModelComp</component>
<attach a="torch" frombone="ATTACHPOINT" tobone="L HAND" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_ranged_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.28</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.80</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.29</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.76</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Cover_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\cover\cover_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.68</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_fire</file>
<tag type="Attack">0.48</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="MusketShot">0.48</tag>
<tag type="Particles" particlename="musketshot">0.48</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_reload
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_reload</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_standing_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\volley\volley_standing_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_walk
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.62</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.08</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_jog
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Volley_run
<assetreference type="GrannyAnim">
<file>animation_library\range\march_rifleman_run</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.58</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_idle</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Defend_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\defend\defend_boredA</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_idle
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_idleB</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_bored
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_bored</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_attack
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackA</file>
<tag type="Attack">0.53</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\cacadore_charge_attackB</file>
<tag type="Attack">0.52</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.38</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackA</file>
<tag type="Attack">0.53</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackB</file>
<tag type="Attack">0.69</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_attackC</file>
<tag type="Attack">0.50</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.42</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Walk
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_walk</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.06</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Jog
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_jog</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.65</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.11</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
Charge_Run
<assetreference type="GrannyAnim">
<file>animation_library\range\charge\charge_runA</file>
<tag type="FootstepLeft" footprinttype="HumanLeft">0.66</tag>
<tag type="FootstepRight" footprinttype="HumanRight">0.12</tag>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
IGC_Pointing
<assetreference type="GrannyAnim">
<file>animation_library\range\pointing_rifleman_A</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_diga</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_dig_boreda</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate3_Idle
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleb</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idlec</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idled</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate3_idleE</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate1_Exit
<assetreference type="GrannyAnim">
<file>nuggets\pirates\pirate_draw_gun</file>
</assetreference>
<component>ModelComp</component>
<attach a="shovel" frombone="Bip01 Prop2" tobone="bip01 Prop2" syncanims="0"/>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
NuggetPirate2_Exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_idle
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleA</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleB</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleC</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleD</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleE</file>
</assetreference>
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_idleF</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
kidnap_outlawA_exit
<assetreference type="GrannyAnim">
<file>nuggets\outlaw_kidnap\kidnap_outlawA_exit</file>
</assetreference>
<component>ModelComp</component>
<attach a="gun" frombone="bone_gun" tobone="Bip01 Prop1" syncanims="1"/>
</anim>
<anim>
BuildLifting
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\BuildLifting</file>
<weight>90</weight>
<tag type="Attack">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.38</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.67</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_build_standing_idlea</file>
<weight>10</weight>
<tag type="Attack">0.66</tag>
</assetreference>
<component>ModelComp</component>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildSaw
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.09</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.32</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="BuildSaw">0.70</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_standing_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
BuildStaking
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_a</file>
<weight>90</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\human_saw_idlea</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="saw" frombone="MASTER" tobone="Bip01 Prop1" syncanims="0"/>
</anim>
<anim>
Build
<assetreference type="GrannyAnim">
<file>animation_library\villager\villager_male_build1</file>
<weight>90</weight>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.36</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">0.66</tag>
<tag type="SpecificSoundSet" checkvisible="1" set="Build">1.00</tag>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_b</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_c</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_d</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_e</file>
<weight>10</weight>
</assetreference>
<assetreference type="GrannyAnim">
<file>animation_library\2_leg_task\Build_f</file>
<weight>10</weight>
</assetreference>
<component>ModelComp</component>
<attach a="measure tape" frombone="MASTER" tobone="Bip01 Prop2" syncanims="0"/>
<attach a="hammer" frombone="MASTER" tobone="bip01 Prop1" syncanims="0"/>
</anim>
</animfile>




直接用gr2换模型(包括贴图)与replacetexture换贴图不一样,replacetexture用科技换贴图要在那个加上
			<Effect type ='Data' amount ='0.00' subtype ='UpdateVisual' unittype ='要改变外观的单位调用名' relativity='Absolute'>
<Target type ='Player'></Target></Effect>
才会改变贴图,而我测试用科技更换gr2的时候,没有在科技加上上述语句,所以应该不用添加了。


总之我也不太肯定,如果用科技改了没效果,可以尝试在科技添加以下语句:
			<Effect type ='Data' amount ='0.00' subtype ='UpdateVisual' unittype ='要改变外观的单位调用名' relativity='Absolute'>
<Target type ='Player'></Target></Effect>


添加了还是没效果,请检查是不是你自己修改错了,或者没有将文件放对路径。