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

209 lines
7.5 KiB
TeX
Raw Permalink Blame History

[walker@generic]
gather_items_enabled = false
help_wounded_enabled = true
corpse_detection_enabled = false
wounded = wounded
danger = danger
;----------------------------------------------------------------------------------------------------------
[logic@jup_b1_stalker_4]
suitable = {=check_npc_name(jup_b1_stalker_4) !actor_has_item(jup_b1_half_artifact) -jup_b1_task_done} true
prior = 70
active = walker@first
on_death = death
on_combat = combat
post_combat_time = 0, 0
[walker@first]:walker@generic
path_walk = st_4_first_stand
path_look = st_4_first_look
on_info = {=actor_has_item(jup_b1_half_artifact)} camper@zombie, {+jup_b1_start} walker@go_to_tunnel
on_info2 = {+jup_b1_st_go_home} patrol@go_to_base
[walker@go_to_tunnel]:walker@generic
def_state_moving1 = assault
path_walk = st_4_go_1
on_signal = at_pos | smartcover@first
meet = no_meet
on_info = {+jup_b1_zomb_is_dead +jup_b1_zomb_3_is_dead +jup_b1_zomb_2_is_dead} camper@camp
[smartcover@first]:walker@generic
cover_name = jup_b1_st_4_hide_1
cover_state = default_behaviour
on_timer = 5000 | {=npc_in_zone(jup_b1_st_4_hide) =actor_in_zone(jup_b1_st_go_in_zone)} walker@chek
loophole_name = stand_front_left
meet = no_meet
on_info = {+jup_b1_zomb_is_dead +jup_b1_zomb_3_is_dead +jup_b1_zomb_2_is_dead} camper@camp
[walker@chek]:walker@generic
def_state_moving1 = sneak_run
path_walk = st_4_chek
on_signal = at_pos | remark@chek
meet = no_meet
combat_ignore_cond = true
on_info = {+jup_b1_zomb_is_dead +jup_b1_zomb_3_is_dead +jup_b1_zomb_2_is_dead} camper@camp
[remark@chek]:walker@generic
anim = bloodsucker_search
target = path | jup_b1_zombie_go, 1
on_timer = 6000 | camper@camp %=play_sound(jup_b1_stalkers_lair_check) +jup_b1_st_goin_in%
meet = no_meet
combat_ignore_cond = true
on_info = {+jup_b1_zomb_is_dead +jup_b1_zomb_3_is_dead +jup_b1_zomb_2_is_dead} camper@camp
[camper@camp]:walker@generic
def_state_moving = sneak_run
path_walk = st_4_go_2
path_look = st_4_look_2
def_state_campering = threat
def_state_campering_fire = threat_fire
combat_ignore_cond = {=check_enemy_name(jup_b1_zombie_1) -jup_b1_zomb_be_fucked} true
on_info = {+jup_b1_kill_tuskano} remark@shoot_tushkano
meet = no_meet
[remark@shoot_tushkano]:walker@generic
anim = threat_fire
target = story | jup_b1_tushkano_target
on_game_timer = 30 | walker@camp2
invulnerable = true
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[walker@camp2]:walker@generic
path_walk = st_4_go_2
path_look = st_4_look_2
meet = no_meet
;----------------- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
[remark@psy_back]:walker@generic
anim = psy_pain
target = path | jup_b1_st_4_zombie_look, 0
on_timer = 8000 | remark@thanks
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[remark@thanks]:walker@generic
anim = hide
target = story | jup_b1_controller
meet = meet@get_on_air
on_info = {+jup_b1_go_on_air} walker@on_air
on_info2 = {=dist_to_actor_ge(75)} patrol@go_to_base %+jup_b1_go_from_task%, {+jup_b1_go_from_task} patrol@go_to_base
in_restr = jup_b1_anomal_place
on_timer = 17000 | {!talking} walker@on_air
on_timer2 = 9000 | {!is_playing_sound -jup_b1_sd_8} %=play_sound(jup_b1_stalkers_aftershock_1) +jup_b1_sd_8%
[meet@get_on_air]
close_snd_hello = nil
close_snd_bye = nil
snd_on_use = nil
close_distance = 10
close_anim = guard
close_victim = actor
abuse = false
meet_dialog = jup_b1_st_go_to_exit
trade_enable = false
allow_break = false
[walker@on_air]:walker@generic
def_state_moving1 = assault
path_walk = st_4_final_stay
path_look = st_4_final_look
on_info = {=dist_to_actor_ge(75)} patrol@go_to_base %+jup_b1_go_from_task%, {+jup_b1_go_from_task} patrol@go_to_base
meet = no_meet
on_signal = at_pos | walker@on_air_talk
[walker@on_air_talk]:walker@generic
path_walk = st_4_final_stay
path_look = st_4_final_look
on_info = {=dist_to_actor_ge(75)} patrol@go_to_base %+jup_b1_go_from_task%, {+jup_b1_go_from_task} patrol@go_to_base
meet = meet@go_home
[meet@go_home]
close_distance = 10
close_anim = guard
close_victim = actor
abuse = false
trade_enable = false
allow_break = false
[patrol@go_to_base]:walker@generic
path_walk = patrol_to_the_home
formation = back
on_signal = at_pos | %-jup_b1_st_mission%
meet = no_meet
on_info = {=health_le(0.5) !actor_enemy} %=restore_health%
;---------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
[logic@jup_b1_zomb_stalker_4]
suitable = {=check_npc_name(jup_b1_stalker_4) =actor_has_item(jup_b1_half_artifact)} true
prior = 70
active = camper@zombie
on_death = death
on_combat = combat
post_combat_time = 0, 0
[camper@zombie]:walker@generic
path_walk = st_4_zombie_stay
path_look = st_4_zombie_look
on_game_timer = 10 | remark@psy_wounded %+jup_b1_spawn_controller%
radius = 0
no_retreat = true
on_info = {+jup_b1_go_from_task} patrol@go_to_base, {=dist_to_actor_ge(140)} %=kill_npc%
meet = no_meet
show_spot = false
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
[remark@psy_wounded]:walker@generic
anim = psy_pain
target = path | jup_b1_st_4_zombie_look, 0
on_info = {=actor_in_zone(jup_b1_zombie_start_zone)} remark@turnin_zombie
on_info2 = {=dist_to_actor_ge(140)} %=kill_npc%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
meet = no_meet
show_spot = false
[remark@turnin_zombie]:walker@generic
anim = psy_pain
target = path | jup_b1_st_4_zombie_look, 0
on_info = {+jup_b1_controller_is_dead} remark@psy_back %=set_squad_goodwill(jup_b1_stalker_squad:friend)%
on_info2 = {=dist_to_actor_ge(140)} %=kill_npc%
on_timer = 21000 | walker@zombied %=set_squad_goodwill(jup_b1_stalker_squad:enemy)%
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
meet = no_meet
[walker@zombied]:walker@generic
path_walk = st_4_zombie_walk
on_info = {+jup_b1_controller_is_dead} remark@psy_back %=set_squad_goodwill(jup_b1_stalker_squad:friend)%
on_info2 = {=health_le(0.2)} %=restore_health%
on_info3 = {=dist_to_actor_ge(140)} %=kill_npc%
meet = no_meet
in_restr = jup_b1_anomal_place
combat_ignore_cond = {=check_enemy_name(jup_b1_controller)} true
wounded = wounded@zombied
;-------------------------------------------------------------
[danger]
ignore_distance = 0
ignore_distance_grenade = 0
ignore_distance_corpse = 0
ignore_distance_hit = 0
ignore_distance_sound = 0
[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} %+jup_b1_actor_atk_squad%
[death]
on_info = {=killed_by_actor -jup_b1_give_task =squad_exist(jup_b1_stalker_squad)} %+jup_b1_actor_atk_squad +jup_1_stalker_squad_killed_before_mission +jup_b1_stalker_4_is_dead =set_squad_enemy_to_actor(jup_b1_stalker_squad) =stop_sound%, {-jup_b1_give_task =squad_exist(jup_b1_stalker_squad)} %+jup_1_stalker_squad_killed_before_mission +jup_b1_stalker_4_is_dead =stop_sound%, {-jup_b1_give_task +jup_b1_stalker_1_is_dead +jup_b1_stalker_2_is_dead +jup_b1_stalker_3_is_dead} %+jup_1_stalker_squad_killed_before_mission +jup_b1_squad_is_dead +jup_b1_stalker_4_is_dead =stop_sound%, {+jup_b1_give_task +jup_b1_stalker_1_is_dead +jup_b1_stalker_2_is_dead +jup_b1_stalker_3_is_dead} %+jup_b1_squad_is_dead +jup_b1_stalker_4_is_dead =stop_sound%, {=killed_by_actor =squad_exist(jup_b1_stalker_squad)} %+jup_b1_stalker_4_is_dead =set_squad_enemy_to_actor(jup_b1_stalker_squad) =stop_sound%, %+jup_b1_stalker_4_is_dead =stop_sound%