From 1bf96321d725b9857a23c735bc7e173b6c2016dc Mon Sep 17 00:00:00 2001 From: Persephone Bubblegum-Holiday Date: Mon, 4 Aug 2025 18:30:58 -0700 Subject: [PATCH] add flashlight --- Scenes/GUI/MainMenu.tscn | 1 + Scripts/Player/player.gd | 2 ++ Scripts/Player/player.tscn | 8 ++++++++ project.godot | 6 ++++++ 4 files changed, 17 insertions(+) diff --git a/Scenes/GUI/MainMenu.tscn b/Scenes/GUI/MainMenu.tscn index 73da5aa..f605ead 100644 --- a/Scenes/GUI/MainMenu.tscn +++ b/Scenes/GUI/MainMenu.tscn @@ -486,6 +486,7 @@ Move: W, A, S, D Jump: Space Crouch: Right Control Run: Right Shift +Toggle Flashlight: E Open Menu: ESC" [node name="CreditsScreen" type="Control" parent="."] diff --git a/Scripts/Player/player.gd b/Scripts/Player/player.gd index 26d0b9e..480febf 100644 --- a/Scripts/Player/player.gd +++ b/Scripts/Player/player.gd @@ -79,6 +79,8 @@ func _physics_process(delta: float) -> void: if (crouched): speed = SPEED_CROUCHED else: speed = SPEED_BASE running = false + elif Input.is_action_just_pressed(&"freeroam_toggle_flashlight"): + $Camera/Flashlight.visible = !$Camera/Flashlight.visible if mouse_captured: _handle_joypad_camera_rotation(delta) velocity = _walk(delta) + _gravity(delta) + _jump(delta) diff --git a/Scripts/Player/player.tscn b/Scripts/Player/player.tscn index cdcd389..a78e66d 100644 --- a/Scripts/Player/player.tscn +++ b/Scripts/Player/player.tscn @@ -19,5 +19,13 @@ debug_color = Color(0.141176, 0.427451, 0.92549, 0.784314) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0) fov = 80.0 +[node name="Flashlight" type="SpotLight3D" parent="Camera"] +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 5.0 +spot_range = 1000.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.25 + [node name="InGameMenu" parent="." instance=ExtResource("2_0s4r2")] visible = false diff --git a/project.godot b/project.godot index a2be3f4..9e38bd8 100644 --- a/project.godot +++ b/project.godot @@ -490,6 +490,12 @@ freeroam_run={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) ] } +freeroam_toggle_flashlight={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null) +] +} [rendering]