;-----------------------------------------------------------------------------------
; Trader
;-----------------------------------------------------------------------------------
[m_trader]
GroupControlSection	= spawn_group
$spawn						= "monsters\trader"		; option for Level Editor
$prefetch 					= 5
cform						= skeleton
class						= AI_TRD_S ;AI_TRADE
visual						= actors\trader\trader
rank						= 1
script_binding		 			= bind_monster.bind
; format : section{,section},count,min_factor,max_factor, ...
;supplies					= m_bread,50,0.5,1.5, CANNED,30,0.5,1.5, MEDI_KIT,7,0,0.7, DETECTOR_SIMPLE,3,0,0.6, WPN_BINOC,1,0,0.70, WPN_FORT,WPN_PM,3,0.3,0.8, WPN_LR300,WPN_AK47,2,0.3,0.65, WPN_SVD,1,0,0.53, WPN_RPG7,1,0,0.53, grenade_f1,15,0,1.0, ammo_5.45x39_ap,ammo_5.45x39_fmj,50,0,1.0, ammo_5.56x45_ap,ammo_5.56х45_ss190,50,0,1.0, ammo_9x19_fmj,50,0,1.0, ammo_7.62х54_fmj,10,0,1.0, ammo_og-7b,10,0,1.0 
supplies					= grenade_f1,15,0,1.0, ammo_5.45x39_ap,ammo_5.45x39_fmj,50,0,1.0, ammo_5.56x45_ap,ammo_5.56x45_ss190,50,0,1.0, ammo_9x19_fmj,50,0,1.0, ammo_7.62x54_ap,10,0,1.0, ammo_og-7b,10,0,1.0 
max_item_mass				= 10000.0

;---EVALUATION FUNCTIONS----------------------------------------------
ef_creature_type			= 1							; option for evaluation functions
ef_weapon_type				= 1

scheduled		     = on						; option for ALife Simulator
Human		     	 = off						; option for ALife Simulator
Health			     = 40						; option for ALife Simulator
MinSpeed		     = 1.0						; option for ALife Simulator
MaxSpeed		     = 1.5						; option for ALife Simulator
going_speed          = 1.0                      ; option for ALife Simulator

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_crash_speed_min   = 8;16
ph_crash_speed_max   = 16;30
ph_mass 		     = 170.
cost			     = 1


Health				 = 100.0
money				 = 1000000

immunities_sect				= trader_immunities
condition_sect				= trader_condition

; attach params
attachable_items		= 


;species of monster
species				= human

[trader_foot_bones]
front_left	= bip01_l_foot
front_right	= bip01_r_foot

[trader_step_manager]
; order: left, right
;--------------------------------------------------------------------------
;	animation				Cycles	| time1 | power1 | time2 | power2 | 
;--------------------------------------------------------------------------

[barman_movement_speeds]
;barman can't crouch or run
	; danger
	;; crouch
	;;; walk
	danger_crouch_walk_forward	= 0.8
	danger_crouch_walk_backward	= 0.575
	danger_crouch_walk_left		= 0.8
	danger_crouch_walk_right	= 0.8
	;;; run						  
	danger_crouch_run_forward	= 2.0
	danger_crouch_run_backward	= 1.1
	danger_crouch_run_left		= 2.0
	danger_crouch_run_right		= 2.0
	;; stand
	;;; walk
	danger_stand_walk_forward	= 1.2
	danger_stand_walk_backward	= 1.2
	danger_stand_walk_left		= 1.2
	danger_stand_walk_right		= 1.2
	;;; run
	danger_stand_run_forward	= 5.0
	danger_stand_run_backward	= 1.5
	danger_stand_run_left		= 5.0
	danger_stand_run_right		= 5.0
	; free
	;; stand
	;;; forward
	free_stand_walk_forward		= 0.85
	free_stand_run_forward		= 2.5
	; panic
	;; stand
	;;; run
	;;;; forward
	panic_stand_run_forward		= 6.5

[m_osoznanie]:stalker
GroupControlSection	= spawn_group
SpaceRestrictionSection = space_restrictor
$spawn               = "stalkers\osoznanie"	; option for Level Editor
$npc			     = on			; option for Level Editor
$prefetch 		     = 32
immunities_sect		 = osoznanie_immunities
need_osoznanie_mode  = true

[osoznanie_immunities]
burn_immunity 				= 0.0				;коэффициенты иммунитета 
strike_immunity 			= 0.0
shock_immunity 				= 0.0
wound_immunity				= 0.0
radiation_immunity 			= 0.0
telepatic_immunity 			= 0.0
chemical_burn_immunity 		= 0.0
explosion_immunity 			= 0.0
fire_wound_immunity  		= 0.0


[m_barman]:stalker
GroupControlSection	= spawn_group
SpaceRestrictionSection = space_restrictor
$spawn               = "stalkers\barman"	; option for Level Editor
$npc			     = on			; option for Level Editor
$prefetch 		     = 32
money				 = 100000;

visual				 = actors\barman\barman.ogf
use_single_item_rule = false
can_select_items	 = off

;---MOVEMENT----------------------------------------------------------
movement_speeds					= barman_movement_speeds;

;entity condition
immunities_sect				= trader_immunities
condition_sect				= trader_condition

material				= creatures\human

species					= human

[izgoy_foot_bones]
front_left	= bip01_l_foot
front_right	= bip01_r_foot

[izgoy_step_manager]
; order: left, right
;--------------------------------------------------------------------------
;	animation				Cycles	| time1 | power1 | time2 | power2 | 
;--------------------------------------------------------------------------


[m_izgoy]:common_ph_friction_params_on_npc_death
GroupControlSection	= spawn_group
SpaceRestrictionSection = space_restrictor
$spawn               = "stalkers\izgoy"	; option for Level Editor
$npc			     = on			; option for Level Editor
$prefetch 		     = 32
Scheduled		     = on			; option for ALife Simulator
Human		     	 = on			; option for ALife Simulator
Health			     = 100			; option for ALife Simulator
MinSpeed		     = 1.0			; option for ALife Simulator
MaxSpeed		     = 5.0			; option for ALife Simulator
script_binding		 = bind_stalker.init
money				 = 5000;
rank				 = 1;
going_speed          = 1.5                      ; option for ALife Simulator
search_speed		 = 0.5
going_item_detect_probability = 0.1
search_item_detect_probability = 0.9
max_item_mass		 = 40.0
MaxHealthValue		 = 100			; range [0..200]

; attach params
attachable_items		=

; State                = 7
; 0 - бежать прямо на врага
; 1 - бежать на врага петляя
; 2 - бежать на врага по укрытиям
; 3 - бежать от врага по укрытиям
; 4 - паника
; 5 - прятаться от врага
; 6 - обходить врага

cform                        = skeleton			; collision class
class                        = AI_STL			; AI class

visual			 = actors\izgoy\izgoy.ogf

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_crash_speed_min       = 16
ph_crash_speed_max       = 30
ph_mass 				 = 80


weapon_usage		     = 1			; boolean
bone_torso_weapon	     = bip01_r_hand
bone_head_weapon	     = bip01_l_finger1

bone_head				 = bip01_head
bone_shoulder		     = bip01_spine2
bone_spin				 = bip01_spine1
bone_model				 = bip01
DynamicObjectsCount	     = 32
DynamicSoundsCount	     = 32 

; selectors
;                           fSearchRange,fEnemySurround,fTotalCover,fTravelWeight,fLightWeight,fLaziness,fTotalViewVectorWeight,fCoverFromMemberWeight,fOptMemberDistance,fOptMemberDistanceWeight,fMinMemberDistance,fMinMemberDistanceWeight,fMaxMemberDistance,fMaxMemberDistanceWeight,fMemberViewDeviationWeight,fCoverFromEnemyWeight,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight,fEnemyViewDeviationWeight
selector_attack          =      20.0,        300.0,         50.0,         0.0,         10.0,       200.0,            100.0,                40.0,                 40.0,                  10.0,                 10.0,                  450.0,              80.0,                150.0,                     1000.0,                   300.0,               10.0,                1000.0,                10.0,                 500.0,           120.0,               100.0,                   2000.0
;                           fSearchRange,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
selector_free_hunting    =      20.0,            20.0,                 1000.0,                 0.0,               10000.0,               1000.0,               10000.0,      
;                           fSearchRange,fCoverFromEnemyWeight
selector_reload          =      20.0,              -2000.0,
;                           fSearchRange,fCoverFromEnemyWeight,fOptMemberDistance,fOptMemberDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
selector_cover           =      20.0,            -1000.0,                30.0,                 0.0,                  0.0,              100000.0,             100000.0,               1000.0,
;                           fSearchRange,fCoverFromEnemyWeight,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight,fEnemyViewDeviationWeight
selector_retreat         =      20.0,             -100.0,            1000.0,                 1000.0,                0.0,                   0.0,        100000.0,                 0.0,                   000.0

;-------VISIBILITY----------------------------------------------------
eye_fov						= 170; 
eye_range					= 70;
vision_danger_section		= stalker_vision_danger
vision_free_section			= stalker_vision_free
;---------------------------------------------------------------------
min_view_distance_danger 	= 0.2				; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance_danger 	= 1.0				; коэффициент, который множится на eye_range, в зависимости от угла
min_view_distance_free   	= 0.1				; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance_free	 	= 0.8				; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold	 	= 20.0				; значение, при достижении суммой которого объект считается видимым
always_visible_distance_danger 	= 0.3
always_visible_distance_free 	= 0.2
time_quant					= 0.1
decrease_value				= 0.1				; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor		     	= 0.5
transparency_threshold	 	= 0.25
;---------------------------------------------------------------------
ignore_monster_threshold = 0.0	;0.6	;0.8
max_ignore_distance		 = 15.0
;---STEP MANAGER------------------------------------------------------
step_params						= izgoy_step_manager
LegsCount						= 2
foot_bones						= izgoy_foot_bones

CrouchFactor             =     0.33
WalkFactor               =     1.2	;2.15
WalkBackFactor           =     1.2	;2.15
RunFactor                =     5.0
RunBackFactor            =     1.5
WalkFreeFactor           =     0.85      ;1.00
RunFreeFactor            =     2.5
PanicFactor              =     6.5
DamagedWalkFactor        =     0.75
DamagedRunFactor         =     1.4
DamagedWalkFreeFactor    =     0.6
DamagedRunFreeFactor     =     0
DamagedPanicFactor       =     1.9

; fire params
disp_walk_stand			 = 16	;12.0	;6.0	;4.0	;2.0
disp_walk_crouch		 = 16	;8.0	;4.0	;3.0	;1.5	
disp_run_stand			 = 16	;20.0	;10.0	;8.0	;4.0
disp_run_crouch			 = 16	;12.0	;6.0	;4.0	;2.0
disp_stand_stand		 = 16	;6.0	;3.0	;2.0	;1.0
disp_stand_crouch		 = 16	;4.0	;2.0	;1.0	;0.5
; end of fire params

FireRandomMin 		 =     1
FireRandomMax 		 =     5
NoFireTimeMin 		 =   200
NoFireTimeMax 		 =   750
MinMissDistance		 =     6.0
MinMissFactor		 =     0.0
MaxMissDistance		 =    50.0
MaxMissFactor		 =     0.0

sound_threshold		 = 0.05
self_sound_factor	 = 1.0	;1.0

terrain		         = 255,255,255,255,0,1          ;1,255,255,255,0,1, 2,255,255,255,0,1, 3,255,255,255,0,1, 4,255,255,255,0,1
damage				 = stalker_damage
sound_death			 = monsters\stalker\death\em1_killed
sound_hit			 = monsters\human\combat\ukr\ukr1_damage,monsters\stalker\wound\wound
sound_humming		 = monsters\stalker\humming\em1_humming,monsters\stalker\humming\em1_whistle
sound_alarm			 = monsters\human\combat\ukr\alarm\ukr1_
sound_attack		 = monsters\human\combat\ukr\attack\ukr1_attack
sound_backup		 = monsters\human\combat\ukr\backup\ukr1_otstup
sound_detour		 = monsters\human\combat\ukr\detour\ukr1_detour
sound_search		 = monsters\human\combat\ukr\search\ukr1_finding
; this sound type is obsolete
sound_surrender		 = monsters\human\combat\ukr\search\ukr1_finding
sound_friendly_fire	 = script_sound\reactions\friendly_fire\soldier\soldier_friendlyfire_
sound_panic_human	 = monsters\human\combat\ukr\ukr1_surrender,monsters\stalker\surrender\em1_surrender,monsters\stalker\copy\default\surrender\em1_surrender
sound_panic_monster	 = script_sound\help\soldier\soldier_help_

;entity condition
immunities_sect				= trader_immunities
condition_sect				= trader_condition

hit_power				= 10
hit_type				= strike

material				= creatures\human

;дисперсия во время ходьбы и бега
disp_vel_factor		 = 0.1
disp_crouch_factor	 = 0.75
disp_jump_factor	 = 3
destroyed_vis_name	 = physics\Dead_Body\trupik_crash

species				= human


[trader_immunities]
burn_immunity 				= 0.0				;коэффициенты иммунитета 
strike_immunity 			= 0.0
shock_immunity 				= 0.0
wound_immunity				= 0.0
radiation_immunity 			= 0.0
telepatic_immunity 			= 0.0
chemical_burn_immunity 		= 0.0
explosion_immunity 			= 0.0
fire_wound_immunity  		= 0.0

[trader_condition]
satiety_v					= 0.0				;скорость уменьшения сытости со временем
radiation_v					= 1.0				;скорость уменьшения радиации
satiety_power_v				= 1.0				;увеличение силы при уменьшении сытости 
satiety_health_v			= 1.0				;увеличение здоровья при уменьшении сытости 
satiety_critical			= 0.0				;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
radiation_health_v			= 0.0				;уменьшение здоровья при воздействии радиации
morale_v					= 0.0				;скорость восстановления морали 						
health_hit_part				= 1.0				;процент хита, уходящий на отнимание здоровья
power_hit_part				= 0.1				;процент хита, уходящий на отнимание силы
psy_health_v				= 0.1				;скорость восстановления psy-здоровья

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

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


