diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 7c322235..70d7fcf8 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -11,6 +11,7 @@ enum Modes { signal freeze signal unfreeze +signal startup var current_mode: int = Modes.FREEZE: set(new_mode): @@ -18,6 +19,7 @@ var current_mode: int = Modes.FREEZE: current_mode = _update_scene(new_mode) func start(): + emit_signal("startup") $light_animation.play("light_up") $AudioPlayer.play("intro") State.pass_stage_to($PlayerController) diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index d0403bc4..2ea2c7f4 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=67 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=87 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -7,15 +7,19 @@ [ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="3_foj4y"] [ext_resource type="AudioStream" uid="uid://bbpo1hu35yer8" path="res://base-environments/youth_room/import/sounds/thunder.mp3" id="3_wcypa"] [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_xqd4w"] +[ext_resource type="AudioStream" uid="uid://1tvopjmo6dp2" path="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" id="5_fe1yj"] [ext_resource type="ArrayMesh" uid="uid://wuxbl6u3s8yo" path="res://base-environments/youth_room/shaders/starlight-mesh.res" id="6_gy6jv"] [ext_resource type="AudioStream" uid="uid://cudna8k7fw06t" path="res://base-environments/youth_room/audio/Moving Loop.wav" id="8_egnow"] [ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="9_dqdgk"] [ext_resource type="AudioStream" uid="uid://cl74a68tjwinh" path="res://base-environments/youth_room/audio/Youth Loop.wav" id="9_i8mqk"] +[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="10_ftoxq"] [ext_resource type="AudioStream" uid="uid://cho5neuxkvpyh" path="res://base-environments/youth_room/audio/Voice Loop.wav" id="10_wwwdq"] [ext_resource type="Script" path="res://base-environments/youth_room/Collectable.gd" id="11_6fwv8"] [ext_resource type="Script" path="res://dev-util/click-trough-area.gd" id="11_7uxd8"] [ext_resource type="PackedScene" uid="uid://d3pb25xuef2t2" path="res://logic-scenes/collectable/collectable_ui.tscn" id="11_jxai0"] +[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="11_maw5c"] [ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="12_qxx2k"] +[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="12_xnele"] [ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="13_lqj71"] [ext_resource type="PackedScene" uid="uid://brk4hjdf2x81a" path="res://logic-scenes/card_picker/card_picker.tscn" id="19_a4n1o"] [ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="19_jr2bb"] @@ -105,221 +109,6 @@ size = Vector3(1.63347, 0.305693, 0.775269) [sub_resource type="BoxShape3D" id="BoxShape3D_bq15k"] size = Vector3(0.375967, 1, 0.245859) -[sub_resource type="GDScript" id="GDScript_35dmj"] -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_yn0pl"] -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) -" - -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"] -sky_top_color = Color(0, 0, 1, 1) -sky_horizon_color = Color(0.858824, 0.541176, 0.4, 1) -sky_curve = 0.54075 - -[sub_resource type="Sky" id="Sky_lumfb"] -sky_material = SubResource("ProceduralSkyMaterial_kcdrx") - -[sub_resource type="Environment" id="Environment_pllnm"] -background_mode = 2 -background_energy_multiplier = 0.2 -sky = SubResource("Sky_lumfb") -sky_rotation = Vector3(0, 0.352557, 0) -ambient_light_source = 3 -ambient_light_color = Color(1, 1, 1, 1) -reflected_light_source = 1 -tonemap_mode = 2 -ssr_enabled = true -ssr_max_steps = 512 -ssr_depth_tolerance = 0.01 -ssao_enabled = true -ssao_radius = 1.24 -ssao_intensity = 3.09 -ssao_power = 1.91184 -ssao_detail = 3.0 -ssil_intensity = 0.72 -ssil_normal_rejection = 0.56 -sdfgi_enabled = true -sdfgi_use_occlusion = true -sdfgi_cascades = 3 -sdfgi_min_cell_size = 0.0664062 -glow_enabled = true -glow_levels/2 = 0.3 -glow_levels/7 = 2.0 -glow_intensity = 0.4 -glow_strength = 0.7 -glow_bloom = 0.13 -glow_blend_mode = 1 -glow_hdr_threshold = 0.46 -fog_enabled = true -fog_light_color = Color(0.141176, 0.133333, 0.301961, 1) -fog_sky_affect = 0.0 -fog_height = 1.0 -fog_height_density = 0.1 -adjustment_enabled = true - -[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"] -auto_exposure_enabled = true -auto_exposure_scale = 0.2 -dof_blur_far_enabled = true -dof_blur_far_distance = 0.4 -dof_blur_far_transition = 0.2 -dof_blur_near_distance = 0.79 -dof_blur_amount = 0.0 -auto_exposure_min_sensitivity = 100.0 - -[sub_resource type="GDScript" id="GDScript_wb8kg"] -script/source = "extends WorldEnvironment - -func _ready(): - focus_env() - -func focus_env(): - var dof_strength_tween: Tween = create_tween() - dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0, 1) - -func focus_object(): - var dof_strength_tween: Tween = create_tween() - dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) -" - [sub_resource type="Animation" id="Animation_nwry8"] length = 0.001 tracks/0/type = "value" @@ -337,31 +126,31 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Jui Jutsu:playing") +tracks/1/path = NodePath("AudioPlayer/Moving:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [-80.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-80.0] +"values": [0.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -373,7 +162,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -385,87 +174,195 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] +"update": 1, +"values": [0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [0] +"values": [1] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [1] +"update": 0, +"values": [Vector2(800, 750)] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/8/path = NodePath("AudioPlayer/childhood:modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(800, 750)] +"values": [Color(1, 1, 1, 0)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/childhood:modulate") +tracks/9/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Color(1, 1, 1, 0)] +"values": [Color(1, 1, 1, 1)] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/10/path = NodePath("AudioPlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] +"update": 1, +"values": [false] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/childhood:visible") +tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, +"values": [43] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [638] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, "values": [false] } +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [500] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.29] +} +tracks/19/type = "value" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.9] +} +tracks/20/type = "value" +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [5.0] +} [sub_resource type="Animation" id="Animation_g5l1m"] resource_name = "childhood" @@ -801,6 +698,250 @@ tracks/1/keys = { "values": [-80.0, 0.0] } +[sub_resource type="Animation" id="Animation_dot4p"] +resource_name = "jui_jutsu" +length = 210.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 9, 171.8, 207.7), +"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"update": 0, +"values": [0.0, -80.0, -80.0, 0.0] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AudioPlayer/Lisa") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 62.4779, +"start_offset": 183.499, +"stream": ExtResource("9_dqdgk") +}, { +"end_offset": 0.0, +"start_offset": 322.397, +"stream": ExtResource("9_dqdgk") +}], +"times": PackedFloat32Array(1.1, 139.2) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(78.1, 81, 148.1, 152, 155.7, 155.8, 158.009), +"transitions": PackedFloat32Array(0.307786, 0.307786, 12.1257, 0.554785, 1, 1, 1), +"update": 0, +"values": [0, 638, 638, 677, 1220, 1252, 1252] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 90), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [2, 0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/4/interp = 2 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.466516, 1), +"update": 0, +"values": [Vector2(800, 750), Vector2(800, 800)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("AudioPlayer/jui_jutsu:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.4, 203.8, 204.7), +"transitions": PackedFloat32Array(1, 1, 1.93187, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer:self_modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(201.4, 203.9), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath(".") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(91.9), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_on_childhood_done" +}] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("AudioPlayer/childhood:visible") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 93.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/9/type = "audio" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("AudioPlayer/Jui_Jutsu") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("5_fe1yj") +}], +"times": PackedFloat32Array(3) +} +tracks/9/use_blend = true +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0.7, 2.5, 4.2, 8.59882, 11.202, 17.9, 22.9, 28.4866, 34.1, 40.7, 44.6, 50, 53.9237, 58.9, 63.2334, 71.5, 75.5, 79.8, 84.7, 88.7, 91.9227, 98.6, 102.972, 106, 106.8, 109.1, 110.3, 114.8, 117.385, 120.6, 121.989, 125.4, 128.512, 136.313, 143.8, 149.7, 153, 156.2, 160.1, 163, 170.3, 175.771, 182.9, 183.9, 184.6, 188.4, 189.5, 195.1, 198.112, 201), +"transitions": PackedFloat32Array(0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 1, 0.287175, 0.965937, 0.287175, 0.287175, 0.287175, 0.287175, 1, 1, 0.287175, 0.287175, 0.287175, 0.517633, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175), +"update": 0, +"values": [0, 43, 43, 110, 110, 275, 275, 360, 508, 540, 540, 648, 648, 735, 735, 1024, 1091, 1091, 1162, 1279, 1279, 1434, 1434, 1452, 1452, 1483, 1483, 1596, 1596, 1647, 1647, 1698, 1698, 1790, 1906, 2061, 2061, 2101, 2150, 2150, 2229, 2313, 2352, 2357, 2363, 2412, 2412, 2503, 2503, 2540] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [false, true, true, true, true, true, true, true, true, true, true] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(2, 129.7, 149.1, 167.15), +"transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1), +"update": 0, +"values": [0.0, 10.0, 5.0, 10.0] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0, 93), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(93, 129.9, 136.6, 164.8), +"transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1), +"update": 0, +"values": [5.0, 1.5, 4.0, 2.0] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7), +"transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1), +"update": 0, +"values": [0.29, 0.69, 0.74, 0.9, 0.2] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7), +"transitions": PackedFloat32Array(1, 0.466516, 1, 1), +"update": 0, +"values": [1.0, 1.9, 0.4, 1.0] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [5.0, 2.0, 0.3, 0.3, 1.5] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_ilekd"] _data = { "RESET": SubResource("Animation_nwry8"), @@ -808,6 +949,7 @@ _data = { "childhood_intro": SubResource("Animation_as75l"), "childhood_outro": SubResource("Animation_60him"), "intro": SubResource("Animation_1pmhi"), +"jui_jutsu": SubResource("Animation_dot4p"), "voice training": SubResource("Animation_t64y4"), "voice_intro": SubResource("Animation_8gaqi") } @@ -822,6 +964,354 @@ func start_soundtrack(): func _on_childhood_collected(): play(\"childhood\") + +func _on_youth_room_startup(): + play(\"intro\") +" + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_foovg"] +radius = 110.0 +height = 336.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 0, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"] +atlas = ExtResource("10_ftoxq") +region = Rect2(600, 0, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"] +atlas = ExtResource("10_ftoxq") +region = Rect2(600, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 880, 600, 440) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ckivt"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ykk13") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l43eo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x2vcn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e7401") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j7wh6") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="GDScript" id="GDScript_8bs16"] +script/source = "extends AnimatedSprite2D + +@onready var particles = $GPUParticles2D +@onready var initial_position = position +@export var noise_speed: float = 10 +@export var noise_power: float = 1 +var noise_position = randf() +var noise: Noise = FastNoiseLite.new() +@export var void_active: bool = true + +func _process(delta): + if void_active and not State.reduce_motion: + noise_position += delta * noise_speed + + var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position)) + + random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10 + + position = initial_position - random_position + + rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01 + + particles.position = random_position + + else: position = initial_position +" + +[sub_resource type="Gradient" id="Gradient_v70nd"] +interpolation_mode = 2 +offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1) +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"] +gradient = SubResource("Gradient_v70nd") + +[sub_resource type="Curve" id="Curve_q6cmf"] +_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"] +curve = SubResource("Curve_q6cmf") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_by44l"] +emission_shape = 6 +emission_ring_axis = Vector3(0, 0, 1) +emission_ring_height = 0.0 +emission_ring_radius = 180.0 +emission_ring_inner_radius = 185.0 +particle_flag_disable_z = true +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = -10.0 +initial_velocity_max = 10.0 +angular_velocity_min = -150.0 +angular_velocity_max = -150.0 +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +radial_accel_min = -20.0 +radial_accel_max = -5.0 +tangential_accel_min = 20.0 +tangential_accel_max = 30.0 +scale_min = 3.0 +scale_max = 5.0 +scale_curve = SubResource("CurveTexture_cg0w1") +color_ramp = SubResource("GradientTexture1D_xxq8p") +turbulence_noise_strength = 0.1 +attractor_interaction_enabled = false + +[sub_resource type="GDScript" id="GDScript_vjwk7"] +script/source = "extends GPUParticles2D + +func _process(_delta): + self.visible = !State.reduce_motion +" + +[sub_resource type="GDScript" id="GDScript_tgc0b"] +script/source = "extends Sprite2D + +func _process(_delta): + self.visible = State.reduce_motion +" + +[sub_resource type="GDScript" id="GDScript_35dmj"] +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_yn0pl"] +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) +" + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"] +sky_top_color = Color(0, 0, 1, 1) +sky_horizon_color = Color(0.858824, 0.541176, 0.4, 1) +sky_curve = 0.54075 + +[sub_resource type="Sky" id="Sky_lumfb"] +sky_material = SubResource("ProceduralSkyMaterial_kcdrx") + +[sub_resource type="Environment" id="Environment_pllnm"] +background_mode = 2 +background_energy_multiplier = 0.2 +sky = SubResource("Sky_lumfb") +sky_rotation = Vector3(0, 0.352557, 0) +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +reflected_light_source = 1 +tonemap_mode = 2 +ssr_enabled = true +ssr_max_steps = 512 +ssr_depth_tolerance = 0.01 +ssao_enabled = true +ssao_radius = 1.24 +ssao_intensity = 3.09 +ssao_power = 1.91184 +ssao_detail = 3.0 +ssil_intensity = 0.72 +ssil_normal_rejection = 0.56 +sdfgi_enabled = true +sdfgi_use_occlusion = true +sdfgi_cascades = 3 +sdfgi_min_cell_size = 0.0664062 +glow_enabled = true +glow_levels/2 = 0.3 +glow_levels/7 = 2.0 +glow_intensity = 0.4 +glow_strength = 0.7 +glow_bloom = 0.13 +glow_blend_mode = 1 +glow_hdr_threshold = 0.46 +fog_enabled = true +fog_light_color = Color(0.141176, 0.133333, 0.301961, 1) +fog_sky_affect = 0.0 +fog_height = 1.0 +fog_height_density = 0.1 +adjustment_enabled = true + +[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"] +auto_exposure_enabled = true +auto_exposure_scale = 0.2 +dof_blur_far_enabled = true +dof_blur_far_distance = 0.4 +dof_blur_far_transition = 0.2 +dof_blur_near_distance = 0.79 +dof_blur_amount = 0.0 +auto_exposure_min_sensitivity = 100.0 + +[sub_resource type="GDScript" id="GDScript_wb8kg"] +script/source = "extends WorldEnvironment + +func _ready(): + focus_env() + +func focus_env(): + var dof_strength_tween: Tween = create_tween() + dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0, 1) + +func focus_object(): + var dof_strength_tween: Tween = create_tween() + dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) " [sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] @@ -1009,6 +1499,246 @@ mouse_filter = 1 visible = false layout_mode = 1 +[node name="AudioPlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] +autoplay = "jui_jutsu" +libraries = { +"": SubResource("AnimationLibrary_ilekd") +} +script = SubResource("GDScript_tfc2r") + +[node name="Lisa" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +volume_db = 5.0 +bus = &"text" + +[node name="Moving" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("8_egnow") +volume_db = -80.0 +autoplay = true +bus = &"music" + +[node name="Childhood" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("9_i8mqk") +bus = &"music" + +[node name="childhood" type="CenterContainer" parent="logic/AudioPlayer"] +visible = false +modulate = Color(1, 1, 1, 0) +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/childhood"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/childhood/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/childhood/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Childhood" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 750) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. + +Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ + +But I was fine. She just wouldn’t listen. +Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. + +But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. + +He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." +autowrap_mode = 3 +visible_characters = 0 +visible_characters_behavior = 1 +visible_ratio = 0.0 + +[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="jui_jutsu" type="CenterContainer" parent="logic/AudioPlayer"] +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Childhood" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 800) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +mouse_filter = 0 +scroll_vertical = 638 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it. +I mean I did enjoy it while it lasted. Being able to properly hit people was great. It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually golt to do that - it also was a great vent for anger. I mean my tits just about killed me during warmup and the changing room really didn’t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas. + +He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. Also: my math grades pretty much leaped for my final year in high shool thanks to him. +He also helped me so much with jui jitsu, as he properly floored me when I slipped up. Also - unlike everyone else - he understood that I didn’t want people to mind my chest. So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. + +We also had my first proper kiss. I thought I loved him. But now? + +He was weird that evening. Even more huggy and hyperactive than usual. We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. +We had a play fight on my mattress. I’ve never seen him fight like this. His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win … with this smirk on his face. +I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat. +He started undoing his shirt. +Do you have condoms? +Yes, of course everybody has Why did he ask that? + +I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. My body didn’t move. It didn’t say a word when the butterflies tried to escape from it’s stomach as he kissed it. + +I … observed him from afar. He … didn’t seem to notice, that I had left. That I didn’t return to kiss him good bye. That I didn’t hug him when he went home. + +My hands knocked on my brother’s door. He let me lie on his carpet. +I slowly returned. + +\"How did it go?, Fabian asked. +\"It was moist”, I said. +“That usually helps.” + +He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” He gently stroked the back I was curling towards him. + +That was good. He was a sweet angel. Why must he be so bad at comforting? +" +autowrap_mode = 3 +visible_characters = 43 +visible_characters_behavior = 1 +visible_ratio = 0.0169225 + +[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="card" type="Area2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +position = Vector2(1136, 457) +scale = Vector2(1.2, 1.2) +metadata/type = "card" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +position = Vector2(-0.0713516, 0.997451) +rotation = 1.5708 +shape = SubResource("CapsuleShape2D_foovg") + +[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +clip_children = 2 +scale = Vector2(0.6, 0.6) +sprite_frames = SubResource("SpriteFrames_ckivt") +frame = 1 +script = SubResource("GDScript_8bs16") +noise_speed = 0.0 +noise_power = 5.0 + +[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +emitting = false +amount = 500 +process_material = SubResource("ParticleProcessMaterial_by44l") +texture = ExtResource("11_maw5c") +one_shot = true +speed_scale = 1.9 +explosiveness = 0.29 +randomness = 0.14 +local_coords = true +script = SubResource("GDScript_vjwk7") + +[node name="Sprite2D" type="Sprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +visible = false +scale = Vector2(0.4, 0.4) +texture = ExtResource("12_xnele") +script = SubResource("GDScript_tgc0b") + +[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="VoiceTraining2" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +volume_db = -10.0 +bus = &"music" + [node name="sfx" type="Node3D" parent="."] [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="sfx"] @@ -1169,110 +1899,6 @@ environment = SubResource("Environment_pllnm") camera_attributes = SubResource("CameraAttributesPractical_26mp0") script = SubResource("GDScript_wb8kg") -[node name="AudioPlayer" type="AnimationPlayer" parent="." groups=["animation_player"]] -libraries = { -"": SubResource("AnimationLibrary_ilekd") -} -script = SubResource("GDScript_tfc2r") - -[node name="Lisa" type="AudioStreamPlayer" parent="AudioPlayer"] -bus = &"text" - -[node name="Moving" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("8_egnow") -volume_db = -80.0 -bus = &"music" - -[node name="Childhood" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("9_i8mqk") -bus = &"music" - -[node name="childhood" type="CenterContainer" parent="AudioPlayer"] -visible = false -modulate = Color(1, 1, 1, 0) -self_modulate = Color(1, 1, 1, 0.923078) -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -424.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="PanelContainer" type="PanelContainer" parent="AudioPlayer/childhood"] -layout_mode = 2 -mouse_filter = 1 - -[node name="StartFrame" type="TextureRect" parent="AudioPlayer/childhood/PanelContainer"] -custom_minimum_size = Vector2(0, 900) -layout_mode = 2 -size_flags_vertical = 0 -texture = ExtResource("2_21x33") -expand_mode = 2 -stretch_mode = 4 - -[node name="Panel" type="PanelContainer" parent="AudioPlayer/childhood/PanelContainer/StartFrame"] -show_behind_parent = true -layout_mode = 2 -offset_left = 199.0 -offset_top = -112.0 -offset_right = 1039.0 -offset_bottom = 697.0 -rotation = 0.459022 -mouse_filter = 1 - -[node name="VBoxContainer" type="VBoxContainer" parent="AudioPlayer/childhood/PanelContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -layout_mode = 2 -theme_type_variation = &"HeaderLarge" -text = " Childhood" - -[node name="ScrollContainer" type="ScrollContainer" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(800, 750) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -horizontal_scroll_mode = 0 -vertical_scroll_mode = 3 - -[node name="Label" type="Label" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. - -Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ - -But I was fine. She just wouldn’t listen. -Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. - -But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. - -He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." -autowrap_mode = 3 -visible_characters = 0 -visible_characters_behavior = 1 -visible_ratio = 0.0 - -[node name="StartBottom" type="TextureRect" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 64) -layout_mode = 2 -size_flags_vertical = 8 -texture = ExtResource("3_xqd4w") -expand_mode = 2 -stretch_mode = 4 - -[node name="VoiceTraining" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" - -[node name="VoiceTraining2" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" - -[node name="Jui Jutsu" type="AudioStreamPlayer" parent="AudioPlayer"] -bus = &"music" - [node name="Mask-interaction" type="Area3D" parent="." groups=["interactables"]] transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) collision_layer = 16 @@ -1349,6 +1975,7 @@ light_specular = 0.0 omni_range = 0.457129 omni_attenuation = 0.659754 +[connection signal="startup" from="." to="logic/AudioPlayer" method="_on_youth_room_startup"] [connection signal="ui_entered" from="logic/PlayerController" to="SceneUI" method="show"] [connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"] @@ -1358,9 +1985,12 @@ omni_attenuation = 0.659754 [connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_exited" from="logic/Bed and Ladders/bed_reset" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] -[connection signal="animation_finished" from="AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] +[connection signal="animation_finished" from="logic/AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] +[connection signal="input_event" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] +[connection signal="mouse_entered" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] +[connection signal="mouse_exited" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] [connection signal="input_event" from="Mask-interaction/UiWrapper" to="Mask-interaction/UiWrapper" method="_on_input_event" flags=18] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="." method="_on_childhood_collected"] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/PlayerController" method="_on_childhood_collected"] +[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/AudioPlayer" method="_on_childhood_collected"] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="WorldEnvironment" method="focus_object"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="AudioPlayer" method="_on_childhood_collected"] diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index 144a4b73..3d80367d 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,7 +1,6 @@ [gd_resource type="AudioBusLayout" format=3 uid="uid://djkwd76o033io"] [resource] -bus/0/mute = true bus/1/name = &"text" bus/1/solo = false bus/1/mute = false