;SDL
human

;(mod not "mp"
;{extender "vitality"
;	{Energy
;		{Load 				20 		40     100} ; equipment weight, kg
;		{Update
;			{stay	+9	    +5		+3		+3}	; fatigue per second
;			{walk 	+5	    +3		+0		-2}	; max.fatigue = 100
;			{slow	+3	    +0		-1		-4} 
;			{normal	-1	    -2		-3	    -7}
;			{fast	-1		-4		-9	   -14}
;		}
;		{movement_limits
;			{Fast  	50 75}
;			{Normal 10 50}
;			{Slow	 0  0}
;		}
;		; если сделать {Slow xx yy}, то будет останавливаться после того, 
;		; как energy станет меньше xx, и сможет ходить только когда 
;		; energy станет больше yy
;	}
;}
;)
{extender "vitality"
	{Energy
		{Load 				20 		40     100 } ; equipment weight, kg
		{Update
			{stay	+5	    +5		+5		+5 }	; fatigue per second
			{walk 	+2	    +2		+2		+2 }	; max.fatigue = 100
			{slow	+2	    +2		+2		+2 } 
			{normal	+2	    +2		+2		+2 }
			{fast	-15		-15		-15		-15}
		}
		{movement_limits
			{Fast  	10 90}
			{Normal  0  0}
			{Slow	-1 -1} ; turn slow mode off
		}
	}
}
(mod "mp"
{extender "vitality"
	{Energy
		{Load 		20 	40           100 } ; equipment weight, kg
		{Update
			{stay	+15	+10	+9	 5}	; fatigue per second
			{walk 	+5      +2	 0           -10}	; max.fatigue = 100
			{slow  	+5	+4	 0	-10} 
			{normal	 0      0	0           -20}
			{fast 	-5	-10	-20	-40}
		}
		{movement_limits
			{Fast  	35 70}
			{Normal     0 10}
			{Slow  	 -1 11} ; turn slow mode off
		}
	}
}
)

{extender "inventory"
	{box
		{Size 6 10}
		{Weight 100}
	}
	{hand_left}
	{hand_right}
	{armor "head"
		{mask "head"}
		{bone "head"}
		{volumes "head"}
		{pierceAbsorb 24}
		(mod "mp"
			{pierceAbsorb 20}
		)
	}
	{armor "body"
		{mask "body"}
		{volumes "body" "foot1l" "foot1r" "foot2l" "foot2r"}
		{bone "IK_UpDown"}
		{pierceAbsorb 25}

;		(mod "mp"
;			{pierceAbsorb 30}
;		)
		{HeatDamping 0.6}
	}
}

{extender "stuff"
	{item "human"}
}

{Sensor
	{Visor "eyes"
		{vision "human"}
		{bone "visor"}
	}
	{Visor "telescope"}
	{AttackZone 2.5}
	(mod "mp"
		{RecognizeTime 0.5}
		{InformRange 110}
	)
}

{Chassis "foot"			  
	;  speed S (km/h) animation A (km/h) rotation (degree/s)
	;  animation speed = movement speed / A * animation scale 
;(mod not "mp"
;	{Crawl           
;		{Slow		4  	5  100 }
;		{Normal		5   5  200 }
;		{Fast		7   5  200 }
;	}                     
;	{Swim                 
;		{Slow		2   5  200 }
;		{Normal		3   5  200 }
;		{Fast		5   5  200 }
;	}                     
;	{Run                  
;		{Sneak		5	2  300 }   ; x 0.85
;		{Spot 		6  	2  300 }   ; x 0.5
;		{Walk 		5   2  300 }   ; x 0.48
;		{Slow		8   7  600 }   ; x 1
;		{Normal	   14   7  600 }   ; x 0.55
;		{Fast	   20   7  600 }   ; x 0.33
;		{Bow   	   18.5 7  600 }   ; x 0.55
;	}
;)
	{Crawl           
		{Slow		4  	5  100 }
		{Normal		5   5  200 }
		{Fast		7   5  200 }
	}                     
	{Swim                 
		{Slow		2   5  200 }
		{Normal		3   5  200 }
		{Fast		5   5  200 }
	}                     
	{Run                  
		{Sneak		5	2  	200 }   ; x 0.85
		{Spot 		6  	2  	200 }   ; x 0.5
		{Walk 		4  1.8 	200 }   ; x 0.48
		{Slow		8  	7	400 }   ; x 1
		{Normal	   14   7  	400 }   ; x 0.55
		{Fast	   25   7  	400 }   ; x 0.33
		{Bow   	   18.5 7  	400 }   ; x 0.55
		(mod "mp"  {Walk 	6  1.8 	200 })
	}
;)
	{Strafe
		; 			m  m+v  km/h  speed	animation up 					animation down					; m+v = mask + value for strafe counter
		{Forth		3  2 0	6.5   3		"walk_spot_gun_up_1"		  "walk_spot_gun_down_1"}			; 6.5 km/h move 2 km/h animation 0.37 scale --> in Run
		{Forth		3  2 1	11.0  1 	"run_spot_gun_up" 			  "run_spot_gun_down"}    		  	
		{Forth		8  0 0	13.2  1.2	"run_spot_gun_up" 			  "run_spot_gun_down"}				
		{Left		4  0 0	10.5  1.22	"run_spot_back-strafe_gun_up" "run_spot_back-strafe_gun_down"}	
		{Right		8  0 0	13.0  1.1	"run_spot_left-strafe_gun_up" "run_spot_left-strafe_gun_down"}	
		{Back		8  0 0	10.5  1.22	"run_back_spot_gun_up" 		  "run_back_spot_gun_down"}			
	}
}

{volume "body"
	{thickness 2}
}
{volume "head"
	{thickness 1.5}
}
{volume "foot1r"
	{thickness 2.5}
	{able {nolook 1}}
}
{volume "foot2r"
	{thickness 2.5}
	{able {nolook 1}}
}
{volume "foot1l"
	{thickness 2.5}
	{able {nolook 1}}
}
{volume "foot2l"
	{thickness 2.5}
	{able {nolook 1}}
}

{extension "human_fsm.ext"}

{mass 70}
{obstacleID "human"}
{PatherID	"human"}
{collider   "human"}

{simulation {able 1} {state 0}}
{simulatorId "human"}
;{simulatorId "particle_system"}

{able "crew" "fight"}
{props "flesh" "human" "nocover" "collectable"}
{targetClass 	"human"}
{targetSelector "human"}

(include "shadow/human.inc")

{brain "human"
	{const "bomb/detect_boom" 		2}
	{const "bomb/danger_zone" 		7}
	{const "fight/distance"			1.5}
}

{Weaponry
	{place "hand_right"
		{Rotate}
		{SequentialAim 0}
		{LinkBone "right_hand"}
		{LinkAnimation "on"}
	}
;	(mod not "mp"
;		{ManualAccuracy 1.5}
;	)
}

{extender "talk"
	{talker "human"}
}

{lodclass "human"}
  
{IgnoreSaturation 1}
