add game&rawdata

This commit is contained in:
Vasily Petrov 2026-06-17 23:06:51 +03:00
parent 0133cd976c
commit 49b34b5546
45731 changed files with 709831 additions and 0 deletions

View file

@ -0,0 +1,252 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_arch]
active = camper@kovalski_arch_1
suitable = {-pri_a28_arch_done =check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@kovalski_arch_1]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_arch_1
on_info = {=npc_in_zone(pri_a28_sr_arch_1) +pri_a28_strelok_go_over_anomaly} camper@kovalski_arch_1_wait
[camper@kovalski_arch_1_wait]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_arch_1
on_game_timer = 40 | %=play_sound(pri_a28_colonel_ok_go_here)%
on_signal = sound_end | camper@kovalski_arch_2 %+pri_a28_colonel_ok_go_here%
on_info = {+pri_a28_colonel_ok_go_here} camper@kovalski_arch_2
[camper@kovalski_arch_2]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_arch_2
on_signal = path_end | camper@kovalski_arch_2_wait
[camper@kovalski_arch_2_wait]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_arch_2
on_info = {+pri_a28_evac_com_where_you} remark@kovalski_arch_2
[remark@kovalski_arch_2]:walker@kovalski_ignore
target = story | actor
anim = wait_rac
out_restr = pri_a28_sr_arch_2
on_signal = anim_end | remark@kovalski_arch_2_answer
[remark@kovalski_arch_2_answer]:walker@kovalski_ignore
target = story | actor
anim = wait_rac
out_restr = pri_a28_sr_arch_2
on_signal = sound_end | remark@kovalski_arch_2_1 %+pri_a28_colonel_we_close%
on_info = %=play_sound(pri_a28_colonel_we_close)%
[remark@kovalski_arch_2_1]:walker@kovalski_ignore
target = story | actor
anim = wait_rac
out_restr = pri_a28_sr_arch_2
on_signal = sound_end | {=dist_to_actor_le(15)} remark@kovalski_arch_2_talk, remark@kovalski_arch_2_wait
on_info2 = {+pri_a28_evac_com_cant_wait} %=play_sound(pri_a28_colonel_will_time)%
[remark@kovalski_arch_2_wait]:walker@kovalski_ignore
target = story | actor
anim = hide_na
out_restr = pri_a28_sr_arch_2
on_game_timer = 300 | {=dist_to_actor_ge(15) -pri_a28_strelok_dead} %=play_sound(pri_a28_colonel_wait_actor) +pri_a28_colonel_wait_actor%
on_game_timer2 = 450 | {=dist_to_actor_ge(15)} %=play_sound(pri_a28_colonel_wait_actor_long) +pri_a28_colonel_wait_actor%
on_game_timer3 = 600 | {=dist_to_actor_ge(15)} remark@kovalski_arch_2_talk %=play_sound(pri_a28_colonel_wait_actor_go)%
on_info = {-pri_a28_actor_enemy_to_squad =dist_to_actor_le(15) +pri_a28_colonel_wait_actor} remark@kovalski_arch_2_talk %=play_sound(pri_a28_colonel_wait_actor_return)%
on_info2 = {-pri_a28_actor_enemy_to_squad =dist_to_actor_le(15) -pri_a28_colonel_wait_actor} remark@kovalski_arch_2_talk
on_info3 = {+pri_a28_actor_enemy_to_squad} remark@kovalski_arch_2_talk
[remark@kovalski_arch_2_talk]:walker@kovalski_ignore
target = story | actor
anim = hide_na
out_restr = pri_a28_sr_arch_2
on_signal = sound_end | %+pri_a28_arch_done%
on_game_timer = 10 | %=play_sound(pri_a28_colonel_ready_to_go)%
[logic@pri_a28_strelok_arch]
active = camper@strelok_arch_1
suitable = {-pri_a28_arch_done =check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@strelok_arch_1]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_arch_1
on_signal = path_end | {+pri_a28_strelok_go_over_anomaly} walker@strelok_arch_1_fight
on_info = {-pri_a28_strelok_go_over_anomaly !npc_in_zone(pri_a28_sr_shop_3_small)} %+pri_a28_strelok_go_over_anomaly =play_sound(pri_a28_strelok_go_over_anomaly)%
[walker@strelok_arch_1_fight]:walker@fight
path_walk = strelok_1_walk
path_look = strelok_1_look
out_restr = pri_a28_sr_arch_1
on_info = {+pri_a28_colonel_ok_go_here} camper@strelok_arch_2 %=disable_memory_object%
[camper@strelok_arch_2]:walker@ignore
path_walk = strelok_2_walk
path_look = strelok_2_look
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_1_arch]
active = camper@military_1_arch_1
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_1_arch_1]:walker@ignore
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_arch_1
on_signal = path_end | walker@military_1_arch_1_fight
[walker@military_1_arch_1_fight]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
out_restr = pri_a28_sr_arch_1
on_info = {+pri_a28_colonel_ok_go_here} camper@military_1_arch_2 %=disable_memory_object%
[camper@military_1_arch_2]:walker@ignore
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_2_arch]
active = camper@military_2_arch_1
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_2_arch_1]:walker@ignore
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_arch_1
on_signal = path_end | walker@military_2_arch_1_fight
[walker@military_2_arch_1_fight]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
out_restr = pri_a28_sr_arch_1
on_info = {+pri_a28_colonel_ok_go_here} camper@military_2_arch_2 %=disable_memory_object%
[camper@military_2_arch_2]:walker@ignore
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_3_arch]
active = camper@military_3_arch_1_fight
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_3_arch_1_fight]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
no_retreat = false
out_restr = pri_a28_sr_arch_1
on_info = {+pri_a28_arch_leave} camper@military_3_arch_2
[camper@military_3_arch_2]:walker@fight
path_walk = military_3_2_walk
path_look = military_3_2_look
no_retreat = false
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_4_arch]
active = camper@military_4_arch_1_fight
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_4_arch_1_fight]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_arch_1
no_retreat = false
on_info = {+pri_a28_arch_leave} camper@military_4_arch_2
[camper@military_4_arch_2]:walker@fight
path_walk = military_4_2_walk
path_look = military_4_2_look
no_retreat = false
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_5_arch]
active = camper@military_5_arch_1_fight
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_5_arch_1_fight]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
out_restr = pri_a28_sr_arch_1
no_retreat = false
on_info = {+pri_a28_arch_leave} camper@military_5_arch_2
[camper@military_5_arch_2]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
no_retreat = false
out_restr = pri_a28_sr_arch_2
[logic@pri_a28_military_6_arch]
active = camper@military_6_arch_1_fight
suitable = {-pri_a28_arch_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_6_arch_1_fight]:walker@fight
path_walk = military_6_1_walk
path_look = military_6_1_look
out_restr = pri_a28_sr_arch_1
no_retreat = false
on_info = {+pri_a28_arch_leave} camper@military_6_arch_2
[camper@military_6_arch_2]:walker@fight
path_walk = military_6_2_walk
path_look = military_6_2_look
no_retreat = false
out_restr = pri_a28_sr_arch_2

View file

@ -0,0 +1,107 @@
[logic@pri_a28_zombied_1_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_1_arch_walk
[logic@pri_a28_zombied_2_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_2_arch_walk
[logic@pri_a28_zombied_3_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_3_arch_walk
[logic@pri_a28_zombied_4_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_4_arch_walk
[logic@pri_a28_zombied_5_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_5_arch_walk
[logic@pri_a28_zombied_6_arch]
suitable = {=target_squad_name(pri_a28_arch_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_6_arch_walk
[walker@pri_a28_zombied_1_arch_walk]
path_walk = zombied_1_walk
on_info = walker@pri_a28_zombied_1_arch_wait %=teleport_npc(pri_a28_arch_zombied_1_walk)%
[walker@pri_a28_zombied_2_arch_walk]
path_walk = zombied_2_walk
on_info = walker@pri_a28_zombied_2_arch_wait %=teleport_npc(pri_a28_arch_zombied_2_walk)%
[walker@pri_a28_zombied_3_arch_walk]
path_walk = zombied_3_walk
on_info = walker@pri_a28_zombied_3_arch_wait %=teleport_npc(pri_a28_arch_zombied_3_walk)%
[walker@pri_a28_zombied_4_arch_walk]
path_walk = zombied_4_walk
on_info = walker@pri_a28_zombied_4_arch_wait %=teleport_npc(pri_a28_arch_zombied_4_walk)%
[walker@pri_a28_zombied_5_arch_walk]
path_walk = zombied_5_walk
on_info = walker@pri_a28_zombied_5_arch_wait %=teleport_npc(pri_a28_arch_zombied_5_walk)%
[walker@pri_a28_zombied_6_arch_walk]
path_walk = zombied_6_walk
on_info = walker@pri_a28_zombied_6_arch_wait %=teleport_npc(pri_a28_arch_zombied_6_walk)%
[walker@pri_a28_zombied_1_arch_wait]
path_walk = zombied_1_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_1_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_arch_attack
[walker@pri_a28_zombied_2_arch_wait]
path_walk = zombied_2_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_1_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_arch_attack
[walker@pri_a28_zombied_3_arch_wait]
path_walk = zombied_3_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_2_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_arch_attack
[walker@pri_a28_zombied_4_arch_wait]
path_walk = zombied_4_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_2_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_arch_attack
[walker@pri_a28_zombied_5_arch_wait]
path_walk = zombied_5_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_3_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_arch_attack
[walker@pri_a28_zombied_6_arch_wait]
path_walk = zombied_6_walk
combat_ignore_cond = true
on_info = {+pri_a28_strelok_go_over_anomaly} walker@pri_a28_zombied_3_arch_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_arch_attack
[walker@pri_a28_zombied_1_arch_attack]
path_walk = zombied_1_attack
on_signal = path_end | %+pri_a28_arch_zombied_done%
[walker@pri_a28_zombied_2_arch_attack]
path_walk = zombied_2_attack
on_signal = path_end | %+pri_a28_arch_zombied_done%
[walker@pri_a28_zombied_3_arch_attack]
path_walk = zombied_3_attack
on_signal = path_end | %+pri_a28_arch_zombied_done%

View file

@ -0,0 +1,311 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_base]
active = walker@kovalski_base_1
suitable = {-pri_a28_base_done =check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@kovalski_base_1]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a16_sr_noweap
on_info = {=npc_in_zone(pri_a28_sr_base_1) !npc_in_zone(pri_surge_hide_a16) +pri_a28_heli_near_base} remark@kovalski_base_1
[remark@kovalski_base_1]:walker@kovalski_ignore
target = story | pri_a28_heli
anim = threat_na
out_restr = pri_a16_sr_noweap
on_signal = sound_end | walker@kovalski_base_1_stand %+pri_a28_colonel_about_heli%
on_info = %=play_sound(pri_a28_colonel_about_heli)%
on_info2 = {+pri_a28_colonel_about_heli} walker@kovalski_base_1_stand
[walker@kovalski_base_1_stand]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_army_zombied_first} walker@kovalski_base_1_wait
[walker@kovalski_base_1_wait]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a16_sr_noweap
on_game_timer = 30 | %=play_sound(pri_a28_colonel_zombied_first)%
on_signal = sound_end | %+pri_a28_colonel_zombied_first%
on_info = {+pri_a28_colonel_zombied_first} smartcover@kovalski_base_1_fight
[smartcover@kovalski_base_1_fight]:walker@fight
cover_name = pri_a28_base_cover_2
use_in_combat = true
out_restr = pri_a16_sr_noweap
on_game_timer = 80 | camper@kovalski_base_2 %+pri_a28_base_leave%
on_info = {+pri_a28_base_leave} camper@kovalski_base_2
on_info2 = {=in_dest_smart_cover !has_enemy_in_current_loopholes_fov} walker@kovalski_base_1_fight
[walker@kovalski_base_1_fight]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a16_sr_noweap
on_game_timer = 60 | %+pri_a28_base_leave%
on_info = {+pri_a28_base_leave} camper@kovalski_base_2 %=disable_memory_object%
[camper@kovalski_base_2]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_shop_1
[logic@pri_a28_kirillov_base]
active = walker@kirillov_base_1
suitable = {-pri_a28_base_done =check_npc_name(army_signaller)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@kirillov_base_1]:walker@ignore
path_walk = kirillov_1_walk
path_look = kirillov_1_look
def_state_standing = hide_na
out_restr = pri_a16_sr_noweap
on_info = {=npc_in_zone(pri_a28_sr_base_1) !npc_in_zone(pri_surge_hide_a16) +pri_a28_colonel_about_heli} walker@kirillov_base_1_wait
[walker@kirillov_base_1_wait]:walker@ignore
path_walk = kirillov_1_walk
path_look = kirillov_1_look
def_state_standing = hide_na
out_restr = pri_a16_sr_noweap
on_game_timer = 10 | %=play_sound(pri_a28_army_zombied_first)%
on_signal = sound_end | walker@kirillov_base_1_fight %+pri_a28_army_zombied_first%
on_info = {+pri_a28_army_zombied_first} walker@kirillov_base_1_fight
[walker@kirillov_base_1_fight]:walker@fight
path_walk = kirillov_1_walk
path_look = kirillov_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_colonel_zombied_first} camper@kirillov_base_2 %=disable_memory_object%
[camper@kirillov_base_2]:walker@ignore
path_walk = kirillov_2_walk
path_look = kirillov_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | smartcover@kirillov_base_2_fight
[smartcover@kirillov_base_2_fight]:walker@fight
cover_name = pri_a28_base_cover_7
use_in_combat = true
out_restr = pri_a28_sr_base_2
on_info = {=in_dest_smart_cover !has_enemy_in_current_loopholes_fov} walker@kirillov_base_2_fight
[walker@kirillov_base_2_fight]:walker@fight
path_walk = kirillov_2_walk
path_look = kirillov_2_look
out_restr = pri_a28_sr_base_2
[logic@pri_a28_strelok_base]
active = walker@strelok_base_1
suitable = {-pri_a28_base_done =check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@strelok_base_1]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_army_zombied_first} walker@strelok_base_1_fight
[walker@strelok_base_1_fight]:walker@fight
path_walk = strelok_1_walk
path_look = strelok_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_colonel_zombied_first} camper@strelok_base_2 %=disable_memory_object%
[camper@strelok_base_2]:walker@ignore
path_walk = strelok_2_walk
path_look = strelok_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@strelok_base_2_fight
[walker@strelok_base_2_fight]:walker@fight
path_walk = strelok_2_walk
path_look = strelok_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_base_2
[logic@pri_a28_military_1_base]
active = walker@military_1_base_1
suitable = {-pri_a28_base_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(army_signaller) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_1_base_1]:walker@ignore
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_army_zombied_first} walker@military_1_base_1_fight
[walker@military_1_base_1_fight]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_base_leave} camper@military_1_base_2 %=disable_memory_object%
[camper@military_1_base_2]:walker@ignore
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@military_1_base_2_fight
[walker@military_1_base_2_fight]:walker@fight
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_sr_base_2
[logic@pri_a28_military_2_base]
active = walker@military_2_base_1
suitable = {-pri_a28_base_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(army_signaller) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_2_base_1]:walker@ignore
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_army_zombied_first} walker@military_2_base_1_fight
[walker@military_2_base_1_fight]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_colonel_zombied_first} camper@military_2_base_2 %=disable_memory_object%
[camper@military_2_base_2]:walker@ignore
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@military_2_base_2_fight
[walker@military_2_base_2_fight]:walker@fight
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_sr_base_2
[logic@pri_a28_military_3_base]
active = walker@military_3_base_1
suitable = {-pri_a28_base_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(army_signaller) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_3_base_1]:walker@ignore
path_walk = military_3_1_walk
path_look = military_3_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_army_zombied_first} walker@military_3_base_1_fight
[walker@military_3_base_1_fight]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_colonel_zombied_first} camper@military_3_base_2 %=disable_memory_object%
[camper@military_3_base_2]:walker@ignore
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@military_3_base_2_fight
[walker@military_3_base_2_fight]:walker@fight
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_sr_base_2
[logic@pri_a28_military_4_base]
active = walker@military_4_base_1
suitable = {-pri_a28_base_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(army_signaller) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_4_base_1]:walker@ignore
path_walk = military_4_1_walk
path_look = military_4_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_army_zombied_first} walker@military_4_base_1_fight
[walker@military_4_base_1_fight]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_base_1
on_info = {+pri_a28_base_leave} camper@military_4_base_2 %=disable_memory_object%
[camper@military_4_base_2]:walker@ignore
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@military_4_base_2_fight
[walker@military_4_base_2_fight]:walker@fight
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_sr_base_2
[logic@pri_a28_military_5_base]
active = walker@military_5_base_1
suitable = {-pri_a28_base_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(army_signaller) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_5_base_1]:walker@ignore
path_walk = military_5_1_walk
path_look = military_5_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_army_zombied_first} walker@military_5_base_1_fight
[walker@military_5_base_1_fight]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
out_restr = pri_a16_sr_noweap
on_info = {+pri_a28_base_leave} camper@military_5_base_2 %=disable_memory_object%
[camper@military_5_base_2]:walker@ignore
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_sr_base_2
on_signal = path_end | walker@military_5_base_2_fight
[walker@military_5_base_2_fight]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_sr_base_2

View file

@ -0,0 +1,216 @@
[logic@pri_a28_zombied_1_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_1_base_walk
[logic@pri_a28_zombied_2_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_2_base_walk
[logic@pri_a28_zombied_3_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_3_base_walk
[logic@pri_a28_zombied_4_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_4_base_walk
[logic@pri_a28_zombied_5_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_5_base_walk
[logic@pri_a28_zombied_6_base]
suitable = {=target_squad_name(pri_a28_base_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_6_base_walk
[walker@pri_a28_zombied_1_base_walk]
path_walk = zombied_1_walk
on_info = walker@pri_a28_zombied_1_base_wait %=teleport_npc(pri_a28_base_zombied_1_walk)%
[walker@pri_a28_zombied_2_base_walk]
path_walk = zombied_2_walk
on_info = walker@pri_a28_zombied_2_base_wait %=teleport_npc(pri_a28_base_zombied_2_walk)%
[walker@pri_a28_zombied_3_base_walk]
path_walk = zombied_3_walk
on_info = walker@pri_a28_zombied_3_base_wait %=teleport_npc(pri_a28_base_zombied_3_walk)%
[walker@pri_a28_zombied_4_base_walk]
path_walk = zombied_4_walk
on_info = walker@pri_a28_zombied_4_base_wait %=teleport_npc(pri_a28_base_zombied_4_walk)%
[walker@pri_a28_zombied_5_base_walk]
path_walk = zombied_5_walk
on_info = walker@pri_a28_zombied_5_base_wait %=teleport_npc(pri_a28_base_zombied_5_walk)%
[walker@pri_a28_zombied_6_base_walk]
path_walk = zombied_6_walk
on_info = walker@pri_a28_zombied_6_base_wait %=teleport_npc(pri_a28_base_zombied_6_walk)%
[walker@pri_a28_zombied_1_base_wait]
path_walk = zombied_1_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_1_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_base_attack
[walker@pri_a28_zombied_2_base_wait]
path_walk = zombied_2_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_1_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_base_attack
[walker@pri_a28_zombied_3_base_wait]
path_walk = zombied_3_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_2_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_base_attack
[walker@pri_a28_zombied_4_base_wait]
path_walk = zombied_4_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_2_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_base_attack
[walker@pri_a28_zombied_5_base_wait]
path_walk = zombied_5_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_3_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_base_attack
[walker@pri_a28_zombied_6_base_wait]
path_walk = zombied_6_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_3_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_base_attack
[walker@pri_a28_zombied_1_base_attack]
path_walk = zombied_1_attack
on_signal = path_end | %+pri_a28_base_zombied_done%
[walker@pri_a28_zombied_2_base_attack]
path_walk = zombied_2_attack
on_signal = path_end | %+pri_a28_base_zombied_done%
[walker@pri_a28_zombied_3_base_attack]
path_walk = zombied_3_attack
on_signal = path_end | %+pri_a28_base_zombied_done%
[logic@pri_a28_zombied_7_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_7_base_walk
[logic@pri_a28_zombied_8_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_8_base_walk
[logic@pri_a28_zombied_9_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_9_base_walk
[logic@pri_a28_zombied_10_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_10_base_walk
[logic@pri_a28_zombied_11_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_11_base_walk
[logic@pri_a28_zombied_12_base]
suitable = {=target_squad_name(pri_a28_base_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_12_base_walk
[walker@pri_a28_zombied_7_base_walk]
path_walk = zombied_7_walk
on_info = walker@pri_a28_zombied_7_base_wait %=teleport_npc(pri_a28_base_zombied_7_walk)%
[walker@pri_a28_zombied_8_base_walk]
path_walk = zombied_8_walk
on_info = walker@pri_a28_zombied_8_base_wait %=teleport_npc(pri_a28_base_zombied_8_walk)%
[walker@pri_a28_zombied_9_base_walk]
path_walk = zombied_9_walk
on_info = walker@pri_a28_zombied_9_base_wait %=teleport_npc(pri_a28_base_zombied_9_walk)%
[walker@pri_a28_zombied_10_base_walk]
path_walk = zombied_10_walk
on_info = walker@pri_a28_zombied_10_base_wait %=teleport_npc(pri_a28_base_zombied_10_walk)%
[walker@pri_a28_zombied_11_base_walk]
path_walk = zombied_11_walk
on_info = walker@pri_a28_zombied_11_base_wait %=teleport_npc(pri_a28_base_zombied_11_walk)%
[walker@pri_a28_zombied_12_base_walk]
path_walk = zombied_12_walk
on_info = walker@pri_a28_zombied_12_base_wait %=teleport_npc(pri_a28_base_zombied_12_walk)%
[walker@pri_a28_zombied_7_base_wait]
path_walk = zombied_7_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_1_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_base_attack
[walker@pri_a28_zombied_8_base_wait]
path_walk = zombied_8_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_2_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_base_attack
[walker@pri_a28_zombied_9_base_wait]
path_walk = zombied_9_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_2_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_base_attack
[walker@pri_a28_zombied_10_base_wait]
path_walk = zombied_10_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_4_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_4_base_attack
[walker@pri_a28_zombied_11_base_wait]
path_walk = zombied_11_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_4_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_4_base_attack
[walker@pri_a28_zombied_12_base_wait]
path_walk = zombied_12_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_first} walker@pri_a28_zombied_5_base_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_5_base_attack
[walker@pri_a28_zombied_4_base_attack]
path_walk = zombied_4_attack
on_signal = path_end | %+pri_a28_base_zombied_done%
[walker@pri_a28_zombied_5_base_attack]
path_walk = zombied_5_attack
on_signal = path_end | %+pri_a28_base_zombied_done%

View file

@ -0,0 +1,49 @@
[walker@ignore]
wounded = wounded@no_wound
def_state_standing = threat_na
def_state_moving = assault
meet = no_meet
use_camp = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
;Wounded - no wounds
[wounded@no_wound]
hp_state = 0 | wounded_heavy@help_heavy
hp_state_see = 0 | wounded_heavy@help_heavy
hp_victim = 0 | nil
hp_cover = 0 | false
hp_fight = 0 | false
[logic]
active = walker@start
[walker@start]:walker@ignore
path_walk = pri_a28_cutscene_actor_walk
path_look = pri_a28_cutscene_actor_look
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a28_commander_on_position} smartcover@cutscene %=teleport_npc(pri_a28_cutscene_actor_walk)%
[smartcover@cutscene]:walker@ignore
cover_name = pri_a28_cutscene_actor_cover
combat_ignore_cond = true
on_info = {+pri_a28_evac_com_ready -pri_a28_strelok_dead} %=play_sound(pri_a28_actor_to_strelok)%
on_info2 = {+pri_a28_evac_com_ready +pri_a28_strelok_dead +pri_a28_somebody_alive} %=play_sound(pri_a28_actor_scene_end_when_strelok_dead)%
on_info3 = {+pri_a28_evac_com_ready +pri_a28_strelok_dead -pri_a28_somebody_alive} %=play_sound(pri_a28_actor_scene_end)%
on_signal = sound_end | %+pri_a28_final_actor_speech_done%
on_info4 = {+pri_a28_team_heli_run +pri_a28_strelok_dead} walker@heli_run
on_info5 = {+pri_a28_actor_heli_run -pri_a28_strelok_dead} walker@heli_run
[walker@heli_run]:walker@ignore
path_walk = pri_a28_cutscene_actor_away
def_state_moving = sneak_run
on_game_timer = 20 | %+pri_a28_cut_1_end%
on_info = {+pri_a28_show_freeplay_dialog} %=destroy_object%

View file

@ -0,0 +1,45 @@
[walker@ignore]
wounded = wounded@no_wound
def_state_standing = threat_na
def_state_moving = assault
meet = no_meet
use_camp = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
;Wounded - no wounds
[wounded@no_wound]
hp_state = 0 | wounded_heavy@help_heavy
hp_state_see = 0 | wounded_heavy@help_heavy
hp_victim = 0 | nil
hp_cover = 0 | false
hp_fight = 0 | false
[logic]
active = smartcover@evac_comm
[smartcover@evac_comm]:walker@ignore
cover_name = pri_a28_heli_cover_33
combat_ignore_cond = true
meet = no_meet
on_game_timer = 60 | {+pri_a28_scene_end -pri_a28_commander_on_position} smartcover@evac_comm_snd %+pri_a28_commander_on_position%
[smartcover@evac_comm_snd]:smartcover@evac_comm
on_game_timer = 70 | %=play_sound(pri_a28_evac_com_ready)%
on_signal = sound_end | %+pri_a28_evac_com_ready%
on_info = {+pri_a28_final_actor_speech_done +pri_a28_strelok_dead} walker@evac_comm_run %=play_sound(pri_a28_evac_com_scene_end_when_strelok_dead)%
on_info2 = {+pri_a28_final_actor_speech_done -pri_a28_strelok_dead} walker@evac_comm_run
[walker@evac_comm_run]:walker@ignore
path_walk = pri_a28_cutscene_commander_away
def_state_moving = sneak_run
combat_ignore_cond = true
meet = no_meet
on_game_timer = 20 | {-pri_a28_team_heli_run} %+pri_a28_team_heli_run%
on_info = {+pri_a28_show_freeplay_dialog} %=destroy_object%

View file

@ -0,0 +1,39 @@
[walker@ignore]
wounded = wounded@no_wound
def_state_standing = threat_na
def_state_moving = assault
meet = no_meet
use_camp = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
;Wounded - no wounds
[wounded@no_wound]
hp_state = 0 | wounded_heavy@help_heavy
hp_state_see = 0 | wounded_heavy@help_heavy
hp_victim = 0 | nil
hp_cover = 0 | false
hp_fight = 0 | false
[logic]
active = smartcover@strelok
[smartcover@strelok]:walker@ignore
cover_name = pri_a28_heli_cover_32
combat_ignore_cond = true
meet = no_meet
on_info = {+pri_a28_team_heli_run} walker@strelok_run
on_info2 = {+pri_a28_strelok_dead} %=destroy_object%
[walker@strelok_run]:walker@ignore
path_walk = pri_a28_cutscene_strelok_away
def_state_moving = sneak_run
meet = no_meet
on_game_timer = 20 | {-pri_a28_actor_heli_run} %+pri_a28_actor_heli_run%
on_info = {+pri_a28_show_freeplay_dialog} %=destroy_object%

View file

@ -0,0 +1,443 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_evac]
active = camper@kovalski_evac_1
suitable = {-pri_a28_evac_done =check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@kovalski_evac_1]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@kovalski_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@kovalski_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@kovalski_evac_2
[remark@kovalski_horror_1]:walker@kovalski_ignore
anim = hide_na
target = path | pri_a28_horror_look, 3
on_game_timer = 36 | remark@kovalski_horror_2
[remark@kovalski_horror_2]:walker@kovalski_ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_game_timer = 28 | remark@kovalski_horror_3
[remark@kovalski_horror_3]:walker@kovalski_ignore
anim = hide_na
target = path | pri_a28_horror_look, 4
on_info = {+pri_a28_strelok_run} camper@kovalski_evac_2
[camper@kovalski_evac_2]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_signal = path_end | remark@kovalski_evac_2_wait
[remark@kovalski_evac_2_wait]:walker@kovalski_ignore
target = story | actor
anim = hide_na
out_restr = pri_a28_sr_evac_1
on_game_timer = 300 | {=dist_to_actor_ge(15) -pri_a28_strelok_dead} %=play_sound(pri_a28_colonel_wait_actor) +pri_a28_colonel_wait_actor%
on_game_timer2 = 450 | {=dist_to_actor_ge(15)} %=play_sound(pri_a28_colonel_wait_actor_long) +pri_a28_colonel_wait_actor%
on_game_timer3 = 600 | {=dist_to_actor_ge(15)} remark@kovalski_evac_2_talk %=play_sound(pri_a28_colonel_wait_actor_go)%
on_info = {-pri_a28_actor_enemy_to_squad =dist_to_actor_le(30) +pri_a28_colonel_wait_actor} remark@kovalski_evac_2_talk %=play_sound(pri_a28_colonel_wait_actor_return)%
on_info2 = {-pri_a28_actor_enemy_to_squad =dist_to_actor_le(30) -pri_a28_colonel_wait_actor} remark@kovalski_evac_2_talk
on_info3 = {-pri_a28_actor_enemy_to_squad +pri_a28_evac_leave} camper@kovalski_evac_3 %=play_sound(pri_a28_colonel_wait_actor_go)%
on_info4 = {+pri_a28_actor_enemy_to_squad} remark@kovalski_evac_2_talk
[remark@kovalski_evac_2_talk]:walker@kovalski_ignore
target = story | actor
anim = hide_na
out_restr = pri_a28_sr_evac_2
on_signal = sound_end | camper@kovalski_evac_3 %+pri_a28_evac_leave%
on_game_timer = 10 | %=play_sound(pri_a28_colonel_clear_the_deck)%
[camper@kovalski_evac_3]:walker@kovalski_ignore
path_walk = kovalski_3_walk
path_look = kovalski_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
on_info = {+pri_a28_evac_come_close_done =npc_in_zone(pri_a28_sr_evac_2)} %=play_sound(pri_a28_colonel_see_helicopter)%
on_signal = sound_end | %+pri_a28_evac_done%
[logic@pri_a28_medic_evac]
active = camper@medic_evac_1
suitable = {-pri_a28_evac_done =check_npc_name(base_medic)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@medic_evac_1]:walker@fight
path_walk = medic_2_walk
path_look = medic_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_horror
on_info = {=npc_in_zone(pri_a28_sr_horror)} camper@medic_evac_1_wait
[camper@medic_evac_1_wait]:walker@ignore
path_walk = medic_2_walk
path_look = medic_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_horror
on_game_timer = 15 | remark@medic_horror_1
[remark@medic_horror_1]:walker@ignore
anim = threat_heli
target = path | pri_a28_horror_look, 0
on_signal = sound_end | remark@medic_horror_2 %+pri_a28_army_what_is_that +pri_a28_horror_start%
on_info = %=play_sound(pri_a28_army_what_is_that)%
[remark@medic_horror_2]:walker@ignore
anim = threat_heli
target = path | pri_a28_horror_look, 1
on_game_timer = 45 | remark@medic_horror_3
[remark@medic_horror_3]:walker@ignore
anim = threat_heli
target = path | pri_a28_horror_look, 2
on_info2 = {+pri_a28_strelok_dont_stop} remark@medic_horror_4
[remark@medic_horror_4]:walker@ignore
anim = pri_a25_psy_medic_idle
target = path | pri_a28_horror_look, 1
on_signal = sound_end | remark@medic_horror_5 %+pri_a28_army_its_here =give_task(pri_a28_recover_medic)%
on_game_timer = 10 | %=play_sound(pri_a28_army_its_here)%
[remark@medic_horror_5]:walker@ignore
anim = pri_a25_psy_medic_idle
target = path | pri_a28_horror_look, 2
meet = meet@medic_horror_wait
on_game_timer = 30 | remark@medic_horror_wait
[remark@medic_horror_wait]:walker@ignore
anim = pri_a25_psy_medic_idle
target = path | pri_a28_horror_look, 3
meet = meet@medic_horror_wait
on_signal = sound_end | remark@medic_horror_recovered %+pri_a28_medic_recovered%
on_info = {+pri_a28_medic_recovered} remark@medic_horror_recovered
[meet@medic_horror_wait]
abuse = false
use = false
snd_on_use = pri_a28_army_confusion
use_text = pri_a28_talk_with_stupid_medic
close_distance = 0
far_distance = 0
[remark@medic_horror_recovered]:walker@ignore
anim = pri_a25_psy_medic_out
target = story | actor
on_signal = anim_end | camper@medic_evac_2
[camper@medic_evac_2]:walker@ignore
path_walk = medic_1_walk
path_look = medic_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@medic_evac_3
[camper@medic_evac_3]:walker@ignore
path_walk = medic_3_walk
path_look = medic_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_strelok_evac]
active = camper@strelok_evac_1
suitable = {-pri_a28_evac_done =check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@strelok_evac_1]:walker@fight
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@strelok_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@strelok_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_army_what_is_that} remark@strelok_horror_1
[remark@strelok_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 2
on_game_timer = 23 | remark@strelok_horror_2
[remark@strelok_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_game_timer = 31 | remark@strelok_horror_3
[remark@strelok_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 3
on_game_timer = 15 | %=play_sound(pri_a28_strelok_dont_stop)%
on_signal = sound_end | %+pri_a28_strelok_dont_stop%
on_info = {+pri_a28_army_its_here} remark@strelok_horror_4
[remark@strelok_horror_4]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_game_timer = 10 | %=play_sound(pri_a28_strelok_run)%
on_signal = sound_end | camper@strelok_evac_2 %+pri_a28_strelok_run%
[camper@strelok_evac_2]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@strelok_evac_3
[camper@strelok_evac_3]:walker@ignore
path_walk = strelok_3_walk
path_look = strelok_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_military_1_evac]
active = camper@military_1_evac_1
suitable = {-pri_a28_evac_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_1_evac_1]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@military_1_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@military_1_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@military_1_evac_2
[remark@military_1_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 4
on_game_timer = 44 | remark@military_1_horror_2
[remark@military_1_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_game_timer = 12 | remark@military_1_horror_3
[remark@military_1_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 2
on_info = {+pri_a28_strelok_run} camper@military_1_evac_2
[camper@military_1_evac_2]:walker@ignore
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@military_1_evac_3
[camper@military_1_evac_3]:walker@fight
path_walk = military_1_3_walk
path_look = military_1_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_military_2_evac]
active = camper@military_2_evac_1
suitable = {-pri_a28_evac_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_2_evac_1]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@military_2_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@military_2_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@military_2_evac_2
[remark@military_2_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 3
on_game_timer = 28 | remark@military_2_horror_2
[remark@military_2_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 4
on_game_timer = 36 | remark@military_2_horror_3
[remark@military_2_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 3
on_info = {+pri_a28_strelok_run} camper@military_2_evac_2
[camper@military_2_evac_2]:walker@ignore
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@military_2_evac_3
[camper@military_2_evac_3]:walker@fight
path_walk = military_2_3_walk
path_look = military_2_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_military_3_evac]
active = camper@military_3_evac_1
suitable = {-pri_a28_evac_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_3_evac_1]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@military_3_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@military_3_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@military_3_evac_2
[remark@military_3_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 3
on_game_timer = 33 | remark@military_3_horror_2
[remark@military_3_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 4
on_game_timer = 44 | remark@military_3_horror_3
[remark@military_3_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_info = {+pri_a28_strelok_run} camper@military_3_evac_2
[camper@military_3_evac_2]:walker@ignore
path_walk = military_3_1_walk
path_look = military_3_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@military_3_evac_3
[camper@military_3_evac_3]:walker@fight
path_walk = military_3_3_walk
path_look = military_3_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_military_4_evac]
active = camper@military_4_evac_1
suitable = {-pri_a28_evac_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_4_evac_1]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@military_4_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@military_4_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@military_4_evac_2
[remark@military_4_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 2
on_game_timer = 22 | remark@military_4_horror_2
[remark@military_4_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 0
on_game_timer = 56 | remark@military_4_horror_3
[remark@military_4_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_info = {+pri_a28_strelok_run} camper@military_4_evac_2
[camper@military_4_evac_2]:walker@ignore
path_walk = military_4_1_walk
path_look = military_4_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@military_4_evac_3
[camper@military_4_evac_3]:walker@fight
path_walk = military_4_3_walk
path_look = military_4_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2
[logic@pri_a28_military_5_evac]
active = camper@military_5_evac_1
suitable = {-pri_a28_evac_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_5_evac_1]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_horror_start =npc_in_zone(pri_a28_sr_horror)} remark@military_5_horror_1
on_info2 = {-pri_a28_horror_start =npc_in_zone(pri_a28_sr_evac_1)} remark@military_5_horror_1 %+pri_a28_horror_start%
on_info3 = {+pri_a28_strelok_run} camper@military_5_evac_2
[remark@military_5_horror_1]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 0
on_game_timer = 25 | remark@military_5_horror_2
[remark@military_5_horror_2]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 4
on_game_timer = 40 | remark@military_5_horror_3
[remark@military_5_horror_3]:walker@ignore
anim = hide_na
target = path | pri_a28_horror_look, 1
on_info = {+pri_a28_strelok_run} camper@military_5_evac_2
[camper@military_5_evac_2]:walker@ignore
path_walk = military_5_1_walk
path_look = military_5_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_1
on_info = {+pri_a28_evac_leave} camper@military_5_evac_3
[camper@military_5_evac_3]:walker@fight
path_walk = military_5_3_walk
path_look = military_5_3_look
def_state_standing = hide_na
out_restr = pri_a28_sr_evac_2

View file

@ -0,0 +1,89 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_evac_military_1]
active = camper@pri_a28_evac_military_1_wait
suitable = {+pri_b305_fifth_cam_end =check_npc_name(pri_a28_evac_com)} true, {+pri_b305_fifth_cam_end !is_alive(pri_a28_evac_com) =target_squad_name(pri_a28_evac_squad) =is_squad_commander} true
prior = 200
post_combat_time = 0,0
[camper@pri_a28_evac_military_1_wait]:walker@ignore
path_walk = evac_military_1_walk
path_look = evac_military_1_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
invulnerable = true
on_info = {+pri_a28_squad_dead} camper@pri_a28_evac_military_1 %=clear_smart_terrain(pri_sim_2) +pri_a28_evac_squad_active%
on_info2 = {=dist_to_actor_le(150)} camper@pri_a28_evac_military_1 %=clear_smart_terrain(pri_sim_2) +pri_a28_evac_squad_active%
on_info3 = {+pri_a28_evac_done} camper@pri_a28_evac_military_1 %=clear_smart_terrain(pri_sim_2) +pri_a28_evac_squad_active%
[camper@pri_a28_evac_military_1]:walker@fight
path_walk = evac_military_1_walk
path_look = evac_military_1_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {+pri_a28_evac_come_close} %=play_sound(pri_a28_evac_come_close)%
on_info2 = {+pri_a28_evac_com_to_helicopter} %=play_sound(pri_a28_evac_com_to_helicopter)%
on_signal = sound_end | {-pri_a28_evac_come_close_done} %+pri_a28_evac_come_close_done%
[logic@pri_a28_evac_military_2]
active = camper@pri_a28_evac_military_2_wait
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_evac_squad) !check_npc_name(pri_a28_evac_com)} true, {+pri_b305_fifth_cam_end !is_alive(pri_a28_evac_com) =target_squad_name(pri_a28_evac_squad) !is_squad_commander} true
prior = 200
post_combat_time = 0,0
[camper@pri_a28_evac_military_2_wait]:walker@ignore
path_walk = evac_military_2_walk
path_look = evac_military_2_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {+pri_a28_evac_squad_active} camper@pri_a28_evac_military_2
[camper@pri_a28_evac_military_2]:walker@fight
path_walk = evac_military_2_walk
path_look = evac_military_2_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_evac_military_3]
active = camper@pri_a28_evac_military_3_wait
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_evac_squad) !check_npc_name(pri_a28_evac_com)} true, {+pri_b305_fifth_cam_end !is_alive(pri_a28_evac_com) =target_squad_name(pri_a28_evac_squad) !is_squad_commander} true
prior = 200
post_combat_time = 0,0
[camper@pri_a28_evac_military_3_wait]:walker@ignore
path_walk = evac_military_3_walk
path_look = evac_military_3_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {+pri_a28_evac_squad_active} camper@pri_a28_evac_military_3
[camper@pri_a28_evac_military_3]:walker@fight
path_walk = evac_military_3_walk
path_look = evac_military_3_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_evac_military_4]
active = camper@pri_a28_evac_military_4_wait
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_evac_squad) !check_npc_name(pri_a28_evac_com)} true, {+pri_b305_fifth_cam_end !is_alive(pri_a28_evac_com) =target_squad_name(pri_a28_evac_squad) !is_squad_commander} true
prior = 200
post_combat_time = 0,0
[camper@pri_a28_evac_military_4_wait]:walker@ignore
path_walk = evac_military_4_walk
path_look = evac_military_4_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {+pri_a28_evac_squad_active} camper@pri_a28_evac_military_4
[camper@pri_a28_evac_military_4]:walker@fight
path_walk = evac_military_4_walk
path_look = evac_military_4_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone

View file

@ -0,0 +1,60 @@
;Meets default
[meet@def]
close_snd_hello = nil
close_snd_bye = nil
snd_on_use = nil
close_distance = 0
far_distance = 0
close_victim = nil
use = false
abuse = false
;Hits
[hit@def]
on_info = {!has_enemy =hit_by_actor =counter_greater(pri_a28_friendly_hit:7) =squad_exist(pri_a16_military_squad)} %=set_squad_enemy_to_actor(pri_a16_military_squad) +pri_a28_actor_enemy%
on_info2 = {!has_enemy =hit_by_actor !counter_greater(pri_a28_friendly_hit:7) =squad_exist(pri_a16_military_squad)} %=inc_counter(pri_a28_friendly_hit)%
;Death
[death@def]
on_info = %=stop_sound%
on_info2 = {=has_enemy =killed_by_actor !counter_greater(pri_a28_friendly_hit:7)} %=inc_counter(pri_a28_friendly_hit)%, {=killed_by_actor =squad_exist(pri_a16_military_squad)} %=set_squad_enemy_to_actor(pri_a16_military_squad) +pri_a28_actor_enemy%
;Sounds
[walker@fight]
meet = meet@def
wounded = wounded@no_wound
def_state_standing = threat_na
def_state_moving = assault
def_state_campering = hide_na
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
radius = 70
no_retreat = true
use_camp = false
[walker@ignore]:walker@fight
combat_ignore_cond = {+pri_a28_actor_enemy} false, true
combat_ignore_keep_when_attacked = true
radius = 15
[walker@kovalski_fight]:walker@fight
on_info99 = {-pri_a28_actor_enemy -pri_a28_colonel_strelok_out +pri_a28_strelok_dead} %+pri_a28_colonel_strelok_out =play_sound(pri_a28_colonel_strelok_out)%
[walker@kovalski_ignore]:walker@ignore
on_info99 = {-pri_a28_actor_enemy -pri_a28_colonel_strelok_out +pri_a28_strelok_dead} %+pri_a28_colonel_strelok_out =play_sound(pri_a28_colonel_strelok_out)%
;Wounded - no wounds
[wounded@no_wound]
hp_state = 0 | wounded_heavy@help_heavy
hp_state_see = 0 | wounded_heavy@help_heavy
hp_victim = 0 | nil
hp_cover = 0 | false
hp_fight = 0 | false

View file

@ -0,0 +1,254 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_heli]
active = camper@kovalski_heli_1
suitable = {=check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@kovalski_heli_1]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_game_timer = 30 | {+pri_a28_evac_come_close_done} %=play_sound(pri_a28_colonel_close_by)%
on_signal = sound_end | camper@kovalski_heli_1_fight
[camper@kovalski_heli_1_fight]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {=npc_in_zone(pri_a28_sr_small)} camper@kovalski_heli_2 %=disable_memory_object%
[camper@kovalski_heli_2]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_1_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@kovalski_heli_2_fight
[camper@kovalski_heli_2_fight]:walker@kovalski_fight
path_walk = kovalski_2_walk
path_look = kovalski_1_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_strelok_heli]
active = camper@strelok_heli_1
suitable = {=check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@strelok_heli_1]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a28_scene_end_zone
on_info = {=npc_in_zone(pri_a28_sr_small)} camper@strelok_heli_2
[camper@strelok_heli_2]:walker@ignore
path_walk = strelok_2_walk
path_look = strelok_1_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@strelok_heli_2_fight
on_info = {-pri_a28_strelok_can_leave =npc_in_zone(pri_a28_scene_end_zone)} %+pri_a28_strelok_can_leave%
[camper@strelok_heli_2_fight]:walker@fight
path_walk = strelok_2_walk
path_look = strelok_1_look
out_restr = pri_a28_scene_end_zone
on_info = {-pri_a28_strelok_can_leave =npc_in_zone(pri_a28_scene_end_zone)} %+pri_a28_strelok_can_leave%
[logic@pri_a28_military_1_heli]
active = camper@military_1_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_1_heli_1]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_1
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_1_heli_2 %=disable_memory_object%
[camper@military_1_heli_2]:walker@ignore
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_1_heli_2_fight
[camper@military_1_heli_2_fight]:walker@fight
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_military_2_heli]
active = camper@military_2_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_2_heli_1]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_1
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_2_heli_2 %=disable_memory_object%
[camper@military_2_heli_2]:walker@ignore
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_2_heli_2_fight
[camper@military_2_heli_2_fight]:walker@fight
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_military_3_heli]
active = camper@military_3_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_3_heli_1]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_1
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_3_heli_2 %=disable_memory_object%
[camper@military_3_heli_2]:walker@ignore
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_3_heli_2_fight
[camper@military_3_heli_2_fight]:walker@fight
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_military_4_heli]
active = camper@military_4_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_4_heli_1]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_4_heli_1_wait
[camper@military_4_heli_1_wait]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_game_timer = 180 | camper@military_4_heli_2 %=disable_memory_object%
[camper@military_4_heli_2]:walker@ignore
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_4_heli_2_fight
[camper@military_4_heli_2_fight]:walker@fight
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_military_5_heli]
active = camper@military_5_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_5_heli_1]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_5_heli_1_wait
[camper@military_5_heli_1_wait]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_game_timer = 180 | camper@military_5_heli_2 %=disable_memory_object%
[camper@military_5_heli_2]:walker@ignore
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_5_heli_2_fight
[camper@military_5_heli_2_fight]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_scene_end_zone
[logic@pri_a28_military_6_heli]
active = camper@military_6_heli_1
suitable = {=target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_6_heli_1]:walker@fight
path_walk = military_6_1_walk
path_look = military_6_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_info = {+pri_a28_evac_com_to_helicopter} camper@military_6_heli_1_wait
[camper@military_6_heli_1_wait]:walker@fight
path_walk = military_6_1_walk
path_look = military_6_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_heli_2
on_game_timer = 180 | camper@military_6_heli_2 %=disable_memory_object%
[camper@military_6_heli_2]:walker@ignore
path_walk = military_6_2_walk
path_look = military_6_2_look
out_restr = pri_a28_scene_end_zone
on_signal = path_end | camper@military_6_heli_2_fight
[camper@military_6_heli_2_fight]:walker@fight
path_walk = military_6_2_walk
path_look = military_6_2_look
out_restr = pri_a28_scene_end_zone

View file

@ -0,0 +1,64 @@
[logic]
active = heli_move@under_level
[heli_move@under_level]
path_move = pri_a28_heli_under_level_1
path_look = pri_a28_heli_way_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_b305_fifth_cam_end} heli_move@start
;Çàòû÷êà
on_info2 = {+pri_a28_cutscene_start} heli_move@land %+pri_a28_helis_added =spawn_object(pri_a28_earth_helli_1:pri_a28_heli_landing_way_1:0:215) =spawn_object(pri_a28_earth_helli_2:pri_a28_heli_landing_way_2:0:210)%
[heli_move@start]
path_move = pri_a28_heli_start_1
path_look = pri_a28_heli_way_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_a28_update_task_cover_strelok} heli_move@flyby
[heli_move@flyby]
path_move = pri_a28_heli_way_1
path_look = pri_a28_heli_cutscene_move_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {-pri_a28_heli_near_base =npc_in_zone(pri_a28_heli_near_base)} %+pri_a28_heli_near_base%
on_info2 = {=npc_in_zone(pri_a28_heli_landing_zone)} heli_move@land %+pri_a28_helis_added =spawn_object(pri_a28_earth_helli_1:pri_a28_heli_landing_way_1:0:215) =spawn_object(pri_a28_earth_helli_2:pri_a28_heli_landing_way_2:0:210)%
[heli_move@land]
path_move = pri_a28_heli_land_move_1
path_look = pri_a28_heli_land_look_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_a28_helis_leave} heli_move@cutscene
[heli_move@cutscene]
path_move = pri_a28_heli_cutscene_move_1
path_look = pri_a28_heli_cutscene_move_1_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {=npc_in_zone(pri_a28_helli_start_away_zone)} heli_move@fly_over %+pri_a28_heli_fly_over%
;on_info2 = {+pri_a28_heli_fly_over} heli_move@fly_over
[heli_move@fly_over]
path_move = pri_a28_heli_cutscene_move_1_2
path_look = pri_a28_heli_cutscene_move_away_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 50 | heli_move@cutscene_away
[heli_move@cutscene_away]
path_move = pri_a28_heli_cutscene_move_away_1
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {=npc_in_zone(pri_a28_scene_end_hellis_destroy_zone)} %=destroy_object%

View file

@ -0,0 +1,71 @@
[logic]
active = heli_move@under_level
[heli_move@under_level]
path_move = pri_a28_heli_under_level_2
path_look = pri_a28_heli_way_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_b305_fifth_cam_end} heli_move@start
on_info2 = {+pri_a28_cutscene_start} heli_move@land
[heli_move@start]
path_move = pri_a28_heli_start_2
path_look = pri_a28_heli_way_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_a28_update_task_cover_strelok} heli_move@wait
[heli_move@wait]
path_move = pri_a28_heli_start_2
path_look = pri_a28_heli_way_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 100 | heli_move@flyby
[heli_move@flyby]
path_move = pri_a28_heli_way_2
path_look = pri_a28_heli_cutscene_move_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {-pri_a28_heli_near_base =npc_in_zone(pri_a28_heli_near_base)} %+pri_a28_heli_near_base%
on_info2 = {=npc_in_zone(pri_a28_heli_landing_zone)} heli_move@land
[heli_move@land]
path_move = pri_a28_heli_land_move_2
path_look = pri_a28_heli_land_look_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
engine_sound = false
on_info = {+pri_a28_helis_leave} heli_move@cutscene
[heli_move@cutscene]
path_move = pri_a28_heli_cutscene_move_2
path_look = pri_a28_heli_cutscene_move_2_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {=npc_in_zone(pri_a28_helli_start_away_zone)} heli_move@fly_over %+pri_a28_heli_fly_over%
;on_info2 = {+pri_a28_heli_fly_over} heli_move@fly_over
[heli_move@fly_over]
path_move = pri_a28_heli_cutscene_move_2_2
path_look = pri_a28_heli_cutscene_move_away_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 45 | heli_move@cutscene_away
[heli_move@cutscene_away]
path_move = pri_a28_heli_cutscene_move_away_2
max_velocity = 100
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {=npc_in_zone(pri_a28_scene_end_hellis_destroy_zone)} %=destroy_object%

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,310 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_school]
active = camper@kovalski_school_1
suitable = {-pri_a28_school_done =check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@kovalski_school_1]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a28_sr_school_1
on_info = {=npc_in_zone(pri_a28_sr_school_1) +pri_a28_medic_about_snork} camper@kovalski_school_1_wait
[camper@kovalski_school_1_wait]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a28_sr_school_1
on_game_timer = 10 | %=play_sound(pri_a28_colonel_about_snork)%
on_signal = sound_end | camper@kovalski_school_2 %+pri_a28_colonel_about_snork%
on_info = {+pri_a28_colonel_about_snork} camper@kovalski_school_2
[camper@kovalski_school_2]:walker@kovalski_fight
path_walk = kovalski_2_walk
path_look = kovalski_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@kovalski_school_2_wait %=disable_memory_object%
[camper@kovalski_school_2_wait]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_school_2
on_game_timer = 10 | {-pri_a28_colonel_fire_will} camper@kovalski_school_3 %+pri_a28_colonel_fire_will =play_sound(pri_a28_colonel_fire_will)%
on_info = {+pri_a28_colonel_fire_will} camper@kovalski_school_3
[camper@kovalski_school_3]:walker@kovalski_fight
path_walk = kovalski_3_walk
path_look = kovalski_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_medic_school]
active = camper@medic_school_1
suitable = {-pri_a28_school_done =check_npc_name(base_medic)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@medic_school_1]:walker@ignore
path_walk = medic_1_walk
path_look = medic_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_school_1
on_signal = sound_end | %+pri_a28_medic_about_snork%
on_info = {+pri_a28_school_1_leave} %=play_sound(pri_a28_medic_about_snork)%
on_info2 = {+pri_a28_colonel_about_snork} camper@medic_school_2
[camper@medic_school_2]:walker@fight
path_walk = medic_2_walk
path_look = medic_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@medic_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@medic_school_2_wait
[camper@medic_school_2_wait]:walker@fight
path_walk = medic_2_walk
path_look = medic_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@medic_school_3
[camper@medic_school_3]:walker@fight
path_walk = medic_3_walk
path_look = medic_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_strelok_school]
active = camper@strelok_school_1
suitable = {-pri_a28_school_done =check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@strelok_school_1]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@strelok_school_2
[camper@strelok_school_2]:walker@fight
path_walk = strelok_2_walk
path_look = strelok_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@strelok_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@strelok_school_2_wait
[camper@strelok_school_2_wait]:walker@fight
path_walk = strelok_2_walk
path_look = strelok_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@strelok_school_3
[camper@strelok_school_3]:walker@fight
path_walk = strelok_3_walk
path_look = strelok_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_military_1_school]
active = camper@military_1_school_1
suitable = {-pri_a28_school_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski) !check_npc_name(base_medic)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_1_school_1]:walker@ignore
path_walk = military_1_1_walk
path_look = military_1_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@military_1_school_2
[camper@military_1_school_2]:walker@fight
path_walk = military_1_2_walk
path_look = military_1_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@military_1_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@military_1_school_2_wait
[camper@military_1_school_2_wait]:walker@fight
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@military_1_school_3
[camper@military_1_school_3]:walker@fight
path_walk = military_1_3_walk
path_look = military_1_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_military_2_school]
active = camper@military_2_school_1
suitable = {-pri_a28_school_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski) !check_npc_name(base_medic)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_2_school_1]:walker@ignore
path_walk = military_2_1_walk
path_look = military_2_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@military_2_school_2
[camper@military_2_school_2]:walker@fight
path_walk = military_2_2_walk
path_look = military_2_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@military_2_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@military_2_school_2_wait
[camper@military_2_school_2_wait]:walker@fight
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@military_2_school_3
[camper@military_2_school_3]:walker@fight
path_walk = military_2_3_walk
path_look = military_2_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_military_3_school]
active = camper@military_3_school_1
suitable = {-pri_a28_school_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski) !check_npc_name(base_medic)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_3_school_1]:walker@ignore
path_walk = military_3_1_walk
path_look = military_3_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@military_3_school_2
[camper@military_3_school_2]:walker@fight
path_walk = military_3_2_walk
path_look = military_3_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@military_3_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@military_3_school_2_wait
[camper@military_3_school_2_wait]:walker@fight
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@military_3_school_3
[camper@military_3_school_3]:walker@fight
path_walk = military_3_3_walk
path_look = military_3_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_military_4_school]
active = camper@military_4_school_1
suitable = {-pri_a28_school_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski) !check_npc_name(base_medic)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_4_school_1]:walker@ignore
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@military_4_school_2
[camper@military_4_school_2]:walker@fight
path_walk = military_4_2_walk
path_look = military_4_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@military_4_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@military_4_school_2_wait
[camper@military_4_school_2_wait]:walker@fight
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@military_4_school_3
[camper@military_4_school_3]:walker@fight
path_walk = military_4_3_walk
path_look = military_4_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%
[logic@pri_a28_military_5_school]
active = camper@military_5_school_1
suitable = {-pri_a28_school_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(kovalski) !check_npc_name(base_medic)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_5_school_1]:walker@ignore
path_walk = military_5_1_walk
path_look = military_5_1_look
out_restr = pri_a28_sr_school_1
on_info = {+pri_a28_colonel_about_snork} camper@military_5_school_2
[camper@military_5_school_2]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_2
on_signal = path_end | camper@military_5_school_2_wait %+pri_a28_school_2_leave%
on_info = {+pri_a28_school_2_leave} camper@military_5_school_2_wait
[camper@military_5_school_2_wait]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_sr_school_2
on_info = {+pri_a28_colonel_fire_will} camper@military_5_school_3
[camper@military_5_school_3]:walker@fight
path_walk = military_5_3_walk
path_look = military_5_3_look
;def_state_moving = assault_fire
out_restr = pri_a28_sr_school_3
on_signal = path_end | {-pri_a28_school_done} %+pri_a28_school_done%

View file

@ -0,0 +1,269 @@
[logic@pri_a28_snork_1_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_1)} true
prior = 100
active = mob_home@pri_a28_snork_1_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_1_school_wait]
path_home = snork_1_home
out_restr = pri_a28_sr_school_3
home_min_radius = 5
home_max_radius = 20
aggressive = false
combat_ignore_cond = true
on_info = {+pri_a28_arch_done} mob_walker@pri_a28_snork_1_school_walk
[mob_walker@pri_a28_snork_1_school_walk]
path_walk = snork_1_walk
path_look = snork_1_jump
on_signal = path_end | mob_jump@pri_a28_snork_1_school_jump
on_game_timer = 30 | mob_jump@pri_a28_snork_1_school_jump
[mob_jump@pri_a28_snork_1_school_jump]
path_jump = snork_1_jump
offset = 0,0,0
ph_jump_factor = 1.1
on_signal = jumped | mob_home@pri_a28_snork_1_school_home
[mob_home@pri_a28_snork_1_school_home]
path_home = snork_1_attack
aggressive = true
[hit@pri_a28_snork_hit]
on_info = {~33 +pri_a28_colonel_about_snork} %=kill_npc%
[logic@pri_a28_snork_2_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_1)} true
prior = 100
active = mob_home@pri_a28_snork_2_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_2_school_wait]:mob_home@pri_a28_snork_1_school_wait
on_info = {+pri_a28_arch_done} mob_walker@pri_a28_snork_2_school_walk
[mob_walker@pri_a28_snork_2_school_walk]
path_walk = snork_2_walk
path_look = snork_2_jump
on_signal = path_end | mob_jump@pri_a28_snork_2_school_jump
on_game_timer = 40 | mob_jump@pri_a28_snork_2_school_jump
[mob_jump@pri_a28_snork_2_school_jump]
path_jump = snork_2_jump
offset = 0,0,0
ph_jump_factor = 1
on_signal = jumped | mob_home@pri_a28_snork_2_school_home
[mob_home@pri_a28_snork_2_school_home]:mob_home@pri_a28_snork_1_school_home
[logic@pri_a28_snork_3_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_1)} true
prior = 100
active = mob_home@pri_a28_snork_3_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_3_school_wait]:mob_home@pri_a28_snork_1_school_wait
on_info = {+pri_a28_arch_done} mob_walker@pri_a28_snork_3_school_walk
[mob_walker@pri_a28_snork_3_school_walk]
path_walk = snork_3_walk
path_look = snork_3_jump
on_signal = path_end | mob_jump@pri_a28_snork_3_school_jump
on_game_timer = 50 | mob_jump@pri_a28_snork_3_school_jump
[mob_jump@pri_a28_snork_3_school_jump]
path_jump = snork_3_jump
offset = 0,0,0
ph_jump_factor = 1.2
on_signal = jumped | mob_home@pri_a28_snork_3_school_home
[mob_home@pri_a28_snork_3_school_home]:mob_home@pri_a28_snork_1_school_home
[logic@pri_a28_snork_4_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_1)} true
prior = 100
active = mob_home@pri_a28_snork_4_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_4_school_wait]:mob_home@pri_a28_snork_1_school_wait
on_info = {+pri_a28_arch_done} mob_walker@pri_a28_snork_4_school_walk
[mob_walker@pri_a28_snork_4_school_walk]
path_walk = snork_4_walk
path_look = snork_4_jump
on_signal = path_end | mob_jump@pri_a28_snork_4_school_jump
on_game_timer = 35 | mob_jump@pri_a28_snork_4_school_jump
[mob_jump@pri_a28_snork_4_school_jump]
path_jump = snork_4_jump
offset = 0,0,0
ph_jump_factor = 0.95
on_signal = jumped | mob_home@pri_a28_snork_4_school_home
[mob_home@pri_a28_snork_4_school_home]:mob_home@pri_a28_snork_1_school_home
[logic@pri_a28_snork_5_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_2)} true
prior = 100
active = mob_home@pri_a28_snork_5_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_5_school_wait]
path_home = snork_2_home
out_restr = pri_a28_school_in_restrictor
home_min_radius = 2
home_max_radius = 6
aggressive = false
combat_ignore_cond = true
on_info = {+pri_a28_school_2_leave} mob_walker@pri_a28_snork_5_school_walk
on_info2 = {!npc_in_zone(pri_a28_school_in_restrictor)} %=teleport_npc(pri_a28_school_snork_2_home)%
[mob_walker@pri_a28_snork_5_school_walk]
path_walk = snork_5_walk
path_look = snork_5_jump
out_restr = pri_a28_school_in_restrictor
on_signal = path_end | mob_jump@pri_a28_snork_5_school_jump
on_game_timer = 30 | mob_jump@pri_a28_snork_5_school_jump
[mob_jump@pri_a28_snork_5_school_jump]
path_jump = snork_5_jump
out_restr = pri_a28_school_in_restrictor
offset = 0,0,0
ph_jump_factor = 1
on_signal = jumped | mob_home@pri_a28_snork_5_school_home
[mob_home@pri_a28_snork_5_school_home]
path_home = snork_2_attack
aggressive = true
on_game_timer = 25 | {=npc_in_zone(pri_a28_school_in_restrictor)} mob_jump@pri_a28_snork_5_school_jump
[logic@pri_a28_snork_6_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_2)} true
prior = 100
active = mob_home@pri_a28_snork_6_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_6_school_wait]:mob_home@pri_a28_snork_5_school_wait
on_info = {+pri_a28_school_2_leave} mob_walker@pri_a28_snork_6_school_walk
[mob_walker@pri_a28_snork_6_school_walk]
path_walk = snork_6_walk
path_look = snork_6_jump
out_restr = pri_a28_school_in_restrictor
on_signal = path_end | mob_jump@pri_a28_snork_6_school_jump
on_game_timer = 40 | mob_jump@pri_a28_snork_6_school_jump
[mob_jump@pri_a28_snork_6_school_jump]
path_jump = snork_6_jump
out_restr = pri_a28_school_in_restrictor
offset = 0,0,0
ph_jump_factor = 1.1
on_signal = jumped | mob_home@pri_a28_snork_6_school_home
[mob_home@pri_a28_snork_6_school_home]:mob_home@pri_a28_snork_5_school_home
on_game_timer = 25 | {=npc_in_zone(pri_a28_school_in_restrictor)} mob_jump@pri_a28_snork_6_school_jump
[logic@pri_a28_snork_7_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_2)} true
prior = 100
active = mob_home@pri_a28_snork_7_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_7_school_wait]:mob_home@pri_a28_snork_5_school_wait
on_info = {+pri_a28_school_2_leave} mob_walker@pri_a28_snork_7_school_walk
[mob_walker@pri_a28_snork_7_school_walk]
path_walk = snork_7_walk
path_look = snork_7_jump
out_restr = pri_a28_school_in_restrictor
on_signal = path_end | mob_jump@pri_a28_snork_7_school_jump
on_game_timer = 50 | mob_jump@pri_a28_snork_7_school_jump
[mob_jump@pri_a28_snork_7_school_jump]
path_jump = snork_7_jump
out_restr = pri_a28_school_in_restrictor
offset = 0,0,0
ph_jump_factor = 1.1
on_signal = jumped | mob_home@pri_a28_snork_7_school_home
[mob_home@pri_a28_snork_7_school_home]:mob_home@pri_a28_snork_5_school_home
on_game_timer = 25 | {=npc_in_zone(pri_a28_school_in_restrictor)} mob_jump@pri_a28_snork_7_school_jump
[logic@pri_a28_snork_8_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_2)} true
prior = 100
active = mob_home@pri_a28_snork_8_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_8_school_wait]:mob_home@pri_a28_snork_5_school_wait
on_info = {+pri_a28_school_2_leave} mob_walker@pri_a28_snork_8_school_walk
[mob_walker@pri_a28_snork_8_school_walk]
path_walk = snork_8_walk
path_look = snork_8_jump
out_restr = pri_a28_school_in_restrictor
on_signal = path_end | mob_jump@pri_a28_snork_8_school_jump
on_game_timer = 55 | mob_jump@pri_a28_snork_8_school_jump
[mob_jump@pri_a28_snork_8_school_jump]
path_jump = snork_8_jump
out_restr = pri_a28_school_in_restrictor
offset = 0,0,0
ph_jump_factor = 1
on_signal = jumped | mob_home@pri_a28_snork_8_school_home
[mob_home@pri_a28_snork_8_school_home]:mob_home@pri_a28_snork_5_school_home
on_game_timer = 25 | {=npc_in_zone(pri_a28_school_in_restrictor)} mob_jump@pri_a28_snork_8_school_jump
[logic@pri_a28_snork_9_school]
suitable = {+pri_b305_fifth_cam_end =target_squad_name(pri_a28_school_snorks_2)} true
prior = 100
active = mob_home@pri_a28_snork_9_school_wait
monster_job = true
on_hit = hit@pri_a28_snork_hit
[mob_home@pri_a28_snork_9_school_wait]:mob_home@pri_a28_snork_5_school_wait
on_info = {+pri_a28_school_2_leave} mob_walker@pri_a28_snork_9_school_walk
[mob_walker@pri_a28_snork_9_school_walk]
path_walk = snork_9_walk
path_look = snork_9_jump
out_restr = pri_a28_school_in_restrictor
on_signal = path_end | mob_jump@pri_a28_snork_9_school_jump
on_game_timer = 45 | mob_jump@pri_a28_snork_9_school_jump
[mob_jump@pri_a28_snork_9_school_jump]
path_jump = snork_9_jump
out_restr = pri_a28_school_in_restrictor
offset = 0,0,0
ph_jump_factor = 0.85
on_signal = jumped | mob_home@pri_a28_snork_9_school_home
[mob_home@pri_a28_snork_9_school_home]:mob_home@pri_a28_snork_5_school_home
on_game_timer = 25 | {=npc_in_zone(pri_a28_school_in_restrictor)} mob_jump@pri_a28_snork_9_school_jump

View file

@ -0,0 +1,428 @@
#include "pri_a28_general.ltx"
[logic@pri_a28_kovalski_shop]
active = camper@kovalski_shop_1
suitable = {-pri_a28_shop_done =check_npc_name(kovalski)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@kovalski_shop_1]:walker@kovalski_ignore
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_1_small
on_info = {=npc_in_zone(pri_a28_sr_shop_1)} smartcover@kovalski_shop_1
[smartcover@kovalski_shop_1]:walker@kovalski_ignore
cover_name = pri_a28_shop_cover_4
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_info = {=in_dest_smart_cover +pri_a28_army_zombied_in_building} smartcover@kovalski_shop_1_wait
[smartcover@kovalski_shop_1_wait]:walker@kovalski_fight
cover_name = pri_a28_shop_cover_4
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 40 | %=play_sound(pri_a28_colonel_go_left)%
on_signal = sound_end | %+pri_a28_colonel_go_left%
on_info = {+pri_a28_colonel_go_left} smartcover@kovalski_shop_1_fight
;obsolete
[walker@kovalski_shop_1_wait]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 40 | %=play_sound(pri_a28_colonel_go_left)%
on_signal = sound_end | %+pri_a28_colonel_go_left%
on_info = {+pri_a28_colonel_go_left} smartcover@kovalski_shop_1_fight
[smartcover@kovalski_shop_1_fight]:walker@kovalski_fight
cover_name = pri_a28_shop_cover_4
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 210 | {-pri_a28_shop_1_leave} camper@kovalski_shop_2_go %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@kovalski_shop_2_go
on_info2 = {=in_dest_smart_cover !has_enemy_in_current_loopholes_fov} walker@kovalski_shop_1_fight
[walker@kovalski_shop_1_fight]:walker@kovalski_fight
path_walk = kovalski_1_walk
path_look = kovalski_1_look
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 210 | {-pri_a28_shop_1_leave} %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@kovalski_shop_2_go %=disable_memory_object%
[camper@kovalski_shop_2_go]:walker@kovalski_ignore
path_walk = kovalski_1_1_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_shop_2_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@kovalski_shop_2
[camper@kovalski_shop_2]:walker@kovalski_ignore
path_walk = kovalski_2_walk
path_look = kovalski_2_look
out_restr = pri_a28_sr_shop_2
in_restr = pri_a28_sr_shop_in
on_info = {=npc_in_zone(pri_a28_sr_shop_2)} walker@kovalski_shop_2_fight
[walker@kovalski_shop_2_fight]:walker@kovalski_fight
path_walk = kovalski_2_walk
path_look = kovalski_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_signal = sound_end | %+pri_a28_shop_done%
on_game_timer = 200 | {-pri_a28_shop_3_leave} %+pri_a28_shop_3_leave%
on_info = {+pri_a28_shop_3_leave} %=play_sound(pri_a28_colonel_zombied_attack)%
[logic@pri_a28_medic_shop]
active = smartcover@medic_shop_1
suitable = {-pri_a28_shop_done =check_npc_name(base_medic)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[smartcover@medic_shop_1]:walker@ignore
cover_name = pri_a28_shop_cover_1
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
derf_state_moving = rush
on_signal = sound_end | %+pri_a28_army_zombied_in_building%
on_info = {=in_dest_smart_cover} %=play_sound(pri_a28_army_zombied_in_building)%
on_info2 = {+pri_a28_army_zombied_in_building} smartcover@medic_shop_1_fight
;obsolete
[camper@medic_shop_1]:walker@ignore
path_walk = medic_1_walk
path_look = medic_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_1_small
on_signal = sound_end | %+pri_a28_army_zombied_in_building%
on_info = {=npc_in_zone(pri_a28_sr_shop_1_small)} %=play_sound(pri_a28_army_zombied_in_building)%
on_info2 = {+pri_a28_army_zombied_in_building} walker@medic_shop_1_fight
[smartcover@medic_shop_1_fight]:walker@fight
cover_name = pri_a28_shop_cover_1
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 250 | {-pri_a28_shop_1_leave} camper@medic_shop_2_go %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@medic_shop_2_go
on_info2 = {=in_dest_smart_cover !has_enemy_in_current_loopholes_fov} walker@medic_shop_1_fight
[walker@medic_shop_1_fight]:walker@fight
path_walk = medic_1_walk
path_look = medic_1_look
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 250 | {-pri_a28_shop_1_leave} %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@medic_shop_2_go %=disable_memory_object%
[camper@medic_shop_2_go]:walker@ignore
path_walk = medic_1_1_walk
path_look = medic_2_look
out_restr = pri_a28_sr_shop_2_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@medic_shop_2
[camper@medic_shop_2]:walker@ignore
path_walk = medic_2_walk
path_look = medic_2_look
out_restr = pri_a28_sr_shop_2
in_restr = pri_a28_sr_shop_in
on_info = {=npc_in_zone(pri_a28_sr_shop_2)} walker@medic_shop_2_fight
[walker@medic_shop_2_fight]:walker@fight
path_walk = medic_2_walk
path_look = medic_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_game_timer = 200 | {-pri_a28_shop_3_leave} %+pri_a28_shop_3_leave%
[logic@pri_a28_strelok_shop]
active = smartcover@strelok_shop_1
suitable = {-pri_a28_shop_done =check_npc_name(strelok)} true
prior = 200
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[smartcover@strelok_shop_1]:walker@ignore
cover_name = pri_a28_shop_cover_3
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_info = {+pri_a28_army_zombied_in_building} smartcover@strelok_shop_1_fight
;obsolete
[camper@strelok_shop_1]:walker@ignore
path_walk = strelok_1_walk
path_look = strelok_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_1_small
on_info = {+pri_a28_army_zombied_in_building} walker@strelok_shop_1_fight
[smartcover@strelok_shop_1_fight]:walker@fight
cover_name = pri_a28_shop_cover_3
use_in_combat = true
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 250 | {-pri_a28_shop_1_leave} camper@strelok_shop_2_go %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@strelok_shop_2_go
on_info2 = {=in_dest_smart_cover !has_enemy_in_current_loopholes_fov} walker@strelok_shop_1_fight
[walker@strelok_shop_1_fight]:walker@fight
path_walk = strelok_1_walk
path_look = strelok_1_look
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 250 | {-pri_a28_shop_1_leave} %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@strelok_shop_2_go %=disable_memory_object%
[camper@strelok_shop_2_go]:walker@ignore
path_walk = strelok_1_1_walk
path_look = strelok_2_look
out_restr = pri_a28_sr_shop_2_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@strelok_shop_2
[camper@strelok_shop_2]:walker@ignore
path_walk = strelok_2_walk
path_look = strelok_2_look
out_restr = pri_a28_sr_shop_2
in_restr = pri_a28_sr_shop_in
on_info = {=npc_in_zone(pri_a28_sr_shop_2)} walker@strelok_shop_2_fight
[walker@strelok_shop_2_fight]:walker@fight
path_walk = strelok_2_walk
path_look = strelok_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_game_timer = 200 | {-pri_a28_shop_3_leave} %+pri_a28_shop_3_leave%
[logic@pri_a28_military_1_shop]
active = walker@military_1_shop_1
suitable = {-pri_a28_shop_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 110
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_1_shop_1]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
out_restr = pri_a28_sr_shop_1
combat_ignore_cond = {=actor_enemy} false, {=check_enemy_smart(pri_a28_shop)} true, false
on_info = {+pri_a28_colonel_go_left} camper@military_1_shop_1_go %=disable_memory_object%
[camper@military_1_shop_1_go]:walker@ignore
path_walk = military_1_1_walk
path_look = military_1_1_look
out_restr = pri_a28_sr_shop_2_small
on_info = {=npc_in_zone(pri_a28_sr_shop_2_small)} walker@military_1_shop_1_fight
on_info2 = {+pri_a28_shop_2_leave} camper@military_1_shop_2
[walker@military_1_shop_1_fight]:walker@fight
path_walk = military_1_1_walk
path_look = military_1_1_look
out_restr = pri_a28_sr_shop_2_small
on_game_timer = 200 | {-pri_a28_shop_2_leave} %+pri_a28_shop_2_leave%
on_info = {+pri_a28_shop_2_leave} camper@military_1_shop_2 %=disable_memory_object%
[camper@military_1_shop_2]:walker@ignore
path_walk = military_1_2_walk
path_look = military_1_2_look
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@military_1_shop_3
[camper@military_1_shop_3]:walker@fight
path_walk = military_1_3_walk
path_look = military_1_3_look
out_restr = pri_a28_sr_arch_1
in_restr = pri_a28_sr_shop_in
[logic@pri_a28_military_2_shop]
active = walker@military_2_shop_1
suitable = {-pri_a28_shop_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_2_shop_1]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
out_restr = pri_a28_sr_shop_1
combat_ignore_cond = {=actor_enemy} false, {=check_enemy_smart(pri_a28_shop)} true, false
on_info2 = {+pri_a28_colonel_go_left} camper@military_2_shop_1_go %=disable_memory_object%
[camper@military_2_shop_1_go]:walker@ignore
path_walk = military_2_1_walk
path_look = military_2_1_look
out_restr = pri_a28_sr_shop_2_small
on_info = {=npc_in_zone(pri_a28_sr_shop_2_small)} walker@military_2_shop_1_fight
on_info2 = {+pri_a28_shop_2_leave} camper@military_2_shop_2
[walker@military_2_shop_1_fight]:walker@fight
path_walk = military_2_1_walk
path_look = military_2_1_look
out_restr = pri_a28_sr_shop_2_small
on_game_timer = 200 | {-pri_a28_shop_2_leave} %+pri_a28_shop_2_leave%
on_info = {+pri_a28_shop_2_leave} camper@military_2_shop_2 %=disable_memory_object%
[camper@military_2_shop_2]:walker@ignore
path_walk = military_2_2_walk
path_look = military_2_2_look
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@military_2_shop_3
[camper@military_2_shop_3]:walker@fight
path_walk = military_2_3_walk
path_look = military_2_3_look
out_restr = pri_a28_sr_arch_1
in_restr = pri_a28_sr_shop_in
[logic@pri_a28_military_3_shop]
active = walker@military_3_shop_1
suitable = {-pri_a28_shop_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 100
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_3_shop_1]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
out_restr = pri_a28_sr_shop_1
combat_ignore_cond = {=actor_enemy} false, {=check_enemy_smart(pri_a28_shop)} true, false
on_info2 = {+pri_a28_colonel_go_left} camper@military_3_shop_1_go %=disable_memory_object%
[camper@military_3_shop_1_go]:walker@ignore
path_walk = military_3_1_walk
path_look = military_3_1_look
out_restr = pri_a28_sr_shop_2_small
on_info = {=npc_in_zone(pri_a28_sr_shop_2_small)} walker@military_3_shop_1_fight
on_info2 = {+pri_a28_shop_2_leave} camper@military_3_shop_2
[walker@military_3_shop_1_fight]:walker@fight
path_walk = military_3_1_walk
path_look = military_3_1_look
out_restr = pri_a28_sr_shop_2_small
on_game_timer = 200 | {-pri_a28_shop_2_leave} %+pri_a28_shop_2_leave%
on_info = {+pri_a28_shop_2_leave} camper@military_3_shop_2 %=disable_memory_object%
[camper@military_3_shop_2]:walker@ignore
path_walk = military_3_2_walk
path_look = military_3_2_look
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@military_3_shop_3
[camper@military_3_shop_3]:walker@fight
path_walk = military_3_3_walk
path_look = military_3_3_look
out_restr = pri_a28_sr_arch_1
in_restr = pri_a28_sr_shop_in
[logic@pri_a28_military_4_shop]
active = walker@military_4_shop_1
suitable = {-pri_a28_shop_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[walker@military_4_shop_1]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_shop_1
combat_ignore_cond = {=actor_enemy} false, {=check_enemy_smart(pri_a28_shop)} true, false
on_info2 = {+pri_a28_colonel_go_left} camper@military_4_shop_1_go %=disable_memory_object%
[camper@military_4_shop_1_go]:walker@ignore
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_shop_2_small
on_info = {=npc_in_zone(pri_a28_sr_shop_2_small)} walker@military_4_shop_1_fight
on_info2 = {+pri_a28_shop_2_leave} camper@military_4_shop_2
[walker@military_4_shop_1_fight]:walker@fight
path_walk = military_4_1_walk
path_look = military_4_1_look
out_restr = pri_a28_sr_shop_2_small
on_game_timer = 200 | {-pri_a28_shop_2_leave} %+pri_a28_shop_2_leave%
on_info = {+pri_a28_shop_2_leave} camper@military_4_shop_2 %=disable_memory_object%
[camper@military_4_shop_2]:walker@ignore
path_walk = military_4_2_walk
path_look = military_4_2_look
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@military_4_shop_3
[camper@military_4_shop_3]:walker@fight
path_walk = military_4_3_walk
path_look = military_4_3_look
out_restr = pri_a28_sr_arch_1
in_restr = pri_a28_sr_shop_in
[logic@pri_a28_military_5_shop]
active = camper@military_5_shop_1
suitable = {-pri_a28_shop_done =target_squad_name(pri_a16_military_squad) !check_npc_name(strelok) !check_npc_name(base_medic) !check_npc_name(kovalski)} true
prior = 90
on_hit = hit@def
on_death = death@def
post_combat_time = 0,0
[camper@military_5_shop_1]:walker@ignore
path_walk = military_5_1_walk
path_look = military_5_1_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_1_small
on_info = {+pri_a28_army_zombied_in_building} walker@military_5_shop_1_fight
[walker@military_5_shop_1_fight]:walker@fight
path_walk = military_5_1_walk
path_look = military_5_1_look
out_restr = pri_a28_sr_shop_1_small
on_game_timer = 250 | {-pri_a28_shop_1_leave} %+pri_a28_shop_1_leave%
on_info = {+pri_a28_shop_1_leave} camper@military_5_shop_2_go %=disable_memory_object%
[camper@military_5_shop_2_go]:walker@ignore
path_walk = military_5_1_1_walk
path_look = military_5_2_look
out_restr = pri_a28_sr_shop_2_small
in_restr = pri_a28_sr_shop_in
on_signal = path_end | camper@military_5_shop_2
[camper@military_5_shop_2]:walker@ignore
path_walk = military_5_2_walk
path_look = military_5_2_look
out_restr = pri_a28_sr_shop_2
in_restr = pri_a28_sr_shop_in
on_info = {=npc_in_zone(pri_a28_sr_shop_2)} walker@military_5_shop_2_fight
[walker@military_5_shop_2_fight]:walker@fight
path_walk = military_5_2_walk
path_look = military_5_2_look
def_state_standing = hide_na
out_restr = pri_a28_sr_shop_3_small
in_restr = pri_a28_sr_shop_in
on_game_timer = 200 | {-pri_a28_shop_3_leave} %+pri_a28_shop_3_leave%

View file

@ -0,0 +1,224 @@
[logic@pri_a28_zombied_1_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_1_shop_walk
[logic@pri_a28_zombied_2_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_2_shop_walk
[logic@pri_a28_zombied_3_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_3_shop_walk
[logic@pri_a28_zombied_4_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_4_shop_walk
[logic@pri_a28_zombied_5_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_5_shop_walk
[walker@pri_a28_zombied_1_shop_walk]
path_walk = zombied_1_walk
on_info = walker@pri_a28_zombied_1_shop_wait %=teleport_npc(pri_a28_shop_zombied_1_walk)%
[walker@pri_a28_zombied_2_shop_walk]
path_walk = zombied_2_walk
on_info = walker@pri_a28_zombied_2_shop_wait %=teleport_npc(pri_a28_shop_zombied_2_walk)%
[walker@pri_a28_zombied_3_shop_walk]
path_walk = zombied_3_walk
on_info = walker@pri_a28_zombied_3_shop_wait %=teleport_npc(pri_a28_shop_zombied_3_walk)%
[walker@pri_a28_zombied_4_shop_walk]
path_walk = zombied_4_walk
on_info = walker@pri_a28_zombied_4_shop_wait %=teleport_npc(pri_a28_shop_zombied_4_walk)%
[walker@pri_a28_zombied_5_shop_walk]
path_walk = zombied_5_walk
on_info = walker@pri_a28_zombied_5_shop_wait %=teleport_npc(pri_a28_shop_zombied_5_walk)%
[walker@pri_a28_zombied_1_shop_wait]
path_walk = zombied_1_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_in_building} walker@pri_a28_zombied_1_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_shop_attack
[walker@pri_a28_zombied_2_shop_wait]
path_walk = zombied_2_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_in_building} walker@pri_a28_zombied_1_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_shop_attack
[walker@pri_a28_zombied_3_shop_wait]
path_walk = zombied_3_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_in_building} walker@pri_a28_zombied_2_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_shop_attack
[walker@pri_a28_zombied_4_shop_wait]
path_walk = zombied_4_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_in_building} walker@pri_a28_zombied_2_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_shop_attack
[walker@pri_a28_zombied_5_shop_wait]
path_walk = zombied_5_walk
combat_ignore_cond = true
on_info = {+pri_a28_army_zombied_in_building} walker@pri_a28_zombied_3_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_shop_attack
[walker@pri_a28_zombied_1_shop_attack]
path_walk = zombied_1_attack
on_signal = path_end | %+pri_a28_shop_zombied_done%
[walker@pri_a28_zombied_2_shop_attack]
path_walk = zombied_2_attack
on_signal = path_end | %+pri_a28_shop_zombied_done%
[walker@pri_a28_zombied_3_shop_attack]
path_walk = zombied_3_attack
on_signal = path_end | %+pri_a28_shop_zombied_done%
[logic@pri_a28_zombied_6_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_6_shop_walk
[logic@pri_a28_zombied_7_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_7_shop_walk
[logic@pri_a28_zombied_8_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_8_shop_walk
[logic@pri_a28_zombied_9_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_2) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_9_shop_walk
[walker@pri_a28_zombied_6_shop_walk]
path_walk = zombied_6_walk
on_info = walker@pri_a28_zombied_6_shop_wait %=teleport_npc(pri_a28_shop_zombied_6_walk)%
[walker@pri_a28_zombied_7_shop_walk]
path_walk = zombied_7_walk
on_info = walker@pri_a28_zombied_7_shop_wait %=teleport_npc(pri_a28_shop_zombied_7_walk)%
[walker@pri_a28_zombied_8_shop_walk]
path_walk = zombied_8_walk
on_info = walker@pri_a28_zombied_8_shop_wait %=teleport_npc(pri_a28_shop_zombied_8_walk)%
[walker@pri_a28_zombied_9_shop_walk]
path_walk = zombied_9_walk
on_info = walker@pri_a28_zombied_9_shop_wait %=teleport_npc(pri_a28_shop_zombied_9_walk)%
[walker@pri_a28_zombied_6_shop_wait]
path_walk = zombied_6_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_4_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_4_shop_attack
[walker@pri_a28_zombied_7_shop_wait]
path_walk = zombied_7_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_5_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_5_shop_attack
[walker@pri_a28_zombied_8_shop_wait]
path_walk = zombied_8_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_4_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_4_shop_attack
[walker@pri_a28_zombied_9_shop_wait]
path_walk = zombied_9_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_5_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_5_shop_attack
[walker@pri_a28_zombied_4_shop_attack]
path_walk = zombied_4_attack
on_signal = path_end | %+pri_a28_shop_zombied_done%
[walker@pri_a28_zombied_5_shop_attack]
path_walk = zombied_5_attack
on_signal = path_end | %+pri_a28_shop_zombied_done%
[logic@pri_a28_zombied_10_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_3) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_10_shop_walk
[logic@pri_a28_zombied_11_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_3) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_11_shop_walk
[logic@pri_a28_zombied_12_shop]
suitable = {=target_squad_name(pri_a28_shop_zombied_3) +pri_b305_fifth_cam_end} true
prior = 200
active = walker@pri_a28_zombied_12_shop_walk
[walker@pri_a28_zombied_10_shop_walk]
path_walk = zombied_10_walk
on_info = walker@pri_a28_zombied_10_shop_wait %=teleport_npc(pri_a28_shop_zombied_10_walk)%
[walker@pri_a28_zombied_11_shop_walk]
path_walk = zombied_11_walk
on_info = walker@pri_a28_zombied_11_shop_wait %=teleport_npc(pri_a28_shop_zombied_11_walk)%
[walker@pri_a28_zombied_12_shop_walk]
path_walk = zombied_12_walk
on_info = walker@pri_a28_zombied_12_shop_wait %=teleport_npc(pri_a28_shop_zombied_12_walk)%
[walker@pri_a28_zombied_10_shop_wait]
path_walk = zombied_10_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_1_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_1_shop_attack
[walker@pri_a28_zombied_11_shop_wait]
path_walk = zombied_11_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_2_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_2_shop_attack
[walker@pri_a28_zombied_12_shop_wait]
path_walk = zombied_12_walk
combat_ignore_cond = true
on_info = {+pri_a28_shop_1_leave} walker@pri_a28_zombied_3_shop_attack
on_info2 = {=dist_to_actor_le(13)} walker@pri_a28_zombied_3_shop_attack

View file

@ -0,0 +1,149 @@
[logic]
active = sr_idle@give_task
[sr_idle@give_task]
on_info = {+pri_b305_fifth_cam_end} sr_idle@start_surge %=give_task(pri_a28_evacuation) =set_counter(pri_a28_friendly_hit:0) =set_counter(pri_a28_heli_mono_cnt:12)%
on_info2 = {+pri_a28_evacuation_start -pri_b305_fifth_cam_end} sr_idle@clear_smart %+pri_b305_fifth_cam_end +pri_a25_rfi_source_eliminated +pri_a16_wait_for_stalkers =set_counter(pri_a28_friendly_hit:0) =set_counter(pri_a28_heli_mono_cnt:12)%
[sr_idle@start_surge]
on_info = {!surge_started} sr_idle@stop_surge %=set_surge_mess_and_task(empty:empty) =start_surge%, sr_idle@stop_surge %=set_surge_mess_and_task(empty:empty)%
[sr_idle@stop_surge]
on_info = {=surge_complete} sr_idle@base_zombied_add %+pri_a28_surge_end =clear_smart_terrain(pri_a15)%
on_info2 = {+pri_a28_update_task_cover_strelok} %=stop_surge%
;skip of previous scenes
[sr_idle@clear_smart]
on_info = sr_idle@add_squad %=clear_smart_terrain(pri_a16)%
[sr_idle@add_squad]
on_info = sr_idle@add_strong_parts %=create_squad(pri_a16_military_squad_strong:pri_a16) +pri_a28_strelok_alive +pri_a28_tarasov_alive +pri_a28_valentyr_alive +pri_a28_podorojniy_alive +pri_a28_sokolov_alive%
[sr_idle@add_strong_parts]
on_info = {+pri_a28_tarasov_alive} %-pri_a28_tarasov_alive =create_squad_member(pri_a17_military_captain_tarasov_strong:pri_a16_military_squad)%
on_info2 = {+pri_a28_valentyr_alive} %-pri_a28_valentyr_alive =create_squad_member(pri_a17_military_prapor_valentyr_strong:pri_a16_military_squad)%
on_info3 = {+pri_a28_podorojniy_alive} %-pri_a28_podorojniy_alive =create_squad_member(pri_a17_military_lieutenant_podorojniy_strong:pri_a16_military_squad)%
on_info4 = {+pri_a28_sokolov_alive} %-pri_a28_sokolov_alive =create_squad_member(pri_a15_sokolov_sci_head_strong:pri_a16_military_squad)%
on_info5 = {+pri_a28_strelok_alive} %-pri_a28_strelok_alive =create_squad_member(pri_b305_strelok_strong:pri_a16_military_squad)%
on_info6 = {=is_alive(pri_b305_strelok)} sr_idle@give_task
;main theme again
[sr_idle@base_zombied_add]
on_info = sr_idle@school_snork_spawn_start %=create_squad(pri_a28_base_zombied:pri_a28_base) =create_squad(pri_a28_base_zombied_2:pri_a28_base:pri_a16) =create_squad(pri_a28_shop_zombied:pri_a28_shop) =create_squad(pri_a28_shop_zombied_2:pri_a28_shop) =create_squad(pri_a28_shop_zombied_3:pri_a28_shop) =create_squad(pri_a28_arch_zombied:pri_a28_arch)%
[sr_idle@school_snork_spawn_start]
on_info = sr_idle@add_snorks %=clear_smart_terrain(pri_b301)%
[sr_idle@add_snorks]
on_info = {!squad_npc_count_ge(pri_a16_military_squad:4)} sr_idle@wait_for_base_exit %=create_squad(pri_a28_school_snorks_1:pri_a28_school) =create_squad(pri_a28_school_snorks_2:pri_a28_school)%
on_info2 = {=squad_npc_count_ge(pri_a16_military_squad:4)} sr_idle@wait_for_base_exit %=create_squad(pri_a28_school_snorks_1_strong:pri_a28_school) =create_squad(pri_a28_school_snorks_2_strong:pri_a28_school)%
[sr_idle@wait_for_base_exit]
on_info = {+pri_a28_update_task_cover_strelok -pri_a28_evacutaion_start} %+pri_a28_evacutaion_start =scenario_autosave(st_save_pri_a28_evacutaion_start)%
on_info2 = {+pri_a28_update_task_cover_strelok +pri_a28_evacutaion_start} sr_idle@add_mono %=clear_smart_terrain(pri_sim_2) =create_squad(pri_a28_evac_squad:pri_a28_heli)%
[sr_idle@add_mono]
on_info = sr_idle@check_base_out %=create_squad(pri_a28_heli_mono_default:pri_a28_heli) =create_squad(pri_a28_heli_mono_snipers:pri_a28_heli)%
[sr_idle@check_base_out]
on_info = {=squad_in_zone(pri_a16_military_squad:pri_a28_sr_shop_1)} %+pri_a28_base_done%
on_info2 = {-pri_a28_colonel_about_heli !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_colonel_about_heli%
on_info3 = {+pri_a28_army_zombied_first -pri_a28_colonel_zombied_first !is_alive(pri_a17_military_colonel_kovalski)} sr_idle@check_base_out_koval_dead
on_info4 = {+pri_a28_colonel_zombied_first !is_alive(pri_a17_military_colonel_kovalski)} sr_idle@check_base_out_koval_dead_go
on_info5 = {+pri_a28_colonel_about_heli -pri_a28_army_zombied_first !is_alive(pri_a22_army_signaller)} %+pri_a28_army_zombied_first%
on_info6 = {+pri_a28_base_done} sr_idle@check_shop_start
[sr_idle@check_base_out_koval_dead]
on_game_timer = 30 | {-pri_a28_colonel_zombied_first} sr_idle@check_base_out_koval_dead_go %+pri_a28_colonel_zombied_first%
on_info = {=squad_in_zone(pri_a16_military_squad:pri_a28_sr_shop_1)} sr_idle@check_shop_start %+pri_a28_base_done%
[sr_idle@check_base_out_koval_dead_go]
on_game_timer = 80 | {-pri_a28_base_leave} %+pri_a28_base_leave%
on_game_timer2 = 150 | {-pri_a28_base_done} %+pri_a28_base_done%
on_info = {=squad_in_zone(pri_a16_military_squad:pri_a28_sr_shop_1)} %+pri_a28_base_done%
on_info2 = {+pri_a28_base_done} sr_idle@check_shop_start
[sr_idle@check_shop_start]
on_info = {+pri_a28_colonel_go_left} sr_idle@check_shop_out
on_info2 = {-pri_a28_army_zombied_in_building !is_alive(pri_a25_base_medic)} %+pri_a28_army_zombied_in_building%
on_info3 = {+pri_a28_army_zombied_in_building -pri_a28_colonel_go_left !is_alive(pri_a17_military_colonel_kovalski)} sr_idle@check_shop_out
on_info4 = {+pri_a28_shop_done} sr_idle@check_arch_out
on_info5 = {-pri_a28_shop_1_leave !squad_exist(pri_a28_shop_zombied)} %+pri_a28_shop_1_leave%
on_info6 = {+pri_a28_shop_1_leave -pri_a28_shop_3_leave !squad_exist(pri_a28_shop_zombied_2) !squad_exist(pri_a28_shop_zombied_3)} %+pri_a28_shop_2_leave +pri_a28_shop_3_leave%
[sr_idle@check_shop_out]
on_game_timer = 40 | {-pri_a28_colonel_go_left} %+pri_a28_colonel_go_left%
on_info = {-pri_a28_shop_1_leave =squad_in_zone(pri_a16_military_squad:pri_a28_sr_shop_2_small)} %+pri_a28_shop_1_leave%
on_info2 = {-pri_a28_shop_2_leave =squad_in_zone(pri_a16_military_squad:pri_a28_sr_shop_3_small)} %+pri_a28_shop_2_leave%
on_info3 = {-pri_a28_shop_3_leave =squad_in_zone(pri_a16_military_squad:pri_a28_sr_arch_1)} %+pri_a28_shop_3_leave%
on_info4 = {+pri_a28_shop_3_leave -pri_a28_shop_done !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_shop_done%
on_info5 = {+pri_a28_shop_done} sr_idle@check_arch_out
on_info6 = {-pri_a28_shop_1_leave !squad_exist(pri_a28_shop_zombied)} %+pri_a28_shop_1_leave%
on_info7 = {+pri_a28_shop_1_leave -pri_a28_shop_3_leave !squad_exist(pri_a28_shop_zombied_2) !squad_exist(pri_a28_shop_zombied_3)} %+pri_a28_shop_2_leave +pri_a28_shop_3_leave%
[sr_idle@check_arch_out]
on_info = {+pri_a28_arch_done} sr_idle@check_school_out
on_info2 = {-pri_a28_strelok_go_over_anomaly !is_alive(pri_b305_strelok)} %+pri_a28_strelok_go_over_anomaly%
on_info3 = {-pri_a28_colonel_ok_go_here !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_colonel_ok_go_here%
on_info4 = {+pri_a28_evac_com_where_you -pri_a28_colonel_we_close !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_colonel_we_close%
on_info5 = {+pri_a28_evac_com_cant_wait -pri_a28_arch_done !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_arch_done%
on_info6 = {-pri_a28_arch_leave !squad_exist(pri_a28_arch_zombied)} %+pri_a28_arch_leave%
[sr_idle@check_school_out]
on_info = {+pri_a28_school_done} sr_idle@check_horror_out
on_info2 = {-pri_a28_school_1_leave =squad_in_zone(pri_a28_school_snorks_1:pri_a28_sr_school_2)} %+pri_a28_school_1_leave%
on_info3 = {-pri_a28_school_1_leave =squad_in_zone_all(pri_a16_military_squad:pri_a28_sr_school_1)} %+pri_a28_school_1_leave%
on_info4 = {-pri_a28_school_2_leave !squad_exist(pri_a28_school_snorks_1)} %+pri_a28_school_2_leave%
on_info5 = {-pri_a28_school_done !squad_exist(pri_a28_school_snorks_1) !squad_exist(pri_a28_school_snorks_2)} %+pri_a28_school_done%
on_info6 = {+pri_a28_school_1_leave -pri_a28_medic_about_snork !is_alive(pri_a25_base_medic)} %+pri_a28_medic_about_snork%
on_info7 = {+pri_a28_medic_about_snork -pri_a28_colonel_about_snork !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_colonel_about_snork%
on_info8 = {+pri_a28_school_2_leave -pri_a28_colonel_fire_will !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_colonel_fire_will%
[sr_idle@check_horror_out]
on_info = {+pri_a28_strelok_run} sr_idle@check_evac_out %-pri_a28_colonel_wait_actor +pri_a28_evac_come_close%
on_info2 = {-pri_a28_horror_start =squad_in_zone(pri_a16_military_squad:pri_a28_sr_horror) !is_alive(pri_a25_base_medic)} %+pri_a28_horror_start +pri_a28_medic_recovered%
on_info3 = {+pri_a28_horror_start -pri_a28_strelok_dont_stop !is_alive(pri_b305_strelok)} %+pri_a28_strelok_dont_stop%
on_info4 = {+pri_a28_strelok_dont_stop -pri_a28_army_its_here !is_alive(pri_a25_base_medic)} %+pri_a28_army_its_here +pri_a28_medic_recovered%
on_info5 = {+pri_a28_army_its_here -pri_a28_strelok_run !is_alive(pri_b305_strelok)} %+pri_a28_strelok_run%
[sr_idle@check_evac_out]
on_info = {+pri_a28_evac_done} sr_idle@evac_point
on_info2 = {-pri_a28_evac_leave =actor_in_zone(pri_a28_sr_big)} sr_idle@check_evac_out_go %+pri_a28_evac_leave%
on_info3 = {=squad_in_zone(pri_a16_military_squad:pri_a28_sr_big)} sr_idle@check_evac_out_go %+pri_a28_evac_leave%
on_info4 = {+pri_a28_evac_leave =actor_in_zone(pri_a28_sr_big)} sr_idle@check_evac_out_go
on_info5 = {-pri_a28_evac_leave !is_alive(pri_a17_military_colonel_kovalski) =squad_in_zone_all(pri_a16_military_squad:pri_a28_sr_evac_1)} sr_idle@check_evac_out_go %+pri_a28_evac_leave%
on_info6 = {-pri_a28_evac_come_close_done !is_alive(pri_a28_evac_com)} %+pri_a28_evac_come_close_done%
[sr_idle@check_evac_out_go]
on_info = {+pri_a28_evac_done} sr_idle@evac_point
on_info2 = {-pri_a28_evac_com_to_helicopter =actor_in_zone(pri_a28_sr_small)} %+pri_a28_evac_com_to_helicopter%
on_info3 = {-pri_a28_evac_com_to_helicopter =squad_in_zone(pri_a16_military_squad:pri_a28_sr_small)} %+pri_a28_evac_com_to_helicopter%
on_info4 = {-pri_a28_evac_come_close_done !is_alive(pri_a28_evac_com)} %+pri_a28_evac_come_close_done%
[sr_idle@evac_point]
on_info = {+pri_a28_evac_com_to_helicopter} sr_idle@nil
on_info2 = {-pri_a28_evac_com_to_helicopter =actor_in_zone(pri_a28_sr_small)} %+pri_a28_evac_com_to_helicopter%
on_info3 = {-pri_a28_evac_com_to_helicopter =squad_in_zone(pri_a16_military_squad:pri_a28_sr_small)} %+pri_a28_evac_com_to_helicopter%
[sr_idle@nil]

View file

@ -0,0 +1,114 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_info = {+pri_b305_fifth_cam_end =actor_in_zone(pri_a28_scene_end_zone) +pri_a28_strelok_can_leave} sr_idle@helis_reached_save
on_info2 = {+pri_b305_fifth_cam_end =actor_in_zone(pri_a28_scene_end_zone) +pri_a28_strelok_dead} sr_idle@helis_reached_save
on_info3 = {+pri_b305_fifth_cam_end +pri_a28_squad_dead} sr_idle@helis_want_to_leave
on_info4 = {+pri_a28_helis_leave !actor_in_zone(pri_a28_scene_end_zone)} sr_idle@cut_2_save
;çàòû÷êà
on_info5 = {+pri_a28_cutscene_start} sr_idle@cut_1_save %=clear_smart_terrain(pri_sim_2)%
[sr_idle@helis_want_to_leave]
on_game_timer = 30 | %=play_sound(pri_a28_evac_com_helicopter_run_time)%
on_signal = sound_end | sr_timer@got_one_minute
[sr_timer@got_one_minute]
type = dec
start_value = 60000
on_value = 0 | {+pri_a28_evacuation_end =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@cut_1_save, %+pri_a28_helis_leave%
on_info = {-pri_a28_evacuation_end =actor_in_zone(pri_a28_scene_end_zone)} %+pri_a28_evacuation_end =scenario_autosave(st_save_pri_a28_evacuation_end)%
on_info2 = {+pri_a28_helis_leave !actor_in_zone(pri_a28_scene_end_zone)} sr_idle@cut_2_save
[sr_idle@helis_reached_save]
on_info = {-pri_a28_evacuation_end =actor_alive} %+pri_a28_evacuation_end =scenario_autosave(st_save_pri_a28_evacuation_end)%
on_info2 = {+pri_a28_evacuation_end +pri_a28_waves_end =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@cut_1_save
on_info3 = {+pri_a28_helis_leave !actor_in_zone(pri_a28_scene_end_zone)} sr_idle@cut_2_save
[sr_idle@cut_1_save]
on_info = {-pri_a28_evacuation_heli =actor_alive} %+pri_a28_evacuation_heli =scenario_autosave(st_save_pri_a28_evacuation_heli)%
on_info2 = {+pri_a28_evacuation_heli} sr_idle@cut_1_start %=disable_ui =run_postprocess(black:3009:true) +pri_a28_scene_end =save_actor_position%
[sr_idle@cut_1_start]
on_game_timer = 18 | sr_idle@check_squad %=create_cutscene_actor_with_weapon(pri_a28_cutscene_actor:pri_a28_cutscene_actor_walk:0:0:3)%
[sr_idle@check_squad]
on_info = {=squad_exist(pri_a16_military_squad)} sr_idle@check_commander %+pri_a28_somebody_alive%, sr_idle@check_commander
[sr_idle@check_commander]
on_info = {=is_alive(pri_a28_evac_com)} sr_idle@add_commander %=remove_npc(pri_a28_evac_com)%, sr_idle@add_commander
[sr_idle@add_commander]
on_info = sr_idle@check_strelok %=spawn_object(pri_a28_cutscene_commander:pri_a28_cutscene_commander_walk)%
[sr_idle@check_strelok]
on_info = {=is_alive(pri_b305_strelok)} sr_idle@add_strelok %=remove_npc(pri_b305_strelok)%, sr_cutscene@cut_1 %+pri_a28_strelok_dead%
[sr_idle@add_strelok]
on_info = sr_cutscene@cut_1 %=spawn_object(pri_a28_cutscene_strelok:pri_a28_cutscene_strelok_walk)%
[sr_cutscene@cut_1]
point = pri_a28_actor_hide_walk
look = pri_a28_actor_hide_look
global_cameffect = true
enable_ui_on_end = false
outdoor = true
cam_effector = scenario_cam\pripyat\pri_a28_evac_cam_1
on_signal = cam_effector_stop | sr_idle@freeplay_dialog %=run_postprocess(black:3009:true) -pri_a28_cam_started%
on_signal2 = cameff_end | sr_idle@freeplay_dialog %+pri_a28_cut_1_end =run_postprocess(black:3009:true) -pri_a28_cam_started%
on_info = {-pri_a28_cam_started} %+pri_a28_cam_started =stop_postprocess(3009)%
on_info2 = {+pri_a28_cut_1_end} %=stop_sr_cutscene%
[sr_idle@freeplay_dialog]
on_game_timer = 10 | {-pri_a28_show_freeplay_dialog} %+pri_a28_show_freeplay_dialog =enable_ui =show_freeplay_dialog(st_freeplay_text_yes_no:true)%
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@check_sokolov %+pri_a28_helis_leave =disable_ui%
on_info2 = {+pri_a28_actor_in_zone_leave} sr_idle@check_sokolov %+pri_a28_helis_leave =disable_ui%
[sr_idle@cut_2_save]
on_info = {-pri_a28_evacuation_heli =actor_alive} %+pri_a28_evacuation_heli =scenario_autosave(st_save_pri_a28_evacuation_heli)%
on_info2 = {+pri_a28_evacuation_heli} sr_idle@check_sokolov %=disable_ui =run_postprocess(black:3009:true) =save_actor_position%
[sr_idle@check_sokolov]
on_info = {-pri_a28_sokolov_left_alive =is_alive(pri_a15_sokolov_sci_head)} %+pri_a28_sokolov_left_alive%
on_info2 = {-pri_a28_army_leaved_alive -pri_a28_strelok_dead =squad_npc_count_ge(pri_a16_military_squad:5)} %+pri_a28_army_leaved_alive%
on_info3 = {-pri_a28_army_leaved_alive +pri_a28_strelok_dead =squad_npc_count_ge(pri_a16_military_squad:4)} %+pri_a28_army_leaved_alive%
on_info4 = sr_idle@cut_2_start
[sr_idle@cut_2_start]
on_info = {=squad_exist(pri_a16_military_squad)} %=remove_squad(pri_a16_military_squad)%
on_info2 = {=squad_exist(pri_a28_evac_squad)} %=remove_squad(pri_a28_evac_squad)%
on_game_timer = 18 | {+pri_a28_helis_added} sr_cutscene@cut_2 %=destroy_object(story:pri_a28_earth_helli_1) =destroy_object(story:pri_a28_earth_helli_2)%, sr_cutscene@cut_2
[sr_cutscene@cut_2]
point = pri_a28_actor_hide_walk
look = pri_a28_actor_hide_look
global_cameffect = true
enable_ui_on_end = false
outdoor = true
cam_effector = scenario_cam\pripyat\pri_a28_evac_cam_heli
on_signal = cam_effector_stop | sr_idle@hellis_fly_cutscene_end %=run_postprocess(black:3009:true)%
on_signal = cameff_end | sr_idle@hellis_fly_cutscene_end %=run_postprocess(black:3009:true)%
on_info = {-pri_a28_cam_started} %+pri_a28_cam_started =stop_postprocess(3009)%
on_game_timer = 200 | %=stop_sr_cutscene%
[sr_idle@hellis_fly_cutscene_end]
on_game_timer = 10 | {-pri_a28_actor_in_zone_stay -pri_a28_actor_in_zone_leave} sr_idle@wait_for_ok %=enable_ui =show_freeplay_dialog(st_freeplay_text_ok)%
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@announce_continue %=restore_actor_position =stop_postprocess(3009) =enable_ui%
on_info2 = {+pri_a28_actor_in_zone_leave} sr_idle@nil %=restore_actor_position =enable_ui =run_tutorial(outro_game)%
[sr_idle@wait_for_ok]
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@announce_continue %=restore_actor_position =stop_postprocess(3009)%
[sr_idle@announce_continue]
on_info = {!dist_to_story_obj_ge(pri_surge_hide_a16:100)} sr_idle@nil %=play_sound(pri_a28_continuation)%
on_game_timer = 50 | {-pri_a28_cutscenes_end} %+pri_a28_cutscenes_end%
[sr_idle@nil]

View file

@ -0,0 +1,30 @@
[logic]
active = sr_idle@wait_for_start
[sr_idle@wait_for_start]
on_info = {+pri_b305_fifth_cam_end} sr_idle@wait
[sr_idle@wait]
on_info = {=squad_in_zone(pri_a16_military_squad:pri_a28_sr_evac_radio_talk)} sr_idle@first_sound_play
on_info2 = {=actor_in_zone(pri_a28_sr_evac_radio_talk)} sr_idle@first_sound_play
[sr_idle@first_sound_play]
on_info = {=dist_to_actor_le(15)} %=play_sound(pri_a28_evac_com_where_you)%
on_signal = sound_end | sr_idle@wait_for_answer
on_game_timer = 300 | %=play_sound(pri_a28_evac_com_where_you)%
[sr_idle@wait_for_answer]
on_game_timer = 10 | {-pri_a28_evac_com_where_you} %+pri_a28_evac_com_where_you%
on_info = {+pri_a28_colonel_we_close} sr_idle@timer
[sr_idle@timer]
on_game_timer = 10 | sr_idle@say_cant_wait
[sr_idle@say_cant_wait]
on_info = %=play_sound(pri_a28_evac_com_cant_wait)%
on_signal = sound_end | sr_idle@timer_after
[sr_idle@timer_after]
on_game_timer = 10 | sr_idle@nil %+pri_a28_evac_com_cant_wait%
[sr_idle@nil]

View file

@ -0,0 +1,33 @@
[logic]
active = sr_idle@start
;active = sr_deimos
[sr_idle@start]
on_info = {+pri_b305_fifth_cam_end =actor_in_zone(pri_a28_sr_horror)} sr_deimos, {+pri_a28_scene_end} sr_idle@wait_2
[sr_deimos]
movement_speed = 42
growing_koef = 0.45; 0.25
lowering_koef = 0.22; 0.06
pp_effector = psi
pp_effector2 = deimos1
cam_effector = pripyat_horror
cam_effector_repeating_time = 5
noise_sound = pri_a28_deimos_noise_sound
heartbeet_sound = pri_a28_deimos_heartbeat
health_lost = 0.1
disable_bound = 0.2
switch_lower_bound = 0.4 ;0.3
switch_upper_bound = 0.75 ;0.6
on_info = {=actor_in_surge_cover} sr_idle@wait_2
on_info2 = {-pri_a28_actor_in_zone_stay +pri_a28_evac_com_to_helicopter} sr_idle@wait_2
on_info3 = {!actor_in_zone(pri_a28_sr_horror)} sr_idle@wait_2
on_game_timer = 100 | {=check_deimos_phase(disable_bound:decreasing) !actor_in_zone(pri_a28_sr_horror)} sr_idle@wait_1
[sr_idle@wait_1]
on_game_timer = 18000 | {~20} sr_deimos, sr_idle@wait_2
on_info = {-pri_a28_evac_com_to_helicopter =actor_in_zone(pri_a28_sr_horror)} sr_deimos
[sr_idle@wait_2]
on_game_timer = 9000 | {~25} sr_deimos, sr_idle@wait_1
on_info = {-pri_a28_evac_com_to_helicopter =actor_in_zone(pri_a28_sr_horror)} sr_deimos

View file

@ -0,0 +1,62 @@
[logic]
active = sr_idle@wait_for_start
[sr_idle@wait_for_start]
on_info = {+pri_b305_fifth_cam_end +pri_a28_strelok_can_leave} sr_idle@wait_for_mono_die %+pri_a28_defend_start%
on_info2 = {+pri_b305_fifth_cam_end =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@wait_for_mono_die %+pri_a28_defend_start%
on_info3 = {+pri_b305_fifth_cam_end +pri_a28_strelok_dead =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@wait_for_mono_die %+pri_a28_defend_start%
on_info4 = {+pri_a28_helis_leave =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@add_final_wave
on_info5 = {+pri_a28_cutscenes_end} sr_idle@nil
;on_info6 = {+pri_a28_squad_dead} sr_idle@waves_done
[sr_idle@wait_for_mono_die]
on_info = {!counter_greater(pri_a28_heli_mono_cnt:4)} sr_idle@wait_for_spawn
on_info2 = {+pri_a28_helis_leave =actor_in_zone(pri_a28_scene_end_zone)} sr_idle@add_final_wave %-pri_a28_defender_needed%
on_info3 = {+pri_a28_cutscenes_end} sr_idle@nil
on_info4 = {+pri_a28_squad_dead} sr_idle@waves_done
[sr_idle@wait_for_spawn]
on_info = {+pri_a28_cutscenes_end} sr_idle@nil
on_info2 = {=actor_in_zone(pri_a28_scene_end_zone)} sr_idle@add_wave %-pri_a28_defender_needed%
on_info3 = {+pri_a28_squad_dead} sr_idle@waves_done
on_info4 = {+pri_a28_wave_1_spawned +pri_a28_wave_2_spawned +pri_a28_wave_3_spawned} sr_idle@waves_done
on_info5 = {-pri_a28_wave_3_spawned =actor_in_zone(pri_a28_sr_mono_add_1)} sr_idle@spawn_wave_3 %+pri_a28_defender_needed%
on_info6 = {-pri_a28_wave_3_spawned ~50 =actor_in_zone(pri_a28_sr_mono_add_2)} sr_idle@spawn_wave_3 %+pri_a28_defender_needed%
on_info7 = {-pri_a28_wave_1_spawned ~50 =actor_in_zone(pri_a28_sr_mono_add_2)} sr_idle@spawn_wave_1 %+pri_a28_defender_needed%
on_info8 = {-pri_a28_wave_1_spawned =actor_in_zone(pri_a28_sr_mono_add_3)} sr_idle@spawn_wave_1 %+pri_a28_defender_needed%
on_info9 = {!actor_in_zone(pri_a28_scene_end_zone)} sr_idle@get_zone_to_spawn %+pri_a28_defender_needed%
[sr_idle@get_zone_to_spawn]
on_info = {+pri_a28_wave_1_spawned +pri_a28_wave_2_spawned +pri_a28_wave_3_spawned} sr_idle@waves_done
on_info2 = sr_idle@wait_for_mono_die %=pri_a28_check_zones%
[sr_idle@spawn_wave_1]
on_info = sr_idle@wait_for_mono_die %+pri_a28_wave_1_spawned =create_squad(pri_a28_heli_mono_add_1:pri_a28_heli) =inc_counter(pri_a28_heli_mono_cnt:4)%
[sr_idle@spawn_wave_2]
on_info = sr_idle@wait_for_mono_die %+pri_a28_wave_2_spawned =create_squad(pri_a28_heli_mono_add_2:pri_a28_heli) =inc_counter(pri_a28_heli_mono_cnt:4)%
[sr_idle@spawn_wave_3]
on_info = sr_idle@wait_for_mono_die %+pri_a28_wave_3_spawned =create_squad(pri_a28_heli_mono_add_3:pri_a28_heli) =inc_counter(pri_a28_heli_mono_cnt:4)%
[sr_idle@add_wave]
on_info = {~33 -pri_a28_wave_1_spawned} sr_idle@spawn_wave_1, {~66 -pri_a28_wave_2_spawned} sr_idle@spawn_wave_2, {~100 -pri_a28_wave_3_spawned} sr_idle@spawn_wave_3
on_info2 = {+pri_a28_wave_1_spawned +pri_a28_wave_2_spawned +pri_a28_wave_3_spawned} sr_idle@waves_done
on_info3 = {+pri_a28_helis_leave} sr_idle@add_final_wave
on_info4 = {+pri_a28_squad_dead} sr_idle@waves_done
[sr_idle@waves_done]
on_info = {=actor_in_zone(pri_a28_scene_end_zone)} sr_idle@wait_a_little
on_info2 = {-pri_a28_helis_defended} %+pri_a28_helis_defended%
on_game_timer = 300 | sr_idle@add_final_wave %+pri_a28_helis_leave%
[sr_idle@wait_a_little]
on_game_timer = 30 | sr_idle@add_final_wave
on_info = {-pri_a28_final_wave_added} %+pri_a28_final_wave_added =create_squad(pri_a28_heli_mono_add_2_final:pri_a28_heli)%
[sr_idle@add_final_wave]
on_info = {-pri_a28_final_wave_added !actor_in_zone(pri_a28_sr_mono_add_2)} sr_idle@nil %+pri_a28_waves_end =create_squad(pri_a28_heli_mono_add_2_final:pri_a28_heli)%
on_info2 = {-pri_a28_final_wave_added =actor_in_zone(pri_a28_sr_mono_add_2)} sr_idle@nil %+pri_a28_waves_end%
on_info3 = {+pri_a28_final_wave_added} sr_idle@nil %+pri_a28_waves_end%
[sr_idle@nil]

View file

@ -0,0 +1,26 @@
[logic]
active = sr_idle@wait
[sr_idle@wait]
on_info = {+pri_a28_update_task_cover_strelok} sr_idle@squad_neutral
[sr_idle@squad_neutral]
on_info = {!squad_exist(pri_a16_military_squad)} sr_idle@timeout %+pri_a28_squad_dead +pri_a28_strelok_dead +pri_a28_koval_dead%
on_info2 = {+pri_a28_actor_enemy} sr_idle@timeout %=set_squad_enemy_to_actor(pri_a16_military_squad) +pri_a28_strelok_dead +pri_a28_koval_dead%
on_info3 = {=squad_exist(pri_a16_military_squad) =is_squad_enemy_to_actor(pri_a16_military_squad) !counter_greater(pri_a28_friendly_hit:7)} %=set_squad_friend_to_actor(pri_a16_military_squad)%
on_info4 = {=squad_exist(pri_a28_evac_squad) =is_squad_enemy_to_actor(pri_a28_evac_squad)} %=set_squad_friend_to_actor(pri_a28_evac_squad)%
on_info5 = {-pri_a28_strelok_dead !is_alive(pri_b305_strelok)} %+pri_a28_strelok_dead%
on_info6 = {-pri_a28_koval_dead !is_alive(pri_a17_military_colonel_kovalski)} %+pri_a28_koval_dead%
on_info7 = {=squad_exist(pri_a16_military_squad) =pri_a28_actor_is_far} %=kill_squad(pri_a16_military_squad)%
on_info8 = {+pri_a28_actor_in_zone_stay} sr_idle@nil, {+pri_a28_actor_in_zone_leave} sr_idle@nil, {+pri_a28_evacuation_heli} sr_idle@nil
on_game_timer = 300 | {=squad_exist(pri_a16_military_squad)} sr_idle@heal_a_little_bit
[sr_idle@heal_a_little_bit]
on_info = {=squad_exist(pri_a16_military_squad)} %=set_squad_friend_to_actor(pri_a16_military_squad)%
on_info2 = {=squad_exist(pri_a28_evac_squad)} %=set_squad_friend_to_actor(pri_a28_evac_squad)%
on_info3 = sr_idle@squad_neutral %=heal_squad(pri_a16_military_squad)%
[sr_idle@timeout]
on_game_timer = 150 | sr_idle@nil %+pri_a28_actor_enemy_to_squad +pri_a28_squad_dead%
[sr_idle@nil]

View file

@ -0,0 +1,20 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
[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

View file

@ -0,0 +1,27 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
[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

View file

@ -0,0 +1,13 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
[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

View file

@ -0,0 +1,63 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
def_restr = pri_a28_scene_end_zone
[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

View file

@ -0,0 +1,24 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
[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

View file

@ -0,0 +1,28 @@
[smart_terrain]
sim_avail = false
arrive_dist = 100000
[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