flashlight adjustment, cant fall off map, ui sounds

This commit is contained in:
Persephone Bubblegum-Holiday 2025-08-17 18:45:20 -07:00
parent 2ec79e56fc
commit 0ae10c2451
10 changed files with 130 additions and 2 deletions

View file

@ -546,7 +546,8 @@ Open Curtains: C
Debug Info: F3
Open Menu: ESC
Zoom In/Out: Mouse Wheel
Zoom Reset: Middle Mouse Button"
Flashlight Size: Alt+Mouse Wheel
Respawn: R"
autowrap_mode = 2
[node name="CreditsScreen" type="Control" parent="."]

View file

@ -2,6 +2,8 @@ class_name Player extends CharacterBody3D
@export var current_map: String
var startPosition: Vector3
var SPEED_BASE: float = 2
var SPEED_CROUCHED: float = 1
var SPEED_RUNNING: float = 4
@ -40,6 +42,7 @@ func _ready() -> void:
capture_mouse()
if ($Camera.fov != GlobalVariables.FOV):
$Camera.fov = GlobalVariables.FOV
startPosition = self.position
func _unhandled_input(event: InputEvent) -> void:
if (interact):
@ -64,6 +67,25 @@ func _unhandled_input(event: InputEvent) -> void:
pass
elif event.is_action_pressed(&"freeroam_debug_menu"):
$DebugMenu.visible = !$DebugMenu.visible
elif event.is_action_pressed(&"freeroam_respawn"):
self.position = startPosition
elif event.is_action_pressed(&"freeroam_flashlight_zoom_in"):
if ($Camera/Flashlight.visible):
if ($Camera/Flashlight.spot_angle > 2):
$Camera/Flashlight.spot_angle -= 2
$FlashlightSFX.pitch_scale = $Camera/Flashlight.spot_angle/10.0
$FlashlightSFX.play()
elif event.is_action_pressed(&"freeroam_flashlight_zoom_out"):
if ($Camera/Flashlight.visible):
if ($Camera/Flashlight.spot_angle < 88):
$Camera/Flashlight.spot_angle += 2
$FlashlightSFX.pitch_scale = $Camera/Flashlight.spot_angle/10.0
$FlashlightSFX.play()
elif event.is_action_pressed(&"freeroam_flashlight_zoom_reset"):
if ($Camera/Flashlight.visible):
$Camera/Flashlight.spot_angle = 30
$FlashlightSFX.pitch_scale = $Camera/Flashlight.spot_angle/10.0
$FlashlightSFX.play()
elif event.is_action_pressed(&"freeroam_camera_zoom_in"):
if ($Camera.fov > 2):
$Camera.fov -= 2
@ -121,6 +143,9 @@ func _physics_process(delta: float) -> void:
if mouse_captured: _handle_joypad_camera_rotation(delta)
velocity = _walk(delta) + _gravity(delta) + _jump(delta)
move_and_slide()
if (self.position.y < -20):
jump_vel = Vector3(0, 50, 0)
$BoingSFX.play()
func capture_mouse() -> void:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)

View file

@ -1,8 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://cdk6hwb4hi2wc"]
[gd_scene load_steps=7 format=3 uid="uid://cdk6hwb4hi2wc"]
[ext_resource type="Script" uid="uid://b0c02p6ckmpdq" path="res://Scripts/Player/Player.gd" id="1_2f8j2"]
[ext_resource type="PackedScene" uid="uid://cd67bfok34xhy" path="res://Scenes/GUI/InGameMenu.tscn" id="2_0s4r2"]
[ext_resource type="PackedScene" uid="uid://fjveglbs1vfv" path="res://Scenes/GUI/DebugMenu.tscn" id="3_ejydr"]
[ext_resource type="AudioStream" uid="uid://gu2qnrfyvk0m" path="res://UI/Sounds/boing.wav" id="4_7s4cc"]
[ext_resource type="AudioStream" uid="uid://bd13mqgeswusd" path="res://UI/Sounds/flashlight_click.wav" id="5_nckbs"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ejydr"]
radius = 0.3
@ -25,6 +27,7 @@ visible = false
light_color = Color(1, 0.960784, 0.85098, 1)
light_energy = 5.0
shadow_enabled = true
shadow_bias = 1.0
spot_range = 1000.0
spot_angle = 30.0
spot_angle_attenuation = 0.25
@ -35,3 +38,10 @@ mouse_filter = 2
[node name="InGameMenu" parent="." instance=ExtResource("2_0s4r2")]
visible = false
[node name="BoingSFX" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_7s4cc")
[node name="FlashlightSFX" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_nckbs")
volume_db = -1.0

BIN
UI/Sounds/boing.wav Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://gu2qnrfyvk0m"
path="res://.godot/imported/boing.wav-3e30597891eb30a472f3b93e39272c33.sample"
[deps]
source_file="res://UI/Sounds/boing.wav"
dest_files=["res://.godot/imported/boing.wav-3e30597891eb30a472f3b93e39272c33.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bd13mqgeswusd"
path="res://.godot/imported/flashlight_click.wav-045ee61892a45745c4f95a53eafba64d.sample"
[deps]
source_file="res://UI/Sounds/flashlight_click.wav"
dest_files=["res://.godot/imported/flashlight_click.wav-045ee61892a45745c4f95a53eafba64d.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
UI/Sounds/ui_select.wav Normal file

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dmn3kqd4rdlh6"
path="res://.godot/imported/ui_select.wav-822850e003dd35cb22f9869939ace729.sample"
[deps]
source_file="res://UI/Sounds/ui_select.wav"
dest_files=["res://.godot/imported/ui_select.wav-822850e003dd35cb22f9869939ace729.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View file

@ -539,6 +539,26 @@ freeroam_camera_zoom_reset={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":3,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
freeroam_respawn={
"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":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null)
]
}
freeroam_flashlight_zoom_out={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
freeroam_flashlight_zoom_in={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
freeroam_flashlight_zoom_reset={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":3,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
[rendering]