From 807ad50046e18cded870f739047b987aa91d8e74 Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Tue, 12 May 2026 19:11:04 +0100 Subject: [PATCH] Squeaking in! --- scenes/elevator_panel.gd | 9 +++++++++ scenes/pause_menu.gd | 5 ----- scenes/pause_menu.tscn | 10 ---------- scenes/survivor.gd | 3 +++ scripts/event_bus.gd | 1 + 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/scenes/elevator_panel.gd b/scenes/elevator_panel.gd index 3e44ce6..5e863b3 100644 --- a/scenes/elevator_panel.gd +++ b/scenes/elevator_panel.gd @@ -42,6 +42,8 @@ func _ready(): _screen.doors_closing.connect(func(): _on_doors_closing(true)) EventBus.game_started.connect(_start_floor) + EventBus.game_lost.connect(func(_reason): $SfxRobotIUnderstand.play()) + EventBus.survivor_squeaked_in.connect(_on_survivor_squeaked_in) func _unhandled_input(event): if event is InputEventKey and event.pressed and not event.echo: @@ -71,6 +73,8 @@ func _start_floor(): $SfxOpen.play() $SfxBell.play() + if _onboarded and randf() < 0.4: + $SfxRobotDeepBreath.play() _reset_floor_state() EventBus.doors_opened.emit() @@ -110,12 +114,17 @@ func _start_floor(): CONNECT_ONE_SHOT ) +func _on_survivor_squeaked_in(): + if not $SfxRobotSoundsDifficult.playing: + $SfxRobotSoundsDifficult.play() + func _on_block_pressed(): if doors_closing_flag: return if _screen.pulse_active: _screen.attempt_block() else: + $SfxRobotThankYou.play() _on_doors_closing(false) func _on_pulse_started(duration: float): diff --git a/scenes/pause_menu.gd b/scenes/pause_menu.gd index a0d5149..3533718 100644 --- a/scenes/pause_menu.gd +++ b/scenes/pause_menu.gd @@ -10,7 +10,6 @@ func _ready(): EventBus.game_lost.connect(func(_reason: String): _in_play = false) $Center/Card/Margin/Column/ResumeButton.pressed.connect(_on_resume_pressed) $Center/Card/Margin/Column/RestartButton.pressed.connect(_on_restart_pressed) - $Center/Card/Margin/Column/QuitButton.pressed.connect(_on_quit_pressed) func _unhandled_input(event): if not _in_play: @@ -35,7 +34,3 @@ func _on_resume_pressed(): func _on_restart_pressed(): get_tree().paused = false get_tree().reload_current_scene() - -func _on_quit_pressed(): - get_tree().paused = false - get_tree().reload_current_scene() diff --git a/scenes/pause_menu.tscn b/scenes/pause_menu.tscn index c43edbe..c3f6ba4 100644 --- a/scenes/pause_menu.tscn +++ b/scenes/pause_menu.tscn @@ -73,16 +73,6 @@ theme_override_styles/hover = SubResource("ButtonStyle") theme_override_styles/pressed = SubResource("ButtonStyle") theme_override_styles/focus = SubResource("ButtonStyle") -[node name="QuitButton" type="Button" parent="Center/Card/Margin/Column"] -text = "QUIT" -theme_override_colors/font_color = Color(0.2, 1, 0.2, 1) -theme_override_colors/font_hover_color = Color(0.5, 1, 0.5, 1) -theme_override_font_sizes/font_size = 24 -theme_override_styles/normal = SubResource("ButtonStyle") -theme_override_styles/hover = SubResource("ButtonStyle") -theme_override_styles/pressed = SubResource("ButtonStyle") -theme_override_styles/focus = SubResource("ButtonStyle") - [node name="SpaceHint" type="Label" parent="Center/Card/Margin/Column"] text = "Space to Resume" horizontal_alignment = 1 diff --git a/scenes/survivor.gd b/scenes/survivor.gd index 0025648..9dd2551 100644 --- a/scenes/survivor.gd +++ b/scenes/survivor.gd @@ -36,6 +36,9 @@ func _physics_process(_delta): func _on_area_3d_area_entered(area: Area3D) -> void: if area == safety_zone and not _saved: _saved = true + var elevator = safety_zone.get_node_or_null("Elevator") + if elevator and elevator.get_door_close_progress() > 0.7: + EventBus.survivor_squeaked_in.emit() get_tree().create_timer(0.5, false).timeout.connect( func(): queue_free(), CONNECT_ONE_SHOT diff --git a/scripts/event_bus.gd b/scripts/event_bus.gd index d92dee4..20f4176 100644 --- a/scripts/event_bus.gd +++ b/scripts/event_bus.gd @@ -21,5 +21,6 @@ signal pulse_started(duration: float) signal pulse_blocked signal robot_stun_requested(duration: float) signal robot_floor_started(delay: float, robot_speed: float) +signal survivor_squeaked_in @warning_ignore_restore("unused_signal")