;===========================================================================
; FLESH
;===========================================================================
[m_flesh_e]:monster_base
GroupControlSection = spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald,zone_gravi_zone
$spawn               = "monsters\fleshes\flesh_base"  ; 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           = 90            ; 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\flesh\flesh
corpse_visual    = monsters\flesh\flesh_dead
icon         = ui_npc_monster_flesh
MaxHealthValue         = 1.0      ; range [0..200]
DynamicObjectsCount  = 32
smart_terrain_choose_interval = 00:15:00


Spawn_Inventory_Item_Section = mutant_flesh_eye
Spawn_Inventory_Item_Probability = 0

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

cform               = skeleton          ; collision class
class               = SM_FLESH          ; AI class

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
;---------------------------------------------------------------------
; movement
ph_box0_center     = 0.0,  0.9,  0.0
ph_box0_size     = 0.55, 0.9,  0.55
ph_box1_center     = 0.0,  0.6,  0.0
ph_box1_size     = 0.40, 0.6,  0.40
ph_crash_speed_min      = 10
ph_crash_speed_max      = 30
ph_collision_damage_factor  = 0.1
ph_mass          = 200;100            ; also it's the food

destroyed_vis_name   = physics\dead_body\skelet_crash_monster

;----------------------------------------------------------------------------
ph_skeleton_airr_lin_factor   = -0.40
ph_skeleton_airr_ang_factor   = -0.20
ph_skeleton_hinger_factor1    = 1.0 ;1.0
ph_skeleton_ddelay	     	  = 15.0 

ph_skel_fatal_impulse_factor  = 0.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,    1.79,     1.79    1,    1
Velocity_WalkFwdNormal  = 1.5,    2.0,      2.0,    0.2,  2.0
Velocity_WalkFwdDamaged = 1.2,    1.14,     1.14,   0.2,  2.0 
Velocity_RunFwdNormal = 5.2,    2.5,      2.5,    0.2,  1 
Velocity_RunFwdDamaged  = 5.5,    3.0,      3.0,    0.3,  1
Velocity_Drag     = 1.5,    2.14,     2.14,   1,    1
Velocity_Steal      = 1.3,    2.14,     2.14,   1,    1

; acceleration
Accel_Generic     = 1.5
Accel_Calm        = 2.5
Accel_Aggressive    = 8.5

;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------

MinAttackDist     = 2.3
MaxAttackDist     = 2.9

as_min_dist       = 1.3
as_step         = 0.4

attack_effector     = m_flesh_attack_effector
attack_params     = m_flesh_attack_params

Melee_Rotation_Factor = 2.6
;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------

satiety_v       = 0.0001        ;0.01     ;ёъюЁюёЄ№ єьхэ№°хэш  ёvЄюёЄш ёю тЁхьхэхь
radiation_v     = 0.00001   ;0.004      ;ёъюЁюёЄ№ єьхэ№°хэш  ЁрфшрЎшш
satiety_power_v   = 0.005   ;0.01     ;єтхышўхэшх ёшыv яЁш єьхэ№°хэшш ёvЄюёЄш 
satiety_health_v  = 0.0005 ;0.001 ;0.03     ;єтхышўхэшх чфюЁют№  яЁш єьхэ№°хэшш ёvЄюёЄш 
satiety_critical  = -1.0    ;0.25     ;ъЁшЄшўхёъюх чэрўхэш  ёvЄюёЄш (т яЁюЎхэЄрї юЄ 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      ;яЁюЎхэЄ їшЄр, єїюф  шщ эр юЄэшьрэшх ёшыv
psy_health_v    = 0.1           ;скорость восстановления psy-здоровья
health_restore_v      = 0.0001

immunities_sect       = flesh_immunities

;открытые раны
bleeding_v          = 0.01            ;потеря крови при номинальной ране в секунду
wound_incarnation_v     = 0.04        ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
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

;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------

SoundThreshold     = 0.07           ; range [0..1]
max_hear_dist    = 40

sound_idle        = monsters\flesh\flesh_idle_
sound_eat       = monsters\flesh\flesh_eat_
sound_aggressive    = monsters\flesh\flesh_aggressive_
sound_attack_hit    = monsters\flesh\flesh_attack_      ;hit_
sound_take_damage   = monsters\flesh\flesh_pain_
sound_die       = monsters\flesh\flesh_death_
sound_threaten      = monsters\flesh\flesh_attack_
sound_landing     = monsters\biting\def_
sound_steal       = monsters\biting\def_
sound_panic       = monsters\flesh\flesh_panic_
sound_growling      = monsters\biting\def_
sound_die_in_anomaly  = monsters\flesh\flesh_anomaly_death_
;sound_distant      = monsters\dog\flesh_distant_ ; только для расстояний свыше 200м

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

idle_sound_delay    = 85000
eat_sound_delay     = 3000
attack_sound_delay    = 6000

sound_distant_idle      = monsters\flesh\flesh_idle_
distant_idle_sound_delay  = 80000
distant_idle_sound_range  = 100.0 

;---------------------------------------------------------
; Vision
;---------------------------------------------------------

eye_fov         = 100
eye_range       = 30  ;60 ;30

; number of visible objects monster can handle
DynamicObjectsCount   = 32    

min_view_distance       = 0.4       ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance     = 1.0       ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold    = 100.0       ; значение, при достижении суммой которого объект считается видимым
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


;---------------------------------------------------------
; Logic
;---------------------------------------------------------

DayTime_Begin   = 6     ; эрўрыр фэ  фы  ьюэёЄЁр
DayTime_End     = 21    ; ъюэхЎ фэ  фы  ьюэёЄЁр
Min_Satiety   = 0.4 ;0.6    ; ьшэ. эюЁьр ёvЄюёЄш (ьхэ№°х - єцх уюыюфэvщ)
Max_Satiety   = 1.0   ; ьръё. эюЁьр ёvЄюёЄш (сюы№°х - юўхэ№ ёvЄvщ)


;-------------------------------------------------------------------------
; 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

;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------

critical_wound_threshold    = 0.4
critical_wound_decrease_quant = 0.

critical_wound_anim_head  = critical_hit_head_0
critical_wound_bones_head = flesh_critical_wound_bones_head

critical_wound_anim_torso = critical_hit_torso_0
critical_wound_bones_torso  = flesh_critical_wound_bones_torso

critical_wound_anim_legs  = critical_hit_torso_0
critical_wound_bones_legs = flesh_critical_wound_bones_legs


distance_to_corpse  = 0.9; фшёЄ. фю ЄЁєяр, яЁш ъюЄюЁющ юэ яхЁхїюфшЄ т ёюёЄю эшх хфv
selector_approach =      20.0,            1.0,                1000.0,             0.0,               0.0,           1000.0,       10000.0,      

DamagedThreshold  = 0.2

material      = creatures\hoof
step_params     = m_flesh_step_params
LegsCount     = 4
damage        = m_flesh_damage

;species of monster
species       = flesh

terrain       = flesh_terrain


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

default       = 0.2,  -1, 1.50

bip01_pelvis    = 0.2, -1, 1.5
bip01_spine     = 0.2, -1, 1.5
bip01_neck      = 0.2, -1, 2.3
bip01_head      = 0.5, -1, 1.5, 1


;=================================================================================
; Flesh Terrain
;=================================================================================
[flesh_terrain]
  255,000,255,255


;===========================================================================
; Step Events
;===========================================================================
[m_flesh_step_params]
;-------------------------------------------------------------------------------------------------------------
; anim      | cycles | time1 | power1 | time2 | power2 | time3 | power3 | time4 | power4 |
;-------------------------------------------------------------------------------------------------------------
stand_walk_fwd_0  =    8,     0.2,     1,     0.25,    0.7,    0.5,     1.0,     0.7,    1.0
stand_walk_dmg_0  =      7,     0.2,     1,     0.25,    0.7,    0.5,     1.0,     0.7,    1.0
stand_run_0     =    6,     0.2,     1,     0.25,    0.7,    0.5,     1.0,     0.7,    1.0
stand_run_dmg_0   =    6,     0.2,     1,     0.25,    0.7,    0.7,     1.0,     0.7,    1.0
stand_steal_0   =    1,     0.2,     1,     0.25,    0.7,    0.7,     1.0,     0.7,    1.0
stand_drag_0    =    1,     0.2,     1,     0.25,    0.7,    0.7,     1.0,     0.7,    1.0

;===========================================================================
; Immunities
;===========================================================================
[flesh_immunities]
burn_immunity     = 1.0       ;ъю¤ЇЇшЎшхэЄv шььєэшЄхЄр 
strike_immunity     = 1
shock_immunity      = 1.0
wound_immunity      = 0.01
radiation_immunity = 0.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 0.15
fire_wound_immunity  = 0.15


;===========================================================================
; SPECIAL EFFECTORS
;===========================================================================
[m_flesh_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    = -10.0 
ce_period_number  = 2.0 
ce_power      = 1.5 ;0.7 ; power 



;===========================================================================
; Attack Animation Parameters
;===========================================================================

[m_flesh_attack_params]
;---------------------------------------------------------------------------------------------------------------------------------------------
; anim      | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  | Field of hit_test  (left,right, top, bottom) |  Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
;Left leg strike
stand_attack_0 =      0.25,   0.26,       70,        0.0, 0.5, 1.0,    -1.0, 1.0, -1.0, 1.0,                  2.5
;Both leg strike
stand_attack_1 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_2 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_3 =      0.40,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5




;*********************************************************************************
; WEAK PROFILE
;*********************************************************************************

[flesh_weak]:m_flesh_e
$spawn          = "monsters\fleshes\flesh_01_weak"
visual          = monsters\flesh\flesh
corpse_visual     = monsters\flesh\flesh_dead
icon          = ui_npc_monster_flesh
panic_threshold     = 0.2
rank          = 0
immunities_sect     = flesh_immunities_weak
attack_params     = flesh_attack_params_weak
spec_rank     = weak
community     = flesh

[flesh_immunities_weak]
burn_immunity     = 1.0
strike_immunity     = 1
shock_immunity      = 1.0
wound_immunity      = 0.01
radiation_immunity    = 0.0
telepatic_immunity    = 1.0
chemical_burn_immunity  = 1.0
explosion_immunity    = 0.3
fire_wound_immunity   = 0.3

[flesh_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
;---------------------------------------------------------------------------------------------------------------------------------------------
;Left leg strike
stand_attack_0 =      0.25,   0.10,       70,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                 2.0
;Both leg strike
stand_attack_1 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_2 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_3 =      0.40,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5

;*********************************************************************************
; NORMAL PROFILE
;*********************************************************************************

[flesh_normal]:m_flesh_e
$spawn        = "monsters\fleshes\flesh_02_normal"
visual        = monsters\flesh\flesh
corpse_visual   = monsters\flesh\flesh_dead
icon        = ui_npc_monster_flesh
panic_threshold   = 0.2
rank        = 401
immunities_sect   = flesh_immunities_normal
attack_params   = flesh_attack_params_normal
spec_rank     = normal
community     = flesh


[flesh_immunities_normal]
burn_immunity     = 1.0
strike_immunity     = 1
shock_immunity      = 1.0
wound_immunity      = 0.01
radiation_immunity    = 0.0
telepatic_immunity    = 1.0
chemical_burn_immunity  = 1.0
explosion_immunity    = 0.15
fire_wound_immunity   = 0.22

[flesh_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
;---------------------------------------------------------------------------------------------------------------------------------------------
;Left leg strike
stand_attack_0 =      0.25,   0.20,       70,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                 2.0
;Both leg strike
stand_attack_1 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_2 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_3 =      0.40,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5


;*********************************************************************************
; STRONG PROFILE
;*********************************************************************************

[flesh_strong]:m_flesh_e
$spawn        = "monsters\fleshes\flesh_03_strong"
visual        = monsters\flesh\flesh_strong
icon        = ui_npc_monster_flesh_strong
panic_threshold   = 0.05  
rank        = 801
immunities_sect   = flesh_immunities_strong
attack_params   = flesh_attack_params_strong
spec_rank     = strong
community     = flesh


[flesh_immunities_strong]
burn_immunity     = 1.0
strike_immunity     = 1
shock_immunity      = 1.0
wound_immunity      = 0.01
radiation_immunity    = 0.0
telepatic_immunity    = 1.0
chemical_burn_immunity  = 1.0
explosion_immunity    = 0.1
fire_wound_immunity   = 0.18

[flesh_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
;---------------------------------------------------------------------------------------------------------------------------------------------
;Left leg strike
stand_attack_0 =      0.25,   0.30,       70,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                 2.0
;Both leg strike
stand_attack_1 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_2 =      0.30,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5
stand_attack_3 =      0.40,   0.40,       150,        0.0, 0.5, 1.0,     -1.0, 1.0, -1.0, 1.0,                  2.5


[flesh_group]
GroupControlSection = spawn_group
;$spawn              = "monsters\flesh-group"   ; option for Level Editor
$npc          = on            ; option for Level Editor
Human         = off           ; option for ALife Simulator
class               = AI_FLE_G          ; AI class
monster_section   = m_flesh_e




[flesh_critical_wound_bones_head]
bip01_neck
bip01_head
bip01_ponytail1
bip01_ponytail2

[flesh_critical_wound_bones_torso]
bip01_pelvis
bip01_l_calf
bip01_r_calf
bip01_spine
bip01_spine1
bip01_spine2
bip01_l_clavicle
bip01_r_clavicle

[flesh_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
