Added, Updated and Removed Mods

Added:
- HUD Offsets Editor
- NPC Wounded Redone

Updated:
- Stealth Overhaul
- Redone Pripyat + Jupiter
- Redone Limansk and Hospital
- Outfit Animations
- Modded Executables

Removed:
- Arrival
This commit is contained in:
2024-04-06 19:17:40 -04:00
parent 6f19f2c70f
commit 3098b9f051
1720 changed files with 4928 additions and 113776 deletions
@@ -1,263 +0,0 @@
;R.P.A.mod
[m_bibliotekar_e]:fracture_weak
GroupControlSection = spawn_group
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald,zone_witches_galantine,zone_burning_fuzz1,zone_mincer,zone_gravi_zone,zone_smallrain
$spawn = "monsters\fracture" ; 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 = 2.0 ; option for ALife Simulator
MaxSpeed = 9.0 ; option for ALife Simulator
going_speed = 8.5 ; option for ALife Simulator
search_speed = 2.0 ; option for ALife Simulator
visual = monsters\bibliotekar\izlom
corpse_visual = monsters\bibliotekar\izlom
icon = ui_npc_monster_fracture
MaxHealthValue = 250 ; range [0..200]
DynamicObjectsCount = 32
smart_terrain_choose_interval = 00:15:00
satiety_threshold = 0.5
jump_max_height = 1.0
script_binding = bind_monster.bind
critical_wound_threshold = -1
critical_wound_decrease_quant = 0.
;---EVALUATION FUNCTIONS----------------------------------------------
ef_creature_type = 21 ; option for evaluation functions
ef_weapon_type = 4
ef_detector_type = 1
panic_threshold = 0.1
cform = skeleton ; collision class
class = SM_IZLOM ; AI class
monster_section = m_bibliotekar_e
bone_torso = bip01_spine1 ; bone name
bone_head = bip01_head ; bone name
bone_fire = bip01_head ; bone name
weapon_usage = 0 ; boolean
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 = 170.
destroyed_vis_name = dynamics\Dead_Body\skelet_crash
Spawn_Inventory_Item_Section = ;mutant_fracture_hand
Spawn_Inventory_Item_Probability = 0.0
;---------------------------------------------------------------------
ph_skeleton_airr_lin_factor = -0.40
ph_skeleton_airr_ang_factor = -0.20
ph_skeleton_hinger_factor1 = 5.0 ;1.0
ph_skeleton_ddelay = 5.0
ph_skel_fatal_impulse_factor = 3.0
ph_after_death_velocity_factor= 0.75
ph_skel_shot_up_factor = 0.25
;---------------------------------------------------------------------
SoundThreshold = 0.06 ; range [0..1]
eye_fov = 100;
eye_range = 100 ;30
max_hear_dist = 40
hit_power = 50.0;
ImpulseMin = 500.0
ImpulseMax = 550.0
; speed factors linear | angular_real | angular_path | min | max
Velocity_Stand = 0, 1.4, 1.4, 1, 1
Velocity_WalkFwdNormal = 0.9, 2.5, 2.5, 0.02, 2.0
Velocity_RunFwdNormal = 3.0, 3.5, 3.5, 0.4, 1
Velocity_WalkFwdDamaged = 1.0, 3.0, 3.0, 0.2, 2.0
Velocity_RunFwdDamaged = 5.0, 3.0, 3.0, 0.2, 1
Velocity_Drag = 1.0, 3.0, 3.0, 1, 1
Velocity_Steal = 1.5, 3.0, 3.0, 1, 1
; acceleration
Accel_Generic = 1.5
Accel_Calm = 3.0
Accel_Aggressive = 9.5
;attack parameters
MinAttackDist = 1.8 ;0.5
MaxAttackDist = 2.4 ;3.8
as_min_dist = 0.5
as_step = 0.5
DayTime_Begin = 4 ; ýð¢ðûð ôý  ôû  üþý¸ª¨ð
DayTime_End = 23 ; úþýõ¡ ôý  ôû  üþý¸ª¨ð
Min_Satiety = 0.4 ; üøý. ýþ¨üð ¸vªþ¸ªø (üõý¹°õ - ºöõ óþûþôývù)
Max_Satiety = 1.0 ; üðú¸. ýþ¨üð ¸vªþ¸ªø (ñþû¹°õ - þ¢õý¹ ¸vªvù)
distance_to_corpse = 1.2 ; ôø¸ª. ôþ ª¨ºÿð, ÿ¨ø úþªþ¨þù þý ÿõ¨õ¿þôøª ò ¸þ¸ªþ ýøõ õôv
hit_type = wound
; entity condition
satiety_v = 0.00001 ;0.01 ;ñêîðîñòü óìåíüøåíèÿ ñûòîñòè ñî âðåìåíåì
radiation_v = 0.00001 ;0.004 ;ñêîðîñòü óìåíüøåíèÿ ðàäèàöèè
satiety_power_v = 0.005 ;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 = 0.4 ;0.8 ;ïðîöåíò õèòà, óõîäÿùèé íà îòíèìàíèå çäîðîâüÿ
power_hit_part = 1.0 ;0.9 ;ïðîöåíò õèòà, óõîäÿùèé íà îòíèìàíèå ñèëû
psy_health_v = 0.1 ;ñêîðîñòü âîññòàíîâëåíèÿ psy-çäîðîâüÿ
immunities_sect = fractur_immunities
;îòêðûòûå ðàíû
bleeding_v = 0 ;ïîòåðÿ êðîâè ïðè íîìèíàëüíîé ðàíå â ñåêóíäó
wound_incarnation_v = 0.01 ;êðóòèçíà êðèâîé çàæèâëåíèÿ (êàêîé ïðîöåíò ðàíû îñòàíåòñÿ ïîñëå çàæèâëåíèÿ â èãðîâóþ ñåêóíäó)
min_wound_size = 0.01
sleep_health = 1.0 ;1.5 ;úþ¤¯¯ø¡øõýªv ¸úþ¨þ¸ªõù ø÷üõýõýø  ÿð¨ðüõª¨þò òþ ò¨õü  ¸ýð
sleep_power = 1.0 ;1.5
sleep_satiety = 1.0 ;0.8
sleep_radiation = 1.0 ;1.1
sleep_psy_health = 1.0
eat_freq = 5.0 ; ¢ð¸ªþªð ºúº¸þò ò ¸õú
eat_slice = 0.01 ; ºòõûø¢õýøõ ¸vªþ¸ªø ÿ¨ø 1 ºúº¸õ
eat_slice_weight = 10.0 ; ºüõý¹°õýøõ õôv º ª¨ºÿð
; Morale
Morale_Hit_Quant = 0.1
Morale_Attack_Success_Quant = 0.1
Morale_Take_Heart_Speed = 0.1
Morale_Despondent_Speed = 0.1
Morale_Stable_Speed = 0.01
Morale_Despondent_Threashold = 0.5
sound_idle = monsters\biblio\izlome_idle_
sound_eat = monsters\biblio\izlome_eat_
sound_aggressive = monsters\biblio\izlome_attack_
sound_attack_hit = monsters\biblio\izlome_attack_hit_
sound_take_damage = monsters\biblio\izlome_take_damage_
sound_die = monsters\biblio\izlome_die_
sound_death = monsters\biblio\izlome_death_
sound_hit = monsters\biblio\izlome_hit_
sound_threaten = monsters\biting\def_
sound_landing = monsters\biting\def_
sound_steal = monsters\biting\def_
sound_panic = monsters\biblio\izlome_hit_
sound_growling = monsters\biting\def_
sound_die_in_anomaly = monsters\biblio\izlome_die_
killer_clsids = Z_MINCER,Z_GALANT,ZS_BFUZZ,ZS_MBALD,ZS_GALAN,ZS_MINCE
idle_sound_delay = 125000
eat_sound_delay = 3000
attack_sound_delay = 4000
sound_distant_idle = monsters\zombie\zombie_idle_
distant_idle_sound_delay = 80000
distant_idle_sound_range = 100.0
DamagedThreshold = 0.5
material = creatures\medium
DynamicObjectsCount = 32
squad_attack_algorithm = 1
attack_effector = monster_attack_effector
control_fx_texture = act\act_izlom
LegsCount = 2
attack_params = m_fractur_attack_params
step_params = m_fractur_step_params
damage = m_Fractur_damage
;species of monster
species = zombie
[m_fractur_attack_params]
;---------------------------------------------------------------------------------------------------------------------------------------------
; anim | time[0..1] | hit_power | impulse | impulse_dir (x,y,z) | Field of hit_test (left,right, bottom, top ) | Test Dist
;---------------------------------------------------------------------------------------------------------------------------------------------
stand_attack_0 = 0.15, 9.90, 450, 0.0, 1.0, 0.0, -9.6, 9.6, -9.6, 9.6, 3.5
stand_attack_1 = 0.20, 9.15, 200, 0.0, 1.0, 0.0, -9.6, 9.6, -9.6, 9.6, 3.5
stand_attack_2 = 0.55, 9.90, 700, 0.0, 1.0, 0.0, -9.6, 9.6, -9.6, 9.6, 3.5
[m_fractur_step_params]
;---------------------------------------------------------------------------
; anim | Cycles | time1 | power1 | time2 | power2 |
;---------------------------------------------------------------------------
stand_walk_fwd_0 = 1, 0.01, 1, 0.25, 0.7,
stand_run_fwd_0 = 1, 0.01, 1, 0.25, 0.6,
;===========================================================================
; IMMUNITIES
;===========================================================================
[fractur_immunities]
burn_immunity = 0.4 ;êîýôôèöèåíòû èììóíèòåòà
strike_immunity = 0.4
shock_immunity = 0.4
wound_immunity = 0.2 ;0.3 ;0.4
radiation_immunity = 0.5
telepatic_immunity = 0.8
chemical_burn_immunity = 0.4
explosion_immunity = 0.3
fire_wound_immunity = 0.1
[m_Fractur_damage]
;bone_name = <hit_scale>,-1,<wound_scale>
;<hit_scale> - êîýôô. èçìåíåíèÿ õèòà (óìåíüøåíèÿ çäîðîâüÿ)
;<wound_scale> - êîýôô. èçìåíåíèÿ âåëè÷èíû îòêðûòîé ðàíû
default = 0.3, -1, 0.10
bip01_pelvis = 0.1, -1, 0.1
;bip01_spine = 0.1, -1, 0.1
bip01_spine1 = 0.2, -1, 0.1
bip01_neck = 0.5, -1, 0.1
bip01_head = 0.8, -1, 0.50
[bibliotekar_weak]:m_bibliotekar_e
$spawn = "monsters\fracture" ; option for Level Editor
monster_type = indoor
rank = 0
spec_rank = weak
community = fracture
Tele_Time_To_Hold = 200
[bibliotekar_normal]:m_bibliotekar_e
$spawn = "monsters\fracture" ; option for Level Editor
monster_type = indoor
rank = 0
spec_rank = normal
community = fracture
Tele_Time_To_Hold = 200
visual = monsters\bibliotekar\izlom
corpse_visual = monsters\bibliotekar\izlom
[bibliotekar_strong]:m_bibliotekar_e
$spawn = "monsters\fracture" ; option for Level Editor
monster_type = indoor
rank = 0
spec_rank = strong
community = fracture
Tele_Time_To_Hold = 200
;R.P.A.mod
@@ -0,0 +1,32 @@
[lc_tran_jup_05]
GroupControlSection = spawn_group
$spawn = "physics\object"
$prefetch = 8
class = O_PHYSIC
remove_time = 60
visual = dynamics\light\light_signal.ogf
fixed_bones = link
script_binding = bind_physic_object.init
custom_data = scripts\jupiter\jup_lc_transition_logic_le5.ltx
[lc_tran_jup_10]
GroupControlSection = spawn_group
$spawn = "physics\object"
$prefetch = 8
class = O_PHYSIC
remove_time = 60
visual = dynamics\light\light_signal.ogf
fixed_bones = link
script_binding = bind_physic_object.init
custom_data = scripts\jupiter\jup_lc_transition_logic_le10.ltx
[lc_jupiter01_to_limansk01]:lc_tran_jup_05
story_id = lc_jupiter01_to_limansk01
[lc_jupiter01_to_limansk01.1]:lc_tran_jup_10
story_id = lc_jupiter01_to_limansk01.1
[lc_limansk01_to_jupiter01]:lc_tran_jup_05
story_id = lc_limansk01_to_jupiter01
@@ -0,0 +1,52 @@
[lc_tele_pri_door_hid]
GroupControlSection = spawn_group
$spawn = "physics\object"
$prefetch = 8
class = O_PHYSIC
remove_time = 60
visual = dynamics\light\light_signal.ogf
fixed_bones = link
script_binding = bind_physic_object.init
custom_data = scripts\evac\pri_door_transition_logic.ltx
[lc_pri01_pri02]:lc_tele_pri_door_hid
story_id = lc_pri01_pri02
[lc_pri02_pri01]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01
[lc_pri02_pri01.1]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01.1
[lc_pri02_pri01.2]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01.2
[lc_pri02_pri01.3]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01.3
[lc_pri02_pri01.4]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01.4
[lc_pri02_pri01.5]:lc_tele_pri_door_hid
story_id = lc_pri02_pri01.5
[lc_pri03_pri04]:lc_tele_pri_door_hid
story_id = lc_pri03_pri04
[lc_pri04_pri03]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03
[lc_pri04_pri03.1]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03.1
[lc_pri04_pri03.2]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03.2
[lc_pri04_pri03.3]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03.3
[lc_pri04_pri03.4]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03.4
[lc_pri04_pri03.5]:lc_tele_pri_door_hid
story_id = lc_pri04_pri03.5
@@ -12,6 +12,132 @@ class = O_DSTR_S
remove_time = 60
script_binding = bind_physic_object.init
[pri_house_door_1]:pripyat_phys_physic_object
visual = dynamics\door\door_hospital_01_r.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_house_door_2]:pripyat_phys_physic_object
visual = dynamics\door\door_hospital_01_l.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_house_door_3]:pripyat_phys_physic_object
visual = dynamics\door\door_hospital_01_r.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_house_door_4]:pripyat_phys_physic_object
visual = dynamics\door\door_hospital_01_l.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_basements_door_1]:pripyat_phys_physic_object
visual = dynamics\door\door_metal_150x260_01.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_basements_door_2]:pripyat_phys_physic_object
visual = dynamics\door\door_metal_150x260_01.ogf
fixed_bones = link
custom_data = scripts\evac\pri_door_hidden_logic.ltx
[pri_house_misc_1]:ros_phys_physic_object
visual = dynamics\fence\wooden_board_04.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_house_misc_2]:ros_phys_physic_object
visual = dynamics\fence\wooden_board_04.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_1]:pripyat_phys_physic_object
visual = dynamics\firestation\ognetushitel.ogf
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_2]:pripyat_phys_physic_object
visual = dynamics\large_trash\truba_bar_rostok.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_3]:pripyat_phys_physic_object
visual = dynamics\large_trash\truba_bar_rostok.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_4]:pripyat_phys_physic_object
visual = dynamics\large_trash\truba_bar_rostok.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_5]:pripyat_phys_physic_object
visual = dynamics\fence\wooden_board_01_2m.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_6]:pripyat_phys_physic_object
visual = dynamics\fence\wooden_board_04.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_7]:pripyat_phys_physic_object
visual = dynamics\fence\wooden_board_04.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_misc_8]:pripyat_phys_physic_object
visual = dynamics\fence\wooden_board_01_2m.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_box_1]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_box_2]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_box_3]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
custom_data = models\objects\ignore_static.ltx
[pri_street_box_4]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_5]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_6]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_7]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_8]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_9]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_10]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[pri_street_box_11]:pripyat_dstr_physic_object
visual = dynamics\box\box_wood_01.ogf
fixed_bones = link
[monolith_pri_base_transiver]:pripyat_dstr_physic_object
visual = dynamics\el_tehnika\transiver.ogf
fixed_bones = link
@@ -28,19 +154,25 @@ fixed_bones = link
custom_data = scripts\pripyat\pri_a25_antenna_sound.ltx
[pri_street_veh_1]:pripyat_dstr_physic_object
visual = dynamics\vehicles\veh_kamaz\veh_kamaz_fura_u_01
startup_animation = idle
visual = dynamics\vehicles\veh_kavz\veh_kavz_u_01.ogf
;startup_animation = idle
custom_data = models\objects\ignore_static.ltx
story_id = pri_street_veh_1
[pri_street_veh_2]:pripyat_dstr_physic_object
visual = dynamics\vehicles\veh_kamaz\veh_kamaz_fura_u_01
startup_animation = idle
visual = dynamics\vehicles\veh_zaz\veh_zaz_u_01.ogf
;startup_animation = idle
custom_data = models\objects\ignore_static.ltx
story_id = pri_street_veh_2
[pri_street_veh_3]:pripyat_dstr_physic_object
visual = dynamics\vehicles\veh_kamaz\veh_kamaz_u_01
startup_animation = idle
visual = dynamics\vehicles\veh_moskvich\veh_moskvitch_u_01.ogf
;startup_animation = idle
custom_data = models\objects\ignore_static.ltx
story_id = pri_street_veh_3
[pri_street_veh_4]:pripyat_dstr_physic_object
visual = dynamics\vehicles\veh_laz\veh_laz_u_01.ogf
;startup_animation = idle
custom_data = models\objects\ignore_static.ltx
story_id = pri_street_veh_4
@@ -41,6 +41,7 @@ surge = 1
army = 3
dolg = 3
zombied = 1
isg = 1
lair = 1
territory = 1
zoo_monster = 0
@@ -94,16 +95,16 @@ sim_avail = {+jup_scientist_hermann_dead +jup_scientist_ozersky_dea
surge = 1
stalker = 0
bandit = 0
csky = 3
csky = 0
dolg = 0
freedom = 0
killer = 1
ecolog = 1
killer = 0
ecolog = 5
monolith = 0
![jup_b46]:default
sim_avail = false
territory = 1
sim_avail = true
zombied = 1
![jup_b47]:default_territory
sim_avail = true
@@ -117,13 +118,33 @@ bandit = 1
csky = 1
freedom = 1
dolg = 1
monolith = 1
monolith = 2
greh = 1
![jup_b200_tushkan_smart_terrain]:default_lair
sim_avail = true
sim_avail = true
surge = 0
territory = 0
stalker = 0
bandit = 0
csky = 0
freedom = 0
dolg = 0
monolith = 0
greh = 0
![jup_b202]:weak_lair
sim_avail = true
surge = 1
stalker = 1
bandit = 1
csky = 1
freedom = 1
bandit = 1
renegade = 1
monolith = 1
greh = 1
zombied = 1
![jup_b203]:weak_lair
sim_avail = {+jup_b16_complete_end} true, false
@@ -138,8 +159,8 @@ stalker = 1
csky = 1
freedom = 1
dolg = 1
bandit = 5
renegade = 5
bandit = 2
renegade = 1
![jup_b205_smart_terrain]:weak_lair
sim_avail = true
@@ -154,8 +175,10 @@ sim_avail = true
![jup_b207]:default_base
sim_avail = true
stalker = 2
freedom = 3
stalker = 1
csky = 1
freedom = 1
monolith = 2
![jup_b207_depot_attack]:default_territory
sim_avail = false
@@ -253,9 +276,9 @@ sim_avail = true
![jup_sim_13]:weak_lair
sim_avail = true
freedom = 1
monolith = 1
greh = 1
freedom = 0
monolith = 0
greh = 0
![jup_sim_14]:weak_lair
sim_avail = false
@@ -32,18 +32,9 @@ sim_avail = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pr
territory = 1
surge = 1
![pri_smart_controler_lair1]:default_lair
![pri_smart_controler_lair1]:default
sim_avail = true
lair = 1
territory = 1
zoo_monster = 1
monster = 1
monster_predatory_day = 1
monster_predatory_night = 5
monster_vegetarian = 1
monster_zombied_day = 1
monster_zombied_night = 1
monster_special = 5
surge = 1
![pri_smart_controler_lair2]:default_lair
sim_avail = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} true, false
@@ -224,9 +215,19 @@ surge = 1
army = 1
dolg = 1
![pri_b302]:default_resource
![pri_b302]:default_lair
sim_avail = true
zombied = 2
zombied = 1
lair = 1
territory = 1
zoo_monster = 1
monster = 1
monster_predatory_day = 1
monster_predatory_night = 1
monster_vegetarian = 1
monster_zombied_day = 1
monster_zombied_night = 1
monster_special = 1
![pri_b303]:default
sim_avail = {+pri_b303_complete_end} true, false
@@ -329,7 +330,7 @@ monster_predatory_night = 5
monster_vegetarian = 5
monster_zombied_day = 5
monster_zombied_night = 5
monster_special = 0
monster_special = 5
![pri_sim_7]:default_base
sim_avail = true
@@ -31,8 +31,7 @@ monolith_sim_squad_advanced = 0
monolith_sim_squad_novice = 0
monolith_sim_squad_veteran = 0
![pri_b303]
pri_b301_snork_squad
![pri_b303]
![pri_sim_1]
;monolith_sim_squad_advanced = 0
@@ -1,3 +1,9 @@
[jup_smart_terrain_base_radio_mlr]
type = 3d
path = mlr\marsh\marsh_radio_
shuffle = loop
idle = 5,15,100
[jup_blowout_siren]
type = 3d
path = ambient\blowout\blowout_siren_jup
@@ -10,4 +10,18 @@ type = 3d
path = ambient\background\pripyat\monolith_antenna_1
shuffle = rnd
idle = 5,15,100
levels = pripyat
[pri_door_open_start]
type = 3d
path = device\wood_large_close_start
shuffle = rnd
idle = 1,1,100
levels = pripyat
[pri_door_close_start]
type = 3d
path = device\wood_large_close_stop
shuffle = rnd
idle = 1,1,100
levels = pripyat
@@ -0,0 +1,21 @@
[dynamic_object_configs]
smart = pri_sim_12
condlist_0 = true
[exclusive]
door_4 = pri_house_door_3 | -51.10,-0.22,231.67 | 0,90,0 | condlist_0
door_5 = pri_house_door_4 | -51.10,-0.22,230.17 | 0,90,0 | condlist_0
door_6 = pri_basements_door_2 | -44.95,-2.25,239.34 | 0,0,0 | condlist_0
house_misc_2 = pri_house_misc_2 | -51.14,2.01,229.94 | 0,90,0 | condlist_0
misc_1 = pri_street_misc_1 | -157.11,-1.13,186.32 | 90,86,0 | condlist_0
misc_2 = pri_street_misc_2 | -158.09,-1.03,194.36 | 0,-79,0 | condlist_0
misc_5 = pri_street_misc_5 | -222.05,-0.48,182.14 | 90,-38,0 | condlist_0
misc_6 = pri_street_misc_6 | -219.16,-0.48,184.66 | 90,99,0 | condlist_0
box_1 = pri_street_box_1 | -149.60,-1.13,192.49 | 0,-23,0 | condlist_0
box_2 = pri_street_box_2 | -150.83,-1.12,188.72 | 0,12,0 | condlist_0
box_3 = pri_street_box_3 | -149.78,-1.14,189.89 | 0,37,0 | condlist_0
box_6 = pri_street_box_6 | -225.40,-0.50,164.32 | 0,12,0 | condlist_0
box_7 = pri_street_box_7 | -225.29,-0.50,165.11 | 0,37,0 | condlist_0
vehicles_1 = pri_street_veh_1 | -116.64,-0.49,179.21 | 0,-65,0 | condlist_0
vehicles_3 = pri_street_veh_3 | -238.07,-0.50,187.69 | 0,37,0 | condlist_0
vehicles_4 = pri_street_veh_4 | -143.06,-0.52,242.56 | 0,93,0 | condlist_0
@@ -0,0 +1,15 @@
[dynamic_object_configs]
smart = pri_sim_7
condlist_0 = true
[exclusive]
door_1 = pri_house_door_1 | -241.39,-0.18,12.33 | 0,90,0 | condlist_0
door_2 = pri_house_door_2 | -241.39,-0.18,10.83 | 0,90,0 | condlist_0
door_3 = pri_basements_door_1 | -246.15,-2.25,20.00 | 0,0,0 | condlist_0
house_misc_1 = pri_house_misc_1 | -241.39,2.01,10.55 | 0,90,0 | condlist_0
misc_3 = pri_street_misc_3 | -173.06,-0.03,103.19 | 0,-43,0 | condlist_0
misc_4 = pri_street_misc_4 | -216.65,-0.43,100.02 | 0,38,0 | condlist_0
box_4 = pri_street_box_4 | -200.64,-0.14,94.86 | 0,-23,0 | condlist_0
box_5 = pri_street_box_5 | -198.67,-0.10,95.40 | 0,12,0 | condlist_0
vehicles_2 = pri_street_veh_2 | -214.89,-0.48,93.55 | 0,-30,0 | condlist_0
@@ -190,8 +190,8 @@ always_arrived = true
[jup_b205_monster_07_squad]:online_offline_group
faction = monster_special
sympathy = 0
npc_random = bibliotekar_weak, bibliotekar_strong
npc_in_squad = 1, 1
npc_random = snork_strong4
npc_in_squad = 2, 3
target_smart = jup_b205_smart_terrain
spawn_point = jup_b205_monster_01_spawn_point
story_id = jup_b205_monster_07_squad
@@ -200,8 +200,8 @@ always_arrived = true
[jup_b205_monster_08_squad]:online_offline_group
faction = monster_special
sympathy = 0
npc_random = borya_normal
npc_in_squad = 2, 3
npc_random = m_controller_normal888
npc_in_squad = 1, 1
target_smart = jup_b205_smart_terrain
spawn_point = jup_b205_monster_01_spawn_point
story_id = jup_b205_monster_08_squad
@@ -6,6 +6,8 @@ target_smart = pri_a16
story_id = start_prachka_squad
always_arrived = true
;------------------------------------------------------------------------
![merc_sim_squad_pri_a18_mlr]:online_offline_group
faction = killer
relationship = friend
@@ -61,7 +63,7 @@ story_id = pri_b306_military_squad_base
[pri_b306_military_mlr_2_squad]:online_offline_group
faction = military
npc_random = sim_default_military_1, sim_default_military_1, sim_default_military_2, sim_default_military_2, sim_default_military_2, sim_default_military_3
npc_random = sim_default_military_1, sim_default_military_1, sim_default_military_2, sim_default_military_2, sim_default_military_2, sim_default_military_2
npc_in_squad = 4, 4
target_smart = {-pri_b306_military_attacked} pri_b306, nil
spawn_point = pri_b306_mercs_spawn
@@ -80,17 +82,18 @@ story_id = pri_b306_monolith_squad
[pri_b306_monolith_squad_strong]:pri_b306_monolith_squad_light
npc = sim_default_monolith_3, sim_default_monolith_3, sim_default_monolith_4
;------------------------------------------------------------------------
[monolith_depot_mlr_squad]:online_offline_group
faction = monolith
npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_3, sim_monolith_sniper
npc_in_squad = 6, 6
npc_in_squad = 5, 5
target_smart = pri_depot
always_arrived = true
[monolith_base_sniper_squad]:online_offline_group
faction = monolith
npc = sim_default_monolith_2, sim_default_monolith_2, sim_monolith_sniper, sim_monolith_sniper, sim_monolith_sniper
npc_in_squad = 4, 4
npc = sim_monolith_sniper, sim_monolith_sniper, sim_monolith_sniper
target_smart = monolith_snipers_smart_1_mlr
always_arrived = true
@@ -104,28 +107,28 @@ always_arrived = true
![monolith_base_mlr_squad]:online_offline_group
faction = monolith
npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_3
npc_in_squad = 6, 6
npc_in_squad = 4, 4
target_smart = pri_monolith
always_arrived = true
![monolith_base_mlr2_squad]:online_offline_group
faction = monolith
npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_3, sim_default_monolith_4
npc_in_squad = 6, 6
npc_in_squad = 4, 4
target_smart = pri_monolith
always_arrived = true
[monolith_base_mlr3_squad]:online_offline_group
faction = monolith
npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_3
npc_in_squad = 6, 6
npc_in_squad = 4, 4
target_smart = pri_monolith
always_arrived = true
[monolith_base_mlr4_squad]:online_offline_group
faction = monolith
npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_2, sim_default_monolith_3
npc_in_squad = 6, 6
npc_in_squad = 4, 4
target_smart = mlr_terrain
always_arrived = true
@@ -142,6 +145,8 @@ npc_random = sim_default_monolith_1, sim_default_monolith_1, sim_default_monolit
npc_in_squad = 4, 4
target_smart = mlr_terrain
;------------------------------------------------------------------------
[military_base_sniper_squad]:online_offline_group
faction = army
npc = sim_default_military_2, sim_default_military_2, sim_military_sniper, sim_military_sniper, sim_military_sniper
@@ -170,6 +175,8 @@ npc_in_squad = 12, 12
target_smart = pri_monolith
always_arrived = true
;------------------------------------------------------------------------
[pri_a17_monolith_ambusher_squad]:online_offline_group
faction = monolith
npc = pri_a17_monolith_ambusher_1, pri_a17_monolith_ambusher_2, pri_a17_monolith_ambusher_3, pri_a17_monolith_ambusher_4, pri_a17_monolith_ambusher_5, pri_a17_monolith_ambusher_6, pri_a17_monolith_ambusher_7,pri_a17_monolith_ambusher_8, pri_a17_monolith_ambusher_9, pri_a17_monolith_ambusher_10 ;pri_a17_monolith_sniper_1, pri_a17_monolith_sniper_2, pri_a17_monolith_sniper_3, pri_a17_monolith_sniper_4
@@ -235,11 +242,13 @@ target_smart = pri_sim_1 ;{=is_dark_night} pri_a28_arch,
story_id = pri_chimera_pripyat_squad
[pri_a21_kontroler_squad]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = m_controller_normal888
target_smart = pri_a21_smart_terrain
story_id = pri_a21_kontroler_squad
;------------------------------------------------------------------------
[pri_a25_monster_boss_squad]:online_offline_group
faction = monster_special
npc = bibliotekar_strong
@@ -275,8 +284,10 @@ spawn_point = pri_a25_smart_terrain_pri_a25_poltergeist_2_spawn_point
target_smart = pri_a25_smart_terrain
story_id = pri_a25_poltergeist_4_squad
;------------------------------------------------------------------------
[pri_b301_snork_squad]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc_random = snork_weak, snork_weak2, snork_weak3, snork_weak4, snork_normal, snork_normal2, snork_normal3, snork_normal4, snork_strong, snork_strong2, snork_strong3, snork_strong4
npc_in_squad = 5, 5
target_smart = pri_b301
@@ -284,7 +295,7 @@ story_id = pri_b301_snork
always_arrived = true
[pri_b301_snork_squad2]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc_random = snork_weak, snork_weak2, snork_weak3, snork_weak4, snork_normal, snork_normal2, snork_normal3, snork_normal4, snork_strong, snork_strong2, snork_strong3, snork_strong4
npc_in_squad = 5, 5
target_smart = pri_b301
@@ -292,42 +303,42 @@ story_id = pri_b301_snork2
always_arrived = true
[pri_b301_snork_1a]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc = snork_strong
target_smart = pri_b301
story_id = pri_b301_snork_1a
always_arrived = true
[pri_b301_snork_2a]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc = snork_strong2
target_smart = pri_b301
story_id = pri_b301_snork_2a
always_arrived = true
[pri_b301_snork_3a]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc = snork_strong3
target_smart = pri_b301
story_id = pri_b301_snork_3a
always_arrived = true
[pri_b301_snork_4a]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc = snork_strong4
target_smart = pri_b301
story_id = pri_b301_snork_4a
always_arrived = true
[pri_b301_snork_5a]:online_offline_group
faction = monster_zombied_day
faction = monster_zombied_night
npc = snork_strong4
target_smart = pri_b301
story_id = pri_b301_snork_5a
always_arrived = true
[pri_b301_snork_1b]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = snork_strong
spawn_point = pri_b301_spawn_point_1a
target_smart = pri_b301
@@ -335,7 +346,7 @@ story_id = pri_b301_snork_1b
always_arrived = true
[pri_b301_snork_2b]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = snork_strong2
spawn_point = pri_b301_spawn_point_1a
target_smart = pri_b301
@@ -343,7 +354,7 @@ story_id = pri_b301_snork_2b
always_arrived = true
[pri_b301_snork_3b]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = snork_strong3
spawn_point = pri_b301_spawn_point_1a
target_smart = pri_b301
@@ -351,7 +362,7 @@ story_id = pri_b301_snork_3b
always_arrived = true
[pri_b301_snork_4b]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = snork_strong4
spawn_point = pri_b301_spawn_point_1a
target_smart = pri_b301
@@ -359,15 +370,17 @@ story_id = pri_b301_snork_4b
always_arrived = true
[pri_b301_snork_5b]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = snork_strong4
spawn_point = pri_b301_spawn_point_1a
target_smart = pri_b301
story_id = pri_b301_snork_5b
always_arrived = true
;------------------------------------------------------------------------
![pri_b303_burer_squad]:online_offline_group
faction = monster_special
faction = monster_zombied_night
npc = burer_normal
target_smart = pri_b303
spawn_point = pri_b303_save_home
@@ -375,10 +388,12 @@ story_id = pri_b303_burer_squad
always_arrived = true
on_death = %+pri_b303_burer_dead%
;------------------------------------------------------------------------
[pri_borya_lair_squad]:online_offline_group
faction = monster_special
npc_random = borya_normal
npc_in_squad = 3, 4
faction = monster_zombied_night
npc_random = simulation_karlik
npc_in_squad = 2, 3
target_smart = pri_smart_controler_lair1
always_arrived = true
@@ -391,8 +406,8 @@ always_arrived = true
[pri_bibliotekar_lair_squad]:online_offline_group
faction = monster_special
npc_random = bibliotekar_weak, bibliotekar_strong
npc_in_squad = 1, 1
npc_random = simulation_fracture
npc_in_squad = 1, 2
target_smart = pri_smart_controler_lair1
always_arrived = true
@@ -1,38 +0,0 @@
;R.P.A.mod
;-------------------------------------------------------------------------------
;------ disable params ---------------------------------------------------------
[disable]
linear_factor = 1.0
angular_factor = 1.0
;-------------------------------------------------------------------------------
;------ particle bones ---------------------------------------------------------
[particle_bones]
bip01_head = 0,0,0
bip01_spine = 0,0,0
bip01_pelvis = 0,0,0
;-------------------------------------------------------------------------------
;------ foot bones -------------------------------------------------------------
[foot_bones]
front_left = bip01_l_toe0
front_right = bip01_r_toe0
;-------------------------------------------------------------------------------
;------ capture params ---------------------------------------------------------
[capture]
bone = bip01_head ; bone for capture
distance = 0.3 ; distance - less this distance between bone and capture taget object is captured
time_limit = 3 ; max time for trying to capture object "sec"
pull_force = 8000 ; max force used to bring the taget to capture bone
pull_distance = 1.4 ; max distance taget can be puled
velocity_scale = 0.022 ; velocity scale for pulling 1- normal
capture_force = 6500 ; max force for holding taget
;-------------------------------------------------------------------------------
;------ End params -------------------------------------------------------------
;R.P.A.mod
@@ -0,0 +1,7 @@
![jupiter]
!ano_jup_154 = chemical, 413.03134155273, 3.6892428398132, -79.991218566895, 1368164, 4673
!ano_jup_158 = chemical, 421.97360229492, 4.4550929069519, -73.03874206543, 1382838, 4673
!ano_jup_163 = chemical, 416.09484863281, 4.6662883758545, -86.53581237793, 1372916, 4824
@@ -0,0 +1,41 @@
![pripyat]
ano_out_63 = gravitational, -224.18188476562, -0.50922667980194, 178.74562072754, 139163, 4953
ano_out_64 = gravitational, -259.46499633789, -0.5073835849762, 177.55630493164, 139163, 4953
ano_out_66 = gravitational, -243.07150268555, -0.51166599988937, 200.50714111328, 139163, 4953
ano_out_67 = gravitational, -230.43310546875, -0.51105439662933, 192.22436523438, 139163, 4953
ano_out_68 = gravitational, -216.12675476074, -0.50813782215118, 195.74899291992, 139163, 4953
ano_out_69 = gravitational, -252.77267456055, -0.51104891300201, 201.49604797363, 139163, 4953
ano_out_71 = gravitational, -249.85397338867, -0.5162752866745, 193.83493041992, 139163, 4953
ano_out_72 = gravitational, -243.80207824707, -0.51745474338531, 182.23947143555, 139163, 4953
ano_out_73 = gravitational, -249.40621948242, -0.506915807724, 176.8842010498, 139163, 4953
ano_out_74 = gravitational, -253.56851196289, -0.50707471370697, 184.23204040527, 139163, 4953
ano_out_75 = radioactive, -231.63369750977, -0.51084101200104, 179.14846801758, 139163, 4953
ano_out_76 = radioactive, -259.68908691406, -0.50873965024948, 131.52262878418, 139163, 4953
ano_out_77 = radioactive, -257.29971313477, -0.51722353696823, 87.403793334961, 139163, 4953
ano_out_78 = radioactive, -263.29000854492, -0.33534646034241, 70.815391540527, 139163, 4953
ano_out_79 = radioactive, -277.66217041016, -0.51174032688141, 89.237686157227, 139163, 4953
ano_out_81 = radioactive, -263.36688232422, -0.51130557060242, 29.711553573608, 139163, 4953
ano_out_82 = radioactive, -175.14212036133, -0.14185057580471, 98.400108337402, 139163, 4953
ano_out_83 = radioactive, -110.54473876953, -0.50893080234528, 177.62989807129, 139163, 4953
ano_out_84 = radioactive, -65.76587677002, -0.51381301879883, 272.89999389648, 138502, 4953
ano_out_85 = radioactive, -107.99384307861, -0.50714510679245, 273.70297241211, 138502, 4953
ano_out_86 = radioactive, -136.16583251953, -0.50732499361038, 276.22647094727, 138502, 4953
ano_out_87 = radioactive, -197.52235412598, -0.51093280315399, 273.26422119141, 138502, 4953
ano_out_88 = thermal, -218.07049560547, -0.27947947382927, 115.23447418213, 139163, 4953
ano_out_89 = thermal, -203.58360290527, 0.11234119534492, 140.59504699707, 139163, 4953
ano_out_100 = thermal, -179.95834350586, 0.86090469360352, 140.67945861816, 139163, 4953
ano_out_101 = thermal, -164.67227172852, 0.5711385011673, 126.14208984375, 139163, 4953
ano_out_102 = thermal, -151.40969848633, 0.33085477352142, 141.61424255371, 139163, 4953
ano_out_103 = thermal, -130.27326965332, -0.86236977577209, 198.43109130859, 139163, 4953
ano_out_104 = thermal, -112.09100341797, -1.1547974348068, 213.15454101562, 139163, 4953
ano_out_105 = thermal, -100.7456817627, -1.5330946445465, 235.33918762207, 139163, 4953
ano_out_106 = thermal, -118.39884185791, -1.8302018642426, 229.6782989502, 139163, 4953
ano_out_107 = thermal, -193.71012878418, 0.064363986253738, 205.50401306152, 139163, 4953
ano_out_108 = electric, -144.23762512207, -0.54982697963715, 241.49221801758, 139165, 4953
ano_out_109 = electric, -147.70915222168, -0.5310150384903, 242.0783996582, 139166, 4953
ano_out_110 = electric, -144.49186706543, -0.50692170858383, 244.61000061035, 139170, 4953
ano_out_111 = electric, -145.93083190918, 2.5554811954498, 242.90856933594, 139167, 4953
ano_out_112 = electric, -237.53533935547, -0.50666224956512, 189.24421691895, 139163, 4953
ano_out_113 = electric, -239.00762939453, 0.60318768024445, 187.88969421387, 139163, 4953
ano_out_114 = electric, -239.89688110352, -0.51943111419678, 188.69415283203, 139163, 4953
@@ -0,0 +1,30 @@
[logic]
active = ph_door@closed
[ph_door@closed]
locked = false
closed = true
;snd_open_start = trader_door_open_start
;snd_close_start = trader_door_close_start
;snd_close_stop = trader_door_close_stop
on_use = ph_door@reset %+pri_hidden_door_open% ;%=play_sound(trader_door_open_start)%
[ph_door@reset]
on_info = ph_door@open %-pri_hidden_door_open%
[ph_door@open]
locked = false
closed = true
;snd_open_start = trader_door_open_start
;snd_close_start = trader_door_close_start
;snd_close_stop = trader_door_close_stop
on_info = ph_door@close
[ph_door@close]
on_game_timer = 10 | ph_door@end ;%=play_sound(trader_door_close_start)%
[ph_door@end]
on_timer = 1000 | ph_door@closed
[collide]
ignore_static
@@ -0,0 +1,14 @@
[logic]
active = ph_idle@teleport
[ph_idle@teleport]
on_info = {=dist_to_actor_le(1) +pri_hidden_door_open} ph_idle@fade_in %=run_postprocess(fade_in) =play_sound(pri_door_open_start) =disable_ui%
[ph_idle@fade_in]
on_game_timer = 15 | ph_idle@wait %=script(redone_lc_pri_transition_local:teleport_actor) =play_sound(pri_door_close_start) =enable_ui%
[ph_idle@wait]
on_timer = 1000 | ph_idle@teleport
[collide]
ignore_static
@@ -0,0 +1,37 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 1
;respawn_params = respawn@pri_a28_arch
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
;def_restr = nil
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_arch] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_arch = evac\pri_a28_arch.ltx
pri_a28_strelok_arch = evac\pri_a28_arch.ltx
pri_a28_military_1_arch = evac\pri_a28_arch.ltx
pri_a28_military_2_arch = evac\pri_a28_arch.ltx
pri_a28_military_3_arch = evac\pri_a28_arch.ltx
pri_a28_military_4_arch = evac\pri_a28_arch.ltx
pri_a28_military_5_arch = evac\pri_a28_arch.ltx
pri_a28_military_6_arch = evac\pri_a28_arch.ltx
pri_a28_zombied_1_arch = evac\pri_a28_arch_zombied.ltx
pri_a28_zombied_2_arch = evac\pri_a28_arch_zombied.ltx
pri_a28_zombied_3_arch = evac\pri_a28_arch_zombied.ltx
pri_a28_zombied_4_arch = evac\pri_a28_arch_zombied.ltx
pri_a28_zombied_5_arch = evac\pri_a28_arch_zombied.ltx
pri_a28_zombied_6_arch = evac\pri_a28_arch_zombied.ltx
@@ -0,0 +1,44 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
;max_population = 1
;respawn_params = respawn@pri_a28_base
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
;def_restr = nil
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_base] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_base = evac\pri_a28_base.ltx
pri_a28_kirillov_base = evac\pri_a28_base.ltx
pri_a28_strelok_base = evac\pri_a28_base.ltx
pri_a28_military_1_base = evac\pri_a28_base.ltx
pri_a28_military_2_base = evac\pri_a28_base.ltx
pri_a28_military_3_base = evac\pri_a28_base.ltx
pri_a28_military_4_base = evac\pri_a28_base.ltx
pri_a28_military_5_base = evac\pri_a28_base.ltx
pri_a28_zombied_1_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_2_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_3_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_4_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_5_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_6_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_7_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_8_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_9_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_10_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_11_base = evac\pri_a28_base_zombied.ltx
pri_a28_zombied_12_base = evac\pri_a28_base_zombied.ltx
@@ -0,0 +1,30 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 1
;respawn_params = respawn@pri_a28_evac
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
;def_restr = nil
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_evac] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_evac = evac\pri_a28_evac.ltx
pri_a28_medic_evac = evac\pri_a28_evac.ltx
pri_a28_strelok_evac = evac\pri_a28_evac.ltx
pri_a28_military_1_evac = evac\pri_a28_evac.ltx
pri_a28_military_2_evac = evac\pri_a28_evac.ltx
pri_a28_military_3_evac = evac\pri_a28_evac.ltx
pri_a28_military_4_evac = evac\pri_a28_evac.ltx
pri_a28_military_5_evac = evac\pri_a28_evac.ltx
@@ -0,0 +1,79 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 1
;respawn_params = respawn@pri_a28_heli
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
def_restr = pri_a28_scene_end_zone
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_heli] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_heli = evac\pri_a28_heli.ltx
pri_a28_strelok_heli = evac\pri_a28_heli.ltx
pri_a28_military_1_heli = evac\pri_a28_heli.ltx
pri_a28_military_2_heli = evac\pri_a28_heli.ltx
pri_a28_military_3_heli = evac\pri_a28_heli.ltx
pri_a28_military_4_heli = evac\pri_a28_heli.ltx
pri_a28_military_5_heli = evac\pri_a28_heli.ltx
pri_a28_military_6_heli = evac\pri_a28_heli.ltx
pri_a28_evac_military_1 = evac\pri_a28_evac_squad.ltx
pri_a28_evac_military_2 = evac\pri_a28_evac_squad.ltx
pri_a28_evac_military_3 = evac\pri_a28_evac_squad.ltx
pri_a28_evac_military_4 = evac\pri_a28_evac_squad.ltx
pri_a28_mono_1_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_2_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_3_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_4_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_5_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_6_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_7_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_8_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_9_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_10_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_11_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_12_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_sniper_1_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_sniper_2_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_sniper_3_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_sniper_4_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_1_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_2_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_3_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_4_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_5_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_1_6_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_1_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_2_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_3_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_4_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_5_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_2_6_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_1_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_2_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_3_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_4_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_5_heli = evac\pri_a28_heli_mono.ltx
pri_a28_mono_add_3_6_heli = evac\pri_a28_heli_mono.ltx
@@ -0,0 +1,41 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 1
;respawn_params = respawn@pri_a28_school
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
;def_restr = nil
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_school] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_school = evac\pri_a28_school.ltx
pri_a28_medic_school = evac\pri_a28_school.ltx
pri_a28_strelok_school = evac\pri_a28_school.ltx
pri_a28_military_1_school = evac\pri_a28_school.ltx
pri_a28_military_2_school = evac\pri_a28_school.ltx
pri_a28_military_3_school = evac\pri_a28_school.ltx
pri_a28_military_4_school = evac\pri_a28_school.ltx
pri_a28_military_5_school = evac\pri_a28_school.ltx
pri_a28_snork_1_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_2_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_3_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_4_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_5_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_6_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_7_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_8_school = evac\pri_a28_school_snork.ltx
pri_a28_snork_9_school = evac\pri_a28_school_snork.ltx
@@ -0,0 +1,45 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 1
;respawn_params = respawn@pri_a28_shop
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
;def_restr = nil
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_a28_shop] ;-- Type:
;[on_changing_level]
;[smart_control]
[exclusive]
pri_a28_kovalski_shop = evac\pri_a28_shop.ltx
pri_a28_medic_shop = evac\pri_a28_shop.ltx
pri_a28_strelok_shop = evac\pri_a28_shop.ltx
pri_a28_military_1_shop = evac\pri_a28_shop.ltx
pri_a28_military_2_shop = evac\pri_a28_shop.ltx
pri_a28_military_3_shop = evac\pri_a28_shop.ltx
pri_a28_military_4_shop = evac\pri_a28_shop.ltx
pri_a28_military_5_shop = evac\pri_a28_shop.ltx
pri_a28_zombied_1_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_2_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_3_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_4_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_5_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_6_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_7_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_8_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_9_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_10_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_11_shop = evac\pri_a28_shop_zombied.ltx
pri_a28_zombied_12_shop = evac\pri_a28_shop_zombied.ltx
@@ -1,6 +1,6 @@
[smart_terrain]
squad_id = 48
max_population = 2
max_population = 1
;respawn_params = respawn@jup_b205_smart_terrain_tushkano
;respawn_only_smart = false
;respawn_idle = 86400
@@ -0,0 +1,20 @@
[logic]
active = ph_idle@transition
[ph_idle@transition]
on_info = {=dist_to_actor_le(5)} ph_idle@teleport %=run_postprocess(fade_in)%
[ph_idle@teleport]
on_game_timer = 10 | ph_idle@black %=script(redone_lc_jup_transition_zone:teleport_actor) =run_postprocess(black:3009:true)%
[ph_idle@black]
on_info = ph_idle@stop %=run_postprocess(black:3009:true)%
[ph_idle@stop]
on_game_timer = 10 | ph_idle@wait %=stop_postprocess(3009)%
[ph_idle@wait]
on_timer = 2000 | ph_idle@transition
[collide]
ignore_static
@@ -0,0 +1,20 @@
[logic]
active = ph_idle@transition
[ph_idle@transition]
on_info = {=dist_to_actor_le(5)} ph_idle@teleport %=run_postprocess(fade_in)%
[ph_idle@teleport]
on_game_timer = 10 | ph_idle@black %=script(redone_lc_jup_transition_zone:teleport_actor) =run_postprocess(black:3009:true)%
[ph_idle@black]
on_info = ph_idle@stop %=run_postprocess(black:3009:true)%
[ph_idle@stop]
on_game_timer = 10 | ph_idle@wait %=stop_postprocess(3009)%
[ph_idle@wait]
on_timer = 2000 | ph_idle@transition
[collide]
ignore_static
@@ -1,32 +0,0 @@
![logic]
!active = ;nil
active = sr_idle@wait_actor
[sr_idle@wait_actor]
on_info = {=actor_near_smart(jup_a9) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(jup_a9) =is_night} sr_idle@spawn_night_monster
on_info2 = {=actor_near_smart(jup_b47) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b47) =is_night} sr_idle@spawn_night_monster_2
on_info3 = {=actor_near_smart(jup_sim_19) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_sim_19) =is_night} sr_idle@spawn_night_monster_3
[sr_idle@spawn_night_monster]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_a9)% sr_idle@reset, {~40} %=create_squad(simulation_psysucker_1_2:jup_a9)% sr_idle@reset, {~60} %=create_squad(simulation_psysucker:jup_a9)% sr_idle@reset, {~80} %=create_squad(simulation_bloodsucker:jup_a9)% sr_idle@reset, %=create_squad(simulation_snork:jup_a9) sr_idle@reset%
[sr_idle@reset]
;on_info2 = {=actor_near_smart(jup_b47) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b47) =is_night} sr_idle@spawn_night_monster_2
;on_info3 = {=actor_near_smart(jup_sim_19) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_sim_19) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_2]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_b47)% sr_idle@reset_2, {~40} %=create_squad(simulation_psysucker_1_2:jup_b47)% sr_idle@reset_2, {~60} %=create_squad(simulation_psysucker:jup_b47)% sr_idle@reset_2, {~80} %=create_squad(simulation_bloodsucker:jup_b47)% sr_idle@reset_2, %=create_squad(simulation_snork:jup_b47) sr_idle@reset_2%
[sr_idle@reset_2]
;on_info = {=actor_near_smart(jup_a9) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(jup_a9) =is_night} sr_idle@spawn_night_monster
;on_info3 = {=actor_near_smart(jup_sim_19) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_sim_19) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_3]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_sim_19)% sr_idle@reset_3, {~40} %=create_squad(simulation_psysucker_1_2:jup_sim_19)% sr_idle@reset_3, {~60} %=create_squad(simulation_psysucker:jup_sim_19)% sr_idle@reset_3, {~80} %=create_squad(simulation_bloodsucker:jup_sim_19)% sr_idle@reset_3, %=create_squad(simulation_lurker_black:jup_sim_19)% sr_idle@reset_3
[sr_idle@reset_3]
;on_info = {=actor_near_smart(jup_a9) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(jup_a9) =is_night} sr_idle@spawn_night_monster
;on_info2 = {=actor_near_smart(jup_b47) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b47) =is_night} sr_idle@spawn_night_monster_2
on_game_timer = 172800 | sr_idle@wait_actor
@@ -1,32 +0,0 @@
![logic]
!active = ;nil
active = sr_idle@wait_actor
[sr_idle@wait_actor]
on_info = {=actor_near_smart(jup_b200) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(b200) =is_night} sr_idle@spawn_night_monster
on_info2 = {=actor_near_smart(jup_b202) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b202) =is_night} sr_idle@spawn_night_monster_2
on_info3 = {=actor_near_smart(jup_b211) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_b211) =is_night} sr_idle@spawn_night_monster_3
[sr_idle@spawn_night_monster]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_b200)% sr_idle@reset, {~40} %=create_squad(simulation_psysucker_1_2:jup_b200)% sr_idle@reset, {~60} %=create_squad(simulation_psysucker:jup_b200)% sr_idle@reset, {~80} %=create_squad(simulation_bloodsucker:jup_b200)% sr_idle@reset, %=create_squad(simulation_snork:jup_b200)%
[sr_idle@reset]
;on_info2 = {=actor_near_smart(jup_b202) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b202) =is_night} sr_idle@spawn_night_monster_2
;on_info3 = {=actor_near_smart(jup_b211) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_b211) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_2]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_b202)% sr_idle@reset_2, {~40} %=create_squad(simulation_psysucker_1_2:jup_b202)% sr_idle@reset_2, {~60} %=create_squad(simulation_psysucker:jup_b202)% sr_idle@reset_2, {~80} %=create_squad(simulation_bloodsucker:jup_b202)% sr_idle@reset_2, %=create_squad(simulation_snork:jup_b202)%
[sr_idle@reset_2]
;on_info = {=actor_near_smart(jup_b200) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(b200) =is_night} sr_idle@spawn_night_monster
;on_info3 = {=actor_near_smart(jup_b211) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(jup_b211) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_3]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:jup_b211)% sr_idle@reset_3, {~40} %=create_squad(simulation_psysucker_1_2:jup_b211)% sr_idle@reset_3, {~60} %=create_squad(simulation_psysucker:jup_b211)% sr_idle@reset_3, {~80} %=create_squad(simulation_bloodsucker:jup_b211)% sr_idle@reset_3, %=create_squad(simulation_lurker_black:jup_b211)%
[sr_idle@reset_3]
;on_info = {=actor_near_smart(jup_b200) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(b200) =is_night} sr_idle@spawn_night_monster
;on_info2 = {=actor_near_smart(jup_b202) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(jup_b202) =is_night} sr_idle@spawn_night_monster_2
on_game_timer = 172800 | sr_idle@wait_actor
@@ -1,2 +1,21 @@
![logic]
!active = sr_idle@music
![sr_idle@music]
on_info = %=play_sound(jup_smart_terrain_base_radio_mlr)%
!on_timer = 6660 | sr_idle@propaganda
on_info2 = {=is_night} sr_idle@night
on_info3 = {=surge_started} sr_idle@surge
![sr_idle@propaganda]
!on_info = %=play_sound(mil_freebase_mlr_propaganda)%
!on_timer = 1800 | sr_idle@music
!on_info2 = {=is_night} sr_idle@night
!on_info3 = {=surge_started} sr_idle@surge
![sr_idle@night]
on_info = %=play_sound(jup_night_sound_mlr)%
on_info2 = {!is_night} sr_idle@music
on_info3 = {=surge_started} sr_idle@surge
![sr_idle@surge]
on_info = %=play_sound(broken_radio_mlr)%
on_info2 = {!surge_started !is_night} sr_idle@music
on_info3 = {!surge_started =is_night} sr_idle@night
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 2
;max_population = 1
max_population = 1
;respawn_params = respawn@jup_a12_merc
;respawn_only_smart = false
;respawn_idle = 86400
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 40
max_population = 2
max_population = 1
;respawn_params = respawn@jup_a9
;respawn_only_smart = false
;respawn_idle = 86400
@@ -19,7 +19,7 @@ spawn_zombied_squad
[spawn_zombied_squad]
spawn_squads = zombied_sim_squad_novice, zombied_sim_squad_novice, zombied_sim_squad_advanced
;spawn_num = {-jup_b19_agreed_to_go} 2, {+jup_b19_complete} 2, {+jup_b19_yar_enemy_or_dead} 2, 0
spawn_num = {+bar_deactivate_radar_done} 1, 2
spawn_num = {+bar_deactivate_radar_done} 2, 4
;[on_changing_level]
@@ -1,18 +1,18 @@
[smart_terrain]
squad_id = 9
max_population = 2
respawn_params = respawn@jup_b200
respawn_only_smart = false
;respawn_params = respawn@jup_b200
;respawn_only_smart = false
respawn_idle = 172800
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
att_restr = jup_b207_sr_depot_attack
def_restr = jup_b207_sr_depot_defence
;att_restr = jup_b207_sr_depot_attack
;def_restr = jup_b207_sr_depot_defence
;safe_restr = nil
;spawn_point = nil
faction_controlled = stalker, bandit, csky, freedom, dolg, monolith
faction_controlled = stalker, bandit, csky, freedom, dolg, monolith, greh
default_faction = monolith
faction_respawn_num = 1
@@ -1,6 +1,6 @@
[smart_terrain]
squad_id = 8
max_population = 2
max_population = 1
respawn_params = respawn@jup_b200_tushkan_smart_terrain
respawn_only_smart = false
respawn_idle = 86400
@@ -12,6 +12,10 @@ respawn_radius = 50
;safe_restr = nil
;spawn_point = nil
;faction_controlled = stalker, bandit, csky, freedom, dolg, monolith, greh
;default_faction = monolith
;faction_respawn_num = 1
[respawn@jup_b200_tushkan_smart_terrain] ;-- Type:
spawn_tushkano
@@ -2,9 +2,9 @@
squad_id = 10
max_population = 1
;respawn_params = respawn@jup_b202
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
respawn_only_smart = false
respawn_idle = 86400
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
@@ -12,6 +12,10 @@ max_population = 1
;safe_restr = nil
;spawn_point = nil
faction_controlled = stalker, bandit, csky, freedom, renegade, monolith, greh
default_faction = monolith
faction_respawn_num = 1
;[respawn@jup_b202] ;-- Type:
@@ -1,6 +1,6 @@
[smart_terrain]
squad_id = 13
max_population = 2
max_population = 1
respawn_params = respawn@jup_b206
respawn_only_smart = false
respawn_idle = 86400
@@ -1,19 +1,19 @@
[smart_terrain]
squad_id = 15
max_population = 3
respawn_params = respawn@jup_b207
respawn_only_smart = false
max_population = 2
;respawn_params = respawn@jup_b207
;respawn_only_smart = false
respawn_idle = 172800
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
att_restr = jup_b207_sr_depot_attack
def_restr = jup_b207_sr_depot_defence
;att_restr = jup_b207_sr_depot_attack
;def_restr = jup_b207_sr_depot_defence
;safe_restr = nil
;spawn_point = nil
faction_controlled = stalker, freedom
default_faction = freedom
faction_controlled = stalker, csky, freedom, monolith
default_faction = monolith
faction_respawn_num = 1
;[respawn@jup_b207] ;-- Type:
@@ -23,7 +23,7 @@ spawn_num = {-lttz_hb_isg_leader_in_jup} 1, 0
[spawn_chimera]
spawn_squads = simulation_chimera_jupiter
spawn_num = {=actor_week_in_zone(1) -lttz_hb_isg_leader_in_jup} 1, 0
spawn_num = {-lttz_hb_isg_leader_in_jup} 1, 0
;[on_changing_level]
@@ -1,6 +1,6 @@
[smart_terrain]
squad_id = 17
max_population = 2
max_population = 1
respawn_params = respawn@jup_b209
respawn_only_smart = false
respawn_idle = 172800
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 23
max_population = 2
max_population = 1
;respawn_params = respawn@jup_b4
;respawn_only_smart = false
;respawn_idle = 86400
@@ -1,12 +1,12 @@
[smart_terrain]
squad_id = 58
max_population = 3
max_population = 2
respawn_params = respawn@jup_b41
respawn_only_smart = false
respawn_idle = 86400
respawn_radius = 50
;arrive_dist = 75
smart_control = smart_control
;smart_control = smart_control
;att_restr = nil
def_restr = jup_b41_sr_noweap
safe_restr = jup_b41_sr_light
@@ -44,11 +44,11 @@ spawn_num = {+jup_scientist_hermann_dead +jup_scientist_ozersky_dead +jup_scient
;[on_changing_level]
[smart_control]
noweap_zone = jup_b41_sr_noweap
ignore_zone = jup_b41_sr_light
alarm_start_sound = jup_b41_base_alarm
alarm_stop_sound = jup_b41_base_relax
;[smart_control]
;noweap_zone = jup_b41_sr_noweap
;ignore_zone = jup_b41_sr_light
;alarm_start_sound = jup_b41_base_alarm
;alarm_stop_sound = jup_b41_base_relax
[exclusive]
jup_b6_scientist_nuclear_physicist = jupiter\jup_b6_scientist_nuclear_physicist.ltx
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 33
max_population = 2
max_population = 1
;respawn_params = respawn@jup_sim_13
;respawn_only_smart = false
;respawn_idle = 172800
@@ -1,6 +1,6 @@
[smart_terrain]
squad_id = 38
max_population = 2
max_population = 1 ;2
respawn_params = respawn@jup_sim_18
respawn_only_smart = false
respawn_idle = 86400
@@ -25,7 +25,7 @@ spawn_num = {+agr_military_colonel_kovalski_dead} 0, 1 ;{-bar_deactivate_radar_d
[spawn_army@alpha]
spawn_squads = army_sim_squad_alpha, army_sim_squad_10
spawn_num = {+agr_military_colonel_kovalski_dead} 4, 1 ;{-bar_deactivate_radar_done} 0,
spawn_num = {+agr_military_colonel_kovalski_dead} 3, 1 ;{-bar_deactivate_radar_done} 0,
[spawn_duty@veteran]
spawn_squads = duty_sim_squad_veteran, army_sim_squad_advanced, army_sim_squad_advanced
@@ -33,7 +33,7 @@ spawn_num = {+bar_dolg_leader_dead +bar_dolg_petrenko_dead} 0, 1 ;{-bar_deactiva
[spawn_duty@alpha]
spawn_squads = dolg_sim_squad_alpha, duty_sim_squad_5
spawn_num = {+bar_dolg_leader_dead +bar_dolg_petrenko_dead} 4, 1 ;{-bar_deactivate_radar_done} 0,
spawn_num = {+bar_dolg_leader_dead +bar_dolg_petrenko_dead} 3, 1 ;{-bar_deactivate_radar_done} 0,
;[on_changing_level]
@@ -18,11 +18,11 @@ spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 psydog + 2 karlik; + 1 bloodsucker + 1 psysucker)
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker, simulation_bibliotekar
spawn_num = {!actor_week_in_zone(3)} 1, {=actor_week_in_zone(3)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 karlik + 1 burer; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik ;simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik, simulation_bibliotekar
spawn_num = {=actor_week_in_zone(3)} 1, {!actor_week_in_zone(3)} 0
@@ -18,11 +18,11 @@ spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 psydog + 2 karlik; + 1 bloodsucker + 1 psysucker)
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker, simulation_bibliotekar
spawn_num = {!actor_week_in_zone(1)} 1, {=actor_week_in_zone(1)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 karlik + 1 burer; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik ;simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik ;simulation_bloodsucker_1_2, simulation_psysucker_1_2, simulation_bibliotekar
spawn_num = {=actor_week_in_zone(1)} 1, {!actor_week_in_zone(1)} 0
@@ -18,11 +18,11 @@ spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 psydog + 2 karlik; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker
spawn_squads = simulation_pseudodog, simulation_fracture, simulation_snork_2_3, simulation_karlik, simulation_karlik ;simulation_bloodsucker, simulation_psysucker, simulation_bibliotekar
spawn_num = {!actor_week_in_zone(2)} 1, {=actor_week_in_zone(2)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 pseudodog + 1 fracture + 1 snork + 1 karlik + 1 burer; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik ;simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_squads = simulation_pseudodog, simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_burer, simulation_karlik ;simulation_bloodsucker_1_2, simulation_psysucker_1_2, simulation_bibliotekar
spawn_num = {=actor_week_in_zone(2)} 1, {!actor_week_in_zone(2)} 0
@@ -6,16 +6,16 @@ active = sr_idle@wait_actor
on_actor_in_zone = pri_a25_poltergeist_1_spawn_restrictor | sr_idle@spawn_polter
[sr_idle@spawn_polter]
on_info = sr_idle@wait_actor_2 ;%=create_squad(pri_a25_poltergeist_2_squad:pri_a25_smart_terrain)%
on_info = sr_idle@wait_actor_2 %=create_squad(pri_a25_poltergeist_2_squad:pri_a25_smart_terrain)%
[sr_idle@wait_actor_2]
on_actor_in_zone = pri_a25_poltergeist_2_spawn_restrictor | sr_idle@spawn_monster_boss
[sr_idle@spawn_monster_boss]
on_info = sr_idle@check %=create_squad(pri_a25_monster_boss_squad:pri_a25_smart_terrain)% ;{+pri_a25_poltergeist_1_dead +pri_a25_poltergeist_2_dead +pri_a25_poltergeist_3_dead}
on_info = sr_idle@check %=create_squad(pri_a25_poltergeist_3_squad:pri_a25_smart_terrain)% ;{+pri_a25_poltergeist_1_dead +pri_a25_poltergeist_2_dead +pri_a25_poltergeist_3_dead}
[sr_idle@check]
on_info = {+pri_a25_antenna_destroyed} sr_idle@timer %=create_squad(pri_a25_poltergeist_1_squad:pri_a25_smart_terrain) =create_squad(pri_a25_poltergeist_2_squad:pri_a25_smart_terrain) =create_squad(pri_a25_poltergeist_3_squad:pri_a25_smart_terrain)%
on_info = {+pri_a25_antenna_destroyed} sr_idle@timer %=create_squad(pri_a25_poltergeist_1_squad:pri_a25_smart_terrain)%
[sr_idle@timer]
on_game_timer = 345600 | sr_idle@nil %=create_squad(pri_a25_poltergeist_4_squad:pri_a25_smart_terrain)%
@@ -1,32 +0,0 @@
![logic]
!active = ;nil
active = sr_idle@wait_actor
[sr_idle@wait_actor]
on_info = {=actor_near_smart(pri_a28_arch) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(pri_a28_arch) =is_night} sr_idle@spawn_night_monster
on_info2 = {=actor_near_smart(pri_a28_evac) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(pri_a28_evac) =is_night} sr_idle@spawn_night_monster_2
on_info3 = {=actor_near_smart(pri_sim_5) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(pri_sim_5) =is_night} sr_idle@spawn_night_monster_3
[sr_idle@spawn_night_monster]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:pri_a28_arch)% sr_idle@reset, {~40} %=create_squad(simulation_psysucker_1_2:pri_a28_arch)% sr_idle@reset, {~60} %=create_squad(simulation_psysucker:pri_a28_arch)% sr_idle@reset, {~80} %=create_squad(simulation_bloodsucker:pri_a28_arch)% sr_idle@reset, %=create_squad(simulation_snork:pri_a28_arch) sr_idle@reset%
[sr_idle@reset]
;on_info2 = {=actor_near_smart(pri_a28_evac) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(pri_a28_evac) =is_night} sr_idle@spawn_night_monster_2
;on_info3 = {=actor_near_smart(pri_sim_5) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(pri_sim_5) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_2]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:pri_a28_evac)% sr_idle@reset_2, {~40} %=create_squad(simulation_psysucker_1_2:pri_a28_evac)% sr_idle@reset_2, {~60} %=create_squad(simulation_psysucker:pri_a28_evac)% sr_idle@reset_2, {~80} %=create_squad(simulation_bloodsucker:pri_a28_evac)% sr_idle@reset_2, %=create_squad(simulation_snork:pri_a28_evac) sr_idle@reset_2%
[sr_idle@reset_2]
;on_info = {=actor_near_smart(pri_a28_arch) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(pri_a28_arch) =is_night} sr_idle@spawn_night_monster
;on_info3 = {=actor_near_smart(pri_sim_5) =is_dark_night} sr_idle@spawn_night_monster_3, {=actor_near_smart(pri_sim_5) =is_night} sr_idle@spawn_night_monster_3
on_game_timer = 172800 | sr_idle@wait_actor
[sr_idle@spawn_night_monster_3]
on_info = {~20} %=create_squad(simulation_bloodsucker_1_2:pri_sim_5)% sr_idle@reset_3, {~40} %=create_squad(simulation_psysucker_1_2:pri_sim_5)% sr_idle@reset_3, {~60} %=create_squad(simulation_psysucker:pri_sim_5)% sr_idle@reset_3, {~80} %=create_squad(simulation_bloodsucker:pri_sim_5)% sr_idle@reset_3, %=create_squad(simulation_lurker_black:pri_sim_5)% sr_idle@reset_3
[sr_idle@reset_3]
;on_info = {=actor_near_smart(pri_a28_arch) =is_dark_night} sr_idle@spawn_night_monster, {=actor_near_smart(pri_a28_arch) =is_night} sr_idle@spawn_night_monster
;on_info2 = {=actor_near_smart(pri_a28_evac) =is_dark_night} sr_idle@spawn_night_monster_2, {=actor_near_smart(pri_a28_evac) =is_night} sr_idle@spawn_night_monster_2
on_game_timer = 172800 | sr_idle@wait_actor
@@ -18,14 +18,15 @@ on_info = {+bar_deactivate_radar_done} sr_crow_spawner
max_crows_on_level = 4
spawn_path = soc_pri_crow_spawn_1, soc_pri_crow_spawn_2, soc_pri_crow_spawn_3, soc_pri_crow_spawn_4, soc_pri_crow_spawn_5
on_info50 = {-bar_deactivate_radar_done} sr_idle@check_spawner
;on_info51 = {+bar_deactivate_radar_done +pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead -pri_spawn_complete =actor_community(actor_army)} sr_idle@spawn_1
;[sr_idle@check_spawn_1]:sr_crow_spawner
;on_info = {!squad_name_exist(military_base_mlr_squad) !squad_name_exist(military_base_mlra_squad) !squad_name_exist(military_depot_mlr_squad)} sr_idle@spawn_1, sr_idle@spawn_end
on_info51 = {+bar_deactivate_radar_done +pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead -pri_spawn_complete =actor_community(actor_army)} sr_idle@check_spawn_1
;[sr_idle@spawn_1]:sr_crow_spawner
;on_game_timer = 50 | sr_idle@spawn_end %=create_squad(military_base_mlr_squad:pri_smart_neutral_stalker1) =create_squad(military_base_mlra_squad:pri_smart_neutral_stalker1) =create_squad(military_depot_mlr_squad:pri_smart_neutral_stalker1)%
[sr_idle@check_spawn_1]:sr_crow_spawner
on_info = {!squad_name_exist(military_base_mlr_squad) !squad_name_exist(military_base_mlra_squad) !squad_name_exist(military_depot_mlr_squad)} sr_idle@spawn_1, sr_idle@spawn_end
;[sr_idle@spawn_end]:sr_crow_spawner
;on_info = sr_idle@check_spawner %+pri_spawn_complete%
[sr_idle@spawn_1]:sr_crow_spawner
on_game_timer = 50 | sr_idle@spawn_end %=create_squad(military_base_mlr_squad:pri_smart_neutral_stalker1) =create_squad(military_base_mlra_squad:pri_smart_neutral_stalker1) =create_squad(military_depot_mlr_squad:pri_smart_neutral_stalker1)%
[sr_idle@spawn_end]:sr_crow_spawner
on_info = sr_idle@check_spawner %+pri_spawn_complete%
@@ -18,7 +18,7 @@ spawn_dogs_special
[spawn_dogs_special];-- Weak mutants - Rates of groups: ( 1 dogs )
spawn_squads = pri_b304_dogs
spawn_num = {!squad_name_exist(pri_b304_dogs) ~50} 1, 0
spawn_num = {!squad_name_exist(pri_b304_dogs) ~20} 1, 0
;[on_changing_level]
@@ -3,8 +3,8 @@ squad_id = 32
max_population = 2
respawn_params = respawn@mlr_terrain
respawn_only_smart = false
respawn_idle = 10
respawn_radius = 10000
respawn_idle = 86400
respawn_radius = 1000
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
@@ -9,7 +9,7 @@ arrive_dist = 25
def_restr = pri_a16_sr_noweap
safe_restr = pri_surge_hide_a16; pri_a16_sr_light
;spawn_point = nil
smart_control = smart_control
;smart_control = smart_control
[respawn@pri_a16] ;-- Type: faction {stalker\csky} = outpost
spawn_stalker@advanced
@@ -37,11 +37,7 @@ spawn_num = {!squad_name_exist(start_prachka_squad) -pri_stalker_cachier_dead -p
;[on_changing_level]
[smart_control]
noweap_zone = pri_a16_sr_noweap
ignore_zone = pri_surge_hide_a16; pri_a16_sr_light
alarm_start_sound = pri_a16_base_alarm ; nil, {-pri_b305_fifth_cam_end}
alarm_stop_sound = pri_a16_base_relax ; nil, {-pri_b305_fifth_cam_end}
;[smart_control]
[exclusive]
trader_pri_a15_mlr = pripyat\pri_a15_mlr.ltx
@@ -56,11 +52,11 @@ pri_a16_stalker_stitch_oa = pripyat\pri_a16_stalker_strelok_team.ltx
pri_a16_guard_work_1 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_guard_work_2 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_guard_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx;
pri_a16_guard_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_1 = pripyat\pri_a16_smart_logic_mlr.ltx
;pri_a16_camp_work_2 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx;
pri_a16_camp_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_4 = pripyat\pri_a16_smart_logic_mlr.ltx
;pri_a16_camp_work_5 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_6 = pripyat\pri_a16_smart_logic_mlr.ltx
@@ -14,11 +14,7 @@ smart_control = smart_control
;[respawn@pri_a16_mlr_copy] ;-- Type: faction {monolith\greh} = guard\campsite
[smart_control]
noweap_zone = pri_a16_sr_noweap
ignore_zone = pri_surge_hide_a16; pri_a16_sr_light
alarm_start_sound = pri_a16_base_alarm ; nil, {-pri_b305_fifth_cam_end}
alarm_stop_sound = pri_a16_base_relax ; nil, {-pri_b305_fifth_cam_end}
;[smart_control]
;[on_changing_level]
@@ -27,11 +23,11 @@ pri_a16_mech_mlr = pripyat\pri_a15_mlr.ltx
pri_a16_guard_work_1 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_guard_work_2 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_guard_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx;
pri_a16_guard_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_1 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_2 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx;
pri_a16_camp_work_3 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_4 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_5 = pripyat\pri_a16_smart_logic_mlr.ltx
pri_a16_camp_work_6 = pripyat\pri_a16_smart_logic_mlr.ltx
@@ -2,7 +2,7 @@
squad_id = 25
max_population = 2
respawn_params = respawn@pri_a17
respawn_idle = 345600
respawn_idle = 172800
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
@@ -1,10 +0,0 @@
[smart_terrain] ;-- No function
squad_id = 0
max_population = 1
;respawn_params = respawn@pri_a28_arch
;respawn_idle = 172800
;[respawn@pri_a28_arch] ;-- Type:
;[exclusive]
@@ -1,10 +0,0 @@
[smart_terrain] ;-- No function
squad_id = 0
max_population = 1
;respawn_params = respawn@pri_a28_evac
;respawn_idle = 172800
;[respawn@pri_a28_evac] ;-- Type:
;[exclusive]
@@ -1,10 +0,0 @@
[smart_terrain] ;-- No function
squad_id = 0
max_population = 1
;respawn_params = respawn@pri_a28_school
;respawn_idle = 172800
;[respawn@pri_a28_school] ;-- Type:
;[exclusive]
@@ -16,54 +16,54 @@ respawn_radius = 1000
spawn_monolith@novice
spawn_monolith@veteran
spawn_monolith@advanced
spawn_monolith_special
spawn_monolith_special_2
spawn_monolith_special_3
spawn_monolith_special_4
spawn_monolith_special_5
spawn_monolith_special_6
spawn_monolith_special_7
;spawn_monolith_special
;spawn_monolith_special_2
;spawn_monolith_special_3
;spawn_monolith_special_4
;spawn_monolith_special_5
;spawn_monolith_special_6
;spawn_monolith_special_7
spawn_deserted_base
[spawn_monolith@novice]
spawn_squads = monolith_sim_squad_novice, monolith_sim_squad_novice
spawn_num = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} 0, 3
[spawn_monolith@advanced]
spawn_squads = monolith_sim_squad_advanced, monolith_sim_squad_advanced
spawn_num = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} 0, 3
[spawn_monolith@veteran]
spawn_squads = monolith_sim_squad_veteran, monolith_sim_squad_advanced
spawn_squads = monolith_sim_squad_novice, monolith_sim_squad_novice, monolith_sim_squad_advanced
spawn_num = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} 0, 2
[spawn_monolith_special]
spawn_squads = monolith_base_mlra_squad
spawn_num = {!squad_name_exist(monolith_base_mlra_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith@advanced]
spawn_squads = monolith_sim_squad_advanced, monolith_sim_squad_advanced, monolith_sim_squad_novice
spawn_num = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} 0, 2
[spawn_monolith_special_2]
spawn_squads = monolith_base_mlra_squad
spawn_num = {!squad_name_exist(monolith_base_mlra_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith@veteran]
spawn_squads = monolith_sim_squad_veteran, monolith_sim_squad_advanced, monolith_sim_squad_advanced
spawn_num = {+pri_monolith_haron_dead +pri_monolith_trader_dead +pri_monolith_tech_dead} 0, 2
[spawn_monolith_special_3]
spawn_squads = monolith_base_mlr2_squad
spawn_num = {!squad_name_exist(monolith_base_mlr2_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special]
;spawn_squads = monolith_base_mlra_squad
;spawn_num = {!squad_name_exist(monolith_base_mlra_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith_special_4]
spawn_squads = monolith_base_mlr3_squad
spawn_num = {!squad_name_exist(monolith_base_mlr3_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_2]
;spawn_squads = monolith_base_mlra_squad
;spawn_num = {!squad_name_exist(monolith_base_mlra_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith_special_5]
spawn_squads = monolith_base_mlr4_squad
spawn_num = {!squad_name_exist(monolith_base_mlr4_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_3]
;spawn_squads = monolith_base_mlr2_squad
;spawn_num = {!squad_name_exist(monolith_base_mlr2_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith_special_6]
spawn_squads = monolith_base_mlr5_squad
spawn_num = {!squad_name_exist(monolith_base_mlr5_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_4]
;spawn_squads = monolith_base_mlr3_squad
;spawn_num = {!squad_name_exist(monolith_base_mlr3_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_monolith_special_7]
spawn_squads = monolith_base_mlr6_squad
spawn_num = {!squad_name_exist(monolith_base_mlr6_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_5]
;spawn_squads = monolith_base_mlr4_squad
;spawn_num = {!squad_name_exist(monolith_base_mlr4_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_6]
;spawn_squads = monolith_base_mlr5_squad
;spawn_num = {!squad_name_exist(monolith_base_mlr5_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
;[spawn_monolith_special_7]
;spawn_squads = monolith_base_mlr6_squad
;spawn_num = {!squad_name_exist(monolith_base_mlr6_squad) -pri_monolith_haron_dead -pri_monolith_trader_dead -pri_monolith_tech_dead} 1, 0
[spawn_deserted_base]
@@ -12,7 +12,7 @@ respawn_radius = 50
;safe_restr = nil
;spawn_point = nil
[respawn@pri_sim_1] ;-- Type:
;[respawn@pri_sim_1] ;-- Type:
;spawn_chimera_pripyat
;[spawn_chimera_pripyat]
@@ -2,7 +2,7 @@
squad_id = 32
max_population = 1
respawn_params = respawn@pri_sim_10
respawn_only_smart = false
respawn_only_smart = true
respawn_idle = 345600
respawn_radius = 50
;arrive_dist = 0
@@ -12,13 +12,18 @@ respawn_radius = 50
;safe_restr = nil
;spawn_point = nil
[respawn@pri_sim_10] ;-- Type: spawn_mutants_rare
spawn_mutants_rare
[respawn@pri_sim_10] ;-- Type:
spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_mutants_rare] ;-- Rare mutants - Rates of groups: ( 1 borya + 1 bibliotekar + 1 gigant; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_borya, simulation_bibliotekar, simulation_gigant ;simulation_bloodsucker, simulation_psysucker,
spawn_num = {~10} 1, 0
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter )
spawn_squads = simulation_snork, simulation_snork_2_3, simulation_fracture, simulation_lurker, simulation_psy_dog, simulation_bibliotekar
spawn_num = {!actor_week_in_zone(2)} 1, {=actor_week_in_zone(2)} 0
[spawn_all_worst_c_2_2];-- Worst mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter )
spawn_squads = simulation_snork_2_3, simulation_snork_2_5, simulation_fracture, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_bibliotekar
spawn_num = {=actor_week_in_zone(2)} 1, {!actor_week_in_zone(2)} 0
;[on_changing_level]
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 33
max_population = 1
;max_population = 1
;respawn_params = respawn@pri_sim_11
;respawn_only_smart = false
;respawn_idle = 86400
@@ -17,16 +17,17 @@ spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter + 1 karlik )
spawn_squads = simulation_snork, simulation_snork_2_3, simulation_fracture, simulation_lurker, simulation_psy_dog, simulation_poltergeist_black, simulation_karlik
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter )
spawn_squads = simulation_snork, simulation_snork_2_3, simulation_fracture, simulation_lurker, simulation_psy_dog, simulation_bibliotekar
spawn_num = {!actor_week_in_zone(2)} 1, {=actor_week_in_zone(2)} 0
[spawn_all_worst_c_2_2];-- Worst mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter + 1 karlik )
spawn_squads = simulation_snork_2_3, simulation_snork_2_5, simulation_fracture, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_poltergeist_black, simulation_karlik
[spawn_all_worst_c_2_2];-- Worst mutants - Rates of groups: ( 2 snark + 1 fracture + 1 lurker + 1 psydog + 1 polter )
spawn_squads = simulation_snork_2_3, simulation_snork_2_5, simulation_fracture, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_bibliotekar
spawn_num = {=actor_week_in_zone(2)} 1, {!actor_week_in_zone(2)} 0
;[on_changing_level]
[on_changing_level]
on_info = %=script(redone_xr_dynamic_object:dynamic_object:misc\spawn_object\pri_sim_12_objects.ltx)%
;[smart_control]
@@ -17,12 +17,12 @@ spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog
spawn_num = {!actor_week_in_zone(2)} 1, {=actor_week_in_zone(2)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik; + 1 controller )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik ;simulation_contr_3sn_3gzomb
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad
spawn_num = {=actor_week_in_zone(2)} 1, {!actor_week_in_zone(2)} 0
@@ -1,6 +1,6 @@
[smart_terrain] ;-- Disabled spawn
squad_id = 8
max_population = 2
max_population = 1
;respawn_params = respawn@pri_sim_9
;respawn_only_smart = false
;respawn_idle = 86400
@@ -17,12 +17,12 @@ spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik; + 1 polter + 1 bloodsucker )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik; simulation_poltergeist_tele, simulation_bloodsucker_1_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog
spawn_num = {!actor_week_in_zone(3)} 1, {=actor_week_in_zone(3)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik; + 1 polter + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik; simulation_poltergeist_black, simulation_bloodsucker_1_2, simulation_psysucker_1_2
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 zombie + 1 snork + 1 lurker +1 psydog )
spawn_squads = simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad
spawn_num = {=actor_week_in_zone(3)} 1, {!actor_week_in_zone(3)} 0
@@ -6,30 +6,31 @@ respawn_only_smart = false
respawn_idle = 345600
respawn_radius = 50
;arrive_dist = 0
att_restr = nil
def_restr = nil
spawn_point = nil
smart_control = nil
;att_restr = nil
;def_restr = nil
;spawn_point = nil
;smart_control = nil
[respawn@pri_sim_7] ;-- Type:
spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 2 fracture + 1 snork + 1 psysucker + 1 psydog + 1 karlik )
spawn_squads = simulation_fracture, simulation_fracture, simulation_snork_2_3, simulation_karlik
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 2 fracture + 1 snork + 1 psysucker + 1 psydog )
spawn_squads = simulation_fracture, simulation_fracture, simulation_snork_2_3
spawn_num = {!actor_week_in_zone(3)} 1, {=actor_week_in_zone(3)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 2 fracture + 1 snork + 1 lurker + 1 karlik )
spawn_squads = simulation_fracture, simulation_fracture, simulation_snork_2_5, simulation_lurker, simulation_karlik
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 2 fracture + 1 snork + 1 lurker )
spawn_squads = simulation_fracture, simulation_fracture, simulation_snork_2_5, simulation_lurker
spawn_num = {=actor_week_in_zone(3)} 1, {!actor_week_in_zone(3)} 0
;[smart_control]
;[on_changing_level]
[on_changing_level]
on_info = %=script(redone_xr_dynamic_object:dynamic_object:misc\spawn_object\pri_sim_7_objects.ltx)%
[exclusive]
pri_sim_7_guard_work_1 = pripyat\pri_sim_7_smart_logic.ltx
pri_sim_7_guard_work_2 = pripyat\pri_sim_7_smart_logic.ltx
pri_sim_7_guard_work_3 = pripyat\pri_sim_7_smart_logic.ltx
pri_sim_7_guard_work_4 = pripyat\pri_sim_7_smart_logic.ltx
pri_sim_7_guard_work_4 = pripyat\pri_sim_7_smart_logic.ltx
@@ -4,7 +4,7 @@ max_population = 1
respawn_params = respawn@pri_smart_controler_lair1
respawn_only_smart = false
respawn_idle = 345600
respawn_radius = 100
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
@@ -18,15 +18,15 @@ spawn_burer_special
spawn_bibliotekar_special
[spawn_borya_special] ;-- Hard mutants - Rates of groups:( 1 borya )
[spawn_borya_special] ;-- Hard mutants - Rates of groups:( )
spawn_squads = pri_borya_lair_squad
spawn_num = {!squad_name_exist(pri_borya_lair_squad) !squad_name_exist(pri_burer_lair_squad) !squad_name_exist(pri_bibliotekar_lair_squad)} 1, 0
[spawn_burer_special] ;-- Hard mutants - Rates of groups:( 1 burer )
[spawn_burer_special] ;-- Hard mutants - Rates of groups:( )
spawn_squads = pri_burer_lair_squad
spawn_num = {!squad_name_exist(pri_borya_lair_squad) !squad_name_exist(pri_burer_lair_squad) !squad_name_exist(pri_bibliotekar_lair_squad)} 1, 0
[spawn_bibliotekar_special] ;-- Hard mutants - Rates of groups:( 1 bibliotekar )
[spawn_bibliotekar_special] ;-- Hard mutants - Rates of groups:( )
spawn_squads = pri_bibliotekar_lair_squad
spawn_num = {!squad_name_exist(pri_borya_lair_squad) !squad_name_exist(pri_burer_lair_squad) !squad_name_exist(pri_bibliotekar_lair_squad)} 1, 0
@@ -16,7 +16,7 @@ spawn_all_worst
[spawn_all_worst] ;-- Worst mutants - Rates of groups: ( 1 fracture + 1 snork + 1 psy_dog + 2 lurker + 1 chimera; + 1 bloodsucker )
spawn_squads = simulation_fracture, simulation_snork_2_5, simulation_psy_dog_squad, simulation_lurker_1_2, simulation_lurker_black, simulation_chimera ;simulation_bloodsucker_2weak
spawn_squads = simulation_fracture, simulation_snork_2_5, simulation_psy_dog_squad, simulation_lurker_1_2, simulation_lurker_black, simulation_chimera, simulation_bloodsucker_2weak, simulation_bibliotekar
spawn_num = 1
@@ -17,8 +17,8 @@ spawn_all_weak_c_1_1
spawn_all_normal_c_1_2
[spawn_all_weak_c_1_1] ;-- Weak mutants - Rates of groups: ( 2 tushkano + 2 dogs + 1 cats + 1 flesh )
spawn_squads = simulation_tushkano, simulation_tushkano, simulation_dog, simulation_mix_dogs, simulation_cat, simulation_flesh
[spawn_all_weak_c_1_1] ;-- Weak mutants - Rates of groups: ( 1 tushkano + 2 dogs + 1 cats + 1 flesh )
spawn_squads = simulation_tushkano, simulation_dog, simulation_mix_dogs, simulation_cat, simulation_flesh
spawn_num = {!actor_week_in_zone(1)} 1, {=actor_week_in_zone(1)} 0
[spawn_all_normal_c_1_2];-- Normal mutants - Rates of groups: ( 1 tushkano + 2 dogs + 1 cats + 3 fleshes/boars )
@@ -18,11 +18,11 @@ spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik; + 1 polter + 1 bloodsucker )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik; simulation_poltergeist_tele, simulation_bloodsucker_1_2
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik, simulation_bloodsucker_1_2
spawn_num = {!actor_week_in_zone(3)} 1, {=actor_week_in_zone(3)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik + 1 polter; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik, simulation_poltergeist_black; simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik, simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_num = {=actor_week_in_zone(3)} 1, {!actor_week_in_zone(3)} 0
@@ -1,10 +1,10 @@
[smart_terrain] ;-- Disabled spawn
[smart_terrain]
squad_id = 15
max_population = 1
;respawn_params = respawn@pri_smart_snork_lair2
;respawn_only_smart = false
;respawn_idle = 86400
;respawn_radius = 50
respawn_params = respawn@pri_smart_snork_lair2
respawn_only_smart = false
respawn_idle = 86400
respawn_radius = 50
;arrive_dist = 0
;smart_control = nil
;att_restr = nil
@@ -12,7 +12,18 @@ max_population = 1
;safe_restr = nil
;spawn_point = nil
;[respawn@pri_smart_snork_lair2] ;-- Type:
[respawn@pri_smart_snork_lair2] ;-- Type:
spawn_all_hard_c_2_1
spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 fracture + 1 snork + 1 bloodsucker + 1 psysucker + 1 psydog )
spawn_squads = simulation_fracture, simulation_snork_2_3, simulation_bloodsucker, simulation_psysucker
spawn_num = {!actor_week_in_zone(8)} 1, {=actor_week_in_zone(8)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 fracture + 1 snork + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_fracture, , simulation_snork_2_5, simulation_psy_dog_squad, simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_num = {=actor_week_in_zone(8)} 1, {!actor_week_in_zone(8)} 0
;[on_changing_level]
@@ -18,11 +18,11 @@ spawn_all_worst_c_2_2
[spawn_all_hard_c_2_1] ;-- Hard mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik; + 1 polter + 1 bloodsucker )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik; simulation_poltergeist_tele, simulation_bloodsucker_1_2
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_3, simulation_lurker, simulation_psy_dog, simulation_karlik, simulation_bloodsucker_1_2
spawn_num = {!actor_week_in_zone(6)} 1, {=actor_week_in_zone(6)} 0
[spawn_all_worst_c_2_2] ;-- Worst mutants - Rates of groups: ( 1 tushkano + 1 zombie + 1 snork + 1 lurker +1 psydog + 1 karlik + 1 polter; + 1 bloodsucker + 1 psysucker )
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik, simulation_poltergeist_black; simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_squads = simulation_tushkano_7_10, simulation_zombie_blind_3zomb_civ, simulation_snork_2_5, simulation_lurker_1_2, simulation_psy_dog_squad, simulation_karlik, simulation_bloodsucker_1_2, simulation_psysucker_1_2
spawn_num = {=actor_week_in_zone(6)} 1, {!actor_week_in_zone(6)} 0
@@ -0,0 +1,83 @@
function actor_on_first_update()
local lc_pool = {
["lc_jupiter01_to_limansk01"] = {
pos = vector():set(-226,21,-497),
smart = "jup_sim_2",
spot = "level_changer_down_left",
hint = "space_restrictor_to_limansk_desc",
},
["lc_jupiter01_to_limansk01.1"] = {
pos = vector():set(-206,3,-426),
smart = "jup_sim_2",
spot = "level_changer_spot_mini",
hint = "space_restrictor_to_limansk_desc",
},
["lc_limansk01_to_jupiter01"] = {
pos = vector():set(1,-4,-136),
smart = "lim_smart_terrain_4",
spot = "level_changer_right",
hint = "space_restrictor_to_jupiter_desc",
}
}
for sec,v in pairs(lc_pool) do
local se = get_story_se_item(sec)
if not (se) then
local pos = v.pos
local vid = level.vertex_id(pos)
local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id
se = alife():create(sec,pos,vid,gid)
end
if (se.position:distance_to_sqr(v.pos) > 0.1) then
local pos = v.pos
local vid = level.vertex_id(pos)
local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id
TeleportObject(se.id,pos,vid,gid)
end
if (level.map_has_object_spot(se.id,v.spot) == 0) then
level.map_add_object_spot_ser(se.id,v.spot,game.translate_string(v.hint))
end
end
end
function check_name(actor,obj,p)
return p and p[1] and obj and string.find(obj:name(),p[1]) and true
end
function teleport_actor(actor,obj)
local p = {
["lc_jupiter01_to_limansk01"] = {
pos = vector():set(-2.5950,-5.0593,-130.5251),
w_p = vector():set(-208.8593,3.3455,-421.7572),
smart = "lim_smart_terrain_4",
},
["lc_jupiter01_to_limansk01.1"] = {
pos = vector():set(-2.5950,-5.0593,-130.5251),
w_p = vector():set(-208.8593,3.3455,-421.7572),
smart = "lim_smart_terrain_4",
},
["lc_limansk01_to_jupiter01"] = {
pos = vector():set(-208.8593,3.3455,-421.7572),
w_p = vector():set(-2.5950,-5.0593,-130.5251),
smart = "jup_sim_2",
},
}
local sec = obj and obj:section()
local v = sec and p[sec]
if (v and v.w_p and v.pos and v.smart) then
db.actor:set_actor_position(v.w_p)
local pos = v.pos
local vid = level.vertex_id(pos)
local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id
ChangeLevel(pos,vid,gid,VEC_ZERO,true)
end
end
function on_game_start()
RegisterScriptCallback("actor_on_first_update",actor_on_first_update)
end
@@ -0,0 +1,200 @@
function actor_on_first_update()
local lc_pool = {
["lc_pri01_pri02"] = {
pos = vector():set(-240.457, -0.2567, 11.6087),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01"] = {
pos = vector():set(-246.8726, -1.8116, 21.0540),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01.1"] = {
pos = vector():set(-247.0531, -2.0173, 20.8227),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01.2"] = {
pos = vector():set(-247.4799, -1.1919, 21.7637),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01.3"] = {
pos = vector():set(-246.5143, -1.5847, 21.3174),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01.4"] = {
pos = vector():set(-247.3577, -1.5732, 21.3265),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri02_pri01.5"] = {
pos = vector():set(-246.7463, -1.2689, 21.6755),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri03_pri04"] = {
pos = vector():set(-52.1884, -0.2594, 230.8513),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03"] = {
pos = vector():set(-45.6381, -1.7064, 240.5140),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03.1"] = {
pos = vector():set(-45.8173, -1.9374, 240.2669),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03.2"] = {
pos = vector():set(-46.0537, -1.3073, 240.9701),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03.3"] = {
pos = vector():set(-44.9684, -1.5036, 240.7479),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03.4"] = {
pos = vector():set(-45.0185, -1.1524, 241.1490),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
},
["lc_pri04_pri03.5"] = {
pos = vector():set(-45.3993, -1.0871, 241.2229),
smart = "pri_sim_1",
spot = "level_changer_spot_mini",
hint = "pri_space_restrictor_to_cop_pripyat",
}
}
for sec,v in pairs(lc_pool) do
local se = get_story_se_item(sec)
if not (se) then
local pos = v.pos
local vid = level.vertex_id(pos)
local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id
se = alife():create(sec,pos,vid,gid)
end
if (se.position:distance_to_sqr(v.pos) > 0.1) then
local pos = v.pos
local vid = level.vertex_id(pos)
local gid = SIMBOARD.smarts_by_names[v.smart].m_game_vertex_id
TeleportObject(se.id,pos,vid,gid)
end
if (level.map_has_object_spot(se.id,v.spot) == 0) then
level.map_add_object_spot_ser(se.id,v.spot,game.translate_string(v.hint))
end
end
end
function check_name(actor,obj,p)
return p and p[1] and obj and string.find(obj:name(),p[1]) and true
end
function teleport_actor(actor,obj)
local p = {
["lc_pri01_pri02"] = {
pos = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
w_p = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
smart = "pri_sim_1",
},
["lc_pri02_pri01"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri02_pri01.1"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri02_pri01.2"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri02_pri01.3"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri02_pri01.4"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri02_pri01.5"] = {
pos = vector():set(-246.87268066406, -1.8116412162781, 21.054019927979),
w_p = vector():set(-240.45722961426, -0.25674521923065, 11.60870552063),
smart = "pri_sim_1",
},
["lc_pri03_pri04"] = {
pos = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
w_p = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
smart = "pri_sim_1",
},
["lc_pri04_pri03"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
["lc_pri04_pri03.1"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
["lc_pri04_pri03.2"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
["lc_pri04_pri03.3"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
["lc_pri04_pri03.4"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
["lc_pri04_pri03.5"] = {
pos = vector():set(-45.638130187988, -1.7064807415009, 240.51406860352),
w_p = vector():set(-52.188484191895, -0.25943338871002, 230.85137939453),
smart = "pri_sim_1",
},
}
local sec = obj and obj:section()
local v = sec and p[sec]
if (v and v.w_p and v.pos and v.smart) then
db.actor:set_actor_position(v.w_p)
end
end
function on_game_start()
RegisterScriptCallback("actor_on_first_update",actor_on_first_update)
end

Some files were not shown because too many files have changed in this diff Show More