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

436 lines
19 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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