[gd_scene load_steps=17 format=3 uid="uid://b8iaixkhsnahi"] [ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_ym0sv"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_00crh"] [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_3iy8l"] [ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_32a0r"] [ext_resource type="AudioStream" uid="uid://dupcfwi54fpjx" path="res://base-environments/youth_room/audio/FoM_Lisa_Kindheit_Voice_Acting_deutsch_newt.wav" id="5_bfggg"] [ext_resource type="AudioStream" uid="uid://d15ltkofdggly" path="res://base-environments/youth_room/audio/Voice-Training-Workshop.wav" id="6_hdxjv"] [ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="7_xkdnh"] [sub_resource type="ViewportTexture" id="ViewportTexture_ho85h"] viewport_path = NodePath("PanelContainer/StartFrame/TextureRect/SubViewport") [sub_resource type="Environment" id="Environment_sk23p"] ambient_light_color = Color(0.494118, 0.654902, 0.752941, 1) tonemap_mode = 2 tonemap_exposure = 1.55 ssao_enabled = true adjustment_enabled = true adjustment_saturation = 0.9 [sub_resource type="World3D" id="World3D_4m36g"] environment = SubResource("Environment_sk23p") [sub_resource type="Animation" id="Animation_ytihj"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../../..:progress") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [-1.0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("..:custom_minimum_size") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(900, 900)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.349066] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("../..:modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("../../..:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("../../..:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } [sub_resource type="Animation" id="Animation_ayw8a"] resource_name = "de" length = 86.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../../../AnimationPlayer/Text") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "clips": [{ "end_offset": 1.36178, "start_offset": 0.0, "stream": ExtResource("5_bfggg") }], "times": PackedFloat32Array(1.16667) } tracks/0/use_blend = true tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../../..:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1.66667, 4.73332, 6.03333, 11.6, 12.4, 15.8333, 16.4333, 18.9334, 19.6333, 24.5333, 25.6, 29, 30.3667, 36.1333, 39.4, 40.8, 42.2333, 44.6333, 45.2667, 47.0333, 49.2333, 53.4333, 54.6333, 57.1333, 57.8333, 61.1333, 63.2667, 66.5667, 67.5, 72.4597, 74.5, 77.2667, 78.4667, 85.2), "transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968), "update": 0, "values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0] } tracks/2/type = "method" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("../../..") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(24.8, 47.87, 61.7667, 74.0333, 85.2667), "transitions": PackedFloat32Array(1, 1, 1, 1, 1), "values": [{ "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"_on_text_finished" }] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("..:custom_minimum_size") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.7), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(900, 800), Vector2(900, 900)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath(".:rotation") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 1.8), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.174533, 0.349066] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("../..:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.733333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("../../..:visible") tracks/6/interp = 0 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [true] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("../../..:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } [sub_resource type="Animation" id="Animation_7qabw"] resource_name = "en" length = 108.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../../../AnimationPlayer/Text") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "clips": [{ "end_offset": 0.0, "start_offset": 4.92, "stream": ExtResource("6_hdxjv") }], "times": PackedFloat32Array(0.6) } tracks/0/use_blend = true tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../../..:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1.66667, 4.73332, 6.03333, 14.9, 16.2667, 19.4, 20.3333, 22.5667, 23.6667, 29.2667, 29.7667, 34.5667, 36.4667, 41.6333, 44.9, 47.1, 48.1667, 51.6667, 53.0333, 55.9, 58.6667, 61.1, 62.9, 68.1001, 69.3667, 74.1028, 75.4667, 80.7334, 81.6667, 88.8597, 90.5667, 96.2333, 97.9, 104.733), "transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968), "update": 0, "values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0] } tracks/2/type = "method" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("../../..") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(15.2333, 35.2, 56, 74.5667, 96.9007, 107.867), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "values": [{ "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"try_scroll" }, { "args": [], "method": &"_on_text_finished" }] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("..:custom_minimum_size") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.7), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(900, 800), Vector2(900, 900)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath(".:rotation") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 1.8), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.174533, 0.349066] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("../..:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.733333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("../../..:visible") tracks/6/interp = 0 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [true] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("../../..:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } [sub_resource type="Animation" id="Animation_kn83e"] resource_name = "ini" length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../../..:progress") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [17.0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("..:custom_minimum_size") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(900, 900)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.349066] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("../..:modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("../../..:visible") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("../../..:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } [sub_resource type="Animation" id="Animation_x0d5q"] resource_name = "vanish" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../../..:visible") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("../../..:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:rotation") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(2.73208, 1), "update": 0, "values": [0.349066, 0.698132] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] _data = { &"RESET": SubResource("Animation_ytihj"), &"de": SubResource("Animation_ayw8a"), &"en": SubResource("Animation_7qabw"), &"ini": SubResource("Animation_kn83e"), &"vanish": SubResource("Animation_x0d5q") } [node name="therapy_2" type="CenterContainer"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_ym0sv") story_array = PackedStringArray("I sometimes wish I could go back in time to save myself from Lukas.", "Sometimes I even want to fight him one last time to make him feel how much he hurt me.", "I don\'t like these thoughts, because all they do is make my head spiral into an endless void of anger and doubt.", "So on a calm mind, I just hope he learned his lesson so his next love doesn\'t need to become a survivor.", "But do I regret being one?", "I mean it has made me go to therapy and that was a good thing.", "My therapist was pretty young and still in training.", "Talking to *him* about sex never really worked for me.", "So I still don\'t know what to do about my cravings. I\'d rather not have them but I can\'t deny they exist.", "At least he gave me the tools to figure it out on my own.", "Old thoughts are here to stay, he always said. But you can choose how to react.", "And while I choose to not react to my cravings for now, I can choose something different in the future.", "He also helped me manage the gauntlet that is an ADHD diagnosis. I suspect I wouldn\'t have the executive skills to get that on my own.", "So I guess I got my medication thanks to Lukas?", "And I can tell when to brace for my period because the weird urge to make my ex hit some very hard ground is quite specific.") paragraph_lengths = PackedInt32Array(2, 3, 4, 5, 8, 11, 12, 14) progress = -1.0 [node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 2 mouse_filter = 1 [node name="StartFrame" type="TextureRect" parent="PanelContainer"] custom_minimum_size = Vector2(900, 900) layout_mode = 2 size_flags_vertical = 0 texture = ExtResource("2_00crh") expand_mode = 2 stretch_mode = 4 [node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -450.0 offset_top = -450.0 offset_right = 450.0 offset_bottom = 450.0 grow_horizontal = 2 grow_vertical = 2 rotation = 0.349066 pivot_offset = Vector2(450, 450) mouse_filter = 1 [node name="TextureRect" type="TextureRect" parent="PanelContainer/StartFrame"] layout_mode = 1 anchors_preset = 6 anchor_left = 1.0 anchor_top = 0.5 anchor_right = 1.0 anchor_bottom = 0.5 offset_left = 117.0 offset_top = -320.0 offset_right = 1141.0 offset_bottom = 1216.0 grow_horizontal = 0 grow_vertical = 2 scale = Vector2(0.5, 0.5) texture = SubResource("ViewportTexture_ho85h") [node name="SubViewport" type="SubViewport" parent="PanelContainer/StartFrame/TextureRect"] own_world_3d = true world_3d = SubResource("World3D_4m36g") transparent_bg = true msaa_3d = 1 canvas_cull_mask = 4293918724 size = Vector2i(1024, 1536) render_target_update_mode = 3 [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" text = "Doctors Note" [node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 700) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 2 mouse_filter = 2 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 [node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll"] unique_name_in_owner = true custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true text = "[p]I sometimes wish I could go back in time to save myself from Lukas. Sometimes I even want to fight him one last time to make him feel how much he hurt me. I don't like these thoughts, because all they do is make my head spiral into an endless void of anger and doubt. [/p][p][font_size=8] [/font_size][/p][p]So on a calm mind, I just hope he learned his lesson so his next love doesn't need to become a survivor. [/p][p][font_size=8] [/font_size][/p][p]But do I regret being one? [/p][p][font_size=8] [/font_size][/p][p]I mean it has made me go to therapy and that was a good thing. [/p][p][font_size=8] [/font_size][/p][p]My therapist was pretty young and still in training. Talking to *him* about sex never really worked for me. So I still don't know what to do about my cravings. I'd rather not have them but I can't deny they exist. [/p][p][font_size=8] [/font_size][/p][p]At least he gave me the tools to figure it out on my own. Old thoughts are here to stay, he always said. But you can choose how to react. And while I choose to not react to my cravings for now, I can choose something different in the future. [/p][p][font_size=8] [/font_size][/p][p]He also helped me manage the gauntlet that is an ADHD diagnosis. I suspect I wouldn't have the executive skills to get that on my own. [/p][p][font_size=8] [/font_size][/p][p]So I guess I got my medication thanks to Lukas? And I can tell when to brace for my period because the weird urge to make my ex hit some very hard ground is quite specific. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters_behavior = 1 [node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) layout_mode = 2 size_flags_vertical = 8 texture = ExtResource("3_3iy8l") expand_mode = 2 stretch_mode = 4 [node name="SkipControl" parent="PanelContainer" instance=ExtResource("4_32a0r")] unique_name_in_owner = true layout_mode = 2 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true root_node = NodePath("../PanelContainer/StartFrame/Panel") libraries = { &"": SubResource("AnimationLibrary_dc6th") } autoplay = "ini" [node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] mix_target = 2 bus = &"text" script = ExtResource("7_xkdnh")