e4s-sdk/gamedata/configs/creatures/m_poltergeist.ltx
2026-06-17 23:06:51 +03:00

559 lines
19 KiB
TeX
Raw Blame History

[m_poltergeist_e]:monster_base
GroupControlSection = spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald,zone_radioactive
$spawn = "monsters\old\poltergeist" ; 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 = 250 ; option for ALife Simulator
MinSpeed = 1.0 ; option for ALife Simulator
MaxSpeed = 1.5 ; option for ALife Simulator
going_speed = 4.0 ; option for ALife Simulator
current_level_going_speed = 4;2 ; option for ALife Simulator
search_speed = .5 ; option for ALife Simulator
visual = monsters\poltergeist\poltergeist
corpse_visual = monsters\poltergeist\poltergeist_dead
icon = ui_npc_monster_poltergeist
MaxHealthValue = 150 ; range [0..200]
DynamicObjectsCount = 32
smart_terrain_choose_interval = 00:15:00
cform = skeleton ; collision class
class = SM_POLTR ; AI class
ef_creature_type = 5 ;10 ; option for evaluation functions
ef_weapon_type = 3
ef_detector_type = 1
panic_threshold = 0.1
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
type = flamer
;------------------------------------------------------------------------
; Influences
;------------------------------------------------------------------------
fire_max_distance = 0
fire_max_power = 0.1
fire_linear_factor = 1
fire_quadratic_factor = 1
pp_effector_name = postprocess_thermal
pp_highest_at = 0.02
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.02
radiation_linear_factor = 1
radiation_quadratic_factor = 1
;---------------------------------------------------------------------
; Physics
;---------------------------------------------------------------------
ph_box0_center = 0.0, 0.2, 0.0 ;0.0, 0.9, 0.0
ph_box0_size = 0.50, 0.4, 0.50
ph_box1_center = 0.0, 0.2, 0.0
ph_box1_size = 0.50, 0.4, 0.50
ph_crash_speed_min = 10
ph_crash_speed_max = 30
ph_collision_damage_factor = 0.1
ph_mass = 80 ; also it's the food
destroyed_vis_name = dynamics\Dead_Body\skelet_crash
;---------------------------------------------------------------------
ph_skeleton_airr_lin_factor = 2.0 ;550.0 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.002 <20><> <20><><EFBFBD><EFBFBD>)
ph_skeleton_airr_ang_factor = 0.0 ;0.0 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.3 <20><> <20><><EFBFBD><EFBFBD> (0.0*0.3=0.0))
ph_skeleton_hinger_factor1 = 1.0 ;1.0 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5.0 <20><> <20><><EFBFBD><EFBFBD>)
ph_skeleton_ddelay = 15.0 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>
ph_skel_fatal_impulse_factor = 6.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, 5.0, 5.0, 0.2, 0.5
Velocity_WalkFwdNormal = 1.7, 2.0, 2.0, 0.2, 2.0
Velocity_WalkFwdDamaged = 1.5, 3.0, 3.0, 0.8, 2.0
Velocity_RunFwdNormal = 4.0, 3.0, 3.0, 0.4, 1.0
Velocity_RunFwdDamaged = 2.5, 3.2, 3.2, 0.4, 1
Velocity_Drag = 0.6, 3.0, 3.0, 1, 1
Velocity_Steal = 1.5, 3.0, 3.0, 1, 1
; Speed factors while invisible
Velocity_Invisible_Linear = 5.0
Velocity_Invisible_Angular = 3.5
; acceleration
Accel_Generic = 1.5
Accel_Calm = 2.5
Accel_Aggressive = 3.0
Height_Change_Velocity = 0.5
Height_Change_Min_Time = 3000
Height_Change_Max_Time = 10000
Height_Min = 0.4
Height_Max = 2.0
;--------------------------------------------------------------------------
; Attack parameters
;--------------------------------------------------------------------------
;attack parameters
MinAttackDist = 0.5 ;2.1
MaxAttackDist = 2.0
as_min_dist = 0.1
as_step = 0.3
;-------------------------------------------------------------------------
; Entity Conditions
;-------------------------------------------------------------------------
DayTime_Begin = 0
DayTime_End = 21
Min_Satiety = 0.7
Max_Satiety = 0.95
distance_to_corpse = 1.8
terrain = poltergeist_terrain
protections_sect = poltergeist_protections
hit_type = strike
;entity condition
satiety_v = 0.0001 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
radiation_v = 0.00001 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
satiety_power_v = 0.005 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
satiety_health_v = 0.001 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
satiety_critical = -1.0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 0..1) <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
radiation_health_v = 0.0001 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
morale_v = 0.1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
health_hit_part = 1.0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
power_hit_part = 1.0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
psy_health_v = 0.1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> psy-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
immunities_sect = poltergeist_immunities
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
bleeding_v = 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
wound_incarnation_v = 0.3 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
min_wound_size = 0.01
sleep_health = 1.0
sleep_power = 1.0
sleep_satiety = 1.0
sleep_radiation = 1.0
sleep_psy_health = 1.0
eat_freq = 5.0
eat_slice = 0.01
eat_slice_weight = 10.0
satiety_threshold = 0.5 ; below this value monster fill hunger
;---------------------------------------------------------
; Sounds and sound parameters
;---------------------------------------------------------
sound_idle = monsters\biting\def_
sound_eat = monsters\biting\def_
sound_aggressive = monsters\biting\def_
sound_attack_hit = monsters\biting\def_
sound_take_damage = monsters\biting\def_
sound_die = monsters\biting\def_
sound_threaten = monsters\biting\def_
sound_landing = monsters\biting\def_
sound_steal = monsters\biting\def_
sound_panic = monsters\biting\def_
sound_growling = monsters\biting\def_
sound_die_in_anomaly = monsters\biting\def_
killer_clsids = Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE
idle_sound_delay = 0
eat_sound_delay = 0
attack_sound_delay = 0
sound_distant_idle = monsters\biting\def_
distant_idle_sound_delay = 80000
distant_idle_sound_range = 100.0
SoundThreshold = 0.06 ; range [0..1]
max_hear_dist = 60
;-------------------------------------------------------------------------
; Morale
;-------------------------------------------------------------------------
Morale_Hit_Quant = 0.01
Morale_Attack_Success_Quant = 0.3
Morale_Take_Heart_Speed = 0.1
Morale_Despondent_Speed = 0.1
Morale_Stable_Speed = 0.3
Morale_Despondent_Threashold = 0.5
;-------------------------------------------------------------------------
; Other Stuff (refactoring needed)
;-------------------------------------------------------------------------
DamagedThreshold = 0.4
material = creatures\large ;objects\bullet
squad_attack_algorithm = 1
attack_effector = m_poltergeist_attack_effector
attack_params = m_poltergeist_attack_params
step_params = m_poltergeist_step_params
anger_hunger_threshold = 0.1
anger_loud_threshold = 0.7
LegsCount = 2
damage = m_poltergeist_damage
;---------------------------
Invisible_Energy_Restore_Velocity = 0.1
Invisible_Energy_Decline_Velocity = 0.0
Invisible_Energy_Critical_Value = 0.01
Invisible_Energy_Activate_Value = 0.99
Invisible_Energy_Aggressive_Restore_Velocity = 0.1
Particles_Damage = monsters\polter_damage
Particles_Death = monsters\polter_death_00
Particles_Idle = monsters\polter_idle_00
Particles_Hidden = monsters\polter_linza_00
;-- Delays -------------------
Delay_Flame_Min = 30000
Delay_Flame_Normal = 30001
Delay_Flame_Aggressive = 30001
Delay_Tele_Min = 0 ;100
Delay_Tele_Normal = 100 ;300
Delay_Tele_Aggressive = 10 ;200
Delay_Scare_Min = 30000
Delay_Scare_Normal = 30001
Delay_Scare_Aggressive = 30001
;---------------------------
;species of monster
species = poltergeist
rank = 11
spec_rank = normal
community = poltergeist
critical_wound_threshold = -1
critical_wound_decrease_quant = 0.
;-------------------------------------------------------------------------
; Vision
;-------------------------------------------------------------------------
eye_fov = 100 ;120
eye_range = 40 ;60
DynamicObjectsCount = 32
vision_free_section = poltergeist_vision_free
vision_danger_section = poltergeist_vision_danger
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> visibility_threshold <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>,
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>.
[poltergeist_vision_free]
min_view_distance = 0.8 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> eye_range, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
max_view_distance = 1.0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> eye_range, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
visibility_threshold = 100.0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
always_visible_distance = 0.5
time_quant = 0.001
decrease_value = 0.01 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
velocity_factor = 0.5
luminocity_factor = 0.5 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
transparency_threshold = 0.25
[poltergeist_vision_danger]
min_view_distance = 0.8 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> eye_range, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
max_view_distance = 1.0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> eye_range, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
visibility_threshold = 100.0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
always_visible_distance = 0.5
time_quant = 0.001
decrease_value = 0.01 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
velocity_factor = 0.5
luminocity_factor = 0.5 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
transparency_threshold = 0.25
[poltergeist_protections]
skin_armor = 0.1
hit_fraction_monster = 0.4
[m_Poltergeist_damage]
;bone_name = <hit_scale>,-1,<wound_scale>
;<hit_scale> - <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
;<wound_scale> - <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
default = 1.0, -1, 0.1
bip01_pelvis = 1.0, -1, 0.2
bip01_spine = 1.0, -1, 0.2
bip01_spine1 = 1.0, -1, 0.2
bip01_neck = 1.0, -1, 0.5
bip01_head = 2.0, -1, 0.3
[m_poltergeist_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 hand Strike
stand_attack_0 = 0.30, 0.20, 50, 0.0, 1.0, 1.0, -1.6, 1.6, -1.6, 1.6, 3.5
;Left hand Strike2
stand_attack_1 = 0.30, 0.15, 50, 0.0, 1.0, 1.0, -1.6, 1.6, -1.6, 1.6, 3.5
[m_poltergeist_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 = -15.0
ce_period_number = 1.5 ;2.0
ce_power = 1.5 ;0.7 ; power
[m_poltergeist_step_params] left right right left
;------------------------------------------------------------------------------------------------------------------
; anim cycles | time1 | power1 | time2 | power2 | time3 | power3 | time4 | power4 |
;-----------------------------------------------------------------------------------------------------------------
stand_walk_fwd_0 = 1, 0.1, 1, 0.34, 1, 0.6, 1, 0.84, 1
stand_walk_dmg_0 = 1, 0.2, 1, 0.25, 1, 0.5, 1, 0.7, 1
stand_run_fwd_0 = 1, 0.1, 1, 0.3, 1, 0.5, 1, 0.55, 1
stand_run_dmg_0 = 1, 0.2, 1, 0.25, 1, 0.7, 1, 0.75, 1
;===========================================================================
; TERRAIN
;===========================================================================
[poltergeist_terrain]
255,000,255,255
;===========================================================================
; IMMUNITIES
;===========================================================================
[poltergeist_immunities]
burn_immunity = 0.3 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
strike_immunity = 0.7
shock_immunity = 0.5
wound_immunity = 0.3
radiation_immunity = 0.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 1.0
;===========================================================================
; TELE
;===========================================================================
[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]
burn_immunity = 0.5 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
strike_immunity = 0.5
shock_immunity = 0.0
wound_immunity = 0.25
radiation_immunity = 0.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 0.1
fire_wound_immunity = 1.0
;===========================================================================
; FLAMER
;===========================================================================
[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]
burn_immunity = 0.0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
strike_immunity = 0.5
shock_immunity = 0.5
wound_immunity = 0.2
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 1.0
explosion_immunity = 0.1
fire_wound_immunity = 1.0
[m_poltergeist_scan_effector]
duality_h = 0.003
duality_v = 0.002
blur = 1.5
gray = 0.3
noise_intensity = 0.0
noise_grain = 2
noise_fps = 8
color_base = 0.55,0.5,0.5;0.637,0.442,0.456
color_gray = 0.333,0.333,0.333
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