diff --git a/src/engine/configs/$scheme/creatures.scheme.ltx b/src/engine/configs/$scheme/creatures.scheme.ltx index f21eb9e81..bc564c794 100644 --- a/src/engine/configs/$scheme/creatures.scheme.ltx +++ b/src/engine/configs/$scheme/creatures.scheme.ltx @@ -38,6 +38,12 @@ feel_enemy_who_just_hit_max_distance.type = f32 feel_enemy_who_made_sound_max_distance.optional = true feel_enemy_who_made_sound_max_distance.type = f32 +[$monsters_common] +strict = true +stay_after_death_time_interval.type = u32 +script_move_min_offset_from_leader.type = f32 +script_move_max_offset_from_leader.type = f32 + [$monster_shared_jumper] jump_delay.type = u32 jump_factor.type = f32 diff --git a/src/engine/configs/creatures/base.ltx b/src/engine/configs/creatures/base.ltx index c4a90ee8e..ff605dca4 100644 --- a/src/engine/configs/creatures/base.ltx +++ b/src/engine/configs/creatures/base.ltx @@ -20,3 +20,9 @@ custom_data = misc\default_custom_data.ltx ; option for Level Editor feel_enemy_who_made_sound_max_distance = 20 feel_enemy_who_just_hit_max_distance = 40 feel_enemy_max_distance = 15 + +[monsters_common] +$scheme = $monsters_common +stay_after_death_time_interval = 65535 ; in hours +script_move_min_offset_from_leader = 3 +script_move_max_offset_from_leader = 8 diff --git a/src/engine/configs/creatures/m_dog.ltx b/src/engine/configs/creatures/m_dog.ltx index 826d8617b..10bd56adc 100644 --- a/src/engine/configs/creatures/m_dog.ltx +++ b/src/engine/configs/creatures/m_dog.ltx @@ -195,6 +195,36 @@ vision_danger_section = dog_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[dog_normal]:m_dog_e +$spawn = "monsters\dogs\dog_02_normal" +visual = monsters\dog\dog_red +corpse_visual = monsters\dog\dog_red_dead +icon = ui_npc_monster_dog_red +panic_threshold = 0.0 ; 0.2 +rank = 4 +immunities_sect = dog_immunities_normal +attack_params = dog_attack_params_normal +spec_rank = normal +community = dog + +[dog_weak]:dog_normal +$spawn = "monsters\dogs\dog_01_weak" +visual = monsters\dog\dog_white +corpse_visual = monsters\dog\dog_white_dead +icon = ui_npc_monster_dog_white + +[dog_strong]:dog_normal +$spawn = "monsters\dogs\dog_03_strong" +visual = monsters\dog\dog +corpse_visual = monsters\dog\dog_dead +icon = ui_npc_monster_dog + +[dog_cute]:dog_normal +$spawn = "monsters\dogs\dog_04_cute" +visual = monsters\dog\dog_bulterier +corpse_visual = monsters\dog\dog_bulterier_dead +icon = ui_npc_monster_dog + [dog_vision_free] $scheme = $monster_vision min_view_distance = 0.5 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -238,7 +268,7 @@ chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 1.0 -[m_Dog_damage] +[m_dog_damage] ; bone_name = ,-1, ; - �����. ��������� ���� (���������� ��������) ; - �����. ��������� �������� �������� ���� @@ -329,18 +359,6 @@ bip01_r_finger0 bip01_r_finger01 bip01_l_thigh -[dog_normal]:m_dog_e -$spawn = "monsters\dogs\dog_02_normal" -visual = monsters\dog\dog_red -corpse_visual = monsters\dog\dog_red_dead -icon = ui_npc_monster_dog_red -panic_threshold = 0.0 ; 0.2 -rank = 4 -immunities_sect = dog_immunities_normal -attack_params = dog_attack_params_normal -spec_rank = normal -community = dog - [dog_immunities_normal] $scheme = $immunities burn_immunity = 0.7 @@ -364,21 +382,3 @@ stand_attack_3 = 0.2, 0.45, 50, 0.0, 0.1, 0.0, -0.5, 0.5, -1.0, 1.0, 1.8 ; Jump attack jump_ataka_02 = 0.2, 0.45, 100, 0.0, 1.0, 4.0, -1.8, 1.8, -1.8, 1.8, 1.0 stand_atack_run_0 = 0.5, 0.45, 300, 0.0, 1.0, 1.0, -1.6, 1.6, -1.6, 1.6, 3.5 - -[dog_weak]:dog_normal -$spawn = "monsters\dogs\dog_01_weak" -visual = monsters\dog\dog_white -corpse_visual = monsters\dog\dog_white_dead -icon = ui_npc_monster_dog_white - -[dog_strong]:dog_normal -$spawn = "monsters\dogs\dog_03_strong" -visual = monsters\dog\dog -corpse_visual = monsters\dog\dog_dead -icon = ui_npc_monster_dog - -[dog_cute]:dog_normal -$spawn = "monsters\dogs\dog_04_cute" -visual = monsters\dog\dog_bulterier -corpse_visual = monsters\dog\dog_bulterier_dead -icon = ui_npc_monster_dog diff --git a/src/engine/configs/creatures/m_flesh.ltx b/src/engine/configs/creatures/m_flesh.ltx index 358e4c372..6a28d5c85 100644 --- a/src/engine/configs/creatures/m_flesh.ltx +++ b/src/engine/configs/creatures/m_flesh.ltx @@ -166,6 +166,30 @@ vision_danger_section = flesh_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[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 = 2 +immunities_sect = flesh_immunities_normal +attack_params = flesh_attack_params_normal +spec_rank = normal +community = flesh + +[flesh_strong]:m_flesh_e +$spawn = "monsters\fleshes\flesh_03_strong" +visual = monsters\flesh\flesh_strong +corpse_visual = monsters\flesh\flesh_dead +icon = ui_npc_monster_flesh_strong +panic_threshold = 0.05 +rank = 3 +immunities_sect = flesh_immunities_strong +attack_params = flesh_attack_params_strong +spec_rank = strong +community = flesh + [flesh_vision_free] $scheme = $monster_vision min_view_distance = 0.4 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -260,18 +284,6 @@ ce_amplitude = -10.0 ce_period_number = 2.0 ce_power = 1.5 ; 0.7 ; power -[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 = 2 -immunities_sect = flesh_immunities_normal -attack_params = flesh_attack_params_normal -spec_rank = normal -community = flesh - [flesh_immunities_normal] $scheme = $immunities burn_immunity = 0.3 @@ -293,18 +305,6 @@ stand_attack_1 = 0.30, 0.45, 150, 0.0, 0.5, 1.0, -1.0, 1.0, -1.0, 1.0, 2.5 stand_attack_2 = 0.30, 0.45, 150, 0.0, 0.5, 1.0, -1.0, 1.0, -1.0, 1.0, 2.5 stand_attack_3 = 0.40, 0.45, 150, 0.0, 0.5, 1.0, -1.0, 1.0, -1.0, 1.0, 2.5 -[flesh_strong]:m_flesh_e -$spawn = "monsters\fleshes\flesh_03_strong" -visual = monsters\flesh\flesh_strong -corpse_visual = monsters\flesh\flesh_dead -icon = ui_npc_monster_flesh_strong -panic_threshold = 0.05 -rank = 3 -immunities_sect = flesh_immunities_strong -attack_params = flesh_attack_params_strong -spec_rank = strong -community = flesh - [flesh_immunities_strong] $scheme = $immunities burn_immunity = 0.2 diff --git a/src/engine/configs/creatures/m_giant.ltx b/src/engine/configs/creatures/m_giant.ltx index 81dfb7ebc..89f54d841 100644 --- a/src/engine/configs/creatures/m_giant.ltx +++ b/src/engine/configs/creatures/m_giant.ltx @@ -184,6 +184,15 @@ vision_danger_section = giant_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[gigant_normal]:m_gigant_e +$spawn = "monsters\gigants\gigant_normal" +visual = monsters\psevdogigant\psevdogigant +corpse_visual = monsters\psevdogigant\psevdogigant_dead +icon = ui_npc_monster_psevdogigant +rank = 20 +spec_rank = normal +community = pseudo_gigant + [giant_vision_free] $scheme = $monster_vision min_view_distance = 0.5 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -279,9 +288,6 @@ ce_amplitude = 6.0 ce_period_number = 20.0 ce_power = 1.3 ; 0.7 -[giant_terrain] -255,000,255,255 - [giant_immunities] $scheme = $immunities burn_immunity = 0.1 ; ������������ ���������� @@ -294,11 +300,5 @@ chemical_burn_immunity = 0.1 explosion_immunity = 0.08 fire_wound_immunity = 0.04 -[gigant_normal]:m_gigant_e -$spawn = "monsters\gigants\gigant_normal" -visual = monsters\psevdogigant\psevdogigant -corpse_visual = monsters\psevdogigant\psevdogigant_dead -icon = ui_npc_monster_psevdogigant -rank = 20 -spec_rank = normal -community = pseudo_gigant +[giant_terrain] +255,000,255,255 diff --git a/src/engine/configs/creatures/m_poltergeist.ltx b/src/engine/configs/creatures/m_poltergeist.ltx index 5364fd60e..9e04c5793 100644 --- a/src/engine/configs/creatures/m_poltergeist.ltx +++ b/src/engine/configs/creatures/m_poltergeist.ltx @@ -186,6 +186,115 @@ vision_danger_section = poltergeist_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[m_poltergeist_normal_tele]:m_poltergeist_e +$spawn = "monsters\poltergeists\poltergeist_normal_tele" +rank = 11 +spec_rank = normal +detection_pp_effector_name = poltergeist_detection_effector +detection_near_range_factor = 2 +detection_far_range_factor = 1 +detection_far_range = 50 +detection_speed_factor = 4.0 +detection_loose_speed = 2.0 +detection_success_level = 10.0 +detection_max_level = 15.0 +detection_fly_around_level = 5.0 +detection_fly_around_distance = 30.0 +detection_fly_around_change_direction_time = 5 ; sec +type = telekinetic +immunities_sect = poltergeist_tele_immunities +Tele_Fly_Time = 0.30 +Tele_Fly_Velocity = 30 +Tele_Find_Radius = 50 +Tele_Object_Min_Mass = 0 +Tele_Object_Max_Mass = 5000 +Tele_Object_Count = 3 ; 7 +Tele_Hold_Time = 1000 +Tele_Wait_Time = 1000 +Tele_Delay_Between_Objects_Time = 1000 +Tele_Distance = 50 +Tele_Object_Height = 2 +Tele_Time_Object_Keep = 5000 +Tele_Raise_Speed = 6 +Tele_Delay_Between_Objects_Raise_Time = 200 +Tele_Collision_Damage = 0.5 +Particles_Damage = monsters\polter_damage +Particles_Death = monsters\polter_death +Particles_Idle = monsters\polter_idle +Particles_Hidden = monsters\polter_linza +Hidden_Particles = monsters\polter_linza +; Hide_Particles = monsters\polter_yadro ; monsters\polter_hide +Sound_Idle = monsters\poltergeist\tele_idle_0 +sound_take_damage = monsters\poltergeist\tele_damage_ +sound_die = monsters\poltergeist\tele_death_ +sound_tele_hold = monsters\burer\burer_tele_hold +sound_tele_throw = monsters\burer\burer_tele_throw + +[m_poltergeist_normal_flame]:m_poltergeist_e +$spawn = "monsters\poltergeists\poltergeist_normal_flame" +rank = 12 +spec_rank = normal +fire_max_distance = 5 +fire_max_power = 0.1 +detection_pp_effector_name = poltergeist_detection_effector +detection_near_range_factor = 2 +detection_far_range_factor = 1 +detection_far_range = 50 +detection_speed_factor = 4.0 +detection_loose_speed = 2.0 +detection_success_level = 10.0 +detection_max_level = 15.0 +detection_fly_around_level = 5.0 +detection_fly_around_distance = 8.0 +detection_fly_around_change_direction_time = 5 ; sec +type = flamer +immunities_sect = poltergeist_flame_immunities +flame_hit_value = 0.7 +flame_sound = monsters\poltergeist\attack_hit_flame +flame_particles_prepare = monsters\polter_yadro +flame_particles_fire = static\monsters_fire_idle +flame_particles_stop = static\monsters_fire_stop +flame_fire_time_delay = 1000 ; 2400 ; don't change - for programmers only +flame_fire_time_play = 6000 +flame_length = 8.0 +flame_hit_value = 0.3 +flame_hit_delay = 200 +flames_count = 3 +flames_delay = 2000 ; 3500 ; 2000 +flame_aura_radius = 10 +flame_scan_radius = 0 +flame_scan_sound = monsters\burer\burer_scan_affect_0 +flame_scan_effector_section = m_poltergeist_scan_effector +flame_scan_delay_min_max = 5000,10000 +flame_min_dist = 2 +flame_max_dist = 30 +flame_min_height = 0.5 +flame_max_height = 1.0 +Particles_Damage = monsters\polter_damage +Particles_Death = monsters\polter_death_00 +Particles_Idle = monsters\polter_idle_00 +Particles_Hidden = monsters\polter_linza_00 +Hidden_Particles = monsters\polter_linza_00 ; monsters\polter_hidden +Sound_Idle = monsters\poltergeist\fire_idle_0 + +[pri_a25_poltergeist]:m_poltergeist_normal_tele +$spawn = "monsters\poltergeists\pri_a25_poltergeist" +detection_linear_factor = 18.0 +detection_loose_speed = 4.0 + +[labx8_poltergeist]:m_poltergeist_normal_tele +$spawn = "monsters\poltergeists\labx8_poltergeist" +Tele_Find_Radius = 145 +Tele_Object_Count = 2 ; 4 ; 7 +detection_far_range = 145 +detection_speed_factor = 6.0 ; 4.0 +detection_loose_speed = 4.0 ; 2.0 +detection_near_range_factor = 1 +detection_far_range_factor = 1 +Tele_Time_Object_Keep = 18000 ; 5000 +Height_Min = 0.4 +Height_Max = 0.9 + [poltergeist_vision_free] $scheme = $monster_vision min_view_distance = 0.8 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -276,50 +385,6 @@ chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 1.0 -[m_poltergeist_normal_tele]:m_poltergeist_e -$spawn = "monsters\poltergeists\poltergeist_normal_tele" -rank = 11 -spec_rank = normal -detection_pp_effector_name = poltergeist_detection_effector -detection_near_range_factor = 2 -detection_far_range_factor = 1 -detection_far_range = 50 -detection_speed_factor = 4.0 -detection_loose_speed = 2.0 -detection_success_level = 10.0 -detection_max_level = 15.0 -detection_fly_around_level = 5.0 -detection_fly_around_distance = 30.0 -detection_fly_around_change_direction_time = 5 ; sec -type = telekinetic -immunities_sect = poltergeist_tele_immunities -Tele_Fly_Time = 0.30 -Tele_Fly_Velocity = 30 -Tele_Find_Radius = 50 -Tele_Object_Min_Mass = 0 -Tele_Object_Max_Mass = 5000 -Tele_Object_Count = 3 ; 7 -Tele_Hold_Time = 1000 -Tele_Wait_Time = 1000 -Tele_Delay_Between_Objects_Time = 1000 -Tele_Distance = 50 -Tele_Object_Height = 2 -Tele_Time_Object_Keep = 5000 -Tele_Raise_Speed = 6 -Tele_Delay_Between_Objects_Raise_Time = 200 -Tele_Collision_Damage = 0.5 -Particles_Damage = monsters\polter_damage -Particles_Death = monsters\polter_death -Particles_Idle = monsters\polter_idle -Particles_Hidden = monsters\polter_linza -Hidden_Particles = monsters\polter_linza -; Hide_Particles = monsters\polter_yadro ; monsters\polter_hide -Sound_Idle = monsters\poltergeist\tele_idle_0 -sound_take_damage = monsters\poltergeist\tele_damage_ -sound_die = monsters\poltergeist\tele_death_ -sound_tele_hold = monsters\burer\burer_tele_hold -sound_tele_throw = monsters\burer\burer_tele_throw - [poltergeist_tele_immunities] $scheme = $immunities burn_immunity = 0.5 ; ������������ ���������� @@ -332,53 +397,6 @@ chemical_burn_immunity = 1.0 explosion_immunity = 0.1 fire_wound_immunity = 1.0 -[m_poltergeist_normal_flame]:m_poltergeist_e -$spawn = "monsters\poltergeists\poltergeist_normal_flame" -rank = 12 -spec_rank = normal -fire_max_distance = 5 -fire_max_power = 0.1 -detection_pp_effector_name = poltergeist_detection_effector -detection_near_range_factor = 2 -detection_far_range_factor = 1 -detection_far_range = 50 -detection_speed_factor = 4.0 -detection_loose_speed = 2.0 -detection_success_level = 10.0 -detection_max_level = 15.0 -detection_fly_around_level = 5.0 -detection_fly_around_distance = 8.0 -detection_fly_around_change_direction_time = 5 ; sec -type = flamer -immunities_sect = poltergeist_flame_immunities -flame_hit_value = 0.7 -flame_sound = monsters\poltergeist\attack_hit_flame -flame_particles_prepare = monsters\polter_yadro -flame_particles_fire = static\monsters_fire_idle -flame_particles_stop = static\monsters_fire_stop -flame_fire_time_delay = 1000 ; 2400 ; don't change - for programmers only -flame_fire_time_play = 6000 -flame_length = 8.0 -flame_hit_value = 0.3 -flame_hit_delay = 200 -flames_count = 3 -flames_delay = 2000 ; 3500 ; 2000 -flame_aura_radius = 10 -flame_scan_radius = 0 -flame_scan_sound = monsters\burer\burer_scan_affect_0 -flame_scan_effector_section = m_poltergeist_scan_effector -flame_scan_delay_min_max = 5000,10000 -flame_min_dist = 2 -flame_max_dist = 30 -flame_min_height = 0.5 -flame_max_height = 1.0 -Particles_Damage = monsters\polter_damage -Particles_Death = monsters\polter_death_00 -Particles_Idle = monsters\polter_idle_00 -Particles_Hidden = monsters\polter_linza_00 -Hidden_Particles = monsters\polter_linza_00 ; monsters\polter_hidden -Sound_Idle = monsters\poltergeist\fire_idle_0 - [poltergeist_flame_immunities] $scheme = $immunities burn_immunity = 0.0 ; ������������ ���������� @@ -405,21 +423,3 @@ color_add = 0.05,0.0,0.0 time = 10.00 time_attack = 0.3 ; fade in time_release = 0.85 ; fade out - -[pri_a25_poltergeist]:m_poltergeist_normal_tele -$spawn = "monsters\poltergeists\pri_a25_poltergeist" -detection_linear_factor = 18.0 -detection_loose_speed = 4.0 - -[labx8_poltergeist]:m_poltergeist_normal_tele -$spawn = "monsters\poltergeists\labx8_poltergeist" -Tele_Find_Radius = 145 -Tele_Object_Count = 2 ; 4 ; 7 -detection_far_range = 145 -detection_speed_factor = 6.0 ; 4.0 -detection_loose_speed = 4.0 ; 2.0 -detection_near_range_factor = 1 -detection_far_range_factor = 1 -Tele_Time_Object_Keep = 18000 ; 5000 -Height_Min = 0.4 -Height_Max = 0.9 diff --git a/src/engine/configs/creatures/m_pseudodog.ltx b/src/engine/configs/creatures/m_pseudodog.ltx index e62b600b7..8357da85f 100644 --- a/src/engine/configs/creatures/m_pseudodog.ltx +++ b/src/engine/configs/creatures/m_pseudodog.ltx @@ -180,6 +180,72 @@ vision_danger_section = pseudodog_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[pseudodog_normal]:m_pseudodog_e +$spawn = "monsters\pseudodogs\pseudodog_02_normal" +visual = monsters\pseudodog\pseudodog +corpse_visual = monsters\pseudodog\pseudodog_dead +icon = ui_npc_monster_pseudodog +panic_threshold = 0 ; 0.2 +rank = 7 +immunities_sect = pseudodog_immunities_normal +attack_params = pseudodog_attack_params_normal +spec_rank = normal +community = pseudodog + +[psy_dog_phantom]:pseudodog_normal +$spawn = "monsters\psy_dog\psy_dog_phantom" +visual = monsters\pseudodog\pseudodog_grey +icon = ui_npc_monster_pseudodog_grey +class = SM_DOG_F +rank = 1 +; jump_delay = 3000 ; 3000 +; jump_factor = 3 +; jump_min_distance = 4.0 +; jump_max_distance = 10.0 +; jump_max_angle = 0.2 +appear_effector = psy_dog_phantom_appear_effector +particles_appear = monsters\pseudo_phantom_birth_00 +particles_disappear = monsters\pseudo_phantom_death_00 +attack_params = psydog_attack_params_phantom +hit_type = telepatic + +[zat_b18_dog]:pseudodog_normal +$spawn = "monsters\psy_dog\zat_b18_dog" +community = pseudodog +radiation_max_distance = 0 +; Movement::Velocities & Acceleration +; ---------------------------------------------------------------------------- +; speed factors linear | angular_real | angular_path | min | max +Velocity_Stand = 0, 3.0, 3.0, 1, 1 +Velocity_RunFwdNormal = 6.6, 5.0, 5.0, 0.05, 1.0 +Velocity_RunFwdDamaged = 4.3, 5.0, 5.0, 0.5, 1.0 +Velocity_WalkFwdNormal = 5.0, 5.0, 5.0, 0.1, 1.0 +Velocity_WalkFwdDamaged = 2.2, 6.0, 6.0, 0.1, 2.2 + +[psy_dog_normal]:pseudodog_normal +$spawn = "monsters\psy_dog\psy_dog_normal" +visual = monsters\pseudodog\pseudodog_grey +corpse_visual = monsters\pseudodog\pseudodog_grey_dead +icon = ui_npc_monster_pseudodog_grey +class = SM_DOG_P +rank = 13 +aura_effector = psy_dog_aura_effector +Phantoms_Count = 2 +Time_Phantom_Respawn = 5000 +Max_Phantoms_Count = 3 +Min_Phantoms_Count = 2 +Time_Phantom_Appear = 3000 + +[psy_dog]:pseudodog_normal +$spawn = "monsters\psy_dog\psy_dog" +visual = monsters\pseudodog\pseudodog_grey +corpse_visual = monsters\pseudodog\pseudodog_grey_dead +icon = ui_npc_monster_pseudodog_grey +class = SM_DOG_P +aura_effector = psy_dog_aura_effector +Phantoms_Count = 3 +Time_Phantom_Respawn = 1000 + [pseudodog_vision_free] $scheme = $monster_vision min_view_distance = 0.4 ; �����������, �����v� �������� �� eye_range, � ����������� �� ���� @@ -261,7 +327,7 @@ chemical_burn_immunity = 0.8 explosion_immunity = 0.4 fire_wound_immunity = 1.0 -[m_Pseudodog_damage] +[m_pseudodog_damage] ; bone_name = ,-1, ; - �����. ��������� ���� (���������� ��������) ; - �����. ��������� �������v ����v��� ���v @@ -275,18 +341,6 @@ bip01_head = 2.0, -1, 0.3, 10 [pseudodogs_terrain] 255,000,255,255 -[pseudodog_normal]:m_pseudodog_e -$spawn = "monsters\pseudodogs\pseudodog_02_normal" -visual = monsters\pseudodog\pseudodog -corpse_visual = monsters\pseudodog\pseudodog_dead -icon = ui_npc_monster_pseudodog -panic_threshold = 0 ; 0.2 -rank = 7 -immunities_sect = pseudodog_immunities_normal -attack_params = pseudodog_attack_params_normal -spec_rank = normal -community = pseudodog - [pseudodog_immunities_normal] $scheme = $immunities burn_immunity = 1.0 @@ -320,16 +374,6 @@ 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_normal -$spawn = "monsters\psy_dog\psy_dog" -visual = monsters\pseudodog\pseudodog_grey -corpse_visual = monsters\pseudodog\pseudodog_grey_dead -icon = ui_npc_monster_pseudodog_grey -class = SM_DOG_P -aura_effector = psy_dog_aura_effector -Phantoms_Count = 3 -Time_Phantom_Respawn = 1000 - [psy_dog_phantom_appear_effector] duality_h = 0.028 ; 0.31 duality_v = 0.028 ; 0.31 @@ -351,23 +395,6 @@ ce_period_number = 0 ; 2.0 ce_power = 0 ; 0.3 ; 0.7 ; Base Definition -[psy_dog_phantom]:pseudodog_normal -$spawn = "monsters\psy_dog\psy_dog_phantom" -visual = monsters\pseudodog\pseudodog_grey -icon = ui_npc_monster_pseudodog_grey -class = SM_DOG_F -rank = 1 -; jump_delay = 3000 ; 3000 -; jump_factor = 3 -; jump_min_distance = 4.0 -; jump_max_distance = 10.0 -; jump_max_angle = 0.2 -appear_effector = psy_dog_phantom_appear_effector -particles_appear = monsters\pseudo_phantom_birth_00 -particles_disappear = monsters\pseudo_phantom_death_00 -attack_params = psydog_attack_params_phantom -hit_type = telepatic - [psydog_attack_params_phantom] ; --------------------------------------------------------------------------------------------------------------------------------------------- ; anim | time[0..1] | hit_power | impulse | impulse_dir (x,y,z) | Field of hit_test (left,right, top, bottom) | Test Dist @@ -376,30 +403,3 @@ hit_type = telepatic stand_attack_0 = 0.45, 0.55, 10, 0.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.6 ; Jump attack run_jamp_1 = 0.55, 0.55, 10, 0.0, 1.0, 4.0, -1.8, 1.8, -1.8, 1.8, 1.0 - -[zat_b18_dog]:pseudodog_normal -$spawn = "monsters\psy_dog\zat_b18_dog" -community = pseudodog -radiation_max_distance = 0 -; Movement::Velocities & Acceleration -; ---------------------------------------------------------------------------- -; speed factors linear | angular_real | angular_path | min | max -Velocity_Stand = 0, 3.0, 3.0, 1, 1 -Velocity_RunFwdNormal = 6.6, 5.0, 5.0, 0.05, 1.0 -Velocity_RunFwdDamaged = 4.3, 5.0, 5.0, 0.5, 1.0 -Velocity_WalkFwdNormal = 5.0, 5.0, 5.0, 0.1, 1.0 -Velocity_WalkFwdDamaged = 2.2, 6.0, 6.0, 0.1, 2.2 - -[psy_dog_normal]:pseudodog_normal -$spawn = "monsters\psy_dog\psy_dog_normal" -visual = monsters\pseudodog\pseudodog_grey -corpse_visual = monsters\pseudodog\pseudodog_grey_dead -icon = ui_npc_monster_pseudodog_grey -class = SM_DOG_P -rank = 13 -aura_effector = psy_dog_aura_effector -Phantoms_Count = 2 -Time_Phantom_Respawn = 5000 -Max_Phantoms_Count = 3 -Min_Phantoms_Count = 2 -Time_Phantom_Appear = 3000 diff --git a/src/engine/configs/creatures/m_snork.ltx b/src/engine/configs/creatures/m_snork.ltx index 7fa8253d9..dbc4f6a0f 100644 --- a/src/engine/configs/creatures/m_snork.ltx +++ b/src/engine/configs/creatures/m_snork.ltx @@ -184,6 +184,66 @@ vision_danger_section = snork_vision_danger ; �������� visibility_threshold ������ ���� ����� ��� ������� � ���, ; ����� ��������� ��������� � ������� ��������� ��� �������� �� ������� �� ���. +[snork_weak]:m_snork_e +$spawn = "monsters\snorks\snork_01_weak" +visual = monsters\snork\snork +corpse_visual = monsters\snork\snork_dead +icon = ui_npc_monster_snork +panic_threshold = 0.5 +rank = 8 +immunities_sect = snork_immunities_weak +attack_params = snork_attack_params_weak +spec_rank = weak +community = snork + +[snork_normal]:m_snork_e +$spawn = "monsters\snorks\snork_02_normal" +visual = monsters\snork\snork +corpse_visual = monsters\snork\snork_dead +icon = ui_npc_monster_snork +panic_threshold = 0.2 +rank = 9 +immunities_sect = snork_immunities_normal +attack_params = snork_attack_params_normal +spec_rank = normal +community = snork + +[snork_strong]:m_snork_e +$spawn = "monsters\snorks\snork_03_strong" +visual = monsters\snork\snork +corpse_visual = monsters\snork\snork_dead +icon = ui_npc_monster_snork +panic_threshold = 0.05 +rank = 10 +immunities_sect = snork_immunities_strong +attack_params = snork_attack_params_strong +spec_rank = strong +community = snork + +[snork_indoor]:snork_weak +$spawn = "monsters\snorks\snork_indoor" +monster_type = indoor +community = snork + +[snork_outdoor]:snork_weak +$spawn = "monsters\snorks\snork_outdoor" +monster_type = outdoor +community = snork + +[snork_jumper]:snork_weak +$spawn = "monsters\snorks\snork_jumper" +monster_type = outdoor +community = snork + +[snork_indoor_strong]:snork_strong +$spawn = "monsters\snorks\snork_indoor_strong" + +[snork_indoor_normal]:snork_normal +$spawn = "monsters\snorks\snork_indoor_normal" + +[snork_indoor_weak]:snork_weak +$spawn = "monsters\snorks\snork_indoor_weak" + [snork_vision_free] $scheme = $monster_vision min_view_distance = 0.4 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -213,7 +273,7 @@ skin_armor = 0.5 hit_fraction_monster = 0.3 ; SNORK Damage -[m_Snork_damage] +[m_snork_damage] ; bone_name = ,-1, ; - �����. ��������� ���� (���������� ��������) ; - �����. ��������� �������� �������� ���� @@ -267,18 +327,6 @@ chemical_burn_immunity = 0.8 explosion_immunity = 0.8 fire_wound_immunity = 1.0 -[snork_weak]:m_snork_e -$spawn = "monsters\snorks\snork_01_weak" -visual = monsters\snork\snork -corpse_visual = monsters\snork\snork_dead -icon = ui_npc_monster_snork -panic_threshold = 0.5 -rank = 8 -immunities_sect = snork_immunities_weak -attack_params = snork_attack_params_weak -spec_rank = weak -community = snork - [snork_immunities_weak] $scheme = $immunities burn_immunity = 0.4 ; ������������ ���������� @@ -300,18 +348,6 @@ stand_attack_2_1 = 0.30, 0.7, 70, 0.0, 1.0, 2.0, -1.8, 1.8, -1.8, 1.8, 3.5 stand_run_attack_left_0 = 0.40, 0.6, 30, 0.0, 0.5, 0.5, -1.8, 1.8, -1.8, 1.8, 3.5 stand_run_attack_right_0 = 0.40, 0.6, 30, 0.0, 0.5, 0.5, -1.8, 1.8, -1.8, 1.8, 3.5 -[snork_normal]:m_snork_e -$spawn = "monsters\snorks\snork_02_normal" -visual = monsters\snork\snork -corpse_visual = monsters\snork\snork_dead -icon = ui_npc_monster_snork -panic_threshold = 0.2 -rank = 9 -immunities_sect = snork_immunities_normal -attack_params = snork_attack_params_normal -spec_rank = normal -community = snork - [snork_immunities_normal] $scheme = $immunities burn_immunity = 0.3 ; ������������ ���������� @@ -333,18 +369,6 @@ stand_attack_2_1 = 0.30, 0.7, 70, 0.0, 1.0, 2.0, -1.8, 1.8, -1.8, 1.8, 3.5 stand_run_attack_left_0 = 0.40, 0.6, 30, 0.0, 0.5, 0.5, -1.8, 1.8, -1.8, 1.8, 3.5 stand_run_attack_right_0 = 0.40, 0.6, 30, 0.0, 0.5, 0.5, -1.8, 1.8, -1.8, 1.8, 3.5 -[snork_strong]:m_snork_e -$spawn = "monsters\snorks\snork_03_strong" -visual = monsters\snork\snork -corpse_visual = monsters\snork\snork_dead -icon = ui_npc_monster_snork -panic_threshold = 0.05 -rank = 10 -immunities_sect = snork_immunities_strong -attack_params = snork_attack_params_strong -spec_rank = strong -community = snork - [snork_immunities_strong] $scheme = $immunities burn_immunity = 0.2 ; ������������ ���������� @@ -368,27 +392,3 @@ stand_run_attack_right_0 = 0.40, 0.7, 30, 0.0, 0.5, 0.5, -1.8, 1.8, -1.8, 1.8, 3 [snork_terrain] 255,000,255,255 - -[snork_indoor]:snork_weak -$spawn = "monsters\snorks\snork_indoor" -monster_type = indoor -community = snork - -[snork_outdoor]:snork_weak -$spawn = "monsters\snorks\snork_outdoor" -monster_type = outdoor -community = snork - -[snork_jumper]:snork_weak -$spawn = "monsters\snorks\snork_jumper" -monster_type = outdoor -community = snork - -[snork_indoor_strong]:snork_strong -$spawn = "monsters\snorks\snork_indoor_strong" - -[snork_indoor_normal]:snork_normal -$spawn = "monsters\snorks\snork_indoor_normal" - -[snork_indoor_weak]:snork_weak -$spawn = "monsters\snorks\snork_indoor_weak" diff --git a/src/engine/configs/creatures/m_stalker.ltx b/src/engine/configs/creatures/m_stalker.ltx index 9e8311eb6..e277ffac8 100644 --- a/src/engine/configs/creatures/m_stalker.ltx +++ b/src/engine/configs/creatures/m_stalker.ltx @@ -1,3 +1,149 @@ +[stalker]:common_ph_friction_params_on_npc_death +class = AI_STL_S ; Class identifier +can_select_items = on +ef_creature_type = 17 ; option for evaluation functions +$spawn = "stalkers\stalker" ; option for Level Editor +$npc = on ; option for Level Editor +visual = actors\stalker_hero\stalker_hero_1.ogf ; option for Level Editor +corpse_visual = dynamics\equipments\item_rukzak.ogf ; actors\hero\stalker_novice.ogf ; option for Level Editor +custom_data = misc\default_custom_data.ltx ; option for Level Editor +character_profile = default ; option for Level Editor +use_single_item_rule = off +$prefetch = 32 +cform = skeleton ; collision class +species = human +material = creatures\human +destroyed_vis_name = dynamics\Dead_Body\skelet_crash +script_binding = bind.stalker ; xrf change +GroupControlSection = spawn_group +SpaceRestrictionSection = space_restrictor,zone_mine_field +attachable_items = device_torch,attachable_item,hand_radio,hand_radio_r,bread, vodka, energy_drink, kolbasa, guitar_a, harmonica_a, wpn_binoc, detector_simple, pri_a15_wpn_svu, pri_a15_wpn_wincheaster1300, wpn_binoc1, pri_a15_wpn_ak74u, pri_a15_wpn_ak74, pri_a15_documents, af_quest_b14_twisted, detector_advanced, detector_elite, device_pda, anomaly_scaner +damage = stalker_damage +immunities_sect = stalker_immunities +condition_sect = stalker_condition +Health = 100 ; option for ALife Simulator +money = 5000 ; option for ALife Simulator +going_speed = 3 ; 2 ; option for ALife Simulator +current_level_going_speed = 3 ; option for ALife Simulator +search_speed = 0.5 ; option for ALife Simulator +going_item_detect_probability = 0.1 ; option for ALife Simulator +search_item_detect_probability = 0.9 ; option for ALife Simulator +max_item_mass = 10000000.0 ; option for ALife Simulator +inv_max_weight = 10000000.0 ; ���������� ��� ��������� +MaxHealthValue = 100 ; option for ALife Simulator, range [0..200] +smart_terrain_choose_interval = 00:15:00 +time_to_search_for_artefacts = 60000 ; in milliseconds +distance_to_search_for_artefacts = 30.0 ; in meters +terrain = 255,255,255,255,0,1 +; terrain = stalker_terrain +sound_threshold = 0.08 +self_sound_factor = 0.1 ; 1.0 +self_decrease_quant = 250 ; in milliseconds +self_decrease_factor = 0.95 ; fading factor +killer_clsids = Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE +sound_perceive_section = stalker_sound_perceive +vision_danger_section = stalker_vision_danger +vision_free_section = stalker_vision_free +eye_fov = 160 ; 110 ; 120 +eye_range = 100 +far_plane_factor = 1.0 ; ������ ��������� ������ +fog_density_factor = 0.05 ; ������ ��������� ������ +DynamicObjectsCount = 32 +DynamicSoundsCount = 32 +DynamicHitCount = 32 +ignore_monster_threshold = 0.0 ; 0.6 ; 0.8 +max_ignore_distance = 15.0 +panic_threshold = 0.0 +sound_death = fight\death\death_ +sound_anomaly_death = fight\death\anomaly_ +sound_hit = fight\hit\hit_ +sound_humming = states\idle\idle_ +sound_alarm = fight\enemy\enemy_ +sound_backup = fight\backup\backup_,fight\threat\threat_close_ +sound_detour = fight\detour\detour_,fight\fire\fire_,fight\threat\threat_close_ +sound_friendly_fire = fight\friendly_fire\friendly_fire_ +sound_panic_human = ; states\panic_human\panic_human_ +sound_panic_monster = ; states\panic_monster\panic_monster_ +sound_tolls = fight\tolls\tolls_ +sound_wounded = fight\friend_hitted\hit_friend_ +sound_grenade_alarm = fight\grenade\grenade_ +sound_friendly_grenade_alarm = fight\friendly_grenade\friendly_grenade_ +sound_need_backup = fight\cover_fire\cover_fire_ +sound_running_in_danger = states\breath\breath_1 +sound_walking_in_danger = states\breath\breath_2 +sound_kill_wounded = help\wounded\kill_wounded_ +sound_enemy_critically_wounded = fight\enemy_hit\enemy_hit_ +sound_enemy_killed_or_wounded = fight\enemy_down\enemy_down_ +sound_attack_no_allies = fight\fire\fire_,fight\threat\threat_distant_ +sound_attack_allies_single_enemy = fight\attack\attack_,fight\attack\attack_one_,fight\fire\fire_ +sound_attack_allies_several_enemies = fight\attack\attack_,fight\attack\attack_many_,fight\fire\fire_ +sound_search1_no_allies = fight\threat\threat_distant_ +sound_search1_with_allies = fight\searching_enemy\search_ +sound_enemy_lost_no_allies = +sound_enemy_lost_with_allies = fight\searching_enemy\enemy_lost_ +sound_throw_grenade = fight\grenade\grenade_ready_ +LegsCount = 2 +step_params = stalker_step_manager +foot_bones = stalker_foot_bones +movement_speeds = stalker_movement_speeds +max_left_torso_angle = 45 ; ������������ ���� �������� ������ ��� �������� ���� +max_right_torso_angle = 30 ; ������������ ���� �������� ������� ��� �������� ���� +weapon_bone0 = bip01_r_finger1 +weapon_bone1 = bip01_l_finger1 +weapon_bone2 = bip01_r_finger11 +bone_head = bip01_head +bone_shoulder = bip01_spine2 +bone_spin = bip01_spine1 +bone_model = bip01 +crouch_type = 0 ; 0 - crouch a little, 1 - crouch full ; -1 - random crouch +disp_walk_stand = 3 ; 8 ; 6 +disp_walk_crouch = 2 ; 4 ; 3 +disp_run_stand = 5 ; 14 ; 12 ; 8 +disp_run_crouch = 4 ; 6 ; 4 +disp_stand_stand = 3 ; 4 +disp_stand_crouch = 2 ; 2 +disp_stand_stand_zoom = 1 ; 1.5 ; 1 +disp_stand_crouch_zoom = 1 ; 1.25 ; 1 +fire_queue_section = fire_queue_params +critical_wound_threshold = 0.4 +critical_wound_decrease_quant = 0.2 +body_parts_section_id = critical_wound_body_parts_section +critical_wound_weights = 100,50,10 +hit_power = 10 +hit_type = strike +power_fx_factor = 50.0 +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 = 10 +ph_crash_speed_max = 30 +ph_collision_damage_factor = 0.1 +ph_mass = 80 +ph_character_have_wounded_state = true ; ����� �� �������� ��������� ������� +; -------------------------------------------------------------------------------------------------------------------- +; -- �������� ��� ������ +; -------------------------------------------------------------------------------------------------------------------- +; c�������� +; random_death_animations = ragdoll_burst_front_0,ragdoll_burst_front_1,ragdoll_burst_back_0,ragdoll_burst_left_0,ragdoll_burst_right_0 ; norm_2_reg_doll_0,norm_2_reg_doll_1,norm_2_reg_doll_2,norm_2_reg_doll_3,norm_2_reg_doll_4,norm_2_reg_doll_5 +; �� ����� �� 0 �� 7 +; ������� �� ������������ - front/back/left/right +; � ������, ����� �������� ����� �� ���. +kill_enertion = ragdoll_inertion_front_0/ragdoll_inertion_front_3/ragdoll_inertion_front_2/ragdoll_inertion_front_1 +; ������ �� ���������� ������� +; kill_burst = ragdoll_burst_front_0,ragdoll_burst_front_1/ragdoll_burst_back_0/ragdoll_burst_left_0/ragdoll_burst_right_0 +; ������ �� �������� �� ��������� +kill_shortgun = ragdoll_shortgun_front_0,ragdoll_shortgun_front_1,ragdoll_shortgun_front_2,ragdoll_shortgun_front_3,ragdoll_shortgun_front_4,ragdoll_shortgun_front_5,ragdoll_shortgun_front_6,ragdoll_shortgun_front_7,ragdoll_shortgun_front_8/ragdoll_shortgun_back_0,ragdoll_shortgun_back_1,ragdoll_shortgun_back_2,ragdoll_shortgun_back_3,ragdoll_shortgun_back_4,ragdoll_shortgun_back_5,ragdoll_shortgun_back_6/ragdoll_shortgun_left_0,ragdoll_shortgun_left_1,ragdoll_shortgun_left_2/ragdoll_shortgun_right_0,ragdoll_shortgun_right_1 +; ������ �������� +kill_headshot = ragdoll_headshot_front_0,ragdoll_headshot_front_1,ragdoll_headshot_front_2,ragdoll_headshot_front_3,ragdoll_headshot_front_4,ragdoll_headshot_front_5,ragdoll_headshot_front_6,ragdoll_headshot_front_7,ragdoll_headshot_front_8,ragdoll_headshot_front_9,ragdoll_headshot_front_10/ragdoll_headshot_back_0,ragdoll_headshot_back_1,ragdoll_headshot_back_2,ragdoll_headshot_back_3,ragdoll_headshot_back_4,ragdoll_headshot_back_5/ragdoll_headshot_left_0,ragdoll_headshot_left_1,ragdoll_headshot_left_2,ragdoll_headshot_left_3,ragdoll_headshot_left_4,ragdoll_headshot_left_5,ragdoll_headshot_left_6,ragdoll_headshot_left_7/ragdoll_headshot_right_0,ragdoll_headshot_right_1,ragdoll_headshot_right_2,ragdoll_headshot_right_3,ragdoll_headshot_right_4,ragdoll_headshot_right_5,ragdoll_headshot_right_6 +; ������ �������� �� ��������� +kill_sniper_headshot = ragdoll_sniper_headshot_front_0,ragdoll_sniper_headshot_front_1,ragdoll_sniper_headshot_front_2/ragdoll_sniper_headshot_back_0/ragdoll_sniper_headshot_left_0/ragdoll_sniper_headshot_right_0 +; ������ �� ��������� � ���� +kill_sniper_body = ragdoll_sniper_body_front_0,ragdoll_sniper_body_front_1,ragdoll_sniper_body_front_2/ragdoll_sniper_body_back_0,ragdoll_sniper_body_back_1,ragdoll_sniper_body_back_2,ragdoll_sniper_body_back_3/ragdoll_sniper_body_left_0/ragdoll_sniper_body_right_0 +; ������ �� �������� ����� ������� +kill_grenade = ragdoll_grenade_front_0/ragdoll_grenade_back_0/ragdoll_grenade_left_0/ragdoll_grenade_right_0 +; front-norm_2_rag_doll_front_0,norm_2_rag_doll_front_1,norm_2_rag_doll_front_2/back-norm_2_rag_doll_back_0,norm_2_rag_doll_back_1,norm_2_rag_doll_back_2/right-norm_2_rag_doll_right_0/left-norm_2_rag_doll_left_0 + [stalker_foot_bones] front_left = bip01_l_foot front_right = bip01_r_foot @@ -300,152 +446,6 @@ free_stand_run_forward = 3.0 ; forward panic_stand_run_forward = 7.0 -[stalker]:common_ph_friction_params_on_npc_death -class = AI_STL_S ; Class identifier -can_select_items = on -ef_creature_type = 17 ; option for evaluation functions -$spawn = "stalkers\stalker" ; option for Level Editor -$npc = on ; option for Level Editor -visual = actors\stalker_hero\stalker_hero_1.ogf ; option for Level Editor -corpse_visual = dynamics\equipments\item_rukzak.ogf ; actors\hero\stalker_novice.ogf ; option for Level Editor -custom_data = misc\default_custom_data.ltx ; option for Level Editor -character_profile = default ; option for Level Editor -use_single_item_rule = off -$prefetch = 32 -cform = skeleton ; collision class -species = human -material = creatures\human -destroyed_vis_name = dynamics\Dead_Body\skelet_crash -script_binding = bind.stalker ; xrf change -GroupControlSection = spawn_group -SpaceRestrictionSection = space_restrictor,zone_mine_field -attachable_items = device_torch,attachable_item,hand_radio,hand_radio_r,bread, vodka, energy_drink, kolbasa, guitar_a, harmonica_a, wpn_binoc, detector_simple, pri_a15_wpn_svu, pri_a15_wpn_wincheaster1300, wpn_binoc1, pri_a15_wpn_ak74u, pri_a15_wpn_ak74, pri_a15_documents, af_quest_b14_twisted, detector_advanced, detector_elite, device_pda, anomaly_scaner -damage = stalker_damage -immunities_sect = stalker_immunities -condition_sect = stalker_condition -Health = 100 ; option for ALife Simulator -money = 5000 ; option for ALife Simulator -going_speed = 3 ; 2 ; option for ALife Simulator -current_level_going_speed = 3 ; option for ALife Simulator -search_speed = 0.5 ; option for ALife Simulator -going_item_detect_probability = 0.1 ; option for ALife Simulator -search_item_detect_probability = 0.9 ; option for ALife Simulator -max_item_mass = 10000000.0 ; option for ALife Simulator -inv_max_weight = 10000000.0 ; ���������� ��� ��������� -MaxHealthValue = 100 ; option for ALife Simulator, range [0..200] -smart_terrain_choose_interval = 00:15:00 -time_to_search_for_artefacts = 60000 ; in milliseconds -distance_to_search_for_artefacts = 30.0 ; in meters -terrain = 255,255,255,255,0,1 -; terrain = stalker_terrain -sound_threshold = 0.08 -self_sound_factor = 0.1 ; 1.0 -self_decrease_quant = 250 ; in milliseconds -self_decrease_factor = 0.95 ; fading factor -killer_clsids = Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE -sound_perceive_section = stalker_sound_perceive -vision_danger_section = stalker_vision_danger -vision_free_section = stalker_vision_free -eye_fov = 160 ; 110 ; 120 -eye_range = 100 -far_plane_factor = 1.0 ; ������ ��������� ������ -fog_density_factor = 0.05 ; ������ ��������� ������ -DynamicObjectsCount = 32 -DynamicSoundsCount = 32 -DynamicHitCount = 32 -ignore_monster_threshold = 0.0 ; 0.6 ; 0.8 -max_ignore_distance = 15.0 -panic_threshold = 0.0 -sound_death = fight\death\death_ -sound_anomaly_death = fight\death\anomaly_ -sound_hit = fight\hit\hit_ -sound_humming = states\idle\idle_ -sound_alarm = fight\enemy\enemy_ -sound_backup = fight\backup\backup_,fight\threat\threat_close_ -sound_detour = fight\detour\detour_,fight\fire\fire_,fight\threat\threat_close_ -sound_friendly_fire = fight\friendly_fire\friendly_fire_ -sound_panic_human = ; states\panic_human\panic_human_ -sound_panic_monster = ; states\panic_monster\panic_monster_ -sound_tolls = fight\tolls\tolls_ -sound_wounded = fight\friend_hitted\hit_friend_ -sound_grenade_alarm = fight\grenade\grenade_ -sound_friendly_grenade_alarm = fight\friendly_grenade\friendly_grenade_ -sound_need_backup = fight\cover_fire\cover_fire_ -sound_running_in_danger = states\breath\breath_1 -sound_walking_in_danger = states\breath\breath_2 -sound_kill_wounded = help\wounded\kill_wounded_ -sound_enemy_critically_wounded = fight\enemy_hit\enemy_hit_ -sound_enemy_killed_or_wounded = fight\enemy_down\enemy_down_ -sound_attack_no_allies = fight\fire\fire_,fight\threat\threat_distant_ -sound_attack_allies_single_enemy = fight\attack\attack_,fight\attack\attack_one_,fight\fire\fire_ -sound_attack_allies_several_enemies = fight\attack\attack_,fight\attack\attack_many_,fight\fire\fire_ -sound_search1_no_allies = fight\threat\threat_distant_ -sound_search1_with_allies = fight\searching_enemy\search_ -sound_enemy_lost_no_allies = -sound_enemy_lost_with_allies = fight\searching_enemy\enemy_lost_ -sound_throw_grenade = fight\grenade\grenade_ready_ -LegsCount = 2 -step_params = stalker_step_manager -foot_bones = stalker_foot_bones -movement_speeds = stalker_movement_speeds -max_left_torso_angle = 45 ; ������������ ���� �������� ������ ��� �������� ���� -max_right_torso_angle = 30 ; ������������ ���� �������� ������� ��� �������� ���� -weapon_bone0 = bip01_r_finger1 -weapon_bone1 = bip01_l_finger1 -weapon_bone2 = bip01_r_finger11 -bone_head = bip01_head -bone_shoulder = bip01_spine2 -bone_spin = bip01_spine1 -bone_model = bip01 -crouch_type = 0 ; 0 - crouch a little, 1 - crouch full ; -1 - random crouch -disp_walk_stand = 3 ; 8 ; 6 -disp_walk_crouch = 2 ; 4 ; 3 -disp_run_stand = 5 ; 14 ; 12 ; 8 -disp_run_crouch = 4 ; 6 ; 4 -disp_stand_stand = 3 ; 4 -disp_stand_crouch = 2 ; 2 -disp_stand_stand_zoom = 1 ; 1.5 ; 1 -disp_stand_crouch_zoom = 1 ; 1.25 ; 1 -fire_queue_section = fire_queue_params -critical_wound_threshold = 0.4 -critical_wound_decrease_quant = 0.2 -body_parts_section_id = critical_wound_body_parts_section -critical_wound_weights = 100,50,10 -hit_power = 10 -hit_type = strike -power_fx_factor = 50.0 -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 = 10 -ph_crash_speed_max = 30 -ph_collision_damage_factor = 0.1 -ph_mass = 80 -ph_character_have_wounded_state = true ; ����� �� �������� ��������� ������� -; -------------------------------------------------------------------------------------------------------------------- -; -- �������� ��� ������ -; -------------------------------------------------------------------------------------------------------------------- -; c�������� -; random_death_animations = ragdoll_burst_front_0,ragdoll_burst_front_1,ragdoll_burst_back_0,ragdoll_burst_left_0,ragdoll_burst_right_0 ; norm_2_reg_doll_0,norm_2_reg_doll_1,norm_2_reg_doll_2,norm_2_reg_doll_3,norm_2_reg_doll_4,norm_2_reg_doll_5 -; �� ����� �� 0 �� 7 -; ������� �� ������������ - front/back/left/right -; � ������, ����� �������� ����� �� ���. -kill_enertion = ragdoll_inertion_front_0/ragdoll_inertion_front_3/ragdoll_inertion_front_2/ragdoll_inertion_front_1 -; ������ �� ���������� ������� -; kill_burst = ragdoll_burst_front_0,ragdoll_burst_front_1/ragdoll_burst_back_0/ragdoll_burst_left_0/ragdoll_burst_right_0 -; ������ �� �������� �� ��������� -kill_shortgun = ragdoll_shortgun_front_0,ragdoll_shortgun_front_1,ragdoll_shortgun_front_2,ragdoll_shortgun_front_3,ragdoll_shortgun_front_4,ragdoll_shortgun_front_5,ragdoll_shortgun_front_6,ragdoll_shortgun_front_7,ragdoll_shortgun_front_8/ragdoll_shortgun_back_0,ragdoll_shortgun_back_1,ragdoll_shortgun_back_2,ragdoll_shortgun_back_3,ragdoll_shortgun_back_4,ragdoll_shortgun_back_5,ragdoll_shortgun_back_6/ragdoll_shortgun_left_0,ragdoll_shortgun_left_1,ragdoll_shortgun_left_2/ragdoll_shortgun_right_0,ragdoll_shortgun_right_1 -; ������ �������� -kill_headshot = ragdoll_headshot_front_0,ragdoll_headshot_front_1,ragdoll_headshot_front_2,ragdoll_headshot_front_3,ragdoll_headshot_front_4,ragdoll_headshot_front_5,ragdoll_headshot_front_6,ragdoll_headshot_front_7,ragdoll_headshot_front_8,ragdoll_headshot_front_9,ragdoll_headshot_front_10/ragdoll_headshot_back_0,ragdoll_headshot_back_1,ragdoll_headshot_back_2,ragdoll_headshot_back_3,ragdoll_headshot_back_4,ragdoll_headshot_back_5/ragdoll_headshot_left_0,ragdoll_headshot_left_1,ragdoll_headshot_left_2,ragdoll_headshot_left_3,ragdoll_headshot_left_4,ragdoll_headshot_left_5,ragdoll_headshot_left_6,ragdoll_headshot_left_7/ragdoll_headshot_right_0,ragdoll_headshot_right_1,ragdoll_headshot_right_2,ragdoll_headshot_right_3,ragdoll_headshot_right_4,ragdoll_headshot_right_5,ragdoll_headshot_right_6 -; ������ �������� �� ��������� -kill_sniper_headshot = ragdoll_sniper_headshot_front_0,ragdoll_sniper_headshot_front_1,ragdoll_sniper_headshot_front_2/ragdoll_sniper_headshot_back_0/ragdoll_sniper_headshot_left_0/ragdoll_sniper_headshot_right_0 -; ������ �� ��������� � ���� -kill_sniper_body = ragdoll_sniper_body_front_0,ragdoll_sniper_body_front_1,ragdoll_sniper_body_front_2/ragdoll_sniper_body_back_0,ragdoll_sniper_body_back_1,ragdoll_sniper_body_back_2,ragdoll_sniper_body_back_3/ragdoll_sniper_body_left_0/ragdoll_sniper_body_right_0 -; ������ �� �������� ����� ������� -kill_grenade = ragdoll_grenade_front_0/ragdoll_grenade_back_0/ragdoll_grenade_left_0/ragdoll_grenade_right_0 -; front-norm_2_rag_doll_front_0,norm_2_rag_doll_front_1,norm_2_rag_doll_front_2/back-norm_2_rag_doll_back_0,norm_2_rag_doll_back_1,norm_2_rag_doll_back_2/right-norm_2_rag_doll_right_0/left-norm_2_rag_doll_left_0 - [fire_queue_params] ; min < 15 < medium < 30 < max pstl_min_queue_size_far = 1 pstl_max_queue_size_far = 1 diff --git a/src/engine/configs/creatures/m_stalker_zombied.ltx b/src/engine/configs/creatures/m_stalker_zombied.ltx index 40e99bd1a..1cefaf64e 100644 --- a/src/engine/configs/creatures/m_stalker_zombied.ltx +++ b/src/engine/configs/creatures/m_stalker_zombied.ltx @@ -1,3 +1,62 @@ +[stalker_zombied]:stalker +$spawn = "stalkers\stalker_zombied" ; option for Level Editor +attachable_items = device_torch,attachable_item +condition_sect = stalker_zombied_condition +immunities_sect = stalker_zombied_immunities +vision_danger_section = stalker_zombied_vision_danger +vision_free_section = stalker_zombied_vision_free +eye_fov = 160 ; 170 +eye_range = 50 ; 70 +ignore_monster_threshold = 0.8 +max_ignore_distance = 10.0 +panic_threshold = 0 +sound_threshold = 0.5 +sound_death = fight\death\death_ +sound_anomaly_death = fight\death\death_ +sound_hit = fight\hit\hit_ +sound_humming = states\idle\idle_ +sound_backup = ; fight\attack\attack_ ; fight\backup\stalker\backup_ +sound_detour = ; fight\enemy\enemy_ ; fight\detour\stalker\detour_ +sound_search = ; fight\attack\attack_ ; fight\searching_enemy\stalker\search_ +sound_friendly_fire = ; fight\friendly_fire\stalker\friendly_fire_ +sound_panic_human = ; states\panic_human\stalker\panic_ +sound_panic_monster = ; states\panic_monster\stalker\panic_ +sound_tolls = ; fight\tolls\tolls_ +sound_grenade_alarm = ; fight\grenade\grenade_ +sound_friendly_grenade_alarm = ; fight\friendly_grenade\friendly_grenade_ +sound_need_backup = ; fight\attack\attack_ ; fight\cover_fire\cover_fire_ +sound_running_in_danger = ; states\breath\stalker\breath_1 +sound_walking_in_danger = ; states\breath\stalker\breath_2 +sound_kill_wounded = ; help\wounded\kill_wounded_ +sound_enemy_critically_wounded = ; fight\enemy_hit\enemy_hit_ +sound_enemy_killed_or_wounded = ; fight\enemy_down\enemy_down_ +sound_attack_no_allies = ; fight\fire\fire_,fight\threat\threat_distant_ +sound_attack_allies_single_enemy = ; fight\attack\attack_,fight\attack\attack_one_,fight\fire\fire_ +sound_attack_allies_several_enemies = ; fight\attack\attack_,fight\attack\attack_many_,fight\fire\fire_ +sound_search1_no_allies = ; fight\threat\threat_distant_ +sound_search1_with_allies = ; fight\searching_enemy\search_,fight\searching_enemy\enemy_lost_ +sound_throw_grenade = ; fight\grenade\grenade_ready_ +movement_speeds = stalker_zombied_movement_speeds +disp_walk_stand = 16 +disp_walk_crouch = 16 +disp_run_stand = 16 +disp_run_crouch = 16 +disp_stand_stand = 10 ; 16 +disp_stand_crouch = 5 ; 16 +disp_stand_stand_zoom = 1 +disp_stand_crouch_zoom = 1 +species = zombie +critical_wound_threshold = 1.1 +critical_wound_decrease_quant = 0. +body_parts_section_id = critical_wound_body_parts_section + +[stalker_fresh_zombied]:stalker_zombied +$spawn = "stalkers\stalker_fresh_zombied" ; option for Level Editor +movement_speeds = stalker_movement_speeds +critical_wound_threshold = 1.1 +critical_wound_decrease_quant = 0. +body_parts_section_id = critical_wound_body_parts_section + [stalker_zombied_vision_free] $scheme = $monster_vision min_view_distance = 0.4 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -93,62 +152,3 @@ free_stand_run_forward = 0.8 ; run ; forward panic_stand_run_forward = 7.0 - -[stalker_zombied]:stalker -$spawn = "stalkers\stalker_zombied" ; option for Level Editor -attachable_items = device_torch,attachable_item -condition_sect = stalker_zombied_condition -immunities_sect = stalker_zombied_immunities -vision_danger_section = stalker_zombied_vision_danger -vision_free_section = stalker_zombied_vision_free -eye_fov = 160 ; 170 -eye_range = 50 ; 70 -ignore_monster_threshold = 0.8 -max_ignore_distance = 10.0 -panic_threshold = 0 -sound_threshold = 0.5 -sound_death = fight\death\death_ -sound_anomaly_death = fight\death\death_ -sound_hit = fight\hit\hit_ -sound_humming = states\idle\idle_ -sound_backup = ; fight\attack\attack_ ; fight\backup\stalker\backup_ -sound_detour = ; fight\enemy\enemy_ ; fight\detour\stalker\detour_ -sound_search = ; fight\attack\attack_ ; fight\searching_enemy\stalker\search_ -sound_friendly_fire = ; fight\friendly_fire\stalker\friendly_fire_ -sound_panic_human = ; states\panic_human\stalker\panic_ -sound_panic_monster = ; states\panic_monster\stalker\panic_ -sound_tolls = ; fight\tolls\tolls_ -sound_grenade_alarm = ; fight\grenade\grenade_ -sound_friendly_grenade_alarm = ; fight\friendly_grenade\friendly_grenade_ -sound_need_backup = ; fight\attack\attack_ ; fight\cover_fire\cover_fire_ -sound_running_in_danger = ; states\breath\stalker\breath_1 -sound_walking_in_danger = ; states\breath\stalker\breath_2 -sound_kill_wounded = ; help\wounded\kill_wounded_ -sound_enemy_critically_wounded = ; fight\enemy_hit\enemy_hit_ -sound_enemy_killed_or_wounded = ; fight\enemy_down\enemy_down_ -sound_attack_no_allies = ; fight\fire\fire_,fight\threat\threat_distant_ -sound_attack_allies_single_enemy = ; fight\attack\attack_,fight\attack\attack_one_,fight\fire\fire_ -sound_attack_allies_several_enemies = ; fight\attack\attack_,fight\attack\attack_many_,fight\fire\fire_ -sound_search1_no_allies = ; fight\threat\threat_distant_ -sound_search1_with_allies = ; fight\searching_enemy\search_,fight\searching_enemy\enemy_lost_ -sound_throw_grenade = ; fight\grenade\grenade_ready_ -movement_speeds = stalker_zombied_movement_speeds -disp_walk_stand = 16 -disp_walk_crouch = 16 -disp_run_stand = 16 -disp_run_crouch = 16 -disp_stand_stand = 10 ; 16 -disp_stand_crouch = 5 ; 16 -disp_stand_stand_zoom = 1 -disp_stand_crouch_zoom = 1 -species = zombie -critical_wound_threshold = 1.1 -critical_wound_decrease_quant = 0. -body_parts_section_id = critical_wound_body_parts_section - -[stalker_fresh_zombied]:stalker_zombied -$spawn = "stalkers\stalker_fresh_zombied" ; option for Level Editor -movement_speeds = stalker_movement_speeds -critical_wound_threshold = 1.1 -critical_wound_decrease_quant = 0. -body_parts_section_id = critical_wound_body_parts_section diff --git a/src/engine/configs/creatures/m_tushkano.ltx b/src/engine/configs/creatures/m_tushkano.ltx index 5578ecd23..574633f1d 100644 --- a/src/engine/configs/creatures/m_tushkano.ltx +++ b/src/engine/configs/creatures/m_tushkano.ltx @@ -169,6 +169,13 @@ step_params = m_tushkano_step_params vision_free_section = tushkano_vision_free vision_danger_section = tushkano_vision_danger +[tushkano_normal]:m_tushkano_e +$spawn = "monsters\tushkanos\tushkano_normal" +rank = 1 +spec_rank = normal +community = tushkano +panic_threshold = 0.05 + [tushkano_vision_free] $scheme = $monster_vision min_view_distance = 0.6 ; �����������, ������� �������� �� eye_range, � ����������� �� ���� @@ -237,10 +244,3 @@ stand_attack_2 = 0.25, 0.55, 35, 0.0, 1.0, 0.0, -1.2, 1.2, -1.6, 1.6, 1.0 ; --------------------------------------------------------------------------- stand_walk_fwd_0 = 1, 0.2, 0.5, 0.7, 1, stand_run_0 = 1, 0.25, 1, 0.25, 1, - -[tushkano_normal]:m_tushkano_e -$spawn = "monsters\tushkanos\tushkano_normal" -rank = 1 -spec_rank = normal -community = tushkano -panic_threshold = 0.05 diff --git a/src/engine/configs/creatures/monsters.ltx b/src/engine/configs/creatures/monsters.ltx index 99e15a218..3a69eb31d 100644 --- a/src/engine/configs/creatures/monsters.ltx +++ b/src/engine/configs/creatures/monsters.ltx @@ -12,9 +12,3 @@ #include "m_phantom.ltx" #include "m_chimera.ltx" #include "m_burer.ltx" - -[monsters_common] -corpse_remove_game_time_interval = 65535 ; in hours -stay_after_death_time_interval = 65535 ; in hours -script_move_min_offset_from_leader = 3 -script_move_max_offset_from_leader = 8