[gd_scene load_steps=17 format=3 uid="uid://d0x27tf7y5keu"] [ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="1_oayv8"] [ext_resource type="PackedScene" uid="uid://dreokijo757l1" path="res://logic-scenes/interactable/interactable.tscn" id="2_nl0nc"] [ext_resource type="PackedScene" uid="uid://c3l8tm8ku50vt" path="res://base-environments/youth_room/scenes/childhood.tscn" id="3_am5gj"] [ext_resource type="PackedScene" uid="uid://bw47g00bi710i" path="res://base-environments/youth_room/youth_room_visuals.tscn" id="5_3rbj1"] [ext_resource type="PackedScene" uid="uid://dwtxjvprjyx8p" path="res://base-environments/youth_room/lava-lamp.tscn" id="6_ggen3"] [sub_resource type="PlaneMesh" id="PlaneMesh_cv7g8"] size = Vector2(50, 50) [sub_resource type="SphereMesh" id="SphereMesh_7dqkp"] radius = 5.0 height = 10.0 [sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_nl0nc"] [sub_resource type="GDScript" id="GDScript_06xif"] script/source = "extends SpotLight3D @export var strength:float = 0.3 @export var speed:float = 5 var noise = FastNoiseLite.new() var spot:float = randf() var base_energy = light_energy @export var lit: bool = false @onready var secondary_light: OmniLight3D = $desk_secondary var litnes: float = float(lit) func _ready(): if not lit: light_energy = 0 func _process(delta): spot += speed*delta light_energy = base_energy * (1 + noise.get_noise_1d(spot) * strength) * litnes secondary_light.light_energy = light_energy/16 func switch_on(): var tween:Tween = create_tween() tween.tween_property(self, \"litnes\", 1, 10) func switch_off(): var tween:Tween = create_tween() tween.tween_property(self, \"litnes\", 0, 1) " [sub_resource type="Animation" id="Animation_hqls1"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("OmniLight3D2:light_energy") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } [sub_resource type="Animation" id="Animation_hxk3n"] resource_name = "light_up" length = 10.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("OmniLight3D2:light_energy") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 10), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 1.0] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("desk_light") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"switch_on" }] } [sub_resource type="Animation" id="Animation_wa80i"] resource_name = "lights_out" length = 2.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("OmniLight3D2:light_energy") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [1.0, 0.0] } tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("desk_light") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "values": [{ "args": [], "method": &"switch_off" }] } [sub_resource type="Animation" id="Animation_upogh"] resource_name = "menu" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("OmniLight3D2:light_energy") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_k8op5"] _data = { &"RESET": SubResource("Animation_hqls1"), &"light_up": SubResource("Animation_hxk3n"), &"lights_out": SubResource("Animation_wa80i"), &"menu": SubResource("Animation_upogh") } [sub_resource type="GDScript" id="GDScript_dwmnt"] script/source = "extends AnimationPlayer func _ready() -> void: Scenes.scene_finished.connect(lights_on) Scenes.scene_starting.connect(lights_off) func lights_off(id: int = -1, _repeat: bool = false): if id == Scenes.id.YOUTH_VOICE_TRAINING: await get_tree().create_timer(10).timeout queue(\"lights_out\") func lights_on(_id: int = -1, _repeat: bool = false): queue(\"light_up\") " [sub_resource type="GDScript" id="GDScript_2qjvc"] script/source = "extends SpotLight3D @export var flicker_strength:float = 0.7 @export var speed:float = 4 var noise = FastNoiseLite.new() var light_spot:float = randf() var base_energy = light_energy func _process(delta): light_spot += speed*delta light_energy = base_energy * (1 + noise.get_noise_1d(light_spot) * flicker_strength) " [node name="InteractableTests" type="Node"] [node name="PlayerController" parent="." groups=["camera_owner"] instance=ExtResource("1_oayv8")] unique_name_in_owner = true transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925) enabled = true [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0049040318, -0.36189413, 0.003689289) mesh = SubResource("PlaneMesh_cv7g8") [node name="OmniLight3D" type="OmniLight3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.221635, 0) omni_range = 9.435307 [node name="MeshInstance3D2" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5455923, 4.7683716e-07, -5.57273) mesh = SubResource("SphereMesh_7dqkp") [node name="StaticBody3D" type="StaticBody3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("WorldBoundaryShape3D_nl0nc") [node name="Interactable" parent="." instance=ExtResource("2_nl0nc")] transform = Transform3D(-0.9138857, -0.15697953, 0.37439322, 0, 0.9222155, 0.38667625, -0.4059715, 0.3533779, -0.8427996, 0.0017054975, 0.59263134, 2.5304449) interaction = ExtResource("3_am5gj") [node name="visuals" parent="." instance=ExtResource("5_3rbj1")] [node name="Shadow" type="CSGCombiner3D" parent="visuals"] cast_shadow = 3 calculate_tangents = false [node name="CSGBox3D" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.34613, 1.23087, 2.97923) size = Vector3(5.26758, 2.69583, 0.137207) [node name="CSGBox3D2" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.441227, 2.48778, 0.766643) size = Vector3(3.47876, 0.182022, 4.56238) [node name="CSGBox3D6" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.21313, 1.23861, 0.766643) size = Vector3(0.170044, 2.68037, 4.56238) [node name="CSGBox3D4" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 3.1589, 1.73312, 0.766643) size = Vector3(2.57013, 0.182022, 4.56238) [node name="CSGBox3D5" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 3.09781, 1.7764, -0.332882) operation = 2 size = Vector3(1.25306, 0.312046, 0.893661) [node name="CSGBox3D3" type="CSGBox3D" parent="visuals/Shadow"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.977913, 1.52551, 2.97298) operation = 2 calculate_tangents = false flip_faces = true size = Vector3(1.74371, 1.18614, 0.271545) [node name="OmniLight3D" type="OmniLight3D" parent="visuals"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.73188, 2.33544, 4.04756) visible = false light_energy = 3.0 light_size = 2.0 light_specular = 0.2 light_bake_mode = 0 shadow_enabled = true shadow_caster_mask = 4293918721 [node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"] transform = Transform3D(0.82167387, 0.44718716, -0.35337743, -0.41379577, 0.8944143, 0.16969287, 0.39195043, 0.0067938697, 0.9199613, 0.866179, 2.88055, 4.51936) visible = false light_color = Color(0.81982, 0.935491, 0.980381, 1) light_energy = 20.0 light_angular_distance = 2.0 light_bake_mode = 0 shadow_enabled = true directional_shadow_mode = 1 sky_mode = 1 [node name="lights" type="Node3D" parent="visuals"] [node name="desk_light" type="SpotLight3D" parent="visuals/lights"] transform = Transform3D(1, 0, 0, 0, 0.30009, 0.953911, 0, -0.953911, 0.30009, -0.599038, 1.39757, 1.64821) layers = 2 light_color = Color(0.94902, 0.737255, 0.627451, 1) light_energy = 8.0 light_size = 0.1 shadow_enabled = true shadow_bias = 0.002 spot_range = 2.47523 spot_angle = 58.1539 spot_angle_attenuation = 0.812252 script = SubResource("GDScript_06xif") [node name="desk_secondary" type="OmniLight3D" parent="visuals/lights/desk_light"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 2.98023e-08, 1, 0.221273, 0.0654936, -0.292101) light_color = Color(0.952941, 0.662745, 0.54902, 1) light_energy = 0.5 light_size = 0.499 light_specular = 0.0 light_cull_mask = 4293918721 shadow_enabled = true shadow_bias = 0.01 shadow_normal_bias = 5.78 omni_attenuation = 1.51572 [node name="shade_light" type="OmniLight3D" parent="visuals/lights/desk_light"] light_color = Color(0.94902, 0.737255, 0.627451, 1) light_energy = 0.5 light_cull_mask = 4293918721 omni_range = 0.147682 [node name="OmniLight3D2" type="OmniLight3D" parent="visuals/lights"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.10614, 0.582081, 0.161548) light_color = Color(0.894118, 0.87451, 0.686275, 1) light_size = 0.2 light_specular = 0.1 light_bake_mode = 1 light_cull_mask = 4293918721 shadow_enabled = true omni_range = 2.0 omni_attenuation = 0.450626 [node name="OmniLight3D4" type="OmniLight3D" parent="visuals/lights"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.47143, 1.6968, -0.548992) layers = 32769 light_color = Color(0.894118, 0.87451, 0.686275, 1) light_energy = 0.1 light_size = 0.3 light_specular = 0.0 light_cull_mask = 4293918721 shadow_enabled = true omni_range = 1.3534 omni_attenuation = 1.41421 [node name="LightAnimation" type="AnimationPlayer" parent="visuals/lights" groups=["scene_actors"]] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_k8op5") } autoplay = "menu" script = SubResource("GDScript_dwmnt") [node name="vfx" type="Node3D" parent="visuals"] [node name="lava-lamp" parent="visuals/vfx" instance=ExtResource("6_ggen3")] transform = Transform3D(0.488743, 0, -0.872428, 0, 1, 0, 0.872428, 0, 0.488743, 3.1041, 0.962981, 2.21157) skeleton = NodePath("") [node name="ReflectionProbe" type="ReflectionProbe" parent="visuals/vfx/lava-lamp"] transform = Transform3D(0.866853, 0, -0.498563, 0, 1, 0, 0.498563, 0, 0.866853, -0.0356357, 0.0416123, 0.020328) max_distance = 7.0 size = Vector3(2, 2, 2) [node name="OmniLight3D" type="SpotLight3D" parent="visuals/vfx/lava-lamp"] transform = Transform3D(0.9999999, 0, 0, 0, -4.3711395e-08, -1, 0, 0.9999999, -4.3711385e-08, 0.011304617, 0.187006, -0.0021249056) light_color = Color(0.21945003, 0.45, 0.189, 1) light_size = 0.05 light_specular = 0.3 light_bake_mode = 1 light_cull_mask = 4293918721 spot_range = 1.5 spot_attenuation = 1.2 spot_angle = 137.58 spot_angle_attenuation = 1.6358016 script = SubResource("GDScript_2qjvc")