e4s-sdk/gamedata/configs/scripts/pripyat/pri_a28_kovalskiy.ltx
2026-06-17 23:06:51 +03:00

160 lines
6.5 KiB
TeX

; 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%