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,10 @@
[anomal_zone]
layers_count = 1
respawn_tries = 1
max_artefacts = 2
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_medusa, af_cristall_flower, af_night_star, af_vyvert, af_gravi, af_gold_fish
start_artefact = af_gold_fish
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = pri_b301_af_way, pri_b301_af_way_2

View file

@ -0,0 +1,28 @@
[anomal_zone]
layers_count = 2
respawn_tries = 1
max_artefacts = 2
artefacts = af_blood, af_mincer_meat, af_soul, af_fuzz_kolobok, af_baloon, af_glass
start_artefact = af_glass
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = pri_b302_art, pri_b302_af_way_2
[layer_1]
mines_section = mines_layer_1
[mines_layer_1]
pri_b302_zone_mine_acidic_strong_0000
pri_b302_zone_mine_acidic_strong_0008
pri_b302_zone_mine_acidic_strong_0011
pri_b302_zone_mine_acidic_strong_0012
pri_b302_zone_mine_acidic_strong_0013
[layer_2]
mines_section = mines_layer_2
[mines_layer_2]
pri_b302_zone_mine_acidic_strong
pri_b302_zone_mine_acidic_strong_0005
pri_b302_zone_mine_acidic_strong_0009
pri_b302_zone_mine_acidic_strong_0010
pri_b302_zone_mine_acidic_strong_0017

View file

@ -0,0 +1,8 @@
[anomal_zone]
layers_count = 1
respawn_tries = 1
max_artefacts = 2
artefacts = af_electra_sparkler, af_electra_flash, af_electra_moonlight, af_dummy_battery, af_dummy_dummy, af_ice
start_artefact = af_dummy_dummy
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = pri_b303_af_way, pri_b303_af_way_2

View file

@ -0,0 +1,10 @@
[anomal_zone]
layers_count = 1
respawn_tries = 1
max_artefacts = 2
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_blood, af_mincer_meat, af_soul, af_fuzz_kolobok, af_baloon, af_glass
start_artefact = af_baloon
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = pri_b304_af_way, pri_b304_af_way_2

View file

@ -0,0 +1,43 @@
[anomal_zone]
layers_count = 2
respawn_tries = 2
max_artefacts = 3
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_electra_sparkler, af_electra_flash, af_electra_moonlight, af_dummy_battery, af_dummy_dummy, af_ice
start_artefact = af_ice
coeff = 3, 3, 2, 2, 1, 1
artefact_ways = pri_b306_af_way_1, pri_b306_af_way_2, pri_b306_af_way_3
[mines_core]
pri_b306_zone_mine_electric_strong
pri_b306_zone_mine_electric_strong_0000
pri_b306_zone_mine_electric_strong_0001
pri_b306_zone_mine_electric_strong_0002
pri_b306_zone_mine_electric_strong_0003
pri_b306_zone_mine_electric_strong_0004
pri_b306_zone_mine_electric_strong_0005
pri_b306_zone_mine_electric_strong_0006
pri_b306_zone_mine_electric_average_0001
pri_b306_zone_mine_electric_average_0003
pri_b306_zone_mine_electric_average_0004
[layer_1]
mines_section = mines_layer_1
[mines_layer_1]:mines_core
pri_b306_zone_mine_electric_average
pri_b306_zone_mine_electric_average_0000
pri_b306_zone_mine_electric_average_0002
pri_b306_zone_mine_electric_average_0005
pri_b306_zone_mine_electric_average_0006
[layer_2]
mines_section = mines_layer_2
[mines_layer_2]:mines_core
pri_b306_zone_mine_electric_average_0007
pri_b306_zone_mine_electric_average_0008
pri_b306_zone_mine_electric_average_0009
pri_b306_zone_mine_electric_average_0010

View file

@ -0,0 +1,10 @@
[anomal_zone]
layers_count = 1
respawn_tries = 1
max_artefacts = 2
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_cristall, af_fireball, af_dummy_glassbeads, af_eye, af_fire
start_artefact = af_fire
coeff = 3, 3, 2, 2, 1
artefact_ways = pri_b307_af_way, pri_b307_af_way_2

View file

@ -0,0 +1,9 @@
[anomal_zone]
layers_count = 1
respawn_tries = 2
max_artefacts = 3
;applying_force_xz = 200
;applying_force_y = 400
artefacts = af_dummy_glassbeads, af_eye, af_fire, af_electra_moonlight, af_dummy_battery, af_dummy_dummy, af_ice, af_night_star, af_vyvert, af_gravi, af_gold_fish, af_soul, af_fuzz_kolobok, af_baloon, af_glass
coeff = 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1
artefact_ways = pri_wa_way_1, pri_wa_way_2, pri_wa_way_3, pri_wa_way_4, pri_wa_way_5, pri_wa_way_6

View file

@ -0,0 +1,5 @@
[animated_object]
idle_snd = nil
start_snd = ambient\pripyat\pri_a15_gates_knock_out
stop_snd = nil
start_delay = 17500

View file

@ -0,0 +1,666 @@
;Vano
[animpoint@vano]
cover_name = pri_a15_animpoint_vano
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
reach_distance = 50
reach_movement = walk_noweap
out_restr = pri_a15_sr_start
[logic@pri_a15_vano]
prior = 200
suitable = {=check_npc_name(pri_a15_vano) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_vano
[animpoint@pri_a15_vano]:animpoint@vano
avail_animations = pri_a15_idle_none
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_vano_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_vano_1_sokolov
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_vano_1_zulus
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_vano_1_wanderer
on_info5 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_vano_2_sokolov_zulus
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_vano_2_sokolov_wanderer
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_vano_2_zulus_wanderer
on_info8 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_vano_3_vano_alive
on_info9 = {-pri_a15_vano_counted} %+pri_a15_vano_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_vano_all_alive]:animpoint@vano
avail_animations = pri_a15_vano_all
[animpoint@pri_a15_vano_1_sokolov]:animpoint@vano
avail_animations = pri_a15_vano_1_sokolov
[animpoint@pri_a15_vano_1_zulus]:animpoint@vano
avail_animations = pri_a15_vano_1_zulus
[animpoint@pri_a15_vano_1_wanderer]:animpoint@vano
avail_animations = pri_a15_vano_1_wanderer
[animpoint@pri_a15_vano_2_sokolov_zulus]:animpoint@vano
avail_animations = pri_a15_vano_2_sokolov_zulus
[animpoint@pri_a15_vano_2_sokolov_wanderer]:animpoint@vano
avail_animations = pri_a15_vano_2_sokolov_wanderer
[animpoint@pri_a15_vano_2_zulus_wanderer]:animpoint@vano
avail_animations = pri_a15_vano_2_zulus_wanderer
[animpoint@pri_a15_vano_3_vano_alive]:animpoint@vano
avail_animations = pri_a15_vano_3_vano_alive
;Sokolov
[animpoint@sokolov]
cover_name = pri_a15_animpoint_sokolov
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
reach_distance = 50
reach_movement = walk_noweap
[logic@pri_a15_sokolov]
prior = 200
suitable = {=check_npc_name(pri_a15_sokolov_scene) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_sokolov
[animpoint@pri_a15_sokolov]:animpoint@sokolov
avail_animations = pri_a15_idle_none
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_sokolov_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_sokolov_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_sokolov_1_zulus
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_sokolov_1_wanderer
on_info5 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_sokolov_2_vano_zulus
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_sokolov_2_vano_wanderer
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_sokolov_2_zulus_wanderer
on_info8 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_sokolov_3_sokolov_alive
on_info9 = {-pri_a15_sokolov_counted} %+pri_a15_sokolov_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_sokolov_all_alive]:animpoint@sokolov
avail_animations = pri_a15_sokolov_all
[animpoint@pri_a15_sokolov_1_vano]:animpoint@sokolov
avail_animations = pri_a15_sokolov_1_vano
[animpoint@pri_a15_sokolov_1_zulus]:animpoint@sokolov
avail_animations = pri_a15_sokolov_1_zulus
[animpoint@pri_a15_sokolov_1_wanderer]:animpoint@sokolov
avail_animations = pri_a15_sokolov_1_wanderer
[animpoint@pri_a15_sokolov_2_vano_zulus]:animpoint@sokolov
avail_animations = pri_a15_sokolov_2_vano_zulus
[animpoint@pri_a15_sokolov_2_vano_wanderer]:animpoint@sokolov
avail_animations = pri_a15_sokolov_2_vano_wanderer
[animpoint@pri_a15_sokolov_2_zulus_wanderer]:animpoint@sokolov
avail_animations = pri_a15_sokolov_2_zulus_wanderer
[animpoint@pri_a15_sokolov_3_sokolov_alive]:animpoint@sokolov
avail_animations = pri_a15_sokolov_3_sokolov_alive
;Zulus
[animpoint@zulus]
cover_name = pri_a15_animpoint_zulus
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
reach_distance = 50
reach_movement = patrol
out_restr = pri_a15_sr_start
[logic@pri_a15_zulus]
prior = 200
suitable = {=check_npc_name(pri_a15_zulus) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_zulus
[animpoint@pri_a15_zulus]:animpoint@zulus
avail_animations = pri_a15_idle_unstrap
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_zulus_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_zulus_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_zulus_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_zulus_1_wanderer
on_info5 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_zulus_2_vano_sokolov
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_zulus_2_vano_wanderer
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_zulus_2_sokolov_wanderer
on_info8 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_zulus_3_zulus_alive
on_info9 = {-pri_a15_zulus_counted} %+pri_a15_zulus_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_zulus_all_alive]:animpoint@zulus
avail_animations = pri_a15_zulus_all
[animpoint@pri_a15_zulus_1_vano]:animpoint@zulus
avail_animations = pri_a15_zulus_1_vano
[animpoint@pri_a15_zulus_1_sokolov]:animpoint@zulus
avail_animations = pri_a15_zulus_1_sokolov
[animpoint@pri_a15_zulus_1_wanderer]:animpoint@zulus
avail_animations = pri_a15_zulus_1_wanderer
[animpoint@pri_a15_zulus_2_vano_sokolov]:animpoint@zulus
avail_animations = pri_a15_zulus_2_vano_sokolov
[animpoint@pri_a15_zulus_2_vano_wanderer]:animpoint@zulus
avail_animations = pri_a15_zulus_2_vano_wanderer
[animpoint@pri_a15_zulus_2_sokolov_wanderer]:animpoint@zulus
avail_animations = pri_a15_zulus_2_sokolov_wanderer
[animpoint@pri_a15_zulus_3_zulus_alive]:animpoint@zulus
avail_animations = pri_a15_zulus_3_zulus_alive
;Wanderer
[animpoint@wanderer]
cover_name = pri_a15_animpoint_wanderer
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
reach_distance = 50
reach_movement = walk_noweap
out_restr = pri_a15_sr_start
[logic@pri_a15_wanderer]
prior = 200
suitable = {=check_npc_name(pri_a15_wanderer) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_wanderer
[animpoint@pri_a15_wanderer]:animpoint@wanderer
avail_animations = pri_a15_idle_none
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_wanderer_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_wanderer_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_wanderer_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_wanderer_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_wanderer_2_vano_sokolov
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_wanderer_2_vano_zulus
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_wanderer_2_sokolov_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_wanderer_3_wanderer_alive
on_info9 = {-pri_a15_wanderer_counted} %+pri_a15_wanderer_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_wanderer_all_alive]:animpoint@wanderer
avail_animations = pri_a15_wanderer_all
[animpoint@pri_a15_wanderer_1_vano]:animpoint@wanderer
avail_animations = pri_a15_wanderer_1_vano
[animpoint@pri_a15_wanderer_1_sokolov]:animpoint@wanderer
avail_animations = pri_a15_wanderer_1_sokolov
[animpoint@pri_a15_wanderer_1_zulus]:animpoint@wanderer
avail_animations = pri_a15_wanderer_1_zulus
[animpoint@pri_a15_wanderer_2_vano_sokolov]:animpoint@wanderer
avail_animations = pri_a15_wanderer_2_vano_sokolov
[animpoint@pri_a15_wanderer_2_vano_zulus]:animpoint@wanderer
avail_animations = pri_a15_wanderer_2_vano_zulus
[animpoint@pri_a15_wanderer_2_sokolov_zulus]:animpoint@wanderer
avail_animations = pri_a15_wanderer_2_sokolov_zulus
[animpoint@pri_a15_wanderer_3_wanderer_alive]:animpoint@wanderer
avail_animations = pri_a15_wanderer_3_wanderer_alive
;actor
[animpoint@actor]
cover_name = pri_a15_animpoint_actor
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
reach_distance = 50
reach_movement = walk_noweap
out_restr = pri_a15_sr_start
[logic@pri_a15_actor]
prior = 200
suitable = {=check_npc_name(pri_a15_actor) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_actor
[animpoint@pri_a15_actor]:animpoint@actor
avail_animations = pri_a15_idle_none
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_actor_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_actor_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_actor_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_actor_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_actor_1_wanderer
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_actor_2_vano_sokolov
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_actor_2_vano_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_actor_2_vano_wanderer
on_info9 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_actor_2_sokolov_zulus
on_info10 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_actor_2_sokolov_wanderer
on_info11 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_actor_2_zulus_wanderer
on_info12 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_actor_3_wanderer_alive
on_info13 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_actor_3_zulus_alive
on_info14 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_actor_3_sokolov_alive
on_info15 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_actor_3_vano_alive
on_info16 = {+pri_a15_cutscene_go +pri_a15_all_dead} animpoint@pri_a15_actor_all_dead
on_info17 = {-pri_a15_actor_counted} %+pri_a15_actor_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_actor_all_alive]:animpoint@actor
avail_animations = pri_a15_actor_all
[animpoint@pri_a15_actor_1_vano]:animpoint@actor
avail_animations = pri_a15_actor_1_vano
[animpoint@pri_a15_actor_1_sokolov]:animpoint@actor
avail_animations = pri_a15_actor_1_sokolov
[animpoint@pri_a15_actor_1_zulus]:animpoint@actor
avail_animations = pri_a15_actor_1_zulus
[animpoint@pri_a15_actor_1_wanderer]:animpoint@actor
avail_animations = pri_a15_actor_1_wanderer
[animpoint@pri_a15_actor_2_vano_sokolov]:animpoint@actor
avail_animations = pri_a15_actor_2_vano_sokolov
[animpoint@pri_a15_actor_2_vano_zulus]:animpoint@actor
avail_animations = pri_a15_actor_2_vano_zulus
[animpoint@pri_a15_actor_2_vano_wanderer]:animpoint@actor
avail_animations = pri_a15_actor_2_vano_wanderer
[animpoint@pri_a15_actor_2_sokolov_zulus]:animpoint@actor
avail_animations = pri_a15_actor_2_sokolov_zulus
[animpoint@pri_a15_actor_2_sokolov_wanderer]:animpoint@actor
avail_animations = pri_a15_actor_2_sokolov_wanderer
[animpoint@pri_a15_actor_2_zulus_wanderer]:animpoint@actor
avail_animations = pri_a15_actor_2_zulus_wanderer
[animpoint@pri_a15_actor_3_wanderer_alive]:animpoint@actor
avail_animations = pri_a15_actor_3_wanderer_alive
[animpoint@pri_a15_actor_3_zulus_alive]:animpoint@actor
avail_animations = pri_a15_actor_3_zulus_alive
[animpoint@pri_a15_actor_3_sokolov_alive]:animpoint@actor
avail_animations = pri_a15_actor_3_sokolov_alive
[animpoint@pri_a15_actor_3_vano_alive]:animpoint@actor
avail_animations = pri_a15_actor_3_vano_alive
[animpoint@pri_a15_actor_all_dead]:animpoint@actor
avail_animations = pri_a15_actor_all_dead
;military tarasov
[animpoint@general_military_1]
cover_name = pri_a15_animpoint_military_1
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
reach_distance = 50
reach_movement = patrol
[logic@pri_a15_military_tarasov]
prior = 200
suitable = {=check_npc_name(pri_a15_military_tarasov) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_military_tarasov
[animpoint@pri_a15_military_tarasov]:animpoint@general_military_1
avail_animations = pri_a15_idle_unstrap
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_military_tarasov_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_military_tarasov_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_military_tarasov_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_military_tarasov_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_military_tarasov_1_wanderer
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_military_tarasov_2_vano_sokolov
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_military_tarasov_2_vano_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_military_tarasov_2_vano_wanderer
on_info9 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_military_tarasov_2_sokolov_zulus
on_info10 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_military_tarasov_2_sokolov_wanderer
on_info11 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_military_tarasov_2_zulus_wanderer
on_info12 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_military_tarasov_3_wanderer_alive
on_info13 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_military_tarasov_3_zulus_alive
on_info14 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_military_tarasov_3_sokolov_alive
on_info15 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_military_tarasov_3_vano_alive
on_info16 = {+pri_a15_cutscene_go +pri_a15_all_dead} animpoint@pri_a15_military_tarasov_all_dead
on_info17 = {-pri_a15_mil_1_counted} %+pri_a15_mil_1_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_military_tarasov_all_alive]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_all
[animpoint@pri_a15_military_tarasov_1_vano]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_1_vano
[animpoint@pri_a15_military_tarasov_1_sokolov]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_1_sokolov
[animpoint@pri_a15_military_tarasov_1_zulus]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_1_zulus
[animpoint@pri_a15_military_tarasov_1_wanderer]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_1_wanderer
[animpoint@pri_a15_military_tarasov_2_vano_sokolov]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_vano_sokolov
[animpoint@pri_a15_military_tarasov_2_vano_zulus]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_vano_zulus
[animpoint@pri_a15_military_tarasov_2_vano_wanderer]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_vano_wanderer
[animpoint@pri_a15_military_tarasov_2_sokolov_zulus]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_sokolov_zulus
[animpoint@pri_a15_military_tarasov_2_sokolov_wanderer]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_sokolov_wanderer
[animpoint@pri_a15_military_tarasov_2_zulus_wanderer]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_2_zulus_wanderer
[animpoint@pri_a15_military_tarasov_3_wanderer_alive]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_3_wanderer_alive
[animpoint@pri_a15_military_tarasov_3_zulus_alive]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_3_zulus_alive
[animpoint@pri_a15_military_tarasov_3_sokolov_alive]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_3_sokolov_alive
[animpoint@pri_a15_military_tarasov_3_vano_alive]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_3_vano_alive
[animpoint@pri_a15_military_tarasov_all_dead]:animpoint@general_military_1
avail_animations = pri_a15_military_tarasov_all_dead
;military 2
[animpoint@general_military_2]
cover_name = pri_a15_animpoint_military_2
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
reach_distance = 50
reach_movement = patrol
[logic@pri_a15_military_2]
prior = 200
suitable = {=check_npc_name(pri_a15_military_2) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_military_2
[animpoint@pri_a15_military_2]:animpoint@general_military_2
avail_animations = pri_a15_idle_unstrap
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_military_2_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_military_2_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_military_2_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_military_2_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_military_2_1_wanderer
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_military_2_2_vano_sokolov
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_military_2_2_vano_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_military_2_2_vano_wanderer
on_info9 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_military_2_2_sokolov_zulus
on_info10 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_military_2_2_sokolov_wanderer
on_info11 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_military_2_2_zulus_wanderer
on_info12 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_military_2_3_wanderer_alive
on_info13 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_military_2_3_zulus_alive
on_info14 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_military_2_3_sokolov_alive
on_info15 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_military_2_3_vano_alive
on_info16 = {+pri_a15_cutscene_go +pri_a15_all_dead} animpoint@pri_a15_military_2_all_dead
on_info17 = {-pri_a15_mil_2_counted} %+pri_a15_mil_2_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_military_2_all_alive]:animpoint@general_military_2
avail_animations = pri_a15_military_2_all
[animpoint@pri_a15_military_2_1_vano]:animpoint@general_military_2
avail_animations = pri_a15_military_2_1_vano
[animpoint@pri_a15_military_2_1_sokolov]:animpoint@general_military_2
avail_animations = pri_a15_military_2_1_sokolov
[animpoint@pri_a15_military_2_1_zulus]:animpoint@general_military_2
avail_animations = pri_a15_military_2_1_zulus
[animpoint@pri_a15_military_2_1_wanderer]:animpoint@general_military_2
avail_animations = pri_a15_military_2_1_wanderer
[animpoint@pri_a15_military_2_2_vano_sokolov]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_vano_sokolov
[animpoint@pri_a15_military_2_2_vano_zulus]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_vano_zulus
[animpoint@pri_a15_military_2_2_vano_wanderer]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_vano_wanderer
[animpoint@pri_a15_military_2_2_sokolov_zulus]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_sokolov_zulus
[animpoint@pri_a15_military_2_2_sokolov_wanderer]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_sokolov_wanderer
[animpoint@pri_a15_military_2_2_zulus_wanderer]:animpoint@general_military_2
avail_animations = pri_a15_military_2_2_zulus_wanderer
[animpoint@pri_a15_military_2_3_wanderer_alive]:animpoint@general_military_2
avail_animations = pri_a15_military_2_3_wanderer_alive
[animpoint@pri_a15_military_2_3_zulus_alive]:animpoint@general_military_2
avail_animations = pri_a15_military_2_3_zulus_alive
[animpoint@pri_a15_military_2_3_sokolov_alive]:animpoint@general_military_2
avail_animations = pri_a15_military_2_3_sokolov_alive
[animpoint@pri_a15_military_2_3_vano_alive]:animpoint@general_military_2
avail_animations = pri_a15_military_2_3_vano_alive
[animpoint@pri_a15_military_2_all_dead]:animpoint@general_military_2
avail_animations = pri_a15_military_2_all_dead
;military 3
[animpoint@general_military_3]
cover_name = pri_a15_animpoint_military_3
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
reach_distance = 50
reach_movement = patrol
[logic@pri_a15_military_3]
prior = 200
suitable = {=check_npc_name(pri_a15_military_3) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_military_3
[animpoint@pri_a15_military_3]:animpoint@general_military_3
avail_animations = pri_a15_idle_unstrap
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_military_3_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_military_3_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_military_3_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_military_3_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_military_3_1_wanderer
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_military_3_2_vano_sokolov
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_military_3_2_vano_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_military_3_2_vano_wanderer
on_info9 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_military_3_2_sokolov_zulus
on_info10 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_military_3_2_sokolov_wanderer
on_info11 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_military_3_2_zulus_wanderer
on_info12 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_military_3_3_wanderer_alive
on_info13 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_military_3_3_zulus_alive
on_info14 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_military_3_3_sokolov_alive
on_info15 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_military_3_3_vano_alive
on_info16 = {+pri_a15_cutscene_go +pri_a15_all_dead} animpoint@pri_a15_military_3_all_dead
on_info17 = {-pri_a15_mil_3_counted} %+pri_a15_mil_3_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_military_3_all_alive]:animpoint@general_military_3
avail_animations = pri_a15_military_3_all
[animpoint@pri_a15_military_3_1_vano]:animpoint@general_military_3
avail_animations = pri_a15_military_3_1_vano
[animpoint@pri_a15_military_3_1_sokolov]:animpoint@general_military_3
avail_animations = pri_a15_military_3_1_sokolov
[animpoint@pri_a15_military_3_1_zulus]:animpoint@general_military_3
avail_animations = pri_a15_military_3_1_zulus
[animpoint@pri_a15_military_3_1_wanderer]:animpoint@general_military_3
avail_animations = pri_a15_military_3_1_wanderer
[animpoint@pri_a15_military_3_2_vano_sokolov]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_vano_sokolov
[animpoint@pri_a15_military_3_2_vano_zulus]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_vano_zulus
[animpoint@pri_a15_military_3_2_vano_wanderer]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_vano_wanderer
[animpoint@pri_a15_military_3_2_sokolov_zulus]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_sokolov_zulus
[animpoint@pri_a15_military_3_2_sokolov_wanderer]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_sokolov_wanderer
[animpoint@pri_a15_military_3_2_zulus_wanderer]:animpoint@general_military_3
avail_animations = pri_a15_military_3_2_zulus_wanderer
[animpoint@pri_a15_military_3_3_wanderer_alive]:animpoint@general_military_3
avail_animations = pri_a15_military_3_3_wanderer_alive
[animpoint@pri_a15_military_3_3_zulus_alive]:animpoint@general_military_3
avail_animations = pri_a15_military_3_3_zulus_alive
[animpoint@pri_a15_military_3_3_sokolov_alive]:animpoint@general_military_3
avail_animations = pri_a15_military_3_3_sokolov_alive
[animpoint@pri_a15_military_3_3_vano_alive]:animpoint@general_military_3
avail_animations = pri_a15_military_3_3_vano_alive
[animpoint@pri_a15_military_3_all_dead]:animpoint@general_military_3
avail_animations = pri_a15_military_3_all_dead
;military 4
[animpoint@general_military_4]
cover_name = pri_a15_animpoint_military_4
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
reach_distance = 50
reach_movement = patrol
[logic@pri_a15_military_4]
prior = 200
suitable = {=check_npc_name(pri_a15_military_4) -pri_a15_cutscene_end} true
active = animpoint@pri_a15_military_4
[animpoint@pri_a15_military_4]:animpoint@general_military_4
avail_animations = pri_a15_idle_unstrap
on_info = {+pri_a15_cutscene_go +pri_a15_all_alive} animpoint@pri_a15_military_4_all_alive
on_info2 = {+pri_a15_cutscene_go +pri_a15_1_vano} animpoint@pri_a15_military_4_1_vano
on_info3 = {+pri_a15_cutscene_go +pri_a15_1_sokolov} animpoint@pri_a15_military_4_1_sokolov
on_info4 = {+pri_a15_cutscene_go +pri_a15_1_zulus} animpoint@pri_a15_military_4_1_zulus
on_info5 = {+pri_a15_cutscene_go +pri_a15_1_wanderer} animpoint@pri_a15_military_4_1_wanderer
on_info6 = {+pri_a15_cutscene_go +pri_a15_2_vano_sokolov} animpoint@pri_a15_military_4_2_vano_sokolov
on_info7 = {+pri_a15_cutscene_go +pri_a15_2_vano_zulus} animpoint@pri_a15_military_4_2_vano_zulus
on_info8 = {+pri_a15_cutscene_go +pri_a15_2_vano_wanderer} animpoint@pri_a15_military_4_2_vano_wanderer
on_info9 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_zulus} animpoint@pri_a15_military_4_2_sokolov_zulus
on_info10 = {+pri_a15_cutscene_go +pri_a15_2_sokolov_wanderer} animpoint@pri_a15_military_4_2_sokolov_wanderer
on_info11 = {+pri_a15_cutscene_go +pri_a15_2_zulus_wanderer} animpoint@pri_a15_military_4_2_zulus_wanderer
on_info12 = {+pri_a15_cutscene_go +pri_a15_3_wanderer_alive} animpoint@pri_a15_military_4_3_wanderer_alive
on_info13 = {+pri_a15_cutscene_go +pri_a15_3_zulus_alive} animpoint@pri_a15_military_4_3_zulus_alive
on_info14 = {+pri_a15_cutscene_go +pri_a15_3_sokolov_alive} animpoint@pri_a15_military_4_3_sokolov_alive
on_info15 = {+pri_a15_cutscene_go +pri_a15_3_vano_alive} animpoint@pri_a15_military_4_3_vano_alive
on_info16 = {+pri_a15_cutscene_go +pri_a15_all_dead} animpoint@pri_a15_military_4_all_dead
on_info17 = {-pri_a15_mil_4_counted} %+pri_a15_mil_4_counted =dec_counter(pri_a15_squad_count)%
[animpoint@pri_a15_military_4_all_alive]:animpoint@general_military_4
avail_animations = pri_a15_military_4_all
[animpoint@pri_a15_military_4_1_vano]:animpoint@general_military_4
avail_animations = pri_a15_military_4_1_vano
[animpoint@pri_a15_military_4_1_sokolov]:animpoint@general_military_4
avail_animations = pri_a15_military_4_1_sokolov
[animpoint@pri_a15_military_4_1_zulus]:animpoint@general_military_4
avail_animations = pri_a15_military_4_1_zulus
[animpoint@pri_a15_military_4_1_wanderer]:animpoint@general_military_4
avail_animations = pri_a15_military_4_1_wanderer
[animpoint@pri_a15_military_4_2_vano_sokolov]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_vano_sokolov
[animpoint@pri_a15_military_4_2_vano_zulus]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_vano_zulus
[animpoint@pri_a15_military_4_2_vano_wanderer]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_vano_wanderer
[animpoint@pri_a15_military_4_2_sokolov_zulus]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_sokolov_zulus
[animpoint@pri_a15_military_4_2_sokolov_wanderer]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_sokolov_wanderer
[animpoint@pri_a15_military_4_2_zulus_wanderer]:animpoint@general_military_4
avail_animations = pri_a15_military_4_2_zulus_wanderer
[animpoint@pri_a15_military_4_3_wanderer_alive]:animpoint@general_military_4
avail_animations = pri_a15_military_4_3_wanderer_alive
[animpoint@pri_a15_military_4_3_zulus_alive]:animpoint@general_military_4
avail_animations = pri_a15_military_4_3_zulus_alive
[animpoint@pri_a15_military_4_3_sokolov_alive]:animpoint@general_military_4
avail_animations = pri_a15_military_4_3_sokolov_alive
[animpoint@pri_a15_military_4_3_vano_alive]:animpoint@general_military_4
avail_animations = pri_a15_military_4_3_vano_alive
[animpoint@pri_a15_military_4_all_dead]:animpoint@general_military_4
avail_animations = pri_a15_military_4_all_dead

View file

@ -0,0 +1,72 @@
[logic]
active = sr_idle@run_black
[sr_idle@run_black]
on_info = sr_idle@prestart %=stop_surge =disable_ui =run_postprocess(black:3009:true) =set_counter(pri_a15_squad_count:5) =create_squad(pri_a15_squad:pri_a15) =create_squad(pri_a15_military_squad:pri_a15)%
[sr_idle@prestart]
;on_game_timer = 5 | sr_idle@give_info %=teleport_actor(pri_a15_actor_walk:pri_a15_actor_look)%
;çàòû÷êà
on_game_timer = 5 | sr_idle@start %=teleport_actor(pri_a15_actor_walk:pri_a15_actor_look)%
[sr_idle@start]
on_info = {+pas_b400_done} sr_idle@give_info
;çàòû÷êà
on_info2 = {-pas_b400_done} sr_idle@nil %+pri_a15_cutscene_end =teleport_actor(pri_a15_actor_start_walk:pri_a15_actor_start_look)%
;on_info2 = {-pas_b400_done} %+pas_b400_done%
[sr_idle@give_info]
on_info = { -pri_a15_vano_out -pri_a15_sokolov_out -pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_all_alive%
on_info2 = { +pri_a15_vano_out -pri_a15_sokolov_out -pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_1_vano%
on_info3 = { -pri_a15_vano_out +pri_a15_sokolov_out -pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_1_sokolov%
on_info4 = { -pri_a15_vano_out -pri_a15_sokolov_out +pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_1_zulus%
on_info5 = { -pri_a15_vano_out -pri_a15_sokolov_out -pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_1_wanderer%
on_info6 = { +pri_a15_vano_out +pri_a15_sokolov_out -pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_vano_sokolov%
on_info7 = { +pri_a15_vano_out -pri_a15_sokolov_out +pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_vano_zulus%
on_info8 = { +pri_a15_vano_out -pri_a15_sokolov_out -pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_vano_wanderer%
on_info9 = { -pri_a15_vano_out +pri_a15_sokolov_out +pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_sokolov_zulus%
on_info10 = { -pri_a15_vano_out +pri_a15_sokolov_out -pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_sokolov_wanderer%
on_info11 = { -pri_a15_vano_out -pri_a15_sokolov_out +pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_2_zulus_wanderer%
on_info12 = { +pri_a15_vano_out +pri_a15_sokolov_out +pri_a15_zulus_out -pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_3_wanderer_alive%
on_info13 = { +pri_a15_vano_out +pri_a15_sokolov_out -pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_3_zulus_alive%
on_info14 = { +pri_a15_vano_out -pri_a15_sokolov_out +pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_3_sokolov_alive%
on_info15 = { -pri_a15_vano_out +pri_a15_sokolov_out +pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_3_vano_alive%
on_info16 = { +pri_a15_vano_out +pri_a15_sokolov_out +pri_a15_zulus_out +pri_a15_wanderer_out} sr_idle@spawn_military %+pri_a15_all_dead%
[sr_idle@spawn_military]
on_info = sr_idle@spawn_vano %=create_squad_member(pri_a15_military_2:pri_a15_military_squad:pri_a15_military_2_spawn) =create_squad_member(pri_a15_military_3:pri_a15_military_squad:pri_a15_military_3_spawn) =create_squad_member(pri_a15_military_4:pri_a15_military_squad:pri_a15_military_4_spawn)%
[sr_idle@spawn_vano]
on_info = {-pri_a15_vano_out} sr_idle@spawn_sokolov %=create_squad_member(pri_a15_vano:pri_a15_squad:pri_a15_vano_spawn) =inc_counter(pri_a15_squad_count)%
on_info2 = {+pri_a15_vano_out} sr_idle@spawn_sokolov
[sr_idle@spawn_sokolov]
on_info = {-pri_a15_sokolov_out} sr_idle@spawn_zulus %=create_squad_member(pri_a15_sokolov_scene:pri_a15_squad:pri_a15_sokolov_spawn) =inc_counter(pri_a15_squad_count)%
on_info2 = {+pri_a15_sokolov_out} sr_idle@spawn_zulus
[sr_idle@spawn_zulus]
on_info = {-pri_a15_zulus_out} sr_idle@spawn_wanderer %=create_squad_member(pri_a15_zulus:pri_a15_squad:pri_a15_zulus_spawn) =inc_counter(pri_a15_squad_count)%
on_info2 = {+pri_a15_zulus_out} sr_idle@spawn_wanderer
[sr_idle@spawn_wanderer]
on_info = {-pri_a15_wanderer_out} sr_idle@count_squad %=create_squad_member(pri_a15_wanderer:pri_a15_squad:pri_a15_wanderer_spawn) =inc_counter(pri_a15_squad_count)%
on_info2 = {+pri_a15_wanderer_out} sr_idle@count_squad
[sr_idle@count_squad]
on_info = {!counter_greater(pri_a15_squad_count:0)} sr_idle@start_cam %=stop_surge%
[sr_idle@start_cam]
on_game_timer = 20 | sr_idle@wait %=stop_postprocess(3009) +pri_a15_cutscene_go =update_npc_logic(pri_a15_actor:pri_a15_vano:pri_a15_sokolov_scene:pri_a15_zulus:pri_a15_wanderer:pri_a15_military_tarasov:pri_a15_military_2:pri_a15_military_3:pri_a15_military_4) =update_obj_logic(pri_a15_exit)%
[sr_idle@wait]
on_info = {+pri_a15_cutscene_end} sr_idle@end %=run_postprocess(fade_to_black_9_sec)%
[sr_idle@end]
on_game_timer = 75 | sr_idle@nil %=run_postprocess(black:3009:true)%
on_info = {+pri_a16_kovalski_start} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,44 @@
[logic]
active = sr_idle@clean_jup
[sr_idle@clean_jup]
on_info = {=squad_exist(jup_b15_zulus_squad)} sr_idle@spawn_vano %=remove_squad(jup_b15_zulus_squad)%, sr_idle@spawn_vano
[sr_idle@spawn_vano]
on_info = {-pri_a15_vano_out} sr_idle@spawn_sokolov %=create_squad(pri_a16_vano_squad:pri_a16)%
on_info2 = {+pri_a15_vano_out} sr_idle@spawn_sokolov
[sr_idle@spawn_sokolov]
on_info = {-pri_a15_sokolov_out} sr_idle@spawn_wanderer %=create_squad(pri_a16_sokolov_squad:pri_a16) +pri_a16_sokolov_on_pripyat%
on_info2 = {+pri_a15_sokolov_out} sr_idle@spawn_wanderer
[sr_idle@spawn_wanderer]
on_info = {-pri_a15_wanderer_out +jup_b4_monolith_squad_in_freedom} sr_idle@wait %=create_squad(pri_a16_wanderer_freedom_squad:pri_a16)%
on_info2 = {-pri_a15_wanderer_out +jup_b4_monolith_squad_in_duty} sr_idle@wait %=create_squad(pri_a16_wanderer_dolg_squad:pri_a16)%
on_info3 = {+pri_a15_wanderer_out} sr_idle@wait
on_info4 = {-jup_b4_monolith_squad_in_duty -jup_b4_monolith_squad_in_freedom} %+jup_b4_monolith_squad_in_freedom%
[sr_idle@wait]
on_info = {+pri_a15_cutscene_go} sr_cutscene@start
;çàòû÷êà
on_info2 = {+pri_a15_cutscene_end} sr_idle@fade
[sr_cutscene@start]
point = pri_a15_actor_walk
look = pri_a15_actor_look
cam_effector = pri_a15_cameffector
on_signal = cameff_end | sr_idle@fade %=teleport_actor(pri_a15_actor_start_walk:pri_a15_actor_start_look) +pri_a15_cutscene_end =run_postprocess(black:3009:true)%
enable_ui_on_end = false
outdoor = true
[sr_idle@fade]
on_info = sr_idle@after %=remove_squad(pri_a15_squad) =remove_squad(pri_a15_military_squad) =forward_game_time(0:20)%
[sr_idle@after]
on_info = {=squad_exist(pri_a16_wanderer_squad)} %=set_squad_goodwill(pri_a16_wanderer_squad:friend)%
on_info2 = sr_idle@wait_for_end
[sr_idle@wait_for_end]
on_game_timer = 30 | sr_idle@nil %=enable_ui(true) =stop_postprocess(3009) +pri_a16_kovalski_start =spawn_corpse(sim_default_monolith_2:pri_a15_monolith_dead_stand:0)%
[sr_idle@nil]

View file

@ -0,0 +1,9 @@
[logic]
active = sr_idle
[sr_idle]
on_info = {+pri_a15_lights_off} sr_light
[sr_light]
on_info = {-pri_a15_lights_off} sr_idle
light_on = false

View file

@ -0,0 +1,11 @@
[logic]
active = ph_idle@open
[ph_idle@open]
nonscript_usable = true
tips = actor_inventory_box_use
on_info = {=actor_in_zone(pri_a16_sr_sleep)} ph_idle@sleep
[ph_idle@sleep]
nonscript_usable = false
on_info = {!actor_in_zone(pri_a16_sr_sleep)} ph_idle@open

View file

@ -0,0 +1,30 @@
[logic@pri_a16_kirillov]
active = animpoint@base
suitable = {-pri_a25_rfi_source_eliminated =check_npc_name(pri_a22_army_signaller)} true
prior = 200
level_spot = mechanic
[animpoint@base]
cover_name = pri_a16_animp_tech
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[meet]
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
allow_break = false
meet_on_talking = false

View file

@ -0,0 +1,159 @@
; presets
[walker@presets]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@presets]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[remark@presets]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
;***********************************
[logic@pri_a16_kovalski_start]
active = walker@stand_base
suitable = {-pri_a25_rfi_source_eliminated =check_npc_name(pri_a17_military_colonel_kovalski)} true
prior = 200
[walker@stand_base]:walker@presets
meet = meet@stand_base
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = military_colonel_kovalski_walk
path_look = military_colonel_kovalski_look
on_info = {+pri_a17_actor_bring_gauss_rifle -pri_a20_squad_attack_cam !npc_talking} walker@start_pri_a20 %+pri_a17_actor_has_gauss_rifle%
on_info2 = {+zat_a23_actor_has_gauss_rifle_documentation +pri_a20_talk_with_colonel_complete -pri_a21_colonel_lets_talk -pri_a21_give_task_no_base} walker@pri_a21_start
on_info3 = {-pri_b35_actor_rest +pri_b35_actor_is_guided} remark@b35_talk
on_info4 = {-pri_a22_colonel_give_task +pri_a18_found_antenna +pri_a21_sentry_task_done +pri_a19_lab_x8_investigated} walker@pri_a22
[meet@stand_base]
meet_dialog = {-pri_a17_military_base_commander_task_dialog_end} pri_a17_military_base_commander_task_dialog, {+pri_a17_military_recon_squad_ambush_dialog_end -pri_a17_actor_bring_gauss_rifle} pri_a17_got_gauss, {+pri_a20_squad_attack_cam -pri_a20_talk_with_colonel_complete} pri_a16_military_colonel_a20_find_recon_squd_dialog, {+zat_a23_actor_has_gauss_rifle_documentation +pri_a20_talk_with_colonel_complete -pri_a21_sentry_task_done} pri_a16_colonel_a21_about_sentry_start, {+pri_a19_lab_x8_investigated +pri_a22_scene_done -pri_a25_rfi_source_eliminated -pri_a25_kovaloski_base_1st_dialog} pri_a17_military_colonel_kovalski_a25_base_reminding_1, {+pri_a19_lab_x8_investigated +pri_a22_scene_done -pri_a25_rfi_source_eliminated -pri_a25_kovaloski_base_2st_dialog} pri_a17_military_colonel_kovalski_a25_base_reminding_2
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = actor
far_anim = nil
far_victim = nil
use = {!black_screen +pri_a16_kovalski_start -pri_a17_military_base_commander_task_dialog_end} self, {=actor_enemy} false, true
trade_enable = false
allow_break = false
;--------------------------------
[walker@start_pri_a20]:walker@presets
meet = no_meet
path_walk = military_colonel_kovalski_walk
path_look = military_colonel_kovalski_look
def_state_moving1 = walk
def_state_standing = wait_na
on_info = {-pri_a20_run_radio_snd} %+pri_a20_run_radio_snd%
on_info2 = {+pri_a20_radio_call_snd_end} walker@a20_answer_radio
[walker@a20_answer_radio]:walker@presets
meet = no_meet
path_walk = military_colonel_kovalski_walk
path_look = military_colonel_kovalski_look
def_state_moving1 = walk
def_state_standing = wait_na
on_signal = sound_end | animpoint@a20_table_look %+pri_a20_squad_attack_cam%
on_info = {-pri_a20_cutscene_start} %=play_sound(pri_a20_communication_with_recon_squad) +pri_a20_cutscene_start%
[animpoint@a20_table_look]:animpoint@presets
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
cover_name = pri_a20_sc_kovalski_radio_anim
avail_animations = pri_a20_colonel_radio
on_info = {=animpoint_reached -pri_a20_kovalski_reached_anim} %+pri_a20_kovalski_reached_anim%
on_info2 = {+pri_a20_colonel_talk_in_radio} %=play_sound(pri_a20_colonel_talk_in_radio)%
on_signal = sound_end | remark@ask_check_recon_squad
[remark@ask_check_recon_squad]:remark@presets
meet = meet@stand_base
target = path | pri_a16_cutscene_actor_walk, 0
anim = wait
on_game_timer = 30 | %=play_sound(pri_a20_colonel_ask_check_recon_squad)%
on_signal = sound_end | {-pri_a20_once_task_give} %+pri_a20_once_task_give =give_task(pri_a20_check_recon_squad_task)%
on_info = {!actor_in_zone(pri_a21_meet_kovalski_restrictor) +pri_a20_task_gived} walker@stand_base
;--------------------------------
[walker@pri_a21_start]:walker@presets
meet = no_meet
path_walk = military_colonel_kovalski_walk
path_look = military_colonel_kovalski_look
def_state_standing = ward
on_signal = sound_end | %+pri_a20_come_to_me_end%
on_info = {+pri_a21_give_task_no_base} walker@stand_base, {+pri_a21_give_task_base +pri_a21_colonel_give_sentry_task} walker@stand_base
on_info2 = {-pri_a21_sound_koval_base_about_task =actor_in_zone(pri_surge_hide_a16) -pri_a21_colonel_give_sentry_task} %=play_sound(pri_a21_colonel_base_about_sentry) +pri_a21_sound_koval_base_about_task%
on_info3 = {=actor_in_zone(pri_a21_meet_kovalski_restrictor) +pri_a20_come_to_me_end} walker@sound_on_place
on_info4 = {=actor_in_zone(pri_a21_meet_kovalski_restrictor)} %=stop_sound%
[walker@sound_on_place]:walker@presets
meet = no_meet
path_walk = military_colonel_kovalski_walk
path_look = military_colonel_kovalski_look
def_state_standing = ward
on_signal = sound_end | walker@stand_base
on_info = {+pri_a21_give_task_no_base} walker@stand_base, {+pri_a21_give_task_base +pri_a21_colonel_give_sentry_task} walker@stand_base
on_info2 = {-pri_a21_colonel_lets_talk} %=play_sound(pri_a21_colonel_lets_talk) +pri_a21_colonel_lets_talk%
;---------------------------------
[remark@b35_talk]:remark@presets
anim = wait_rac
target = story | actor
on_signal = anim_end | {-pri_b35_kovalski_calls_guide} %+pri_b35_kovalski_calls_guide =play_sound(pri_b35_kovalski_calls_guide)%
on_signal2 = sound_end | %+pri_b35_ui%
on_info = {+pri_b35_actor_rest} walker@stand_base
on_game_timer = 50 | {-pri_b35_kovalski_calls_guide} %+pri_b35_kovalski_calls_guide =play_sound(pri_b35_kovalski_calls_guide)%
meet = no_meet
;---------------------------------
[walker@pri_a22]:walker@presets
meet = no_meet
def_state_standing = wait_na
def_state_moving = walk
path_walk = a22_kovalski_leave_walk
path_look = a22_kovalski_leave_look
on_info = {+pri_a22_kovalski_give_task_start} animpoint@a22_lean_on_table_in
on_info2 = {-pri_a21_scene_end} %+pri_a21_scene_end%
[animpoint@a22_lean_on_table_in]:animpoint@presets
meet = no_meet
cover_name = pri_a20_sc_kovalski_radio_anim_0000
avail_animations = pri_a22_colonel_lean_on_table
on_info = {+pri_a22_kovalski_speak} %=play_sound(pri_a22_colonel_about_situation)%
on_signal = sound_end | remark@a22_side_look
[remark@a22_side_look]:remark@presets
target = story | pri_a22_cutscene_actor_give_task
anim = ward_noweap
on_game_timer = 15 | %=play_sound(pri_a22_colonel_about_rfi_and_lost_suad)%
on_signal = sound_end | remark@a22_to_actor
[remark@a22_to_actor]:remark@presets
target = story | pri_a22_cutscene_actor_give_task
anim = ward_noweap
on_game_timer = 15 | %=play_sound(pri_a22_colonel_give_task)%
on_signal = sound_end | remark@a22_wait_cam %=give_task(pri_a22_rfi_source) +pri_a22_colonel_give_task%
[remark@a22_wait_cam]:remark@presets
meet = meet@stand_base
target = path | pri_a16_a22_cutscene_actor_walk, 0
anim = ward_noweap
on_game_timer = 15 | %+pri_a22_stop_cam%
on_info = {!actor_in_zone(pri_a21_meet_kovalski_restrictor) +pri_a22_task_gived} walker@stand_base

View file

@ -0,0 +1,121 @@
[walker@def]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
meet = meet@send_far
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@def]
reach_movement = walk_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
use_camp = false
meet = meet@send_far
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet@send_far]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_snd_hello = nil
close_snd_bye = nil
use = false
snd_on_use = {=is_wounded} nil, {=actor_enemy} nil, {=has_enemy} meet_use_no_fight, {=actor_has_weapon} meet_use_no_weapon, {!dist_to_actor_le(3)} nil, meet_use_no_talk_leader
meet_on_talking = false
[logic@pri_a16_guarder_1]
active = walker@guarder_1
suitable = {-pri_a25_rfi_source_eliminated =npc_in_zone(pri_a16_sr_light)} true
prior = 140
[walker@guarder_1]:walker@def
path_walk = guarder_1_walk
path_look = guarder_1_look
on_info = {=surge_started} walker@hide_1
out_restr = pri_a16_sr_noweap
[walker@hide_1]:walker@def
path_walk = hide_1_walk
path_look = hide_1_look
on_info = {=surge_complete} walker@guarder_1
out_restr = pri_a16_sr_noweap
[logic@pri_a16_guarder_2]
active = walker@guarder_2
suitable = {-pri_a25_rfi_source_eliminated =npc_in_zone(pri_a16_sr_light)} true
prior = 140
[walker@guarder_2]:walker@def
path_walk = guarder_2_walk
path_look = guarder_2_look
on_info = {=surge_started} walker@hide_2
[walker@hide_2]:walker@def
path_walk = hide_2_walk
path_look = hide_1_look
on_info = {=surge_complete} walker@guarder_2
[logic@pri_a16_guarder_3]
active = animpoint@guarder_3
suitable = {-pri_a25_rfi_source_eliminated =npc_in_zone(pri_a16_sr_light)} true
prior = 150
[animpoint@guarder_3]:animpoint@def
cover_name = pri_a16_animp_5
use_camp = true
[logic@pri_a16_guarder_4]
active = animpoint@guarder_4
suitable = {-pri_a25_rfi_source_eliminated =npc_in_zone(pri_a16_sr_light)} true
prior = 150
[animpoint@guarder_4]:animpoint@def
cover_name = pri_a16_animp_6
use_camp = true
[logic@pri_a16_guarder_main]
active = walker@base
suitable = {-pri_a25_rfi_source_eliminated +pri_a21_task_end =check_npc_name(sokolov)} true, {-pri_a25_rfi_source_eliminated +pri_a21_task_end =check_npc_name(podorojniy)} true
prior = 200
[walker@base]
path_walk = yarmoshuk_walk
path_look = yarmoshuk_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@guard_main
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[meet@guard_main]
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = nil
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
trade_enable = false
allow_break = false

View file

@ -0,0 +1,247 @@
[walker@def]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[walker@reach]:walker@def
combat_ignore_keep_when_attacked = false
invulnerable = false
[animpoint@def]
reach_movement = walk_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
use_camp = true
meet = meet@animpoint
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@reach]:animpoint@def
combat_ignore_keep_when_attacked = false
invulnerable = false
[meet@animpoint]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_snd_hello = nil
close_snd_bye = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false
[logic@pri_a16_stalker_1]
active = walker@guarder_1_reach
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 190
[walker@guarder_1_reach]:walker@reach
path_walk = guarder_1_walk
path_look = guarder_1_look
on_info = {=npc_in_zone(pri_surge_hide_a16)} walker@guarder_1
[walker@guarder_1]:walker@def
path_walk = guarder_1_walk
path_look = guarder_1_look
on_info = {=surge_started} walker@hide_1
[walker@hide_1]:walker@def
path_walk = hide_1_walk
path_look = hide_1_look
on_info = {=surge_complete} walker@guarder_1
[logic@pri_a16_stalker_2]
active = walker@guarder_2_reach
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[walker@guarder_2_reach]:walker@reach
path_walk = guarder_2_walk
path_look = guarder_2_look
on_info = {=npc_in_zone(pri_surge_hide_a16)} walker@guarder_2
[walker@guarder_2]:walker@def
path_walk = guarder_2_walk
path_look = guarder_2_look
on_info = {=surge_started} walker@hide_2
[walker@hide_2]:walker@def
path_walk = hide_2_walk
path_look = hide_1_look
on_info = {=surge_complete} walker@guarder_2
[logic@pri_a16_stalker_3]
active = animpoint@pri_a16_stalker_3
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_4]
active = animpoint@pri_a16_stalker_4
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_5]
active = animpoint@pri_a16_stalker_5
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_6]
active = animpoint@pri_a16_stalker_6
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_7]
active = animpoint@pri_a16_stalker_7
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_8]
active = animpoint@pri_a16_stalker_8
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_9]
active = animpoint@pri_a16_stalker_9
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_10]
active = animpoint@pri_a16_stalker_10
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 150
[logic@pri_a16_stalker_11]
active = animpoint@pri_a16_stalker_11
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 140
[logic@pri_a16_stalker_12]
active = animpoint@pri_a16_stalker_12
suitable = {+pri_a28_actor_in_zone_stay =npc_in_zone(pri_a16_sr_noweap)} true
prior = 120
[animpoint@pri_a16_stalker_3]:animpoint@reach
cover_name = pri_a16_animp_1
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_3_reached
[animpoint@pri_a16_stalker_4]:animpoint@reach
cover_name = pri_a16_animp_2
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_4_reached
[animpoint@pri_a16_stalker_5]:animpoint@reach
cover_name = pri_a16_animp_3
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_5_reached
[animpoint@pri_a16_stalker_6]:animpoint@reach
cover_name = pri_a16_animp_vano
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_6_reached
[animpoint@pri_a16_stalker_7]:animpoint@reach
cover_name = pri_a16_animp_5
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_7_reached
[animpoint@pri_a16_stalker_8]:animpoint@reach
cover_name = pri_a16_animp_6
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_8_reached
[animpoint@pri_a16_stalker_9]:animpoint@reach
cover_name = pri_a16_animp_7
meet = no_meet
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_9_reached
[animpoint@pri_a16_stalker_10]:animpoint@reach
cover_name = pri_a16_animp_8
meet = no_meet
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_10_reached
[animpoint@pri_a16_stalker_11]:animpoint@reach
cover_name = pri_a16_animp_4
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_11_reached
[animpoint@pri_a16_stalker_12]:animpoint@reach
cover_name = pri_a16_animp_sokolov
on_info = {=npc_in_zone(pri_surge_hide_a16)} animpoint@pri_a16_stalker_12_reached
[animpoint@pri_a16_stalker_3_reached]:animpoint@def
cover_name = pri_a16_animp_1
[animpoint@pri_a16_stalker_4_reached]:animpoint@def
cover_name = pri_a16_animp_2
[animpoint@pri_a16_stalker_5_reached]:animpoint@def
cover_name = pri_a16_animp_3
[animpoint@pri_a16_stalker_6_reached]:animpoint@def
cover_name = pri_a16_animp_vano
[animpoint@pri_a16_stalker_7_reached]:animpoint@def
cover_name = pri_a16_animp_5
[animpoint@pri_a16_stalker_8_reached]:animpoint@def
cover_name = pri_a16_animp_6
[animpoint@pri_a16_stalker_9_reached]:animpoint@def
cover_name = pri_a16_animp_7
meet = no_meet
[animpoint@pri_a16_stalker_10_reached]:animpoint@def
cover_name = pri_a16_animp_8
meet = no_meet
[animpoint@pri_a16_stalker_11_reached]:animpoint@def
cover_name = pri_a16_animp_4
[animpoint@pri_a16_stalker_12_reached]:animpoint@def
cover_name = pri_a16_animp_sokolov
;in reserve - pri_a16_animp_wanderer
;in reserve - pri_a16_animp_zulus
[logic@pri_a16_yar]
suitable = {+pri_a28_actor_in_zone_stay =check_npc_name(jup_b19_freedom_yar)} true
prior = 200
active = animpoint@base
[animpoint@base]
cover_name = pri_a16_animp_medic
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[meet]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
trade_enable = true
allow_break = false
meet_dialog = jup_b19_freedom_yar_pripyat_start

View file

@ -0,0 +1,31 @@
[logic@pri_a16_medic]
suitable = {-pri_a25_task_start -pri_b305_fifth_cam_end =check_npc_name(pri_a25_base_medic)} true
prior = 200
active = animpoint@base
level_spot = medic
[animpoint@base]
cover_name = pri_a16_animp_medic
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[meet]
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
trade_enable = false
allow_break = false
meet_on_talking = false

View file

@ -0,0 +1,68 @@
[logic]
active = ph_door@closed
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %+pri_a16_base_main_door_open%
on_info = {!check_smart_alarm_status(pri_a16:normal) -pri_a16_wait_for_stalkers} ph_door@locked
on_info2 = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28
on_info3 = {+pri_a16_base_main_door_open !is_door_blocked_by_npc} ph_door@open
on_info4 = {+pri_b305_third_cam_go -pri_b305_quest_completed} ph_door@closed_b305
[ph_door@open]
closed = false
locked = false
on_use = {-pri_b305_door_worked} ph_door@closed %-pri_a16_base_main_door_open%
on_info = {!check_smart_alarm_status(pri_a16:normal) -pri_a16_wait_for_stalkers -pri_b305_door_worked} ph_door@locked %-pri_a16_base_main_door_open%
on_info2 = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28 %-pri_a16_base_main_door_open -pri_b305_door_worked%
on_info3 = {-pri_a16_base_main_door_open !is_door_blocked_by_npc -pri_b305_door_worked} ph_door@closed
on_info4 = {+pri_b305_third_cam_go -pri_b305_fifth_cam_end -pri_b305_door_worked} ph_door@closed_b305 %-pri_a16_base_main_door_open%
on_game_timer = 35 | {!is_door_blocked_by_npc -pri_b305_door_worked} ph_door@closed %-pri_a16_base_main_door_open%
[ph_door@locked]
closed = true
locked = true
on_info = {=check_smart_alarm_status(pri_a16:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(pri_a16:alarm)} ph_door@locked_alarm
on_info3 = {+pri_b305_third_cam_go -pri_b305_quest_completed} ph_door@closed_b305
snd_open_start = trader_door_locked
tip_open = tip_door_closed_hide_weapon
[ph_door@locked_alarm]
closed = true
locked = true
on_info = {=check_smart_alarm_status(pri_a16:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(pri_a16:danger)} ph_door@locked
snd_open_start = trader_door_locked
tip_open = tip_door_closed_base_alarm
[ph_door@locked_pri_a28]
closed = true
locked = true
on_info = {+pri_a28_update_task_cover_strelok} ph_door@open_regular %+pri_a16_base_main_door_open%
snd_open_start = trader_door_locked
not_for_npc = true
[ph_door@closed_b305]
closed = true
locked = false
on_use = ph_door@open %+pri_a16_base_main_door_open +pri_b305_door_worked =disable_ui =teleport_actor(pri_a16_pri_b305_strelok_operation_look)%
on_info = {+pri_b305_door_worked} ph_door@open
not_for_npc = true
[ph_door@closed_regular]
closed = true
locked = false
on_use = ph_door@open_regular %+pri_a16_base_main_door_open%
on_info = {-pri_a16_wait_for_stalkers} ph_door@locked
on_info2 = {+pri_a16_base_main_door_open !is_door_blocked_by_npc} ph_door@open_regular
[ph_door@open_regular]
closed = false
locked = false
on_use = ph_door@closed_regular %-pri_a16_base_main_door_open%
on_info = {-pri_a16_wait_for_stalkers} ph_door@locked %-pri_a16_base_main_door_open%
on_info2 = {-pri_a16_base_main_door_open !is_door_blocked_by_npc} ph_door@closed_regular
;on_game_timer = 50 | {!is_door_blocked_by_npc} ph_door@closed_regular %-pri_a16_base_main_door_open%
not_for_npc = true

View file

@ -0,0 +1,18 @@
[logic]
active = ph_idle@start
[ph_idle@start]
on_info = ph_door@open %+pri_a16_upper_door_open%
[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed %-pri_a16_upper_door_open%
on_game_timer = 50 | {=surge_started} ph_door@closed %-pri_a16_upper_door_open%
on_info = {-pri_a16_upper_door_open !is_door_blocked_by_npc} ph_door@closed
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %+pri_a16_upper_door_open%
on_info = {+pri_a16_upper_door_open !is_door_blocked_by_npc} ph_door@open

View file

@ -0,0 +1,15 @@
[logic]
active = ph_door@closed
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open
[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed
on_game_timer = 50 | {=surge_started} ph_door@closed

View file

@ -0,0 +1,14 @@
[logic]
active = ph_door@open
[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed
on_game_timer = 50 | {=surge_started} ph_door@closed
on_info = {+pri_a22_close_kovalski_office_door -pri_a22_once_door_close} ph_door@closed %+pri_a22_once_door_close%
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open

View file

@ -0,0 +1,27 @@
[logic]
active = ph_idle@start
[ph_idle@start]
on_info = ph_door@open %+pri_a16_down_door_open%
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %+pri_a16_down_door_open%
on_info = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28
on_info2 = {+pri_a16_down_door_open} ph_door@open
[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed %-pri_a16_down_door_open%
on_info = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28 %-pri_a16_down_door_open%
on_info2 = {-pri_a16_down_door_open} ph_door@closed
not_for_npc = true
[ph_door@locked_pri_a28]
closed = true
locked = true
on_info = {+pri_a28_update_task_cover_strelok} ph_door@closed
snd_open_start = trader_door_locked
not_for_npc = true

View file

@ -0,0 +1,66 @@
[logic]
active = ph_door@closed
[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %+pri_a16_base_second_door_open%
on_info = {!check_smart_alarm_status(pri_a16:normal) -pri_a16_wait_for_stalkers} ph_door@locked
on_info2 = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28
on_info3 = {+pri_a16_base_second_door_open !is_door_blocked_by_npc} ph_door@open
on_info4 = {+pri_b305_third_cam_go -pri_b305_fifth_cam_end} ph_door@locked_b305
[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed %-pri_a16_base_second_door_open%
on_info = {!check_smart_alarm_status(pri_a16:normal) -pri_a16_wait_for_stalkers} ph_door@locked %-pri_a16_base_second_door_open%
on_info2 = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok} ph_door@locked_pri_a28 %-pri_a16_base_second_door_open%
on_info3 = {-pri_a16_base_second_door_open !is_door_blocked_by_npc} ph_door@closed
on_info4 = {+pri_b305_third_cam_go -pri_b305_quest_completed} ph_door@closed_b305 %-pri_a16_base_second_door_open%
on_game_timer = 50 | {!is_door_blocked_by_npc} ph_door@closed %-pri_a16_base_second_door_open%
[ph_door@locked]
closed = true
locked = true
on_info = {=check_smart_alarm_status(pri_a16:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(pri_a16:alarm)} ph_door@locked_alarm
on_info3 = {+pri_b305_third_cam_go -pri_b305_quest_completed} ph_door@closed_b305
snd_open_start = trader_door_locked
tip_open = tip_door_closed_hide_weapon
[ph_door@locked_alarm]
closed = true
locked = true
on_info = {=check_smart_alarm_status(pri_a16:normal)} ph_door@closed
on_info2 = {=check_smart_alarm_status(pri_a16:danger)} ph_door@locked
snd_open_start = trader_door_locked
tip_open = tip_door_closed_base_alarm
[ph_door@locked_pri_a28]
closed = true
locked = true
on_info = {+pri_a28_update_task_cover_strelok} ph_door@closed_regular
snd_open_start = trader_door_locked
not_for_npc = true
[ph_door@locked_b305]
closed = true
locked = true
on_info = {+pri_b305_fifth_cam_end} ph_door@locked_pri_a28
not_for_npc = true
[ph_door@closed_regular]
closed = true
locked = false
on_use = ph_door@open_regular %+pri_a16_base_second_door_open%
on_info = {-pri_a16_wait_for_stalkers} ph_door@locked
on_info2 = {+pri_a16_base_second_door_open !is_door_blocked_by_npc} ph_door@open_regular
[ph_door@open_regular]
closed = false
locked = false
on_use = ph_door@closed_regular %-pri_a16_base_second_door_open%
on_info = {-pri_a16_wait_for_stalkers} ph_door@locked %-pri_a16_base_second_door_open%
on_info2 = {-pri_a16_base_second_door_open !is_door_blocked_by_npc} ph_door@closed_regular
on_game_timer = 50 | {!is_door_blocked_by_npc} ph_door@closed_regular %-pri_a16_base_main_door_open%

View file

@ -0,0 +1,25 @@
[logic]
active = ph_idle@cut
[ph_idle@cut]
on_info = {+pri_a15_cutscene_end} ph_idle@wait
[ph_idle@wait]
on_info = {=actor_in_zone(pri_a16_sr_noweap) !actor_in_zone(pri_a16_sr_light) !check_smart_alarm_status(pri_a16:normal)} ph_idle@pleaseplease
on_info2 = {+pri_b305_third_cam_end} ph_idle@nil, {+pri_b305_fifth_cam_end} ph_idle@nil
[ph_idle@pleaseplease]
on_info = {=check_smart_alarm_status(pri_a16:danger)} %=play_sound(pri_a16_base_megaphone)%
on_info2 = {=check_smart_alarm_status(pri_a16:alarm)} ph_idle@swear
on_info3 = {=check_smart_alarm_status(pri_a16:normal)} ph_idle@wait
on_info4 = {!actor_in_zone(pri_a16_sr_noweap)} ph_idle@wait
on_info5 = {=actor_in_zone(pri_a16_sr_light)} ph_idle@wait
on_info6 = {+pri_b305_third_cam_end} ph_idle@nil, {+pri_b305_fifth_cam_end} ph_idle@nil
[ph_idle@swear]
on_info = {!check_smart_alarm_status(pri_a16:alarm)} ph_idle@wait
on_info2 = {!actor_in_zone(pri_a16_sr_noweap)} ph_idle@wait
on_info3 = {=actor_in_zone(pri_a16_sr_light)} ph_idle@wait
on_info4 = {+pri_b305_third_cam_end} ph_idle@nil, {+pri_b305_fifth_cam_end} ph_idle@nil
[ph_idle@nil]

View file

@ -0,0 +1,77 @@
[logic@pri_a16_recon_1]
suitable = {-pri_b305_fifth_cam_end =check_npc_name(pri_a17_military_lieutenant_podorojniy)} true
prior = 200
active = animpoint@base_1
[logic@pri_a16_recon_2]
suitable = {-pri_a17_actor_has_gauss_rifle -pri_b305_fifth_cam_end =target_squad_name(pri_a17_recon_squad) !check_npc_name(pri_a17_military_captain_tarasov)} true
prior = 200
active = animpoint@base_2
[logic@pri_a16_recon_3]
suitable = {-pri_b305_fifth_cam_end =check_npc_name(pri_a17_military_prapor_valentyr)} true
prior = 200
active = animpoint@base_3
[meet@pri_a17_recon_squad_talk_with_commander]
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
snd_on_use = pri_a17_recon_squad_talk_with_commander
abuse = false
use = false
[animpoint@def]
reach_movement = walk_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
use_camp = true
meet = meet@pri_a17_recon_squad_talk_with_commander
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@base_1]:animpoint@def
cover_name = pri_a16_animp_1
on_info = {+pri_a25_rfi_source_eliminated -pri_b305_army_what_freezer_done_end} animpoint@b305_role_1
[animpoint@base_2]:animpoint@def
cover_name = pri_a16_animp_2
on_info = {+pri_a25_rfi_source_eliminated -pri_b305_army_what_freezer_done_end} animpoint@b305_role_2
[animpoint@base_3]:animpoint@def
cover_name = pri_a16_animp_3
on_info = {+pri_a25_rfi_source_eliminated -pri_b305_army_what_freezer_done_end} animpoint@b305_role_3
[animpoint@b305_role_1]:animpoint@def
cover_name = pri_a16_animp_1
use_camp = false
on_info = {-pri_b305_mil_conversation} %+pri_b305_mil_conversation%
on_info2 = {+pri_b305_medik_in_freezer_done_end -pri_b305_army_what_freezer_done} %=play_sound(pri_b305_army_what_freezer) +pri_b305_army_what_freezer_done%
on_info3 = {+pri_b305_second_cam_start} animpoint@base_1
on_signal = sound_end | {-pri_b305_army_what_freezer_done_end} animpoint@base_1 %+pri_b305_army_what_freezer_done_end%
[animpoint@b305_role_2]:animpoint@def
cover_name = pri_a16_animp_2
use_camp = false
on_info = {-pri_b305_mil_conversation} %+pri_b305_mil_conversation%
on_info2 = {+pri_b305_medik_in_freezer_done_end -pri_b305_army_what_freezer_done} %=play_sound(pri_b305_army_what_freezer) +pri_b305_army_what_freezer_done%
on_info3 = {+pri_b305_second_cam_start} animpoint@base_2
on_signal = sound_end | {-pri_b305_army_what_freezer_done_end} animpoint@base_2 %+pri_b305_army_what_freezer_done_end%
[animpoint@b305_role_3]:animpoint@def
cover_name = pri_a16_animp_3
use_camp = false
on_info = {-pri_b305_mil_conversation} %+pri_b305_mil_conversation%
on_info2 = {+pri_b305_medik_in_freezer_done_end -pri_b305_army_what_freezer_done} %=play_sound(pri_b305_army_what_freezer) +pri_b305_army_what_freezer_done%
on_info3 = {+pri_b305_second_cam_start} animpoint@base_3
on_signal = sound_end | {-pri_b305_army_what_freezer_done_end} animpoint@base_3 %+pri_b305_army_what_freezer_done_end%

View file

@ -0,0 +1,69 @@
[logic@pri_a16_sokolov]
active = animpoint@pri_a16_sokolov
suitable = {-pri_b305_fifth_cam_end =check_npc_name(sokolov) =npc_in_zone(pri_surge_hide_a16)} true
prior = 200
[animpoint@pri_a16_sokolov]
cover_name = pri_a16_animp_sokolov
use_camp = false
meet = meet@pri_a16_sokolov
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
on_info = {-pri_a20_sokolov_with_garick_new_way_to_pripyat_3 -pri_a25_rfi_source_eliminated +pri_a17_actor_has_gauss_rifle} walker@a20_stand_base
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
reach_movement = walk
[meet@pri_a16_sokolov]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_snd_hello = nil
close_snd_bye = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
trade_enable = false
allow_break = false
meet_on_talking = false
[walker@a20_stand_base]
meet = no_meet
path_walk = pri_a20_sokolov_walk
path_look = pri_a20_sokolov_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
def_state_standing = wait_na
def_state_moving = walk
on_signal = sound_end | %+pri_a20_way_to_pripyat_1_sound_end%
on_info = {=actor_in_zone(pri_a20_sokolov_with_garick_new_way_to_pripyat_talk)} %=play_sound(pri_a20_sokolov_with_garick_new_way_to_pripyat_1)%
on_info2 = {+pri_a20_way_to_pripyat_2_sound_end} walker@a20_stand_base_2
on_info3 = {+pri_a25_rfi_source_eliminated} animpoint@pri_a16_sokolov
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[walker@a20_stand_base_2]
meet = no_meet
path_walk = pri_a20_sokolov_walk
path_look = pri_a20_sokolov_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
def_state_standing = wait_na
def_state_moving = walk
on_info = {+pri_a25_rfi_source_eliminated} animpoint@pri_a16_sokolov
on_game_timer = 10 | {-pri_a20_sokolov_with_garick_new_way_to_pripyat_3} %+pri_a20_sokolov_with_garick_new_way_to_pripyat_3 =play_sound(pri_a20_sokolov_with_garick_new_way_to_pripyat_3)%
on_signal = sound_end | animpoint@pri_a16_sokolov %+pri_a20_way_to_pripyat_3_sound_end%
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false

View file

@ -0,0 +1,5 @@
[logic]
active = sr_light
[sr_light]
light_on = false

View file

@ -0,0 +1,21 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_actor_inside = {!black_screen} sr_no_weapon@wait
[sr_idle@wait]
on_actor_inside = {=check_smart_alarm_status(pri_a16:normal) !actor_has_weapon} sr_no_weapon@wait
on_info = {=actor_in_zone(pri_a16_sr_light)} sr_no_weapon@wait
on_info2 = {+pri_a28_update_task_cover_strelok -pri_a28_actor_in_zone_stay} sr_idle@wait_stalkers
on_info3 = {+pri_b305_third_cam_go -pri_b305_quest_completed} sr_idle@wait_b305
[sr_no_weapon@wait]
on_actor_outside = sr_idle@wait
on_info = {+pri_a28_update_task_cover_strelok -pri_a28_actor_in_zone_stay} sr_idle@wait_stalkers
[sr_idle@wait_stalkers]
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@wait
[sr_idle@wait_b305]
on_info = {+pri_b305_fifth_cam_end} sr_idle@wait

View file

@ -0,0 +1,13 @@
[logic]
active = sr_idle@wait
[sr_idle@wait]
on_actor_inside = sr_idle@run %=run_tutorial(tutorial_sleep)%
on_info = {+pri_b305_fifth_cam_end -pri_a28_actor_in_zone_stay} sr_idle@idle
[sr_idle@run]
on_info = {+tutorial_sleep} %-tutorial_sleep =run_tutorial(tutorial_sleep)%
on_actor_outside = {+tutorial_sleep} sr_idle@wait, sr_idle@wait %=stop_tutorial%
[sr_idle@idle]
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@wait

View file

@ -0,0 +1,72 @@
[logic@pri_a16_tarasov]
suitable = {-pri_b305_fifth_cam_end =check_npc_name(pri_a17_military_captain_tarasov)} true
prior = 200
active = walker@home_1
[walker@home_1]
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = taras_base_stay
path_look = taras_base_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@recon_squad_ambush_dialog_1
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
on_info = {+pri_a17_military_recon_squad_ambush_actor_instruct !npc_talking} walker@home_2
on_info2 = {-pri_a17_actor_taras_hello =dist_to_actor_le(3)} remark@salut %+pri_a17_actor_taras_hello%
use_camp = false
[remark@salut]
target = story | actor
anim = salut_free
on_game_timer = 5 | walker@home_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
meet = no_meet
use_camp = false
[walker@home_2]
def_state_standing = wait_na
def_state_moving = walk_noweap
path_walk = taras_base_stay
path_look = taras_base_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@recon_squad_ambush_dialog_2
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
[meet@recon_squad_ambush_dialog_1]
close_snd_hello = nil
close_snd_bye = nil
meet_dialog = pri_a17_military_recon_squad_ambush_dialog
close_anim = nil
far_anim = nil
close_victim = actor
trade_enable = false
allow_break = false
use = {=actor_enemy} false, true
[meet@recon_squad_ambush_dialog_2]
close_snd_hello = nil
close_snd_bye = nil
meet_dialog = pri_a17_military_recon_squad_ambush_dialog_second
close_anim = nil
far_anim = nil
close_victim = actor
trade_enable = false
allow_break = false
use = {=actor_enemy} false, true

View file

@ -0,0 +1,31 @@
[logic@pri_a16_vano]
active = animpoint@pri_a16_vano
suitable = {=check_npc_name(vano) =npc_in_zone(pri_surge_hide_a16)} true
prior = 200
[animpoint@pri_a16_vano]
cover_name = pri_a16_animp_vano
use_camp = false
meet = meet@pri_a16_vano
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
on_info = {+pri_a25_rfi_source_eliminated} %=destroy_object +pri_b305_vano_gone%
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet@pri_a16_vano]
close_anim = nil
close_victim = nil
close_snd_hello = nil
close_snd_bye = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
trade_enable = false
allow_break = false
meet_on_talking = false

View file

@ -0,0 +1,31 @@
[logic@pri_a16_wanderer]
active = animpoint@pri_a16_wanderer
suitable = {=check_npc_name(wanderer) =npc_in_zone(pri_surge_hide_a16)} true
prior = 200
[animpoint@pri_a16_wanderer]
cover_name = pri_a16_animp_zulus
use_camp = false
meet = meet@pri_a16_wanderer
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
on_info = {+pri_a17_actor_has_gauss_rifle} %=destroy_object +pri_a16_wanderer_was_alive_when_removed%
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet@pri_a16_wanderer]
close_snd_hello = nil
close_snd_bye = nil
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = {=actor_enemy} false, true
trade_enable = false
allow_break = false
meet_on_talking = false

View file

@ -0,0 +1,19 @@
[logic@pri_a16_wounded]
active = animpoint@base
suitable = {=check_npc_name(pri_a21_sentry_lieutenant_stecenko)} true
prior = 200
[animpoint@base]
cover_name = pri_a16_animp_wounded
avail_animations = zat_b106_wounded_idle
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
on_info = {+zat_a23_actor_has_gauss_rifle_documentation} %=remove_squad(pri_a21_chasovoi)%
meet = no_meet
out_restr = pri_a16_sr_noweap
reach_distance = 5
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false

View file

@ -0,0 +1,30 @@
[logic]
active = sr_idle@wait
[sr_idle@wait]
on_info = {+pri_a17_teleport_military_recon} sr_idle@normal
[sr_idle@normal]
on_game_timer = 21600 | {=distance_to_obj_ge(pri_a17_recon_squad:100)} sr_idle@end %+pri_a17_actor_leaver +pri_a17_actor_find_ambush% ;àêòåð áðîñèë âîåííûõ è óøåë
on_info = {+pri_a17_patrol_dead} sr_idle@actor_ignore_task ;àêòåð äåëàåò âñå ïðàâèëüíî).
on_info2 = {+pri_a17_actor_attack_military} sr_idle@badend %+pri_a17_mon_ambush_start% ;àêòåð àòàêîâàë âîåííûõ
on_info3 = {=actor_in_zone(pri_a17_first_floor)} %+pri_a17_actor_find_ambush%, {=actor_in_zone(pri_a17_second_floor)} %+pri_a17_actor_find_ambush%
;àêòåð äåëàåò âñå ïðàâèëüíî).
[sr_idle@actor_ignore_task]
on_info = {+pri_a17_mon_ambush_start} sr_idle@end, {=actor_in_zone(pri_a17_hosp_square)} sr_idle@actor_ignore_task_2, {+pri_a17_actor_attack_military} sr_idle@badend %+pri_a17_mon_ambush_start%
on_game_timer = 600 | sr_idle@end %+pri_a17_mon_ambush_start%
on_game_timer2 = 21600 | {=distance_to_obj_ge(pri_a17_recon_squad:100)} sr_idle@end %+pri_a17_actor_leaver +pri_a17_actor_find_ambush%
[sr_idle@actor_ignore_task_2]
on_info = {+pri_a17_mon_ambush_start} sr_idle@end, {!actor_in_zone(pri_a17_hosp_square)} sr_idle@chek, {+pri_a17_actor_attack_military} sr_idle@badend %+pri_a17_mon_ambush_start%
on_game_timer = 450 | sr_idle@end %+pri_a17_mon_ambush_start%
[sr_idle@chek]
on_game_timer = 50 | {=actor_in_zone(pri_a17_hosp_square)} sr_idle@actor_ignore_task_2, sr_idle@end %+pri_a17_mon_ambush_start%
;àêòåð àòàêîâàë âîåííûõ
[sr_idle@badend]
on_game_timer = 10 | sr_idle@end %+pri_a17_actor_attack_military_antibug%
[sr_idle@end]

View file

@ -0,0 +1,19 @@
[logic]
active = sr_idle@no_action
[sr_idle@no_action]
on_info = {+pri_a17_mon_preacher_dead} sr_idle@timer
[sr_idle@timer]
on_game_timer = 55 | {=story_obj_in_zone_by_name(pri_a17_gauss_rifle:pri_a17_gauss_fall_zone)} sr_idle@end %+pri_a17_gauss_falled =damage_pri_a17_gauss%
on_game_timer2 = 55 | {!story_obj_in_zone_by_name(pri_a17_gauss_rifle:pri_a17_gauss_fall_zone)} sr_idle@progress
on_info = {=actor_has_item(pri_a17_gauss_rifle)} sr_idle@end %=damage_pri_a17_gauss +pri_a17_gauss_falled%
[sr_idle@progress]
on_info = {=actor_has_item(pri_a17_gauss_rifle)} sr_idle@end, {=story_object_exist(pri_a17_gauss_rifle) -pri_a17_gauss_destroyed} %+pri_a17_gauss_destroyed =destroy_object(story:pri_a17_gauss_rifle)%
on_game_timer = 10 | {!story_object_exist(pri_a17_gauss_rifle) +pri_a17_gauss_destroyed} sr_idle@hit %=spawn_object(pri_a17_gauss_rifle:pri_a17_gauss_fall_point) +pri_a17_gauss_falled%
[sr_idle@hit]
on_info = {=story_object_exist(pri_a17_gauss_rifle)} sr_idle@end %=damage_pri_a17_gauss%
[sr_idle@end]

View file

@ -0,0 +1,267 @@
[walker@generic]
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
wounded = wounded
;----------------------------------------------------------------------------------------------------------
[logic@pri_a17_military_captain_tarasov]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_military_captain_tarasov)} true
prior = 70
active = walker@firstmeet
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@firstmeet]:walker@generic
path_walk = taras_stay_idle
path_look = taras_look_idle
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_ambush_killed +pri_a17_actor_has_gauss_rifle -pri_a17_actor_attack_military} walker@safe, {+pri_a17_patrol_dead} walker@squad_go_check, walker@teleported
on_info2 = {+pri_a17_teleport_step_1 -pri_a17_taras_teleported} % +pri_a17_taras_teleported =teleport_npc(pri_a17_taras_go1)%
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
[walker@teleported]:walker@generic
path_walk = taras_stay_idle
path_look = taras_look_idle
def_state_standing = talk_default
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_game_timer = 50 | {=dist_to_actor_le(5) -pri_a17_taras_give_orders_1} remark@give_orders %+pri_a17_taras_give_orders_1 =play_sound(pri_a17_recon_squad_commander_order_hide1)%
meet = no_meet
[remark@give_orders]:walker@generic
target = story | actor
anim = idle
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_game_timer = 32 | walker@sneak
meet = no_meet
[walker@sneak]:walker@generic
path_walk = taras_go1
path_look = taras_golook1
def_state_moving1 = assault
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=npc_in_zone(pri_a17_squad_follow)} %+pri_a17_squad_go_1%
on_signal = at_position | walker@get_at_pos
meet = no_meet
[walker@get_at_pos]:walker@generic
path_walk = taras_attack
path_look = taras_pat_look
def_state_moving1 = assault
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=npc_in_zone(pri_a17_taras_hide_cover_zone) !actor_enemy} smartcover@ready_to_attack %+pri_a17_recon_go =play_sound(pri_a17_recon_squad_commander_order_hide2) +pri_a17_patrol_go%
meet = no_meet
[smartcover@ready_to_attack]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {!actor_in_zone(pri_a17_hosp_square) =npc_in_zone(pri_a17_taras_cover_2_zone)} smartcover@ready_to_attack1
on_info2 = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
meet = no_meet
in_restr = pri_a17_val_chek_fight_zone
[smartcover@ready_to_attack1]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_info2 = {+pri_a17_mon_pat_sound1 !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_attack_now_)%
on_info3 = {-pri_a17_mon_pat_sound1 !actor_in_zone(pri_a17_hosp_build_1)} smartcover@ready_to_attack1_actor_dont_hide, {-pri_a17_mon_pat_sound1 =actor_in_zone(pri_a17_backoff)} smartcover@ready_to_attack1_actor_dont_hide
on_signal = sound_end | {+pri_a17_mon_pat_sound1} smartcover@ready_to_attack2
meet = no_meet
[smartcover@ready_to_attack1_actor_dont_hide]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=actor_in_zone(pri_a17_monolith_attack_zone) !actor_enemy} %=play_sound(pri_a17_recon_squad_actor_dont_hide)%, {=actor_in_zone(pri_a17_backoff) !actor_enemy} %=play_sound(pri_a17_recon_squad_actor_dont_hide)%, smartcover@ready_to_attack1
on_signal = sound_end | smartcover@ready_to_attack1
meet = no_meet
[smartcover@ready_to_attack2]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_info2 = {+pri_a17_mon_pat_sound2 !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_attack_now_)%
on_signal = sound_end | smartcover@ready_to_attack3
meet = no_meet
[smartcover@ready_to_attack3]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_info2 = {+pri_a17_mon_pat_sound3 !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_commander_ready_to_fire)%
on_signal = sound_end | smartcover@ready_to_attack4
meet = no_meet
[smartcover@ready_to_attack4]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = lookout_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_info2 = {+pri_a17_mon_pat_sound4 !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_attack_now_)%
on_signal = sound_end | smartcover@ready_to_attack5
meet = no_meet
[smartcover@ready_to_attack5]:walker@generic
cover_name = pri_a17_taras_ready_to_attack
cover_state = lookout_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_info2 = {+pri_a17_mon_pat_sound5 !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_attack_now_)%
on_info4 = {+pri_a17_atk_mon_pat} camper@attack %=make_enemy(pri_a17_monolith_patrol_lead)%
on_signal = sound_end | camper@attack
meet = no_meet
[camper@attack]:walker@generic
path_walk = taras_attack;_2
path_look = taras_pat_look
def_state_moving1 = assault
def_state_campering = threat_na
def_state_campering_fire = threat_fire
no_retreat = true
on_info = {+pri_a17_patrol_dead} walker@go_check_1
on_info2 = {+pri_a17_ice_dead} remark@taras_shocked
on_info3 = {+pri_a17_good_shot -pri_a17_nice_tar_end !is_playing_sound} %=play_sound(pri_a17_recon_squad_nice_shoot)%
on_info4 = {=health_le(0.99) !actor_enemy} %=restore_health%
on_signal = sound_end | %+pri_a17_nice_tar_end%
out_restr = pri_a17_taras_attack_fight_zone
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@go_check_1]:walker@generic
path_walk = taras_attack
path_look = taras_pat_look
def_state_standing = caution
on_game_timer = 55 | {-pri_a17_ord_tar_end !is_playing_sound} %+pri_a17_ord_tar_end =play_sound(pri_a17_recon_squad_order_to_check)%
on_signal = sound_end | {+pri_a17_ord_tar_end} walker@go_check_2 %+pri_a17_squad_move%
on_info = {+pri_a17_ice_dead -pri_a17_taras_shock_sound} remark@taras_shocked %+pri_a17_taras_shock_sound =play_sound(pri_a17_recon_squad_monolith_ambush)%, {+pri_a17_ice_dead} remark@taras_shocked
meet = no_meet
combat_ignore_cond = {=fighting_dist_ge (25)} true, {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@go_check_2]:walker@generic
path_walk = taras_chek_stay
path_look = taras_chek_look
def_state_moving1 = assault
on_info = {+pri_a17_ice_dead -pri_a17_taras_shock_sound} remark@taras_shocked %+pri_a17_taras_shock_sound =play_sound(pri_a17_recon_squad_monolith_ambush)%, {+pri_a17_ice_dead} remark@taras_shocked, {=npc_in_zone(pri_a17_taras_check_zone)} walker@squad_go_check
meet = no_meet
combat_ignore_cond = {=fighting_dist_ge (20)} true, {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@squad_go_check]:walker@generic
path_walk = taras_chek_sit
path_look = taras_chek_look
def_state_moving1 = assault
on_info = {+pri_a17_get_in_cover} walker@defend, {+pri_a17_ice_dead -pri_a17_taras_shock_sound} remark@taras_shocked %+pri_a17_taras_shock_sound =play_sound(pri_a17_recon_squad_monolith_ambush)%, {+pri_a17_ice_dead} remark@taras_shocked
meet = no_meet
combat_ignore_cond = {=fighting_dist_ge (20)} true, {=check_enemy_name(pri_a17_monolith_preacher)} true
[remark@taras_shocked]:walker@generic
anim = bloodsucker_search
target = path | pri_a17_taras_chek_look, 0
on_signal = anim_end | walker@defend %+pri_a17_get_in_cover%
on_info = {=health_le(0.99) !actor_enemy} %=restore_health%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
meet = no_meet
[walker@defend]:walker@generic
path_walk = taras_chek_fight
path_look = taras_pat_look
out_restr = pri_a17_taras_chek_fight_zone
on_info = {=counter_greater(pri_a17_monolith_amb_death:11) !squad_has_enemy(pri_a17_recon_squad) +pri_a17_actor_has_gauss_rifle} walker@safe, {+pri_a17_mon_ambush_killed} walker@safe
on_game_timer = 170 | {!actor_enemy} %=play_sound(pri_a17_recon_squad_sniper_out)%
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {=actor_in_zone(pri_a17_hosp_build_1)} %+pri_a17_in_cover%
def_state_moving1 = assault
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@safe]:walker@generic
path_walk = taras_chek_fight
path_look = taras_chek_look
on_info = {+pri_a17_actor_has_gauss_rifle !is_playing_sound !actor_enemy !has_enemy} %=play_sound(pri_a17_recon_squad_after_monolith_clear)%
on_signal = sound_end | walker@fintalk
meet = meet@get_f_gauss
[meet@get_f_gauss]
meet_dialog = pri_a17_military_recon_squad_after_scene_dialog
trade_enable = false
close_distance = 15
close_anim = guard
close_victim = actor
abuse = false
use = true
[walker@fintalk]:walker@generic
path_walk = taras_final_talk
path_look = taras_final_look
on_info = {+pri_a17_val_fin_talk_end !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_commander_to_prapor)%, {+pri_a17_val_dead} patrol@home, {=dist_to_actor_ge(140)} patrol@home %+pri_a17_go_home%
on_signal = sound_end | patrol@home %+pri_a17_go_home%
meet = no_meet
[patrol@home]:walker@generic
path_walk = patrol_home
commander = true
formation = back
on_signal = path_end | walker@base_1
on_info = {=npc_in_zone(pri_a16_sr_noweap)} walker@base
meet = no_meet
out_restr = pri_a16_sr_noweap
def_state_moving = assault
[walker@base]:walker@generic
path_walk = taras_base_stay
path_look = taras_base_look
def_state_standing = wait
on_info = {=squad_in_zone_all(pri_a17_recon_squad:pri_surge_hide_a16) =check_smart_alarm_status(zat_stalker_base_smart:normal)} %+pri_a17_at_home =set_squad_neutral_to_actor(pri_a17_recon_squad)%
out_restr = pri_a16_sr_noweap
;-------------------------------------------------------------
[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false
[combat]
on_info = {=actor_enemy} %+pri_a17_actor_attack_military%
[death]
on_info = {=killed_by_actor =squad_exist(pri_a17_recon_squad)} %+pri_a17_actor_attack_military +pri_a17_taras_dead =set_squad_enemy_to_actor(pri_a17_recon_squad) =stop_sound%, %+pri_a17_taras_dead =stop_sound%
[known_info]
pri_a17_taras_is_dead
;-------------------------------------------Àêòåð áðîñèë îòðÿä--------------------------------------------
[logic@pri_a17_military_captain_tarasov_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_military_captain_tarasov)} true
prior = 70
active = walker@taras_dead
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@taras_dead]:walker@generic
path_walk = taras_dead
on_info = walker@taras_dead_2 %=teleport_npc(pri_a17_taras_dead)%
meet = no_meet
[walker@taras_dead_2]:walker@generic
path_walk = taras_dead
on_game_timer = 20 | walker@taras_dead_3 %=hit_npc(self:pri_a17_mon_sni_3:bip01_head:1:23)%
[walker@taras_dead_3]:walker@generic
path_walk = taras_dead
on_game_timer = 5 | nil %=kill_npc%

View file

@ -0,0 +1,174 @@
[walker@generic]
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
wounded = wounded
;----------------------------------------------------------------------------------------------------------
[logic@pri_a17_military_lieutenant_podorojniy]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_military_lieutenant_podorojniy)}
prior = 70
active = walker@start
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@start]:walker@generic
path_walk = pod_start
def_state_standing = threat_na
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_teleport_step_1 -pri_a17_pod_teleported} %+pri_a17_pod_teleported =teleport_npc(pri_a17_patrol_home)%
on_game_timer = 35 |smartcover@start
meet = no_meet
[smartcover@start]:walker@generic
def_state_moving1 = assault
cover_name = pri_a17_pod_cover_start
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_ambush_killed} walker@safe, {+pri_a17_patrol_dead} walker@squad_go_check, {+pri_a17_squad_go_1} walker@tocover1
meet = no_meet
[walker@tocover1]:walker@generic
path_walk = pod_go_1
def_state_moving1 = assault
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_signal = at_position | smartcover@pod_first_cover
meet = no_meet
[smartcover@pod_first_cover]:walker@generic
cover_name = pri_a17_pod_cover_1
cover_state = lookout_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=in_dest_smart_cover} %+pri_a17_pod_in_cover_1%
on_info2 = {+pri_a17_recon_go} smartcover@pod_second_cover
meet = no_meet
[smartcover@pod_second_cover]:walker@generic
cover_name = pri_a17_pod_cover_2
cover_state = default_behavior
on_info = {=npc_in_zone(pri_a17_pod_cover_2_zone)} %+pri_a17_pod_at_position%
on_info2 = {+pri_a17_pod_at_position} smartcover@ready_to_attack
combat_ignore_cond = {=fighting_dist_ge (25)} true
meet = no_meet
[smartcover@ready_to_attack]:walker@generic
cover_name = pri_a17_pod_cover_2
cover_state = idle_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_1)%
meet = no_meet
[camper@attack]:walker@generic
path_walk = pod_fight
path_look = pod_pat_look
def_state_moving1 = assault
def_state_campering = threat_na
def_state_campering_fire = threat_fire
no_retreat = true
def_state_moving1 = assault
out_restr = pri_a17_pod_chek_fight_zone
on_info = {+pri_a17_patrol_dead +pri_a17_squad_move} walker@squad_go_check
on_info2 = {+pri_a17_ice_dead} walker@defend
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@squad_go_check]:walker@generic
path_walk = pod_chek_sit
path_look = pod_chek_look
def_state_moving1 = assault
on_info = {+pri_a17_ice_dead} walker@defend
combat_ignore_cond = {=fighting_dist_ge (25)} true, {=check_enemy_name(pri_a17_monolith_preacher)} true
meet = no_meet
[walker@defend]:walker@generic
path_walk = pod_chek_fight
path_look = pod_pat_look
out_restr = pri_a17_pod_chek_fight_zone
on_info = {=counter_greater(pri_a17_monolith_amb_death:11) !squad_has_enemy(pri_a17_recon_squad) +pri_a17_actor_has_gauss_rifle} walker@safe, {+pri_a17_mon_ambush_killed} walker@safe
on_info2 = {=health_le(0.4) !actor_enemy} %=restore_health%
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
def_state_moving1 = assault
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@safe]:walker@generic
path_walk = pod_chek_fight
path_look = pod_chek_look
on_info = {+pri_a17_actor_has_gauss_rifle} walker@fintalk
meet = meet@get_f_gauss
[meet@get_f_gauss]
meet_state = 15| guard
meet_state_wpn = 15| guard
victim = 15| actor
victim_wpn = 15| actor
use = true
use_wpn = true
meet_dialog = pri_a17_military_recon_squad_after_scene_dialog
trade_enable = false
[walker@fintalk]:walker@generic
path_walk = pod_final_sit
path_look = pod_final_look
on_info = {+pri_a17_go_home} patrol@home, {+pri_a17_val_dead} patrol@home, {+pri_a17_taras_dead} patrol@home
meet = no_meet
[patrol@home]:walker@generic
path_walk = patrol_home
formation = back
on_signal = path_end | walker@base_1
on_info = {=npc_in_zone(pri_a16_sr_noweap)} walker@base
meet = no_meet
out_restr = pri_a16_sr_noweap
def_state_moving = assault
[walker@base]
path_walk = pod_base_stay
path_look = pod_base_look
def_state_standing = ward
on_info = {=squad_in_zone_all(pri_a17_recon_squad:pri_surge_hide_a16) =check_smart_alarm_status(zat_stalker_base_smart:normal)} %+pri_a17_at_home =set_squad_neutral_to_actor(pri_a17_recon_squad)%
out_restr = pri_a16_sr_noweap
;-------------------------------------------------------------
[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false
[combat]
on_info = {=actor_enemy} %+pri_a17_actor_attack_military%
[death]
on_info = {=killed_by_actor =squad_exist(pri_a17_recon_squad)} %+pri_a17_actor_attack_military +pri_a17_pod_dead =set_squad_enemy_to_actor(pri_a17_recon_squad) =stop_sound%, %+pri_a17_pod_dead =stop_sound%
[known_info]
pri_a17_pod_is_dead
;-------------------------------------------Àêòåð áðîñèë îòðÿä--------------------------------------------
[logic@pri_a17_military_lieutenant_podorojniy_dead]:walker@generic
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_military_lieutenant_podorojniy)} true
prior = 70
active = walker@pod_dead
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@pod_dead]:walker@generic
path_walk = pod_dead
on_info = walker@pod_dead_2 %=teleport_npc(pri_a17_pod_dead)%
meet = no_meet
[walker@pod_dead_2]:walker@generic
path_walk = pod_dead
on_game_timer = 20 | walker@pod_dead_3 %=hit_npc(self:pri_a17_val_pat_look:bip01_head:1:33)%
[walker@pod_dead_3]:walker@generic
path_walk = pod_dead
on_game_timer = 5 | nil %=kill_npc%

View file

@ -0,0 +1,179 @@
[walker@generic]
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
wounded = wounded
;----------------------------------------------------------------------------------------------------------
[logic@pri_a17_military_prapor_valentyr]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_military_prapor_valentyr)} true
prior = 70
active = walker@start
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@start]:walker@generic
path_walk = val_start
def_state_standing = threat_na
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_teleport_step_1 -pri_a17_val_teleported} % +pri_a17_val_teleported =teleport_npc(pri_a17_val_move_1)%
on_game_timer = 35 | smartcover@start
meet = no_meet
[smartcover@start]:walker@generic
def_state_moving1 = assault
cover_name = pri_a17_val_cover_start
cover_state = default_behavior
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_ambush_killed} walker@safe, {+pri_a17_patrol_dead} walker@squad_go_check, {+pri_a17_squad_go_1} walker@tocover1
meet = no_meet
[walker@tocover1]:walker@generic
path_walk = val_move_1
def_state_moving1 = assault
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_signal = at_position | smartcover@val_first_cover
meet = no_meet
[smartcover@val_first_cover]:walker@generic
cover_name = pri_a17_val_cover_1
cover_state = lookout_target
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=in_dest_smart_cover} %+pri_a17_val_in_cover_1%
on_info2 = {+pri_a17_recon_go} smartcover@val_second_cover
meet = no_meet
[smartcover@val_second_cover]:walker@generic
cover_name = pri_a17_val_cover_2
cover_state = default_behavior
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {=npc_in_zone(pri_a17_val_cover_2_zone)} %+pri_a17_val_at_position%
on_info2 = {+pri_a17_val_at_position} smartcover@ready_to_attack
meet = no_meet
in_restr = pri_a17_no_way_1
[smartcover@ready_to_attack]:walker@generic
cover_name = pri_a17_val_cover_2
cover_state = default_behavior
combat_ignore_cond = {=fighting_dist_ge (15)} true
on_info = {+pri_a17_mon_atk} camper@attack %=make_enemy(pri_a17_monolith_patrol_2)%
in_restr = pri_a17_no_way_1
meet = no_meet
[camper@attack]:walker@generic
path_walk = val_fight
path_look = val_pat_look
def_state_moving1 = assault
def_state_moving1 = assault
def_state_campering = threat_na
def_state_campering_fire = threat_fire
no_retreat = true
out_restr = pri_a17_taras_chek_fight_zone
on_info = {+pri_a17_patrol_dead +pri_a17_squad_move} walker@squad_go_check
on_info2 = {+pri_a17_ice_dead} walker@defend
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@squad_go_check]:walker@generic
path_walk = val_chek_sit
path_look = val_chek_look
def_state_moving1 = assault
on_info = {+pri_a17_ice_dead} walker@defend
combat_ignore_cond = {=fighting_dist_ge (25)} true, {=check_enemy_name(pri_a17_monolith_preacher)} true
meet = no_meet
[walker@defend]:walker@generic
path_walk = val_chek_fight
path_look = val_pat_look
out_restr = pri_a17_val_chek_fight_zone
on_info = {=counter_greater(pri_a17_monolith_amb_death:11) !squad_has_enemy(pri_a17_recon_squad) +pri_a17_actor_has_gauss_rifle} walker@safe, {+pri_a17_mon_ambush_killed} walker@safe
on_info2 = {=health_le(0.45) !actor_enemy} %=restore_health%
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
def_state_moving1 = assault
meet = no_meet
combat_ignore_cond = {=check_enemy_name(pri_a17_monolith_preacher)} true
[walker@safe]:walker@generic
path_walk = val_chek_fight
path_look = val_chek_look
on_info = {+pri_a17_actor_has_gauss_rifle} walker@fintalk
meet = meet@get_f_gauss
[meet@get_f_gauss]
meet_state = 15| guard
meet_state_wpn = 15| guard
victim = 15| actor
victim_wpn = 15| actor
use = true
use_wpn = true
meet_dialog = pri_a17_military_recon_squad_after_scene_dialog
trade_enable = false
[walker@fintalk]:walker@generic
path_walk = val_final_talk
path_look = val_final_look
on_game_timer = 80 | {-pri_a17_taras_dead !is_playing_sound !actor_enemy} %=play_sound(pri_a17_recon_squad_prapor_to_commander)%
on_info = {+pri_a17_go_home} patrol@home, {+pri_a17_taras_dead} patrol@home
on_signal = sound_end | %+pri_a17_val_fin_talk_end%
meet = no_meet
[patrol@home]:walker@generic
path_walk = patrol_home
formation = back
on_signal = path_end | walker@base_1
on_info = {=npc_in_zone(pri_a16_sr_noweap)} walker@base
meet = no_meet
out_restr = pri_a16_sr_noweap
def_state_moving = assault
[walker@base]
path_walk = val_base_stay
path_look = val_base_look
def_state_standing = ward
on_info = {=squad_in_zone_all(pri_a17_recon_squad:pri_surge_hide_a16) =check_smart_alarm_status(zat_stalker_base_smart:normal)} %+pri_a17_at_home =set_squad_neutral_to_actor(pri_a17_recon_squad)%
out_restr = pri_a16_sr_noweap
;-------------------------------------------------------------
[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false
[combat]
on_info = {=actor_enemy} %+pri_a17_actor_attack_military%
[death]
on_info = {=killed_by_actor =squad_exist(pri_a17_recon_squad)} %+pri_a17_actor_attack_military +pri_a17_val_dead =set_squad_enemy_to_actor(pri_a17_recon_squad) =stop_sound%, %+pri_a17_val_dead =stop_sound%
[known_info]
pri_a17_val_is_dead
;-------------------------------------------Àêòåð áðîñèë îòðÿä--------------------------------------------
[logic@pri_a17_military_prapor_valentyr_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_military_prapor_valentyr)} true
prior = 70
active = walker@val_dead
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@val_dead]:walker@generic
path_walk = val_dead
on_info = walker@val_dead_2 %=teleport_npc(pri_a17_val_dead)%
meet = no_meet
[walker@val_dead_2]:walker@generic
path_walk = val_dead
on_game_timer = 20 | walker@val_dead_3 %=hit_npc(self:pri_a17_taras_chek_fight:bip01_head:1:33)%
[walker@val_dead_3]:walker@generic
path_walk = val_dead
on_game_timer = 5 | nil %=kill_npc%

View file

@ -0,0 +1,123 @@
[walker@generic]
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
wounded = wounded
;----------------------------------------------------------------------------------------------------------
[logic@pri_a17_military_sergeant_morozov]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_military_sergeant_morozov)}
prior = 70
active = walker@icefirstmeet
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@icefirstmeet]:walker@generic
path_walk = ice_stay
path_look = ice_look
def_state_standing = guard
on_info = {+pri_a17_taras_give_orders_1} animpoint@ice_get_to_climb
on_info2 = {+pri_a17_ice_is_fucked} %=kill_npc%
meet = no_meet
[animpoint@ice_get_to_climb]:walker@generic
cover_name = pri_a17_sc_ice_climb
avail_animations = pri_a17_ice_climb
on_info = {=animpoint_reached} animpoint@ice_climb, {+pri_a17_ice_is_fucked} %=kill_npc%
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
[animpoint@ice_climb]:walker@generic
cover_name = pri_a17_sc_ice_climb
avail_animations = pri_a17_ice_climb
on_game_timer = 70 | walker@roofwalker
on_info = {+pri_a17_ice_is_fucked} %=kill_npc%
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[walker@roofwalker]:walker@generic
def_state_moving = sneak_run
path_walk = ice_walk_on_roof
on_signal = path_end | smartcover@ice_snipe_pos
on_info = {+pri_a17_ice_is_fucked} %=kill_npc%
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[smartcover@ice_snipe_pos]:walker@generic
cover_name = pri_a17_ice_snipe_pos
cover_state = default_behaviour
combat_ignore_cond = true
on_info = {+pri_a17_ice_is_fucked} %=kill_npc%
on_info2 = {-pri_a17_mon_pat_lead_dead +pri_a17_mon_atk} smartcover@attack
on_info3 = {-pri_a17_mon_pat_lead_dead +pri_a17_atk_mon_pat} smartcover@attack
use_in_combat = true
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
[smartcover@attack]:walker@generic
cover_name = pri_a17_ice_snipe_pos
cover_state = default_behaviour
on_info = {+pri_a17_mon_pat_lead_dead} smartcover@ice_snipe_pos, {+pri_a17_ice_is_fucked} %=kill_npc%
use_in_combat = true
target_enemy = pri_a17_monolith_patrol_lead
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
;-------------------------------------------------------------
[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false
[combat]
on_info = {=actor_enemy} %+pri_a17_actor_attack_military%
[death]
on_info = %+pri_a17_ice_dead%
[known_info]
pri_a17_ice_is_dead
;-------------------------------------------Àêòåð áðîñèë îòðÿä--------------------------------------------
[logic@pri_a17_military_sergeant_morozov_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_military_sergeant_morozov)} true
prior = 70
active = walker@ice_dead
on_death = death
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@ice_dead]:walker@generic
path_walk = ice_takin_pos
on_info = walker@ice_dead_2 %=teleport_npc(pri_a17_ice_takin_pos)%
meet = no_meet
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
corpse_detection_enabled = false
[walker@ice_dead_2]:walker@generic
path_walk = ice_takin_pos
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
on_game_timer = 20 | walker@ice_dead_3 %=hit_npc(self:pri_a17_taras_dead:bip01_head:1:13)%
[walker@ice_dead_3]:walker@generic
path_walk = ice_takin_pos
out_restr = pri_a17_roofwalkers_stop
in_restr = pri_a17_roofwalkers_stop_2
on_game_timer = 5 | nil %=kill_npc%

View file

@ -0,0 +1,28 @@
[logic]
active = sr_idle@monolith_patrol_at_progress
[sr_idle@monolith_patrol_at_progress]
on_info = {+pri_a17_mon_pat_1} sr_idle@monolith_patrol_at_position_1
on_info2 = {+pri_a17_mon_atk} sr_idle@nil
[sr_idle@monolith_patrol_at_position_1]
on_info = {+pri_a17_mon_pat_2} sr_idle@monolith_patrol_at_position_2
on_info2 = {+pri_a17_mon_atk} sr_idle@nil
[sr_idle@monolith_patrol_at_position_2]
on_info = {+pri_a17_mon_pat_3} sr_idle@monolith_patrol_at_position_3
on_info2 = {+pri_a17_mon_atk} sr_idle@nil
[sr_idle@monolith_patrol_at_position_3]
on_info = {+pri_a17_mon_pat_4} sr_idle@monolith_patrol_at_position_4
on_info2 = {+pri_a17_mon_atk} sr_idle@nil
[sr_idle@monolith_patrol_at_position_4]
on_info = {+pri_a17_atk_mon_pat} sr_idle@nil
on_info2 = {+pri_a17_mon_atk} sr_idle@nil
;[sr_idle@autosave]
;on_info = {-pri_a17_get_gauss_save =actor_has_item(pri_a17_gauss_rifle)} %+pri_a17_get_gauss_save =scenario_autosave(st_save_pri_a17_hospital_start)%
;on_info2 = {+pri_a17_get_gauss_save} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,649 @@
[walker@generic]
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
wounded = wounded
;----------------------------------------------------------------------------------------------------------
[logic@pri_a17_monolith_preacher]
suitable = {=check_npc_name(pri_a17_monolith_preacher)} true
prior = 200
active = walker@take_aim
on_death = death@preacher
on_hit = hit@preacher
[walker@take_aim]:walker@generic
path_walk = mon_preacher_stay
path_look = mon_preacher_shoot
out_restr = pri_a17_preacher_outrestr
on_signal = preacher_ready | remark@shoot_ice
on_info = {+pri_a17_ice_dead} animpoint@pray
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
[remark@shoot_ice]:walker@generic
anim = threat_fire
target = story | pri_a17_military_sergeant_morozov
on_signal = anim_end | remark@shoot_ice2
out_restr = pri_a17_preacher_outrestr
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
on_info = {+pri_a17_ice_dead} animpoint@pray
[remark@shoot_ice2]:walker@generic
anim = threat_fire
target = story | pri_a17_military_sergeant_morozov
on_game_timer = 15 | animpoint@pray %+pri_a17_ice_is_fucked%
on_info = {+pri_a17_ice_dead} animpoint@pray
out_restr = pri_a17_preacher_outrestr
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
[animpoint@pray]:walker@generic
cover_name = pri_a17_sc_mon_preacher
avail_animations = pri_a17_pray_in
reach_movement = patrol
on_game_timer = 20 | {-pri_a17_monolith_preacher_done} %=play_sound(pri_a17_monolith_preacher) +pri_a17_monolith_preacher_done%
on_game_timer2 = 180| camper@angry_preacher
on_info = {+pri_a17_preacher_hitted_by_actor} camper@angry_preacher, {=counter_equal(pri_a17_monolith_amb_death:10)} camper@angry_preacher
out_restr = pri_a17_preacher_outrestr
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[camper@angry_preacher]:walker@generic
path_walk = mon_preacher_stay
path_look = ice_takin_pos
radius = 1
no_retreat = true
out_restr = pri_a17_preacher_outrestr
def_state_campering = threat
def_state_campering_fire = threat_fire
meet = no_meet
[hit@preacher]
on_info = {=hit_by_actor +pri_a17_ice_dead} camper@angry_preacher %+pri_a17_preacher_hitted_by_actor%, %=restore_health%
[death@preacher]
on_info = %+pri_a17_mon_preacher_dead =stop_sound%
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_1]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_1)}
prior = 70
active = walker@ambusher_1_start
on_death = death
[walker@ambusher_1_start]:walker@generic
path_walk = ambusher_1_trans
path_look = ambusher_trans_look_1
def_state_standing = trans_0
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@ambusher_1, {+pri_a17_mon_ambush_start} walker@ambusher_1, {+pri_a17_actor_find_ambush} walker@ambusher_1
[walker@ambusher_1]:walker@generic
path_walk = mon_amb_1
path_look = mon_amb_1_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_tunnel_top
[death]
on_info = %=inc_counter(pri_a17_monolith_amb_death)%
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_2]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_2)}
prior = 70
active = walker@ambusher_2_start
on_death = death
[walker@ambusher_2_start]:walker@generic
path_walk = ambusher_2_trans
path_look = ambusher_trans_look_2
def_state_standing = trans_0
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@ambusher_2, {+pri_a17_mon_ambush_start} walker@ambusher_2, {+pri_a17_actor_find_ambush} walker@ambusher_2
[walker@ambusher_2]:walker@generic
path_walk = mon_amb_2
path_look = mon_amb_2_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_tunnel_buttom
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_3]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_3)}
prior = 70
active = walker@ambusher_3_start
on_death = death
[walker@ambusher_3_start]:walker@generic
path_walk = ambusher_3_trans
path_look = ambusher_trans_look_2
def_state_standing = trans_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@ambusher_3, {+pri_a17_mon_ambush_start} walker@ambusher_3, {+pri_a17_actor_find_ambush} walker@ambusher_3
[walker@ambusher_3]:walker@generic
path_walk = mon_amb_3
path_look = mon_amb_3_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_monolith_attack_zone
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_4]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_4)}
prior = 70
active = walker@ambusher_4_start
on_death = death
[walker@ambusher_4_start]:walker@generic
path_walk = ambusher_4_trans
path_look = ambusher_trans_look_2
def_state_standing = trans_0
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@ambusher_4, {+pri_a17_mon_ambush_start} walker@ambusher_4, {+pri_a17_actor_find_ambush} walker@ambusher_4
[walker@ambusher_4]:walker@generic
path_walk = mon_amb_4
path_look = mon_amb_4_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_monolith_attack_zone
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_5]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_5)}
prior = 70
active = walker@ambusher_5_start
on_death = death
[walker@ambusher_5_start]:walker@generic
path_walk = ambusher_5_trans
path_look = ambusher_trans_look_2
def_state_standing = trans_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@ambusher_5, {+pri_a17_mon_ambush_start} walker@ambusher_5, {+pri_a17_actor_find_ambush} walker@ambusher_5
[walker@ambusher_5]:walker@generic
path_walk = mon_amb_5
path_look = mon_amb_5_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_hosp_build_1
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_6]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_6)}
prior = 70
active = walker@ambusher_6
on_death = death
[walker@ambusher_6]:walker@generic
path_walk = mon_amb_6
path_look = mon_amb_6_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_7]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_7)}
prior = 70
active = walker@ambusher_7
on_death = death
[walker@ambusher_7]:walker@generic
path_walk = mon_amb_7
path_look = mon_amb_7_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_8]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_8)}
prior = 70
active = walker@ambusher_8
on_death = death
[walker@ambusher_8]:walker@generic
path_walk = mon_amb_8
path_look = mon_amb_8_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_hosp_build_1
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_9]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_9)}
prior = 70
active = walker@ambusher_9
on_death = death
[walker@ambusher_9]:walker@generic
path_walk = mon_amb_9
path_look = mon_amb_9_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
;----------------------------------------------------------
[logic@pri_a17_monolith_ambusher_10]
suitable = {=check_npc_name(pri_a17_monolith_ambusher_10)}
prior = 70
active = walker@ambusher_10
on_death = death
[walker@ambusher_10]:walker@generic
path_walk = mon_amb_10
path_look = mon_amb_10_look
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
out_restr = pri_a17_monolith_attack_zone
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_1]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_1)}
prior = 70
active = walker@patrol_1_start
on_death = death@patrol_1
on_combat = combat@patrol
on_hit = hit@patrol
known_info = known_info
[walker@patrol_1_start]:walker@generic
path_walk = patrol_1_trans
path_look = patrol_trans_look
def_state_standing = trans_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@attack_1, {+pri_a17_patrol_go} patrol@patrol_1, {+pri_a17_actor_find_ambush} patrol@patrol_1
[patrol@patrol_1]:walker@generic
path_walk = monolith_patrol_1
formation = back
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_1 %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_1 %+pri_a17_mon_atk%
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
on_info = {+pri_a17_patrol_go_2} patrol@patrol_1_2, {+pri_a17_mon_ambush_start} walker@attack_1, {+pri_a17_mon_atk} walker@attack_1, {+pri_a17_atk_mon_pat} walker@attack_1
on_signal = path_end | patrol@patrol_1_2
wounded = wounded
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[patrol@patrol_1_2]:walker@generic
path_walk = monolith_patrol_2
formation = back
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_1 %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_1 %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_1 %+pri_a17_mon_atk%
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
on_info = {+pri_a17_mon_ambush_start} walker@attack_1, {+pri_a17_mon_atk} walker@attack_1, {+pri_a17_atk_mon_pat} walker@attack_1
[walker@attack_1]:walker@generic
path_walk = patrol_1_stay
path_look = patrol_1_look
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true
[hit@patrol]
on_info = {=hit_by_actor !has_enemy} %+pri_a17_good_shot%
[combat@patrol]
on_info = %+pri_a17_mon_atk%
[death@patrol_1]
on_info = %=inc_counter(pri_a17_monolith_death:1) +pri_a17_mon_atk +pri_a17_mon_pat_1_dead%
[known_info]
pri_a17_mon_ambush_start
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_2]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_2)}
prior = 70
active = walker@patrol_2_start
on_death = death@patrol_2
on_combat = combat@patrol
on_hit = hit@patrol
known_info = known_info
[walker@patrol_2_start]:walker@generic
path_walk = patrol_2_trans
path_look = patrol_trans_look
def_state_standing = trans_0
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@attack_2, {+pri_a17_patrol_go} patrol@patrol_2, {+pri_a17_actor_find_ambush} patrol@patrol_2
[patrol@patrol_2]:walker@generic
path_walk = monolith_patrol_1
formation = back
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_2 %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_2 %+pri_a17_mon_atk%
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
on_info = {+pri_a17_patrol_go_2} patrol@patrol_2_2, {+pri_a17_mon_ambush_start} walker@attack_2, {+pri_a17_mon_atk} walker@attack_2, {+pri_a17_atk_mon_pat} walker@attack_2
on_signal = path_end | patrol@patrol_2_2
[patrol@patrol_2_2]:walker@generic
path_walk = monolith_patrol_2
formation = back
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_2 %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_2 %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_2 %+pri_a17_mon_atk%
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
on_info = {+pri_a17_mon_ambush_start} walker@attack_2, {+pri_a17_mon_atk} walker@attack_2, {+pri_a17_atk_mon_pat} walker@attack_2
[walker@attack_2]:walker@generic
path_walk = patrol_2_stay
path_look = patrol_2_look
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true
[death@patrol_2]
on_info = %=inc_counter(pri_a17_monolith_death:1) +pri_a17_mon_atk +pri_a17_mon_pat_2_dead%
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_lead]
suitable = {-pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_lead)}
prior = 70
active = walker@patrol_lead_start
on_death = death@patrol_3
on_combat = combat@patrol
on_hit = hit@patrol
known_info = known_info
[walker@patrol_lead_start]:walker@generic
path_walk = patrol_3_trans
path_look = patrol_trans_look
def_state_standing = trans_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@attack_lead, {+pri_a17_patrol_go} patrol@patrol_lead, {+pri_a17_actor_find_ambush} patrol@patrol_lead
[patrol@patrol_lead]:walker@generic
path_walk = monolith_patrol_1
formation = back
commander = true
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_lead %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_info = {=npc_in_zone(pri_a17_mon_pat_1)} %+pri_a17_mon_pat_1 +pri_a17_mon_pat_sound1 %
on_info2 = {+pri_a17_mon_ambush_start} walker@attack_lead, {+pri_a17_mon_atk} walker@attack_lead, {+pri_a17_atk_mon_pat} walker@attack_lead
on_signal = path_end | patrol@patrol_lead_2 %+pri_a17_patrol_go_2%
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
[patrol@patrol_lead_2]:walker@generic
path_walk = monolith_patrol_2
formation = back
commander = true
on_sound = actor|WPN_shoot|10000|0.0| {=dist_to_actor_le(45)} walker@attack_lead %+pri_a17_mon_atk%
on_sound2 = actor|WPN_hit|8|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound3 = actor|MST_step|10|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound4 = actor|WPN_empty|15|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_sound5 = actor|WPN_reload|15|0.0| walker@attack_lead %+pri_a17_mon_atk%
on_info = {=npc_in_zone(pri_a17_mon_pat_1)} %+pri_a17_mon_pat_1 +pri_a17_mon_pat_sound1%
on_info2 = {=npc_in_zone(pri_a17_mon_pat_2)} %+pri_a17_mon_pat_2 +pri_a17_mon_pat_sound2%
on_info3 = {=npc_in_zone(pri_a17_mon_pat_3)} %+pri_a17_mon_pat_3 +pri_a17_mon_pat_sound3%
on_info4 = {=npc_in_zone(pri_a17_mon_pat_4)} %+pri_a17_mon_pat_4 +pri_a17_mon_pat_sound4%
on_info5 = {=npc_in_zone(pri_a17_mon_pat_5)} %+pri_a17_atk_mon_pat +pri_a17_mon_pat_sound5%
on_info6 = {+pri_a17_mon_atk} walker@attack_lead, {+pri_a17_atk_mon_pat} walker@attack_lead
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true, {=check_enemy_name(pri_a17_military_captain_tarasov)} true
on_info7 = {+pri_a17_mon_ambush_start} walker@attack_lead, {+pri_a17_mon_atk} walker@attack_lead, {+pri_a17_atk_mon_pat} walker@attack_lead
[walker@attack_lead]:walker@generic
path_walk = patrol_3_stay
path_look = patrol_3_look
combat_ignore_cond = {=check_enemy_name(pri_a17_military_sergeant_morozov)} true
[death@patrol_3]
on_info = %=inc_counter(pri_a17_monolith_death:1) +pri_a17_mon_atk +pri_a17_mon_pat_lead_dead%
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_1_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_1)}
prior = 70
active = walker@patrol_1_dead
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@patrol_1_dead]:walker@generic
path_walk = patrol_1_dead
on_info = walker@patrol_1_dead_2 %=teleport_npc(pri_a17_patrol_1_dead)%
meet = no_meet
[walker@patrol_1_dead_2]:walker@generic
path_walk = patrol_1_dead
on_game_timer = 20 | walker@patrol_1_dead_3 %=hit_npc(self:pri_a17_taras_chek_sit:bip01_head:1:23)%
[walker@patrol_1_dead_3]:walker@generic
path_walk = patrol_1_dead
on_game_timer = 5 | nil %=kill_npc%
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_2_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_2)}
prior = 70
active = walker@patrol_2_dead
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@patrol_2_dead]:walker@generic
path_walk = patrol_2_dead
on_info = walker@patrol_2_dead_2 %=teleport_npc(pri_a17_patrol_2_dead)%
meet = no_meet
[walker@patrol_2_dead_2]:walker@generic
path_walk = patrol_2_dead
on_game_timer = 20 | walker@patrol_2_dead_3 %=hit_npc(self:pri_a17_pod_pat_look:bip01_head:1:43)%
[walker@patrol_2_dead_3]:walker@generic
path_walk = patrol_2_dead
on_game_timer = 5 | nil %=kill_npc%
;----------------------------------------------------------
[logic@pri_a17_monolith_patrol_lead_dead]
suitable = {+pri_a17_actor_leaver =check_npc_name(pri_a17_monolith_patrol_lead)}
prior = 70
active = walker@patrol_3_dead
on_combat = combat
post_combat_time = 0, 0
known_info = known_info
[walker@patrol_3_dead]:walker@generic
path_walk = patrol_3_dead
on_info = walker@patrol_3_dead_2 %=teleport_npc(pri_a17_patrol_3_dead)%
meet = no_meet
[walker@patrol_3_dead_2]:walker@generic
path_walk = patrol_3_dead
on_game_timer = 20 | walker@patrol_3_dead_3 %=hit_npc(self:pri_a17_ice_takin_pos:bip01_head:1:37)%
[walker@patrol_3_dead_3]:walker@generic
path_walk = patrol_3_dead
on_game_timer = 5 | nil %=kill_npc%
;----------------------------------------------------------
[logic@pri_a17_monolith_sniper_1]
suitable = {=check_npc_name(pri_a17_monolith_sniper_1)}
prior = 70
active = walker@take_pos_1_start
on_death = death
[walker@take_pos_1_start]:walker@generic
path_walk = sniper_1_trans
path_look = ambusher_trans_look_1
def_state_standing = trans_1
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@take_pos_1, {+pri_a17_mon_ambush_start} walker@take_pos_1, {+pri_a17_actor_find_ambush} walker@take_pos_1
[walker@take_pos_1]:walker@generic
path_walk = mon_sni_1
path_look = mon_snilook_1
def_state_moving1 = assault
on_signal = ready | camper@sniper_1
combat_ignore_cond = {=fighting_dist_ge (20)} true
[camper@sniper_1]:walker@generic
path_walk = mon_sni_1
path_look = mon_snilook_1
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
def_state_campering = threat
def_state_campering_fire = threat_fire
no_retreat = true
;----------------------------------------------------------
[logic@pri_a17_monolith_sniper_2]
suitable = {=check_npc_name(pri_a17_monolith_sniper_2)}
prior = 70
active = walker@take_pos_2_start
on_death = death
[walker@take_pos_2_start]:walker@generic
path_walk = sniper_2_trans
path_look = ambusher_trans_look_1
def_state_standing = trans_0
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a17_actor_attack_military} walker@take_pos_2, {+pri_a17_mon_ambush_start} walker@take_pos_2, {+pri_a17_actor_find_ambush} walker@take_pos_2
[walker@take_pos_2]:walker@generic
path_walk = mon_sni_2
path_look = mon_snilook_2
def_state_moving1 = assault
on_signal = ready | camper@sniper_2
combat_ignore_cond = {=fighting_dist_ge (20)} true
[camper@sniper_2]:walker@generic
path_walk = mon_sni_2
path_look = mon_snilook_2
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
def_state_standing = hide
no_retreat = true
;----------------------------------------------------------
[logic@pri_a17_monolith_sniper_3]
suitable = {=check_npc_name(pri_a17_monolith_sniper_3)}
prior = 70
active = walker@take_pos_3
on_death = death
[walker@take_pos_3]:walker@generic
path_walk = mon_sni_3
path_look = mon_snilook_3
def_state_moving1 = assault
on_signal = ready | camper@sniper_3
combat_ignore_cond = {=fighting_dist_ge (20)} true
[camper@sniper_3]:walker@generic
path_walk = mon_sni_3
path_look = mon_snilook_3
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
def_state_campering = threat
def_state_campering_fire = threat_fire
no_retreat = true
;----------------------------------------------------------
[logic@pri_a17_monolith_sniper_4]
suitable = {=check_npc_name(pri_a17_monolith_sniper_4)}
prior = 70
active = walker@take_pos_4
on_death = death
[walker@take_pos_4]:walker@generic
path_walk = mon_sni_4
path_look = mon_snilook_4
def_state_moving1 = assault
on_signal = ready | camper@sniper_4
combat_ignore_cond = {=fighting_dist_ge (20)} true
[camper@sniper_4]:walker@generic
path_walk = mon_sni_4
path_look = mon_snilook_4
def_state_moving1 = assault
def_state_moving2 = assault
def_state_moving3 = assault
def_state_standing = hide
no_retreat = true
;-------------------------------------------------------------
[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false

View file

@ -0,0 +1,34 @@
[logic]
active = sr_idle@recon_on_position
[sr_idle@recon_on_position]
on_info = {+pri_a17_teleport_military_recon} sr_idle@monolith_patrol %=set_counter(pri_a17_monolith_death:0) =create_squad(pri_a17_mon_patrol:pri_a17) =create_squad(pri_a17_mon_ambush_1:pri_a17) =create_squad(pri_a17_mon_ambush_2:pri_a17) =set_counter(pri_a17_monolith_amb_death:0)%
[sr_idle@monolith_patrol]
on_info = {=counter_equal(pri_a17_monolith_death:3)} sr_idle@patrol_dead %+pri_a17_patrol_dead%
on_info2 = {+pri_a17_mon_ambush_start} sr_idle@monolith_ambush_preach
on_info3 = {+pri_a17_actor_leaver} sr_idle@monolith_ambush_preach %+pri_a17_mon_ambush_start%
on_info4 = {+pri_a17_actor_find_ambush} sr_idle@monolith_ambush_preach %+pri_a17_mon_ambush_start%
[sr_idle@patrol_dead]
on_info = {+pri_a17_mon_ambush_start} sr_idle@monolith_ambush_preach
[sr_idle@monolith_ambush_preach]
on_game_timer = 5 | sr_idle@monolith_ambush_squad_2 %=create_squad(pri_a17_mon_preacher:pri_a17)%
[sr_idle@monolith_ambush_squad_2]
on_info = {=counter_equal(pri_a17_monolith_amb_death:4)} sr_idle@stage_1
[sr_idle@stage_1]
on_game_timer = 15 | {!actor_in_zone(pri_a17_first_floor) -pri_a17_stage_1_ended} sr_idle@stage_2 %=create_squad(pri_a17_mon_ambush_3:pri_a17) +pri_a17_stage_1_ended%, {!actor_in_zone(pri_a17_second_floor)} sr_idle@stage_2, {!actor_in_zone(pri_a17_roof)} sr_idle@stage_3
[sr_idle@stage_2]
on_game_timer = 15 | {!actor_in_zone(pri_a17_second_floor) -pri_a17_stage_2_ended} sr_idle@stage_3 %=create_squad(pri_a17_mon_ambush_4:pri_a17) +pri_a17_stage_2_ended%, {!actor_in_zone(pri_a17_roof)} sr_idle@stage_3, {!actor_in_zone(pri_a17_first_floor)} sr_idle@stage_1
[sr_idle@stage_3]
on_game_timer = 15 | {+pri_a17_stage_1_ended +pri_a17_stage_2_ended +pri_a17_stage_3_ended} sr_idle@death_end, {!actor_in_zone(pri_a17_roof) -pri_a17_stage_3_ended} sr_idle@stage_1 %=create_squad(pri_a17_mon_ambush_5:pri_a17) +pri_a17_stage_3_ended%, {!actor_in_zone(pri_a17_first_floor)} sr_idle@stage_1, {!actor_in_zone(pri_a17_second_floor)} sr_idle@stage_2
[sr_idle@death_end]
on_info = {=counter_equal(pri_a17_monolith_amb_death:14) +pri_a17_mon_preacher_dead} sr_idle@end %+pri_a17_mon_ambush_killed%
[sr_idle@end]

View file

@ -0,0 +1,10 @@
[logic@pri_a17_sim_chimera]
suitable = {=target_squad_name(simulation_chimera_pripyat)} true
active = mob_home@_1
monster_job = true
prior = 100
[mob_home@_1]
path_home = mob_home
home_min_radius = 40
home_max_radius = 40

View file

@ -0,0 +1,16 @@
[logic]
active = sr_idle@no_task
[sr_idle@no_task]
on_info = {+pri_a17_military_base_commander_task_dialog_end} sr_idle@progress %=give_task(pri_a17_task_find_gauss_rifle)%
[sr_idle@progress]
on_info = {=actor_has_item(pri_a17_gauss_rifle)} %+pri_a17_actor_has_gauss_rifle%
on_info2 = {+pri_a17_taras_dead +pri_a17_val_dead +pri_a17_pod_dead} %+pri_a17_recon_squad_dead%, {+pri_a17_taras_dead} %+pri_a17_reacon_squad_casualties%, {+pri_a17_val_dead} %+pri_a17_reacon_squad_casualties%, {+pri_a17_pod_dead} %+pri_a17_reacon_squad_casualties%
on_info3 = {-pri_a17_taras_dead +pri_a17_actor_has_gauss_rifle -pri_a17_taras_light_spawned} %=spawn_object_in(device_torch:pri_a17_military_captain_tarasov) +pri_a17_taras_light_spawned%
on_info4 = {-pri_a17_val_dead +pri_a17_actor_has_gauss_rifle -pri_a17_taras_val_light_spawned} %=spawn_object_in(device_torch:pri_a17_military_prapor_valentyr) +pri_a17_taras_val_light_spawned%
on_info5 = {-pri_a17_pod_dead +pri_a17_actor_has_gauss_rifle -pri_a17_pod_light_spawned} %=spawn_object_in(device_torch:pri_a17_military_lieutenant_podorojniy) +pri_a17_pod_light_spawned%
on_info6 = {+pri_a17_actor_bring_gauss_rifle} sr_idle@end
on_info7 = {-pri_a16_arrived_to_pri !talking} %+pri_a16_arrived_to_pri =scenario_autosave(st_save_pri_a16_arrived_to_pri)%
[sr_idle@end]

View file

@ -0,0 +1,19 @@
[logic]
active = sr_idle@teleport_to
[sr_idle@teleport_to]
on_info = {+pri_a17_teleport_military_recon} sr_idle@teleportin %=run_postprocess(fade_in) =disable_ui%
[sr_idle@teleportin]
on_game_timer = 20 | %=run_postprocess(black:8710:true) +pri_a17_teleport_step_1%
on_info = {+pri_a17_teleport_step_1} sr_idle@teleport_post %=teleport_actor(pri_a17_actor_teleport_stay:pri_a17_actor_teleport_look) =teleport_squad(pri_a17_recon_squad:pri_a17_recon_teleport)%
[sr_idle@teleport_post]
on_info = %=teleport_npc_by_story_id(pri_a17_military_captain_tarasov:pri_a17_taras_stay_idle)%
on_info2 = %=teleport_npc_by_story_id(pri_a17_military_prapor_valentyr:pri_a17_val_start)%
on_info3 = %=teleport_npc_by_story_id(pri_a17_military_lieutenant_podorojniy:pri_a17_pod_start)%
on_info4 = %=teleport_npc_by_story_id(pri_a17_military_sergeant_morozov:pri_a17_ice_stay)%
on_game_timer = 60 | %+pri_a17_ui%
on_info5 = {+pri_a17_ui} sr_idle@nil %=stop_postprocess(8710) =enable_ui() -pri_a17_ui%
[sr_idle@nil]

View file

@ -0,0 +1,32 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_info = {+pri_a18_run_cam} sr_idle@wait %+pri_a18_use_idol_done +pri_a18_found_antenna =disable_ui =run_postprocess(fade_in:2023)%
on_info2 = {-pri_a18_actor_enemy =is_squad_enemy_to_actor(pri_a16_sokolov_squad:pri_a16_vano_squad:pri_a22_military_merkulov_squad:pri_a22_military_skelja_squad)} %+pri_a18_actor_enemy +pri_a18_get_reinforcement_done%
[sr_idle@wait]
on_game_timer = 20 | sr_cutscene@start %=create_cutscene_actor_with_weapon(pri_a18_cutscene_actor:pri_a18_cutscene_actor_spawn:0:180) +pri_a18_task_end =run_postprocess(black:2057:true)%
[sr_cutscene@start]
global_cameffect = true
enable_ui_on_end = false
outdoor = true
point = pri_a18_actor_in_catscene_teleport
look = pri_a18_actor_in_catscene_teleport
cam_effector = scenario_cam\pripyat\pri_a18_inspect_monolith_cameff
on_game_timer = 50 | {-pri_a18_pp_stop} %+pri_a18_pp_stop =stop_postprocess(2023) =stop_postprocess(2057)%
on_signal = cameff_end | sr_idle@after %=run_postprocess(black:2021:true) +pri_a18_cutscene_actor_destr =teleport_actor(pri_b35_mercs_pri_a18_reinforcement_1_ready_kill_look:pri_a18_smart_terrain_pri_a18_monolith_2_look)%
on_signal2 = cam_effector_stop | sr_idle@after %=run_postprocess(black:2021:true) +pri_a18_cutscene_actor_destr =teleport_actor(pri_b35_mercs_pri_a18_reinforcement_1_ready_kill_look:pri_a18_smart_terrain_pri_a18_monolith_2_look)%
on_info = {+pri_a18_altar_stop_cam -pri_a18_fade_in} %=run_postprocess(fade_in:2022) +pri_a18_fade_in%
on_info2 = {+pri_a18_cam_stop} %=stop_sr_cutscene%
on_info3 = {+pri_a18_cut_actor_hit} %=stop_sr_cutscene +pri_a18_cam_stop +pri_a18_altar_stop_cam +pri_a18_fade_in +pri_a18_koval_go_on%
[sr_idle@after]
on_game_timer = 20 | sr_idle@check_when_reinfor_go_base %=stop_postprocess(2021) =stop_postprocess(2022) =stop_postprocess(2057) =enable_ui%
[sr_idle@check_when_reinfor_go_base]
on_info = {+pri_a18_once_autosave !actor_in_zone(pri_a18_task_end_zone)} sr_idle@nil %+pri_a18_reinf_go_base%
on_info2 = {-pri_a18_once_autosave} %+pri_a18_once_autosave =scenario_autosave(st_save_pri_a18_searched_antenna)%
[sr_idle@nil]

View file

@ -0,0 +1,21 @@
[logic]
active = animpoint@pri_a18_start
on_hit = hit
[animpoint@pri_a18_start]
cover_name = pri_a18_sc_cutscene_actor
avail_animations = pri_a18_inspert_monolit_actor
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
on_signal = sound_end | %+pri_a18_koval_go_on%
on_info = {+pri_a18_radio_start} %=play_sound(pri_a18_actor_report)%
on_info2 = {+pri_a18_cutscene_actor_destr} %=destroy_object%
[hit]
on_info = %+pri_a18_cut_actor_hit =destroy_object%

View file

@ -0,0 +1,295 @@
[logic@pri_a18_merkulov]
active = walker@wait_actor
suitable = {=check_npc_name(pri_a22_military_merkulov) -pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_death = death
on_hit = hit
[walker@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_merkulov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_merkulov_once_combat_section_go%
[remark@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_merkulov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_merkulov_once_combat_section_go%
[smartcover@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_merkulov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_merkulov_once_combat_section_go%
[camper@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_merkulov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_merkulov_once_combat_section_go%
;*****************************************************
[walker@wait_actor]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_1_2
on_signal = pri_a18_reinforcement_1_go_post_walk_1_2_sig | remark@hello_snd %+pri_a18_near_bus%
on_info = {=health_le(0.99) !actor_enemy} %=restore_health%
on_info2 = {=dist_to_actor_le(10)} remark@hello_snd
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[remark@hello_snd]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
anim = guard_na
target = story | actor
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {+pri_a18_sokolov_say_hello_done +pri_a18_vano_say_hello_done} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = %+pri_a18_vano_say_hello_done%
on_info4 = {=surge_started} %+pri_a18_surge_started%
on_info5 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info6 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info7 = {-pri_a18_once_scenario_autosave} %+pri_a18_once_scenario_autosave =scenario_autosave(st_save_pri_a18_met_reinforcement)%
[walker@go_shop]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_1_3
in_restr = pri_a18_in_anom_in_restr
on_signal = pri_a18_reinforcement_smartcover_1_1 | smartcover@near_shop_enter
on_info = {=npc_in_zone(pri_a18_reinf_near_shop_sneak_run)} walker@go_shop_sneak_run
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_shop_sneak_run]:walker@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
def_state_moving = sneak_run
path_walk = pri_a18_reinforcement_1_go_post_walk_1_3
on_signal = pri_a18_reinforcement_smartcover_1_1 | smartcover@near_shop_enter
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_shop_enter]:smartcover@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_1_1
loophole_name = crouch_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_post_guard_combat} walker@hall_smartcover
on_info3 = {=surge_started} walker@hall_smartcover
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@hall_smartcover]:walker@def_go_base
def_state_moving = sneak_run
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_near_shop_enter_walk_1
on_signal = pri_a18_near_shop_enter_smart_cover_1_2 | smartcover@hall_smartcover
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@hall_smartcover]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_1_2
loophole_name = crouch_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_post_guard_squad)} walker@in_hall
[walker@in_hall]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
path_walk = pri_a18_reinforcement_in_hall_walk_2
path_look = pri_a18_reinforcement_in_window_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_corridor_squad) =actor_in_zone(pri_a18_corridor_man_fire_zone)} walker@go_corridor_timer
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor_timer]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_reinforcement_in_hall_walk_2
path_look = pri_a18_reinforcement_in_window_look
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_game_timer = 45 | walker@go_corridor
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor]:walker@def_go_base
out_restr = pri_a18_corridor_man_fire_zone
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_standing = threat_na
path_walk = pri_a18_reinfor_corridor_corner_walk
on_signal = pri_b35_mercs_pri_a18_reinfor_corridor_corner_walk_sig | smartcover@corridor_corner
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@corridor_corner]:smartcover@def_go_base
out_restr = pri_a18_corridor_man_fire_zone
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
cover_name = pri_a18_corridor_smartcov
loophole_name = stand_front_left
use_in_combat = true
on_info = {=actor_in_zone(pri_surge_hide_a18_2) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@go_corridor_2
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
[walker@go_corridor_2]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinf_near_idol_room_1
on_signal = pri_a18_near_idol_room_cover | smartcover@near_idol_room
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_idol_room]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_idol_room_cover
loophole_name = crouch_front_right
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@idolroom_door]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_standing = sneak_run
path_walk = pri_a18_reinforcement_idolroom_door_walk_1
on_signal = pri_a18_reinforcement_idolroom_door_walk_1_sig | smartcover@idolroom_door
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@idolroom_door]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_idolroom_door_smartcover_1
loophole_name = stand_front_right
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[camper@idol_room]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinforcement_1_ready_kill_look
on_signal = pri_a18_play_kill_snd_1 | %+pri_a18_vano_lets_kill_snd_done% camper@before_fight
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[camper@before_fight]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinforcement_1_ready_kill_look
on_game_timer = 50 | {+pri_a18_sokolov_lets_kill_snd_done} %+pri_a18_hit_pray_squad%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@idolroom_guard]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
radius = 0
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinf_guard_look
on_info = {+pri_a18_task_end} walker@in_hall_after_idol_use
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@in_hall_after_idol_use]
meet = meet
path_walk = pri_a18_in_hall_after_fighting_wait_walk_1
path_look = pri_a18_in_hall_after_fighting_wait_look_1
corpse_detection_enabled = false
gather_items_enabled = false
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_reinf_go_base} patrol@base
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[patrol@base]
path_walk = pri_a18_reinforcement_go_base
out_restr = pri_a16_sr_noweap
formation = line
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
on_game_timer = 1200 | %+pri_a18_scene_end_change_smart%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info3 = {=surge_started} | %+pri_a18_scene_end_change_smart%
def_state_moving = assault
[meet]
meet_dialog = pri_a18_altar_destroyed_soldiers_start
use = true
abuse = false
allow_break = false
trade_enable = false
close_anim = guard
close_victim = actor
close_distance = 0
far_distance = 0
[hit]
on_info = {=hit_by_actor} %+pri_a18_actor_enemy%
[death]
on_info = %+pri_a18_vano_reserve_dead +pri_a18_vano_say_hello_done +pri_a18_vano_lets_kill_snd_done%

View file

@ -0,0 +1,19 @@
[logic]
active = ph_door@closed
[ph_door@closed]
not_for_npc = true
closed = true
locked = false
on_use = ph_door@open %+pri_a18_idol_door_open%
on_info = {+pri_a18_idol_door_open} ph_door@open
on_info2 = {+pri_a20_squad_cam_end !dist_to_story_obj_ge(pri_a18_wait_reinf:10)} %+pri_a18_wait_reinf%
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor)} %+pri_a18_find_antena%
[ph_door@open]
closed = false
locked = true
show_tips = false
not_for_npc = true
on_info = {+pri_a20_squad_cam_end !dist_to_story_obj_ge(pri_a18_wait_reinf:10)} %+pri_a18_wait_reinf%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor)} %+pri_a18_find_antena%

View file

@ -0,0 +1,87 @@
[hit]
on_info = {=hit_by_actor} %+pri_a18_actor_enemy%
[logic@pri_a18_vano_surge]
active = walker@surge_1
suitable = {=check_npc_name(vano) +pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_hit = hit
[walker@surge_1]
path_walk = surge_1_walk
path_look = surge_1_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {+pri_a18_actor_enemy} %=actor_enemy%
on_info2 = {=surge_complete} %-pri_a18_surge_started%
[logic@pri_a18_sokolov_surge]
active = walker@surge_2
suitable = {=check_npc_name(pri_a15_sokolov) +pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_hit = hit
[walker@surge_2]
path_walk = surge_2_walk
path_look = surge_2_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {+pri_a18_actor_enemy} %=actor_enemy%
on_info2 = {=surge_complete} %-pri_a18_surge_started%
[logic@pri_a18_merkulov_surge]
active = walker@surge_3
suitable = {=check_npc_name(pri_a22_military_merkulov) +pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_hit = hit
[walker@surge_3]
path_walk = surge_1_walk
path_look = surge_1_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {+pri_a18_actor_enemy} %=actor_enemy%
on_info2 = {=surge_complete} %-pri_a18_surge_started%
[logic@pri_a18_skelja_surge]
active = walker@surge_4
suitable = {=check_npc_name(pri_a22_military_skelja) +pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_hit = hit
[walker@surge_4]
path_walk = surge_2_walk
path_look = surge_2_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {+pri_a18_actor_enemy} %=actor_enemy%
on_info2 = {=surge_complete} %-pri_a18_surge_started%

View file

@ -0,0 +1,272 @@
[logic@pri_a18_skelja]
active = walker@wait_actor
suitable = {=check_npc_name(pri_a22_military_skelja) -pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_death = death
on_hit = hit
[walker@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_skelja_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_skelja_once_combat_section_go%
[remark@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_skelja_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_skelja_once_combat_section_go%
[smartcover@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_skelja_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_skelja_once_combat_section_go%
[camper@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_skelja_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_skelja_once_combat_section_go%
;*****************************************************
[walker@wait_actor]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_2_2
on_signal = pri_a18_reinforcement_1_go_post_walk_2_2_sig | remark@hello_snd %+pri_a18_near_bus%
on_info = {=health_le(0.99) !actor_enemy} %=restore_health%
on_info2 = {=dist_to_actor_le(10)} remark@hello_snd
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[remark@hello_snd]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
anim = guard_na
target = story | actor
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=dist_to_actor_le(10) +pri_a18_vano_say_hello_done} remark@hello_snd_timer
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info6 = {-pri_a18_once_scenario_autosave} %+pri_a18_once_scenario_autosave =scenario_autosave(st_save_pri_a18_met_reinforcement)%
[remark@hello_snd_timer]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
anim = guard_na
target = story | actor
on_game_timer = 15 | %=play_sound(pri_a18_shelly_hello)%
on_signal = sound_end | %+pri_a18_sokolov_say_hello_done%
on_info = {=actor_enemy} %=stop_sound%
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {+pri_a18_sokolov_say_hello_done +pri_a18_vano_say_hello_done} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[walker@go_shop]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_2_3
in_restr = pri_a18_in_anom_in_restr
on_signal = pri_a18_reinforcement_smartcover_2_1 | smartcover@near_shop_enter
on_info = {=npc_in_zone(pri_a18_reinf_near_shop_sneak_run)} walker@go_shop_sneak_run
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_shop_sneak_run]:walker@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
def_state_moving = sneak_run
path_walk = pri_a18_reinforcement_1_go_post_walk_2_3
on_signal = pri_a18_reinforcement_smartcover_2_1 | smartcover@near_shop_enter
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_shop_enter]:smartcover@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_2_1
loophole_name = crouch_front_right
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_post_guard_combat} walker@hall_smartcover
on_info3 = {=surge_started} walker@hall_smartcover
on_info4 = {=dist_to_actor_le(7)} %=play_sound(pri_a18_sokolov_on_place)%
on_info5 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@hall_smartcover]:walker@def_go_base
def_state_moving = sneak_run
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_near_shop_enter_walk_2
on_signal = pri_a18_near_shop_enter_smart_cover_2_2 | smartcover@hall_smartcover
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@hall_smartcover]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_2_2
loophole_name = stand_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_post_guard_squad)} walker@in_hall
[walker@in_hall]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
path_walk = pri_a18_reinforcement_in_hall_walk_1
path_look = pri_a18_reinforcement_corridor_look
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_corridor_squad) =actor_in_zone(pri_a18_corridor_man_fire_zone)} walker@go_corridor
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor]:walker@def_go_base
out_restr = pri_surge_hide_a18_2
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
path_walk = pri_a18_reinf_near_idol_room_2
path_look = pri_a18_reinf_near_idol_room_2_look
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {=npc_in_zone(pri_surge_hide_a18_2)} walker@go_corridor_2
on_info5 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor_2]:walker@def_go_base
out_restr = pri_surge_hide_a18_2
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinf_near_idol_room_2
path_look = pri_a18_reinf_near_idol_room_2_look
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@idolroom_door]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinforcement_idolroom_door_walk_2
on_signal = pri_a18_reinforcement_idolroom_door_walk_2_sig | smartcover@idolroom_door
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@idolroom_door]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_idolroom_door_smartcover_2
loophole_name = crouch_front_left
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[camper@idol_room]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinforcement_2_ready_kill_look
on_signal = pri_a18_play_kill_snd_2 | {-pri_a18_hit_pray_squad} %=play_sound(pri_a18_sokolov_fight)%
on_signal2 = sound_end | camper@before_fight %+pri_a18_sokolov_lets_kill_snd_done%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@before_fight]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinforcement_2_ready_kill_look
on_game_timer = 70 | {+pri_a18_vano_lets_kill_snd_done} %+pri_a18_hit_pray_squad%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@idolroom_guard]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
radius = 0
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinf_guard_look
on_info = {+pri_a18_task_end} walker@in_hall_after_idol_use
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@in_hall_after_idol_use]
meet = meet
path_walk = pri_a18_in_hall_after_fighting_wait_walk_2
path_look = pri_a18_in_hall_after_fighting_wait_look_2
corpse_detection_enabled = false
gather_items_enabled = false
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_reinf_go_base} patrol@base
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[patrol@base]
path_walk = pri_a18_reinforcement_go_base
out_restr = pri_a16_sr_noweap
formation = line
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
on_game_timer = 1200 | %+pri_a18_scene_end_change_smart%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info3 = {=surge_started} | %+pri_a18_scene_end_change_smart%
def_state_moving = assault
[meet]
meet_dialog = pri_a18_altar_destroyed_soldiers_start
use = true
abuse = false
allow_break = false
trade_enable = false
close_anim = guard
close_victim = actor
close_distance = 0
far_distance = 0
[hit]
on_info = {=hit_by_actor} %+pri_a18_actor_enemy%
[death]
on_info = %+pri_a18_skorlupko_dead +pri_a18_sokolov_say_hello_done +pri_a18_sokolov_lets_kill_snd_done%

View file

@ -0,0 +1,284 @@
[logic@pri_a18_sokolov]
active = walker@wait_actor
suitable = {-pri_a25_rfi_source_eliminated =check_npc_name(pri_a15_sokolov) -pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_death = death
on_hit = hit
[walker@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_sokolov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_sokolov_once_combat_section_go%
[remark@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_sokolov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_sokolov_once_combat_section_go%
[smartcover@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_sokolov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_sokolov_once_combat_section_go%
[camper@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_sokolov_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_sokolov_once_combat_section_go%
;*****************************************************
[walker@wait_actor]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
use_camp = false
path_walk = pri_a18_reinforcement_1_go_post_walk_2_2
on_signal = pri_a18_reinforcement_1_go_post_walk_2_2_sig | remark@hello_snd %+pri_a18_near_bus%
on_info = {=health_le(0.99) !actor_enemy} %=restore_health%
on_info2 = {=dist_to_actor_le(10)} remark@hello_snd
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[remark@hello_snd]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
anim = guard_na
target = story | actor
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=dist_to_actor_le(10) +pri_a18_vano_say_hello_done} remark@hello_snd_timer
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info6 = {-pri_a18_once_scenario_autosave} %+pri_a18_once_scenario_autosave =scenario_autosave(st_save_pri_a18_met_reinforcement)%
[remark@hello_snd_timer]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
anim = guard_na
target = story | actor
on_game_timer = 15 | %=play_sound(pri_a18_sokolov_hello)%
on_signal = sound_end | %+pri_a18_sokolov_say_hello_done%
on_info = {=actor_enemy} %=stop_sound%
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {+pri_a18_sokolov_say_hello_done +pri_a18_vano_say_hello_done} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[walker@go_shop]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
use_camp = false
path_walk = pri_a18_reinforcement_1_go_post_walk_2_3
in_restr = pri_a18_in_anom_in_restr
on_signal = pri_a18_reinforcement_smartcover_2_1 | smartcover@near_shop_enter
on_info = {=npc_in_zone(pri_a18_reinf_near_shop_sneak_run)} walker@go_shop_sneak_run
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_shop_sneak_run]:walker@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
use_camp = false
combat_ignore_cond = {-pri_a18_actor_enemy} true
def_state_moving = sneak_run
path_walk = pri_a18_reinforcement_1_go_post_walk_2_3
on_signal = pri_a18_reinforcement_smartcover_2_1 | smartcover@near_shop_enter
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_shop_enter]:smartcover@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
use_camp = false
cover_name = pri_a18_near_shop_enter_smart_cover_2_1
loophole_name = crouch_front_right
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_post_guard_combat} walker@hall_smartcover
on_info3 = {=surge_started} walker@hall_smartcover
on_info4 = {=dist_to_actor_le(7)} %=play_sound(pri_a18_sokolov_on_place)%
on_info5 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@hall_smartcover]:walker@def_go_base
def_state_moving = sneak_run
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_near_shop_enter_walk_2
on_signal = pri_a18_near_shop_enter_smart_cover_2_2 | smartcover@hall_smartcover
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@hall_smartcover]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_2_2
loophole_name = stand_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_post_guard_squad)} walker@in_hall
[walker@in_hall]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
path_walk = pri_a18_reinforcement_in_hall_walk_1
path_look = pri_a18_reinforcement_corridor_look
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_corridor_squad) =actor_in_zone(pri_a18_corridor_man_fire_zone)} walker@go_corridor
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor]:walker@def_go_base
out_restr = pri_surge_hide_a18_2
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
meet = no_meet
def_state_moving = assault
path_walk = pri_a18_reinf_near_idol_room_2
path_look = pri_a18_reinf_near_idol_room_2_look
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {=npc_in_zone(pri_surge_hide_a18_2)} walker@go_corridor_2
on_info5 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor_2]:walker@def_go_base
out_restr = pri_surge_hide_a18_2
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
use_camp = false
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinf_near_idol_room_2
path_look = pri_a18_reinf_near_idol_room_2_look
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@idolroom_door]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
meet = no_meet
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinforcement_idolroom_door_walk_2
on_signal = pri_a18_reinforcement_idolroom_door_walk_2_sig | smartcover@idolroom_door
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@idolroom_door]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_idolroom_door_smartcover_2
loophole_name = crouch_front_left
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[camper@idol_room]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinforcement_2_ready_kill_look
on_signal = pri_a18_play_kill_snd_2 | {-pri_a18_hit_pray_squad} %=play_sound(pri_a18_sokolov_fight)%
on_signal2 = sound_end | camper@before_fight %+pri_a18_sokolov_lets_kill_snd_done%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@before_fight]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinforcement_2_ready_kill_look
on_game_timer = 70 | {+pri_a18_vano_lets_kill_snd_done} %+pri_a18_hit_pray_squad%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@idolroom_guard]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
radius = 0
path_walk = pri_a18_reinforcement_2_ready_kill_walk
path_look = pri_a18_reinf_guard_look
on_info = {+pri_a18_task_end} walker@in_hall_after_idol_use
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@in_hall_after_idol_use]
meet = meet
path_walk = pri_a18_in_hall_after_fighting_wait_walk_2
path_look = pri_a18_in_hall_after_fighting_wait_look_2
use_camp = false
corpse_detection_enabled = false
gather_items_enabled = false
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_reinf_go_base} patrol@base
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[patrol@base]
path_walk = pri_a18_reinforcement_go_base
out_restr = pri_a16_sr_noweap
formation = line
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
on_game_timer = 1200 | %+pri_a18_scene_end_change_smart%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info3 = {=surge_started} | %+pri_a18_scene_end_change_smart%
def_state_moving = assault
[meet]
meet_dialog = pri_a18_altar_destroyed_soldiers_start
use = true
abuse = false
allow_break = false
trade_enable = false
close_anim = guard
close_victim = actor
close_distance = 0
far_distance = 0
[hit]
on_info = {=hit_by_actor} %+pri_a18_actor_enemy%
[death]
on_info = %+pri_a18_sokolov_dead +pri_a18_sokolov_say_hello_done +pri_a18_sokolov_lets_kill_snd_done%

View file

@ -0,0 +1,47 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_info = {+pri_a20_talk_with_colonel_complete -pri_a18_use_idol_done} sr_idle@sokolov_vano_recreate_1
[sr_idle@sokolov_vano_recreate_1]
on_info = {-pri_a18_sokolov_exist =squad_exist(pri_a16_sokolov_squad)} %=remove_squad(pri_a16_sokolov_squad) +pri_a18_sokolov_exist%
on_info2 = {-pri_a18_vano_exist =squad_exist(pri_a16_vano_squad)} %=remove_squad(pri_a16_vano_squad) +pri_a18_vano_exist%
on_info3 = sr_idle@sokolov_vano_recreate_2
[sr_idle@sokolov_vano_recreate_2]
on_info = {+leader_achievement_gained +pri_a18_sokolov_exist -pri_a18_once_sokolov_create} %=create_squad(pri_a16_sokolov_squad_strong:pri_b35_mercs) +pri_a18_once_sokolov_create%, {+pri_a18_sokolov_exist -pri_a18_once_sokolov_create} %=create_squad(pri_a16_sokolov_squad:pri_b35_mercs) +pri_a18_once_sokolov_create%
on_info2 = {+leader_achievement_gained +pri_a18_vano_exist -pri_a18_once_vano_create} %=create_squad(pri_a16_vano_squad_strong:pri_b35_mercs) +pri_a18_once_vano_create%, {+pri_a18_vano_exist -pri_a18_once_vano_create} %=create_squad(pri_a16_vano_squad:pri_b35_mercs) +pri_a18_once_vano_create%
on_info3 = sr_idle@skelja_merkulov_recreate_1 %+pri_a18_skelja_merkulov_can_work%
[sr_idle@skelja_merkulov_recreate_1]
on_info = {+pri_a18_sokolov_exist -pri_a18_vano_exist =squad_exist(pri_a22_military_merkulov_squad) -pri_a18_once_merkulov_remove} %=remove_squad(pri_a22_military_merkulov_squad) +pri_a18_once_merkulov_remove%
on_info2 = {+pri_a18_vano_exist -pri_a18_sokolov_exist =squad_exist(pri_a22_military_skelja_squad) -pri_a18_once_skelja_remove} %=remove_squad(pri_a22_military_skelja_squad) +pri_a18_once_skelja_remove%
on_info3 = {-pri_a18_vano_exist -pri_a18_sokolov_exist =squad_exist(pri_a22_military_merkulov_squad) =squad_exist(pri_a22_military_skelja_squad) -pri_a18_once_merkulov_and_skelja_remove} %=remove_squad(pri_a22_military_merkulov_squad) =remove_squad(pri_a22_military_skelja_squad) +pri_a18_once_merkulov_and_skelja_remove%
on_info4 = sr_idle@skelja_merkulov_recreate_2
[sr_idle@skelja_merkulov_recreate_2]
on_info = {+leader_achievement_gained +pri_a18_once_merkulov_remove -pri_a18_once_merkulov_create} %=create_squad(pri_a22_military_merkulov_squad_strong:pri_b35_mercs) +pri_a18_once_merkulov_create%, {+pri_a18_once_merkulov_remove -pri_a18_once_merkulov_create} %=create_squad(pri_a22_military_merkulov_squad:pri_b35_mercs) +pri_a18_once_merkulov_create%
on_info2 = {+leader_achievement_gained +pri_a18_once_skelja_remove -pri_a18_once_skelja_create} %=create_squad(pri_a22_military_skelja_squad_strong:pri_b35_mercs) +pri_a18_once_skelja_create%, {+pri_a18_once_skelja_remove -pri_a18_once_skelja_create} %=create_squad(pri_a22_military_skelja_squad:pri_b35_mercs) +pri_a18_once_skelja_create%
on_info3 = {+leader_achievement_gained +pri_a18_once_merkulov_and_skelja_remove -pri_a18_once_merkulov_create -pri_a18_once_skelja_create} %=create_squad(pri_a22_military_merkulov_squad_strong:pri_b35_mercs) =create_squad(pri_a22_military_skelja_squad_strong:pri_b35_mercs) +pri_a18_once_merkulov_create +pri_a18_once_skelja_create%, {+pri_a18_once_merkulov_and_skelja_remove -pri_a18_once_merkulov_create -pri_a18_once_skelja_create} %=create_squad(pri_a22_military_merkulov_squad:pri_b35_mercs) =create_squad(pri_a22_military_skelja_squad:pri_b35_mercs) +pri_a18_once_merkulov_create +pri_a18_once_skelja_create%
on_info4 = sr_idle@after
[sr_idle@after]
on_info = {+pri_a18_actor_enemy +pri_a18_sokolov_exist =squad_exist(pri_a16_sokolov_squad) =dist_to_story_obj_ge(pri_a16_sokolov_squad:100)} %=kill_squad(pri_a16_sokolov_squad) +pri_a18_sokolov_or_skelja_killed%
on_info2 = {+pri_a18_actor_enemy +pri_a18_sokolov_exist =squad_exist(pri_a16_sokolov_squad_strong) =dist_to_story_obj_ge(pri_a16_sokolov_squad_strong:100)} %=kill_squad(pri_a16_sokolov_squad_strong) +pri_a18_sokolov_or_skelja_killed%
on_info3 = {+pri_a18_actor_enemy +pri_a18_once_skelja_create =squad_exist(pri_a22_military_skelja_squad) =dist_to_story_obj_ge(pri_a22_military_skelja_squad:100)} %=kill_squad(pri_a22_military_skelja_squad) +pri_a18_sokolov_or_skelja_killed%
on_info4 = {+pri_a18_actor_enemy +pri_a18_once_skelja_create =squad_exist(pri_a22_military_skelja_squad_strong) =dist_to_story_obj_ge(pri_a22_military_skelja_squad_strong:100)} %=kill_squad(pri_a22_military_skelja_squad_strong) +pri_a18_sokolov_or_skelja_killed%
on_info5 = {+pri_a18_actor_enemy +pri_a18_vano_exist =squad_exist(pri_a16_vano_squad) =dist_to_story_obj_ge(pri_a16_vano_squad:100)} %=kill_squad(pri_a16_vano_squad) +pri_a18_vano_or_merkulov_killed%
on_info6 = {+pri_a18_actor_enemy +pri_a18_vano_exist =squad_exist(pri_a16_vano_squad_strong) =dist_to_story_obj_ge(pri_a16_vano_squad_strong:100)} %=kill_squad(pri_a16_vano_squad_strong) +pri_a18_vano_or_merkulov_killed%
on_info7 = {+pri_a18_actor_enemy +pri_a18_once_merkulov_create =squad_exist(pri_a22_military_merkulov_squad) =dist_to_story_obj_ge(pri_a22_military_merkulov_squad:100)} %=kill_squad(pri_a22_military_merkulov_squad) +pri_a18_vano_or_merkulov_killed%
on_info8 = {+pri_a18_actor_enemy +pri_a18_once_merkulov_create =squad_exist(pri_a22_military_merkulov_squad_strong) =dist_to_story_obj_ge(pri_a22_military_merkulov_squad_strong:100)} %=kill_squad(pri_a22_military_merkulov_squad_strong) +pri_a18_vano_or_merkulov_killed%
on_info9 = {+pri_a18_sokolov_or_skelja_killed +pri_a18_vano_or_merkulov_killed} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,402 @@
[hit]
on_info = %+pri_a18_hit_pray_squad%
[logic@monolith_1]
active = walker@monolith_1_teleport
suitable = {=target_squad_name(pri_a18_monolith_idol_squad)} true
prior = 70
on_hit = hit
[walker@monolith_1_teleport]
corpse_detection_enabled = false
path_walk = pri_a18_monolith_1_walk
on_info = walker@pri_a18_start_1 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_1_walk)%
[walker@pri_a18_start_1]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_walk
path_look = pri_a18_monolith_1_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {-pri_a18_hit_pray_squad} %=play_sound(pri_a18_monolith_pray)%
on_info2 = {+pri_a18_hit_pray_squad} walker@pri_a18_start_1_timer
[walker@pri_a18_start_1_timer]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_walk
path_look = pri_a18_monolith_1_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 25 | walker@pri_a18_start_1_combat
[walker@pri_a18_start_1_combat]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_walk
path_look = pri_a18_monolith_1_look
;-------------
[logic@monolith_2]
active = walker@monolith_2_teleport
suitable = {=target_squad_name(pri_a18_monolith_idol_squad)} true
prior = 70
on_hit = hit
[walker@monolith_2_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_walk
on_info = walker@pri_a18_start_2 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_2_walk)%
[walker@pri_a18_start_2]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_walk
path_look = pri_a18_monolith_2_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a18_hit_pray_squad} walker@pri_a18_start_2_timer
[walker@pri_a18_start_2_timer]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_walk
path_look = pri_a18_monolith_2_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 25 | walker@pri_a18_start_2_combat
[walker@pri_a18_start_2_combat]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_walk
path_look = pri_a18_monolith_2_look
;-------------
[logic@monolith_3]
active = walker@monolith_3_teleport
suitable = {=target_squad_name(pri_a18_monolith_idol_squad)} true
prior = 70
on_hit = hit
[walker@monolith_3_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_walk
on_info = walker@pri_a18_start_3 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_3_walk)%
[walker@pri_a18_start_3]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_walk
path_look = pri_a18_monolith_3_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a18_hit_pray_squad} walker@pri_a18_start_3_timer
[walker@pri_a18_start_3_timer]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_walk
path_look = pri_a18_monolith_3_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 25 | walker@pri_a18_start_3_combat
[walker@pri_a18_start_3_combat]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_walk
path_look = pri_a18_monolith_3_look
;-------------
[logic@monolith_4]
active = walker@monolith_4_teleport
suitable = {=target_squad_name(pri_a18_monolith_idol_squad)} true
prior = 70
on_hit = hit
[walker@monolith_4_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_walk
on_info = walker@pri_a18_start_4 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_4_walk)%
[walker@pri_a18_start_4]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_walk
path_look = pri_a18_monolith_4_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a18_hit_pray_squad} walker@pri_a18_start_4_timer
[walker@pri_a18_start_4_timer]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_walk
path_look = pri_a18_monolith_4_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 25 | walker@pri_a18_start_4_combat
[walker@pri_a18_start_4_combat]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_walk
path_look = pri_a18_monolith_4_look
;-------------
[logic@monolith_5]
active = walker@monolith_5_teleport
suitable = {=target_squad_name(pri_a18_monolith_idol_squad)} true
prior = 70
on_hit = hit
[walker@monolith_5_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_walk
on_info = walker@pri_a18_start_5 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_5_walk)%
[walker@pri_a18_start_5]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_walk
path_look = pri_a18_monolith_5_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = {+pri_a18_hit_pray_squad} walker@pri_a18_start_5_timer
[walker@pri_a18_start_5_timer]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_walk
path_look = pri_a18_monolith_5_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_game_timer = 25 | walker@pri_a18_start_5_combat
[walker@pri_a18_start_5_combat]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_walk
path_look = pri_a18_monolith_5_look
;-------------
[logic@monolith_post_guard_1]
active = walker@post_guard_1_teleport
suitable = {=target_squad_name(pri_a18_monolith_post_guard_squad)} true
prior = 70
on_hit = combat
[combat]
on_info = %+pri_a18_post_guard_combat%
[walker@post_guard_1_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_post_guard_walk
on_info = walker@post_guard_1 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_1_post_guard_walk)%
[walker@post_guard_1]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_post_guard_walk
path_look = pri_a18_monolith_1_post_guard_look
out_restr = pri_a18_post_quard_out_restrictor
combat_ignore_cond = true
on_info = {+pri_a18_post_guard_combat} walker@post_guard_12
on_info2 = {=enemy_in_zone(pri_a18_enter_restrictor)} %+pri_a18_post_guard_combat%
[walker@post_guard_12]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_1_post_guard_walk
out_restr = pri_a18_post_quard_out_restrictor
;-------------
[logic@monolith_post_guard_2]
active = walker@post_guard_2_teleport
suitable = {=target_squad_name(pri_a18_monolith_post_guard_squad)} true
prior = 70
on_hit = combat
[walker@post_guard_2_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_post_guard_walk
on_info = walker@post_guard_2 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_2_post_guard_walk)%
[walker@post_guard_2]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_post_guard_walk
path_look = pri_a18_monolith_2_post_guard_look
out_restr = pri_a18_post_quard_out_restrictor
combat_ignore_cond = true
on_info = {+pri_a18_post_guard_combat} walker@post_guard_22
on_info2 = {=enemy_in_zone(pri_a18_enter_restrictor)} %+pri_a18_post_guard_combat%
[walker@post_guard_22]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2_post_guard_walk
out_restr = pri_a18_post_quard_out_restrictor
;-------------
[logic@monolith_post_guard_3]
active = walker@post_guard_3_teleport
suitable = {=target_squad_name(pri_a18_monolith_post_guard_squad)} true
prior = 70
on_hit = combat
[walker@post_guard_3_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_post_guard_walk
on_info = walker@post_guard_3 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_3_post_guard_walk)%
[walker@post_guard_3]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_post_guard_walk
path_look = pri_a18_monolith_3_post_guard_look
out_restr = pri_a18_post_quard_out_restrictor
combat_ignore_cond = true
on_info = {+pri_a18_post_guard_combat} walker@post_guard33
on_info2 = {=enemy_in_zone(pri_a18_enter_restrictor)} %+pri_a18_post_guard_combat%
[walker@post_guard33]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_3_post_guard_walk
out_restr = pri_a18_post_quard_out_restrictor
;-------------
[logic@monolith_post_guard_4]
active = walker@post_guard_4_teleport
suitable = {=target_squad_name(pri_a18_monolith_post_guard_squad)} true
prior = 70
on_hit = combat
[walker@post_guard_4_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_post_guard_walk
on_info = patrol@post_guard_1 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_4_post_guard_walk)%
[patrol@post_guard_1]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_post_guard_walk
path_look = pri_a18_monolith_4_post_guard_look
out_restr = pri_a18_post_quard_out_restrictor
combat_ignore_cond = true
on_info = {+pri_a18_post_guard_combat} patrol@post_guard_11
on_info2 = {=enemy_in_zone(pri_a18_enter_restrictor)} %+pri_a18_post_guard_combat%
[patrol@post_guard_11]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_4_post_guard_walk
out_restr = pri_a18_post_quard_out_restrictor
;-------------
[logic@monolith_post_guard_5]
active = walker@post_guard_5_teleport
suitable = {=target_squad_name(pri_a18_monolith_post_guard_squad)} true
prior = 70
on_hit = combat
[walker@post_guard_5_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_post_guard_walk
on_info = patrol@post_guard_2 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_5_post_guard_walk)%
[patrol@post_guard_2]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_post_guard_walk
path_look = pri_a18_monolith_5_post_guard_look
out_restr = pri_a18_post_quard_out_restrictor
combat_ignore_cond = true
on_info = {+pri_a18_post_guard_combat} patrol@post_guard_22
on_info2 = {=enemy_in_zone(pri_a18_enter_restrictor)} %+pri_a18_post_guard_combat%
[patrol@post_guard_22]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_5_post_guard_walk
out_restr = pri_a18_post_quard_out_restrictor
;-------------
[logic@pri_a18_monolith_corridor]
active = walker@post_guard_6_teleport
suitable = {=target_squad_name(pri_a18_monolith_corridor_squad)} true
prior = 70
[walker@post_guard_6_teleport]
corpse_detection_enabled = false
path_walk = monolith_corridor_walk
on_info = camper@corridor %=teleport_npc(pri_a18_smart_terrain_monolith_corridor_walk)%
[camper@corridor]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = monolith_corridor_walk
path_look = monolith_corridor_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
radius = 0
on_info = {=see_actor} walker@corridor_2
[walker@corridor_2]
in_restr = pri_a18_monolith_trance_restrictor
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = monolith_corridor_walk
path_look = monolith_corridor_look
;-------------
[logic@pri_a18_monolith_2nd_corridor_1]
active = walker@monolith_2nd_corridor_1_teleport
suitable = {=target_squad_name(pri_a18_monolith_2nd_corridor_squad)} true
prior = 200
[walker@monolith_2nd_corridor_1_teleport]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2nd_corridor_walk_1
on_info = walker@monolith_2nd_corridor_wait_1 %=teleport_npc(pri_a18_smart_terrain_pri_a18_monolith_2nd_corridor_walk_1)%
[walker@monolith_2nd_corridor_wait_1]
corpse_detection_enabled = false
gather_items_enabled = false
path_walk = pri_a18_monolith_2nd_corridor_walk_1
path_look = pri_a18_monolith_2nd_corridor_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
in_restr = pri_a18_monolith_trance_restrictor
on_info = {!squad_exist(pri_a18_monolith_corridor_squad) =enemy_in_zone(pri_a18_corridor_man_fire_zone)} walker@monolith_2nd_corridor_wait_1_2
on_info2 = {=enemy_in_zone(pri_surge_hide_a18_2)} walker@monolith_2nd_corridor_wait_1_2
[walker@monolith_2nd_corridor_wait_1_2]
corpse_detection_enabled = false
gather_items_enabled = false
def_state_moving = assault
path_walk = pri_a18_monolith_2nd_corridor_attack_walk

View file

@ -0,0 +1,26 @@
[logic]
active = sr_idle@run_use_idol_tutorial
[sr_idle@run_use_idol_tutorial]
on_info = {=actor_in_zone(pri_a18_use_idol_restrictor) !squad_exist(pri_a18_monolith_idol_squad) !squad_exist(pri_a18_monolith_post_guard_squad) !squad_exist(pri_a18_monolith_corridor_squad) !squad_exist(pri_a18_monolith_2nd_corridor_squad) -pri_a18_koval_go_on !surge_started} sr_idle@stop_use_idol_tutorial %=run_tutorial(pri_a18_use_idol)%
on_info2 = {+pri_a18_run_cam} sr_idle@wait_koval_sound
[sr_idle@stop_use_idol_tutorial]
on_info = {!actor_in_zone(pri_a18_use_idol_restrictor) -pri_a18_koval_go_on} sr_idle@run_use_idol_tutorial %=stop_tutorial(pri_a18_use_idol)%
on_info2 = {+pri_a18_run_cam} sr_idle@wait_koval_sound
on_info3 = {!has_active_tutorial} sr_idle@run_use_idol_tutorial
[sr_idle@wait_koval_sound]
on_info = {+pri_a18_koval_go_on} sr_idle@kovalskis_voise_sound
[sr_idle@kovalskis_voise_sound]
on_game_timer = 10 | sr_idle@kovalskis_voise_sound_2
[sr_idle@kovalskis_voise_sound_2]
on_signal = sound_end | sr_idle@timer %+pri_a18_altar_stop_cam%
on_info = {+pri_a21_task_start -pri_a21_sentry_task_done} %=play_sound(pri_a18_kovalskiy_squad)%, %=play_sound(pri_a18_kovalskiy_guard)%
[sr_idle@timer]
on_game_timer = 20 | sr_idle@nil %+pri_a18_cam_stop%
[sr_idle@nil]

View file

@ -0,0 +1,323 @@
[logic@pri_a18_vano]
active = walker@wait_actor
suitable = {=check_npc_name(vano) -pri_a18_surge_started} true
prior = 100
post_combat_time = 0, 0
on_death = death
on_hit = hit
[walker@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_vano_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_vano_once_combat_section_go%
[remark@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_vano_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_vano_once_combat_section_go%
[smartcover@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_vano_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_vano_once_combat_section_go%
[camper@def_go_base]
on_info10 = {+pri_a18_reinf_go_base} patrol@base
on_info11 = {-pri_a18_vano_once_combat_section_go +pri_a18_hit_pray_squad} camper@idol_room %+pri_a18_vano_once_combat_section_go%
;*****************************************************
[walker@wait_actor]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
use_camp = false
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_1_2
on_signal = pri_a18_reinforcement_1_go_post_walk_1_2_sig | remark@hello_snd %+pri_a18_near_bus%
on_info = {=health_le(0.99) !actor_enemy} %=restore_health%
on_info2 = {=dist_to_actor_le(10)} remark@hello_snd
on_info3 = {=surge_started} %+pri_a18_surge_started%
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info5 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
[remark@hello_snd]:remark@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
anim = guard_na
target = story | actor
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_signal = sound_end | %+pri_a18_vano_say_hello_done%
on_info = {=dist_to_actor_le(10)} %=play_sound(pri_a18_vano_hello)%
on_info2 = {=actor_enemy} %=stop_sound%
on_info3 = {+pri_a18_sokolov_say_hello_done +pri_a18_vano_say_hello_done} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info4 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info5 = {=surge_started} %+pri_a18_surge_started%
on_info6 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info7 = {+pri_a18_post_guard_combat} walker@go_shop %+pri_a18_get_reinforcement_done%
on_info8 = {-pri_a18_once_scenario_autosave} %+pri_a18_once_scenario_autosave =scenario_autosave(st_save_pri_a18_met_reinforcement)%
[walker@go_shop]:walker@def_go_base
def_state_moving = assault
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
path_walk = pri_a18_reinforcement_1_go_post_walk_1_3
in_restr = pri_a18_in_anom_in_restr
on_signal = pri_a18_reinforcement_smartcover_1_1 | smartcover@near_shop_enter
on_info = {=npc_in_zone(pri_a18_reinf_near_shop_sneak_run)} walker@go_shop_sneak_run
on_info2 = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_shop_sneak_run]:walker@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
def_state_moving = sneak_run
path_walk = pri_a18_reinforcement_1_go_post_walk_1_3
on_signal = pri_a18_reinforcement_smartcover_1_1 | smartcover@near_shop_enter
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_shop_enter]:smartcover@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_1_1
loophole_name = crouch_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_post_guard_combat} walker@hall_smartcover
on_info3 = {=surge_started} walker@hall_smartcover
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@hall_smartcover]:walker@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy} true
def_state_moving = sneak_run
path_walk = pri_a18_reinforcement_near_shop_enter_walk_1
on_signal = pri_a18_near_shop_enter_smart_cover_1_2 | smartcover@hall_smartcover
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@hall_smartcover]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
meet = no_meet
cover_name = pri_a18_near_shop_enter_smart_cover_1_2
loophole_name = crouch_front_left
use_in_combat = true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_post_guard_squad)} walker@in_hall
[walker@in_hall]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
path_walk = pri_a18_reinforcement_in_hall_walk_2
path_look = pri_a18_reinforcement_in_window_look
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_corridor_squad) =actor_in_zone(pri_a18_corridor_man_fire_zone)} walker@go_corridor
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor_timer]:walker@def_go_base
out_restr = pri_a18_post_quard_out_restrictor
corpse_detection_enabled = false
gather_items_enabled = false
use_camp = false
path_walk = pri_a18_reinforcement_in_hall_walk_2
path_look = pri_a18_reinforcement_in_window_look
meet = no_meet
def_state_moving = assault
def_state_standing = threat_na
combat_ignore_cond = {-pri_a18_actor_enemy =actor_in_zone(pri_a18_corridor_man_fire_zone) !is_alive(pri_a18_monolith_1st_corridor_npc)} true
on_game_timer = 45 | walker@go_corridor
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@go_corridor]:walker@def_go_base
out_restr = pri_a18_corridor_man_fire_zone
use_camp = false
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_standing = threat_na
path_walk = pri_a18_reinfor_corridor_corner_walk
on_signal = pri_b35_mercs_pri_a18_reinfor_corridor_corner_walk_sig | smartcover@corridor_corner
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@corridor_corner]:smartcover@def_go_base
out_restr = pri_a18_corridor_man_fire_zone
meet = no_meet
combat_ignore_cond = {-pri_a18_actor_enemy !is_alive(pri_a18_monolith_2nd_corridor_1)} true
corpse_detection_enabled = false
gather_items_enabled = false
cover_name = pri_a18_corridor_smartcov
loophole_name = stand_front_left
use_in_combat = true
on_info = {=actor_in_zone(pri_surge_hide_a18_2) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@go_corridor_2
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
[walker@go_corridor_2]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
meet = no_meet
def_state_moving = sneak_run
def_state_standing = hide
path_walk = pri_a18_reinf_near_idol_room_1
on_signal = pri_a18_near_idol_room_cover | smartcover@near_idol_room
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@near_idol_room]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_near_idol_room_cover
loophole_name = crouch_front_right
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_bofore_idol_room_checkpoint_zone) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} walker@idolroom_door
on_info3 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info4 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@idolroom_door]:walker@def_go_base
combat_ignore_cond = {-pri_a18_actor_enemy} true
use_camp = false
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_standing = sneak_run
path_walk = pri_a18_reinforcement_idolroom_door_walk_1
on_signal = pri_a18_reinforcement_idolroom_door_walk_1_sig | smartcover@idolroom_door
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[smartcover@idolroom_door]:smartcover@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
cover_name = pri_a18_idolroom_door_smartcover_1
loophole_name = stand_front_right
use_in_combat = true
combat_ignore_cond = {-pri_a18_actor_enemy} true
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {=actor_in_zone(pri_a18_monolith_trance_restrictor) !squad_exist(pri_a18_monolith_2nd_corridor_squad)} camper@idol_room
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[camper@idol_room]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinforcement_1_ready_kill_look
on_signal = pri_a18_play_kill_snd_1 | {+pri_a18_sokolov_lets_kill_snd_done -pri_a18_hit_pray_squad} camper@idol_room_pl_snd_timer
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@idol_room_pl_snd_timer]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinforcement_1_ready_kill_look
on_signal = sound_end | camper@before_fight %+pri_a18_vano_lets_kill_snd_done%
on_game_timer = 10 | {-pri_a18_hit_pray_squad} %=play_sound(pri_a18_vano_fight)%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@before_fight]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
def_state_moving = raid
def_state_campering_fire = threat_fire
radius = 0
combat_ignore_cond = {-pri_a18_actor_enemy -pri_a18_hit_pray_squad} true
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinforcement_1_ready_kill_look
on_game_timer = 50 | {+pri_a18_sokolov_lets_kill_snd_done} %+pri_a18_hit_pray_squad%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {!squad_exist(pri_a18_monolith_idol_squad)} camper@idolroom_guard
[camper@idolroom_guard]:camper@def_go_base
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
radius = 0
path_walk = pri_a18_reinforcement_1_ready_kill_walk
path_look = pri_a18_reinf_guard_look
on_info = {+pri_a18_task_end} walker@in_hall_after_idol_use
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
[walker@in_hall_after_idol_use]
meet = meet
path_walk = pri_a18_in_hall_after_fighting_wait_walk_1
path_look = pri_a18_in_hall_after_fighting_wait_look_1
corpse_detection_enabled = false
use_camp = false
gather_items_enabled = false
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_reinf_go_base} patrol@base
on_info3 = {+pri_a18_actor_enemy} %=actor_enemy%
[patrol@base]
path_walk = pri_a18_reinforcement_go_base
out_restr = pri_a16_sr_noweap
use_camp = false
formation = line
corpse_detection_enabled = false
gather_items_enabled = false
meet = no_meet
on_game_timer = 1200 | %+pri_a18_scene_end_change_smart%
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
on_info2 = {+pri_a18_actor_enemy} %=actor_enemy%
on_info3 = {=surge_started} | %+pri_a18_scene_end_change_smart%
def_state_moving = assault
[meet]
meet_dialog = pri_a18_altar_destroyed_vano_start
use = true
abuse = false
allow_break = false
trade_enable = false
close_anim = guard
close_victim = actor
close_distance = 0
far_distance = 0
[hit]
on_info = {=hit_by_actor} %+pri_a18_actor_enemy%
[death]
on_info = %+pri_a18_vano_dead +pri_a18_vano_say_hello_done +pri_a18_vano_lets_kill_snd_done%

View file

@ -0,0 +1,4 @@
[smart_terrain]
squad_id = 13
[exclusive]

View file

@ -0,0 +1,61 @@
[logic]
active = remark@start
on_hit = hit
[remark@start]
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
anim = sit
target = path | pri_a20_cutscene_actor_walk_squad, 0
on_game_timer = 50 | remark@stand_up
[remark@stand_up]
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
target = path | pri_a20_cutscene_actor_walk_squad, 0
anim = wait_na
on_game_timer = 30 | remark@speak_radio
[remark@speak_radio]
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
target = path | pri_a20_cutscene_actor_walk_squad, 0
anim = wait_rac
on_game_timer = 70 | {-pri_a20_squad_cutscene_actor_talk} %+pri_a20_squad_cutscene_actor_talk =play_sound(pri_a20_actor_report_about_squad)%
on_signal = sound_end | remark@speak_radio_2 %+pri_a20_squad_cutscene_actor_talk_complete%
[remark@speak_radio_2]
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
target = path | pri_a20_cutscene_actor_walk_squad, 0
anim = wait_rac
on_signal = sound_end | %+pri_a20_squad_cutscene_actor_talk_2_complete%
on_info = {+pri_a20_squad_cutscene_actor_talk_2 -pri_a18_use_idol_done} %=play_sound(pri_a20_actor_about_next_task)%, {+pri_a20_squad_cutscene_actor_talk_2 +pri_a18_use_idol_done} %=play_sound(pri_a20_actor_no_data)%
on_info2 = {+pri_a20_talk_with_colonel_complete} %=destroy_object%
[hit]
on_info = %+pri_a20_cut_actor_hit =destroy_object%

View file

@ -0,0 +1,29 @@
[logic]
active = sr_idle@pre_has_gaus_spawn_garik
[sr_idle@pre_has_gaus_spawn_garik]
on_info = {+pri_a17_actor_has_gauss_rifle} sr_idle@sokolov_spawn %=create_squad(pri_b35_jup_b43_stalker_assistant_squad:pri_a16)%
;Çŕňű÷ęŕ!!!
on_info2 = {+pri_a28_actor_in_zone_stay} sr_idle@create_garry
[sr_idle@sokolov_spawn]
on_info = {+pri_a15_sokolov_out -pas_b400_sokolov_dead} sr_idle@destroy_garry %=create_squad(pri_a16_sokolov_squad:pri_a16) +pri_a16_sokolov_on_pripyat%
on_info2 = {-pri_a15_sokolov_out} sr_idle@destroy_garry
on_info3 = {+pas_b400_sokolov_dead} sr_idle@destroy_garry
[sr_idle@destroy_garry]
on_info = {+pri_a25_rfi_source_eliminated =squad_exist(pri_b35_jup_b43_stalker_assistant_squad)} sr_idle@create_garry %=remove_squad(pri_b35_jup_b43_stalker_assistant_squad)%
on_info2 = {!squad_exist(pri_b35_jup_b43_stalker_assistant_squad)} %=create_squad(pri_b35_jup_b43_stalker_assistant_squad:pri_a16)%
[sr_idle@create_garry]
on_info = {+pri_a28_actor_in_zone_stay} sr_idle@create_yar %=create_squad(pri_b35_jup_b43_stalker_assistant_squad:pri_a16) =create_squad(pri_a16_stalkers_squad:pri_a16) =create_squad(stalker_sim_squad_advanced:pri_a16) =create_squad(stalker_sim_squad_veteran:pri_a16) -pri_a16_wait_for_stalkers%
[sr_idle@create_yar]
on_info = {+jup_b19_complete -jup_b19_yar_enemy_or_dead =squad_exist(jup_b19_freedom_yar_squad)} sr_idle@add_yar %=remove_squad(jup_b19_freedom_yar_squad)%
on_info2 = {+jup_b19_complete -jup_b19_yar_enemy_or_dead !squad_exist(jup_b19_freedom_yar_squad)} sr_idle@add_yar
on_info3 = {+jup_b19_yar_enemy_or_dead} sr_idle@nil
[sr_idle@add_yar]
on_info = sr_idle@nil %=create_squad(pri_a16_freedom_yar_squad:pri_a16)%
[sr_idle@nil]

View file

@ -0,0 +1,84 @@
[walker@def]
corpse_detection_enabled = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
meet = no_meet
[logic@pri_a20_missing_military_recon_leader]
active = walker@base_1
suitable = {+pri_a17_actor_has_gauss_rifle =target_squad_name(pri_a20_missing_military_recon)} true
prior = 200
known_info = known_info
[walker@base_1]:walker@def
path_walk = deadman_military_1_walk
path_look = deadman_military_1_look
on_info = walker@start_1 %=teleport_npc(pri_b35_mercs_deadman_military_1_walk)%
[walker@start_1]:walker@base_1
on_game_timer = 30 | walker@death_1 %=hit_npc(self:pri_a20_deadman_military_1_im:bip01_head:2:12)%
[walker@death_1]:walker@base_1
on_game_timer = 5 | nil %=kill_npc%
[known_info]
pri_a20_recon_squad_info
[logic@pri_a20_missing_military_recon_1]
active = walker@base_2
suitable = {+pri_a17_actor_has_gauss_rifle =target_squad_name(pri_a20_missing_military_recon)} true
prior = 200
known_info = known_info
[walker@base_2]:walker@def
path_walk = deadman_military_2_walk
path_look = deadman_military_2_look
on_info = walker@start_2 %=teleport_npc(pri_b35_mercs_deadman_military_2_walk)%
[walker@start_2]:walker@base_2
on_game_timer = 30 | walker@death_2 %=hit_npc(self:pri_a20_deadman_military_2_im:bip01_head:3:33)%
[walker@death_2]:walker@base_2
on_game_timer = 5 | nil %=kill_npc%
[logic@pri_a20_missing_military_recon_2]
active = walker@base_3
suitable = {+pri_a17_actor_has_gauss_rifle =target_squad_name(pri_a20_missing_military_recon)} true
prior = 190
known_info = known_info
[walker@base_3]:walker@def
path_walk = deadman_military_3_walk
path_look = deadman_military_3_look
on_info = walker@start_3 %=teleport_npc(pri_b35_mercs_deadman_military_3_walk)%
[walker@start_3]:walker@base_3
on_game_timer = 30 | walker@death_3 %=hit_npc(self:pri_a20_deadman_military_3_im:bip01_head:4:43)%
[walker@death_3]:walker@base_3
on_game_timer = 5 | nil %=kill_npc%
[logic@pri_a20_missing_military_recon_3]
active = walker@base_4
suitable = {+pri_a17_actor_has_gauss_rifle =target_squad_name(pri_a20_missing_military_recon)} true
prior = 190
known_info = known_info
[walker@base_4]:walker@def
path_walk = deadman_military_4_walk
path_look = deadman_military_4_look
on_info = walker@start_4 %=teleport_npc(pri_b35_mercs_deadman_military_4_walk)%
[walker@start_4]:walker@base_4
on_game_timer = 30 | walker@death_4 %=hit_npc(self:pri_a20_deadman_military_4_im:bip01_head:1:23)%
[walker@death_4]:walker@base_4
on_game_timer = 5 | nil %=kill_npc%

View file

@ -0,0 +1,18 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_info = {+pri_a20_run_radio_snd -pri_a20_once_radio_call} %+pri_a20_once_radio_call =play_sound(radio_call)%
on_signal = sound_end | sr_idle@kovalski_ofice_rac %+pri_a20_radio_call_snd_end%
[sr_idle@kovalski_ofice_rac]
on_info = {+pri_a20_radio_start} sr_idle@kovalski_ofice_rac_2
[sr_idle@kovalski_ofice_rac_2]
on_game_timer = 15 | %=play_sound(pri_a20_recon_squad_attacked)%
on_signal = sound_end | sr_idle@kovalski_ofice_rac_3
[sr_idle@kovalski_ofice_rac_3]
on_game_timer = 10 | sr_idle@nil %+pri_a20_colonel_talk_in_radio%
[sr_idle@nil]

View file

@ -0,0 +1,27 @@
[animpoint@def]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
out_restr = pri_a16_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = true
[logic@pri_a20_missing_military_recon_leader]
active = animpoint@base_1
suitable = {-pri_a17_actor_has_gauss_rifle =check_npc_name(pri_a15_military_recon_leader)} true, {-pri_a17_actor_has_gauss_rifle =check_npc_name(pri_a15_military_recon_1)} true
prior = 200
[logic@pri_a20_missing_military_recon_1]
active = animpoint@base_2
suitable = {-pri_a17_actor_has_gauss_rifle =check_npc_name(pri_a15_military_recon_leader)} true, {-pri_a17_actor_has_gauss_rifle =check_npc_name(pri_a15_military_recon_1)} true
prior = 200
[animpoint@base_1]:animpoint@def
cover_name = pri_a16_animp_7
[animpoint@base_2]:animpoint@def
cover_name = pri_a16_animp_8

View file

@ -0,0 +1,29 @@
[logic]
active = sr_idle@kovalski_office_cutscene
[sr_idle@kovalski_office_cutscene]
on_info = {+pri_a17_actor_has_gauss_rifle} sr_idle@wait_cutscene %=remove_squad(pri_a20_missing_military_recon)%
[sr_idle@wait_cutscene]
on_game_timer = 50 | {+pri_a20_cutscene_start} sr_idle@fade %=disable_ui =create_squad(pri_a20_missing_military_recon:pri_b35_mercs) =run_postprocess(fade_in:2121)%
[sr_idle@fade]
on_game_timer = 10 | {+pri_a20_squad_attack_cam} sr_cutscene@cut %=run_postprocess(black:2122:true)%
[sr_cutscene@cut]
point = pri_a16_yarmoshuk_look
look = pri_a16_yarmoshuk_look
global_cameffect = true
enable_ui_on_end = false
cam_effector = scenario_cam\pripyat\pri_a20_recon_squad_comm
on_game_timer = 20 | sr_cutscene@cut %=stop_postprocess(2121) =stop_postprocess(2122)%
on_info = {+pri_a20_once_task_give} %=run_postprocess(fade_in:2021) =stop_sr_cutscene%
on_signal = cameff_end | sr_idle@cutscene_end_postprocess
[sr_idle@cutscene_end_postprocess]
on_game_timer = 10 | sr_idle@check_actor_in_koval_office %=teleport_actor(pri_a16_cutscene_actor_walk:pri_a16_military_colonel_kovalski_walk) =enable_ui =stop_postprocess(2021)%
[sr_idle@check_actor_in_koval_office]
on_info = {=actor_in_zone(pri_a21_meet_kovalski_restrictor)} sr_idle@nil %+pri_a20_task_gived%
[sr_idle@nil]

View file

@ -0,0 +1,35 @@
[logic]
active = sr_idle@dead_squad_cutscene
[sr_idle@dead_squad_cutscene]
on_info = {+pri_a20_squad_attack_cam =actor_in_zone(pri_a20_squad_task_complete_restrictor)} sr_idle@timer_before_fade %=create_cutscene_actor_with_weapon(pri_a20_cutscene_actor_squad:pri_b35_mercs_leader_rendevous_look:0:0)%
[sr_idle@timer_before_fade]
on_game_timer = 20 | sr_idle@fade %=disable_ui =run_postprocess(fade_in:2022) =teleport_npc_by_story_id(pri_a20_cutscene_actor_squad:pri_a20_deadman_military_3_im)%
[sr_idle@fade]
on_game_timer = 20 | sr_cutscene@cut %=run_postprocess(black:2023:true)%
[sr_cutscene@cut]
global_cameffect = true
enable_ui_on_end = false
outdoor = true
point = pri_a20_squad_find_actor_teleport_walk
look = pri_a20_squad_find_actor_teleport_look
cam_effector = scenario_cam\pripyat\pri_a20_dead_recon_squad
on_signal = cameff_end | {-zat_a23_actor_has_gauss_rifle_documentation} sr_idle@cutscene_end_postprocess %=teleport_actor(pri_a20_cutscene_actor_walk_check_squad:pri_a20_cutscene_actor_look_check_squad) +pri_a20_talk_with_colonel_complete%, sr_idle@cutscene_end_postprocess %=teleport_actor(pri_a20_cutscene_actor_walk_squad:pri_a20_deadman_military_3_im) +pri_a20_talk_with_colonel_complete +pri_a21_task_give_from_a20%
on_signal2 = cam_effector_stop | {-zat_a23_actor_has_gauss_rifle_documentation} sr_idle@cutscene_end_postprocess %=teleport_actor(pri_a20_cutscene_actor_walk_check_squad:pri_a20_cutscene_actor_look_check_squad) +pri_a20_talk_with_colonel_complete%, sr_idle@cutscene_end_postprocess %=teleport_actor(pri_a20_cutscene_actor_walk_squad:pri_a20_deadman_military_3_im) +pri_a20_talk_with_colonel_complete +pri_a21_task_give_from_a20%
on_game_timer = 10 | {-pri_a20_pp_stop} %+pri_a20_pp_stop =stop_postprocess(2022) =stop_postprocess(2023)%
on_info = {+pri_a20_squad_cam_end -pri_a20_fade_in} %=run_postprocess(fade_in:2024) +pri_a20_fade_in%
on_info2 = {+pri_a20_cam_end -pri_a20_fade_2_in} %=stop_sr_cutscene =run_postprocess(black:2021:true) +pri_a20_fade_2_in%
on_info3 = {+pri_a20_cut_actor_hit} %=stop_sr_cutscene =run_postprocess(black:2021:true) +pri_a20_fade_2_in +pri_a20_cam_end +pri_a20_squad_cam_end +pri_a20_fade_in +pri_a20_squad_cutscene_actor_talk +pri_a20_squad_cutscene_actor_talk_complete +pri_a20_squad_cutscene_actor_talk_2 +pri_a20_squad_cutscene_actor_talk_2_complete%
[sr_idle@cutscene_end_postprocess]
on_game_timer = 10 | sr_idle@autosave %=stop_postprocess(2021) =enable_ui%
[sr_idle@autosave]
on_info = {-pri_a20_once_autosave} %+pri_a20_once_autosave =scenario_autosave(st_save_pri_a20_found_dead_recon)%
on_info2 = {+pri_a20_once_autosave} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,36 @@
[logic]
active = sr_idle@start
[sr_idle@start]
on_info = {+pri_a20_squad_cutscene_actor_talk_complete} sr_idle@timer
[sr_idle@timer]
on_game_timer = 15 | sr_idle@answer
[sr_idle@answer]
on_signal = sound_end | sr_idle@timer_2
on_info = {-zat_a23_actor_has_gauss_rifle_documentation} %=play_sound(pri_a20_colonel_give_next_task_1)%
on_info2 = {+zat_a23_actor_has_gauss_rifle_documentation} %=play_sound(pri_a20_colonel_give_next_task_1_sentry_task) +pri_a21_task_give_from_a20%
[sr_idle@timer_2]
on_game_timer = 15 | sr_idle@tell_koval %+pri_a20_squad_cutscene_actor_talk_2%
[sr_idle@tell_koval]
on_info = {+pri_a20_squad_cutscene_actor_talk_2_complete} sr_idle@timer_3
[sr_idle@timer_3]
on_game_timer = 10 | sr_idle@answer_2
[sr_idle@answer_2]
on_signal = sound_end | {+pri_a20_send_reinforcement} sr_idle@timer_before_nil %+pri_a20_squad_cam_end =give_task(pri_a18_inspect_monolith)%, sr_idle@timer_before_nil %+pri_a20_squad_cam_end%
on_info = {+pri_a18_use_idol_done +pri_a21_task_give_from_a20 -pri_a21_sentry_task_done} %=play_sound(pri_a20_colonel_about_sentry)%
on_info2 = {+pri_a18_use_idol_done -zat_a23_actor_has_gauss_rifle_documentation} %=play_sound(pri_a20_colonel_task_done)%
on_info3 = {+pri_a18_use_idol_done +pri_a21_sentry_task_done} %=play_sound(pri_a20_colonel_task_done)%
on_info4 = {-pri_a18_use_idol_done -pri_a21_colonel_give_sentry_task} %=play_sound(pri_a20_colonel_send_reinforcement) +pri_a20_send_reinforcement%
on_info5 = {-pri_a18_use_idol_done +pri_a21_colonel_give_sentry_task +pri_a21_chasovoi_dead} %=play_sound(pri_a20_colonel_send_reinforcement) +pri_a20_send_reinforcement%
on_info6 = {-pri_a18_use_idol_done +pri_a21_colonel_give_sentry_task -pri_a21_chasovoi_dead} %=play_sound(pri_a20_colonel_send_reinforcement_a21_about_sentry) +pri_a20_send_reinforcement%
[sr_idle@timer_before_nil]
on_game_timer = 20 | sr_idle@nil %+pri_a20_cam_end%
[sr_idle@nil]

View file

@ -0,0 +1,57 @@
[logic] ;ëîãèêà äëÿ ñöåíû Â305, ßâëåíèå Ñòðåëêà
active = sr_idle@wait
[sr_idle@actor_spawn]
on_info = {+pri_b305_4_cam_actor} sr_idle@timer_cam4 %=run_postprocess(black:8811:true) =disable_ui%
on_info2 = {+pri_b305_5_cam_actor} sr_idle@timer_cam5 %=create_cutscene_actor_with_weapon(pri_b305_actor_visual_5:pri_a28_cutscene_actor_base_walk:0:90)%
[sr_idle@wait]
on_actor_inside = {+pri_b305_third_cam_end} sr_idle@timer %=run_postprocess(fade_in:8810) +pri_b305_quest_completed +pri_a16_wait_for_stalkers =create_cutscene_actor_with_weapon(pri_b305_actor_visual_4:pri_a16_pri_b305_actor_strelok_operation_walk:0:0:3)%
[sr_idle@timer]
on_game_timer = 10 | {+leader_achievement_gained} sr_idle@actor_spawn %=create_squad_member(pri_b305_strelok_strong:pri_a16_military_squad:pri_a16_pri_b305_strelok_spawn) +pri_b305_forth_cam_start +pri_b305_4_cam_actor%, sr_idle@actor_spawn %=run_postprocess(black:8811:true) =create_squad_member(pri_b305_strelok:pri_a16_military_squad:pri_a16_pri_b305_strelok_spawn) +pri_b305_forth_cam_start +pri_b305_4_cam_actor%
[sr_idle@timer_cam4]
on_game_timer = 20 | sr_cutscene@cam4 %=stop_postprocess(8811) =stop_postprocess(8810)%
[sr_cutscene@cam4]
point = pri_a28_cutscene_actor_base_walk
look = pri_a16_pri_b305_kovalskiy_walk
cam_effector = scenario_cam\pripyat\pri_b305_catscene_4_strelok_came
global_cameffect = true
enable_ui_on_end = false
outdoor = true
on_game_timer = 80 | {-pri_b305_strelok_give_up_done} %=play_sound(pri_b305_strelok_give_up) +pri_b305_strelok_give_up_done%
on_info = {+pri_b305_kovalskiy_talk_in_safe_place_done_end} %=stop_sr_cutscene =run_postprocess(fade_in)%
on_signal = sound_end | {-pri_b305_strelok_give_up_done_end} %+pri_b305_strelok_give_up_done_end%
on_signal2 = cameff_end | sr_idle@timer2 %+pri_b305_forth_cam_end =run_postprocess(black:8812:true)%
[sr_idle@timer2]
on_game_timer = 20 | sr_idle@actor_spawn %+pri_b305_fifth_cam_start +pri_b305_5_cam_actor%
[sr_idle@timer_cam5]
on_game_timer = 40 | sr_cutscene@cam5_1 %=stop_postprocess(8812)%
[sr_cutscene@cam5_1]
point = pri_a28_cutscene_actor_base_walk
look = pri_a16_pri_b305_kovalskiy_walk
cam_effector = pri_b305_camera_5
global_cameffect = true
on_info = {+pri_b305_kovalskiy_let_center_know_done_end} %=stop_sr_cutscene%
on_signal = cameff_end | sr_idle@keeper_of_secrets_archievement %+pri_b305_fifth_cam_end =enable_ui%
;*************************************************************************************************************
; Ëîãèêà áîíóñà çà à÷èâêó "Ëèäåð"
;*************************************************************************************************************
[sr_idle@keeper_of_secrets_archievement]
on_info = {+leader_achievement_gained} sr_idle@mysquad_regeneration_timer, sr_idle@nil
[sr_idle@mysquad_regeneration_timer]
on_game_timer = 150 | sr_idle@mysquad_regeneration
[sr_idle@mysquad_regeneration]
on_info = sr_idle@mysquad_regeneration_timer %=heal_squad(pri_a16_military_squad)%
;*************************************************************************************************************
[sr_idle@nil]

View file

@ -0,0 +1,36 @@
[logic@pri_a21_chasovoi]
active = animpoint@pri_a21_start
suitable = {+pri_a21_task_start =check_npc_name(pri_a21_sentry_lieutenant_stecenko)} true
prior = 200
on_death = death
on_hit = hit
[animpoint@pri_a21_start]
meet = no_meet
cover_name = pri_a21_sc_mad_chasovoi
avail_animations = pri_a21_sentry_madness
corpse_detection_enabled = false
gather_items_enabled = false
help_wounded_enabled = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_info = %=play_sound(pri_a21_sentr_crazy_1)%
on_info2 = {=dist_to_actor_le(10)} remark@self_murder
on_info3 = {-pri_a21_once_autosave =dist_to_actor_le(30)} %+pri_a21_once_autosave =scenario_autosave(st_save_pri_a21_approached_mad_sentry)%
[remark@self_murder]
meet = no_meet
anim = pri_a21_sentry_madness_suicide
corpse_detection_enabled = false
gather_items_enabled = false
help_wounded_enabled = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
on_signal = anim_end | %=stop_sound =kill_npc%
on_info = %=play_sound(pri_a21_sentr_crazy_2)%
[hit]
on_info = {!deadly_hit} %=kill_npc%
[death]
on_info = %+pri_a21_chasovoi_dead%

View file

@ -0,0 +1,36 @@
[logic]
active = walker@pri_a21_start
on_hit = hit
[walker@pri_a21_start]
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
path_walk = pri_a21_smart_terrain_cutscene_actor_spawn_point
path_look = pri_a21_smart_terrain_chasovoi_mad_walk
def_state_standing = wait_rac
on_game_timer = 60 | remark@talk_rac_actor
[remark@talk_rac_actor]
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
anim = wait_rac
target = path | pri_a21_smart_terrain_chasovoi_mad_walk, 0
on_signal = sound_end | %+pri_a21_actor_talk_after_done%
on_info = {-pri_a21_from_kontroler_100_m} %=play_sound(pri_a21_actor_to_base_find_and_terminate_controller)%
on_info2 = {+pri_a21_from_kontroler_100_m} %=play_sound(pri_a21_actor_to_base_terminate_controller)%
on_info3 = {+pri_a21_sentry_task_done} %=destroy_object%
[hit]
on_info = %+pri_a21_cut_actor_hit =destroy_object%

View file

@ -0,0 +1,36 @@
[logic]
active = sr_idle@pre_controler_dead_cutscene
[sr_idle@pre_controler_dead_cutscene]
on_info = {+pri_a21_kontro_dead} sr_idle@timer_before_cutscene
[sr_idle@timer_before_cutscene]
on_game_timer = 20 | sr_idle@cutscene_start %=disable_ui =run_postprocess(fade_in:2023)%
[sr_idle@cutscene_start]
on_game_timer = 10 | sr_cutscene %=run_postprocess(black:2024:true) =create_cutscene_actor_with_weapon(pri_a21_cutscene_actor:pri_a21_smart_terrain_cutscene_actor_spawn_point:0:306)%
[sr_cutscene]
global_cameffect = true
enable_ui_on_end = false
outdoor = true
point = pri_a21_kontro_dead_cutscene_actor_walk
look = pri_a21_kontro_dead_cutscene_actor_walk
cam_effector = scenario_cam\pripyat\pri_a21_scene_end_cam
on_game_timer = 10 | {-pri_a21_pp_stop} %+pri_a21_pp_stop =stop_postprocess(2023) =stop_postprocess(2024)%
on_signal = cameff_end | sr_idle@cutscene_end_postprocess %=run_postprocess(black:2021:true) +pri_a21_sentry_task_done =teleport_actor(pri_a21_smart_terrain_cutscene_actor_spawn_point:pri_a21_smart_terrain_chasovoi_mad_walk)%
on_signal2 = cam_effector_stop | sr_idle@cutscene_end_postprocess %=run_postprocess(black:2021:true) +pri_a21_sentry_task_done =teleport_actor(pri_a21_smart_terrain_cutscene_actor_spawn_point:pri_a21_smart_terrain_chasovoi_mad_walk)%
on_info = {+pri_a21_cam_end -pri_a21_fade_in} %=run_postprocess(fade_in:2022) +pri_a21_fade_in%
on_info2 = {+pri_a21_cam_stop} %=stop_sr_cutscene%
on_info3 = {+pri_a21_cut_actor_hit} %=stop_sr_cutscene +pri_a21_cam_stop +pri_a21_cam_end +pri_a21_fade_in +pri_a21_actor_talk_after_done%
[sr_idle@cutscene_end_postprocess]
on_game_timer = 10 | sr_idle@autosave %=stop_postprocess(2021) =stop_postprocess(2022) =enable_ui%
[sr_idle@autosave]
on_info = {-pri_a21_once_autosave_2} %+pri_a21_once_autosave_2 =scenario_autosave(st_save_pri_a21_killed_controller)%
on_info2 = {+pri_a21_once_autosave_2} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,16 @@
[logic@pri_a21_kontroler]
active = mob_home@pri_a21_start
suitable = {=target_squad_name(pri_a21_kontroler_squad)} true
prior = 70
monster_job = true
on_death = death
[mob_home@pri_a21_start]
path_home = chasovoi_mad_walk
home_min_radius = 15
home_max_radius = 15
on_info = {=dist_to_actor_le(50) -pri_a21_hit_kontroler_from_actor} %=hit_npc_from_actor +pri_a21_hit_kontroler_from_actor%
on_info2 = {=dist_to_actor_ge(100)} %+pri_a21_from_kontroler_100_m -pri_a21_hit_kontroler_from_actor%
[death]
on_info = %+pri_a21_kontro_dead%

View file

@ -0,0 +1,38 @@
[logic]
active = sr_idle@wait
[sr_idle@wait]
on_info = {+zat_a23_actor_has_gauss_rifle_documentation +pri_a20_talk_with_colonel_complete} sr_idle@chasovoi_recreate %=clear_smart_terrain(pri_a21_smart_terrain)%
on_info2 = {+pri_a21_start} %+zat_a23_actor_has_gauss_rifle_documentation +pri_a20_talk_with_colonel_complete%
[sr_idle@chasovoi_recreate]
on_game_timer = 25 | {!squad_exist(pri_a21_chasovoi)} sr_idle@give_task %+pri_a21_task_start =create_squad(pri_a21_chasovoi:pri_a21_smart_terrain)%
[sr_idle@give_task]
on_info = {-pri_a21_task_give_from_a20 !actor_in_zone(pri_surge_hide_a16) -pri_a21_sound_koval_base_about_task} sr_idle@give_task_after_sound %+pri_a21_give_task_no_base =play_sound(pri_a21_colonel_give_sentry_task)%
on_info2 = {+pri_a21_give_task_base} sr_idle@after %+pri_a21_colonel_give_sentry_task =give_task(pri_a21_find_sentry_task)%
on_info3 = {+pri_a21_task_give_from_a20} sr_idle@after %+pri_a21_give_task_no_base +pri_a21_colonel_give_sentry_task =give_task(pri_a21_find_sentry_task)%
[sr_idle@give_task_after_sound]
on_game_timer = 120 | sr_idle@after %+pri_a21_colonel_give_sentry_task =give_task(pri_a21_find_sentry_task)%
[sr_idle@after]
on_info = {+pri_a21_chasovoi_dead =distance_to_obj_le(pri_a21_chasovoi_target:3)} sr_idle@wait_for_kontro %=create_squad(pri_a21_kontroler_squad:pri_a21_smart_terrain) +pri_a21_spawn_kontroler%
[sr_idle@wait_for_kontro]
on_info = {+pri_a21_from_kontroler_100_m -pri_a21_kill_kontroler} %=play_sound(pri_a21_actor_to_base_find_controller)%
on_info2 = {+pri_a21_kontro_dead} sr_idle@task_done
on_signal = sound_end | sr_idle@base_give_task_kill_kontro
[sr_idle@base_give_task_kill_kontro]
on_game_timer = 10 | %=play_sound(pri_a21_base_to_actor_terminate_controller)%
on_signal = sound_end | sr_idle@task_done %+pri_a21_kill_kontroler%
[sr_idle@task_done]
on_signal = sound_end | sr_idle@timer %+pri_a21_cam_end%
on_info = {+pri_a21_actor_talk_after_done} %=play_sound(pri_a21_base_to_actor_find_and_terminate_controller)%
[sr_idle@timer]
on_game_timer = 20 | sr_idle@nil %+pri_a21_cam_stop%
[sr_idle@nil]

View file

@ -0,0 +1,48 @@
[logic]
active = remark@start
on_hit = hit
[remark@start]
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
path_walk = pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_walk
anim = sit
target = story | pri_a22_military_yarmoshuk
on_game_timer = 50 | remark@stand_up
[remark@stand_up]
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
anim = wait_na
target = story | pri_a22_military_yarmoshuk
on_game_timer = 30 | remark@talk_rac_actor
[remark@talk_rac_actor]
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
anim = wait_rac
target = story | pri_a22_military_yarmoshuk
on_signal = sound_end | %+pri_a22_actor_to_base_talked%
on_game_timer = 70 | %=play_sound(pri_a22_actor_to_base_find_squad_member)%
on_info = {+pri_a22_cutscene_actor_find_squad_destroy} %=destroy_object%
[hit]
on_info = %+pri_a22_cut_actor_hit =destroy_object%

View file

@ -0,0 +1,16 @@
[logic]
active = remark
[remark]
anim = fold_arms
target = story | pri_a17_military_colonel_kovalski
out_restr = pri_a16_sr_noweap
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
on_info = {+pri_a22_cutscene_actor_give_task_destroy} %=destroy_object%

View file

@ -0,0 +1,52 @@
[logic]
active = sr_idle@give_task_cutscene
[sr_idle@give_task_cutscene]
on_info = {+pri_a18_found_antenna +pri_a21_sentry_task_done +pri_a19_lab_x8_investigated +pri_b306_attack_end !black_screen} sr_idle@remove_squads %+pri_a25_task_start =teleport_squad(pri_a25_base_army_medic:pri_a25_smart_terrain_medic_walk) =remove_squad(pri_a22_military_yarmoshuk_squad)%
[sr_idle@remove_squads]
on_info = {=squad_exist(pri_a22_military_skelja_squad)} %=remove_squad(pri_a22_military_skelja_squad) +pri_a22_skelya%
on_info2 = {=squad_exist(pri_a22_military_merkulov_squad)} %=remove_squad(pri_a22_military_merkulov_squad) +pri_a22_merkulov%
on_info3 = sr_idle@wait5sec
[sr_idle@wait5sec]
on_game_timer = 100 | %=play_sound(pri_a22_colonel_to_actor_need_talk)%
on_signal = sound_end | sr_idle@kovalski_office_meet %=give_task(pri_a22_talk_with_kovalski)%
[sr_idle@kovalski_office_meet]
on_info = {=actor_in_zone(pri_a21_meet_kovalski_restrictor)} sr_idle@kovalski_give_task_start %+pri_a22_kovalski_give_task_start +pri_a22_talk_with_kovalski_task_compete =disable_ui =run_postprocess(fade_in:8910)%
[sr_idle@kovalski_give_task_start]
on_game_timer = 10 | sr_idle@wait_cutscene %=run_postprocess(black:8911:true) =create_cutscene_actor_with_weapon(pri_a22_cutscene_actor_give_task:pri_a16_a22_cutscene_actor_walk:0:90) =teleport_actor(pri_a16_yarmoshuk_look:pri_a16_yarmoshuk_look)%
[sr_idle@wait_cutscene]
on_game_timer = 20 | %+pri_a22_close_kovalski_office_door%
on_info = {+pri_a22_kovalski_speak} sr_cutscene@start
[sr_cutscene@start]
enable_ui_on_end = false
global_cameffect = true
point = pri_a16_yarmoshuk_look
look = pri_a16_yarmoshuk_look
cam_effector = scenario_cam\pripyat\pri_a22_give_task
on_signal = cameff_end | sr_idle@cutscene_end_postprocess %=run_postprocess(black:2021:true) =teleport_actor(pri_a16_a22_cutscene_actor_walk:pri_a16_a22_kovalski_to_actor_walk) +pri_a22_cutscene_actor_give_task_destroy%
on_info = %=stop_postprocess(8910) =stop_postprocess(8911)%
on_info2 = {+pri_a22_colonel_give_task -pri_a22_fade_in} %=run_postprocess(fade_in:2022) +pri_a22_fade_in%
on_info3 = {+pri_a22_stop_cam} %=stop_sr_cutscene%
[sr_idle@cutscene_end_postprocess]
on_game_timer = 10 | sr_idle@create_squads %=stop_postprocess(2021) =stop_postprocess(2022) =enable_ui =create_squad(pri_a22_military_yarmoshuk_squad:pri_a22_smart_terrain)%
[sr_idle@create_squads]
on_info = {+pri_a22_skelya -pri_a18_actor_enemy} %=create_squad(pri_a22_military_skelja_squad:pri_a22_smart_terrain)%
on_info2 = {+pri_a22_merkulov -pri_a18_actor_enemy} %=create_squad(pri_a22_military_merkulov_squad:pri_a22_smart_terrain)%
on_info3 = sr_idle@check_body_searching
[sr_idle@check_body_searching]
on_info = {=actor_in_zone(pri_a21_meet_kovalski_restrictor)} %+pri_a22_task_gived%
on_info2 = {+pri_a22_yarmoshuk_body_search !dead_body_searching} sr_idle@run_squad_cam_give_info
[sr_idle@run_squad_cam_give_info]
on_game_timer = 10 | sr_idle@nil %+pri_a22_ran_squad_cam%
[sr_idle@nil]

View file

@ -0,0 +1,63 @@
[walker@def]
corpse_detection_enabled = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
meet = no_meet
[logic@pri_a22_military_yarmoshuk]
active = walker@base_1
suitable = {+pri_a25_task_start =check_npc_name(pri_a22_military_yarmoshuk)} true
prior = 200
known_info = known_info@1
[walker@base_1]:walker@def
path_walk = military_dead_walk_1
on_info = walker@start_1 %=teleport_npc(pri_a22_smart_terrain_military_dead_walk_1)%
[walker@start_1]:walker@base_1
on_game_timer = 20 | walker@death_1 %=hit_npc(self:pri_a22_smart_terrain_pri_a22_military_dead_walk_im_1:bip01_head:2:12)%
[walker@death_1]:walker@base_1
on_game_timer = 8 | nil %=kill_npc%
[known_info@1]
pri_a22_yarmoshuk_body_search
[logic@pri_a22_military_skelja]
active = walker@base_2
suitable = {+pri_a25_task_start =check_npc_name(pri_a22_military_skelja)} true
prior = 200
[walker@base_2]:walker@def
path_walk = military_dead_walk_2
on_info = walker@start_2 %=teleport_npc(pri_a22_smart_terrain_military_dead_walk_2)%
[walker@start_2]:walker@base_2
on_game_timer = 20 | walker@death_2 %=hit_npc(self:pri_a22_smart_terrain_pri_a22_military_dead_walk_im_2:bip01_head:2:12)%
on_info = {-pri_a22_skelja_spawned} %+pri_a22_skelja_spawned%
[walker@death_2]:walker@base_2
on_game_timer = 8 | nil %=kill_npc%
[logic@pri_a22_military_merkulov]
active = walker@base_3
suitable = {+pri_a25_task_start =check_npc_name(pri_a22_military_merkulov)} true
prior = 200
[walker@base_3]:walker@def
path_walk = military_dead_walk_3
on_info = walker@start_3 %=teleport_npc(pri_a22_smart_terrain_military_dead_walk_3)%
[walker@start_3]:walker@base_3
path_walk = military_dead_walk_3
on_game_timer = 20 | walker@death_3 %=hit_npc(self:pri_a22_smart_terrain_pri_a22_military_dead_walk_im_3:bip01_head:2:12)%
on_info = {-pri_a22_merkulov_spawned} %+pri_a22_merkulov_spawned%
[walker@death_3]:walker@base_3
on_game_timer = 8 | nil %=kill_npc%

View file

@ -0,0 +1,16 @@
[logic@pri_a22_military_merkulov]
active = animpoint@base
suitable = {+pri_a21_task_start -pri_a25_task_start =check_npc_name(pri_a22_military_merkulov)} true
prior = 200
[animpoint@base]
cover_name = pri_a16_animp_8
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
out_restr = pri_a16_sr_noweap
use_camp = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

View file

@ -0,0 +1,29 @@
[logic@pri_a22_military_skelja]
active = animpoint@base
suitable = {-pri_a25_task_start =check_npc_name(pri_a22_military_skelja)} true
prior = 200
[animpoint@base]
cover_name = pri_a16_animp_4
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
on_info = {+pri_a21_task_start} animpoint@base_2
meet = no_meet
out_restr = pri_a16_sr_noweap
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@base_2]
cover_name = pri_a16_animp_7
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
out_restr = pri_a16_sr_noweap
use_camp = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

View file

@ -0,0 +1,17 @@
[logic@pri_a22_military_yarmoshuk]
active = walker@base
suitable = {-pri_a25_task_start =check_npc_name(pri_a22_military_yarmoshuk)} true
prior = 200
[walker@base]
path_walk = yarmoshuk_walk
path_look = yarmoshuk_look
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
out_restr = pri_a16_sr_noweap
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

View file

@ -0,0 +1,24 @@
[logic]
active = sr_idle@wait_for_sound
[sr_idle@wait_for_sound]
on_info2 = {+pri_a22_actor_to_base_talked} sr_idle@play_sound
[sr_idle@play_sound]
on_signal = sound_end | sr_idle@wait_cam_2 %+pri_a22_cam_2_fade%
on_game_timer = 10 | %=play_sound(pri_a22_base_to_actor_has_rfi_coordinates)%
[sr_idle@wait_cam_2]
on_game_timer = 15 | sr_idle@kindergarden_koval_snd %+pri_a22_find_squad_cam_end%
[sr_idle@kindergarden_koval_snd]
on_info = {+pri_a25_actor_all_doors_locked_snd_end} sr_idle@kindergarden_koval_snd_timer
[sr_idle@kindergarden_koval_snd_timer]
on_signal = sound_end | sr_idle@timer_for_door_cam %+pri_a25_find_explosive%
on_game_timer = 10 | %=play_sound(pri_a25_kovalski_take_explosive)%
[sr_idle@timer_for_door_cam]
on_game_timer = 15 | sr_idle@nil %+pri_a25_cam_stop%
[sr_idle@nil]

View file

@ -0,0 +1,41 @@
[logic]
active = sr_idle@find_squad_cam
[sr_idle@find_squad_cam]
on_info = {+pri_a22_start} sr_idle@check_actor_find_squad %+pri_a18_use_idol_done +pri_a18_found_antenna +pri_a21_sentry_task_done +pri_a19_lab_x8_investigated%
on_info2 = {+pri_a25_task_start} sr_idle@check_actor_find_squad
[sr_idle@check_actor_find_squad]
on_info = {=actor_in_zone(pri_a22_find_squad)} sr_idle@check_cutscene_start_info %+pri_a22_actor_in_zone_pri_a22_find_squad%
[sr_idle@check_cutscene_start_info]
on_info = {+pri_a22_ran_squad_cam} sr_idle@cutscene_timer %=disable_ui =run_postprocess(fade_in:4310)%
[sr_idle@cutscene_timer]
on_game_timer = 20 | sr_cutscene@start %=run_postprocess(black:4311:true) =create_cutscene_actor_with_weapon(pri_a22_cutscene_actor_find_squad:pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_walk:0:26)%
[sr_cutscene@start]
enable_ui_on_end = false
global_cameffect = true
outdoor = true
point = pri_a25_actor_walk
look = pri_a25_actor_look
cam_effector = scenario_cam\pripyat\pri_a22_radio_camera
on_game_timer = 10 | {-pri_a22_pp_stop} %+pri_a22_pp_stop =stop_postprocess(4310) =stop_postprocess(4311)%
on_signal = cameff_end | sr_idle@cutscene_end_postprocess %=run_postprocess(black:4313:true) +pri_a22_cutscene_actor_find_squad_destroy =teleport_actor(pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_walk:pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_look)%
on_signal2 = cam_effector_stop | sr_idle@cutscene_end_postprocess %=run_postprocess(black:4313:true) +pri_a22_cutscene_actor_find_squad_destroy =teleport_actor(pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_walk:pri_a22_smart_terrain_pri_a22_squad_cutscene_actor_look)%
on_info = {+pri_a22_cam_2_fade -pri_a22_cam_2_fade_in} %=run_postprocess(fade_in:4312) +pri_a22_cam_2_fade_in%
on_info2 = {+pri_a22_find_squad_cam_end} %=stop_sr_cutscene%
on_info3 = {+pri_a22_cut_actor_hit} %=stop_sr_cutscene +pri_a22_find_squad_cam_end +pri_a22_cam_2_fade +pri_a22_cam_2_fade_in +pri_a22_actor_to_base_talked%
[sr_idle@cutscene_end_postprocess]
on_game_timer = 20 | sr_idle@pre_cutscene_end_info_part_2 %=stop_postprocess(4312) =stop_postprocess(4313) =enable_ui%
[sr_idle@pre_cutscene_end_info_part_2]
on_info = sr_idle@autosave %+pri_a22_scene_done +pri_a17_colonel_question_unavailable%
[sr_idle@autosave]
on_info = {-pri_a22_once_autosave} %+pri_a22_once_autosave =scenario_autosave(st_save_pri_a22_found_dead_squad)%
on_info2 = {+pri_a22_once_autosave} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,5 @@
[logic]
active = ph_on_death
[ph_on_death]
on_info = %+pri_a25_wood_board_hit%

View file

@ -0,0 +1,13 @@
[logic]
active = sr_particle
[sr_particle]
name = anomaly2\effects\anomaly_electra_idle_sparks
path = pri_a25_smart_terrain_pri_a25_antenna_blow_up_particle_point
mode = 2
looped = true
on_info = {+pri_a25_antenna_destroyed} sr_idle@update_task_check_cnock
[sr_idle@update_task_check_cnock]
on_game_timer = 50 | %+pri_a25_check_freezer_knock%
on_info = {=actor_in_zone(pri_a25_antenna_1_st_floor)} %+pri_a25_check_freezer_knock%

View file

@ -0,0 +1,63 @@
[logic@pri_a25_base_medic]
suitable = {=check_npc_name(pri_a25_base_medic)} true
prior = 200
active = walker@teleport
[walker@teleport]
corpse_detection_enabled = false
meet = no_meet
path_walk = medic_walk
path_look = medic_look
def_state_standing = wait_na
on_info = walker@refrigerator %=teleport_npc(pri_a25_smart_terrain_medic_walk)%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
[walker@refrigerator]
corpse_detection_enabled = false
meet = no_meet
path_walk = medic_walk
path_look = medic_look
def_state_standing = wait_na
on_info = {+pri_a25_antenna_destroyed} %=play_sound(pri_a25_freezer_knock)%
on_info2 = {+pri_a25_freezer_can_talk} remark@a25_timer %=stop_sound%
on_info3 = {=actor_enemy} %=actor_neutral%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
[remark@a25_timer]
corpse_detection_enabled = false
meet = no_meet
on_info = {=actor_enemy} %=actor_neutral%
target = story | actor
anim = wait_na
on_game_timer = 10 | remark@a25_dialog
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
[remark@a25_dialog]
corpse_detection_enabled = false
meet = meet@pri_25
target = story | actor
anim = wait_na
on_info = {=actor_enemy} %=actor_neutral%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
[meet@pri_25]
meet_dialog = pri_a25_army_medic_freezer
use = self
allow_break = false
trade_enable = false
close_anim = wait_na
close_distance = 0
far_distance = 0
close_snd_hello = nil
close_snd_bye = nil
close_victim = nil
far_anim = nil
far_victim = nil

View file

@ -0,0 +1,18 @@
[logic]
active = ph_idle@wait
[ph_idle@wait]
on_info = {+pri_a19_lab_x8_investigated +pri_a22_scene_done =actor_has_item(pri_a25_explosive_charge_item)} ph_idle@place_explosive_on_the_door
[ph_idle@place_explosive_on_the_door]
tips = pri_a25_blow_up_enter_door
on_use = ph_idle@spawn_explosive_grenade %=remove_item(pri_a25_explosive_charge_item) =spawn_object(pri_a25_explosive_charge:pri_a25_smart_terrain_pri_a25_explosive_spawn_point) =play_sound(pri_a25_blow_up_door_peep)%
on_info = {-pri_a25_once_autosave =actor_in_zone(pri_a25_door_find_restrictor)} %+pri_a25_once_autosave =scenario_autosave(st_save_pri_a25_gonna_place_explosive)%
[ph_idle@spawn_explosive_grenade]
on_game_timer = 50 | ph_idle@explosion %=spawn_object(pri_a25_enter_door_explosive_grenade:pri_a25_smart_terrain_pri_a25_enter_door_explosive_grenade_spawn_point)%
[ph_idle@explosion]
on_info = {=object_exist(pri_a25_enter_door_explosive_grenade)} ph_idle@nil %=stop_sound(pri_a25_blow_up_door_peep) =barrel_explode(pri_a25_enter_door_explosive_grenade) =destroy_object(story:pri_a25_explosive_charge_id) +pri_a25_find_antenna%
[ph_idle@nil]

View file

@ -0,0 +1,32 @@
[logic]
active = walker@start
[walker@start]
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
path_walk = pri_a25_smart_terrain_cutscene_actor_walk
path_look = pri_a25_smart_terrain_cutscene_actor_look
def_state_standing = wait_rac
on_game_timer = 60 | walker@talk_rac_actor
[walker@talk_rac_actor]
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
path_walk = pri_a25_smart_terrain_cutscene_actor_walk
path_look = pri_a25_smart_terrain_cutscene_actor_look
def_state_standing = wait_rac
on_signal = sound_end | %+pri_a25_actor_all_doors_locked_snd_end%
on_info = %=play_sound(pri_a25_actor_all_doors_locked)%
on_info2 = {+pri_a25_destr_cutsc_actor} %=destroy_object%

View file

@ -0,0 +1,41 @@
[logic]
active = sr_idle@kindergarten_door_find
[sr_idle@kindergarten_door_find]
on_info = {+pri_a19_lab_x8_investigated +pri_a22_scene_done} sr_idle@check_door_find_with_or_with_out_explosive
[sr_idle@check_door_find_with_or_with_out_explosive]
on_info = {=actor_in_zone(pri_a25_door_find_restrictor) =actor_has_item(pri_a25_explosive_charge_item)} sr_idle@check_actor_antena_find %+pri_a25_blow_up_door%
on_info2 = {=actor_in_zone(pri_a25_door_find_restrictor) !actor_has_item(pri_a25_explosive_charge_item)} sr_idle@cutscene_timer %=disable_ui =run_postprocess(fade_in:4410)%
[sr_idle@cutscene_timer]
on_game_timer = 20 | sr_cutscene@start %=run_postprocess(black:4411) =create_cutscene_actor_with_weapon(pri_a25_cutscene_actor:pri_a25_smart_terrain_cutscene_actor_walk:0:300)%
[sr_cutscene@start]
enable_ui_on_end = false
global_cameffect = true
outdoor = true
point = pri_a25_actor_walk
look = pri_a25_actor_look
cam_effector = scenario_cam\pripyat\pri_a25_find_door_without_explosive_cameff
on_game_timer = 10 | sr_cutscene@start %=stop_postprocess(4410) =stop_postprocess(4411)%
on_signal = cameff_end | sr_idle@cutscene_end_postprocess %=run_postprocess(black:4413:true) +pri_a25_destr_cutsc_actor =teleport_actor(pri_a25_smart_terrain_cutscene_actor_walk:pri_a25_smart_terrain_cutscene_actor_look)%
on_info = {+pri_a25_find_explosive -pri_a25_fade} %=run_postprocess(fade_in:4412) +pri_a25_fade%
on_info2 = {+pri_a25_cam_stop} %=stop_sr_cutscene%
[sr_idle@cutscene_end_postprocess]
on_game_timer = 10 | sr_idle@actor_has_explosive_check %=stop_postprocess(4413) =stop_postprocess(4412) =enable_ui%
[sr_idle@actor_has_explosive_check]
on_info = {=actor_has_item(pri_a25_explosive_charge_item)} sr_idle@check_actor_antena_find %+pri_a25_blow_up_door%
[sr_idle@check_actor_antena_find]
on_info = {=actor_in_zone(pri_a25_find_antenna_restrictor)} sr_idle@check_antena_destroy %+pri_a25_destroy_antenna%
[sr_idle@check_antena_destroy]
on_info = {+pri_a19_lab_x8_investigated +pri_a22_scene_done +pri_a25_wood_board_hit} sr_idle@make_explosion %=spawn_object(pri_a25_antenna_grenade:pri_a25_smart_terrain_pri_a25_antenna_grenade_spawn_point) +pri_a25_antenna_destroyed%
[sr_idle@make_explosion]
on_info = {=object_exist(pri_a25_antenna_grenade)} sr_idle@nil %=barrel_explode(pri_a25_antenna_grenade) +pri_a25_hit_barrier_objects%
[sr_idle@nil]

View file

@ -0,0 +1,5 @@
[logic]
active = ph_idle
[ph_idle]
on_info = {+pri_a25_wood_board_hit} %=hit_obj(pri_a25_hospital_fense_blocker_1_story_id:link:10:10:pri_a25_smart_terrain_pri_a25_antenna_blow_up_particle_point) =hit_obj(pri_a25_hospital_fense_blocker_2_story_id:link:10:10:pri_a25_smart_terrain_pri_a25_antenna_blow_up_particle_point)%

View file

@ -0,0 +1,69 @@
[logic@pri_a25_poltergeist_1]
suitable = {=target_squad_name(pri_a25_poltergeist_1_squad)} true
monster_job = true
prior = 70
active = mob_walker@1
[mob_walker@1]
path_walk = pri_a25_poltergeist_2_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_2_spawn_restrictor)} mob_walker@1_2
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%
[mob_walker@1_2]
path_walk = pri_a25_poltergeist_1_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_1_spawn_restrictor)} mob_walker@1
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%
;-----------------------------------
[logic@pri_a25_poltergeist_2]
suitable = {=target_squad_name(pri_a25_poltergeist_2_squad)} true
monster_job = true
prior = 70
active = mob_walker@2
on_death = death
[mob_walker@2]
path_walk = pri_a25_poltergeist_1_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_1_spawn_restrictor)} mob_walker@2_2
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%
[mob_walker@2_2]
path_walk = pri_a25_poltergeist_2_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_2_spawn_restrictor)} mob_walker@2
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%
[death]
on_info = %+pri_a25_poltergeist_2_dead%
;-----------------------------------
[logic@pri_a25_poltergeist_3]
suitable = {=target_squad_name(pri_a25_poltergeist_3_squad)} true
monster_job = true
prior = 70
active = mob_walker@3
[mob_walker@3]
path_walk = pri_a25_poltergeist_1_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_1_spawn_restrictor)} mob_walker@3_2
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%
[mob_walker@3_2]
path_walk = pri_a25_poltergeist_2_spawn_point
out_restr = pri_a25_poltergeist_out_restr
combat_ignore_cond = true
on_info = {=npc_in_zone(pri_a25_poltergeist_2_spawn_restrictor)} mob_walker@3
on_info2 = {+pri_a25_hit_barrier_objects} %=destroy_object%

View file

@ -0,0 +1,11 @@
[logic]
active = sr_idle@kindergarten_polters_spawn
[sr_idle@kindergarten_polters_spawn]
on_info = {-pri_a25_1st_polter_spawned =actor_in_zone(pri_a25_poltergeist_1_spawn_restrictor)} %+pri_a25_1st_polter_spawned =create_squad(pri_a25_poltergeist_1_squad:pri_a25_smart_terrain)%
on_info2 = {-pri_a25_2nd_polter_spawned =actor_in_zone(pri_a25_poltergeist_2_spawn_restrictor)} %+pri_a25_2nd_polter_spawned =create_squad(pri_a25_poltergeist_2_squad:pri_a25_smart_terrain)%
on_info3 = {+pri_a25_poltergeist_2_dead} sr_idle@actor_long_time_without_polters
[sr_idle@actor_long_time_without_polters]
on_game_timer = 600 | {-pri_a25_3rd_polter_spawned =actor_in_zone(pri_a25_poltergeist_2_spawn_restrictor)} %+pri_a25_3rd_polter_spawned =create_squad(pri_a25_poltergeist_3_squad:pri_a25_smart_terrain)%
on_info = {-pri_a25_1st_polter_spawned =actor_in_zone(pri_a25_poltergeist_1_spawn_restrictor)} %+pri_a25_1st_polter_spawned =create_squad(pri_a25_poltergeist_1_squad:pri_a25_smart_terrain)%

View file

@ -0,0 +1,15 @@
[logic]
active = sr_psy_antenna@check_antena_destroy
[sr_psy_antenna@check_antena_destroy]
eff_intensity = 55
hit_intensity = 0.6
hit_freq = 100
on_info = {+pri_a25_antenna_destroyed} sr_psy_antenna@nil
postprocess = psi.ppe
no_static = true
[sr_psy_antenna@nil]
eff_intensity = 0
hit_intensity = 0
no_static = true

View file

@ -0,0 +1,23 @@
[logic]
active = ph_door@closed
[ph_door@closed]
locked = true
closed = true
tip_open = tip_door_open
not_for_npc = true
snd_open_start =
snd_close_start =
snd_close_stop =
on_use = {+pri_a25_check_freezer_knock} ph_door@open %+pri_a25_freezer_can_talk%
on_info = {+pri_a25_wood_board_hit -pri_a25_once_refrigerator_door_open} ph_door@open
[ph_door@open]
locked = false
closed = false
show_tips = false
not_for_npc = true
snd_open_start =
snd_close_start =
snd_close_stop =
on_info = {-pri_a25_once_refrigerator_door_open} ph_door@closed %+pri_a25_once_refrigerator_door_open%

View file

@ -0,0 +1,7 @@
[logic]
active = sr_idle
[sr_idle]
on_info = {+pri_a19_lab_x8_investigated +pri_a22_scene_done} sr_idle@nil %=play_sound(pri_a22_base_to_actor_has_rfi_coordinates)%
[sr_idle@nil]

View file

@ -0,0 +1,5 @@
[logic]
active = ph_idle
[ph_idle]
on_info = {+pri_a25_wood_board_hit} %=destroy_object%

View file

@ -0,0 +1,32 @@
[logic]
active = sr_idle@check_surge_end
[sr_idle@check_surge_end]
on_info = {+pri_a28_colonel_to_center_3_sound_end} sr_idle@timer_befor_cutscene
[sr_idle@timer_befor_cutscene]
on_game_timer = 10 | sr_idle@cutscene_actor_spawn %=disable_ui =run_postprocess(fade_in_out)%
[sr_idle@cutscene_actor_spawn]
on_game_timer = 25 | sr_cutscene %=create_cutscene_actor_with_weapon(pri_a28_cutscene_actor_base:pri_a16_pri_b305_kovalskiy_walk)%
[sr_cutscene]
global_cameffect = true
point = pri_a28_actor_walk
look = pri_a28_actor_look
cam_effector = scenario_cam\pripyat\pri_a28_ssu_communication_camera
on_info = {+pri_a28_ssu_to_actor_5_sound_end} %=stop_sr_cutscene%
on_signal = cameff_end | sr_idle@after_1
[sr_idle@after_1]
on_game_timer = 10 | {-pri_a28_destroy_base_cutscene_actor} %+pri_a28_destroy_base_cutscene_actor%
on_info = {+pri_a28_destroy_base_cutscene_actor_done} sr_idle@after_2 %=teleport_actor(pri_a28_cutscene_actor_base_walk:pri_a28_cutscene_actor_base_look)%
[sr_idle@after_2]
on_game_timer = 10 | sr_idle@save %=stop_postprocess(2021) =enable_ui +pri_a28_base_movie_done%
[sr_idle@save]
on_info = {-pri_a28_talked_with_ssu} %+pri_a28_talked_with_ssu =scenario_autosave(st_save_pri_a28_talked_with_ssu)%
on_info2 = {+pri_a28_talked_with_ssu} sr_idle@nil
[sr_idle@nil]

View file

@ -0,0 +1,51 @@
[logic]
active = sr_idle@base_radio_snd_1
[sr_idle@base_radio_snd_1]
on_info = {+pri_a28_center_koval_base_talk} sr_idle@base_radio_snd_2
[sr_idle@base_radio_snd_2]
on_game_timer = 50 | %=play_sound(pri_a28_center_to_colonel_1)%
on_signal = sound_end | sr_idle@base_radio_snd_3 %+pri_a28_center_to_colonel_1_sound_end%
[sr_idle@base_radio_snd_3]
on_info = {+pri_a28_colonel_to_center_1_sound_end} sr_idle@base_radio_snd_4
[sr_idle@base_radio_snd_4]
on_game_timer = 10 | %=play_sound(pri_a28_center_to_colonel_2)%
on_signal = sound_end | sr_idle@base_radio_snd_5 %+pri_a28_center_to_colonel_2_sound_end%
[sr_idle@base_radio_snd_5]
on_info = {+pri_a28_colonel_to_center_2_sound_end} sr_idle@base_radio_snd_6
[sr_idle@base_radio_snd_6]
on_game_timer = 10 | %=play_sound(pri_a28_center_to_colonel_3)%
on_signal = sound_end | sr_idle@base_radio_snd_7 %+pri_a28_center_to_colonel_3_sound_end%
[sr_idle@base_radio_snd_7]
on_info = {+pri_a28_ssu_to_actor_1_sound_begin} %=play_sound(pri_a28_ssu_to_actor_1)%
on_signal = sound_end | sr_idle@base_radio_snd_8 %+pri_a28_ssu_to_actor_1_sound_end%
[sr_idle@base_radio_snd_8]
on_info = {+pri_a28_actor_to_ssu_1_sound_end} sr_idle@base_radio_snd_9
[sr_idle@base_radio_snd_9]
on_info = {-pri_a28_talk_ssu_tutorial} %+pri_a28_talk_ssu_tutorial =run_tutorial(talk_ssu)%
on_game_timer = 13 | %=play_sound(pri_a28_ssu_to_actor_2) =run_postprocess(black:2021:true)%
on_signal = sound_end | sr_idle@base_radio_snd_10 %+pri_a28_ssu_to_actor_2_sound_end%
[sr_idle@base_radio_snd_10]
on_info = {+pri_a28_actor_to_ssu_2_sound_end} sr_idle@base_radio_snd_11
[sr_idle@base_radio_snd_11]
on_game_timer = 30 | %=play_sound(pri_a28_ssu_to_actor_3)%
on_signal = sound_end | sr_idle@base_radio_snd_12 %+pri_a28_ssu_to_actor_3_sound_end%
[sr_idle@base_radio_snd_12]
on_info = {+pri_a28_actor_to_ssu_with_or_without_heli_info_sound_end} sr_idle@base_radio_snd_13
[sr_idle@base_radio_snd_13]
on_game_timer = 10 | %=play_sound(pri_a28_ssu_to_actor_5)%
on_signal = sound_end | sr_idle@nil %+pri_a28_ssu_to_actor_5_sound_end%
[sr_idle@nil]

View file

@ -0,0 +1,47 @@
;Reference animpoint
[animpoint@a28_radio]
cover_name = pri_a16_animp_radio_talk
reach_movement = walk
avail_animations = wait ;ward
out_restr = pri_a16_sr_noweap
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
;--------------------------------------
[logic]
active = animpoint@a28_radio_talking_1
;--------------------------------------
[animpoint@a28_radio_talking_1]:animpoint@a28_radio
on_info = {=animpoint_reached -pri_a28_ssu_to_actor_1_sound_begin} %+pri_a28_ssu_to_actor_1_sound_begin%
on_info2 = {+pri_a28_ssu_to_actor_1_sound_end} animpoint@a28_radio_talking_2
[animpoint@a28_radio_talking_2]:animpoint@a28_radio
on_game_timer = 10 | %=play_sound(pri_a28_actor_to_ssu_1)%
on_signal = sound_end | animpoint@a28_radio_talking_3 %+pri_a28_actor_to_ssu_1_sound_end%
[animpoint@a28_radio_talking_3]:animpoint@a28_radio
on_info = {+pri_a28_ssu_to_actor_2_sound_end} animpoint@a28_radio_talking_4
[animpoint@a28_radio_talking_4]:animpoint@a28_radio
on_game_timer = 10 | %=play_sound(pri_a28_actor_to_ssu_2)%
on_signal = sound_end | animpoint@a28_radio_talking_5 %+pri_a28_actor_to_ssu_2_sound_end%
[animpoint@a28_radio_talking_5]:animpoint@a28_radio
on_info = {+pri_a28_ssu_to_actor_3_sound_end} animpoint@a28_radio_talking_6
[animpoint@a28_radio_talking_6]:animpoint@a28_radio
on_game_timer = 10 | {+zat_b101_both_heli_info} %=play_sound(pri_a28_actor_to_ssu_with_heli_info)%, %=play_sound(pri_a28_actor_to_ssu_without_heli_info)%
on_signal = sound_end | animpoint@a28_radio_talking_7 %+pri_a28_actor_to_ssu_with_or_without_heli_info_sound_end%
[animpoint@a28_radio_talking_7]:animpoint@a28_radio
on_info = {+pri_a28_destroy_base_cutscene_actor} %=destroy_object +pri_a28_destroy_base_cutscene_actor_done%

View file

@ -0,0 +1,116 @@
; Reference animpoints
[animpoint@a28_def]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
avail_animations = animpoint_sit_high_no_rnd
use_camp = false
out_restr = pri_a16_sr_noweap
cover_name = pri_a16_animp_tech
reach_movement = walk
reach_distance = 1
meet = meet@a28
on_info = {+pri_a28_colonel_after_surge_sound_end +pri_b305_fifth_cam_end} animpoint@rac_sound_1
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@a28_radio]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
avail_animations = animpoint_sit_high_no_rnd
use_camp = false
out_restr = pri_a16_sr_noweap
cover_name = pri_a16_animp_tech
reach_movement = walk
reach_distance = 1
meet = no_meet
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet@a28]
abuse = false
use = {=actor_enemy} false, {=is_playing_sound} false, true
close_snd_hello = nil
close_snd_bye = nil
allow_break = false
trade_enable = true
close_distance = 0
close_anim = nil
far_distance = 0
meet_on_talking = false
;--------------------------------------
[logic@pri_a28_kirillov]
active = animpoint@a28_second_theme_1
suitable = {+pri_b305_actor_wondered_done_end -pri_a28_update_task_cover_strelok =check_npc_name(pri_a22_army_signaller)} true
prior = 200
level_spot = mechanic
;--------------------------------------
; Second theme about surge, reply
[animpoint@a28_second_theme_1]:animpoint@a28_def
on_info3 = {+pri_b305_fifth_cam_end +pri_b305_kovalskiy_order_kirilov_done_end -pri_b305_kirilov_order_agree_done} %=play_sound(pri_b305_kirilov_order_agree) +pri_b305_kirilov_order_agree_done%
on_signal = sound_end | {-pri_b305_kirilov_order_agree_done_end} %+pri_b305_kirilov_order_agree_done_end%
on_info2 = {+pri_b305_fifth_cam_end !is_alive(pri_a17_military_lieutenant_podorojniy)} animpoint@a28_third_theme_1, {+pri_b305_fifth_cam_end +pri_a28_army_surge_talk_2_first} animpoint@a28_second_theme_2
[animpoint@a28_second_theme_2]:animpoint@a28_def
on_game_timer = 20 | %=play_sound(pri_a28_army_surge_talk_2_second)%
on_signal = sound_end | animpoint@a28_third_theme_2 %+pri_a28_army_surge_talk_2_done%
meet = no_meet
;--------------------------------------
; Third theme about surge, start
[animpoint@a28_third_theme_1]:animpoint@a28_def
on_info2 = {!is_alive(pri_a17_military_captain_tarasov)} animpoint@a28_third_theme_3, {+pri_a28_army_surge_talk_1_done} animpoint@a28_third_theme_2
[animpoint@a28_third_theme_2]:animpoint@a28_def
on_game_timer = 150 | animpoint@a28_third_theme_3
[animpoint@a28_third_theme_3]:animpoint@a28_def
on_game_timer = 100 | {=is_alive(pri_a17_military_prapor_valentyr)} animpoint@a28_third_theme_3_play, animpoint@a28_third_theme_4
[animpoint@a28_third_theme_3_play]:animpoint@a28_def
on_info = %=play_sound(pri_a28_army_surge_talk_3_first)%
on_signal = sound_end | animpoint@a28_third_theme_4 %+pri_a28_army_surge_talk_3_first%
meet = no_meet
[animpoint@a28_third_theme_4]:animpoint@a28_def
;--------------------------------------
; Establishing radio connection with HQ
[animpoint@rac_sound_1]:animpoint@a28_radio
on_game_timer = 10 | animpoint@rac_sound_2 %=play_sound(pri_a28_signaller_after_surge_1)%
[animpoint@rac_sound_2]:animpoint@a28_radio
on_signal = sound_end | {-pri_a28_signaller_after_surge_1_done} %+pri_a28_signaller_after_surge_1_done%
avail_animations = pri_a28_kirillov_sit_high_radio
on_info = {+pri_a28_kirillov_hq_online} animpoint@rac_sound_3
[animpoint@rac_sound_3]:animpoint@a28_radio
on_game_timer = 0 | {!is_playing_sound} %=play_sound(pri_a28_signaller_after_surge_2)%
avail_animations = pri_a28_kirillov_sit_high_radio
on_signal = sound_end | animpoint@rac_sound_4 %+pri_a28_signaller_after_surge_sound_end%
[animpoint@rac_sound_4]:animpoint@a28_radio
on_info = {+pri_a28_colonel_to_center_3_sound_end} animpoint@a28_wait_near_door
;--------------------------------------
; Gathering group before evacuation
[animpoint@a28_wait_near_door]
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
avail_animations = animpoint_sit_high_no_rnd
use_camp = false
out_restr = pri_a16_sr_noweap
cover_name = pri_a16_animp_tech
reach_movement = walk
reach_distance = 1
meet = meet@a28
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

View file

@ -0,0 +1,160 @@
; Reference animpoints and walkers
[animpoint@a28_def]
cover_name = pri_a16_kovalski_1st_floor
reach_movement = walk_noweap
avail_animations = ward_noweap
out_restr = pri_a16_sr_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@pri_a28
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@a28_def_short]
cover_name = pri_a16_kovalski_1st_floor
reach_movement = walk_noweap
avail_animations = ward_noweap_short
out_restr = pri_a16_sr_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet@pri_a28
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[animpoint@a28_radio]
cover_name = pri_a16_animp_radio_talk
reach_movement = walk_noweap
avail_animations = ward_noweap_short
out_restr = pri_a16_sr_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = no_meet
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[walker@a28_def_base]
invulnerable = true
def_state_moving = walk_noweap
def_state_standing = wait_na
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
out_restr = pri_a16_sr_noweap
meet = no_meet
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet@pri_a28]
meet_dialog = {+pri_a28_colonel_instructions_sound_end} pri_a17_military_colonel_kovalski_evacuation_start
use = true
close_snd_hello = nil
close_snd_bye = nil
abuse = false
allow_break = false
trade_enable = false
close_distance = 0
close_anim = nil
far_distance = 0
meet_on_talking = false
;--------------------------------------
[logic@pri_a28_kovalskiy]
active = animpoint@a28_waiting_for_surge_end
suitable = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok =check_npc_name(pri_a17_military_colonel_kovalski)} true
prior = 200
post_combat_time = 0, 0
;--------------------------------------
; Talk with base, order to get base on line
[animpoint@a28_waiting_for_surge_end]:animpoint@a28_def
on_game_timer = 20 | %=play_sound(pri_b305_kovalskiy_order_kirilov)%
on_signal = sound_end | {-pri_b305_kovalskiy_order_kirilov_done_end} %+pri_b305_kovalskiy_order_kirilov_done_end%
on_info = {+pri_a28_surge_end} animpoint@a28_order_to_kirillov_1
[animpoint@a28_order_to_kirillov_1]:animpoint@a28_def
on_game_timer = 30 | %=play_sound(pri_a28_colonel_after_surge)%
on_signal = sound_end | animpoint@a28_order_to_kirillov_2 %+pri_a28_colonel_after_surge_sound_end%
meet = no_meet
[animpoint@a28_order_to_kirillov_2]:animpoint@a28_def
on_info = {+pri_a28_signaller_after_surge_1_done} animpoint@a28_radio_talking_1 ;prev. cond. was +pri_a28_signaller_after_surge_sound_end
;--------------------------------------
; Talk with base, going to radio, talking
[animpoint@a28_radio_talking_1]:animpoint@a28_radio
on_info = {=animpoint_reached +pri_a28_signaller_after_surge_sound_end -pri_a28_center_koval_base_talk} %+pri_a28_center_koval_base_talk%
on_info2 = {+pri_a28_center_to_colonel_1_sound_end} animpoint@a28_radio_talking_2
[animpoint@a28_radio_talking_2]:animpoint@a28_radio
on_game_timer = 10 | %=play_sound(pri_a28_colonel_to_center_1)%
on_signal = sound_end | animpoint@a28_radio_talking_3 %+pri_a28_colonel_to_center_1_sound_end%
[animpoint@a28_radio_talking_3]:animpoint@a28_radio
on_info = {+pri_a28_center_to_colonel_2_sound_end} animpoint@a28_radio_talking_4
[animpoint@a28_radio_talking_4]:animpoint@a28_radio
on_game_timer = 10 | %=play_sound(pri_a28_colonel_to_center_2)%
on_signal = sound_end | animpoint@a28_radio_talking_5 %+pri_a28_colonel_to_center_2_sound_end%
[animpoint@a28_radio_talking_5]:animpoint@a28_radio
on_info = {+pri_a28_center_to_colonel_3_sound_end} animpoint@a28_radio_talking_6
[animpoint@a28_radio_talking_6]:animpoint@a28_radio
on_game_timer = 10 | %=play_sound(pri_a28_colonel_to_center_3)%
on_signal = sound_end | animpoint@a28_base_movie_wait %+pri_a28_colonel_to_center_3_sound_end%
;--------------------------------------
;Listening to actor's talk with HQ
[animpoint@a28_base_movie_wait]:animpoint@a28_def_short
on_info = {+pri_a28_base_movie_done} animpoint@a28_waiting_for_actor_command_1
meet = no_meet
;--------------------------------------
;Giving orders to squad after cutscene
[animpoint@a28_waiting_for_actor_command_1]:animpoint@a28_def_short
on_game_timer = 10 | %=play_sound(pri_a28_colonel_instructions)%
on_signal = sound_end | animpoint@a28_waiting_for_actor_command_2 %+pri_a28_colonel_instructions_sound_end%
meet = no_meet
[animpoint@a28_waiting_for_actor_command_2]:animpoint@a28_def_short
on_game_timer = 10 | %=play_sound(pri_a28_colonel_actor_talk)%
on_signal = sound_end | animpoint@a28_waiting_for_actor_command_3 %+pri_a28_militarys_go_to_the_door%
meet = no_meet
on_info = {-pri_a28_supply_done -pri_a25_actor_needs_medikit_supply +pri_a22_army_signaller_supply_outfit_done -pri_a22_actor_needs_ammo_supply -pri_a22_actor_needs_grenade_supply} %+pri_a28_supply_done%
[animpoint@a28_waiting_for_actor_command_3]:animpoint@a28_def_short
on_game_timer = 6000 | walker@a28_no_time
on_info = {+pri_a28_update_task_cover_strelok_dialog} walker@a28_pos_for_orders
[walker@a28_no_time]:walker@a28_def_base
path_walk = a28_colonel_evac_start_walk
path_look = a28_colonel_evac_start_look
on_info = %=play_sound(pri_a28_colonel_cannot_wait)%
on_signal = sound_end | walker@a28_pos_for_orders %+pri_a28_update_task_cover_strelok_dialog%
on_info2 = {=npc_in_zone(pri_a20_sokolov_with_garick_new_way_to_pripyat_talk) -pri_a28_colonel_reached_pos_for_orders} walker@a28_orders_to_group %+pri_a28_colonel_reached_pos_for_orders%
;colonel_evac_start
;--------------------------------------
; Giving orders to group about moving out
[walker@a28_pos_for_orders]:walker@a28_def_base
path_walk = a28_colonel_evac_start_walk
path_look = a28_colonel_evac_start_look
on_info = {+pri_a28_colonel_reached_pos_for_orders} walker@a28_orders_to_group
on_info2 = {=npc_in_zone(pri_a20_sokolov_with_garick_new_way_to_pripyat_talk) -pri_a28_colonel_reached_pos_for_orders} walker@a28_orders_to_group %+pri_a28_colonel_reached_pos_for_orders%
[walker@a28_orders_to_group]:walker@a28_def_base
path_walk = a28_colonel_evac_start_walk
path_look = a28_colonel_evac_start_look
on_info = %=play_sound(pri_a28_colonel_evacuation)%
on_signal = sound_end | %+pri_a28_update_task_cover_strelok%

View file

@ -0,0 +1,42 @@
; Reference animpoint
[animpoint@a28_def]
cover_name = pri_a16_animp_medic
reach_movement = walk_noweap
out_restr = pri_a16_sr_noweap
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
meet = meet
use_camp = false
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
[meet]
abuse = false
use = true
close_snd_hello = nil
close_snd_bye = nil
allow_break = false
trade_enable = false
close_distance = 0
far_distance = 0
close_anim = nil
meet_on_talking = false
[logic@pri_a28_medic]
suitable = {+pri_b305_fifth_cam_end -pri_a28_update_task_cover_strelok =check_npc_name(pri_a25_base_medic)} true
prior = 200
post_combat_time = 0, 0
active = animpoint@a28
level_spot = medic
;--------------------------------------
; Waiting for evacuation start
[animpoint@a28]:animpoint@a28_def
on_info = {+pri_a28_colonel_to_center_3_sound_end} animpoint@a28_wait_near_door
;--------------------------------------
; Gathering group before evacuation
[animpoint@a28_wait_near_door]:animpoint@a28_def
avail_animations = animpoint_sit_normal_no_rnd

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