Divergent/mods/Soundscape Overhaul/gamedata/configs/creatures/m_lurker.ltx

436 lines
19 KiB
Plaintext
Raw Normal View History

2024-03-17 20:18:03 -04:00
;-- Relies on Chimera profile/class
;-- parameters that have comments with (;-->) tag are adjusted
[m_lurker_e]:monster_base
GroupControlSection = spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald,zone_witches_galantine,zone_burning_fuzz1,zone_mincer,zone_gravi_zone
$spawn = "monsters\lurker\lurker_default" ;"monsters\chimera\chimera_default" ; option for Level Editor
$npc = on ; option for Level Editor
;$prefetch = 16
visual = monsters\lurker\lurker
corpse_visual = monsters\lurker\lurker
icon = ui_npc_monster_lurker ; @@@@@NEEDS REFACTORING@@@@@
terrain = lurker_terrain
;------------------------------------------------------------------------
; Influences
;------------------------------------------------------------------------
fire_max_distance = 0
fire_max_power = 5
fire_linear_factor = 0
fire_quadratic_factor = 0.025
psy_max_distance = 0
psy_max_power = 5
psy_linear_factor = 0.05
psy_quadratic_factor = 0
radiation_max_distance = 0
radiation_max_power = 0.01
radiation_linear_factor = 1
radiation_quadratic_factor = 1
radiation_pp_effector_name = postprocess_rad
radiation_pp_highest_at = 0.04
;spawn_phantom = m_phantom_chimera
can_spawn_phantom = false
;---OFFLINE ALIFE------------------------------------------------------------------
Scheduled = on ; option for ALife Simulator
Human = off ; option for ALife Simulator
Health = 500 ; option for ALife Simulator ;-->
MinSpeed = 1.0 ; option for ALife Simulator
MaxSpeed = 3.0 ;5.0 ; option for ALife Simulator ;-->
going_speed = 3.0 ;4.5 ; option for ALife Simulator
current_level_going_speed = 3.0 ;2 ; option for ALife Simulator
search_speed = 1.5 ; option for ALife Simulator
MaxHealthValue = 200 ; range [0..200]
smart_terrain_choose_interval = 00:15:00
;-----------------------------------------------------------------------------------
script_binding = bind_monster.bind
ef_creature_type = 20 ; option for evaluation functions
ef_weapon_type = 2
ef_detector_type = 1
panic_threshold = 0.08 ;0.0 ;-->
cform = skeleton ; collision class
class = SM_CHIMS ; AI class
kind = SM_LURKER ; Fake class
bone_torso = spine_1 ; bone name
bone_head = head_boss ; bone name
bone_fire = head_boss ; bone name
weapon_usage = 0 ; boolean
;---------------------------------------------------------------------
; Physics
;---------------------------------------------------------------------
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.01
ph_mass = 220;170
destroyed_vis_name = dynamics\Dead_Body\skelet_crash_monster
;destroyed_vis_name = dynamics\Dead_Body\skelet_crash
ph_skeleton_airr_lin_factor = 2.0 ;550.0 (изменно из-за того, что убрано домножение коэффициент 0.002 из кода)
ph_skeleton_airr_ang_factor = 0.0 ;0.0 (изменно из-за того, что убрано домножение на коэффициент 0.3 из кода (0.0*0.3=0.0))
ph_skeleton_hinger_factor1 = 1.0 ;1.0 (изменно из-за того, что убрано домножение на коэффициент 5.0 из кода)
ph_skeleton_ddelay = 15.0 ;Время изменения значения трения в суставе с момента создания шелла, сек
ph_skel_fatal_impulse_factor = 12.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, 3.5, 1.5, 1, 1
Velocity_RunFwdNormal = 11.5, 3.5, 2.0, 0.2, 1
Velocity_RunFwdDamaged = 9.0, 3.5, 2.0, 0.2, 1
Velocity_WalkFwdDamaged = 2.2, 3.0, 2.0, 0.5, 2.0
Velocity_WalkFwdNormal = 2.5, 3.2, 1.2, 0.02, 3.0 ;-->
Velocity_Drag = 2.0, 3.0, 3.0, 1, 1
Velocity_Steal = 2.0, 3.0, 2.0, 1, 1
Velocity_Rotate = 8.0, 9.0, 1.0, 0.3 1
Velocity_JumpGround = 16.0, 3.5, 2.0, 0.4, 1
Velocity_JumpStart = 16.0, 3.5, 2.0, 0.4, 1
Accel_Generic = 1.5
Accel_Calm = 3.5
Accel_Aggressive = 9.5
;------------------------------------------------------------------------
; Attack specific
;------------------------------------------------------------------------
prediction_factor = 0.1
attack_radius = 1 ;12 ; run around radius
prepare_jump_timeout = 0 ; ms
attack_jump_timeout = 0 ; ms
stealth_timeout = 0 ; ms
num_attack_jumps = 1
num_prepare_jumps = 0
;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------
MinAttackDist = 1.8;1.2 ;0.5
MaxAttackDist = 4.8;2.7 ;3.8
as_min_dist = 1.2
as_step = 0.3
hit_type = wound ; type of attack
;--------------------------------------------------------------------------
; Jump parameters
;--------------------------------------------------------------------------
jump_delay = 0
jump_factor = 2
jump_ground_trace_range = 1.5
jump_hit_trace_range = 2
jump_build_line_distance = 8.0
jump_min_distance = 0.1
jump_max_distance = 12.0 ; 20.0 ;-->
jump_max_angle = 0.55
jump_max_height = 9.0
jump_auto_aim_factor = 0
;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------
satiety_v = 0.0001 ;0.01 ;скорость уменьшения сытости со временем
radiation_v = 0.00001 ;0.004 ;скорость уменьшения радиации
satiety_power_v = 0.0001 ;0.01 ;увеличение силы при уменьшении сытости
satiety_health_v = 0.0001 ;0.03 ;увеличение здоровья при уменьшении сытости
satiety_critical = -1.0 ;0.25 ;критическое значения сытости (в процентах от 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 ;процент хита, уходящий на отнимание силы
psy_health_v = 0.1 ;скорость восстановления psy-здоровья
protections_sect = lurker_protections
immunities_sect = lurker_immunities
;открытые раны
bleeding_v = 0.04 ;потеря крови при номинальной ране в секунду
wound_incarnation_v = 0.05 ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
min_wound_size = 0.01
;Health from which to play injured animation
DamagedThreshold = 0.2
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
eat_freq = 5.0 ; частота укусов в сек
eat_slice = 0.001 ; увеличение сытости при 1 укусе
eat_slice_weight = 10.0 ; уменьшение еды у трупа
satiety_threshold = 0.5 ; below this value monster fill hunger
;-------------------------------------------------------------------------
; Morale
;-------------------------------------------------------------------------
Morale_Hit_Quant = 0.2
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.4
;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------
sound_idle = monsters\lurker\idle_
sound_eat = monsters\biting\def_ ; eat_
sound_aggressive = monsters\lurker\breath_
sound_attack_hit = monsters\lurker\attack_hit_
sound_take_damage = monsters\lurker\hit_
sound_die = monsters\lurker\die_
sound_bkgnd = monsters\lurker\idle_
;sound_threaten = monsters\biting\def_ ; threaten_
sound_threaten = monsters\lurker\attack_
sound_landing = monsters\biting\def_
sound_steal = monsters\biting\def_
sound_panic = monsters\lurker\idle_
sound_growling = monsters\lurker\idle_
sound_die_in_anomaly = monsters\lurker\die_
killer_clsids = Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE
idle_sound_delay = 25000 ;5000
eat_sound_delay = 3000
attack_sound_delay = 1000
sound_distant_idle = ambient\soundscape\mutants\lurker\distant_
distant_idle_sound_delay = 50000
distant_idle_sound_range = 50.0
max_hear_dist = 70
SoundThreshold = 0.1 ; range [0..1]
;--------------------------------------------------------------------------
; Lurker Damage
;--------------------------------------------------------------------------
;bone_name = <hit_scale>,-1,<wound_scale>
;<hit_scale> - coefficient. change of hit (reduction of health)
;<wound_scale> - coefficient. changes in the size of an open wound
default = 0.75, -1, 0.6
hip = 1, -1, 0.25
spine = 0.9, -1, 0.1 ;-->
spine_1 = 0.9, -1, 0.1 ;-->
neck_r = 0.95, -1, 2.1
head_boss = 3.0, -1, 0.9
;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------
material = creatures\medium
DynamicObjectsCount = 32
squad_attack_algorithm = 1
attack_effector = m_lurker_attack_effector
critical_wound_threshold = -1
critical_wound_decrease_quant = 0.
attack_params = m_lurker_attack_params
step_params = m_lurker_step_params
LegsCount = 4
damage = m_chimera_damage
;species of monster
species = chimera
community = lurker
DayTime_Begin = 6 ;--> ; начала дня для монстра
DayTime_End = 21 ;--> ; конец дня для монстра
Min_Satiety = 0.00055 ; мин. норма сытости (меньше - уже голодный)
Max_Satiety = 0.9 ; макс. норма сытости (больше - очень сытый)
distance_to_corpse = 1.2 ;4.5 ; дист. до трупа, при которой он переходит в состояние еды
;-------------------------------------------------------------------------
; Vision
;-------------------------------------------------------------------------
eye_fov = 110 ;140
eye_range = 110 ;50
vision_free_section = lurker_vision_free
vision_danger_section = lurker_vision_danger
; ЗНАЧЕНИЯ visibility_threshold ДОЛЖНЫ БЫТЬ РАВНЫ для денжера и фри,
; иначе возникают артефакты с потерей видимости при переходе от денжера во фри.
[lurker_vision_free]
min_view_distance = 0.8 ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold = 100.0 ; значение, при достижении суммой которого объект считается видимым
always_visible_distance = 0.6
time_quant = 0.001
decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor = 0.5
luminocity_factor = 2.5 ; фактор освещения (только для Актёра)
transparency_threshold = 0.25
[lurker_vision_danger]
min_view_distance = 0.8 ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance = 1.6 ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold = 100.0 ; значение, при достижении суммой которого объект считается видимым
always_visible_distance = 0.6
time_quant = 0.001
decrease_value = 0.01 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor = 0.5
luminocity_factor = 2.5 ; фактор освещения (только для Актёра)
transparency_threshold = 0.25
[lurker_protections]
hit_fraction_monster = 0.75
skin_armor = 0.1
;---------------------------------------------------------------------------------------------------------------------------------------------
; anim | time[0..1] | hit_power | impulse | impulse_dir (x,y,z) | Field of hit_test (left,right, bottom, top ) | Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
[m_lurker_attack_params] ;-->
jump_attack_1 = 0.3, 0.65, 60, 0.0, 1.0, 0.0, -1.6, 1.6, -1.6, 1.6, 2.5
[m_lurker_attack_effector]
duality_h = 0.1; 0.01
duality_v = 0.01; 0.01
blur = 0.01
gray = 0.5
noise_intensity = 0.1;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.0,0.0
time = 3.00
time_attack = 0.05 ; fade in
time_release = 0.50 ; fade out
; camera effects
ce_time = 0.30 ;time
ce_amplitude = 12.0
ce_period_number = 2.0
ce_power = 1.0 ;0.7 ; power
[m_lurker_step_params]
;---------------------------------------------------------------------------
; anim | Cycles | time1 | power1 | time2 | power2 |
;---------------------------------------------------------------------------
stand_walk_0 = 1, 0.01, 1, 0.25, 0.7,
stand_run_fwd_0 = 1, 0.01, 1, 0.25, 0.6,
;---------------------------------------------------------------------------
; IMMUNITIES
;---------------------------------------------------------------------------
[lurker_immunities] ;--> ;only control health from here, 0.1 means that the mutant will take %10 damage from the source? those are snork's values
burn_immunity = 1.0 ;0.66 ; = 0.35 ;коэффициенты иммунитета
strike_immunity = 1.0 ;0.0
shock_immunity = 2.0 ;0.12 ; = 0.1
wound_immunity = 0.45 ;0.35 ;0.02
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.85 ; = 3.0 ; = 0.45
explosion_immunity = 0.9 ;0.8 ;0.1
fire_wound_immunity = 0.6 ;0.55 ;0.5 ;0.1
;=================================================================================
; Terrain
;=================================================================================
[lurker_terrain]
;255,255,255,255,30,40
255,000,255,255
; 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,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
;selector_cover = 20.0, -1000.0, 30.0, 0.0, 0.0, 100000.0, 100000.0, 1000.0,
;selector_hear_sound = 20.0, 1.0, 1000.0, 0.0, 0.0, 1000.0, 10000.0,
;
;selector_getaway = 20.0, 20.0, 1000.0, 0.0, 10000.0, 1000.0, 10000.0,
;selector_approach = 20.0, 1.0, 1000.0, 0.0, 0.0, 1000.0, 10000.0,
; fSearchRange,fOptEnemyDistance,fOptEnemyDistanceWeight,fMinEnemyDistance,fMinEnemyDistanceWeight,fMaxEnemyDistance,fMaxEnemyDistanceWeight
;selector_walk_around = 20.0, 6.0, 1000.0, 4.0, 5000.0, 8.0, 5000.0,
;--=======================================================================
; Variants
;--=======================================================================
;---------------
; Blue
;---------------
[lurker_1_weak]:m_lurker_e
visual = monsters\lurker\lurker
corpse_visual = monsters\lurker\lurker
MaxHealthValue = 0.5 ; range [0..200]
[lurker_1_normal]:m_lurker_e
visual = monsters\lurker\lurker
corpse_visual = monsters\lurker\lurker
MaxHealthValue = 0.75 ; range [0..200]
[lurker_1_strong]:m_lurker_e
visual = monsters\lurker\lurker
corpse_visual = monsters\lurker\lurker
MaxHealthValue = 1.0 ; range [0..200]
;---------------
; Brown
;---------------
[lurker_2_weak]:m_lurker_e
visual = monsters\lurker\lurker2
corpse_visual = monsters\lurker\lurker2
MaxHealthValue = 0.5 ; range [0..200]
[lurker_2_normal]:m_lurker_e
visual = monsters\lurker\lurker2
corpse_visual = monsters\lurker\lurker2
MaxHealthValue = 0.75 ; range [0..200]
[lurker_2_strong]:m_lurker_e
visual = monsters\lurker\lurker2
corpse_visual = monsters\lurker\lurker2
MaxHealthValue = 1.0 ; range [0..200]
;---------------
; Black
;---------------
[lurker_3_weak]:m_lurker_e
visual = monsters\lurker\lurker3
corpse_visual = monsters\lurker\lurker3
MaxHealthValue = 0.5 ; range [0..200]
[lurker_3_normal]:m_lurker_e
visual = monsters\lurker\lurker3
corpse_visual = monsters\lurker\lurker3
MaxHealthValue = 0.75 ; range [0..200]
[lurker_3_strong]:m_lurker_e
visual = monsters\lurker\lurker3
corpse_visual = monsters\lurker\lurker3
MaxHealthValue = 1.0 ; range [0..200]