连续射击


像格林机枪那种连发六子弹、诸葛弩连发三子弹的原理很简单,在动画xml加几个语句就能达成了。 下面来观察一下三个单位的动画xml,你能找出哪个是定义连发的语句吗?

  musketeer.xml(火枪手) - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<!-- converted from XMB to XML -->

<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>
			<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>


3.2版本传送门
  chu_ko_nu.xml(诸葛弩) - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<!-- converted from XMB to XML -->

<animfile>
	<definebone>bone_hat</definebone>
	<definebone>bone_bow</definebone>
	<definebone>bone_quiver</definebone>
	<definebone>BIP01 PROP1</definebone>
	<definebone>bone01</definebone>
	<attachment>
		hat
		<component>
			hat
			<assetreference type="GrannyModel">
				<file>units\asians\chinese\chu_ko_nu\chokonu_age1_hat</file>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>hat</component>
		</anim>
	</attachment>
	<attachment>
		crossbows
		<component>
			crossbows
			<assetreference type="GrannyModel">
				<file>units\asians\chinese\chu_ko_nu\chokonu_bow</file>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>crossbows</component>
		</anim>
	</attachment>
	<attachment>
		flaming_arrow
		<component>
			emitter
			<assetreference type="ParticleSystem">
				<file>effects\fire\arrowFire_Longbow.particle</file>
			</assetreference>
		</component>
		<anim>
			None
			<component>emitter</component>
		</anim>
	</attachment>
	<attachment>
		hat2
		<component>
			hat2
			<assetreference type="GrannyModel">
				<file>units\asians\chinese\chu_ko_nu\chokonu_age2_hat</file>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>hat2</component>
		</anim>
	</attachment>
	<component>
		ModelComp
		<logic type="Tech">
			<none>
				<logic type="LowPoly">
					<normal>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\chokonu_age1</file>
						</assetreference>
						<attach a="hat" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</normal>
					<lowpoly>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\lp_chokonu_age1</file>
						</assetreference>
						<attach a="hat" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</lowpoly>
				</logic>
			</none>
			<ypdisciplinedchukonu>
				<logic type="LowPoly">
					<normal>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\chokonu_age2</file>
						</assetreference>
						<attach a="hat2" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</normal>
					<lowpoly>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\lp_chokonu_age2</file>
						</assetreference>
						<attach a="hat2" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</lowpoly>
				</logic>
			</ypdisciplinedchukonu>
			<yphonoredchukonu>
				<logic type="LowPoly">
					<normal>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\chokonu_age3</file>
						</assetreference>
						<attach a="hat2" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</normal>
					<lowpoly>
						<assetreference type="GrannyModel">
							<file>units\asians\chinese\chu_ko_nu\lp_chokonu_age3</file>
						</assetreference>
						<attach a="hat2" frombone="bone_hat" tobone="Bip01 Head" syncanims="0"/>
						<attach a="crossbows" frombone="bone_crossbow" tobone="BIP01 PROP1" syncanims="0"/>
					</lowpoly>
				</logic>
			</yphonoredchukonu>
		</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.52</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>
	</anim>
	<anim>
		Death_by_range
		<assetreference type="GrannyAnim">
			<file>animation_library\range\death_standing_rifleman_A</file>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.53</tag>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>animation_library\range\death_standing_rifleman_B</file>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.19</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>
	</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>
	</anim>
	<anim>
		Death_havoc_flail
		<assetreference type="GrannyAnim">
			<file>animation_library\range\havoc_flail</file>
		</assetreference>
		<component>ModelComp</component>
	</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>
	</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>
	</anim>
	<anim>
		HC_openDoor
		<assetreference type="GrannyAnim">
			<file>animation_library\shared\doorOpen</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		HC_closeDoor
		<assetreference type="GrannyAnim">
			<file>animation_library\shared\doorClose</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Raze_Idle
		<assetreference type="GrannyAnim">
			<file>animation_library\range\volley\crossbow_volley_idle</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Raze_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="CrossbowShoot">0.48</tag>
		</assetreference>
		<component>ModelComp</component>
		<attach a="flaming_arrow" frombone="bone01" tobone="L HAND" syncanims="0"/>
	</anim>
	<anim>
		Cover_ranged_idle
		<assetreference type="GrannyAnim">
			<file>animation_library\range\cover\cover_idle</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Cover_bored
		<assetreference type="GrannyAnim">
			<file>animation_library\shared\human_crossbow_bored_a</file>
		</assetreference>
		<component>ModelComp</component>
	</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>
	</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>
	</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>
	</anim>
	<anim>
		Volley_standing_idle
		<assetreference type="GrannyAnim">
			<file>animation_library\range\volley\crossbow_volley_idle</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_standing_attack
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_fire</file>
			<tag type="Attack">0.45</tag>
			<tag type="Attack">0.30</tag>
			<tag type="Attack">0.15</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="CrossbowShoot">0.48</tag>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_fire</file>
			<tag type="Attack">0.42</tag>
			<tag type="Attack">0.27</tag>
			<tag type="Attack">0.15</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="CrossbowShoot">0.48</tag>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_fire</file>
			<tag type="Attack">0.46</tag>
			<tag type="Attack">0.26</tag>
			<tag type="Attack">0.15</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="CrossbowShoot">0.48</tag>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_fire</file>
			<tag type="Attack">0.47</tag>
			<tag type="Attack">0.32</tag>
			<tag type="Attack">0.14</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="CrossbowShoot">0.48</tag>
		</assetreference>
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_fire</file>
			<tag type="Attack">0.46</tag>
			<tag type="Attack">0.29</tag>
			<tag type="Attack">0.14</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="CrossbowShoot">0.48</tag>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_standing_reload
		<assetreference type="GrannyAnim">
			<file>units\asians\chinese\chu_ko_nu\chokonu_volley_standing_reload</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_standing_bored
		<assetreference type="GrannyAnim">
			<file>animation_library\shared\human_crossbow_bored_a</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_walk
		<assetreference type="GrannyAnim">
			<file>animation_library\range\walk_crossbow_upper</file>
			<file>animation_library\shared\walk_generic_lower</file>
			<tag type="FootstepLeft" footprinttype="HumanLeft">0.14</tag>
			<tag type="FootstepRight" footprinttype="HumanRight">0.61</tag>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_jog
		<assetreference type="GrannyAnim">
			<file>animation_library\range\jog_rifleman_A</file>
			<tag type="FootstepLeft" footprinttype="HumanLeft">0.04</tag>
			<tag type="FootstepRight" footprinttype="HumanRight">0.54</tag>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Volley_run
		<assetreference type="GrannyAnim">
			<file>animation_library\range\run_rifleman_A</file>
			<tag type="FootstepLeft" footprinttype="HumanLeft">0.13</tag>
			<tag type="FootstepRight" footprinttype="HumanRight">0.60</tag>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Defend_idle
		<assetreference type="GrannyAnim">
			<file>animation_library\range\defend\defend_idle</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Defend_bored
		<assetreference type="GrannyAnim">
			<file>animation_library\range\cover\cover_bored</file>
		</assetreference>
		<component>ModelComp</component>
	</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>
	</anim>
	<anim>
		Charge_bored
		<assetreference type="GrannyAnim">
			<file>animation_library\range\charge\charge_bored</file>
		</assetreference>
		<component>ModelComp</component>
	</anim>
	<anim>
		Charge_attack
		<assetreference type="GrannyAnim">
			<file>animation_library\range\charge\cacadore_charge_attackA</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\cacadore_charge_attackB</file>
			<tag type="Attack">0.53</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="Swoosh">0.39</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.70</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.45</tag>
		</assetreference>
		<component>ModelComp</component>
	</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>
	</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>
	</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>
	</anim>
</animfile>


在上面没找到,没关系,下面继续找。
3.2版本传送门
  gatling_gun.xml(格林机枪) - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<!-- converted from XMB to XML -->

<animfile>
	<definebone>bone_ammo</definebone>
	<definebone>bone_wheelRight</definebone>
	<definebone>bone_wheelLeft</definebone>
	<definebone>bone_launchpoint</definebone>
	<definebone>bone_muzzle</definebone>
	<attachment>
		ammo_magazine
		<include>units\artillery\gatling_gun\ammo_magazine.xml</include>
	</attachment>
	<attachment>
		ammo_drum
		<include>units\artillery\gatling_gun\ammo_drum.xml</include>
	</attachment>
	<attachment>
		ammo_attach
		<component>
			ammo_attach
			<assetreference type="GrannyModel">
				<file>units\artillery\gatling_gun\ammo_attach</file>
			</assetreference>
		</component>
		<anim>
			Idle
			<component>ammo_attach</component>
		</anim>
	</attachment>
	<component>
		gatling_gun
		<logic type="LowPoly">
			<normal>
				<logic type="Tech">
					<none>
						<assetreference type="GrannyModel">
							<file>units\artillery\gatling_gun\gatling_gun</file>
							<replacetexture>
								<from>units\artillery\gatling_gun\gatling_gun</from>
								<to>units\artillery\gatling_gun\gatling_gun</to>
							</replacetexture>
						</assetreference>
						<attach a="ammo_magazine" frombone="hotspot" tobone="bone_master" syncanims="1"/>
					</none>
					<rabauld>
						<assetreference type="GrannyModel">
							<file>units\artillery\gatling_gun\gatling_gun</file>
							<replacetexture>
								<from>units\artillery\gatling_gun\gatling_gun</from>
								<to>units\artillery\gatling_gun\gatling_gun_upgrade</to>
							</replacetexture>
						</assetreference>
						<attach a="ammo_drum" frombone="hotspot" tobone="bone_master" syncanims="1"/>
					</rabauld>
				</logic>
			</normal>
			<lowpoly>
				<logic type="Tech">
					<none>
						<assetreference type="GrannyModel">
							<file>units\artillery\gatling_gun\lp_gatling_gun</file>
							<replacetexture>
								<from>units\artillery\gatling_gun\gatling_gun</from>
								<to>units\artillery\gatling_gun\gatling_gun</to>
							</replacetexture>
						</assetreference>
						<attach a="ammo_magazine" frombone="hotspot" tobone="bone_master" syncanims="1"/>
					</none>
					<rabauld>
						<assetreference type="GrannyModel">
							<file>units\artillery\gatling_gun\lp_gatling_gun_upgrade</file>
						</assetreference>
						<attach a="ammo_drum" frombone="hotspot" tobone="bone_master" syncanims="1"/>
					</rabauld>
				</logic>
			</lowpoly>
		</logic>
		<decal>
			<effecttype>default</effecttype>
			<texture isfakeshadow="1">shadows_selections\shadow_circle_64x64</texture>
			<selectedtexture>shadows_selections\selection_circle_64x64</selectedtexture>
			<width>2.50</width>
			<height>3.00</height>
			<xoffset>0.00</xoffset>
			<zoffset>0.15</zoffset>
		</decal>
		<watersplash>
			<texture>units\artillery\cannon\wheel_B</texture>
			<width>1.75</width>
			<height>2.00</height>
		</watersplash>
	</component>
	<anim>
		Walk
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Jog
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Run
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		idle
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\idle</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		bored
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\idle</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Death
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_death</file>
			<tag type="SpecificSoundSet" checkvisible="1" set="Thud">0.11</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.05</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.08</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.12</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.16</tag>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Death_by_melee
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_death</file>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.12</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.08</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.05</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="Thud">0.11</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.16</tag>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Death_by_range
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_death</file>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.12</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.08</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="BuildingPartImpact">0.05</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="Thud">0.11</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="RagdollImpact">0.16</tag>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Cheer
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\cheer</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Limber
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\limber</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Unlimber
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\unlimber</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_ranged_idle
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_idle</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_ranged_attack
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_attack</file>
			<tag type="Attack">0.27</tag>
			<tag type="Attack">0.41</tag>
			<tag type="Attack">0.55</tag>
			<tag type="Attack">0.68</tag>
			<tag type="Attack">0.74</tag>
			<tag type="Attack">0.81</tag>
			你要不要回去看看诸葛弩是不是有三个Attack语句?3.2版本传送门
			<tag type="SpecificSoundSet" checkvisible="1" set="GatlingGunShoot">0.27</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.27</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.34</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.40</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.47</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.54</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.60</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.67</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.73</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.80</tag>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_aim
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_idle</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_reload
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_reload</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_bored
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_idle</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_melee_idle
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_idle</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_melee_attack
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_attack</file>
			<tag type="Attack">0.27</tag>
			<tag type="Attack">0.41</tag>
			<tag type="Attack">0.55</tag>
			<tag type="Attack">0.68</tag>
			<tag type="Attack">0.74</tag>
			<tag type="Attack">0.81</tag>
			<tag type="SpecificSoundSet" checkvisible="1" set="GatlingGunShoot">0.27</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.27</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.34</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.40</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.47</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.54</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.60</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.67</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.73</tag>
			<tag type="Particles" particlename="organgunmuzzle01">0.80</tag>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
	<anim>
		Bombard_walk
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Bombard_jog
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Bombard_run
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\bombard_walk</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Bombard_limber
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\limber</file>
		</assetreference>
		<component>gatling_gun</component>
	</anim>
	<anim>
		Bombard_unlimber
		<assetreference type="GrannyAnim">
			<file>animation_library\artillery\gatling_gun\unlimber</file>
		</assetreference>
		<component>gatling_gun</component>
		<attach a="ammo_attach" frombone="ATTACHPOINT" tobone="MASTER" syncanims="0"/>
	</anim>
</animfile>







现在知道怎样弄连击了吧?
你没增加一次<tag type="Attack">X.00</tag>就会输出一次攻击。









例如我要给堡垒添加一次十发炮弹: 传送门1	 传送门2	 传送门3	(红色语句是多发炮弹,蓝色语句是开炮的声音)
  fort.xml - 记事本 ____ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<!-- converted from XMB to XML -->

<animfile>
	<definebone>bone_f1</definebone>
	<definebone>bone_f2</definebone>
	<definebone>bone_f3</definebone>
	<definebone>bone_f4</definebone>
	<definebone>bone_f5</definebone>
	<definebone>bone_s1</definebone>
	<definebone>bone_s2</definebone>
	<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_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_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_3k</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_6a</definebone>
	<definebone>bone_debris_6b</definebone>
	<definebone>bone_debris_6c</definebone>
	<definebone>bone_debris_6d</definebone>
	<definebone>bone_debris_6e</definebone>
	<definebone>bone_debris_6f</definebone>
	<definebone>bone_debris_7a</definebone>
	<definebone>bone_debris_7b</definebone>
	<definebone>bone_debris_7c</definebone>
	<definebone>bone_debris_7d</definebone>
	<definebone>bone_debris_7e</definebone>
	<definebone>bone_debris_7f</definebone>
	<definebone>bone_debris_7g</definebone>
	<definebone>bone_debris_7h</definebone>
	<definebone>bone_debris_8a</definebone>
	<definebone>bone_object40</definebone>
	<definebone>bone_object32</definebone>
	<definebone>bone_debris_9a</definebone>
	<definebone>bone_debris_9b</definebone>
	<definebone>bone_debris_9c</definebone>
	<definebone>bone_debris_9d</definebone>
	<definebone>bone_debris_9e</definebone>
	<definebone>bone_debris_10a</definebone>
	<definebone>bone_debris_10b</definebone>
	<definebone>bone_debris_11a</definebone>
	<definebone>bone_debris_11b</definebone>
	<submodel>
		sub_construction_stage_01
		<component>
			construction_stage_01
			<assetreference type="GrannyModel">
				<file>buildings\constructions\6x6_stage1</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\constructions\2x2_construction_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>18.00</width>
				<height>18.00</height>
			</decal>
		</component>
		<anim>
			Idle
			<component>construction_stage_01</component>
		</anim>
	</submodel>
	<submodel>
		west_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_fort.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>
		<attachment>
			pendentflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent</texture>
						<width>3.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			pendentflag01
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent01</texture>
						<width>2.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			civflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<specialtexture/>
						<width>2.00</width>
						<height>1.50</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			smokey
			<component>
				smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\factory_smoke.particle</file>
				</assetreference>
			</component>
			<anim>
				idle
				<component>smoke</component>
			</anim>
		</attachment>
		<attachment>
			towersmoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_tower.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<component>
			fort
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="west_fort">
								<file>buildings\fort\west_fort_damaged</file>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="west_fort">
								<file>buildings\fort\west_fort</file>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="west_fort">
						<file>buildings\fort\lp_west_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\west_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>14.00</width>
				<height>14.00</height>
			</decal>
			<attach a="pendentflag" frombone="bone_f1" tobone="bone_f1" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f2" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="bone_f3" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f4" tobone="bone_f4" syncanims="0"/>
			<attach a="civflag" frombone="bone_f5" tobone="bone_f5" syncanims="0"/>
		</component>
		<component>
			fort_death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\fort\west_fort_deathModel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\fort\lp_west_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\west_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>14.00</width>
				<height>14.00</height>
			</decal>
			<attach a="civflag" frombone="bone_f5" tobone="bone_f5" syncanims="0"/>
			<attach a="pendentflag" frombone="bone_f1" tobone="bone_f1" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f2" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="bone_f3" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f4" tobone="bone_f4" syncanims="0"/>
		</component>
		<anim>
			Idle
			<assetreference type="GrannyAnim">
				<file>buildings\fort\west_fort_idle</file>
			</assetreference>
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\west_fort_damaged</model>
				<damagetemplate>buildings\fort\west_fort.dmg</damagetemplate>
			</simskeleton>
			<attach a="smokey" frombone="bone_s2" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="bone_s1" tobone="bone_s1" syncanims="0"/>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>buildings\fort\west_fort_idle</file>
				<tag type="Attack">0.05</tag>
				<tag type="Attack">0.10</tag>
				<tag type="Attack">0.15</tag>
				<tag type="Attack">0.20</tag>
				<tag type="Attack">0.25</tag>
				<tag type="Attack">0.30</tag>
				<tag type="Attack">0.35</tag>
				<tag type="Attack">0.40</tag>
				<tag type="Attack">0.45</tag>
				<tag type="Attack">0.55</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.05</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.15</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.20</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.25</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.30</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.35</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.40</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.50</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.55</tag>
			</assetreference>
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\west_fort_damaged</model>
				<damagetemplate>buildings\fort\west_fort.dmg</damagetemplate>
			</simskeleton>
			<attach a="smokey" frombone="bone_s2" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="bone_s1" tobone="bone_s1" syncanims="0"/>
		</anim>
		<anim>
			death
			<assetreference type="GrannyAnim">
				<file>buildings\fort\west_fort_deathAnim</file>
			</assetreference>
			<component>fort_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"/>
			<attach a="towersmoke" frombone="ATTACHPOINT" tobone="bone_object40" syncanims="0"/>
		</anim>
	</submodel>
	<submodel>
		med_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_fort.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>
		<attachment>
			pendentflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent</texture>
						<width>3.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			pendentflag01
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent01</texture>
						<width>2.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			civflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<specialtexture/>
						<width>2.00</width>
						<height>1.50</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			smokey
			<component>
				smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\factory_smoke.particle</file>
				</assetreference>
			</component>
			<anim>
				idle
				<component>smoke</component>
			</anim>
		</attachment>
		<attachment>
			towersmoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_tower.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<component>
			fort
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="med_fort">
								<file>buildings\fort\med_fort_damaged</file>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="med_fort">
								<file>buildings\fort\med_fort</file>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="east_fort">
						<file>buildings\fort\lp_med_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\west_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>14.00</width>
				<height>14.00</height>
			</decal>
			<attach a="pendentflag" frombone="bone_f1" tobone="bone_f1" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f2" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="bone_f3" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f4" tobone="bone_f4" syncanims="0"/>
			<attach a="civflag" frombone="bone_f5" tobone="bone_f5" syncanims="0"/>
			<attach a="smokey" frombone="ATTACHPOINT" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="ATTACHPOINT" tobone="bone_s1" syncanims="0"/>
		</component>
		<component>
			fort_death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\fort\med_fort_deathModel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\fort\lp_med_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\west_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>14.00</width>
				<height>14.00</height>
			</decal>
			<attach a="pendentflag" frombone="bone_f1" tobone="bone_f1" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f2" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="bone_f3" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="bone_f4" tobone="bone_f4" syncanims="0"/>
			<attach a="civflag" frombone="bone_f5" tobone="bone_f5" syncanims="0"/>
		</component>
		<anim>
			Idle
			<assetreference type="GrannyAnim">
				<file>buildings\fort\med_fort_idle</file>
			</assetreference>
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\med_fort_damaged</model>
				<damagetemplate>buildings\fort\med_fort.dmg</damagetemplate>
			</simskeleton>
			<attach a="smokey" frombone="bone_s2" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="bone_s1" tobone="bone_s1" syncanims="0"/>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>buildings\fort\med_fort_idle</file>
				<tag type="Attack">0.05</tag>
				<tag type="Attack">0.10</tag>
				<tag type="Attack">0.15</tag>
				<tag type="Attack">0.20</tag>
				<tag type="Attack">0.25</tag>
				<tag type="Attack">0.30</tag>
				<tag type="Attack">0.35</tag>
				<tag type="Attack">0.40</tag>
				<tag type="Attack">0.45</tag>
				<tag type="Attack">0.55</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.05</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.15</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.20</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.25</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.30</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.35</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.40</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.50</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.55</tag>
			</assetreference>
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\med_fort_damaged</model>
				<damagetemplate>buildings\fort\med_fort.dmg</damagetemplate>
			</simskeleton>
			<attach a="smokey" frombone="bone_s2" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="bone_s1" tobone="bone_s1" syncanims="0"/>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\fort\med_fort_deathAnim</file>
			</assetreference>
			<component>fort_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"/>
			<attach a="towersmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
	</submodel>
	<submodel>
		east_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_fort.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>
		<attachment>
			pendentflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent</texture>
						<width>3.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			pendentflag01
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<texture>buildings\flags\pendent01</texture>
						<width>2.00</width>
						<height>1.00</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			civflag
			<component>
				flag
				<assetreference type="ClothFlag">
					<flag>
						<blending>alphatest_color</blending>
						<specialtexture/>
						<width>2.00</width>
						<height>1.50</height>
					</flag>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>flag</component>
			</anim>
		</attachment>
		<attachment>
			smokey
			<component>
				smoke
				<assetreference type="ParticleSystem">
					<file>effects\smoke\factory_smoke.particle</file>
				</assetreference>
			</component>
			<anim>
				idle
				<component>smoke</component>
			</anim>
		</attachment>
		<attachment>
			towersmoke
			<component>
				smoke base
				<assetreference type="ParticleSystem">
					<file>effects\smoke\collapse_smoke_tower.particle</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>smoke base</component>
			</anim>
		</attachment>
		<component>
			fort
			<logic type="LowPoly">
				<normal>
					<logic type="Destruction">
						<p1>
							<assetreference type="GrannyModel" shape="east_fort">
								<file>buildings\fort\east_fort_damaged</file>
							</assetreference>
						</p1>
						<p99>
							<assetreference type="GrannyModel" shape="east_fort">
								<file>buildings\fort\east_fort</file>
							</assetreference>
						</p99>
					</logic>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel" shape="east_fort">
						<file>buildings\fort\lp_east_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="pendentflag" frombone="ATTACHPOINT" tobone="bone_f1" syncanims="0"/>
			<attach a="pendentflag01" frombone="ATTACHPOINT" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="ATTACHPOINT" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="ATTACHPOINT" tobone="bone_f4" syncanims="0"/>
			<attach a="civflag" frombone="ATTACHPOINT" tobone="bone_f5" syncanims="0"/>
			<attach a="smokey" frombone="ATTACHPOINT" tobone="bone_s2" syncanims="0"/>
			<attach a="smokey" frombone="ATTACHPOINT" tobone="bone_s1" syncanims="0"/>
		</component>
		<component>
			fort_death
			<logic type="LowPoly">
				<normal>
					<assetreference type="GrannyModel">
						<file>buildings\fort\east_fort_deathModel</file>
					</assetreference>
				</normal>
				<lowpoly>
					<assetreference type="GrannyModel">
						<file>buildings\fort\lp_east_fort</file>
					</assetreference>
				</lowpoly>
			</logic>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="pendentflag01" frombone="ATTACHPOINT" tobone="bone_f2" syncanims="0"/>
			<attach a="pendentflag" frombone="ATTACHPOINT" tobone="bone_f3" syncanims="0"/>
			<attach a="pendentflag01" frombone="ATTACHPOINT" tobone="bone_f4" syncanims="0"/>
			<attach a="civflag" frombone="ATTACHPOINT" tobone="bone_f5" syncanims="0"/>
			<attach a="pendentflag" frombone="ATTACHPOINT" tobone="bone_f1" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\east_fort_damaged</model>
				<damagetemplate>buildings\fort\east_fort.dmg</damagetemplate>
			</simskeleton>
		</anim>
		<anim>
			Death
			<assetreference type="GrannyAnim">
				<file>buildings\fort\east_fort_deathAnim</file>
			</assetreference>
			<component>fort_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"/>
			<attach a="towersmoke" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</anim>
		<anim>
			RangedAttack
			<assetreference type="GrannyAnim">
				<file>buildings\fort\east_fort_idle</file>
				<tag type="Attack">0.05</tag>
				<tag type="Attack">0.10</tag>
				<tag type="Attack">0.15</tag>
				<tag type="Attack">0.20</tag>
				<tag type="Attack">0.25</tag>
				<tag type="Attack">0.30</tag>
				<tag type="Attack">0.35</tag>
				<tag type="Attack">0.40</tag>
				<tag type="Attack">0.45</tag>
				<tag type="Attack">0.55</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.05</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.15</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.20</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.25</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.30</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.35</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.40</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.45</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.50</tag>
				<tag type="SpecificSoundSet" checkvisible="1" set="FalconetShoot">0.55</tag>
			</assetreference>
			<component>fort</component>
			<simskeleton>
				<model>buildings\fort\east_fort_damaged</model>
				<damagetemplate>buildings\fort\east_fort.dmg</damagetemplate>
			</simskeleton>
		</anim>
	</submodel>
	<submodel>
		east_fort_con
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\fort\east_fort_con</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			east_fort
			<assetreference type="GrannyModel">
				<file>buildings\constructions\6x6_stage2</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>east_fort</component>
		</anim>
	</submodel>
	<submodel>
		east_fort_con2
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\fort\east_fort_con2</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			east_fort
			<assetreference type="GrannyModel">
				<file>buildings\constructions\6x6_stage2</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>east_fort</component>
		</anim>
	</submodel>
	<submodel>
		med_fort_con
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\constructions\6x6_stage2</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			med_fort
			<assetreference type="GrannyModel">
				<file>buildings\fort\med_fort</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>med_fort</component>
		</anim>
	</submodel>
	<submodel>
		med_fort_con2
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\constructions\6x6_stage2</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			med_fort
			<assetreference type="GrannyModel">
				<file>buildings\fort\med_fort_age2_con</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>med_fort</component>
		</anim>
	</submodel>
	<submodel>
		med_fort_con3
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\constructions\6x6_stage2</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			med_fort
			<assetreference type="GrannyModel">
				<file>buildings\fort\med_fort_age3_con</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>med_fort</component>
		</anim>
	</submodel>
	<submodel>
		west_fort_con
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\fort\west_fort_con1</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			west_fort
			<assetreference type="GrannyModel">
				<file>buildings\constructions\6x6_stage2</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>west_fort</component>
		</anim>
	</submodel>
	<submodel>
		west_fort_con2
		<attachment>
			con
			<component>
				scaffolding
				<assetreference type="GrannyModel">
					<file>buildings\fort\west_fort_con2</file>
				</assetreference>
			</component>
			<anim>
				Idle
				<component>scaffolding</component>
			</anim>
		</attachment>
		<component>
			west_fort
			<assetreference type="GrannyModel">
				<file>buildings\constructions\6x6_stage2</file>
			</assetreference>
			<decal>
				<effecttype>bump</effecttype>
				<texture>buildings\fort\east_fort_decal</texture>
				<selectedtexture>shadows_selections\selection_square_128x128</selectedtexture>
				<bumptexture>shadows_selections\flat_normal_black_spec</bumptexture>
				<width>15.75</width>
				<height>15.75</height>
				<xoffset>-0.15</xoffset>
				<zoffset>-0.20</zoffset>
			</decal>
			<attach a="con" frombone="ATTACHPOINT" tobone="ATTACHPOINT" syncanims="0"/>
		</component>
		<anim>
			Idle
			<component>west_fort</component>
		</anim>
	</submodel>
	<component>
		fort
		<logic type="Culture">
			<easterneurope>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p33>
						<submodelref ref="east_fort_con"/>
					</p33>
					<p66>
						<submodelref ref="east_fort_con2"/>
					</p66>
					<p100>
						<submodelref ref="east_fort"/>
					</p100>
				</logic>
			</easterneurope>
			<mediterranean>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p25>
						<submodelref ref="med_fort_con2"/>
					</p25>
					<p50>
						<submodelref ref="med_fort_con3"/>
					</p50>
					<p75>
						<submodelref ref="med_fort_con"/>
					</p75>
					<p100>
						<submodelref ref="med_fort"/>
					</p100>
				</logic>
			</mediterranean>
			<westerneurope>
				<logic type="BuildingCompletion">
					<p0>
						<submodelref ref="sub_construction_stage_01"/>
					</p0>
					<p33>
						<submodelref ref="west_fort_con"/>
					</p33>
					<p66>
						<submodelref ref="west_fort_con2"/>
					</p66>
					<p100>
						<submodelref ref="west_fort"/>
					</p100>
				</logic>
			</westerneurope>
		</logic>
	</component>
</animfile>

这是从未来穿越过来的连发火炮吗?