<?xml version="1.0" encoding="utf-8"?>
<Animations>
	<Animation>
		<Name>Basic</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="move" Destination="walk"/>
		</State>
		
		<State Name="walk">			
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="idle" Destination="idle"/>
		</State>
		
		<State Name="attack">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
	</Animation>
	
	<Animation>
		<Name>PlayerBodyMove</Name>
		<InitialState>walk</InitialState>
		
				
		<State Name="walk">
			<!--<Transition Input="run" Destination="run"/>-->
		</State>
		
		<!--<State Name="run">
			<Transition Input="walk" Destination="walk"/>
		</State>-->
	</Animation>
	
	<Animation>
		<Name>PlayerBodyAttackAxe</Name>
		<InitialState>side</InitialState>
		<State Name="side" State="axe_fwd">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination=""/>
		</State>
		
		<State Name="up" State="axe_up">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_up" Destination=""/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination="side"/>
		</State>
		
		<State Name="down" State="axe_down">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination=""/>
			<Transition Input="attack_side" Destination="side"/>
		</State>
	</Animation>
	
	<Animation>
		<Name>PlayerBodyAttackDrill</Name>
		<InitialState>side</InitialState>
		<State Name="side" State="drill_fwd">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination=""/>
			<Transition Input="done" Destination="side_loop"/>
			<Transition Input="not_attack" Destination="side_end"/>
		</State>
		
		<State Name="up" State="drill_up">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination=""/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination="side"/>
			<Transition Input="done" Destination="up_loop"/>
			<Transition Input="not_attack" Destination="up_end"/>
		</State>
		
		<State Name="down" State="drill_down">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination=""/>
			<Transition Input="attack_side" Destination="side"/>
			<Transition Input="done" Destination="down_loop"/>
			<Transition Input="not_attack" Destination="down_end"/>
		</State>
		
		<State Name="side_loop" State="drill_fwd_loop">
			<Transition Input="not_attack" Destination="side_end"/>
			<Transition Input="attack_down" Destination="down_loop"/>
			<Transition Input="attack_up" Destination="up_loop"/>
		</State>
		
		<State Name="side_end" State="drill_fwd_end">
			<Property Name="PlayOnce" Value="1"/>
		</State>
		
		<State Name="up_loop" State="drill_up_loop">
			<Transition Input="not_attack" Destination="up_end"/>
			<Transition Input="attack_down" Destination="down_loop"/>
			<Transition Input="attack_side" Destination="side_loop"/>
		</State>
		
		<State Name="up_end" State="drill_up_end">
			<Property Name="PlayOnce" Value="1"/>
		</State>
		
		<State Name="down_loop" State="drill_down_loop">
			<Transition Input="not_attack" Destination="down_end"/>
			<Transition Input="attack_up" Destination="up_loop"/>
			<Transition Input="attack_side" Destination="side_loop"/>
		</State>
		
		<State Name="down_end" State="drill_down_end">
			<Property Name="PlayOnce" Value="1"/>
		</State>
	</Animation>
	
	
	<Animation>
		<Name>PlayerBodyAttackPunch</Name>
		<InitialState>side</InitialState>
		<State Name="side" State="punch_fwd">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination=""/>
			<Transition Input="done" Destination="side_loop"/>
			<Transition Input="not_attack" Destination="side_end"/>
		</State>
		
		<State Name="up" State="punch_up">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination=""/>
			<Transition Input="attack_down" Destination="down"/>
			<Transition Input="attack_side" Destination="side"/>
			<Transition Input="done" Destination="up_loop"/>
			<Transition Input="not_attack" Destination="up_end"/>
		</State>
		
		<State Name="down" State="punch_down">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="attack_up" Destination="up"/>
			<Transition Input="attack_down" Destination=""/>
			<Transition Input="attack_side" Destination="side"/>
			<Transition Input="done" Destination="down_loop"/>
			<Transition Input="not_attack" Destination="down_end"/>
		</State>
		
		<State Name="side_loop" State="punch_fwd_loop">
			<Transition Input="not_attack" Destination="side_end"/>
			<Transition Input="attack_down" Destination="down_loop"/>
			<Transition Input="attack_up" Destination="up_loop"/>
		</State>
		
		<State Name="side_end" State="punch_fwd_end">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_side" Destination=""/>
			<Transition Input="attack_down" Destination="down_end"/>
			<Transition Input="attack_up" Destination="up_end"/>
		</State>
		
		<State Name="up_loop" State="punch_up_loop">
			<Transition Input="not_attack" Destination="up_end"/>
			<Transition Input="attack_down" Destination="down_loop"/>
			<Transition Input="attack_side" Destination="side_loop"/>
		</State>
		
		<State Name="up_end" State="punch_up_end">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_up" Destination=""/>
			<Transition Input="attack_down" Destination="down_end"/>
			<Transition Input="attack_side" Destination="side_end"/>
		</State>
		
		<State Name="down_loop" State="punch_down_loop">
			<Transition Input="not_attack" Destination="down_end"/>
			<Transition Input="attack_up" Destination="up_loop"/>
			<Transition Input="attack_side" Destination="side_loop"/>
		</State>
		
		<State Name="down_end" State="punch_down_end">
			<Property Name="PlayOnce" Value="1"/>
			<Property Name="KeepFrame" Value="1"/>
			<Transition Input="attack_down" Destination=""/>
			<Transition Input="attack_up" Destination="up_end"/>
			<Transition Input="attack_side" Destination="side_end"/>
		</State>
	</Animation>
		
	<Animation>
		<Name>PlayerBodyAttack</Name>
		<InitialState>select</InitialState>
		
		<State Name="select" State="idle">
			<Transition Input="attack_axe" Destination="attack_axe"/>
			<Transition Input="attack_drill" Destination="attack_drill"/>
			<Transition Input="attack_punch" Destination="attack_punch"/>
		</State>
		
		<State Name="attack_axe" Machine="PlayerBodyAttackAxe" ResetOnEnter="1">
		</State>
		
		<State Name="attack_drill" Machine="PlayerBodyAttackDrill" ResetOnEnter="1">
		</State>
		
		<State Name="attack_punch" Machine="PlayerBodyAttackPunch" ResetOnEnter="1">
		</State>
	</Animation>

	<Animation>
		<Name>PlayerBodySub</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="idle" Destination=""/> <!-- Special: Consume the idle input if we're in idle state. -->			
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="move" Destination="move"/>
			<Transition Input="look_down" Destination="look_down"/>
			<Transition Input="look_up" Destination="look_up"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="yay" Destination="yay"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="move" Machine="PlayerBodyMove">
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>		
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>	
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="look_up">
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="move" Destination="move"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="look_down">
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="move" Destination="move"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="jump_up">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="jump_vectron" Destination="jump_up_vectron"/>
			<Transition Input="land" Destination="idle"/>
			<Transition Input="done" Destination="jump_turn"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>			
		</State>
		
		<State Name="jump_up_vectron">			
			<Transition Input="land" Destination="idle"/>
			<Transition Input="jump_vectron_end" Destination="jump_turn_vectron"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="jump_turn">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="jump_vectron" Destination="jump_up_vectron"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="done" Destination="jump_fall"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="jump_turn_vectron">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="jump_vectron" Destination="jump_up_vectron"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="done" Destination="jump_fall"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="jump_fall">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination=""/>
			<Transition Input="jump_vectron" Destination="jump_up_vectron"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="land">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="wallslide">
			<Transition Input="attack" Destination="attack"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="steamcharge">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="ladder_up">
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="move" Destination="move"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="ladder_down">
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="land" Destination="land"/>
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="move" Destination="move"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>
		
		<State Name="attack" Machine="PlayerBodyAttack" ResetOnEnter="1">
			<Transition Input="done" Destination="idle"/>
			<Transition Input="abort" Destination="idle"/>
			<Transition Input="steamcharge" Destination="steamcharge"/>
			<Transition Input="wallslide" Destination="wallslide"/>
			<Transition Input="jump_fall" Destination="jump_fall"/>
			<Transition Input="jump" Destination="jump_up"/>
			<Transition Input="ladder_up" Destination="ladder_up"/>
			<Transition Input="ladder_down" Destination="ladder_down"/>
			<Transition Input="assimilated" Destination="assimilated"/>
		</State>

		<State Name="yay">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>

		<State Name="assimilated" State="vectron">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="assimilated_loop"/>
			<Transition Input="abort" Destination="idle"/>
		</State>
		
		<State Name="assimilated_loop" State="vectron_loop">			
			<Transition Input="done" Destination="assimilated_end"/>
			<Transition Input="yay" Destination="assimilated_end"/>
			<Transition Input="abort" Destination="idle"/>
		</State>
		
		<State Name="assimilated_end" State="vectron_end">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
			<Transition Input="yay" Destination="yay"/>
			<Transition Input="abort" Destination="idle"/>
		</State>
	</Animation>

	<Animation>
		<Name>PlayerBody</Name>
		<InitialState>PlayerBodySub</InitialState>

		<State Machine="PlayerBodySub">
			<Transition Input="death" Destination="death"/>
		</State>
		
		<State Name="death">
			<Property Name="PlayOnce" Value="1"/>
		</State>
	</Animation>

	<Animation>
		<Name>PlayerLegs</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="idle" Destination=""/>
			<Transition Input="walk" Destination="walk"/>
			<Transition Input="hide" Destination="hidden"/>
			<Transition Input="death" Destination="death"/>
		</State>
		
		<State Name="walk">
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="hide" Destination="hidden"/>
			<Transition Input="death" Destination="death"/>
		</State>
		
		<State Name="hidden">
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="walk" Destination="walk"/>
			<Transition Input="death" Destination="death"/>
		</State>

		<State Name="death" State="idle">
		</State>

	</Animation>
	
	<Animation>
		<Name>Turtle</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="walk" Destination="walk"/>
			<Transition Input="hide" Destination="hide"/>
		</State>
		
		<State Name="walk">
			<Transition Input="idle" Destination="idle"/>
			<Transition Input="hide" Destination="hide"/>
		</State>
		
		<State Name="hide">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination=""/>
			<Transition Input="attack" Destination="attack"/>
		</State>
		
		<State Name="attack">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination=""/>
			<Transition Input="unhide" Destination="unhide"/>
		</State>
		
		<State Name="unhide">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
	</Animation>
	
	<Animation>
		<Name>UpgradePodium</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="active" Destination="active"/>
			<Transition Input="disabled" Destination="disabled"/>
		</State>
		
		<State Name="active">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="disabled"/>
		</State>
		
		<State Name="disabled">
		</State>
	</Animation>

	<Animation>
		<Name>Teleporter</Name>
		<InitialState>idle</InitialState>

		<State Name="idle">
			<Transition Input="active" Destination="active"/>
		</State>

		<State Name="active">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
	</Animation>

	<Animation>
		<Name>Shroom</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="active" Destination="active"/>
		</State>
		
		<State Name="active">			
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
	</Animation>

	<Animation>
		<Name>Doucheblock</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="up" Destination="up"/>
			<Transition Input="down" Destination="down"/>
			<Transition Input="left" Destination="left"/>
			<Transition Input="right" Destination="right"/>
		</State>

		<State Name="up">
		</State>
		<State Name="down">
		</State>
		<State Name="left">
		</State>
		<State Name="right">
		</State>
	</Animation>

	<Animation>
		<Name>BossBody</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="disabled" Destination="disabled"/>
		</State>

		<State Name="disabled">
			<Transition Input="restoreForceField" Destination="idle"/>
			<Transition Input="destroyed" Destination="destroyed"/>
		</State>
		<State Name="destroyed">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="disabled"/>
		</State>
		</Animation>
	<Animation>
		<Name>BossEye</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="disabled" Destination="disabled_intro"/>
			<Transition Input="shoot" Destination="shoot"/>
		</State>
		<State Name="shoot">
			<Transition Input="doneShooting" Destination="idle"/>
			<Transition Input="disabled" Destination="disabled_intro"/>
		</State>
		<State Name="disabled_intro">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="disabled"/>
		</State>
		<State Name="disabled">
			<Transition Input="respawn" Destination="disabled_outro"/>
			<Transition Input="damaged" Destination="damage"/>
			<Transition Input="destroyed" Destination="destroyed"/>
		</State>
		<State Name="disabled_outro">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
		<State Name="damage">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="disabled"/>
			<Transition Input="damaged" Destination="damage"/>
			<Transition Input="destroyed" Destination="destroyed"/>
		</State>
		<State Name="destroyed">
		</State>
	</Animation>
	<Animation>
		<Name>BossHatch</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="done" Destination=""/>
			<Transition Input="open" Destination="open"/>
			<Transition Input="close" Destination=""/>
			<Transition Input="respawn" Destination=""/>
		</State>
		<State Name="open">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="opened"/>
			<Transition Input="close" Destination=""/>
			<Transition Input="respawn" Destination=""/>
		</State>
		<State Name="opened">
			<Transition Input="done" Destination=""/>
			<Transition Input="open" Destination=""/>
			<Transition Input="close" Destination="close"/>
			<Transition Input="respawn" Destination="close"/>
		</State>
		<State Name="close">
			<Property Name="PlayOnce" Value="1"/>
			<Transition Input="done" Destination="idle"/>
		</State>
	</Animation>

	<Animation>
		<Name>BossGenerator</Name>
		<InitialState>idle</InitialState>
		
		<State Name="idle">
			<Transition Input="idle" Destination=""/>
			<Transition Input="disabled" Destination="disabled"/>
		</State>
		<State Name="disabled">
			<Transition Input="idle" Destination="idle"/>
		</State>
	</Animation>

</Animations>
