add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
5
gamedata/configs/scripts/pripyat/pri_a15_door.ltx
Normal file
5
gamedata/configs/scripts/pripyat/pri_a15_door.ltx
Normal 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
|
||||
666
gamedata/configs/scripts/pripyat/pri_a15_logic.ltx
Normal file
666
gamedata/configs/scripts/pripyat/pri_a15_logic.ltx
Normal 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
|
||||
72
gamedata/configs/scripts/pripyat/pri_a15_sr_cutscene.ltx
Normal file
72
gamedata/configs/scripts/pripyat/pri_a15_sr_cutscene.ltx
Normal 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]
|
||||
44
gamedata/configs/scripts/pripyat/pri_a15_sr_exit.ltx
Normal file
44
gamedata/configs/scripts/pripyat/pri_a15_sr_exit.ltx
Normal 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]
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
30
gamedata/configs/scripts/pripyat/pri_a16_kirillov.ltx
Normal file
30
gamedata/configs/scripts/pripyat/pri_a16_kirillov.ltx
Normal 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
|
||||
159
gamedata/configs/scripts/pripyat/pri_a16_kovalski_start.ltx
Normal file
159
gamedata/configs/scripts/pripyat/pri_a16_kovalski_start.ltx
Normal 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
|
||||
121
gamedata/configs/scripts/pripyat/pri_a16_logic.ltx
Normal file
121
gamedata/configs/scripts/pripyat/pri_a16_logic.ltx
Normal 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
|
||||
247
gamedata/configs/scripts/pripyat/pri_a16_logic_stalker.ltx
Normal file
247
gamedata/configs/scripts/pripyat/pri_a16_logic_stalker.ltx
Normal 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
|
||||
31
gamedata/configs/scripts/pripyat/pri_a16_medic.ltx
Normal file
31
gamedata/configs/scripts/pripyat/pri_a16_medic.ltx
Normal 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
|
||||
68
gamedata/configs/scripts/pripyat/pri_a16_ph_door.ltx
Normal file
68
gamedata/configs/scripts/pripyat/pri_a16_ph_door.ltx
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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%
|
||||
25
gamedata/configs/scripts/pripyat/pri_a16_ph_rupor.ltx
Normal file
25
gamedata/configs/scripts/pripyat/pri_a16_ph_rupor.ltx
Normal 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]
|
||||
77
gamedata/configs/scripts/pripyat/pri_a16_recon_squad.ltx
Normal file
77
gamedata/configs/scripts/pripyat/pri_a16_recon_squad.ltx
Normal 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%
|
||||
69
gamedata/configs/scripts/pripyat/pri_a16_sokolov.ltx
Normal file
69
gamedata/configs/scripts/pripyat/pri_a16_sokolov.ltx
Normal 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
|
||||
5
gamedata/configs/scripts/pripyat/pri_a16_sr_light.ltx
Normal file
5
gamedata/configs/scripts/pripyat/pri_a16_sr_light.ltx
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[logic]
|
||||
active = sr_light
|
||||
|
||||
[sr_light]
|
||||
light_on = false
|
||||
21
gamedata/configs/scripts/pripyat/pri_a16_sr_noweap.ltx
Normal file
21
gamedata/configs/scripts/pripyat/pri_a16_sr_noweap.ltx
Normal 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
|
||||
13
gamedata/configs/scripts/pripyat/pri_a16_sr_sleep.ltx
Normal file
13
gamedata/configs/scripts/pripyat/pri_a16_sr_sleep.ltx
Normal 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
|
||||
72
gamedata/configs/scripts/pripyat/pri_a16_tarasov.ltx
Normal file
72
gamedata/configs/scripts/pripyat/pri_a16_tarasov.ltx
Normal 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
|
||||
31
gamedata/configs/scripts/pripyat/pri_a16_vano.ltx
Normal file
31
gamedata/configs/scripts/pripyat/pri_a16_vano.ltx
Normal 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
|
||||
31
gamedata/configs/scripts/pripyat/pri_a16_wanderer.ltx
Normal file
31
gamedata/configs/scripts/pripyat/pri_a16_wanderer.ltx
Normal 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
|
||||
19
gamedata/configs/scripts/pripyat/pri_a16_wounded.ltx
Normal file
19
gamedata/configs/scripts/pripyat/pri_a16_wounded.ltx
Normal 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
|
||||
|
|
@ -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]
|
||||
|
|
@ -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]
|
||||
|
|
@ -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%
|
||||
|
|
@ -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%
|
||||
|
|
@ -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%
|
||||
|
|
@ -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%
|
||||
|
|
@ -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]
|
||||
649
gamedata/configs/scripts/pripyat/pri_a17_monolith_logic.ltx
Normal file
649
gamedata/configs/scripts/pripyat/pri_a17_monolith_logic.ltx
Normal 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
|
||||
34
gamedata/configs/scripts/pripyat/pri_a17_monolith_spawn.ltx
Normal file
34
gamedata/configs/scripts/pripyat/pri_a17_monolith_spawn.ltx
Normal 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]
|
||||
10
gamedata/configs/scripts/pripyat/pri_a17_sim_chimera.ltx
Normal file
10
gamedata/configs/scripts/pripyat/pri_a17_sim_chimera.ltx
Normal 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
|
||||
16
gamedata/configs/scripts/pripyat/pri_a17_task.ltx
Normal file
16
gamedata/configs/scripts/pripyat/pri_a17_task.ltx
Normal 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]
|
||||
19
gamedata/configs/scripts/pripyat/pri_a17_teleport.ltx
Normal file
19
gamedata/configs/scripts/pripyat/pri_a17_teleport.ltx
Normal 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]
|
||||
32
gamedata/configs/scripts/pripyat/pri_a18_cam_restrictor.ltx
Normal file
32
gamedata/configs/scripts/pripyat/pri_a18_cam_restrictor.ltx
Normal 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]
|
||||
21
gamedata/configs/scripts/pripyat/pri_a18_cutscene_actor.ltx
Normal file
21
gamedata/configs/scripts/pripyat/pri_a18_cutscene_actor.ltx
Normal 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%
|
||||
295
gamedata/configs/scripts/pripyat/pri_a18_merkulov.ltx
Normal file
295
gamedata/configs/scripts/pripyat/pri_a18_merkulov.ltx
Normal 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%
|
||||
19
gamedata/configs/scripts/pripyat/pri_a18_ph_door_idol.ltx
Normal file
19
gamedata/configs/scripts/pripyat/pri_a18_ph_door_idol.ltx
Normal 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%
|
||||
|
|
@ -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%
|
||||
272
gamedata/configs/scripts/pripyat/pri_a18_skelja.ltx
Normal file
272
gamedata/configs/scripts/pripyat/pri_a18_skelja.ltx
Normal 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%
|
||||
284
gamedata/configs/scripts/pripyat/pri_a18_sokolov.ltx
Normal file
284
gamedata/configs/scripts/pripyat/pri_a18_sokolov.ltx
Normal 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%
|
||||
47
gamedata/configs/scripts/pripyat/pri_a18_start_task.ltx
Normal file
47
gamedata/configs/scripts/pripyat/pri_a18_start_task.ltx
Normal 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]
|
||||
402
gamedata/configs/scripts/pripyat/pri_a18_terrain_ex_w.ltx
Normal file
402
gamedata/configs/scripts/pripyat/pri_a18_terrain_ex_w.ltx
Normal 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
|
||||
26
gamedata/configs/scripts/pripyat/pri_a18_useidol.ltx
Normal file
26
gamedata/configs/scripts/pripyat/pri_a18_useidol.ltx
Normal 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]
|
||||
323
gamedata/configs/scripts/pripyat/pri_a18_vano.ltx
Normal file
323
gamedata/configs/scripts/pripyat/pri_a18_vano.ltx
Normal 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%
|
||||
4
gamedata/configs/scripts/pripyat/pri_a20.ltx
Normal file
4
gamedata/configs/scripts/pripyat/pri_a20.ltx
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[smart_terrain]
|
||||
squad_id = 13
|
||||
|
||||
[exclusive]
|
||||
|
|
@ -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%
|
||||
|
|
@ -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]
|
||||
|
|
@ -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%
|
||||
18
gamedata/configs/scripts/pripyat/pri_a20_rac_restrictor.ltx
Normal file
18
gamedata/configs/scripts/pripyat/pri_a20_rac_restrictor.ltx
Normal 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]
|
||||
27
gamedata/configs/scripts/pripyat/pri_a20_recon_squad.ltx
Normal file
27
gamedata/configs/scripts/pripyat/pri_a20_recon_squad.ltx
Normal 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
|
||||
|
|
@ -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]
|
||||
|
|
@ -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]
|
||||
|
||||
|
|
@ -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]
|
||||
57
gamedata/configs/scripts/pripyat/pri_a21_base_restrictor.ltx
Normal file
57
gamedata/configs/scripts/pripyat/pri_a21_base_restrictor.ltx
Normal 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]
|
||||
36
gamedata/configs/scripts/pripyat/pri_a21_chasovoi.ltx
Normal file
36
gamedata/configs/scripts/pripyat/pri_a21_chasovoi.ltx
Normal 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%
|
||||
36
gamedata/configs/scripts/pripyat/pri_a21_cutscene_actor.ltx
Normal file
36
gamedata/configs/scripts/pripyat/pri_a21_cutscene_actor.ltx
Normal 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%
|
||||
|
|
@ -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]
|
||||
|
||||
|
||||
16
gamedata/configs/scripts/pripyat/pri_a21_kontroler.ltx
Normal file
16
gamedata/configs/scripts/pripyat/pri_a21_kontroler.ltx
Normal 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%
|
||||
|
|
@ -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]
|
||||
|
|
@ -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%
|
||||
|
|
@ -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%
|
||||
52
gamedata/configs/scripts/pripyat/pri_a22_give_task_kam.ltx
Normal file
52
gamedata/configs/scripts/pripyat/pri_a22_give_task_kam.ltx
Normal 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]
|
||||
63
gamedata/configs/scripts/pripyat/pri_a22_military.ltx
Normal file
63
gamedata/configs/scripts/pripyat/pri_a22_military.ltx
Normal 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%
|
||||
|
|
@ -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
|
||||
29
gamedata/configs/scripts/pripyat/pri_a22_military_skelja.ltx
Normal file
29
gamedata/configs/scripts/pripyat/pri_a22_military_skelja.ltx
Normal 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
|
||||
|
|
@ -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
|
||||
24
gamedata/configs/scripts/pripyat/pri_a22_sound_control.ltx
Normal file
24
gamedata/configs/scripts/pripyat/pri_a22_sound_control.ltx
Normal 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]
|
||||
41
gamedata/configs/scripts/pripyat/pri_a22_squad_cam.ltx
Normal file
41
gamedata/configs/scripts/pripyat/pri_a22_squad_cam.ltx
Normal 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]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[logic]
|
||||
active = ph_on_death
|
||||
|
||||
[ph_on_death]
|
||||
on_info = %+pri_a25_wood_board_hit%
|
||||
|
|
@ -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%
|
||||
63
gamedata/configs/scripts/pripyat/pri_a25_base_medic.ltx
Normal file
63
gamedata/configs/scripts/pripyat/pri_a25_base_medic.ltx
Normal 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
|
||||
|
|
@ -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]
|
||||
32
gamedata/configs/scripts/pripyat/pri_a25_cutscene_actor.ltx
Normal file
32
gamedata/configs/scripts/pripyat/pri_a25_cutscene_actor.ltx
Normal 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%
|
||||
|
|
@ -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]
|
||||
|
|
@ -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)%
|
||||
69
gamedata/configs/scripts/pripyat/pri_a25_poltergeist.ltx
Normal file
69
gamedata/configs/scripts/pripyat/pri_a25_poltergeist.ltx
Normal 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%
|
||||
|
||||
|
|
@ -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)%
|
||||
|
|
@ -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
|
||||
23
gamedata/configs/scripts/pripyat/pri_a25_refrigerator.ltx
Normal file
23
gamedata/configs/scripts/pripyat/pri_a25_refrigerator.ltx
Normal 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%
|
||||
|
|
@ -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]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[logic]
|
||||
active = ph_idle
|
||||
|
||||
[ph_idle]
|
||||
on_info = {+pri_a25_wood_board_hit} %=destroy_object%
|
||||
32
gamedata/configs/scripts/pripyat/pri_a28_base_movie.ltx
Normal file
32
gamedata/configs/scripts/pripyat/pri_a28_base_movie.ltx
Normal 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]
|
||||
51
gamedata/configs/scripts/pripyat/pri_a28_center_radio.ltx
Normal file
51
gamedata/configs/scripts/pripyat/pri_a28_center_radio.ltx
Normal 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]
|
||||
|
|
@ -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%
|
||||
116
gamedata/configs/scripts/pripyat/pri_a28_kirillov.ltx
Normal file
116
gamedata/configs/scripts/pripyat/pri_a28_kirillov.ltx
Normal 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
|
||||
160
gamedata/configs/scripts/pripyat/pri_a28_kovalskiy.ltx
Normal file
160
gamedata/configs/scripts/pripyat/pri_a28_kovalskiy.ltx
Normal 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%
|
||||
42
gamedata/configs/scripts/pripyat/pri_a28_medic.ltx
Normal file
42
gamedata/configs/scripts/pripyat/pri_a28_medic.ltx
Normal 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
Loading…
Add table
Add a link
Reference in a new issue