;=========================
; БЕГАЮЩИЙ КОНТРОЛЁР
;=========================
[m_controller_act]:monster
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald ;,zone_radioactive
visual				= monsters\kontroler_act\kontroler
corpse_visual		= monsters\kontroler_act\kontroler
icon				= ui_npc_monster_kontroler_act
short_name			= m_controller_act
MaxHealthValue	= 550
Spawn_Inventory_Item_Section = part_hand_kontroler
Spawn_Inventory_Item_Probability = 0.48

; Offline Alife
Scheduled			= on
Human		     		= off
Health				= 200
MinSpeed			= 1.0
MaxSpeed			= 5.0
going_speed		= 4.5
search_speed		= 1.5
smart_terrain_choose_interval	= 00:15:00

; Physics
ph_box0_center 		 	= 0.0,  0.9,  0.0
ph_box0_size 		 		= 0.45, 0.9,  0.45	
ph_box1_center 		 	= 0.0,  0.6,  0.0
ph_box1_size 		 		= 0.45, 0.6,  0.45
ph_crash_speed_min		= 100
ph_crash_speed_max 		= 300
ph_collision_damage_factor = 0.1
ph_mass 		     			= 90
destroyed_vis_name 		= dynamics\Dead_Body\skelet_crash

; Movement::Velocities & Acceleration
; speed factors			linear | angular_real | angular_path | min |  max
Velocity_Stand				= 0,			2.4,			2.4,		1,		1
Velocity_WalkFwdNormal	= 0.9,		3.0,			3.0,		0.02,	2.0	
Velocity_WalkFwdDamaged = 0.7,		3.0,			3.0,		0.5,		2.0	
Velocity_RunFwdNormal	= 6.0,		2.6,			2.6,		0.25,	1	
Velocity_RunFwdDamaged	= 4.0,  		2.0,			2.0,		0.2,		1
Velocity_Drag				= -5.0,		0.01,		0.01,	1,		1
Velocity_Steal				= 0.7,		1.3,			1.3,		1,		1
Velocity_Drag				= -5.0,		0.01,		0.01,	1,		1
Velocity_MoveFwd			= 5.0,		0.01,		0.01,	1,		1
Velocity_MoveBkwd		= -5.0,		0.01,		0.01,	1,		1

; acceleration
Accel_Generic			= 1.5
Accel_Calm			= 2.5
Accel_Aggressive		= 12.5

; Attack parameters
MinAttackDist		= 1.5
MaxAttackDist		= 2.5
as_min_dist			= 0.3
as_step			= 0.5
hit_type 			= strike
Gravi_Hit_Type 	= telepatic

attack_effector		= m_controller_act_attack_effector
attack_params		= m_controller_act_attack_params
step_params		= m_controller_act_step_params
damage			= m_controller_act_damage
immunities_sect		= controller_act_immunities

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

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

sleep_health			= 1.0		;1.5	;коэффициенты скоростей изменения параметров во время сна
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.04			; увеличение сытости при 1 укусе
eat_slice_weight		= 10.0			; уменьшение еды у трупа

Min_Satiety				= 0.6			; мин. норма сытости (меньше - уже голодный)
Max_Satiety			= 0.9			; макс. норма сытости (больше - очень сытый)
satiety_threshold		= 0.5			; below this value monster fill hunger

; Sounds and sound parameters
sound_idle				= monsters\controller_act\controller_idle_
sound_eat				= monsters\controller_act\controller_eat_
sound_aggressive		= monsters\controller_act\controller_attack_
sound_attack_hit		= monsters\controller_act\controller_attack_ ;hit_
sound_take_damage	= monsters\controller_act\controller_hit_
sound_die				= monsters\controller_act\controller_die_
sound_threaten			= monsters\boar\threaten_
sound_landing			= monsters\boar\landing_
sound_steal			= monsters\biting\def_
sound_panic			= monsters\controller_act\controller_panic_
sound_growling			= monsters\biting\def_
sound_gravi_attack		= monsters\poltergeist\attack_
sound_tele_attack		= monsters\biting\def_
sound_gravi_wave		= monsters\bloodsucker\invisible
sound_die_in_anomaly	= monsters\controller_act\controller_die_

idle_sound_delay			= 12000
eat_sound_delay			= 10000
attack_sound_delay		= 5000

sound_distant_idle			= monsters\controller_act\controller_idle_
distant_idle_sound_delay	= 20000 ;80000
distant_idle_sound_range	= 100.0	

SoundThreshold			= 0.06             ; range [0..1]
max_hear_dist				= 60

; Vision
eye_fov					= 150
eye_range					= 100

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

; Morale
Morale_Hit_Quant					= 0.05
Morale_Attack_Success_Quant		= 0.1
Morale_Take_Heart_Speed		= 0.1
Morale_Despondent_Speed		= 0.1
Morale_Stable_Speed				= 0.02
Morale_Despondent_Threashold	= 0.5
Friend_Community_Overrides		= monolith, zombied

; Gravi Ability
Gravi_Speed				= 60 	;76	; meter/sec	
Gravi_Step					= 2		; meter
Gravi_Time_To_Hold		= 1800 	; milisec
Gravi_Radius				= 3.0
Gravi_Impulse_To_Objects	= 0
Gravi_Impulse_To_Enemy	= 0
Gravi_Hit_Power			= 1.10

; Tele Ability
Tele_Max_Handled_Objects 	= 0	
Tele_Time_To_Hold		 	= 0
Tele_Object_Min_Mass	 		= 0
Tele_Object_Max_Mass	 	= 0
Tele_Find_Radius				= 0

sound_tele_hold		= monsters\biting\def_0
sound_tele_throw		= monsters\biting\def_0

; Scanner
scan_critical_value			= 25.0	; граничное значение 
scan_radius				= 20	; радиус сканирования
scan_velocity_threshold 	= 1.5 	; 4.0	; граничная скорость, до которой движение актера игнорируется
scan_decrease_value		= 0.3	; уменьшение текущей суммы в секунду
scan_trace_time_freq		= 2		; частота трейса скорости (for programmer only) (1 = 2 раза в сек)

scan_sound			= monsters\controller_act\controller_psy_aura_l
scan_effector_section	= m_controller_act_scan_effector

; Particles
Particle_Tele_Object	= anomaly2\bloodsucker_mask_nil
Particle_Gravi_Wave	= weapons\generic_weapon_controler_test
Particle_Gravi_Prepare	= anomaly2\bloodsucker_mask_nil
Particle_Shield			= anomaly2\burer_shield_01

; Other Stuff (refactoring needed)
critical_wound_threshold		= -1
critical_wound_decrease_quant	= 0.

ef_creature_type	= 12					; option for evaluation functions
ef_weapon_type	= 11
ef_detector_type	= 1
panic_threshold		= 0.05

class				= SM_BURER

bone_torso			 = bip01_spine1 		; bone name
bone_head			 = bip01_head			; bone name
bone_fire			 = bip01_head			; bone name
weapon_usage		 = 0						; boolean
actor_restrictor		 = medium_monster 		;medium_monster,stalker,none
distance_to_corpse	 = 1.2	; дист. до трупа, при которой он переходит в состояние еды

terrain				= controller_act_terrain
DamagedThreshold = 0.3
material			= creatures\medium
LegsCount			= 2

;species of monster
species			= controller
rank				= 0
spec_rank			= weak

;=================================================================================
; Controller Attack Params
;=================================================================================
[m_controller_act_attack_params]
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |	Field of hit_test  (left,right, bottom, top ) |	Test Dist
;Right hand Strike
stand_attack_0 =	  	0.35,		2.40,		    90,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				  3.5
;RightLeft combo strike
stand_attack_1 =	  	0.25,		2.40,		    90,        0.0, 1.0, 0.0,		 -1.6, 1.6, -1.6, 1.6,				  3.5

;=================================================================================
; Controller Attack Effector
;=================================================================================
[m_controller_act_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,0,0
time			= 0.3
time_attack		= 0.05		; fade in
time_release	= 0.25		; fade out

; camera effects
ce_time				= 0.45 	;time 
ce_amplitude		= -15.0 
ce_period_number	= 1.5 	;2.0 
ce_power			= 1.5 	;0.7 ; power 

;=================================================================================
; Controller Step Params
;=================================================================================
[m_controller_act_step_params]
;	anim			| Cycles | time1 | power1 | time2 | power2 |
stand_walk_fwd_0 	=	    1,	   0.01,     1,     0.25,    0.7,  
stand_walk_fwd_1 	=	    5,	   0.01,     1,     0.25,    0.7,    
stand_walk_dmg_0 	=	    3,	   0.01,     1,     0.25,    0.7,     
stand_run_fwd_0	=	    1,	   0.01,     1,	 0.25,    0.6,  
stand_run_fwd_1	=	    3,	   0.01,     1,	 0.25,    0.6,     
stand_run_dmg_0	=	    4,	   0.01,     1,	 0.25,    0.6,    

;===========================================================================
; CONTROLLER IMMUNITIES
;===========================================================================
[controller_act_immunities]
burn_immunity 			= 1.0
strike_immunity 			= 0.9
shock_immunity 		= 1.0
wound_immunity 		= 0.25
radiation_immunity 		= 0.0
telepatic_immunity 		= 0.0
chemical_burn_immunity = 0.3
explosion_immunity 	= 0.4
fire_wound_immunity  	= 0.2

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

default				= 0.2, -1, 0.1
bip01_pelvis 		= 0.5, -1, 0.5
bip01_spine 		= 0.5, -1, 0.5
bip01_spine1 		= 0.5, -1, 0.5
bip01_neck 		= 0.5, -1, 1.0
bip01_head 		= 1.5, -1, 0.5

;=================================================================================
; Controller Scan Effector
;=================================================================================
[m_controller_act_scan_effector]
duality_h		= 0.02
duality_v		= 0.02
blur				= 0.4
gray			= 0.5
noise_intensity 	= 0.6
noise_grain		= 2
noise_fps		= 25
color_base		= 0.9,0.9,1.0
color_gray		= 0.33,0.330,0.33
color_add		= 0.00,0.00,0.015
time			= 10.00
time_attack		= 0.3		; fade in
time_release	= 0.85		; fade out

[controller_act_terrain]
	255,255,255,255 ;ходим везде... 
	;034,000,000,000
	;037,000,000,000

;===========================================================
; ОГНЕННЫЙ КОНТРОЛЁР
;===========================================================
[controller_flame]:m_controller_act
visual					= monsters\kontroler_act\kontroler_flame
corpse_visual			= monsters\kontroler_act\kontroler_flame
icon               				= ui_npc_monster_controller_flame
short_name				= controller_flame
sound_gravi_wave		= monsters\poltergeist\attack_hit_flame_short
Gravi_Hit_Type 		= burn
Gravi_Hit_Power		= 1.95

Particle_Tele_Object	= static\fire_distort
Particle_Gravi_Wave	= monsters\polter_flame_fire_old
Particle_Gravi_Prepare	= monsters\group\flame_yadro_old
Particle_Shield			= anomaly2\burer_shield_01

;===========================================================
; ЭЛЕКТРО - КОНТРОЛЁР
;===========================================================
[controller_electro]:m_controller_act
visual					= monsters\kontroler_act\kontroler_electro
corpse_visual			= monsters\kontroler_act\kontroler_electro
icon               				= ui_npc_monster_controller_electro
short_name				= controller_electro
sound_gravi_wave		= anomaly\electra_hit
Gravi_Hit_Type 		= shock
Gravi_Hit_Power		= 1.95

Particle_Tele_Object	= static\fire_distort
Particle_Gravi_Wave	= anomaly2\electra2_blast_00
Particle_Gravi_Prepare	= anomaly2\burer_prepare
Particle_Shield			= anomaly2\emi_entrance_big_00

; Квестовые электроконтролеры Сахарова
[kontrik_electro1]:controller_electro
immunities_sect		= pseudodogfrend_immunities_strong
custom_data = scripts\monsters\electro_kontrik1.ltx
[kontrik_electro2]:kontrik_electro1
custom_data = scripts\monsters\electro_kontrik2.ltx
[kontrik_electro3]:kontrik_electro1
custom_data = scripts\monsters\electro_kontrik3.ltx

;===========================================================
; КВЕСТОВЫЙ МИНИ - КОНТРОЛЁР
;===========================================================
[controller_mini]:m_controller_act
visual				= monsters\kontroler_act\kontroler_mini
species			= dogfrend
custom_data 		= scripts\monsters\kontrik_mini.ltx
immunities_sect	 	= pseudodogfrend_immunities_strong
