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

class				= SM_P_DOG		; AI class

visual				= monsters\pseudodog\pseudodog
corpse_visual		= monsters\pseudodog\pseudodog_dead
icon				= ui_npc_monster_pseudodog

species				= pseudodog

script_binding		= bind_monster.bind

ef_creature_type	= 21		; option for evaluation functions
ef_weapon_type		= 3
ef_detector_type	= 1
panic_threshold		= 0.1

bone_torso			= bip01_spine1
bone_head			= bip01_head
bone_eye			= bone01
bone_fire			= bip01_head

max_threat_distance	= 20		; для сталкеров, расстояние, до которого не допускается игнор монстра
parts_cut_count		= 80
parts_data			= pseudodog

;------------------------------------------------------------------------
; Offline Alife
;------------------------------------------------------------------------
Scheduled					= on			; option for ALife Simulator
Human						= off			; option for ALife Simulator
Health						= 250			; option for ALife Simulator
MinSpeed					= 1.0			; option for ALife Simulator
MaxSpeed					= 2.5			; option for ALife Simulator
going_speed					= 2.0			; option for ALife Simulator
current_level_going_speed	= 1				; option for ALife Simulator
MaxHealthValue				= 200			; range [0..200]
;------------------------------------------------------------------------
; Influences
;------------------------------------------------------------------------
psy_max_distance			= 6.5
psy_max_power				= 0.02

radiation_max_distance		= 2.5
radiation_max_power			= 0
;---------------------------------------------------------------------
; Physics
;---------------------------------------------------------------------
ph_box0_center			= 0.0,  0.35,  0.0
ph_box0_size			= 0.50, 0.35,  0.50
ph_box1_center			= 0.0,  0.35,  0.0
ph_box1_size			= 0.50, 0.35,  0.50
ph_crash_speed_min		= 70
ph_crash_speed_max		= 200
ph_collision_damage_factor	= 0.1
ph_mass					= 65		; also it's the food

destroyed_vis_name		= physics\dead_body\skelet_crash_monster

;---------------------------------------------------------------------
ph_skeleton_collision_enabled	= true

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

ph_skeleton_skin_friction_start	= 0.0	;Стартовое значение трения для оболочки
ph_skeleton_skin_friction_end	= 0.7	;Финальное значение трения для оболочки
ph_skeleton_skin_ddelay			= 5.0	;Время изменения значения трения с момента создания шелла, сек.

ph_skel_fatal_impulse_factor	= 2.0
ph_after_death_velocity_factor	= 1.25
ph_skel_shot_up_factor			= 0.35

;----------------------------------------------------------------------------
; Movement::Velocities & Acceleration
;----------------------------------------------------------------------------
; speed factors				linear | angular_real | angular_path | min |  max
Velocity_Stand				= 0,		1.4,			1.4,		1,		1
Velocity_RunFwdNormal		= 6.6,		2.5,			2.5,		0.1,	1.0
Velocity_RunFwdDamaged		= 4.3,		2.0,			2.0,		0.5,	1.0
Velocity_WalkFwdNormal		= 4.3,		3.5,			3.5,		0.5,	1.2
Velocity_WalkFwdDamaged		= 1.9,		1.7,			1.7,		0.5,	2.0
Velocity_Drag				= 1.0,		0.7,			0.7,		1,		1
Velocity_Steal				= 1.5,		1.0,			1.0,		1,		1.5
;Velocity_JumpPrepare		= 8.0,		3.0,			0.01,		0.4,	1
;Velocity_JumpGround		= 7.0,		3.0,			0.01,		0.4,	1

; acceleration
Accel_Generic			= 1.5
Accel_Calm				= 2.5
Accel_Aggressive		= 14.5

;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------
;attack_effector	= m_pseudodog_attack_effector
attack_params		= m_pseudodog_attack_params

MinAttackDist		= 1.6
MaxAttackDist		= 1.9
as_min_dist			= 1.0
as_step				= 0.2

Melee_Rotation_Factor	= 2.6

hit_type			= wound

;------------------------------------------------------------------------
; Attack On Move
;------------------------------------------------------------------------
aom_enabled					=	0.25
aom_animation_left			=	stand_attack_
aom_animation_right			=	stand_attack_
aom_far_radius				=	7.5
aom_max_go_close_time		=	4
aom_prepare_time			=	2
aom_attack_radius			=	0.6
aom_update_side_period		=	3
aom_prediction_factor		=	1.2
aom_can_break				=	true
aom_max_fails				=	1
aom_pause_time_min			=	5
aom_pause_time_max			=	20
;----------------------------------------------------------------------------
; Jump Parameters
;----------------------------------------------------------------------------
jump_enabled				= 1
jump_probability			= 0.8
jump_delay					= 4000
jump_factor					= 2.3
jump_ground_trace_range		= 1.0
jump_hit_trace_range		= 2.0
jump_build_line_distance	= 1.0
jump_min_distance			= 3.5
jump_max_distance			= 9.0
jump_max_angle				= 0.5
jump_max_height				= 5.0
jump_auto_aim_factor		= 0.2
jump_predict_prob			= 0.35
jump_predict_factor			= 1.05
;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------
satiety_v				= 0.0001			;скорость уменьшения сытости со временем
radiation_v				= 0.00001			;скорость уменьшения радиации
;satiety_power_v		= 0.005				;увеличение силы при уменьшении сытости
;satiety_health_v		= 0.005				;увеличение здоровья при уменьшении сытости
radiation_health_v		= 0.01				;уменьшение здоровья при воздействии радиации
morale_v				= 0.01				;скорость восстановления морали
health_hit_part			= 0.6				;процент хита, уходящий на отнимание здоровья
power_hit_part			= 0.8				;процент хита, уходящий на отнимание силы
psy_health_v			= 0.1				;скорость восстановления psy-здоровья

immunities_sect			= pseudodog_immunities_weak
protections_sect		= pseudodog_protections
hit_slowdown			= 1.7, 0.8

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

;Eat settings
eat_freq				= 1.0		; частота укусов в сек
eat_slice				= 0.01		; увеличение сытости при 1 укусе
eat_health				= 0.005		; увеличение здоровья при 1 укусе
eat_slice_weight		= 60		; уменьшение еды у трупа
satiety_threshold		= 0.7		; below this value monster fill hunger
;-------------------------------------------------------------------------
; Morale
;-------------------------------------------------------------------------
Morale_Hit_Quant				= 0.1
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.5
;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------
sound_idle				= monsters\pseudodog\pdog_idle_
sound_eat				= monsters\pseudodog\pdog_chew_
sound_aggressive		= monsters\pseudodog\pdog_aggression_
sound_attack_hit		= monsters\pseudodog\pdog_attack_
sound_take_damage		= monsters\pseudodog\pdog_hurt_
sound_die				= monsters\pseudodog\pdog_death_
sound_threaten			= monsters\pseudodog\pdog_threaten_
sound_steal				= monsters\biting\def_
sound_panic				= monsters\biting\def_
;sound_growling			= monsters\biting\def_
;sound_psy_attack		= monsters\pseudodog\psy_attack_
sound_die_in_anomaly	= monsters\pseudodog\pdog_death_
sound_distant_idle		= monsters\pseudodog\pdog_idle_

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

idle_sound_delay		= 92000
eat_sound_delay			= 3000
attack_sound_delay		= 28500

distant_idle_sound_delay	= 80000
distant_idle_sound_range	= 100


SoundThreshold			= 0.05		; range [0..1]
SoundThreshold_Sleep	= 0.20
max_hear_dist			= 60

;-------------------------------------------------------------------------
; Damages
;-------------------------------------------------------------------------
DamagedThreshold		= 0.2
damage					= m_pseudodog_damage

critical_wound_threshold		= 2.0
critical_wound_decrease_quant	= 0.25

critical_wound_anim_head		= stand_psi_attack_0
critical_wound_bones_head		= pseudodog_critical_wound_bones_head

;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------
DayTime_Begin		= 10
DayTime_End			= 2
sleep_time			= 4.5

distance_to_corpse	= 1.2

terrain				= pseudodogs_terrain

material			= creatures\medium

step_params			= m_pseudodog_step_params
LegsCount			= 4

;anger_hunger_threshold	= 0.1
;anger_loud_threshold	= 0.7

Anomaly_Detect_Radius			= 20
Anomaly_Detect_Time_Remember	= 50000

;-------------------------------------------------------------------------
; Vision
;-------------------------------------------------------------------------
eye_fov					= 110
eye_range				= 60
eye_rotation			= 0, -0.8


vision_free_section		= pseudodog_vision_free
vision_danger_section	= pseudodog_vision_danger

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

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

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

[pseudodog_critical_wound_bones_head]
bip01_neck
bip01_head
;bip01_ponytail1
;bip01_ponytail2
;bip01_l_clavicle
;bip01_r_clavicle
bone01
;bone02

;===========================================================================
; SPECIAL EFFECTORS
;===========================================================================
[m_pseudodog_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
ce_amplitude		= -15.0
ce_period_number	= 2.0
ce_power			= 1.0

[m_pseudodog_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.45,		0.25,		50,			0.0, 0.3, 0.7,			-1.1, 1.1, -1.0, 1.0,						1.9
;Jump attack
run_jamp_1			=	0.2,		0.35,		220,		0.0, 0.2, 0.8,			-1.7, 1.7, -1.7, 1.7,						0

;===========================================================================
; Step Events
;===========================================================================
[m_pseudodog_step_params]	fleft	fright	bright	bleft
;------------------------------------------------------------------------------------------------------------------
;	anim				cycles | time1 | power1 | time2 | power2 | time3 | power3 | time4 | power4 |
;-----------------------------------------------------------------------------------------------------------------
stand_walk_fwd_0		= 1,	0.61,	0.8,	0.5,	0.8,		0.36,	0.8,	0.19,	0.8
stand_walk_dmg_0		= 5,	0.5,	0.8,	0.9,	0.8,		0.4,	0.8,	0.21,	0.3
stand_run_0				= 1,	0.25,	1,		0.17,	1,			0.60,	1,		0.58,	1
stand_run_dmg_0			= 5,	0.31,	1,		0.11,	1,			0.56,	1,		0.56,	0.3
stand_run_turn_left_0	= 1,	0.01,	1,		0.9,	1,			0.45,	1,		0.55,	1
stand_run_turn_right_0	= 1,	0.01,	1,		0.9,	1,			0.45,	1,		0.55,	1
stand_drag_0			= 5,	0.53,	0.5,	1.0,	0.5,		0.31,	0.5,	0.93,	0.5
stand_steal_0			= 1,	0.26,	0.2,	0.78,	0.2,		0.53,	0.2,	1.0,	0.2

jamp_l					= 1,	0.41,	1,		0.41,	1,			0.6,	1,		0.63,	1
jamp_r					= 1,	0.41,	1,		0.41,	1,			0.6,	1,		0.63,	1

run_jamp_0				= 1,	0.25,	1,		0.16,	1,			0.61,	1,		0.61,	1
run_jamp_2				= 1,	0.0,	1,		0.13,	1,			0.45,	1,		0.55,	1
1						= 1,	0.34,	1,		0.2,	1,			0.48,	1,		0.34,	1
2						= 1,	0.68,	1,		0.65,	1,			0.84,	1,		0.81,	1
3						= 1,	0.2,	1,		0.34,	1,			0.34,	1,		0.48,	1
4						= 1,	0.65,	1,		0.68,	1,			0.81,	1,		0.84,	1

;===========================================================================
; IMMUNITIES
;===========================================================================
[pseudodog_protections]
skin_armor				= 0.25
hit_fraction_monster	= 0.7

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

default			= 0.5, -1, 0.2

bip01_pelvis	= 1.2, -1, 0.3
bip01_spine1	= 1.0, -1, 0.3
bip01_spine2	= 1.0, -1, 0.3
bip01_neck		= 1.0, -1, 1.0
bip01_head		= 1.2, -1, 0.4, 1.8, 2.5
bone01			= 1.5, -1, 0.4, 2.5, 3.0		; нижняя челюсть

;=================================================================================
; PSEUDO-DOG Terrain
;=================================================================================
[pseudodogs_terrain]
	255,000,255,255

;*********************************************************************************
; WEAK PROFILE
;*********************************************************************************
[pseudodog_weak]:m_pseudodog_e
$spawn				= "monsters\pseudodogs\pseudodog_01_weak"
visual				= monsters\pseudodog\pseudodog
icon				= ui_npc_monster_pseudodog
rank				= 0
spec_rank			= weak

panic_threshold		= 0.5
immunities_sect		= pseudodog_immunities_weak
hit_power_factor	= 1.0


[pseudodog_immunities_weak]
burn_immunity			= 0.7
strike_immunity			= 0.5
shock_immunity			= 0.5
wound_immunity			= 0.1
wound_2_immunity		= 0.3
radiation_immunity		= 0
telepatic_immunity		= 0.3
chemical_burn_immunity	= 0.8
explosion_immunity		= 1.0
fire_wound_immunity		= 0.7


;*********************************************************************************
; NORMAL PROFILE
;*********************************************************************************
[pseudodog_normal]:m_pseudodog_e
$spawn				= "monsters\pseudodogs\pseudodog_02_normal"
visual				= monsters\pseudodog\pseudodog
icon				= ui_npc_monster_pseudodog
rank				= 401
spec_rank			= normal

panic_threshold		= 0.2
immunities_sect		= pseudodog_immunities_normal
hit_power_factor	= 1.25


[pseudodog_immunities_normal]
burn_immunity			= 0.6
strike_immunity			= 0.4
shock_immunity			= 0.5
wound_immunity			= 0.1
wound_2_immunity		= 0.3
radiation_immunity		= 0
telepatic_immunity		= 0.3
chemical_burn_immunity	= 0.7
explosion_immunity		= 0.9
fire_wound_immunity		= 0.6


;*********************************************************************************
; STRONG PROFILE
;*********************************************************************************
[pseudodog_strong]:m_pseudodog_e
$spawn				= "monsters\pseudodogs\pseudodog_03_strong"
visual				= monsters\pseudodog\pseudodog_grey
corpse_visual		= monsters\pseudodog\pseudodog_grey_dead
icon				= ui_npc_monster_pseudodog_grey
rank				= 801
spec_rank			= strong

panic_threshold		= 0.05
immunities_sect		= pseudodog_immunities_strong
hit_power_factor	= 1.6


[pseudodog_immunities_strong]
burn_immunity			= 0.5
strike_immunity			= 0.3
shock_immunity			= 0.2
wound_immunity			= 0.07
wound_2_immunity		= 0.25
radiation_immunity		= 0
telepatic_immunity		= 0.3
chemical_burn_immunity	= 0.6
explosion_immunity		= 0.7
fire_wound_immunity		= 0.5


;*********************************************************************************
; CUSTOM PROFILES
;*********************************************************************************

[pseudodog_arena]:pseudodog_strong
$spawn				= "monsters\arena\pseudodog_arena"
visual				= monsters\pseudodog\pseudodog_grey
icon				= ui_npc_monster_pseudodog_grey
panic_threshold		= 0.05
species				= arena_monstr


;---------------------------------------------------------------------------------
;-- PSY DOG
;---------------------------------------------------------------------------------
[psy_dog_aura_effector]
duality_h        = 0.022
duality_v        = 0.022
blur             = 10
gray             = 0.0
noise_intensity  = 1.0
noise_grain      = 1
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


[psy_dog]:pseudodog_strong
$spawn				= "monsters\psy_dog\psy_dog"
visual				= monsters\pseudodog\pseudodog_grey
icon				= ui_npc_monster_pseudodog_grey
class				= SM_DOG_P

panic_threshold		= 0.2
aura_effector		= psy_dog_aura_effector

psy_max_distance	= 9.5
psy_max_power		= 0.1

Phantoms_Count			= 3
Time_Phantom_Respawn	= 1500

DamagedThreshold	= 0.3
;---------------------------------------------------------------------------------
;-- PSY DOG PHANTOM
;---------------------------------------------------------------------------------

;=========================================================================================
; Appear Effector
;=========================================================================================
[psy_dog_phantom_appear_effector]
duality_h          = 0.15
duality_v          = 0.21
blur               = 0.00
gray               = 0
noise_intensity    = 0
noise_grain        = 0.1
noise_fps          = 50
color_base         = -0.1,-0.1,-0.1
color_gray         = 0.333,0.333,0.333
color_add          = 0.00,0.00,0.00
time               = 1.6
time_attack        = 0.07		; fade in
time_release       = 0.17		; fade out

; camera effects
ce_time             = 0.3
ce_amplitude        = 1.0
ce_period_number    = 2.0
ce_power            = 0.6

;=========================================================================================
; Base Definition
;=========================================================================================
[psy_dog_phantom]:pseudodog_weak
$spawn				= "monsters\psy_dog\psy_dog_phantom"
visual				= monsters\pseudodog\pseudodog_grey
icon				= ui_npc_monster_pseudodog_grey
class				= SM_DOG_F

panic_threshold		= 0.0

psy_pp_effector_name	= ;silent

jump_max_distance	= 12.0
jump_max_height		= 9.0

hit_power_factor	= 0.4
hit_impulse_factor	= 0

skin_armor			= 10000
hitfx_material		= creatures\phantom

appear_effector_distance = 24

appear_effector		= psy_dog_phantom_appear_effector
particles_appear	= monsters\pseudo_phantom_birth_00
particles_disappear	= monsters\pseudo_phantom_death_00
;=========================================================================================


[psy_dog_radar]:psy_dog
$spawn					= "monsters\psy_dog\rad_psy_dog"

Phantoms_Count			= 4
Time_Phantom_Respawn	= 1500

