[m_controller_e]:monster_base
GroupControlSection			= spawn_group
SpaceRestrictionSection		= space_restrictor,zone_mosquito_bald
$spawn						= "monsters\old\controller"	; option for Level Editor
$npc						= on	; option for Level Editor
$prefetch					= 16

class					= SM_CONTR		; AI class

visual					= monsters\kontroler\kontroler
corpse_visual			= monsters\kontroler\kontroler_dead
icon					= ui_npc_monster_kontroler

species					= controller

script_binding			= bind_monster.bind

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

bone_torso				= bip01_spine1
bone_head				= bip01_head
bone_fire				= bip01_head

max_threat_distance		= 60		; для сталкеров, расстояние, до которого не допускается игнор монстра
parts_cut_count			= 100

;------------------------------------------------------------------------
; Offline Alife
;------------------------------------------------------------------------
Scheduled					= on			; option for ALife Simulator
Human						= off			; option for ALife Simulator
Health						= 200			; option for ALife Simulator
MinSpeed					= 1.0			; option for ALife Simulator
MaxSpeed					= 3.5			; option for ALife Simulator
going_speed					= 1				; option for ALife Simulator
current_level_going_speed	= 1				; option for ALife Simulator
MaxHealthValue				= 200			; range [0..200]
;------------------------------------------------------------------------
; Influences
;------------------------------------------------------------------------
psy_max_distance			= 20
psy_max_power				= 0.12
psy_linear_factor			= 0.1
psy_quadratic_factor		= -0.9
; psy_sound				= anomaly\psy_voices_1_l	;monsters\controller\controller_presence_l
;psy_pp_effector_name	= psy_antenna	;postprocess_psi
;psy_pp_highest_at		= 0.01

radiation_max_distance		= 4.0
radiation_max_power			= 0
;---------------------------------------------------------------------
; Physics
;---------------------------------------------------------------------
ph_box0_center		= 0.0,  0.9,  0.0
ph_box0_size		= 0.4,  0.9,  0.4
ph_box1_center		= 0.0,  0.6,  0.0
ph_box1_size		= 0.4,  0.6,  0.4
ph_crash_speed_min			= 100
ph_crash_speed_max			= 300
ph_collision_damage_factor	= 0.1
ph_mass						= 90; 170.

destroyed_vis_name			= physics\Dead_Body\skelet_crash

;---------------------------------------------------------------------
ph_skeleton_collision_enabled	= true	; Включена ли коллизия тела

ph_skeleton_hinger_start		= 0.0	;Стартовое значение трения в суставе
ph_skeleton_hinger_end			= 1.5	;Финальное значение трения в суставе
ph_skeleton_ddelay				= 6.0	;Время изменения значения трения в суставе с момента создания шелла, сек

ph_skel_fatal_impulse_factor	= 2.5
;ph_after_death_velocity_factor	= 1.0
;ph_skel_shot_up_factor			= 0.25

ph_skeleton_skin_friction_start	= 0.4
;----------------------------------------------------------------------------
; Movement::Velocities & Acceleration
;----------------------------------------------------------------------------
; speed factors				linear | angular_real | angular_path | min |  max
Velocity_Stand				= 0,		2.1,			2.1,		1,		1
Velocity_WalkFwdNormal		= 0.9,		1.8,			1.8,		0.02,	2.0
Velocity_RunFwdNormal		= 6.0,		4.6,			4.6,		0.25,	1
Velocity_WalkFwdDamaged		= 0.9,		1.4,			1.3,		0.5,	2.0
Velocity_RunFwdDamaged		= 4.0,		4.0,			4.0,		0.2,    1
;Velocity_Drag				= -5.0,		0.01,			0.01,		1,		1
Velocity_Steal				= 0.85,		1.3,			1.3,		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		= 10

;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------
;attack_effector		= m_controller_attack_effector
attack_params		= m_controller_attack_params

MinAttackDist		= 1.7
MaxAttackDist		= 2.2	;	max  2*MinAttackDist-as_min_dist

as_min_dist			= 1.0
as_step				= 0.4

stamina_hit			= 0.33

hit_type			= telepatic

Melee_Rotation_Factor	= 2.0

;-------------------------------------------------------------------------
; Tube Fire
;-------------------------------------------------------------------------
psy_hit_damage				= 0.15
tube_damage					= 0.40
tube_condition_see_duration	= 10	;50
tube_condition_min_delay	= 2000
tube_condition_min_distance	= 2.1
tube_at_once				= false

;-------------------------------------------------------------------------
; Psy Aura
;-------------------------------------------------------------------------
PsyAura_SoundLeftPath		= monsters\controller\controller_presence_l
PsyAura_SoundRightPath		= monsters\controller\controller_presence_r
PsyAura_Radius				= 50
PsyAura_Damage_Min_Radius	= 7.5
PsyAura_Damage				= 0.175

PsyAura_HitDelay			= 1350
PsyAura_PPHitDelay			= 300

PsyAura_Fake_Duration		= 11000
PsyAura_Fake_Delay			= 35000
PsyAura_Fake_MaxAddDist		= 90
PsyAura_Fake_MinAddDist		= 10

aura_effector				= controller_aura_pp_effector_section
;aura_effector_hit			= controller_aura_pp_hit_effector_section

;-------------------------------------------------------------------------
; Controlling ability
;-------------------------------------------------------------------------
Max_Controlled_Count		= 10

control_effector			= controller_control_effector
control_fx_texture			= act\act_controller_hit
control_fx_texture2			= act\act_controller_hit1

Control_Hit					= weapons\generic_weapon_controler	;particles

Friend_Community_Overrides	= monolith,zombied

;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------
satiety_v				= 0.0005			;скорость уменьшения сытости со временем
radiation_v				= 0.00001			;скорость уменьшения радиации
;satiety_power_v		= 0.001				;увеличение силы при уменьшении сытости
;satiety_health_v		= 0.001				;увеличение здоровья при уменьшении сытости
radiation_health_v		= 0.01				;уменьшение здоровья при воздействии радиации
morale_v				= 0.1				;скорость восстановления морали
health_hit_part			= 0.25				;процент хита, уходящий на отнимание здоровья
power_hit_part			= 0.0				;процент хита, уходящий на отнимание силы
psy_health_v			= 0.1				;скорость восстановления psy-здоровья
health_restore_v		= 0.0001			;скорость восстановления здоровья

immunities_sect			= controller_immunities
protections_sect		= controller_protections

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

;Eat settings
eat_freq				= 1.0		; частота укусов в сек
eat_slice				= 0.01		; увеличение сытости при 1 укусе
eat_health				= 0.0025	; увеличение здоровья при 1 укусе
eat_slice_weight		= 40		; уменьшение еды у трупа
satiety_threshold		= 0.7
;-------------------------------------------------------------------------
; 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

;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------
sound_idle				;
sound_eat				;
sound_aggressive		= monsters\controller\controller_attack_
sound_attack_hit		= monsters\controller\controller_attack_hit_
sound_take_damage		= monsters\controller\controller_hit_
sound_die				= monsters\controller\controller_die_
sound_threaten			= monsters\boar\boar_threaten_
sound_steal				;
sound_panic				;
;sound_growling			= monsters\biting\def_
sound_die_in_anomaly	= monsters\controller\controller_die_
sound_distant_idle		= monsters\controller\controller_idle_

killer_clsids			= ZS_AMEBA,ZS_HAIRS,ZS_MBALD,ZS_MINEF,ZS_GALAN,ZS_MINCE,ZS_GRAVI,ZS_CAMPF,ZS_TORRD


idle_sound_delay		= 12000
eat_sound_delay			= 10000
attack_sound_delay		= 5000

distant_idle_sound_delay	= 80000
distant_idle_sound_range	= 100


sound_control_start		= monsters\controller\controller_control1
sound_control_hit		= monsters\controller\controller_control2

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

;-------------------------------------------------------------------------
; Damages
;-------------------------------------------------------------------------
damage				= m_controller_damage
DamagedThreshold	= 0.33

critical_wound_threshold		= 0.4
critical_wound_decrease_quant	= 0.01

critical_wound_anim_head		= critical_hit_torso_1
critical_wound_bones_head		= controller_critical_wound_bones_head

critical_wound_anim_torso		= critical_hit_torso_0
critical_wound_bones_torso		= controller_critical_wound_bones_torso

critical_wound_anim_legs		= critical_hit_hand_left_0
critical_wound_bones_legs		= controller_critical_wound_bones_hand_left

;---------------------------------------------------------
; Logic
;---------------------------------------------------------
DayTime_Begin		= 0			; начала дня для монстра
DayTime_End			= 0			; конец дня для монстра
sleep_time			= 6

distance_to_corpse	= 1.1		; дист. до трупа, при которой он переходит в состояние еды

use_squad_behavior	= false
;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------

particles_sect		= particles_corpse_generic
terrain				= controller_terrain

material			= creatures\human	;medium

step_params			= m_controller_step_params
LegsCount			= 2

;-------------------------------------------------------------------------

rank			= 401
spec_rank		= normal

;-------------------------------------------------------------------------
; Vision
;-------------------------------------------------------------------------
eye_fov					= 115
eye_range				= 95

vision_free_section		= controller_vision_free
vision_danger_section	= controller_vision_danger

; ЗНАЧЕНИЯ visibility_threshold ДОЛЖНЫ БЫТЬ РАВНЫ для денжера и фри,
; иначе возникают артефакты с потерей видимости при переходе от денжера во фри.

[controller_vision_free]
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			= 0.5				; фактор освещения (только для Актёра)
transparency_threshold		= 0.25

[controller_vision_danger]
min_view_distance			= 0.75				; коэффициент, который множится на 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			= 0.5				; фактор освещения (только для Актёра)
transparency_threshold		= 0.15

;===========================================================================
; Step Events
;===========================================================================
[m_controller_step_params]
;---------------------------------------------------------------------------
;	anim			| Cycles | time1 | power1 | time2 | power2 |
;---------------------------------------------------------------------------
stand_walk_fwd_0 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_fwd_1 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_fwd_2 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_fwd_3 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_fwd_4 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_fwd_5 	=	1,		0.01,	0.4,	0.52,	0.4
stand_walk_dmg_0 	=	3,		0.01,	0.3,	0.43,	0.5
stand_steal_0		=	2,		0.01,	0.1,	0.55,	0.1

stand_run_fwd_0	 	=	1,		0.14,	0.8,	0.65,	0.8
stand_run_fwd_1	 	=	1,		0.14,	0.8,	0.65,	0.8
stand_run_dmg_0	 	=	4,		0.16,	0.7,	0.47,	1.0

stand_turn_ls_0	 	=	1,		0.7,	0.2,	1.5,	0.2
stand_turn_rs_0	 	=	1,		1.53,	0.2,	0.89,	0.2

;===========================================================================
; IMMUNITIES
;===========================================================================
[controller_immunities]
burn_immunity			= 1.0
strike_immunity			= 0.8
shock_immunity			= 1.0
wound_immunity			= 0.4
wound_2_immunity		= 0.5
radiation_immunity		= 0.0
telepatic_immunity		= 0.0
chemical_burn_immunity	= 0.5
explosion_immunity		= 1.0
fire_wound_immunity		= 0.75

[controller_protections]
skin_armor				= 0.45
hit_fraction_monster	= 0.4

;=========================================================================================
; CONTROL Effector
;==========================================================================================
[controller_control_effector]
duality_h        = 0.1    ;0.31
duality_v        = 0.2    ;0.31
blur            = 0.01
gray            = 0.5    ;0.5
noise_intensity = 1.0
noise_grain        = 0.9
noise_fps        = 30
color_base        = 1.1,1.1,1    ;0.1,0.15,0.4
color_gray        = 1,1,1        ;0.333,0.333,0.333
color_add        = 0.2,0.2,0.1
time            = 1.0        ;1.5
time_attack        = 0.3        ;0.5        ; fade in
time_release    = 0.5        ; fade out

; camera effects
ce_time                = 1.0    ;1.5
ce_amplitude        = 20.0
ce_period_number    = 1.0
ce_power            = 0.7

;==========================================================================================
; Psy Attack Effector
;==========================================================================================
[m_controller_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

;=========================================================================================
; Aura PP Effector
;=========================================================================================
[controller_aura_pp_effector_section]
;duality_h        = 0.001
;duality_v        = 0.001
;blur            = 10
;gray            = 0.5
;noise_intensity = 1.0 ;0.5
;noise_grain        = 1
;noise_fps        = 5
;color_base        = 0.999,0.433,0.0999
;color_gray        = 0.333,0.3330,0.3330
;color_add        = 0.999,0.433,0.0999 ;0.00,0.01,0.00

duality_h        = 0.00
duality_v        = 0.00
blur            = 10
gray            = 0.0
noise_intensity = 10.0
noise_grain        = 1
noise_fps        = 25
;color_base        = 0.5,0.5,0.5;0.2,0.2,0.2
;color_gray        = 0.33,0.33,0.33
;color_add        = 0.30,0.30,0.30
color_base        = 0.9,0.9,1.0
color_gray        = 0.33,0.330,0.33
color_add        = 0.00,0.00,0.015



;===========================================================================
; Attack Animation Parameters
;===========================================================================
[m_controller_attack_params]
;---------------------------------------------------------------------------------------------------------------------------------------------
;	anim			| time[0..1] | hit_power | impulse | impulse_dir (x,y,z) | Field of hit_test (left,right, bottom, top ) | Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
stand_attack_0	=		0.45,		0.2,		100,		0.0, 0.0, 1.0,		-1.4, 1.4, -1.6, 1.6,							2.2,		wound
stand_attack_1	=		controller_stand_attack_1

[controller_stand_attack_1]
value1			=		0.27,		0.20,		50,			0.0, 0.0, 1.0,		-1.4, 1.4, -1.6, 1.6,							2.2,		wound
value2			=		0.53,		0.20,		50,			0.0, 0.0, 1.0,		-1.4, 1.4, -1.6, 1.6,							2.2,		strike

;=================================================================================
; Terrain
;=================================================================================
[controller_terrain]
	255,000,255,255
	010,001,255,255    ;Разрешено ходить по опасным местам на янтаре
	014,001,255,255    ;Разрешено ходить по опасным местам на радаре
	016,001,255,255    ;Разрешено ходить по опасным местам на припяти

;=================================================================================
; CONTROLLER Damage
;=================================================================================
; Karlan: поправим немного демеджи дураку, чтобы ценные вещи доставались сложнее
[m_controller_damage]
;bone_name		= <hit_scale>,-1,<wound_scale>
;<hit_scale>	- коэфф. изменения хита (уменьшения здоровья)
;<wound_scale>	- коэфф. изменения величины открытой раны
default				= 0.35, -1, 0.1

bip01_pelvis		= 0.5, -1, 0.25
bip01_spine			= 0.5, -1, 0.25
bip01_spine1		= 0.5, -1, 0.25
;bip01_neck			= 0.5, -1, 0.5
bip01_head			= 2.0, -1, 0.25

;=================================================================================
[controller_critical_wound_bones_head]
;bip01_neck
bip01_head
;bip01_ponytail1
;bip01_ponytail2
;bone01
;bone03
;bone05
;bone07
;bone09

[controller_critical_wound_bones_torso]
bip01_spine
bip01_spine1
bip01_spine2
bip01_spine3
bip01_pelvis
;bip01_r_clavicle
bip01_r_upperarm
bip01_r_forearm
bip01_r_hand


[controller_critical_wound_bones_hand_left]
;bip01_l_clavicle
bip01_l_upperarm
bip01_l_forearm
bip01_l_hand

;*********************************************************************************
; PROFILES
;*********************************************************************************

[m_controller_normal]:m_controller_e
$spawn				= "monsters\old\controller_normal"
visual				= monsters\kontroler\kontroler
icon				= ui_npc_monster_kontroler
spec_rank			= normal
rank				= 401

[m_controller_normal_fat]:m_controller_e
$spawn				= "monsters\old\controller_normal_fat"
visual				= monsters\kontroler\kontroler_5
icon				= ui_npc_monster_kontroler_5
spec_rank			= normal
rank				= 401

[m_controller_old]:m_controller_e
$spawn				= "monsters\old\controller_old"
visual				= monsters\kontroler\kontroler_3
icon				= ui_npc_monster_kontroler_3
spec_rank			= strong
rank				= 801

[m_controller_old_fat]:m_controller_e
$spawn				= "monsters\old\controller_old_fat"
visual				= monsters\kontroler\kontroler_4
icon				= ui_npc_monster_kontroler_4
spec_rank			= strong
rank				= 801

[controller_tubeman]:m_controller_normal
$spawn				= "monsters\controllers\controller_tubeman"
tube_at_once		= true
tube_damage			= 0.50
satiety_threshold	= 0.6

[controller_x16]:controller_tubeman
$spawn				= "monsters\controllers\controller_x16"
visual				= monsters\kontroler\kontroler_6
icon				= ui_npc_monster_kontroler_4
spec_rank			= strong
rank				= 801

