diff --git a/Optional Features/#2. (Choose From This Folder Last)/Sleeping Bag + No Intro Movies/gamedata/scripts/bind_stalker.script b/Optional Features/#2. (Choose From This Folder Last)/Sleeping Bag + No Intro Movies/gamedata/scripts/bind_stalker.script index 60d2fa3..e30bbad 100644 --- a/Optional Features/#2. (Choose From This Folder Last)/Sleeping Bag + No Intro Movies/gamedata/scripts/bind_stalker.script +++ b/Optional Features/#2. (Choose From This Folder Last)/Sleeping Bag + No Intro Movies/gamedata/scripts/bind_stalker.script @@ -12,6 +12,7 @@ function defer_net_spawn(binder) deferred_spawns[#deferred_spawns + 1] = binder end +level_changed = false quitting_game = false delayed_alife_release_objects = {} @@ -407,6 +408,7 @@ function actor_binder:update(delta) local level_name = level.name() if level_name ~= last_level_name then last_level_name = level_name + level_changed = true time = xr_surge_hide.surge_can_be_started(level_name) if time then xr_surge_hide.activate_surge(time) diff --git a/gamedata/configs/scripts/escape/esc_pda_dialog_1.ltx b/gamedata/configs/scripts/escape/esc_pda_dialog_1.ltx new file mode 100644 index 0000000..f0f079f --- /dev/null +++ b/gamedata/configs/scripts/escape/esc_pda_dialog_1.ltx @@ -0,0 +1,15 @@ +[logic] +active = sr_idle@1 + +[sr_idle@1] +on_info = {=actor_in_zone(esc_stalkers_dialog_zone_1)} %=play_sound(esc_stalker_assemble_1_1:stalker:esc_leader_stalkerbase_name)% sr_idle@2s + +[sr_idle@2s] +on_info = {=entering_level} sr_idle@3 +on_signal = sound_end | sr_idle@2 + +[sr_idle@2] +on_info = {=entering_level} sr_idle@3 +on_game_timer = 10 | %=play_sound(esc_stalker_assemble_1_2:stalker)% sr_idle@3 + +[sr_idle@3] diff --git a/gamedata/configs/scripts/escape/esc_pda_dialog_2.ltx b/gamedata/configs/scripts/escape/esc_pda_dialog_2.ltx index 14a8cf0..5a3742d 100644 --- a/gamedata/configs/scripts/escape/esc_pda_dialog_2.ltx +++ b/gamedata/configs/scripts/escape/esc_pda_dialog_2.ltx @@ -2,25 +2,30 @@ active = sr_idle@3 [sr_idle@3] -on_info = {=actor_in_zone(esc_stalkers_dialog_zone_2)} %=play_sound(esc_stalker_assemble_2_1:stalker:esc_leader_stalkerbase_name) =disable_level_changer(443:tips_wait_conversation_finish) =disable_level_changer(445:tips_wait_conversation_finish)% sr_idle@4s +on_info = {=actor_in_zone(esc_stalkers_dialog_zone_2)} %=play_sound(esc_stalker_assemble_2_1:stalker:esc_leader_stalkerbase_name)% sr_idle@4s [sr_idle@4s] +on_info = {=entering_level} sr_idle@7 on_signal = sound_end | sr_idle@4 [sr_idle@4] +on_info = {=entering_level} sr_idle@7 on_game_timer = 10 | %=play_sound(esc_stalker_assemble_2_2:stalker)% sr_idle@5s [sr_idle@5s] +on_info = {=entering_level} sr_idle@7 on_signal = sound_end | sr_idle@5 [sr_idle@5] +on_info = {=entering_level} sr_idle@7 on_game_timer = 10 | %=play_sound(esc_stalker_assemble_2_3:stalker:esc_leader_stalkerbase_name)% sr_idle@6s [sr_idle@6s] +on_info = {=entering_level} sr_idle@7 on_signal = sound_end | sr_idle@6 [sr_idle@6] +on_info = {=entering_level} sr_idle@7 on_game_timer = 10 | %=play_sound(esc_stalker_assemble_2_4:stalker)% sr_idle@7 [sr_idle@7] -on_signal = sound_end | nil %=enable_level_changer(443) =enable_level_changer(445)% \ No newline at end of file diff --git a/gamedata/configs/scripts/escape/esc_pda_dialog_3.ltx b/gamedata/configs/scripts/escape/esc_pda_dialog_3.ltx new file mode 100644 index 0000000..7aae702 --- /dev/null +++ b/gamedata/configs/scripts/escape/esc_pda_dialog_3.ltx @@ -0,0 +1,31 @@ +[logic] +active = sr_idle@7 + +[sr_idle@7] +on_info = {=actor_in_zone(esc_stalkers_dialog_zone_3)} %=play_sound(esc_stalker_assemble_3_1:stalker)% sr_idle@8s + +[sr_idle@8s] +on_info = {=entering_level} sr_idle@11 +on_signal = sound_end | sr_idle@8 + +[sr_idle@8] +on_info = {=entering_level} sr_idle@11 +on_game_timer = 10 | %=play_sound(esc_stalker_assemble_3_2:stalker:esc_leader_stalkerbase_name)% sr_idle@9s + +[sr_idle@9s] +on_info = {=entering_level} sr_idle@11 +on_signal = sound_end | sr_idle@9 + +[sr_idle@9] +on_info = {=entering_level} sr_idle@11 +on_game_timer = 10 | %=play_sound(esc_stalker_assemble_3_3:stalker)% sr_idle@10s + +[sr_idle@10s] +on_info = {=entering_level} sr_idle@11 +on_signal = sound_end | sr_idle@10 + +[sr_idle@10] +on_info = {=entering_level} sr_idle@11 +on_game_timer = 10 | %=play_sound(esc_stalker_assemble_3_4:stalker:esc_leader_stalkerbase_name)% sr_idle@11 + +[sr_idle@11] diff --git a/gamedata/configs/scripts/escape/esc_pda_dialog_4.ltx b/gamedata/configs/scripts/escape/esc_pda_dialog_4.ltx index 1d2ef52..6350f0e 100644 --- a/gamedata/configs/scripts/escape/esc_pda_dialog_4.ltx +++ b/gamedata/configs/scripts/escape/esc_pda_dialog_4.ltx @@ -2,19 +2,22 @@ active = sr_idle@11 [sr_idle@11] -on_info = {=actor_in_zone(esc_stalkers_dialog_zone_4)} %=play_sound(esc_stalker_assemble_4_1:stalker:esc_leader_stalkerbase_name) =disable_level_changer(444:tips_wait_conversation_finish)% sr_idle@12s +on_info = {=actor_in_zone(esc_stalkers_dialog_zone_4)} %=play_sound(esc_stalker_assemble_4_1:stalker:esc_leader_stalkerbase_name)% sr_idle@12s [sr_idle@12s] +on_info = {=entering_level} sr_idle@14 on_signal = sound_end | sr_idle@12 [sr_idle@12] +on_info = {=entering_level} sr_idle@14 on_game_timer = 10 | %=play_sound(esc_stalker_assemble_4_2:stalker)% sr_idle@13s [sr_idle@13s] +on_info = {=entering_level} sr_idle@14 on_signal = sound_end | sr_idle@13 [sr_idle@13] +on_info = {=entering_level} sr_idle@14 on_game_timer = 10 | %=play_sound(esc_stalker_assemble_4_3:stalker:esc_leader_stalkerbase_name)% sr_idle@14 [sr_idle@14] -on_signal = sound_end | nil %=enable_level_changer(444)% \ No newline at end of file diff --git a/gamedata/scripts/bind_stalker.script b/gamedata/scripts/bind_stalker.script index d2eb880..c982606 100644 --- a/gamedata/scripts/bind_stalker.script +++ b/gamedata/scripts/bind_stalker.script @@ -12,6 +12,7 @@ function defer_net_spawn(binder) deferred_spawns[#deferred_spawns + 1] = binder end +level_changed = false quitting_game = false delayed_alife_release_objects = {} @@ -404,6 +405,7 @@ function actor_binder:update(delta) local level_name = level.name() if level_name ~= last_level_name then last_level_name = level_name + level_changed = true time = xr_surge_hide.surge_can_be_started(level_name) if time then xr_surge_hide.activate_surge(time) diff --git a/gamedata/scripts/xr_conditions.script b/gamedata/scripts/xr_conditions.script index 10eafa5..096543c 100644 --- a/gamedata/scripts/xr_conditions.script +++ b/gamedata/scripts/xr_conditions.script @@ -775,4 +775,8 @@ end function actor_is_talking() return pda.dialog_closed == false +end + +function entering_level() + return bind_stalker.level_changed and device().precache_frame > 1 end \ No newline at end of file