[m_dog_e]:monster_base
GroupControlSection	= spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald
;$spawn               = "monsters\dog"				; 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			     = 100						; option for ALife Simulator
MinSpeed		     = 1.0						; option for ALife Simulator
MaxSpeed		     = 1.5						; option for ALife Simulator
going_speed          = 2.0                      ; option for ALife Simulator
current_level_going_speed		= 1;2					; option for ALife Simulator
search_speed         = .5                       ; option for ALife Simulator
visual				 = monsters\dog\dog
corpse_visual		 = monsters\dog\dog_dead
icon				 = ui_npc_monster_dog
MaxHealthValue		     = 100			; range [0..200]
DynamicObjectsCount	 = 32
smart_terrain_choose_interval	= 00:15:00

Spawn_Inventory_Item_Section = mutant_dog_tail
Spawn_Inventory_Item_Probability = 0.2

cform                = skeleton					; collision class
class                = SM_DOG_S					; AI class

ef_creature_type	 = 6				; option for evaluation functions
ef_weapon_type		 = 2
ef_detector_type			 = 1
panic_threshold		= 0.1


script_binding  	= bind_monster.bind

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

;---------------------------------------------------------------------
; Physics
;---------------------------------------------------------------------
ph_box0_center 		 = 0.0,  0.2,  0.0	;0.0,  0.9,  0.0
ph_box0_size 		 = 0.35, 0.4,  0.35	;0.35, 0.9,  0.35
ph_box1_center 		 = 0.0,  0.2,  0.0
ph_box1_size 		 = 0.35, 0.4,  0.35
ph_crash_speed_min			= 10
ph_crash_speed_max			= 30
ph_collision_damage_factor	= 0.1
ph_mass 		     = 40	;70
actor_restrictor	 = medium_monster ;medium_monster,stalker,none
destroyed_vis_name	 = physics\dead_body\skelet_crash_monster

;---------------------------------------------------------------------
ph_skeleton_airr_lin_factor   = 2.0 ;550.0 (изменно из-за того, что убрано домножение коэффициент 0.002 из кода)
ph_skeleton_airr_ang_factor   = 0.0 ;0.0 (изменно из-за того, что убрано домножение на коэффициент 0.3 из кода (0.0*0.3=0.0))
ph_skeleton_hinger_factor1    = 1.0 ;1.0 (изменно из-за того, что убрано домножение на коэффициент 5.0 из кода)
ph_skeleton_ddelay	     	  = 15.0 ;Время изменения значения трения в суставе с момента создания шелла, сек

ph_skel_fatal_impulse_factor  = 6.0
ph_after_death_velocity_factor= 0.75
ph_skel_shot_up_factor        = 0.25
;---------------------------------------------------------------------


;----------------------------------------------------------------------------
; Movement::Velocities & Acceleration
;----------------------------------------------------------------------------
; speed factors			linear | angular_real | angular_path | min |  max
Velocity_Stand			= 0,		2.0,			2.0,		1,		1
Velocity_WalkFwdNormal	= 1.45,		3.0,			3.0,		0.2,	1.5
Velocity_WalkFwdDamaged	= 1.3,		1.0,			1.0,		0.2,	1	
Velocity_RunFwdNormal	= 6.3,		2.6,			2.6,		0.21,	1	
Velocity_RunFwdDamaged	= 4.5,		1.0,			1.0,		0.18,	1
Velocity_Drag			= 0.6,		3.0,			3.0,		1,		1
Velocity_Steal			= 1.5,		3.0,			3.0,		1,		1

; acceleration
Accel_Generic			= 1.5
Accel_Calm		  	    = 2.5
Accel_Aggressive		= 14.5

;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------
MinAttackDist			= 1.9
MaxAttackDist			= 2.4
hit_type				= wound
as_min_dist				= 1.2
as_step					= 0.4

Melee_Rotation_Factor	= 2.6
;--------------------------------------------------------------------------
; Jump parameters
;--------------------------------------------------------------------------
jump_factor				= 1.7
jump_delay				= 4000	;6000	
jump_min_dist			= 4.5;9.;3.0	;1.5	;4.0 
jump_max_dist			= 3.0;8.;4.0	;3.0
jump_max_angle			= 0.5	;1.0	;1.2
jump_trace_dist			= 1.0

;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------
satiety_v 		= 0.0001				;0.01			;скорость уменьшения сытости со временем
radiation_v 		= 0.00001		;0.004			;скорость уменьшения радиации
satiety_power_v 	= 0.005		;0.01			;увеличение силы при уменьшении сытости 
satiety_health_v 	= 0.005	;0.03			;увеличение здоровья при уменьшении сытости 
satiety_critical 	= -1.0		;0.25			;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
radiation_health_v 	= 0.01	;0.006			;уменьшение здоровья при воздействии радиации
morale_v		= 0.01					;скорость восстановления морали
health_hit_part 	= 1.0		;0.8			;процент хита, уходящий на отнимание здоровья
power_hit_part 		= 1.0		;0.9			;процент хита, уходящий на отнимание силы
psy_health_v		= 0.1						;скорость восстановления psy-здоровья

immunities_sect		= dog_immunities

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

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
sleep_psy_health = 1.0

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

satiety_threshold		= 0.5							; below this value monster fill hunger

;-------------------------------------------------------------------------
; Morale
;-------------------------------------------------------------------------
Morale_Hit_Quant				= 0.2
Morale_Attack_Success_Quant		= 0.1
Morale_Take_Heart_Speed			= 0.1
Morale_Despondent_Speed			= 0.1
Morale_Stable_Speed				= 0.01
Morale_Despondent_Threashold	= 0.4

;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------
sound_idle				= monsters\dog\bdog_idle_
sound_eat				= monsters\dog\bdog_eat_
sound_aggressive		= monsters\dog\bdog_attack_ ; издается, когда монстр преследует противника
; sound_attack			= ; звук для неудачной попытки ударить или укусить (рык)
sound_attack_hit		= monsters\dog\attack_hit_ ; звук для успешной попытки ударить или укусить (рык)
sound_take_damage		= monsters\dog\bdog_hurt_
sound_die				= monsters\dog\bdog_die_
sound_bkgnd				= monsters\biting\def_
sound_threaten			= monsters\dog\bdog_groan_
sound_landing			= monsters\biting\def_
sound_steal				= monsters\biting\def_
sound_panic				= monsters\dog\bdog_panic_
sound_growling			= monsters\biting\def_
sound_die_in_anomaly	= monsters\dog\bdog_die_
sound_distant_idle		= monsters\dog\bdog_distant_	; только для расстояний свыше 200м

killer_clsids				= Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE



idle_sound_delay		= 80000;50000	;20000	;15000
eat_sound_delay			= 2000	;3000
attack_sound_delay		= 5000	;2000; 5000	;2000

distant_idle_sound_delay = 80000
distant_idle_sound_range = 30.0	



SoundThreshold		 = 0.04             ; range [0..1]
max_hear_dist		 = 60
;-------------------------------------------------------------------------
; Vision
;-------------------------------------------------------------------------
eye_fov				 = 110	;140
eye_range			 = 30	;50	;40;

min_view_distance   		= 0.7				; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance	 		= 1.0				; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold	 	= 100.0				; значение, при достижении суммой которого объект считается видимым
always_visible_distance 	= 0.4
time_quant					= 0.001
decrease_value				= 0.01				; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor		     	= 0.5
luminocity_factor			= 0.5 				; фактор освещения (только для Актёра)
transparency_threshold		= 0.25

;-------------------------------------------------------------------------
; Damages
;-------------------------------------------------------------------------
DamagedThreshold		= 0.2
damage					= m_dog_damage


critical_wound_threshold		= 0.4	;1.1
critical_wound_decrease_quant	= 0.

critical_wound_anim_head	= critical_hit_head_0
critical_wound_bones_head	= dog_critical_wound_bones_head

critical_wound_anim_torso	= critical_hit_torso_0
critical_wound_bones_torso	= dog_critical_wound_bones_torso

critical_wound_anim_legs	= critical_hit_torso_0
critical_wound_bones_legs	= dog_critical_wound_bones_legs

;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------
DayTime_Begin		= 0	;6		; эрўрыр фэ  фы  ьюэёЄЁр
DayTime_End			= 21		; ъюэхЎ фэ  фы  ьюэёЄЁр
Min_Satiety			= 0.5	;0.06 ; ьшэ. эюЁьр ёvЄюёЄш (ьхэ№°х - єцх уюыюфэvщ)
Max_Satiety			= 1.0	;0.9 ; ьръё. эюЁьр ёvЄюёЄш (сюы№°х - юўхэ№ ёvЄvщ)

distance_to_corpse	= 1.3		; фшёЄ. фю ЄЁєяр, яЁш ъюЄюЁющ юэ яхЁхїюфшЄ т ёюёЄю эшх хфv


terrain				 = dogs_terrain



material				= creatures\medium
DynamicObjectsCount		= 32

squad_attack_algorithm	= 1

attack_effector			= m_dog_attack_effector

attack_params			= m_dog_attack_params
step_params			= m_dog_step_params

LegsCount			= 4


;species of monster
species					= dog

;===========================================================================
; Attack Animation Parameters
;===========================================================================
[m_dog_attack_params]

;---------------------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, top, bottom) |	Test Dist|
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.35,		0.20,	    30,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				 3.5
;Both Legs strike with bite
stand_attack_1 =	  	0.45,		0.25,	    50,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				 3.5
stand_attack_2 =	  	0.45,		0.25,	    50,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				 3.5
stand_attack_3 =	  	0.45,		0.25,	    50,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				 3.5

[m_dog_attack_effector]

duality_h		= 0.01
duality_v		= 0.01
blur			= 0.01
gray			= 0.5
noise_intensity = 0.0
noise_grain		= 1
noise_fps		= 30
color_base		= 0.65,0.15,0.1
color_gray		= 0.333,0.333,0.333
color_add		= 0.1,0,0;0,0,0
time			= 0.1
time_attack		= 0.05		; fade in
time_release	        = 0.25		; fade out

; camera effects
ce_time			= 0.35 ;time 
ce_amplitude		= 5.0 
ce_period_number	= 2.0 
ce_power		= 0.7 ; power 

;===========================================================================
; Step Events
;===========================================================================
[m_dog_step_params]
;								fwdleftleg	    fwdrightleg     backrightleg     backleftleg
;------------------------------------------------------------------------------------------------------------
;	anim			Cycles 	| time1 | power1 | time2 | power2 | time3 | power3 | time4 | power4 |
;------------------------------------------------------------------------------------------------------------
stand_walk_fwd_0	=   1,	0.2,     0.75,	  0.4,     0.7,    0.6,     0.75,     0.8,   0.75
stand_walk_dmg_0	=   1,	0.4,     0.75,	  0.2,     0.7,    0.45,    0.75,     0.7,    0.75
stand_run_0			=	1,	0.25,    0.75,	  0.20,    0.7,    0.6,	    0.75,     0.67,   0.75
stand_run_dmg_0		=	1,	0.4,     0.75,	  0.20,    0.7,    0.7,	    0.75,     0.7,    0.75
stand_steal_0		=	1,	0.2,     0.75,	  0.25,    0.7,    0.7,	    0.75,     0.7,    0.75
stand_drag_0		=	1,	0.2,     0.75,	  0.25,    0.7,    0.7,	    0.75,     0.7,    0.75

;===========================================================================
; IMMUNITIES
;===========================================================================
[dog_immunities]
burn_immunity = 1.0				;коэффициенты иммунитета 
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 0.9	;0.75	;1.0		
radiation_immunity = 0.001	;0.5
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity  = 0.8

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

default				= 0.5,	-1,	0.2

bip01_pelvis 		= 1.0, -1, 0.5
bip01_spine 		= 1.0, -1, 0.5
bip01_spine1 		= 1.0, -1, 0.5
bip01_neck 			= 1.0, -1, 1.5
bip01_head 			= 2.0, -1, 0.5, 10



[dog_critical_wound_bones_head]
bip01_neck
bip01_head
bip01_ponytail2

[dog_critical_wound_bones_torso]
bip01_pelvis
bip01_l_calf
bip01_r_calf
bip01_spine
bip01_spine1
bip01_spine2
bip01_l_clavicle
bip01_r_clavicle
bip01_tail
bip01_tail1
bip01_tail2
bip01_tail3

[dog_critical_wound_bones_legs]
bip01_l_horselink
bip01_l_foot
bip01_l_toe0
bip01_r_thigh
bip01_r_horselink
bip01_r_foot
bip01_r_toe0
bip01_l_upperarm
bip01_l_forearm
bip01_l_hand
bip01_l_finger0
bip01_l_finger01
bip01_r_upperarm
bip01_r_forearm
bip01_r_hand
bip01_r_finger0
bip01_r_finger01
bip01_l_thigh



;=================================================================================
; DOG Terrain
;=================================================================================
[dogs_terrain]
	255,000,255,255
	
;*********************************************************************************
; WEAK PROFILE
;*********************************************************************************
[dog_weak]:m_dog_e
$spawn				= "monsters\dogs\dog_01_weak"
visual				= monsters\dog\dog
corpse_visual		= monsters\dog\dog_dead
icon				= ui_npc_monster_dog
panic_threshold		= 0.2
rank				= 0
immunities_sect		= dog_immunities_weak
attack_params		= dog_attack_params_weak
spec_rank			= weak
community			= dog

eye_fov				 = 100
eye_range			 = 20
time_quant			 = 0.003


[dog_immunities_weak]
burn_immunity			= 1.0
strike_immunity			= 1.0
shock_immunity			= 1.0
wound_immunity			= 0.70
radiation_immunity		= 0.0
telepatic_immunity		= 1.0
chemical_burn_immunity	= 1.0
explosion_immunity		= 0.55
fire_wound_immunity		= 0.8

[dog_attack_params_weak]
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, top, bottom) |	Test Dist|
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.35,		0.10,	    30,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
;Both Legs strike with bite
stand_attack_1 =	  	0.45,		0.10,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_2 =	  	0.45,		0.10,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_3 =	  	0.45,		0.10,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8


;*********************************************************************************
; NORMAL PROFILE
;*********************************************************************************
[dog_normal]:m_dog_e
$spawn				= "monsters\dogs\dog_02_normal"
visual				= monsters\dog\dog_red
corpse_visual		= monsters\dog\dog_red_dead
icon				= ui_npc_monster_dog_red
panic_threshold		= 0.2
rank				= 401
immunities_sect		= dog_immunities_normal
attack_params		= dog_attack_params_normal
spec_rank			= normal
community			= dog


[dog_immunities_normal]
burn_immunity			= 1.0
strike_immunity			= 1.0
shock_immunity			= 1.0
wound_immunity			= 0.50
radiation_immunity		= 0.0
telepatic_immunity		= 1.0
chemical_burn_immunity	= 1.0
explosion_immunity		= 0.55
fire_wound_immunity		= 0.5

[dog_attack_params_normal]
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, top, bottom) |	Test Dist|
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.35,		0.15,	    30,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
;Both Legs strike with bite
stand_attack_1 =	  	0.45,		0.15,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_2 =	  	0.45,		0.15,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_3 =	  	0.45,		0.15,	    50,        1.0, 0.1, 0.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8

;*********************************************************************************
; STRONG PROFILE
;*********************************************************************************
[dog_strong]:m_dog_e
$spawn				= "monsters\dogs\dog_03_strong"
visual				= monsters\dog\dog_white
corpse_visual		= monsters\dog\dog_white_dead
icon				= ui_npc_monster_dog_white
panic_threshold		= 0.2
rank				= 801
immunities_sect		= dog_immunities_strong
attack_params		= dog_attack_params_strong
spec_rank			= strong
community			= dog


[dog_immunities_strong]
burn_immunity			= 1.0
strike_immunity			= 1.0
shock_immunity			= 1.0
wound_immunity			= 0.30
radiation_immunity		= 0.0
telepatic_immunity		= 1.0
chemical_burn_immunity	= 1.0
explosion_immunity		= 0.55
fire_wound_immunity		= 0.35

[dog_attack_params_strong]
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, top, bottom) |	Test Dist|
;---------------------------------------------------------------------------------------------------------------------------------------------------------
;Bite
stand_attack_0 =	  	0.35,		0.20,	    300,        .0, 0.1, 01.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
;Both Legs strike with bite
stand_attack_1 =	  	0.45,		0.20,	    500,        .0, 0.1, 01.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_2 =	  	0.45,		0.20,	    500,        .0, 0.1, 01.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
stand_attack_3 =	  	0.45,		0.20,	    500,        .0, 0.1, 01.0,		 -0.5, 0.5, -1.0, 1.0,				 1.8
