
[m_bloodsucker_attack_params]
;---------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, top, bottom) |	Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
;Left hand Strike
stand_attack_0 =	  	0.30,		25,		    400,        3.5, 2.0, 0.5,		 -1.2, 1.2, -1.2, 1.2,				  3.2
;Both hands Strike
stand_attack_1 =	  	0.30,		20,		    500,        0.0, 2.0, 4.0,		 -1.6, 1.6, -1.6, 1.6,				  3.2
;Right hand Strike
stand_attack_2 =	  	0.30,		40,		    400,        -4.0, 2.5, 0.50,	 -1.6, 1.6, -1.6, 1.6,				  3.2


[m_bloodsucker_attack_effector]

duality_h			= 0.08;0.01
duality_v			= 0.06;0.01
blur				= 0.01
gray				= 0.5
noise_intensity 	= 0.0
noise_grain			= 0.1 ;1.0
noise_fps			= 30
color_base			= 0.255,0.0,0.0;0.65,0.15,0.1
color_gray			= 0.333,0.333,0.333
color_add			= 0,0,0
time				= 0.65 ;0.3
time_attack			= 0.05		; fade in
time_release		= 0.85		; fade out

; camera effects
ce_time				= 0.65 ;time 
ce_amplitude		= 15;12.0 
ce_period_number	= 2.0;3.0 
ce_power			= 3.0 ;0.7 ; power 


[m_bloodsucker_step_params]
; order: front_left, front_right
;--------------------------------------------------------------------------
;	anim			Cycles	| time1 | power1 | time2 | power2 | 
;--------------------------------------------------------------------------
stand_run_0			=	5,    0.15,    1.0,	   0.70,     1.0,
stand_run_dmg_0		=	4,	  0.15,    1.0,	   0.40,     1.0,   
stand_walk_fwd_0	=	4,	  0.05,    1.0,    0.50,     1.0 
stand_walk_dmg_0	=   4,	  0.05,    1.0,	   0.60,     1.0,   
stand_steal_0		=	2,	  0.15,    0.2,    0.50,     0.2,   
;stand_drag_0		=	1,	  0.2,	   1.0,	   0.25,     0.7,   


[m_bloodsucker_e]

GroupControlSection			 = spawn_group
$spawn               		 = "monsters\bloodsucker"		; option for Level Editor
$npc			     		 = on							; option for Level Editor
;$prefetch 					 = 16
Scheduled		    		 = on							; option for ALife Simulator
Human		     			 = off							; option for ALife Simulator
Health			   			 = 400							; option for ALife Simulator
MinSpeed		    		 = 2.0	;1.0					; option for ALife Simulator
MaxSpeed		    		 = 4.5	;1.5					; option for ALife Simulator
going_speed          		 = 2.0	;1.0                   	; option for ALife Simulator
search_speed         		 = .5                      		; option for ALife Simulator
visual						 = monsters\krovosos\krovosos
MaxHealthValue		 		 = 200							; range [0..200]
DynamicObjectsCount	 		 = 32

cform               		 = skeleton						; collision class
class                		 = AI_BLOOD						; AI class

bone_head					 = bip01_head					; bone name
bone_fire					 = bip01_head
weapon_usage				 = 0							; boolean

ph_box0_center 				 = 0.0,  0.9,  0.0
ph_box0_size 		 		 = 0.35, 0.9,  0.35
ph_box1_center 		 		 = 0.0,  0.6,  0.0
ph_box1_size 		 		 = 0.40, 0.6,  0.40
ph_foot_size 		  		 = 0.20, 0.23, 0.20
ph_crash_speed_min   		 = 16
ph_crash_speed_max   		 = 30
ph_mass 					 = 120.

ph_skeleton_airr_lin_factor		= 1.0
ph_skeleton_airr_ang_factor		= 1.0
ph_skeleton_hinger_factor1		= 1.0
ph_skeleton_ddelay	     		= 20
ph_skel_fatal_impulse_factor	= 8.0
ph_skel_shot_up_factor          = 8


SoundThreshold		 		 = 0.06					       ; range [0..1]

;Field of view, look and hear distance
EyeFov						 = 120	
eye_range					 = 80	
max_hear_dist				 = 80 


; speed factors			linear | angular_real | angular_path | min	 |  max
Velocity_Stand			= 0,		3.05,		3.05,			1,		1	
Velocity_WalkFwdNormal	= 2.15,		3.0,		3.0,			0.2,	2.0
Velocity_WalkFwdDamaged	= 1.4,		3.0,		3.0,			0.2,	2.0
Velocity_RunFwdNormal	= 5.84,		3.0,		3.0,			0.5,	1	
Velocity_RunFwdDamaged	= 1.90,		3.0,		3.0,			0.5,	1
Velocity_Drag			= 1.5,		3.0,		3.0,			1,		1
Velocity_Steal			= 0.7,		3.0,		3.0,			1,		1

; Speed factors while invisible
Velocity_Invisible_Linear		= 13.0 
Velocity_Invisible_Angular		= 3.0

; acceleration
Accel_Generic					= 1.5
Accel_Calm						= 2.5
Accel_Aggressive				= 10.5

Particle_Invisible				= anomaly2\bloodsucker_shield

transparency_threshold			= 0.25

;attack parameters
MinAttackDist					= 1.6 	;2.4    
MaxAttackDist					= 2.9 	;3.8	
EffectDistance					= 20.0
hit_type						= wound					; type of attack 
as_min_dist						= 0.3    
as_step							= 0.5

;Invisibility settings
Invisibility_BlinkTime								= 300
Invisibility_BlinkMicroInterval  					= 30
Invisibility_Energy_Restore_Velocity				= 0.0001;0.05
Invisibility_Energy_Decline_Velocity				= 1 ;0.02
Invisibility_Energy_Critical_Value					= 0.2
Invisibility_Energy_Activate_Value					= 0.8
Invisibility_Energy_Aggressive_Restore_Velocity		= 0.03


DayTime_Begin					= 6			;6			; эрўрыр фэ  фы  ьюэёЄЁр
DayTime_End						= 23					; ъюэхЎ фэ  фы  ьюэёЄЁр
Min_Satiety						= 0.000055 	;0.06		; ьшэ. эюЁьр ёvЄюёЄш (ьхэ№°х - єцх уюыюфэvщ)
Max_Satiety						= 1.0	;0.9			; ьръё. эюЁьр ёvЄюёЄш (сюы№°х - юўхэ№ ёvЄvщ)
distance_to_corpse				= 0.8					; фшёЄ. фю ЄЁєяр, яЁш ъюЄюЁющ юэ яхЁхїюфшЄ т ёюёЄю эшх хфv

; spin spin sugar
bone_spin				= bip01_spine1

;                           fSearchRange,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
selector_free_hunting   =      20.0,            20.0,		1000.0,              0.0,               10000.0,          1000.0,               10000.0,      
selector_cover          =      20.0,            -1000.0,	30.0,                0.0,               0.0,              100000.0,             100000.0,               1000.0,
selector_hear_sound		=      20.0,            1.0,		1000.0,              0.0,               0.0,              1000.0,               10000.0,      

selector_getaway		=      20.0,            20.0,          1000.0,             0.0,               10000.0,		  1000.0,				10000.0,      
selector_approach		=      20.0,            1.0,           1000.0,             0.0,               0.0,              1000.0,				10000.0,      

;							  fSearchRange,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
selector_walk_around	=      20.0,            6.0,                 1000.0,             4.0,               5000.0,					8.0,				5000.0,      


terrain					= 255,255,255,255,30,40


; entity condition										;коэффициенты иммунитета меньше сильнее имунитет
satiety_v 					= 0.0001			;0.01		;скорость уменьшения сытости со временем [0...1]
radiation_v 				= 0.00001		;0.004		;скорость уменьшения радиации [0...1]
satiety_power_v 			= 0.005		;0.01			;увеличение силы при уменьшении сытости [0...1]
satiety_health_v 			= 0.001	;0.03				;увеличение здоровья при уменьшении сытости [0...1]
satiety_critical 			= -1.0		;0.25				;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
radiation_health_v 			= 0.0	;0.006				;уменьшение здоровья при воздействии радиации [0...1]
morale_v					= 0.01						;скорость восстановления морали [0...1]
health_hit_part 			= 0.3		;0.8			;процент хита, уходящий на отнимание здоровья [0...1]
power_hit_part 				= 1.0		;0.9			;процент хита, уходящий на отнимание силы [0...1]

;Immunities												;коэффициенты иммунитета меньше сильнее имунитет
burn_immunity 				= 0.5						
strike_immunity 			= 0.5						
shock_immunity 				= 0.5						
wound_immunity 				= 0.3	;0.75	;1.0		
radiation_immunity 			= 0.01	;0.5
telepatic_immunity 			= 1.0
chemical_burn_immunity		= 0.5
explosion_immunity 			= 0.5
fire_wound_immunity  		= 0.2

;открытые раны
bleeding_v					= 0						;потеря крови при номинальной ране в секунду
wound_incarnation_v			= 0.01				;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
min_wound_size				= 0.01

;Health from which to play injured animation
DamagedThreshold			= 0.2

;Sleep settings 
sleep_health 				= 1.0		;1.5			;ъю¤ЇЇшЎшхэЄv ёъюЁюёЄхщ шчьхэхэш  ярЁрьхЄЁют тю тЁхь  ёэр
sleep_power 				= 1.0		;1.5
sleep_satiety 				= 1.0		;0.8
sleep_radiation 			= 1.0	;1.1

; Eat settings
eat_freq					= 5.0						; ўрёЄюЄр єъєёют т ёхъ
eat_slice					= 0.05						; єтхышўхэшх ёvЄюёЄш яЁш 1 єъєёх
eat_slice_weight			= 10.0						; єьхэ№°хэшх хфv є ЄЁєяр

; Morale
MoraleSuccessAttackQuant	= 0.3;
MoraleDeathQuant			= -0.3;
MoraleFearQuant				= -0.002
MoraleRestoreQuant			= 0.001
MoraleBroadcastDistance		= 10.0

;Sounds 
sound_idle					= monsters\bloodsucker\idle_
sound_eat					= monsters\bloodsucker\eat_
sound_attack				= monsters\bloodsucker\attack_
sound_attack_hit			= monsters\bloodsucker\attack_hit_
sound_take_damage			= monsters\bloodsucker\hit_
sound_die					= monsters\bloodsucker\die_
sound_bkgnd					= monsters\biting\def_
sound_threaten				= monsters\biting\def_
sound_landing				= monsters\biting\def_
sound_steal					= monsters\biting\def_
sound_panic					= monsters\bloodsucker\hit_
sound_growling				= monsters\biting\def_

;Frequency of sounds to be played
idle_sound_delay			= 15000
eat_sound_delay				= 3000
attack_sound_delay			= 6000

material					= creatures\medium
DynamicObjectsCount			= 32


squad_attack_algorithm		= 1

attack_effector				= m_bloodsucker_attack_effector
attack_params				= m_bloodsucker_attack_params

step_params					= m_bloodsucker_step_params
postprocess_new				= postprocess_new

LegsCount					= 2

[m_Bloodsucker_damage]
;bone_name		 = <hit_scale>,-1,<wound_scale>
;<hit_scale>	- коэфф. изменения хита (уменьшения здоровья) 
;<wound_scale>	- коэфф. изменения величины открытой раны

default				= 1.00,	-1,	1.00

bip01_pelvis 		= 0.01, -1, 0.5
bip01_spine 		= 0.01, -1, 0.5
bip01_spine1 		= 0.2, -1, 0.5
bip01_neck 			= 0.5, -1, 0.5
bip01_head 			= 10.0, -1, 10.00
