From e9b21183e30968a3832268dce2690c35b0cf0208 Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 6 May 2025 12:51:51 +0200 Subject: [PATCH 01/25] fix the bluddy card disappearing bug for good --- src/logic-scenes/board/demo-card.tscn | 71 +++++++++++++++++++++++++++ src/logic-scenes/startup/startup.tscn | 8 ++- src/thank-you.tscn | 20 +++----- 3 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 src/logic-scenes/board/demo-card.tscn diff --git a/src/logic-scenes/board/demo-card.tscn b/src/logic-scenes/board/demo-card.tscn new file mode 100644 index 0000000..82285e7 --- /dev/null +++ b/src/logic-scenes/board/demo-card.tscn @@ -0,0 +1,71 @@ +[gd_scene load_steps=8 format=3 uid="uid://dhohgea31bn40"] + +[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="2_jx3wu"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_aqrbw"] +atlas = ExtResource("2_jx3wu") +region = Rect2(0, 880, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e20ok"] +atlas = ExtResource("2_jx3wu") +region = Rect2(0, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_onstk"] +atlas = ExtResource("2_jx3wu") +region = Rect2(600, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mtvrf"] +atlas = ExtResource("2_jx3wu") +region = Rect2(600, 0, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_inyug"] +atlas = ExtResource("2_jx3wu") +region = Rect2(0, 0, 600, 440) + +[sub_resource type="SpriteFrames" id="SpriteFrames_cu2at"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_aqrbw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e20ok") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_onstk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mtvrf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_inyug") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[node name="Visual" type="Node2D"] + +[node name="BackgroundSprite" type="AnimatedSprite2D" parent="."] +unique_name_in_owner = true +clip_children = 2 +scale = Vector2(0.6, 0.6) +sprite_frames = SubResource("SpriteFrames_cu2at") +frame = 1 + +[node name="Label" type="Label" parent="."] +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -136.0 +offset_top = -95.0 +offset_right = 165.0 +offset_bottom = 131.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_type_variation = &"card_text" +text = "Lukas did not ask for consent, he didn't explain a thing, I didn't even move! Yet he dared to assume, that " +autowrap_mode = 3 diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index 7a8a9e0..b18e85c 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -222,13 +222,12 @@ layout_mode = 2 [node name="TabContainer" type="TabContainer" parent="CenterContainer/PanelContainer/VBoxContainer"] layout_mode = 2 -current_tab = 2 +current_tab = 0 tabs_visible = false use_hidden_tabs_for_min_size = true script = SubResource("GDScript_ia432") [node name="physical Accessibility" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"] -visible = false layout_mode = 2 metadata/_tab_index = 0 @@ -362,6 +361,7 @@ visible = false layout_mode = 2 [node name="Managing Expectations" type="VBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer"] +visible = false layout_mode = 2 metadata/_tab_index = 2 @@ -434,7 +434,11 @@ grow_vertical = 2 text = "I stream this game, please show content notes." [node name="card" parent="." instance=ExtResource("5_7c77g")] +process_mode = 4 position = Vector2(1491, 598) +collision_layer = 0 +collision_mask = 0 +input_pickable = false text = "I never put in much effort for Homework" [connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/reduce motion" to="." method="_on_reduce_motion_toggled"] diff --git a/src/thank-you.tscn b/src/thank-you.tscn index 80f1db2..35848eb 100644 --- a/src/thank-you.tscn +++ b/src/thank-you.tscn @@ -3,7 +3,7 @@ [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_picwm"] [ext_resource type="FontFile" uid="uid://cb66e4mqysgf8" path="res://import/fonts/title_handwriting.tres" id="2_jb5y5"] [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_oob40"] -[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="4_48hwg"] +[ext_resource type="PackedScene" uid="uid://dhohgea31bn40" path="res://logic-scenes/board/demo-card.tscn" id="4_u0gbc"] [ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/sticky-note.tscn" id="5_sfuv4"] [sub_resource type="GDScript" id="GDScript_cqlqo"] @@ -150,30 +150,24 @@ texture = ExtResource("3_oob40") expand_mode = 2 stretch_mode = 4 -[node name="card" parent="childhood/PanelContainer" instance=ExtResource("4_48hwg")] -process_mode = 4 +[node name="Visual" parent="childhood/PanelContainer" instance=ExtResource("4_u0gbc")] position = Vector2(1164, 301) -collision_layer = 0 -collision_mask = 0 -text = "Lukas did not ask for consent, he didn't explain a thing, I didn't even move! Yet he dared to assume, that " -[node name="sticky-note" parent="childhood/PanelContainer/card" instance=ExtResource("5_sfuv4")] +[node name="sticky-note" parent="childhood/PanelContainer/Visual" instance=ExtResource("5_sfuv4")] position = Vector2(39, 120) rotation = -0.103332 +scale = Vector2(1, 1) collision_layer = 0 collision_mask = 0 text = "I was wet so I must have been into it" -[node name="card2" parent="childhood/PanelContainer" instance=ExtResource("4_48hwg")] -process_mode = 4 +[node name="Visual2" parent="childhood/PanelContainer" instance=ExtResource("4_u0gbc")] position = Vector2(1287, 589) -collision_layer = 0 -collision_mask = 0 -text = "Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralised, so " -[node name="sticky-note" parent="childhood/PanelContainer/card2" instance=ExtResource("5_sfuv4")] +[node name="sticky-note2" parent="childhood/PanelContainer/Visual2" instance=ExtResource("5_sfuv4")] position = Vector2(-208.193, 96.8376) rotation = 0.123092 +scale = Vector2(1, 1) collision_layer = 0 collision_mask = 0 text = "I didn't say stop" From 58db7dd199f35eba9759fbc0634de2d1d7e037fc Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 00:19:09 +0200 Subject: [PATCH 02/25] fix #139 replace paragraph formatting marks from i18n file --- .../youth_room/scnees/childhood.tscn | 5 +- .../youth_room/scnees/draven.tscn | 5 +- .../youth_room/scnees/jui_jutsu.tscn | 11 +- .../youth_room/scnees/scene_player.gd | 27 ++- .../youth_room/youth_room.tscn | 4 + src/internationalisation.csv | 193 +++++++++--------- src/internationalisation.de.translation | Bin 17649 -> 17637 bytes src/internationalisation.en.translation | Bin 15954 -> 15578 bytes src/internationalisation.es.translation | Bin 7501 -> 7533 bytes src/internationalisation.ja.translation | Bin 7501 -> 7533 bytes src/internationalisation.notes.translation | Bin 8032 -> 8064 bytes 11 files changed, 134 insertions(+), 111 deletions(-) diff --git a/src/base-environments/youth_room/scnees/childhood.tscn b/src/base-environments/youth_room/scnees/childhood.tscn index f4cc842..ad2f583 100644 --- a/src/base-environments/youth_room/scnees/childhood.tscn +++ b/src/base-environments/youth_room/scnees/childhood.tscn @@ -431,7 +431,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_40hhx") -story_array = Array[String](["[p]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."]) +story_array = PackedStringArray("[p]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.") +paragraph_lengths = PackedInt32Array(3, 4, 6, 9, 10, 13, 14, 15, 16) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -557,7 +558,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]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." +text = "[p][p]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. [/p][p][font_size=8] [/font_size][/p][p]Dinner was difficult. [/p][p][font_size=8] [/font_size][/p][p]I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. [/p][p][font_size=8] [/font_size][/p][p]‘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. [/p][p][font_size=8] [/font_size][/p][p]Yes, I didn't do homework, but my teachers didn't mind it as much with me [/p][p][font_size=8] [/font_size][/p][p]- 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. [/p][p][font_size=8] [/font_size][/p][p]Mr Thomas probably even understood me better than my own mom. [/p][p][font_size=8] [/font_size][/p][p]He said I was gifted. He said I just didn't need homework for good grades. [/p][p][font_size=8] [/font_size][/p][p]And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters_behavior = 1 diff --git a/src/base-environments/youth_room/scnees/draven.tscn b/src/base-environments/youth_room/scnees/draven.tscn index c50d8de..fad0549 100644 --- a/src/base-environments/youth_room/scnees/draven.tscn +++ b/src/base-environments/youth_room/scnees/draven.tscn @@ -402,7 +402,8 @@ offset_right = -875.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_o2rjr") -story_array = Array[String](["Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.", "He had been searching for a while and he knew a special someone must be hiding in the thicket.", "When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.", "But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?", "He was sure of it, as the familiar scent has never been stronger than tonight.", "When suddently: Was that chatter?", "His wings rustled with joy over the familiar voice and Dräven decided to get a better look.", "A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.", "But all he saw was a fox.", "He didn't even want to bother it anymore.", "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.", "With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.", "It took him a while to notice, how there was a sudden silence when the clouds broke: ", "Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.", "The whole forest held its breath as it stared into eyes of moonlight gazing down.", "Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ", "It must feel so lost in the universe. ", "But his tears were of joy: It was the first time Dräven saw another creature of many kinds."]) +story_array = PackedStringArray("Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.", "He had been searching for a while and he knew a special someone must be hiding in the thicket.", "When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn\'t think much of it.", "But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?", "He was sure of it, as the familiar scent has never been stronger than tonight.", "When suddently: Was that chatter?", "His wings rustled with joy over the familiar voice and Dräven decided to get a better look.", "A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.", "But all he saw was a fox.", "He didn\'t even want to bother it anymore.", "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.", "With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.", "It took him a while to notice, how there was a sudden silence when the clouds broke: ", "Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.", "The whole forest held its breath as it stared into eyes of moonlight gazing down.", "Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ", "It must feel so lost in the universe. ", "But his tears were of joy: It was the first time Dräven saw another creature of many kinds.") +paragraph_lengths = PackedInt32Array(2, 4, 5, 6, 8, 9, 12, 14, 17) [node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 2 @@ -458,7 +459,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.He had been searching for a while and he knew a special someone must be hiding in the thicket.When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?He was sure of it, as the familiar scent has never been stronger than tonight.When suddently: Was that chatter?His wings rustled with joy over the familiar voice and Dräven decided to get a better look.A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.But all he saw was a fox.He didn't even want to bother it anymore.It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.It took him a while to notice, how there was a sudden silence when the clouds broke: Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.The whole forest held its breath as it stared into eyes of moonlight gazing down.Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds." +text = "[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. [/p][p][font_size=8] [/font_size][/p][p]But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? He was sure of it, as the familiar scent has never been stronger than tonight. [/p][p][font_size=8] [/font_size][/p][p]When suddently: Was that chatter? [/p][p][font_size=8] [/font_size][/p][p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. [/p][p][font_size=8] [/font_size][/p][p]A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. But all he saw was a fox. [/p][p][font_size=8] [/font_size][/p][p]He didn't even want to bother it anymore. [/p][p][font_size=8] [/font_size][/p][p]It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. It took him a while to notice, how there was a sudden silence when the clouds broke: [/p][p][font_size=8] [/font_size][/p][p]Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. [/p][p][font_size=8] [/font_size][/p][p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters = 0 diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index 4f6d290..3503208 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -712,7 +712,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_aby4n") -story_array = Array[String](["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 got 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.", "He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.", "She was always so worried.", "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?"]) +story_array = PackedStringArray("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 got 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?") +paragraph_lengths = PackedInt32Array(3, 4, 6, 8, 9, 10, 13, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -769,12 +770,12 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -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 got 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.He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.She was always so worried.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?" +text = "[p]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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]I slowly returned. \"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]He gently stroked the back I was curling towards him. [/p][p][font_size=8] [/font_size][/p][p]That was good. He was a sweet angel. Why must he be so bad at comforting? [/p]" fit_content = true scroll_active = false -visible_characters = 1603 +visible_characters = 1637 visible_characters_behavior = 1 -visible_ratio = 0.607657 +visible_ratio = 0.641961 [node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) @@ -808,7 +809,7 @@ noise_power = 5.0 [node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"] emitting = false -amount = 1 +amount = 500 texture = ExtResource("6_0qiyf") lifetime = 5.0 one_shot = true diff --git a/src/base-environments/youth_room/scnees/scene_player.gd b/src/base-environments/youth_room/scnees/scene_player.gd index 35b6d05..f6c22cc 100644 --- a/src/base-environments/youth_room/scnees/scene_player.gd +++ b/src/base-environments/youth_room/scnees/scene_player.gd @@ -8,19 +8,29 @@ signal intro #TODO properly implement animation taking stage, as it should do, disabling processing when it does not have stage. var max_lines: float = 0 -@export var story_array: Array[String] = []: - set(array): - story_array = array +@export var story_array: PackedStringArray = []: + set(str_array): + story_array = str_array if is_node_ready(): - label.text = "" substring_sizes = [] if Engine.is_editor_hint(): TranslationServer.set_locale("en") - for string in array: - label.text += TranslationServer.translate(string).replace("[/p]", "[/p][p][font_size=8] [/font_size][/p]") - substring_sizes.append(TranslationServer.translate(string).replace("[/p]", ".").replace("[p]", "").length()) + var p: int = 0 + label.text = "[p]" + for i in range(str_array.size()): + label.text += TranslationServer.translate(str_array[i]).strip_edges() + " " + substring_sizes.append(TranslationServer.translate(str_array[i]).strip_edges().length() + 1) + if not paragraph_lengths[-1] == story_array.size()-1: + paragraph_lengths.append(story_array.size()-1) + if paragraph_lengths[p] == i: + p += 1 + label.text += "[/p][p][font_size=8] [/font_size][/p][p]" + substring_sizes[-1] = substring_sizes[-1] + 1 + label.text += "[/p]" max_lines = float(label.get_line_count()) +@export var paragraph_lengths: PackedInt32Array = [] + @export var progress: float = 0: set(value): progress = value @@ -64,6 +74,7 @@ func _ready() -> void: skip_control.skip.connect(skip_text) if get_tree().root.get_child(-1) == self: + TranslationServer.set_locale("de") play_scene() story_array = story_array progress = progress @@ -93,7 +104,7 @@ func play_scene(): ##FIXME match State.text_language: match TranslationServer.get_locale(): "de": - animation_player.queue("de") + animation_player.queue("en") "en": animation_player.queue("en") diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index da47311..50afa94 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1651,6 +1651,7 @@ volume_db = -80.0 bus = &"music" [node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")] +paragraph_lengths = null [node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("10_wwwdq") @@ -1658,13 +1659,16 @@ volume_db = -80.0 bus = &"music" [node name="JuiJutsu" parent="logic/ScenePlayer" instance=ExtResource("12_x3dlb")] +paragraph_lengths = null [node name="voice_training" parent="logic/ScenePlayer" instance=ExtResource("13_v3447")] +paragraph_lengths = null [node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"music" [node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")] +paragraph_lengths = null [node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer"] transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0) diff --git a/src/internationalisation.csv b/src/internationalisation.csv index 613adb8..0433794 100644 --- a/src/internationalisation.csv +++ b/src/internationalisation.csv @@ -1,5 +1,5 @@ keys,en,de,es,ja,notes -"Acessibility, Disclaimers and Content Notes","Acessibility, Disclaimers and Content Notes",Barrierefreiheit und Erwartungsmanagement,,, +"Accessibility, Disclaimers and Content Notes","Accessibility, Disclaimers and Content Notes",Barrierefreiheit und Erwartungsmanagement,,, Accessibility,Accessibility,Barrierefreiheit,,, reduce motion,reduce motion,Reduzierte Animationen,,, use Screenreader,use Screenreader,Screen-Reader aktivieren,,, @@ -33,37 +33,37 @@ I would like to know more.,I would like to know more.,Ich würde gern mehr wisse Is this game for or about me?,Is this game for or about me?,Ist dieses Spiel für oder über mich?,,, "[ul] This game tells one story about one fictional character. -This character was desiged to tell an honest and acsssible story about identity and trauma. +This character was designed to tell an honest and accessible story about identity and trauma. This is not the game for you if you are looking for escapism. This is not therapy. -You might feel understood if exeriences you've had are close to the characters. +You might feel understood if experiences you've had are close to the characters. It might help you understand a friend. It will tell you things a group of peers, that reflected about their similar, but specific experiences, want more people to know about. -This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own exerpiences about subjects, where betalars could not. +This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own experiences about subjects, where betalars could not. [/ul]","[ul] This game tells one story about one fictional character. -This character was desiged to tell an honest and acsssible story about identity and trauma. +This character was designed to tell an honest and accessible story about identity and trauma. This is not the game for you if you are looking for escapism. This is not therapy. -You might feel understood if exeriences you've had are close to the characters. +You might feel understood if experiences you've had are close to the characters. It might help you understand a friend. It will tell you things a group of peers, that reflected about their similar, but specific experiences, want more people to know about. -This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own exerpiences about subjects, where betalars could not. +This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own experiences about subjects, where betalars could not. [/ul]","[ul] -In diesem Spiel wird eine Geschichte eines fitkionalen Charakters erzählt. +In diesem Spiel wird eine Geschichte eines fiktionalen Charakters erzählt. Der Charakter wurde geschrieben, um eine zugängliche und ehrliche Geschichte über Trauma zu erzählen. -Dieses Spiel bietet keinen Eskarpismus. +Dieses Spiel bietet keinen Eskapismus. Dieses Spiel ist keine Therapie. Vielleicht fühlst du dich verstanden, wenn deine Erfahrungen dem Charakter ähneln. -Vielleicht hillft es dir, jemand befreundetes zu verstehen. +Vielleicht hilft es dir, jemand befreundetes zu verstehen. Dieses Spiel wurde von einer Gruppe an Leuten geschaffen, die sehr spezifische Erfahrungen, die sie gemeinsam gemacht haben, teilen wollten. Dieses Spiel ist von betalars. An vielen Stellen wurde hier aus eigener Erfahrung geschrieben und da, wo keine eigenen Erfahrungen da waren, wurden Betroffene einbezogen. [/ul]",,,leave the [ul] and [/ul] please avoid using gendered words for betalars if possible (they are non-binary) What may be difficult about the premise?,What may be difficult about the premise?,Warum könnte die Prämisse schwierig sein?,,, -"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber diene Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,, +"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber deine Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,, What are the game's topics? (Content Notes),What are the game's topics? (Content Notes),Worum geht es im Spiel (Content Warnungen),,, "This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","In diesem Spiel geht es um mentale Gesundheit und Sex-Positivität. Es enthält einen trans Charakter, der sich darüber nicht im klaren ist und daher auch zunächst noch keinen eigenen Namen hat. Neben Sozialer Transition thematisiert das Spiel Mysoginie, Diskriminierung wegen mentalen Behinderungen, Probleme mit dem Körperbild, Essstörungen, Mobbing, Kampfkunst, Beziehungen und Vergewaltigungen, jedoch nicht durch körperliche Gewalt. Comic Gewalt wird erwähnt in einer im Spiel fiktionalen Geschichte.",,,"The Rape being discussed in this game is non-consensual sex, but also non-voilent." -Mental Health Acessibility Options,Mental Health Accessability Options,Barrierefreiheit für psychische Störungen,,, +Mental Health Accessibility Options,Mental Health Accessibility Options,Barrierefreiheit für psychische Störungen,,, "[ul] You can always Pause using Escape or Spacebar You can always choose to just get a neutral summary of scenes or skip them entirely @@ -72,14 +72,14 @@ You can always Pause using Escape or Spacebar You can always choose to just get a neutral summary of scenes or skip them entirely [/ul]","[ul] Du kannst immer mit Pause oder Escape pausieren. -Du kanns dir wünschen, dass du bei schwierige Szenen überspringen kannst und eine neutrale Zusammenfassung davon bekommst.",,, +Du kannst dir wünschen, dass du bei schwierige Szenen überspringen kannst und eine neutrale Zusammenfassung davon bekommst.",,, show content notes during the game,show content notes during the game,Inhaltswarnungen im Spiel anzeigen,,, allow me to skip scenes,allow me to skip scenes,Überspringen von Szenen ermöglichen,,, "[center][i]I assure you I did my best, But I am only human and this is just one game.[/i][/center]","[center][i]I assure you I did my best, But I am only human and this is just one game.[/i][/center]","[center][i]Ich verspreche ich habe mein Bestes getan, Aber ich bin nur ein Mensch und kein Spiel wird je -ein Leben vollumfänglich zeigen können.[/i][/center]",,,"This is intentionally pheased as “only one game” instead of “only a game”, hinting at it being maningful, but limited in what it can convey on it’s own." +ein Leben vollumfänglich zeigen können.[/i][/center]",,,"This is intentionally phrased as “only one game” instead of “only a game”, hinting at it being meaningful, but limited in what it can convey on its own." new Game,new Game,neues Spiel,,, continue,continue,weiter spielen,,, load,load,Spiel laden,,, @@ -96,9 +96,9 @@ Quality,Quality,Qualität,,, Fulscreen Mode,Fulscreen Mode,Fenster-Modus,,, Windowed,Windowed,im Fenster,,, Fullscreen,Fullscreen,Vollbild,,, -exclusive Fullscreen,exclusive Fullscreen,exklusived Vollbild,,, +exclusive Fullscreen,exclusive Fullscreen,exklusives Vollbild,,, Rendering Scale,Rendering Scale,Skalierung,,, -reset,reset,zurück setzen,,, +reset,reset,zurücksetzen,,, Super Resolution,Super Resolution,Super Resolution,,, disabled,disabled,aus,,, limit FPS,limit FPS,FPS begrenzen,,, @@ -125,15 +125,15 @@ close,close,zurück,,, save and apply,save and apply,speichern und anwenden,,, "Settings have been modified. Do you really want to leave without saving?","Settings have been modified. -Do you really want to leave without saving?","Es gibt nicht gespeicherte Veränderungen. +Do you really want to leave without saving?","Es gibt nicht gespeicherte Änderungen. Möchtest du wirklich zurück ohne zu speichern?",,, leave,leave,wirklich verlassen,,, save,save,speichern,,, abort,abort,abbrechen,,, Gameplay Settings,Gameplay Settings,Spieleinstellungen,,, -invert Y (gamepad),invert Y (gamepad),Y-Axhse invertieren,,, +invert Y (gamepad),invert Y (gamepad),Y-Achse invertieren,,, Input Sensitivity,Input Sensitivity,Eingabesensibilität,,, -Stream Overlay,Stream Overlay,Stream-Einlbendungen,,, +Stream Overlay,Stream Overlay,Stream-Einblendungen,,, Displays content note and currently playing music at a corner of the screen.,Displays content note and currently playing music at s corner of the screen.,Zeigt Hinweise zu sensiblen Themen und aktuell laufender Musik an einer Ecke des Bildschirms an.,,, none,none,keine,,, top left,top left,oben links,,, @@ -188,90 +188,95 @@ laughed_at,I'm afraid I will just get laughed at,"was, wenn ich deswegen ausgela confusion,I am just too many things at once,Ich bin zu viel gleichzeitig.,,, inner_conflict,it is just so overwhealming for me,das ist einfach überfordernd für mich.,,, outer_conflict,this is just too much for others,das ist einfach überfordernd für andere.,,, -"[p]Oh, my old mask. I have so many good memories about theatre club. ","[p]Oh, my old mask. I have so many good memories about theatre club.","[p]Nahw, meine gute alte Maske. Ich habe so schöne Erinnerungen an die Theater-AG. ",,, +"[p]Oh, my old mask. I have so many good memories about theatre club. ","Oh, my old mask. I have so many good memories about theatre club.","Nahw, meine gute alte Maske. Ich habe so schöne Erinnerungen an die Theater-AG. ",,, "I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","Ich hab den ganzen Nachmittag geübt, wochenlang. Mein Bett eine große Bühne. ",,, -"my mom would get mad at me, when she had to call me three or four times for dinner. ","my mom would get mad at me, when she had to call me three or four times for dinner. [/p]","Es gab so oft Zoff, weil mich meine Mutter immer wieder zum Essen rufen musste.[/p]",,, -I just … didn’t like the interruptions. We both were often mad at each other.,[p]I just … didn’t like the interruptions. We both were often mad at each other.[/p],[p]Ich konnte die Unterbrechnungen einfach nicht ab. Wir haben uns so oft deswegen gestritten.[/p],,, -Dinner was difficult. ,[p]Dinner was difficult. ,[p]Abendbrot war die Hölle. ,,, -"I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.","I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.[/p]","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom.[/p]",,, -She was always so worried.,[p]She was always so worried: ,[p]Sie war immer besorgt. ,,, -" ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls,""","‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, ","“Lisa, deine Hausaufgaben!, Lisa, warum warst du heute nicht bei den Mädels draußen?, ",,, -"""Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’[/p]","Lisa, warum hat dich Steffi nicht eingeladen?, Lisa dies, Lisa das.”[/p]",,, -But I was fine! She just wouldn’t listen.,[p]But I was fine! She just wouldn’t listen.[/p],"[p]Mir ging gut, okay? Als ob sie das je interessiert hätte.[/p]",,, -"Yes, I didn’t do homework, but my teachers didn’t mind it as much with me ","[p]Yes, I didn’t do homework, but my teachers didn’t mind it as much with me ","[p]Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,, -- which the other kids wouldn’t shut up about. But like … ,", which the other kids wouldn’t shut up about. But like … ","außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,, -they also made fun of me reading school books and talking to my teachers during breaks.,they also made fun of me reading school books and talking to my teachers during breaks. ,"Vielleicht hätten die auch mal ein Buch in die Hand nehmen sollen statt sich darüber zu zerreißen, dass ich in der Pause lieber mit den Erwachsenen geredet habe. ",,, -But at least I could fucking talk to teachers and they had stuff to say. ,But at least I could fucking talk to teachers and they had stuff to say.[/p],Immerhin konnte man mit denen reden und die haben auch was erzählt.[/p],,, -Mr Thomas probably even understood me better than my own mom.,[p]Mr Thomas probably even understood me better than my own mom.[/p],"[p]Herr Thomas hat mich vermutlich besser verstanden, als meine eigene Mutter.[/p]",,, -He said I was gifted. He said I just didn’t need homework for good grades.,[p]He said I was gifted. He said I just didn’t need homework for good grades.[/p],"[p]Er hat immer gesagt ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe.[/p]",,, -And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B.,[p]And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B.[/p],"[p]Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme.[/p]",,, -Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.,[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. ,"[p]Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,, -He had been searching for a while and he knew a special someone must be hiding in the thicket.,He had been searching for a while and he knew a special someone must be hiding in the thicket.[/p],"Lang schon suchte er vergeblich, doch war er sich heute gewiss: jemand ganz besonderes hält sich zwischen Farnen und Gestrüpp versteckt.[/p]",,, -"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it.","[p]When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it. ","[p]Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eigner Schweif. ",,, -"But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?[/p]","Doch dann Spuren, die den seinen glichen, wo er noch nicht gewesen war. Würde er endlich seinesgleichen finden?[/p]",,, -"He was sure of it, as the familiar scent has never been stronger than tonight.","[p]He was sure of it, as the familiar scent has never been stronger than tonight.[/p]","[p]Bestimmt, denn der vertraute Duft war heute Nacht so stark, wie nie..[/p]",,, -When suddently: Was that chatter?,[p]When suddently: Was that chatter?[/p],[p]Plötzlich: war das Keckern?[/p],,, -His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,[p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. ,[p]Seine Flügel raschelten vor Freude über die vertraute Stimme und Drävens Neugier war geweckt. ,,, -"A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.[/p]","Flatternd sprang er in Wipfel, um einen Blick auf seinen baldigen Freund zu erhaschen.[/p]",,, -But all he saw was a fox.,[p]But all he saw was a fox.[/p],[p]Doch er sah nichts als einen Fuchs.[/p],,, -He didn’t even want to bother it anymore.,[p]He didn’t even want to bother it anymore. ,[p]Er wollte sich dem Tier nicht einmal mehr nähern. ,,, +"my mom would get mad at me, when she had to call me three or four times for dinner. ","my mom would get mad at me, when she had to call me three or four times for dinner. ","Es gab so oft Zoff, weil mich meine Mutter immer wieder zum Essen rufen musste.",,, +I just … didn't like the interruptions. We both were often mad at each other.,I just … didn't like the interruptions. We both were often mad at each other.,Ich konnte die Unterbrechungen einfach nicht ab. Wir haben uns so oft deswegen gestritten.,,, +Dinner was difficult.,Dinner was difficult.,Abendbrot war die Hölle.,,, +"I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom.",,, +She was always so worried.,She was always so worried:,Sie war immer besorgt.,,, +" ‘Lisa, you forgot your homework, Lisa why won't you play with the other girls,""","‘Lisa, you forgot your homework, Lisa why won't you play with the other girls, ","“Lisa, deine Hausaufgaben!, Lisa, warum warst du heute nicht bei den Mädels draußen?, ",,, +"""Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa, warum hat dich Steffi nicht eingeladen?, Lisa dies, Lisa das.”",,, +But I was fine! She just wouldn't listen.,But I was fine! She just wouldn't listen.,"Mir ging gut, okay? Als ob sie das je interessiert hätte.",,, +"Yes, I didn't do homework, but my teachers didn't mind it as much with me ","Yes, I didn't do homework, but my teachers didn't mind it as much with me ","Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,, +- which the other kids wouldn't shut up about. But like …,", which the other kids wouldn't shut up about. But like … ","außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,, +they also made fun of me reading school books and talking to my teachers during breaks.,they also made fun of me reading school books and talking to my teachers during breaks.,"Vielleicht hätten die auch mal ein Buch in die Hand nehmen sollen statt sich darüber zu zerreißen, dass ich in der Pause lieber mit den Erwachsenen geredet habe. ",,, +But at least I could fucking talk to teachers and they had stuff to say.,But at least I could fucking talk to teachers and they had stuff to say.,Immerhin konnte man mit denen reden und die haben auch was erzählt.,,, +Mr Thomas probably even understood me better than my own mom.,Mr Thomas probably even understood me better than my own mom.,"Herr Thomas hat mich vermutlich besser verstanden, als meine eigene Mutter.",,, +He said I was gifted. He said I just didn't need homework for good grades.,He said I was gifted. He said I just didn't need homework for good grades.,"Er hat immer gesagt ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe.",,, +And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,"Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme.",,, +Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,"Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,, +He had been searching for a while and he knew a special someone must be hiding in the thicket.,He had been searching for a while and he knew a special someone must be hiding in the thicket.,"Lang schon suchte er vergeblich, doch war er sich heute gewiss: jemand ganz besonderes hält sich zwischen Farnen und Gestrüpp versteckt.",,, +"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.","When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. ","Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eig'ner Schweif. ",,, +"But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","Doch dann Spuren, die den seinen glichen, wo er noch nicht gewesen war. Würde er endlich seinesgleichen finden?",,, +"He was sure of it, as the familiar scent has never been stronger than tonight.","He was sure of it, as the familiar scent has never been stronger than tonight.","Bestimmt, denn der vertraute Duft war heute Nacht so stark, wie nie..",,, +When suddenly: Was that chatter?,When suddenly: Was that chatter?,Plötzlich: war das Keckern?,,, +His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,Seine Flügel raschelten vor Freude über die vertraute Stimme und Drävens Neugier war geweckt.,,, +"A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","Flatternd sprang er in Wipfel, um einen Blick auf seinen baldigen Freund zu erhaschen.",,, +But all he saw was a fox.,But all he saw was a fox.,Doch er sah nichts als einen Fuchs.,,, +He didn't even want to bother it anymore.,He didn't even want to bother it anymore.,Er wollte sich dem Tier nicht einmal mehr nähern.,,, "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.","It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. ","Es würde eh nur Kreischen vor Lachen über seine Flügel aus Blättern. Genau wie die Bäume sich geschüttelt haben über seine Pfoten, die keine Wurzeln sind. ",,, -"With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.","With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.[/p]",Wimmernd schlug Dräven seine Flügel auf und glitt davon zu seinem Lieblingsplatz am See. Vielleicht vermochte ihn sein Spiegelbild zu trösten.[/p],,, -"It took him a while to notice, how there was a sudden silence when the clouds broke: ","[p]It took him a while to notice, how there was a sudden silence when the clouds broke: ","[p]Dräven hätte fast nicht gemerkt, wie der Wald den Atem anhielt, als sich die Wolken teilten. ",,, -"Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.","Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.[/p]",Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken.[/p],,, -The whole forest held its breath as it stared into eyes of moonlight gazing down.,[p]The whole forest held its breath as it stared into eyes of moonlight gazing down. ,"[p]Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiederten. ",,, -Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ,[p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ,"[p]Dräven war zu Tränen gerührt, als er in hinauf sah. Voller Trauer um dem Drachen, der von Wolken, Sternen und Mondlicht war. ",,, -It must feel so lost in the universe. ,It must feel so lost in the universe.[/p],Er muss sich so verloren fühlen am Himmel.[/p],,, -But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,[p]But his tears were of joy: It was the first time Dräven saw another creature of many kinds.[/p],"[p]Doch es waren Tränen der Freude. Denn es war das erste mal, dass Dräven ein anderes Viel-Wesen sah.[/p]",,, -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.,[p]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. ,"Boar, warum hängt hier noch dieser Müll? Ich hab Jui Jutsu einfach verkackt.",,, -I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,Ich meine … ich hatte Spaß damals. Leute gut Schlagen können ist großartig.,,, -"It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ","It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger.[/p]","Es gab mir Selbstvertrauen. Ich konnte Leute einschüchtern, wenn sie darum gebettelt haben aufs Maul zu bekommen und weil ich das nur einmal tatsächlich getan habe, war es auch ein super Ventil.",,, -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.,[p]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.[/p],"Ich meine … meine Titten waren die Hölle beim aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas.",,, -He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,[p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. ,Er war so ein Nerd. Er konnte so gut reden. Über Mathe. Er war in seinem dritten Semester und konnte stundenlang erzählen.,,, -Also: my math grades pretty much leaped for my final year in high shool thanks to him.,Also: my math grades pretty much leaped for my final year in high shool thanks to him. ,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn.,,, -"He also helped me so much with jui jitsu, as he properly floored me when I slipped up. ","He also helped me so much with jui jitsu, as he properly floored me when I slipped up.[/p]","Und ach bei Jui Jutsu … es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe.",,, -Also - unlike everyone else - he understood that I didn’t want people to mind my chest. ,[p]Also - unlike everyone else - he understood that I didn’t want people to mind my chest. ,"Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen.",,, -So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. ,"Mit ihm war Kämpfen so gut – auch wenn ich üblicherweise diejenige war, die abschlagen musste und nicht er.",,, -We also had my first proper kiss. I thought I loved him. But now?,We also had my first proper kiss. I thought I loved him. But now?[/p],"Wir hatten auch meinen ersten richtigen Kuss. Ich war so verliebt, und jetzt?",,, -He was weird that evening. Even more huggy and hyperactive than usual. ,[p]He was weird that evening. Even more huggy and hyperactive than usual.[/p],Es war so merkwürdig. Irgendwie noch hibbeliger und näher als so schon.,,, -"We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs.","[p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. ","Wir waren unterm Bett, haben meine geheime Comic-Kiste gelesen als ich keine Lust mehr auf Boden hatte und gesagt hab lass hoch gehen.",,, -We had a play fight on my mattress. I’ve never seen him fight like this. ,We had a play fight on my mattress. I’ve never seen him fight like this. ,Wir haben auf meiner Matraze gekabbelt. Es war so … anders.,,, +"With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.","With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.",Wimmernd schlug Dräven seine Flügel auf und glitt davon zu seinem Lieblingsplatz am See. Vielleicht vermochte ihn sein Spiegelbild zu trösten.,,, +"It took him a while to notice, how there was a sudden silence when the clouds broke: ","It took him a while to notice, how there was a sudden silence when the clouds broke: ","Dräven hätte fast nicht gemerkt, wie der Wald den Atem anhielt, als sich die Wolken teilten. ",,, +"Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.","Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.",Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken.,,, +The whole forest held its breath as it stared into eyes of moonlight gazing down.,The whole forest held its breath as it stared into eyes of moonlight gazing down.,"Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiderten. ",,, +Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.,Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.,"Dräven war zu Tränen gerührt, als er in hinauf sah. Voller Trauer um dem Drachen, der von Wolken, Sternen und Mondlicht war. ",,, +It must feel so lost in the universe.,It must feel so lost in the universe.,Er muss sich so verloren fühlen am Himmel.,,, +But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,"Doch es waren Tränen der Freude. Denn es war das erste mal, dass Dräven ein anderes Viel-Wesen sah.",,, +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.,Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.,"Boar, warum hängt hier noch dieser Müll? Ich hab Jiu Jutsu einfach verkackt.",,, +I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,I mean I did enjoy it while it lasted. Being able to properly hit people was great.,Ich meine … ich hatte Spaß damals. Leute gut Schlagen können ist großartig.,,, +"It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ","It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger.","Es gab mir Selbstvertrauen. Ich konnte Leute einschüchtern, wenn sie darum gebettelt haben aufs Maul zu bekommen und weil ich das nur einmal tatsächlich getan habe, war es auch ein super Ventil.",,, +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.,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.,"Ich meine … meine Titten waren die Hölle beim aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas.",,, +He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,Er war so ein Nerd. Er konnte so gut reden. Über Mathe. Er war in seinem dritten Semester und konnte stundenlang erzählen.,,, +Also: my math grades pretty much leaped for my final year in high shool thanks to him.,Also: my math grades pretty much leaped for my final year in high school thanks to him.,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn.,,, +"He also helped me so much with jui jitsu, as he properly floored me when I slipped up. ","He also helped me so much with jiu jitsu, as he properly floored me when I slipped up.","Und ach bei Jui Jutsu … es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe.",,, +Also - unlike everyone else - he understood that I didn't want people to mind my chest. ,Also - unlike everyone else - he understood that I didn't want people to mind my chest.,"Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen.",,, +So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,"Mit ihm war Kämpfen so gut – auch wenn ich üblicherweise diejenige war, die abschlagen musste und nicht er.",,, +We also had my first proper kiss. I thought I loved him. But now?,We also had my first proper kiss. I thought I loved him. But now?,"Wir hatten auch meinen ersten richtigen Kuss. Ich war so verliebt, und jetzt?",,, +He was weird that evening. Even more huggy and hyperactive than usual. ,He was weird that evening. Even more huggy and hyperactive than usual.,Es war so merkwürdig. Irgendwie noch hibbeliger und näher als so schon.,,, +"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 were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. ","Wir waren unterm Bett, haben meine geheime Comic-Kiste gelesen als ich keine Lust mehr auf Boden hatte und gesagt hab lass hoch gehen.",,, +We had a play fight on my mattress. I’ve never seen him fight like this. ,We had a play fight on my mattress. I've never seen him fight like this.,Wir haben auf meiner Matraze gekabbelt. Es war so … anders.,,, "His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win","His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win ",Seine Finger sind über meinen Körper geglitten ohne mich zu greifen - und er hat mich gewinnen lassen.,,, -… with this smirk on his face.,… with this smirk on his face.[/p],mig dieses Grinsen.,,, -"I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat.","[p]I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals",,, -He started undoing his shirt.,He started undoing his shirt.[/p],Er hat sein Hemd auf gemacht.,,, -Do you have condoms?,[p]”Do you have condoms?”[/p],Hast du Kondome?,,, -"Yes, of course everybody has Why did he ask that?","[p]”Yes, of course everybody has Why did he ask that?”.[/p]","Natürlich, jeder hat Kondome, warum hat er das gefragt?",,, -"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","[p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. ","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,, +… with this smirk on his face.,… with this smirk on his face.,Mit diesem Grinsen!,,, +"I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat.","I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals.",,, +He started undoing his shirt.,He started undoing his shirt.,Er hat sein Hemd auf gemacht.,,, +Do you have condoms?,”Do you have condoms?”,Hast du Kondome?,,, +"Yes, of course everybody has Why did he ask that?","”Yes, of course everybody has Why did he ask that?”.","Natürlich, jeder hat Kondome, warum hat er das gefragt?",,, +"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,, +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.,My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,, +"I … observed him from afar. He … didn't seem to notice, that I had left.","I … observed him from afar. He … didn't seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,, +That I didn't return to kiss him good bye. That I didn't hug him when he went home.,That I didn't return to kiss him goodbye. That I didn't hug him when he went home.,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,, +My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet.,Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,, +"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. ","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,, 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.,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.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,, "I … observed him from afar. He … didn't seem to notice, that I had left.","I … observed him from afar. He … didn’t seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,, -That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.[/p],Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,, -My hands knocked on my brother’s door. He let me lie on his carpet.,[p]My hands knocked on my brother’s door. He let me lie on his carpet.[/p],Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,, -I slowly returned.,[p]I slowly returned.[/p],Langsam bin ich zurück gekehrt.,,, -"""How did it go?, Fabian asked.","[p]""How did it go?, Fabian asked.[/p]","“Wie wars?”, fragte mein Bruder.",,, -"""It was moist”, I said.","[p]""It was moist”, I said.[/p]","“Feucht?”, frgte ich.",,, -“That usually helps.”,[p]“That usually helps.”[/p],"“Das hilft.""",,, -"He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","[p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.[/p]","Er lachte peinlich berührt. Ich wollte auch lachen, aber ich habe mich zusammen gerollt und geweint.",,, -It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” ,[p]It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” ,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich … du … Lisa, es ist okay. Ich weiß das erste mal tut weh.""",,, -He gently stroked the back I was curling towards him.,[p]He gently stroked the back I was curling towards him.,"Sanft streichelte er den Rücken, den ich ihm hin hielt.",,, -That was good. He was a sweet angel. Why must he be so bad at comforting?,That was good. He was a sweet angel. Why must he be so bad at comforting?[/p],Das war gut. Fabi ist so gut zu mir. Warum muss er so schlecht im Trösten sein?,,, -My secret comic stash. I remember playing Que-Men with the boys.,[p]My secret comic stash. I remember playing Que-Men with the boys.,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Que-Men gespielt.,,, -I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q. ,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agend Clue.,,, +That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,, +My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet.,Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,, +I slowly returned.,I slowly returned.,Langsam bin ich zurück gekehrt.,,, +"""How did it go?, Fabian asked.","""How did it go?, Fabian asked.","“Wie wars?”, fragte mein Bruder.",,, +"""It was moist”, I said.","""It was moist”, I said.","“Feucht?”, fragte ich.",,, +“That usually helps.”,“That usually helps.”,"“Das hilft.""",,, +"He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","Er lachte peinlich berührt. Ich wollte auch lachen, aber ich habe mich zusammen gerollt und geweint.",,, +It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” ,It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.”,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich … du … Lisa, es ist okay. Ich weiß das erste mal tut weh.""",,, +He gently stroked the back I was curling towards him.,He gently stroked the back I was curling towards him.,"Sanft streichelte er den Rücken, den ich ihm hin hielt.",,, +That was good. He was a sweet angel. Why must he be so bad at comforting?,That was good. He was a sweet angel. Why must he be so bad at comforting?,Das war gut. Fabi ist so gut zu mir. Warum muss er so schlecht im Trösten sein?,,, +My secret comic stash. I remember playing Clue-Men with the boys.,My secret comic stash. I remember playing Clue-Men with the boys.,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Clue-Men gespielt.,,, +I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q.,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agent Clue.,,, "Going under the radar, putting in precise work to save the world.","Going under the radar, putting in precise work to save the world. ","Mit chirurgischer Präzision im Verborgenen arbeiten, um die Welt zu retten.",,, -Not having to deal with being a girl.,Not having to deal with being a girl.[/p],Kein Mädchen sein müssen.,,, -"Boys were so much easier. They like cars, bikes, guns and agents.","[p]Boys were so much easier. They like cars, bikes, guns and agents.","Jungs sind so viel einfacher. Sie mögen Autos, Motorräder, Waffen und Agenten.",,, -They don’t talk behind your back. They don’t think everything is about relationships.,They don’t talk behind your back. They don’t think everything is about relationships.,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen.,,, -"Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","[p]Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen.",,, +Not having to deal with being a girl.,Not having to deal with being a girl.,Kein Mädchen sein müssen.,,, +"Boys were so much easier. They like cars, bikes, guns and agents.","Boys were so much easier. They like cars, bikes, guns and agents.","Jungs sind so viel einfacher. Sie mögen Autos, Motorräder, Waffen und Agenten.",,, +They don't talk behind your back. They don't think everything is about relationships.,They don't talk behind your back. They don't think everything is about relationships.,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen.,,, +"Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen.",,, "… I mean, maybe they were right?","… I mean, maybe they were right?","… ich meine, vielleicht war was dran?",,, -Like I won’t deny I was probably the first girl in my class to see a dick.,Like I won’t deny I was probably the first girl in my class to see a dick.[/p],Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen.,,, -"But like - that’s what the boys do, right?","[p]But like - that’s what the boys do, right?[/p]","Aber das machen Jungs halt miteinander, nich?",,, -At least it has gotten better after me and Jojo became friends.,[p]At least it has gotten better after me and Jojo became friends.,"Zumindest hat es sich gebessert, nachdem Jojo und ich Freundinnen wurden.",,, +Like I won't deny I was probably the first girl in my class to see a dick.,Like I won't deny I was probably the first girl in my class to see a dick.,Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen.,,, +"But like - that’s what the boys do, right?","But like - that’s what the boys do, right?","Aber das machen Jungs halt miteinander, oder?",,, +At least it has gotten better after me and Jojo became friends.,At least it has gotten better after me and Jojo became friends.,"Zumindest hat es sich gebessert, nachdem Jojo und ich Freundinnen wurden.",,, I still remember how that happend. I did a voice acting workshop in art class. ,I still remember how that happend. I did a voice acting workshop in art class. ,Die Geschichte ist großartig. Ich durfte in Kunst einen Vortag über Voice Acting halten.,,, Being allowed to share my technique in front of everyone was just :D,Being allowed to share my technique in front of everyone was just :D ,Meine Technik mit allen teilen können war einfach nur :D,,, -I mean next to nobody put in any effort. But Jojo did.,I mean next to nobody put in any effort. But Jojo did.[/p],"Ich meine … nieman hat sich wirklich angesträngt, außer Jojo halt.",,, -"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","[p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.[/p]","Als unser Klassencloun sie dann nachäffen musste anstatt sich um seinen Scheiß zu kümmern, bin ich einfach eplodiert.",,, -"After this, we suddenly were besties. And my class finally started to just leave me be. ","[p]After this, we suddenly were besties. And my class finally started to just leave me be. ",Danach hatte ich plötzlich eine beste Freundin und endlich meine Ruhe.,,, -Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.[/p],"Vielleicht, weil ich nun auch mit einem Mädchen befreundet war. Vielleicht weil die Mobber plötzlich Angst vor mir hatten. Vermutlich beides.",,, +I mean next to nobody put in any effort. But Jojo did.,I mean next to nobody put in any effort. But Jojo did.,"Ich meine … nieman hat sich wirklich angesträngt, außer Jojo halt.",,, +"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","Als unser Klassencloun sie dann nachäffen musste anstatt sich um seinen Scheiß zu kümmern, bin ich einfach eplodiert.",,, +"After this, we suddenly were besties. And my class finally started to just leave me be. ","After this, we suddenly were besties. And my class finally started to just leave me be. ",Danach hatte ich plötzlich eine beste Freundin und endlich meine Ruhe.,,, +Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,"Vielleicht, weil ich nun auch mit einem Mädchen befreundet war. Vielleicht weil die Mobber plötzlich Angst vor mir hatten. Vermutlich beides.",,, skip reading (hold),skip reading (hold),zum Ende springen (gedrückt halten),,, ,,,,, "*USK-Kennzeichnung bezieht sich auf den Games for Family-Stand der Spielraum-Messe Dresden. diff --git a/src/internationalisation.de.translation b/src/internationalisation.de.translation index ad63c0172eea3760a4d3664a453ac2dd318361b3..2228887b74b57a108d6697442d1bb1792c9a1052 100644 GIT binary patch delta 5165 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 Ny+t3h)U?#W{|oSe6K4Pb diff --git a/src/internationalisation.es.translation b/src/internationalisation.es.translation index e6b2555bbcee212d5fcd2db4647b4e02c280d8aa..6de1637fbd304602929cf72c8bfc6b1d8e09a7c0 100644 GIT binary patch literal 7533 zcmd^^dt8m_7RQs)g(y-=MPVaJZb`+2BDyfS#mS_-Z7SWgH<6+tiOD@wD006wl@!W$ z>!d?OC25Q?l}Is78cw6BS#O>-XMH-)d_L#@^M0()Z~eaSde-y2&+dKqTRi4^OjBZq z3aAj>Ao@bg4w3r>`h`oE%?tGjk_Gt4{epu4e>u8>T+B$glfNuW7uo-!>QK}VB2+31 zUL7itdItncd;+}X!QL{7G)St{lb#Fm36v^n011@JWIijTG9@)I9V4Vl-68e$k@GI^+9(26g^WRg(75II04r7jSIAUZnPjvB?gQtx#^{^KP| z!-ZNn{&quD;iRw`sIW+369+y&;5s>3oiQ6VCa;jG2R4vD})e zJ=3Y6b6CEBsTZi2<-SaXPgj_4E$9Z8M>E~YG@fZP=oyx$F%`yMA-Uic%;yvSkmY5B z3AMse$=FNKw-AjGA0b*Hlwm)G8g-_6OpTbDfewSPWZs79WKc(z3*&`jRww_3wztpe z#1}Kal&L>x2t+vZQJ^sp@eoOj9c6kBG#w(Fd7LAU_}h>dLX*TmJK^z=ClQZzM;SXs&Ru{!llUu;D>~#6%UCFARHySX%*TNqVEJLDsi0?Ao(Y=A^4m-cK}#T>L)0>c^EMLS z2Du76>xFZgpxO|65JrsQ7_&}Z;1Y1Nq`;`_LEtq{HwI`79)HABTD4qxx6(7DRt z>Wd9Ck~n-)O-^4ahl{7SWeaZ|mF)*PT$;UKzLIe4>!wu^{ipw8Kb2vP*JbLbX4mS-fn-fep-WRQ5T{H9u|LvlU>v-Zt1~tQl_dQ%E zs_29aUJ{bdL}v(?xj_3yp(uchsF6f<(mn|@k5vQ z6<*8!x{e2a_uteIkLQwCb+0@}IF8@-dr92C2wy+Jr{O2!alD#1Ea4@G+a7p6U!&$3Tw{!SSi{0;zak%#-{TX?L<9v3a7lTEFH)<>|4Iv)qOYtgs7DPCXx3Ej| z??ZUv*cg*y;&J@4gSF$9bGUV#X)E(g zIb5N9`(-$XTjc3ab|M^qF7rhO?FR_AS^ntled1TnD$RIHJg&du;W4e5gy)*?OkPGj z*43*#6YnM5ZB^Q?*Tmy>p0(MLpu^!$YD;oPbGY`Io}S-vxJy*3)*B9=Y}@noc@AG_ zRH7#Qo{Z~2HMN~?X~^LVy!U9_=J17fcB}E4v4@~`pVoR@CiPgev}))dD+qVkEWeRX zJoXs1_0t03cXafq>r(5VuHo?MOc^$X!|6F45V$RseLCx?gEEL8fD!z-%V ztg{Kn>$zKTcbxDy5$tUgS$>0@mS|nt?WCEaHE~W zO@1LB>t0zn{4$Pkd6kj#2I6s@1I(SWzvl3|A+=fFgkxWKS!msK!i&CDH-AMu-uE*k zis<=-PfLyV%^`lK&nT)2#>Yt^W1}YTzCDns~ZC&)}aNF0zW>c7nrgm-z1!6OQw#FG@EWOt{9q*zV=T<9wQrT)cBRT<5_l4;Kzs z-Qwy#gTqgT4trWaIId%MhQrhTglmq>uPGrO*YUpZ|Bi6HFa6RJ>+A?ue6@4HGvcS3{pwmpJg)15 z!YQ_a!!Hd=Ugt(QUT-hMqPVXJFKDQX`kr`Pk9p9}J0l6d6jD<(hWKG{eVd5K^=z^a zO>pJ#3jOi#BMHa#RG$C&!$QJ~ANO-iARhbv-V)HmlEZr_jIXTX@NWBBK57$=^Brqg zqi;d@_USQ-L&Rg9)+w>hD8kiVH+iHGkLwzIJEx@whcE88X;LiV*!KtP(=&GyJ|ftt z>MrqE_g(y1_X@&2wY*$^B_8WCwK8w&Q?6UO zp@jGGsK}m6{E+A;o~Mb&eQ?$gg#~c@cSv}PM#$md#G5x{pJFPH@Elda+C0GkPFX~W{CgCLk%uk L*fS6KkJdi{M&mR^ literal 7501 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 diff --git a/src/internationalisation.ja.translation b/src/internationalisation.ja.translation index 7ba0dd7bf02d7454ba2406d2659151d40d908375..b2ea434bb28abf5d1a8bbb7bf0436f38bef021f3 100644 GIT binary patch literal 7533 zcmd^^dt8m_7RQrxwF%u-L^hJ#D;1MV%B7f)>SWT+PNn;f$gLrX$-Sshv`U1_wM&CuJc`|DX>Ec zR0w4VZHT#HkpaO0(bA<0B78z*K|YZIp&@|39Nj@4^^b0SW^{TDvj0U@p-2xRLMjVg z5#cNK4hr@43G$8%^_KZcL!=75=(!M|V5x!{kYK4y=Ce#HQ&0iZIYO$S0ja-_%-=iG zM-n7e5P_Af@LevAWI&in78wx`vh2$+nQufuSR_CNg>DdoAv!zRj2gweQg5jwc=bw! z;X*AOf4d<);H0n_sDVD6n>Y~AW;V8i9Kz-j+nM$R))zw9m#*iiH|Cr-Wy}n8G|MfS z+A*C9I*;XUOuaxQEca(Be7eGXt3cPYJeKJWrio0`Ku@telc_NF63GQGXTFH=GL}~o zCe#W?4P(zi-#|1&e1vF&P=x&yYE+r(Fg0X42y_^P1@qQSCxcFBxiDThW_9sjXh+Aq zF5Hv(B}@ZB!yuxWj{%K?NQ6jb>@d?apji-k%;Ow|#NULx1fqhmYNpSa)-lDgsP7nW z0d42hC@Fr~D|JvU2m^?LjA0K{G2`Z-HY}gc)CF__%RQMcVd}>e`vegm!SYpvt!H^G zVK`RMZGNrYd@F6kE9$9 z6P~|VhkcD39*#Ol_y%oL?|R~~zE@CK!wAB0d{mZZs_-nuy3}Qn*)NF4x|UoWwatWI z&MV%tmv|hntX}?dBH=h*>snj(1;YEceBAJecpP80eR;=z4wvR7MJ^{C`#Se1PER2` z(cDjbhj{GU??(Hv!yG>H#rduGIo!$JDM>~+&UYnjKs4Nrf9;pNQr}}B@i?E@s(IlM z4lmf86g`^5FU|fVbsmSWtBRffj>AoYE9Zq0j`u}dRQGHh!hbt&J!b;(V*R?|!uuYs z6IJ}gIRw74{)@kgj~7L7cUd-|@yLe` zTjUeP;Ytq2n@Tub@AU_hSscD>f&Qut!f_o*x7|~m2=@|I87(0m*I|D4b=4-qar{s} zZQ-@-uj{xMaQAf`@pvvRT%+a;;W&Qh?-dFEB7BXNPt#At<9HQGRPu8Ux7qh}z;?p% zbHCFryeTsXYrQ1|o?9PS>@# z3B==k2Xn)FY~%3j=DXe=;c)K@x{if}<9xQ_XQpDpo7Math7phRrF&I82_YQEo7-jv z_9HxHT%2(^@i>0z{`&EL9B!{#9@y%beDwYv9vr?qb9tc& zhszajK9A;b^FrOp4us>+Wsz9FV;|wxe)r$pC4Tv=huLq4$Msj29TCkWyufTn+EU`N zu2JcUWDnua;h8&M5s%k-+Io9(9}a(1Uy(nC!!=L!a{rFQXUAlSUUT?ln_jQZa`+;{ z3Kik^WLyWTiOmcP0}gld-mP|%!x!1wuE1-?9)j9_TIG6?)ML$(+M$0eBiw#d&S-qRlEY`b-?G+*!`HpDd?x&D0>`748V9fK#o^I)ixht3@ao!j z%RIvIdTv+W9xwb&1p8i=f6g=}9(i8*(L{9)7iDM~E#UB%E;Ah-aJcnAL*H?P<2v4@ zw7sw9+Go`gil;!XLO$Ub$M;K zGKt4|#`tb>5&l4m9`~ch``W|7gnwT3X+;e2SZ`e^2^!Afjv3=`S#kKD8oMcO9A1K%!{GWh5|8WI zXcv(@hr_FNC%junIIgGW?9U$-5nld4Z+bHE*!TC=pq>^S-cxRLDV)QV_qKl2Bpl~E z(zH_7obYWk;^YU2$2!poNuN=KtGs&enoc~f%k*Y`YfldM)Y~{Io^b5@gXPJYy9gf< zYFK-lc&z&_@w7`d;qD@@IlmH*bvdG(>$;R{)%$o-&+?0b>TV*!JuLcYY$YB)_mJ}b zTZavi#UAUbc<3w4p({Ecmvmn za|-I%Tk8D{smFcUV09?!1mSnn&m2EZJoZqsc=OFU4sYq`-R(Nz%8(1+CoK^FkB16e Mw6JHc@E@&z0?%YLO8@`> literal 7501 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 diff --git a/src/internationalisation.notes.translation b/src/internationalisation.notes.translation index d3b2809d2de16b27db0f4c57350d6859b38242fa..645e11faff31774c4f1c633ed6840a79bf3d3a69 100644 GIT binary patch literal 8064 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 RKX*m`Mkm}W^MJp-{|;|?FhKwS literal 8032 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 xRr(yuE6=EqJNLEu{Z Date: Wed, 7 May 2025 00:25:51 +0200 Subject: [PATCH 03/25] one (hopefully last) fix for the card disappearing thing --- src/thank-you.tscn | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/thank-you.tscn b/src/thank-you.tscn index 35848eb..dc75b1f 100644 --- a/src/thank-you.tscn +++ b/src/thank-you.tscn @@ -156,7 +156,6 @@ position = Vector2(1164, 301) [node name="sticky-note" parent="childhood/PanelContainer/Visual" instance=ExtResource("5_sfuv4")] position = Vector2(39, 120) rotation = -0.103332 -scale = Vector2(1, 1) collision_layer = 0 collision_mask = 0 text = "I was wet so I must have been into it" @@ -167,7 +166,6 @@ position = Vector2(1287, 589) [node name="sticky-note2" parent="childhood/PanelContainer/Visual2" instance=ExtResource("5_sfuv4")] position = Vector2(-208.193, 96.8376) rotation = 0.123092 -scale = Vector2(1, 1) collision_layer = 0 collision_mask = 0 text = "I didn't say stop" From ecc1d4af9c42e22d89f77049f1c7f4c264a8399b Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 00:28:48 +0200 Subject: [PATCH 04/25] band-aid for #137 replace logic so it fits the new sticky-note code --- src/logic-scenes/card_picker/card_picker.gd | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 0b6f30d..71bb47c 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -149,13 +149,17 @@ func pick(id: int): options.remove_at(id) anim_players.remove_at(id) - var sibling_id = -1 + var parent_id = -1 if selection_state == POSTS_SELECTED: - sibling_id = options.find(output.back().sibling) - options.remove_at(sibling_id) - anim_players[sibling_id].play("unshuffle") - anim_players.remove_at(sibling_id) - print("yeet sibling ", sibling_id) + parent_id = options.find(output[-1].parent_id) + var i:int = 0 + for option:StickyNote in options: + if option.parent_id == parent_id: + options.erase(options) + anim_players[i].play("unshuffle") + anim_players.remove_at(i) + print("yeet sibling ", i) + i += 1 var winning_id print(options[1].text) From 6115eb64380eafcd06edb92d652a8155a177ac94 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:30:55 +0200 Subject: [PATCH 05/25] implement #144 scrolling support for mouse input --- .../youth_room/scnees/scene_player.gd | 42 ++++++++++++++++++- src/logic-scenes/misc/skip_control.gd | 14 ++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/base-environments/youth_room/scnees/scene_player.gd b/src/base-environments/youth_room/scnees/scene_player.gd index f6c22cc..3fe79a2 100644 --- a/src/base-environments/youth_room/scnees/scene_player.gd +++ b/src/base-environments/youth_room/scnees/scene_player.gd @@ -22,6 +22,7 @@ var max_lines: float = 0 substring_sizes.append(TranslationServer.translate(str_array[i]).strip_edges().length() + 1) if not paragraph_lengths[-1] == story_array.size()-1: paragraph_lengths.append(story_array.size()-1) + push_warning("Paragraph lenghts of scene %s are misconfigured!" % name) if paragraph_lengths[p] == i: p += 1 label.text += "[/p][p][font_size=8] [/font_size][/p][p]" @@ -29,12 +30,12 @@ var max_lines: float = 0 label.text += "[/p]" max_lines = float(label.get_line_count()) -@export var paragraph_lengths: PackedInt32Array = [] +@export var paragraph_lengths: PackedInt32Array = [1] @export var progress: float = 0: set(value): progress = value - if is_node_ready(): + if is_node_ready() and not all_text_revealed: var start_index = 0 if progress >= substring_sizes.size() or progress < 0: label.visible_ratio = 1 @@ -46,6 +47,19 @@ var max_lines: float = 0 else: label.visible_ratio = 0 +var all_text_revealed: bool = false: + set(revealed): + var reset_progress := false + if revealed and not all_text_revealed: + var tween: Tween = get_tree().create_tween() + tween.set_ease(Tween.EASE_OUT) + tween.tween_property(label, "visible_ratio", 1, 1.5) + elif not revealed and all_text_revealed: + reset_progress = true + all_text_revealed = revealed + if all_text_revealed: progress = -1 + if reset_progress: progress = 0 + @export var test_scroll: bool: set(scroll): try_scroll() @@ -114,6 +128,7 @@ func play_scene(): trigger_intro() animation_complete = true + all_text_revealed = true skip_control.start_proceed_countdown() @@ -125,6 +140,29 @@ func play_scene(): finished.emit() +func _unhandled_input(event: InputEvent) -> void: + var just_revealed_text = false + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_WHEEL_DOWN: + scroll_target += 40 + if not all_text_revealed: just_revealed_text + all_text_revealed = true + if event.button_index == MOUSE_BUTTON_WHEEL_UP: + scroll_target -= 40 + if not all_text_revealed: just_revealed_text + all_text_revealed = true + if just_revealed_text: + if animation_complete: all_text_revealed = true + +var scroll_target: float = 0: + set(value): + scroll_target = clampf(value, 0, label.size.y - scroll_container.size.y) +func _process(delta: float) -> void: + # FIXME: maybe change this to has stage? + if visible and not Engine.is_editor_hint(): + if scroll_container.scroll_vertical != scroll_target: + scroll_container.scroll_vertical += (scroll_target-scroll_container.scroll_vertical)*delta*6 + var intro_triggered:= false func trigger_intro(): if not intro_triggered: diff --git a/src/logic-scenes/misc/skip_control.gd b/src/logic-scenes/misc/skip_control.gd index 329b315..e75a75e 100644 --- a/src/logic-scenes/misc/skip_control.gd +++ b/src/logic-scenes/misc/skip_control.gd @@ -31,6 +31,17 @@ var proceeding: bool = false: # while this is true, a counter counts up to automatically proceed. var is_auto_proceeding: bool = true: set(value): + if is_auto_proceeding and not value: + var tween = get_tree().create_tween() + tween.set_ease(Tween.EASE_IN) + tween.set_trans(Tween.TRANS_QUAD) + tween.tween_property(progress, "value", 0.0, 0.3) + time_pressed = 0 + $AnimationPlayer.play("replace_text") + # use this to disable the updates during progress. + is_auto_proceeding = false + await _transition_text + button.text = "continue (press)" is_auto_proceeding = value #resets progress bar on button @@ -55,7 +66,7 @@ func _process(delta): reset() -func _unhandled_input(event: InputEvent) -> void: +func _input(event: InputEvent) -> void: if is_visible_in_tree(): if not event is InputEventMouseMotion and unrevealed: $AnimationPlayer.play("reveal_skip") @@ -98,6 +109,7 @@ func transition_text(): func reset(): $AnimationPlayer.play("RESET") + await(get_tree().create_timer(1).timeout) unrevealed = true pressed = false proceeding = false From 8d607e5c896d218efac132759319fc06d86373e0 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:36:35 +0200 Subject: [PATCH 06/25] resolve fixme #148 remove redundant dnd workaround resolved by stage handling by now --- src/base-environments/youth_room/room_handle.gd | 13 ------------- src/logic-scenes/card_picker/card_picker.gd | 3 --- .../player_controller/player_controller.gd | 2 +- 3 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 4efb9af..4ca5d45 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -49,16 +49,3 @@ func _on_scene_finished(id: int, _repeat:bool): return save_game.mementos_complete &= 1 << id save_room() - -#FIXME forgot to comment what this means, just marking it for removal -var fixed := false -func hotfix(_discard): - print("meep") - if not fixed: - await get_tree().create_timer(0.1).timeout - State.take_stage($logic/PlayerController, true) - fixed = true - dnd = false - - -var dnd: bool diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 71bb47c..d43904a 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -204,7 +204,6 @@ func transition(): for card in output: out_str.append(card.text if card.text != "" else "void") cards_picked.emit(out_str) - get_parent().get_parent().get_parent().dnd = false selection_state = DONE Scenes.end_current_sequence() @@ -232,8 +231,6 @@ func pick_cards(id: int, repeat: bool): selection_state = CARDS else: Scenes.end_current_sequence() - #FIXME this workaround should be included in the Scene Manager. - get_parent().get_parent().get_parent().dnd = false func play_scene(_id, _repeat): pass diff --git a/src/logic-scenes/player_controller/player_controller.gd b/src/logic-scenes/player_controller/player_controller.gd index a94c034..0a1f8b1 100644 --- a/src/logic-scenes/player_controller/player_controller.gd +++ b/src/logic-scenes/player_controller/player_controller.gd @@ -165,7 +165,7 @@ func _handle_mouse_input(event:InputEventMouseMotion): current_mouse_rotation = event.relative func _input(event:InputEvent): - if get_parent().get_parent().dnd: return + if Scenes.current_sequence != -1: return if has_stage and Scenes.current_sequence == -1: if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: _handle_mouse_input(event) From 796b7d12c8266a52bbaf45fa84065576bd08b5b7 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:40:12 +0200 Subject: [PATCH 07/25] add standalone compatibility for card picker --- src/logic-scenes/card_picker/card_picker.gd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index d43904a..7045a81 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -62,6 +62,10 @@ func _ready(): for id in range(Scenes.id.YOUTH_DRAEVEN, Scenes.id.YOUTH_JUI_JUTSU + 1): Scenes.sign_up_for_sequence(pick_cards, id, 1) + if get_tree().root == self.get_parent(): + pick_cards(0, false) + State.take_stage(self) + reset() func reset(): From c00cb4ba1336d3b4fa1dbf1168a3d8ab87149eab Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:52:57 +0200 Subject: [PATCH 08/25] enhance #136 animations when skipping in picker --- src/logic-scenes/card_picker/card_picker.gd | 19 +- src/logic-scenes/card_picker/card_picker.tscn | 248 +++++++++++++++++- 2 files changed, 262 insertions(+), 5 deletions(-) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 7045a81..cbf936f 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -110,7 +110,11 @@ func fill_post_slots(): options.append(sticky_notes[i]) $sticky_notes.get_child(i).add_child(options[i], false) options[i].owner = self - + + +var picked_player: AnimationPlayer +var random_player: AnimationPlayer + func _input(event): #if event.is_action_pressed("ui_end"): # fill_card_slots(3) @@ -125,12 +129,17 @@ func _input(event): if event.is_action_pressed("ui_accept"): pick(curr_selection_id) elif event.is_action_pressed("skip"): - ##fixme: using skip causes a lot of invalid state if selection_state == CARDS_SELECTED: + picked_player.play("skip_pick", .1) + random_player.play("skip_shuffle", .1) + for player in anim_players: + player.advance(10.0) transition() show_posts() elif selection_state == POSTS_SELECTED: transition() + for player in anim_players + [picked_player, random_player]: + player.advance(10.0) elif selection_state == TRANSITION: show_posts() @@ -147,15 +156,16 @@ func pick(id: int): selection_state = POSTS_SELECTED anim_players[id].play("pick") + picked_player = anim_players[id] var yield_to = anim_players[id].animation_finished output.append(options[id]) options.remove_at(id) anim_players.remove_at(id) - var parent_id = -1 + var parent_id:StringName if selection_state == POSTS_SELECTED: - parent_id = options.find(output[-1].parent_id) + parent_id = output[-1].parent_id var i:int = 0 for option:StickyNote in options: if option.parent_id == parent_id: @@ -179,6 +189,7 @@ func pick(id: int): Steam.storeStats() output.append(options.pop_at(winning_id)) + random_player = anim_players[winning_id] anim_players.pop_at(winning_id).play("shuffle") for anim in anim_players: diff --git a/src/logic-scenes/card_picker/card_picker.tscn b/src/logic-scenes/card_picker/card_picker.tscn index a512836..29213f5 100644 --- a/src/logic-scenes/card_picker/card_picker.tscn +++ b/src/logic-scenes/card_picker/card_picker.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=64 format=3 uid="uid://brk4hjdf2x81a"] +[gd_scene load_steps=70 format=3 uid="uid://brk4hjdf2x81a"] [ext_resource type="Script" uid="uid://bdb6n10apk1en" path="res://logic-scenes/card_picker/card_picker.gd" id="1_pjntm"] [ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="2_f4sp4"] @@ -219,6 +219,86 @@ tracks/2/keys = { "values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.2, 1.2)] } +[sub_resource type="Animation" id="Animation_t7byf"] +resource_name = "skip_pick" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.6, 1.26667, 1.96667), +"transitions": PackedFloat32Array(1.7411, 1.7411, 0.450625), +"update": 0, +"values": [Vector2(-110, 350), Vector2(-110, 400), Vector2(-110, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.6, 1.83333), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.0523599, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.9), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + +[sub_resource type="Animation" id="Animation_et74x"] +resource_name = "skip_shuffle" +length = 1.7 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.566667, 1, 1.7), +"transitions": PackedFloat32Array(1.7411, 2.37841, 0.450625), +"update": 0, +"values": [Vector2(200, 390), Vector2(200, 400), Vector2(200, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.566667, 1.43333), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.111701, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.866667), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + [sub_resource type="Animation" id="Animation_d68d2"] resource_name = "unshuffle" length = 3.0 @@ -255,6 +335,8 @@ _data = { &"reveal": SubResource("Animation_3304u"), &"select": SubResource("Animation_ldr2c"), &"shuffle": SubResource("Animation_abihp"), +&"skip_pick": SubResource("Animation_t7byf"), +&"skip_shuffle": SubResource("Animation_et74x"), &"unshuffle": SubResource("Animation_d68d2") } @@ -449,6 +531,86 @@ tracks/2/keys = { "values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.2, 1.2)] } +[sub_resource type="Animation" id="Animation_f4sp4"] +resource_name = "skip_pick" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.6, 1.26667, 1.96667), +"transitions": PackedFloat32Array(1.7411, 1.7411, 0.450625), +"update": 0, +"values": [Vector2(-110, 350), Vector2(-110, 400), Vector2(-110, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.6, 1.83333), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.0523599, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.9), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + +[sub_resource type="Animation" id="Animation_211mu"] +resource_name = "skip_shuffle" +length = 1.7 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.533333, 0.966667, 1.66667), +"transitions": PackedFloat32Array(1.7411, 2.37841, 0.450625), +"update": 0, +"values": [Vector2(200, 390), Vector2(200, 400), Vector2(200, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.533333, 1.4), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.111701, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.833333), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + [sub_resource type="Animation" id="Animation_sa974"] resource_name = "unshuffle" length = 3.0 @@ -485,6 +647,8 @@ _data = { &"reveal": SubResource("Animation_orrwn"), &"select": SubResource("Animation_2c94q"), &"shuffle": SubResource("Animation_pdic8"), +&"skip_pick": SubResource("Animation_f4sp4"), +&"skip_shuffle": SubResource("Animation_211mu"), &"unshuffle": SubResource("Animation_sa974") } @@ -703,6 +867,86 @@ tracks/2/keys = { "values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.2, 1.2)] } +[sub_resource type="Animation" id="Animation_8qj35"] +resource_name = "skip_pick" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.6, 1.26667, 1.96667), +"transitions": PackedFloat32Array(1.7411, 1.7411, 0.450625), +"update": 0, +"values": [Vector2(-110, 350), Vector2(-110, 400), Vector2(-110, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.6, 1.83333), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.0523599, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.9), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + +[sub_resource type="Animation" id="Animation_ujc5a"] +resource_name = "skip_shuffle" +length = 1.7 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.566667, 1, 1.7), +"transitions": PackedFloat32Array(1.7411, 2.37841, 0.450625), +"update": 0, +"values": [Vector2(200, 390), Vector2(200, 400), Vector2(200, 900)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.566667, 1.43333), +"transitions": PackedFloat32Array(2.14355, 1.03526), +"update": 0, +"values": [0.111701, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:scale") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.866667), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1.2, 1.2)] +} + [sub_resource type="Animation" id="Animation_mj8e0"] resource_name = "unshuffle" length = 3.0 @@ -739,6 +983,8 @@ _data = { &"reveal": SubResource("Animation_ep22n"), &"select": SubResource("Animation_pcu23"), &"shuffle": SubResource("Animation_vu874"), +&"skip_pick": SubResource("Animation_8qj35"), +&"skip_shuffle": SubResource("Animation_ujc5a"), &"unshuffle": SubResource("Animation_mj8e0") } From d9924e5d49066ec01a721f9ebd6ba739ee239855 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:53:55 +0200 Subject: [PATCH 09/25] misc cleanup --- .../youth_room/scnees/jui_jutsu.tscn | 7 +++---- .../youth_room/scnees/voice_training.tscn | 5 +++-- .../youth_room/youth_room.tscn | 4 ---- src/dev-util/testing.tscn | 2 +- src/dev-util/ui-testing.tscn | 15 ++++++++++----- src/logic-scenes/misc/skip_control.tscn | 8 ++++---- src/logic-scenes/themes/handwriting.theme | Bin 2449 -> 2458 bytes 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index 3503208..c6a7625 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -770,12 +770,11 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]I slowly returned. \"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]He gently stroked the back I was curling towards him. [/p][p][font_size=8] [/font_size][/p][p]That was good. He was a sweet angel. Why must he be so bad at comforting? [/p]" +text = "[p]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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]We also had my first proper kiss. I thought I loved him. But now? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]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 [/p][p][font_size=8] [/font_size][/p][p]… 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. [/p][p][font_size=8] [/font_size][/p][p]He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]My hands knocked on my brother’s door. He let me lie on his carpet. I slowly returned. [/p][p][font_size=8] [/font_size][/p][p]\"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true -scroll_active = false -visible_characters = 1637 +visible_characters = 1632 visible_characters_behavior = 1 -visible_ratio = 0.641961 +visible_ratio = 0.639749 [node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) diff --git a/src/base-environments/youth_room/scnees/voice_training.tscn b/src/base-environments/youth_room/scnees/voice_training.tscn index 148357b..edf3310 100644 --- a/src/base-environments/youth_room/scnees/voice_training.tscn +++ b/src/base-environments/youth_room/scnees/voice_training.tscn @@ -490,7 +490,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_543ki") -story_array = Array[String](["My secret comic stash. I remember playing Que-Men with the boys.", "I had a voice for every character in that comic. But more often than not I played him: Agent Q.", "Going under the radar, putting in precise work to save the world.", "Not having to deal with being a girl.", "Boys were so much easier. They like cars, bikes, guns and agents.", "They don’t talk behind your back. They don’t think everything is about relationships.", "Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ", "… I mean, maybe they were right?", "Like I won’t deny I was probably the first girl in my class to see a dick.", "But like - that’s what the boys do, right?", "At least it has gotten better after me and Jojo became friends.", "I still remember how that happened. I did a voice acting workshop in art class. ", "Being allowed to share my technique in front of everyone was just :D", "I mean next to nobody put in any effort. But Jojo did.", "When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.", "After this, we suddenly were besties. And my class finally started to just leave me be. ", "Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both."]) +story_array = PackedStringArray("My secret comic stash. I remember playing Que-Men with the boys.", "I had a voice for every character in that comic. But more often than not I played him: Agent Q.", "Going under the radar, putting in precise work to save the world.", "Not having to deal with being a girl.", "Boys were so much easier. They like cars, bikes, guns and agents.", "They don’t talk behind your back. They don’t think everything is about relationships.", "Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ", "… I mean, maybe they were right?", "Like I won’t deny I was probably the first girl in my class to see a dick.", "But like - that’s what the boys do, right?", "At least it has gotten better after me and Jojo became friends.", "I still remember how that happened. I did a voice acting workshop in art class. ", "Being allowed to share my technique in front of everyone was just :D", "I mean next to nobody put in any effort. But Jojo did.", "When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.", "After this, we suddenly were besties. And my class finally started to just leave me be. ", "Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.") +paragraph_lengths = PackedInt32Array(1, 2, 5, 7, 9, 10, 13, 14, 16) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -614,7 +615,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "My secret comic stash. I remember playing Que-Men with the boys.I had a voice for every character in that comic. But more often than not I played him: Agent Q.Going under the radar, putting in precise work to save the world.Not having to deal with being a girl.Boys were so much easier. They like cars, bikes, guns and agents.They don’t talk behind your back. They don’t think everything is about relationships.Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right?Like I won’t deny I was probably the first girl in my class to see a dick.But like - that’s what the boys do, right?At least it has gotten better after me and Jojo became friends.I still remember how that happened. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :DI mean next to nobody put in any effort. But Jojo did.When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both." +text = "[p]My secret comic stash. I remember playing Que-Men with the boys. I had a voice for every character in that comic. But more often than not I played him: Agent Q. [/p][p][font_size=8] [/font_size][/p][p]Going under the radar, putting in precise work to save the world. [/p][p][font_size=8] [/font_size][/p][p]Not having to deal with being a girl. Boys were so much easier. They like cars, bikes, guns and agents. They don’t talk behind your back. They don’t think everything is about relationships. [/p][p][font_size=8] [/font_size][/p][p]Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right? [/p][p][font_size=8] [/font_size][/p][p]Like I won’t deny I was probably the first girl in my class to see a dick. But like - that’s what the boys do, right? [/p][p][font_size=8] [/font_size][/p][p]At least it has gotten better after me and Jojo became friends. [/p][p][font_size=8] [/font_size][/p][p]I still remember how that happened. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :D I mean next to nobody put in any effort. But Jojo did. [/p][p][font_size=8] [/font_size][/p][p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. [/p][p][font_size=8] [/font_size][/p][p]After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters_behavior = 1 diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 50afa94..da47311 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1651,7 +1651,6 @@ volume_db = -80.0 bus = &"music" [node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")] -paragraph_lengths = null [node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("10_wwwdq") @@ -1659,16 +1658,13 @@ volume_db = -80.0 bus = &"music" [node name="JuiJutsu" parent="logic/ScenePlayer" instance=ExtResource("12_x3dlb")] -paragraph_lengths = null [node name="voice_training" parent="logic/ScenePlayer" instance=ExtResource("13_v3447")] -paragraph_lengths = null [node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"music" [node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")] -paragraph_lengths = null [node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer"] transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0) diff --git a/src/dev-util/testing.tscn b/src/dev-util/testing.tscn index 0f04c42..f0e02ac 100644 --- a/src/dev-util/testing.tscn +++ b/src/dev-util/testing.tscn @@ -113,7 +113,7 @@ mesh = SubResource("PlaneMesh_4cqhd") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_l6qbr") +&"": SubResource("AnimationLibrary_l6qbr") } autoplay = "test" diff --git a/src/dev-util/ui-testing.tscn b/src/dev-util/ui-testing.tscn index da86442..76651af 100644 --- a/src/dev-util/ui-testing.tscn +++ b/src/dev-util/ui-testing.tscn @@ -52,6 +52,7 @@ offset_bottom = 174.0 text = "Hello" item_count = 2 popup/item_0/text = "asdf" +popup/item_0/id = 0 popup/item_1/text = "werty" popup/item_1/id = 1 script = SubResource("GDScript_rovd7") @@ -62,12 +63,16 @@ offset_right = 21.0 offset_bottom = 39.0 text = "Accessibility, Disclaimers and Content Notes" -[node name="RichTextLabel" type="RichTextLabel" parent="."] +[node name="ScrollContainer" type="ScrollContainer" parent="."] layout_mode = 0 -offset_left = 1498.0 -offset_top = 243.0 -offset_right = 2329.0 -offset_bottom = 597.0 +offset_left = 1087.0 +offset_top = 153.0 +offset_right = 1738.0 +offset_bottom = 602.0 + +[node name="RichTextLabel" type="RichTextLabel" parent="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.’ diff --git a/src/logic-scenes/misc/skip_control.tscn b/src/logic-scenes/misc/skip_control.tscn index 299c022..43b3360 100644 --- a/src/logic-scenes/misc/skip_control.tscn +++ b/src/logic-scenes/misc/skip_control.tscn @@ -17,12 +17,12 @@ corner_radius_bottom_left = 5 expand_margin_top = 5.0 expand_margin_bottom = 5.0 -[sub_resource type="InputEventKey" id="InputEventKey_baw6x"] +[sub_resource type="InputEventKey" id="InputEventKey_7em4l"] device = -1 physical_keycode = 88 unicode = 120 -[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_eoqfh"] +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_hb4jw"] device = -1 button_index = 2 pressed = true @@ -266,11 +266,11 @@ stretch_mode = 5 script = ExtResource("2_ev8gx") action = "skip" icon = 0 -events = Array[InputEvent]([null, SubResource("InputEventKey_baw6x"), SubResource("InputEventJoypadButton_eoqfh")]) +events = Array[InputEvent]([null, SubResource("InputEventKey_7em4l"), SubResource("InputEventJoypadButton_hb4jw")]) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_f8gbl") +&"": SubResource("AnimationLibrary_f8gbl") } [connection signal="toggled" from="SkipButton" to="." method="_on_skip_button_toggled"] diff --git a/src/logic-scenes/themes/handwriting.theme b/src/logic-scenes/themes/handwriting.theme index 24a8813bc8523f55a85f78d56b2344cbf141c6a1..98f63400c8ab2130be40304ef795fabbbf2685d8 100644 GIT binary patch literal 2458 zcmV;L31#+DQ$s@n000005C8yj9smGh1pojX1ONaiwJ-f(01w3~05e&KCVfNbF9^A(LF&kYtl2<&sk07?pbzIue5X+fF2R6iAjX zQ;JhxgICsJQk4Ll0J8ue<;vNP*0EI!4ahKNeqq~B8@koA(fV}g`rq85Ys{>GAGUSW zWrl#~gYs<;&G*!aq;-{3!EgK5UCDZ*83vKQ%4)kktDl(-@KEr0@rMyn}iI`A-D+~8(x<>lo!iSLa~=GvDxR`s#Iiw*FqWsWidz(^F6NeDJ!y4|6}am+JVsw)JFb+HIgz|8k56@{eBUwVfep>wWPH}yrq%&R z+7nAKBeOsiIiwsuFi<89J3{tpq*Blp-_Qa;sS0KaQFEY3iIpNKrw$Ob5cw!OoD{)I zS`sa&QW7pRIHUDLYdxFP@TEfV2^^HW;W(1d>jTmp7@WX~us}>LCl(r~S!#110 zbA(qq)#Q#@h_UKACD;0@p1JNG6pWIIPU=iDBERMMSjqco;zf0gMzOHZ<&; zTh=Z}T^-(@jk24|==-82r6qDyV6pO}Ly-m!C>RVENbHzkG6_vl!2|Yy!NLJ%i4`AD zfTRe*d0l?gm{yY*B-#OiC8&|LF*GwJNeYs}aNz`mNGKUh4-!D4ah9VvV;Ce#sR>48 zlt*$pM5Es`NEy0NDObwc>P>mlX==C6L303*X`z8DSbol&0%MZ3)Dl&Rt@??IU1LOuLPaVQ`ENY+Vn&AZ9=qSbNp_9YNo^%G)EA%XFjE5)7VljkKb9~rjV zLC(Q!tH^;xS@34B9L_tPa&Ty1>fr8+;~#3>IKttFOvG`{xNhc`#wZAk4zc&eNbPR` zy;a>06g-YMX<}M{5M#VU{u)WZ;HT3)4VPO|*Hl3MP;LWrij8_iuNNDO7>6q$(NrF(& z=)&0tyBz4UIHJD{W2WGk`Fa$nsBT(fqxsiU#9}%T9zwgRqrdZvcqvt`3GQ^t*{v1&yn`oS=jKpS6qE`9Pzuvk z!YnVdA+FU3!-SSf#4D*Il$5JTSfl)?_=zOioRiy3l-CD%D8=+ecXM}_nm=8!>d86K z`A2Gi2`IHM{a|tpl^_7tqJm1W(y_)ofsYnW{|CJfq4Fw+cc+r>l%ua!`hr(t<++ml>6?TR6CIEzv$+~iLMkG%TZ(`>u5m7pI`9k8DQy5{0C)iJfsn^6 zt+Fj{D;mnpCl(I7trnMM^4@hxnPp;rR^J%6+Fd18SBl28i2qaE)v|I9o!|AQrt!>b z#dDI)5xwY~wlh|b*IZ~TG>en$3roulw2pI0T1MBnXr|X48kViC(X2C$uQsK@?SGU% zKY{-Rw)kyPb#RL{D%_$Mey6>(Yk2=vvdf-2$^Vc4Db#n0>AwHof7Jhn@GI2b+kA_2 z>YLg|d39IYJj(04(qt9dtp>N__>$N7KLwlz#>S1a z{>zQj1H&OB=B4Vmc`!LTIU}^7^sIs2u0g2{IzmK<9}s`xc`lOq^nCa~fXBm*P7Y3o z8x9+6{%xnxcDW9HSHJZLEP%NAqAd;XH#$)fs=dK155Iz-Hph6CL5@qwpQy5NscMqoNk( z_(+r4{vGI2t1CZrUlQ zV`Sn0mg@mWri530H9E#exbdT_!6pFMrJV{0mwIGxXn^^HAxt`AU{ce)Cafxh1UvqP zfzQfm_-+ZP&ITmL`33oyGf&$Xt41W>)Z1{;Ddqc-!^^>qhCb&Y$Fq(4%M5wc{k;8{ zqEvrCM2QsGr1EKp!0bpL$;E*zyJUM literal 2449 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 Ple_icPGL4DQd2`ioUM)X From e18ae0e47305faa3fa49c0382e9b2617e12135ce Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 7 May 2025 19:58:56 +0200 Subject: [PATCH 10/25] cleanup #141 enhance print statement consistency --- src/logic-scenes/card_picker/card_picker.gd | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index cbf936f..6dbd8a4 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -49,8 +49,6 @@ var curr_selection_id: int = -1: options[curr_selection_id].highlighted = true else: curr_selection_id = new_id - - print(curr_selection_id) var output:Array = [] var options:Array = [] @@ -145,7 +143,7 @@ func _input(event): func pick(id: int): - print("PICK") + print("%s picked card %s at id %d" % [name, options[id].text, id]) if id == -1: curr_selection_id = 0 return @@ -172,17 +170,15 @@ func pick(id: int): options.erase(options) anim_players[i].play("unshuffle") anim_players.remove_at(i) - print("yeet sibling ", i) + print("Removed StickyNote %s from options pool" % option.sticky_id) i += 1 var winning_id - print(options[1].text) + print("Randomly selected card %s" % options[1].text) if !(options[1].text == "void" and not id == 1): randomize() winning_id = randi() % options.size() - print("Winning ID ", id) - else: winning_id = 2 if id == 0 else 0 Steam.setAchievement("FIGHT_BACK") @@ -238,7 +234,7 @@ func handle_mouse_button(button_event: InputEventMouseButton, new_selection: Nod pick(options.find(new_selection)) func pick_cards(id: int, repeat: bool): - print(name, id, repeat) + print("Reached actor %s in sequence %s. Is%s repeating." % [name, Scenes.id.keys()[id], " not" if repeat else ""]) if not repeat: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE fill_card_slots(id) From 8c3d7c7abb6237f336de756637e7342c3fc922ba Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 8 May 2025 21:53:53 +0200 Subject: [PATCH 11/25] wip implement #96: picking up sticky notes from the card board --- src/logic-scenes/board/card-board.gd | 57 ++++++++++++++++------------ 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/logic-scenes/board/card-board.gd b/src/logic-scenes/board/card-board.gd index 6a7977e..6cfa1cf 100644 --- a/src/logic-scenes/board/card-board.gd +++ b/src/logic-scenes/board/card-board.gd @@ -225,6 +225,7 @@ func handle_mouse_button(input: InputEventMouseButton, to_handle = currently_act return else: area.attach_sticky_note(to_handle) + to_handle.z_index = 0 if sticky_note_container.get_child_count() > 0: sticky_note_container.get_child(current_sticky_note_id).clear_if_empty() current_context = NAVIGATE @@ -366,33 +367,39 @@ func _input(event): current_context = NAVIGATE elif event.is_action_pressed("ui_accept"): # select the selected note it - var card:Card if dropzone.get_child(current_dropzone_id) is Card: - card = dropzone.get_child(current_dropzone_id) - if current_context == ASSIGN: # to assign it to a card - if card.has_sticky_note_attached(): - currently_active_node = card.exchange_sticky_note_with(currently_active_node) - current_dropzone_id = find_first_free_card() + var card:Card = dropzone.get_child(current_dropzone_id) + if current_context == ASSIGN: # to assign it to a card + if card.has_sticky_note_attached(): + currently_active_node = card.exchange_sticky_note_with(currently_active_node) + current_dropzone_id = find_first_free_card() + else: + card.attach_sticky_note(sticky_note_container.get_child(current_sticky_note_id).attached_sticky_note) + current_context = NAVIGATE + current_sticky_note_id += 1 + current_dropzone_id = find_first_free_card() + if is_board_complete(): emit_signal("board_completed") else: - card.attach_sticky_note(sticky_note_container.get_child(current_sticky_note_id).attached_sticky_note) - current_context = NAVIGATE - current_sticky_note_id += 1 - current_dropzone_id = find_first_free_card() - if is_board_complete(): emit_signal("board_completed") - else: - if !focus_stickies and card.has_sticky_note_attached(): - currently_active_node = card.remove_sticky_note() - add_sticky_note(currently_active_node) - current_dropzone_id = -1 - else: current_dropzone_id = find_first_free_card() - - current_context = ASSIGN - focus_stickies = !focus_stickies - if focus_stickies: - current_sticky_note_id = current_sticky_note_id - else: - current_dropzone_id = current_dropzone_id - + if !focus_stickies and card.has_sticky_note_attached(): + currently_active_node = card.remove_sticky_note() + add_sticky_note(currently_active_node) + current_dropzone_id = -1 + else: current_dropzone_id = find_first_free_card() + + current_context = ASSIGN + focus_stickies = !focus_stickies + if focus_stickies: + current_sticky_note_id = current_sticky_note_id + else: + current_dropzone_id = current_dropzone_id + elif dropzone.get_child(current_dropzone_id) is StickyNote: + if currently_active_node is StickyNote: + currently_active_node = dropzone.get_child(current_dropzone_id) + focus_stickies = false + current_context = ASSIGN + current_dropzone_id += 1 + currently_active_node.is_dragable = false + currently_active_node.z_index = 1 # move the note it so it floats next to the card where it should be attached func _select_card_for_assigning(sticky_note: Area2D, card: Area2D): From 277e52b3c6dc4a54d7937567f67eaefea40f30f8 Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:18:57 +0200 Subject: [PATCH 12/25] #153 importing new audio clips --- .../youth_room/audio/Childhood.wav | 3 + .../youth_room/audio/Childhood.wav.import | 24 ++ .../audio/Voice-Training-Workshop.wav | 3 + .../audio/Voice-Training-Workshop.wav.import | 24 ++ .../youth_room/audio/jiu-jutsu.wav | 3 + .../youth_room/audio/jiu-jutsu.wav.import | 24 ++ .../youth_room/audio/why-does-it-mean.wav | 3 + .../audio/why-does-it-mean.wav.import | 24 ++ .../youth_room/scnees/childhood.tscn | 20 +- .../youth_room/scnees/draven.tscn | 236 ++++++++++-------- .../youth_room/scnees/jui_jutsu.tscn | 40 +-- .../youth_room/scnees/voice_training.tscn | 32 +-- 12 files changed, 291 insertions(+), 145 deletions(-) create mode 100644 src/base-environments/youth_room/audio/Childhood.wav create mode 100644 src/base-environments/youth_room/audio/Childhood.wav.import create mode 100644 src/base-environments/youth_room/audio/Voice-Training-Workshop.wav create mode 100644 src/base-environments/youth_room/audio/Voice-Training-Workshop.wav.import create mode 100644 src/base-environments/youth_room/audio/jiu-jutsu.wav create mode 100644 src/base-environments/youth_room/audio/jiu-jutsu.wav.import create mode 100644 src/base-environments/youth_room/audio/why-does-it-mean.wav create mode 100644 src/base-environments/youth_room/audio/why-does-it-mean.wav.import diff --git a/src/base-environments/youth_room/audio/Childhood.wav b/src/base-environments/youth_room/audio/Childhood.wav new file mode 100644 index 0000000..08df34d --- /dev/null +++ b/src/base-environments/youth_room/audio/Childhood.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bea14bdf68dab1e13c1a0599fab67cc988b2c875712181c054c90aff4a6bdd2 +size 8626814 diff --git a/src/base-environments/youth_room/audio/Childhood.wav.import b/src/base-environments/youth_room/audio/Childhood.wav.import new file mode 100644 index 0000000..0426a92 --- /dev/null +++ b/src/base-environments/youth_room/audio/Childhood.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dfblaqsfgm8le" +path="res://.godot/imported/Childhood.wav-0fd19e37dfab0b3d1b88108f35d35f38.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/Childhood.wav" +dest_files=["res://.godot/imported/Childhood.wav-0fd19e37dfab0b3d1b88108f35d35f38.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 diff --git a/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav b/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav new file mode 100644 index 0000000..0e2481f --- /dev/null +++ b/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cdb93e2a3192663c2633f4d140ae56ae14040359113b0e589abcdbafa0e7835 +size 10909484 diff --git a/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav.import b/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav.import new file mode 100644 index 0000000..76d7fe3 --- /dev/null +++ b/src/base-environments/youth_room/audio/Voice-Training-Workshop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://d15ltkofdggly" +path="res://.godot/imported/Voice-Training-Workshop.wav-72e07a6c960178b3ac5d10c4613e335d.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/Voice-Training-Workshop.wav" +dest_files=["res://.godot/imported/Voice-Training-Workshop.wav-72e07a6c960178b3ac5d10c4613e335d.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 diff --git a/src/base-environments/youth_room/audio/jiu-jutsu.wav b/src/base-environments/youth_room/audio/jiu-jutsu.wav new file mode 100644 index 0000000..6432500 --- /dev/null +++ b/src/base-environments/youth_room/audio/jiu-jutsu.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a7c16f2885e53559091183c803548f3fba6476436b7c153d0496775729cfd2c +size 22706994 diff --git a/src/base-environments/youth_room/audio/jiu-jutsu.wav.import b/src/base-environments/youth_room/audio/jiu-jutsu.wav.import new file mode 100644 index 0000000..29e2d45 --- /dev/null +++ b/src/base-environments/youth_room/audio/jiu-jutsu.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dpyf2oc5vn30e" +path="res://.godot/imported/jiu-jutsu.wav-b3e1301abd6e63f04295124e46a93ec7.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/jiu-jutsu.wav" +dest_files=["res://.godot/imported/jiu-jutsu.wav-b3e1301abd6e63f04295124e46a93ec7.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 diff --git a/src/base-environments/youth_room/audio/why-does-it-mean.wav b/src/base-environments/youth_room/audio/why-does-it-mean.wav new file mode 100644 index 0000000..a29f05c --- /dev/null +++ b/src/base-environments/youth_room/audio/why-does-it-mean.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6194e1b4f0ef3b7e085b19bb226ebe3e347dce87482ee4cb08e78c09107dc810 +size 602256 diff --git a/src/base-environments/youth_room/audio/why-does-it-mean.wav.import b/src/base-environments/youth_room/audio/why-does-it-mean.wav.import new file mode 100644 index 0000000..312e808 --- /dev/null +++ b/src/base-environments/youth_room/audio/why-does-it-mean.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bakwypwhs7a5n" +path="res://.godot/imported/why-does-it-mean.wav-3ccf270748b0feeab26f5943513b8d4f.sample" + +[deps] + +source_file="res://base-environments/youth_room/audio/why-does-it-mean.wav" +dest_files=["res://.godot/imported/why-does-it-mean.wav-3ccf270748b0feeab26f5943513b8d4f.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 diff --git a/src/base-environments/youth_room/scnees/childhood.tscn b/src/base-environments/youth_room/scnees/childhood.tscn index ad2f583..609ae28 100644 --- a/src/base-environments/youth_room/scnees/childhood.tscn +++ b/src/base-environments/youth_room/scnees/childhood.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=3 uid="uid://c3l8tm8ku50vt"] +[gd_scene load_steps=20 format=3 uid="uid://c3l8tm8ku50vt"] [ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_40hhx"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_bkq30"] @@ -6,7 +6,8 @@ [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_o63m7"] [ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="4_q0fee"] [ext_resource type="AudioStream" uid="uid://b3cw0e41rjggo" path="res://base-environments/youth_room/audio/childhood_de.wav" id="6_wyhdp"] -[ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="7_w01wh"] +[ext_resource type="AudioStream" uid="uid://dfblaqsfgm8le" path="res://base-environments/youth_room/audio/Childhood.wav" id="7_51c6s"] +[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="8_51c6s"] [sub_resource type="ViewportTexture" id="ViewportTexture_1k8vs"] viewport_path = NodePath("PanelContainer/StartFrame/TextureRect/SubViewport") @@ -257,7 +258,7 @@ tracks/7/keys = { [sub_resource type="Animation" id="Animation_7qabw"] resource_name = "en" -length = 89.0 +length = 92.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true @@ -266,11 +267,11 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "clips": [{ -"end_offset": 200.63, -"start_offset": 96.4197, -"stream": ExtResource("7_w01wh") +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("7_51c6s") }], -"times": PackedFloat32Array(1.4) +"times": PackedFloat32Array(2.4) } tracks/0/use_blend = true tracks/1/type = "value" @@ -280,7 +281,7 @@ tracks/1/path = NodePath("../../..:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 1.66667, 6.26666, 7.56667, 17.4, 18.4667, 21.8667, 22.8, 28.6, 29.9333, 32.3, 32.8, 36.2667, 38.2333, 40.1608, 40.6, 50.9667, 51.6333, 55.0333, 56.4, 58.8333, 59.7, 61.5667, 62.9333, 67.4028, 68.7667, 71.8333, 72.8333, 75.293, 77, 80.7663, 82.0333, 88), +"times": PackedFloat32Array(0, 1.66667, 6.26666, 7.56667, 17.4, 18.4667, 21.8667, 22.8, 28.6, 29.9333, 32.3, 32.8, 36.2667, 38.2333, 40.1608, 40.6, 50.9667, 51.6333, 55.0333, 56.4, 58.8333, 59.7, 61.5667, 62.9333, 67.4028, 68.7667, 71.8333, 72.8333, 75.293, 78.0667, 81.9663, 84.7667, 90.7333), "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.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, 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] @@ -292,7 +293,7 @@ tracks/2/path = NodePath("../../..") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(17.6, 37.5667, 55.2667, 68.0667, 75.9667, 87.7), +"times": PackedFloat32Array(17.6, 37.5667, 55.2667, 68.0667, 75.9667, 91.1667), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "values": [{ "args": [], @@ -585,3 +586,4 @@ libraries = { [node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] mix_target = 2 bus = &"text" +script = ExtResource("8_51c6s") diff --git a/src/base-environments/youth_room/scnees/draven.tscn b/src/base-environments/youth_room/scnees/draven.tscn index fad0549..d61bf1e 100644 --- a/src/base-environments/youth_room/scnees/draven.tscn +++ b/src/base-environments/youth_room/scnees/draven.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://cgwuoc1jfi7w6"] +[gd_scene load_steps=14 format=3 uid="uid://cgwuoc1jfi7w6"] [ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_o2rjr"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_xwj2j"] @@ -82,6 +82,18 @@ tracks/5/keys = { "update": 0, "values": [Color(1, 1, 1, 1)] } +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("%AnimationPlayer/Music:stream") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("6_7f2et")] +} [sub_resource type="Animation" id="Animation_bgeog"] resource_name = "de" @@ -101,40 +113,25 @@ tracks/0/keys = { "times": PackedFloat32Array(1.9) } tracks/0/use_blend = true -tracks/1/type = "audio" +tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("%AnimationPlayer/Music") +tracks/1/path = NodePath("../../..:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 1.13, -"stream": ExtResource("6_7f2et") -}], -"times": PackedFloat32Array(0.133333) -} -tracks/1/use_blend = true -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../../..:progress") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { "times": PackedFloat32Array(0, 1.66667, 6.13333, 7.76667, 16.3, 19.0333, 26.7, 28.2, 34.9333, 36.7, 40.5, 41.9667, 44.6, 45.2, 49.2667, 50.4059, 55.2667, 56.0667, 58.8333, 60.8, 63.6667, 64.4667, 70.3058, 72.8, 82.2667, 83.8333, 90.0028, 91.0667, 97.6333, 99.7667, 106.526, 108.233, 117.933, 119.2, 121.633, 123.2, 132.1), "transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 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, 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, 17.0, 18.0] } -tracks/3/type = "method" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("../../..") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { +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(27.2333, 37.5, 59.2667, 72, 82.2667, 89.7667, 106.167, 116.333, 133.8, 144.3), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "values": [{ @@ -169,49 +166,49 @@ tracks/3/keys = { "method": &"trigger_intro" }] } -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("..:custom_minimum_size") -tracks/4/interp = 2 -tracks/4/loop_wrap = true -tracks/4/keys = { +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("..:custom_minimum_size") +tracks/3/interp = 2 +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/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath(".:rotation") -tracks/5/interp = 2 -tracks/5/loop_wrap = true -tracks/5/keys = { +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath(".:rotation") +tracks/4/interp = 2 +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/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("../..:modulate") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { +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/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("../../..:visible") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../../..:visible") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, @@ -220,7 +217,7 @@ tracks/7/keys = { [sub_resource type="Animation" id="Animation_gpkkx"] resource_name = "en" -length = 125.0 +length = 150.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true @@ -236,42 +233,27 @@ tracks/0/keys = { "times": PackedFloat32Array(2.13355) } tracks/0/use_blend = true -tracks/1/type = "audio" +tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("%AnimationPlayer/Music") +tracks/1/path = NodePath("../../..:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 1.13, -"stream": ExtResource("6_7f2et") -}], -"times": PackedFloat32Array(0.133333) -} -tracks/1/use_blend = true -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("../../..:progress") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { "times": PackedFloat32Array(0, 1.66667, 6.03333, 7.66667, 11.2333, 13.9666, 19.5, 21, 28.6, 30.3667, 35.5, 36.9667, 39.2333, 39.8333, 43.0275, 44.1667, 48.5333, 49.3333, 51.5666, 53.5333, 57.3, 58.1, 63.1667, 65.4609, 72.4667, 74.0333, 80.8361, 81.9, 88.2666, 90.4, 97.493, 99.2, 106.5, 107.767, 111.4, 112.967, 119.5), "transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 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, 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, 17.0, 18.0] } -tracks/3/type = "method" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("../../..") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(16.5333, 40.5333, 60.6, 82.2333, 97.7333, 120.3, 150.267), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +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(16.5333, 40.5333, 60.6, 82.2333, 97.7333, 122.3), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "values": [{ "args": [], "method": &"try_scroll" @@ -290,51 +272,60 @@ tracks/3/keys = { }, { "args": [], "method": &"_on_text_finished" -}, { -"args": [], -"method": &"trigger_intro" }] } -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("..:custom_minimum_size") -tracks/4/interp = 2 -tracks/4/loop_wrap = true -tracks/4/keys = { +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("..:custom_minimum_size") +tracks/3/interp = 2 +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/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath(".:rotation") -tracks/5/interp = 2 -tracks/5/loop_wrap = true -tracks/5/keys = { +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath(".:rotation") +tracks/4/interp = 2 +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/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("../..:modulate") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { +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 = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("../../..:visible") +tracks/7/path = NodePath("%AnimationPlayer/Music:playing") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -384,10 +375,41 @@ tracks/2/keys = { "values": [0.349066, 0.523599] } +[sub_resource type="Animation" id="Animation_egql5"] +resource_name = "debug" +length = 30.0 +tracks/0/type = "method" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../..") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(8.93333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_on_text_finished" +}] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%AnimationPlayer/Music:playing") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] _data = { &"RESET": SubResource("Animation_ytihj"), &"de": SubResource("Animation_bgeog"), +&"debug": SubResource("Animation_egql5"), &"en": SubResource("Animation_gpkkx"), &"vanish": SubResource("Animation_d2p1i") } @@ -459,7 +481,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. [/p][p][font_size=8] [/font_size][/p][p]But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? He was sure of it, as the familiar scent has never been stronger than tonight. [/p][p][font_size=8] [/font_size][/p][p]When suddently: Was that chatter? [/p][p][font_size=8] [/font_size][/p][p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. [/p][p][font_size=8] [/font_size][/p][p]A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. But all he saw was a fox. [/p][p][font_size=8] [/font_size][/p][p]He didn't even want to bother it anymore. [/p][p][font_size=8] [/font_size][/p][p]It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. It took him a while to notice, how there was a sudden silence when the clouds broke: [/p][p][font_size=8] [/font_size][/p][p]Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. [/p][p][font_size=8] [/font_size][/p][p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds. [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. [/p][p][font_size=8] [/font_size][/p][p]But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? He was sure of it, as the familiar scent has never been stronger than tonight. [/p][p][font_size=8] [/font_size][/p][p]When suddently: Was that chatter? [/p][p][font_size=8] [/font_size][/p][p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. [/p][p][font_size=8] [/font_size][/p][p]A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. But all he saw was a fox. [/p][p][font_size=8] [/font_size][/p][p]He didn't even want to bother it anymore. [/p][p][font_size=8] [/font_size][/p][p]It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. It took him a while to notice, how there was a sudden silence when the clouds broke: [/p][p][font_size=8] [/font_size][/p][p]Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. [/p][p][font_size=8] [/font_size][/p][p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters = 0 @@ -490,7 +512,9 @@ mix_target = 2 bus = &"text" [node name="Music" type="AudioStreamPlayer" parent="AnimationPlayer"] +stream = ExtResource("6_7f2et") volume_db = -10.0 bus = &"music" [connection signal="scroll_started" from="PanelContainer/VBoxContainer/StoryScroll" to="PanelContainer/SkipControl" method="abort_auto_proceed"] +[connection signal="finished" from="AnimationPlayer/Music" to="." method="trigger_intro"] diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index c6a7625..080f6ce 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://23bshas7sk6h"] +[gd_scene load_steps=32 format=3 uid="uid://23bshas7sk6h"] [ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_aby4n"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_k4i8e"] @@ -9,7 +9,9 @@ [ext_resource type="AudioStream" uid="uid://b3cw0e41rjggo" path="res://base-environments/youth_room/audio/childhood_de.wav" id="6_uqngm"] [ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="7_bvh45"] [ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="7_uqngm"] +[ext_resource type="AudioStream" uid="uid://dpyf2oc5vn30e" path="res://base-environments/youth_room/audio/jiu-jutsu.wav" id="9_uqngm"] [ext_resource type="AudioStream" uid="uid://1tvopjmo6dp2" path="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" id="10_bvh45"] +[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="11_0qiyf"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_vxads"] radius = 110.0 @@ -330,7 +332,7 @@ tracks/7/keys = { [sub_resource type="Animation" id="Animation_nmo1t"] resource_name = "en" -length = 210.0 +length = 235.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true @@ -339,15 +341,11 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "clips": [{ -"end_offset": 62.4779, -"start_offset": 183.499, -"stream": ExtResource("7_bvh45") -}, { "end_offset": 0.0, -"start_offset": 322.397, -"stream": ExtResource("7_bvh45") +"start_offset": 4.62339, +"stream": ExtResource("9_uqngm") }], -"times": PackedFloat32Array(1.1, 139.2) +"times": PackedFloat32Array(1.96667) } tracks/0/use_blend = true tracks/1/type = "value" @@ -492,8 +490,8 @@ tracks/12/path = NodePath("../../..") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { -"times": PackedFloat32Array(41.8, 92.4031, 129.133, 162.511, 204.5), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"times": PackedFloat32Array(43.5333, 92.4031, 125.533, 155.167, 179.133, 181.935, 209.834, 233.467), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), "values": [{ "args": [], "method": &"try_scroll" @@ -508,6 +506,15 @@ tracks/12/keys = { "method": &"try_scroll" }, { "args": [], +"method": &"_emit_thunder" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], +"method": &"try_scroll" +}, { +"args": [], "method": &"_on_text_finished" }] } @@ -518,10 +525,10 @@ tracks/13/path = NodePath("../../..:progress") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { -"times": PackedFloat32Array(0.733333, 6.53333, 9.26667, 14.9, 16.6403, 24.3333, 25.7989, 38.4, 42.9, 90.1333, 92.2, 96.6667, 98.4294, 102.033, 103.89, 106.233, 108.3, 109.067, 116.612, 117.349, 119.467, 120.6, 122.167, 123.54, 127.633, 129.431, 134.867, 136.3, 141.567, 143.546, 148.35, 149.124, 154.275, 154.929, 159.067, 159.867, 161.852, 163.013, 166.051, 166.567, 169.419, 170.279, 178.341, 179.1, 187.391, 188.467, 191.333, 192.733, 199.776), -"transitions": PackedFloat32Array(0.450625, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"times": PackedFloat32Array(0.733333, 6.53333, 12.5667, 18.293, 20.0333, 28.2677, 32.2667, 42.7333, 47.2333, 54.541, 56.1949, 60.5552, 62.1466, 64.6899, 66.6, 72.8467, 74.3667, 80.1013, 82.0206, 90.1333, 92.2, 96.6667, 98.4294, 105.243, 107.1, 113.01, 114.067, 119.745, 121.4, 125.1, 127.2, 132.467, 134.767, 138.149, 139.4, 140.821, 141.333, 145.355, 146.859, 154.259, 156.6, 162.233, 164.867, 171.3, 173.133, 177.797, 181.8, 186.267, 188.686, 191, 192.263, 194.637, 195.9, 199.014, 200.132, 203.15, 204.268, 208.833, 211.867, 218.067, 221.647, 224.367, 225.347, 228.012, 228.992, 233.473), +"transitions": PackedFloat32Array(0.450625, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0, 32.0, 33.0, 33.0, 34.0] +"values": [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, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0, 32.0, 33.0] } tracks/14/type = "value" tracks/14/imported = false @@ -761,6 +768,7 @@ layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 2 mouse_filter = 2 +scroll_vertical = 100 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 @@ -808,7 +816,7 @@ noise_power = 5.0 [node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"] emitting = false -amount = 500 +amount = 1 texture = ExtResource("6_0qiyf") lifetime = 5.0 one_shot = true @@ -832,8 +840,10 @@ libraries = { [node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] mix_target = 2 bus = &"text" +script = ExtResource("11_0qiyf") [node name="Music" type="AudioStreamPlayer" parent="AnimationPlayer"] +volume_db = -10.0 bus = &"music" [connection signal="input_event" from="PanelContainer/card" to="PanelContainer/card" method="_on_input_event"] diff --git a/src/base-environments/youth_room/scnees/voice_training.tscn b/src/base-environments/youth_room/scnees/voice_training.tscn index edf3310..56f757a 100644 --- a/src/base-environments/youth_room/scnees/voice_training.tscn +++ b/src/base-environments/youth_room/scnees/voice_training.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://cj1ccdk0686ke"] +[gd_scene load_steps=18 format=3 uid="uid://cj1ccdk0686ke"] [ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_543ki"] [ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_ho85h"] @@ -7,7 +7,8 @@ [ext_resource type="ArrayMesh" uid="uid://byjfgvx7jeal" path="res://base-environments/youth_room/import/youth_special_meshes_comic_book_2.res" id="4_kn83e"] [ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="5_b3y80"] [ext_resource type="AudioStream" uid="uid://b3cw0e41rjggo" path="res://base-environments/youth_room/audio/childhood_de.wav" id="6_ya787"] -[ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="7_ryb3e"] +[ext_resource type="AudioStream" uid="uid://d15ltkofdggly" path="res://base-environments/youth_room/audio/Voice-Training-Workshop.wav" id="8_ho85h"] +[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="9_kn83e"] [sub_resource type="ViewportTexture" id="ViewportTexture_ho85h"] viewport_path = NodePath("PanelContainer/StartFrame/TextureRect/SubViewport") @@ -268,7 +269,7 @@ tracks/7/keys = { [sub_resource type="Animation" id="Animation_7qabw"] resource_name = "en" -length = 95.0 +length = 108.0 tracks/0/type = "audio" tracks/0/imported = false tracks/0/enabled = true @@ -277,11 +278,11 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "clips": [{ -"end_offset": 288.917, -"start_offset": 0.0, -"stream": ExtResource("7_ryb3e") +"end_offset": 0.0, +"start_offset": 4.92, +"stream": ExtResource("8_ho85h") }], -"times": PackedFloat32Array(0.400002) +"times": PackedFloat32Array(0.6) } tracks/0/use_blend = true tracks/1/type = "value" @@ -291,10 +292,10 @@ 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, 13.1, 14.1333, 17.1, 18.0333, 20.8334, 21.5, 26.1333, 26.6333, 30.6, 32.5, 38.475, 39.375, 41.9667, 42.6333, 46.1, 47.4667, 50.4333, 52.2333, 54.8667, 56.1333, 59.9028, 61.2667, 64.9334, 65.8667, 70.5597, 72.2667, 78.233, 79.5, 84.9333, 86.0077, 91.8667), -"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.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, 0.482968, 0.482968), +"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, 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, 17.0, 18.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 @@ -303,7 +304,7 @@ tracks/2/path = NodePath("../../..") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(17.6, 31.8, 51.1667, 71.1333, 75.9667, 94.3333), +"times": PackedFloat32Array(15.2333, 35.2, 56, 74.5667, 96.9007, 107.867), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), "values": [{ "args": [], @@ -329,7 +330,7 @@ tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("..:custom_minimum_size") -tracks/3/interp = 2 +tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.7), @@ -341,7 +342,7 @@ tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath(".:rotation") -tracks/4/interp = 2 +tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 1.8), @@ -389,7 +390,7 @@ tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:position") -tracks/8/interp = 2 +tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0.0497012, 1.46667), @@ -401,7 +402,7 @@ tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:rotation") -tracks/9/interp = 2 +tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0, 1.46667), @@ -642,3 +643,4 @@ libraries = { [node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"] mix_target = 2 bus = &"text" +script = ExtResource("9_kn83e") From c49680e80db243f567a8aece6b11e443cfc6ee5a Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:20:35 +0200 Subject: [PATCH 13/25] enhance processing of voice audio, WIP, related: #153 --- src/default_bus_layout.tres | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index a52cbef..fd19269 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,9 +1,35 @@ -[gd_resource type="AudioBusLayout" load_steps=3 format=3 uid="uid://djkwd76o033io"] +[gd_resource type="AudioBusLayout" load_steps=7 format=3 uid="uid://djkwd76o033io"] [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_ijm2o"] resource_name = "LowPassFilter" cutoff_hz = 6000.0 +[sub_resource type="AudioEffectHighPassFilter" id="AudioEffectHighPassFilter_j3pel"] +resource_name = "HighPassFilter" +cutoff_hz = 40.0 +resonance = 0.7 +db = 1 + +[sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_j3pel"] +resource_name = "LowPassFilter" +cutoff_hz = 13084.0 +resonance = 0.7 + +[sub_resource type="AudioEffectEQ" id="AudioEffectEQ_j3pel"] +resource_name = "EQ" +band_db/100_hz = 2.0 +band_db/320_hz = 4.0 +band_db/3200_hz = -1.0 +band_db/10000_hz = -6.0 + +[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_j3pel"] +resource_name = "Reverb" +predelay_feedback = 0.1 +room_size = 0.3 +damping = 1.0 +hipass = 0.4 +wet = 0.03 + [sub_resource type="AudioEffectLowPassFilter" id="AudioEffectLowPassFilter_5p17k"] resource_name = "LowPassFilter" resonance = 0.52 @@ -17,6 +43,14 @@ bus/1/mute = false bus/1/bypass_fx = false bus/1/volume_db = 0.0 bus/1/send = &"test 2" +bus/1/effect/0/effect = SubResource("AudioEffectHighPassFilter_j3pel") +bus/1/effect/0/enabled = true +bus/1/effect/1/effect = SubResource("AudioEffectLowPassFilter_j3pel") +bus/1/effect/1/enabled = true +bus/1/effect/2/effect = SubResource("AudioEffectEQ_j3pel") +bus/1/effect/2/enabled = true +bus/1/effect/3/effect = SubResource("AudioEffectReverb_j3pel") +bus/1/effect/3/enabled = true bus/2/name = &"sfx" bus/2/solo = false bus/2/mute = false From f0a8bc943736b055273429040d8f6800d8bf7176 Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:28:23 +0200 Subject: [PATCH 14/25] fix #158 by modifying sequence handling, enhance music transitions, add thunder in jui jitsu --- .../youth_room/scnees/scene_player.gd | 16 +++- .../youth_room/youth_room.tscn | 93 ++++++++++++------- 2 files changed, 71 insertions(+), 38 deletions(-) diff --git a/src/base-environments/youth_room/scnees/scene_player.gd b/src/base-environments/youth_room/scnees/scene_player.gd index 3fe79a2..be62579 100644 --- a/src/base-environments/youth_room/scnees/scene_player.gd +++ b/src/base-environments/youth_room/scnees/scene_player.gd @@ -4,6 +4,7 @@ extends CenterContainer signal text_finished signal finished signal intro +signal emit_thunder #TODO properly implement animation taking stage, as it should do, disabling processing when it does not have stage. @@ -94,7 +95,7 @@ func _ready() -> void: progress = progress func try_scroll(): - var scroll_target: int + var forward_target: int #print( "max lines: " + str(max_lines)) #print( "current lines: " + str(label.get_character_line(label.visible_characters))) @@ -105,13 +106,13 @@ func try_scroll(): if label.size.y * visible_ratio + scroll_container.scroll_vertical > scroll_container.size.y * 0.9: if scroll_container.scroll_vertical + scroll_container.size.y * 0.9 < label.size.y: - scroll_target = scroll_container.scroll_vertical + scroll_container.size.y * 0.8 + forward_target = scroll_container.scroll_vertical + scroll_container.size.y * 0.8 else: - scroll_target = label.size.y - scroll_container.size.y + forward_target = label.size.y - scroll_container.size.y if scroll_target != null: var tween: Tween = get_tree().create_tween() ##tween.set_trans() - tween.tween_property(scroll_container, "scroll_vertical", scroll_target, 0.5) + scroll_target = forward_target func play_scene(): animation_complete = false @@ -175,7 +176,14 @@ func skip_text(): animation_player.stop(true) was_skipped = true text_finished.emit() + if name == "draven": + $AnimationPlayer/Music.stop() + elif name == "JuiJutsu": + _emit_thunder() func _on_text_finished(): if not animation_complete: text_finished.emit() + +func _emit_thunder(): + emit_thunder.emit() diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index da47311..a3a3c8e 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=113 format=4 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=112 format=4 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" uid="uid://belkrno67sft0" 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"] @@ -356,10 +356,22 @@ tracks/16/keys = { "update": 1, "values": [false] } +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("%ScenePlayer/Moving:volume_db") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} [sub_resource type="Animation" id="Animation_ea6x8"] resource_name = "childhood_music" -length = 90.0 +length = 5.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -367,10 +379,10 @@ tracks/0/path = NodePath("%ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(-0.0416667, 4.95833, 85, 90), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(-0.0416667, 5), +"transitions": PackedFloat32Array(3.36358, 1), "update": 0, -"values": [0.0, -80.0, -80.0, 0.0] +"values": [0.0, -80.0] } tracks/1/type = "value" tracks/1/imported = false @@ -379,15 +391,15 @@ tracks/1/path = NodePath("%ScenePlayer/Childhood:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 5, 85, 90), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0, 5), +"transitions": PackedFloat32Array(0.196146, 1), "update": 0, -"values": [-80.0, 0.0, 0.0, -80.0] +"values": [-80.0, 0.0] } [sub_resource type="Animation" id="Animation_1kp3w"] resource_name = "draeven" -length = 155.0 +length = 160.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -503,11 +515,25 @@ tracks/9/path = NodePath("ScenePlayer/Moving:volume_db") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { -"times": PackedFloat32Array(0.1, 7.6, 150.5, 158.3), +"times": PackedFloat32Array(0.1, 7.6, 143.233, 151.033), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, "values": [0.0, -80.0, -80.0, 0.0] } +tracks/10/type = "method" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("%ScenePlayer") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(142.333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"start_soundtrack" +}] +} [sub_resource type="Animation" id="Animation_1pmhi"] resource_name = "intro" @@ -531,7 +557,7 @@ tracks/1/path = NodePath("ScenePlayer") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0.8), +"times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "values": [{ "args": [], @@ -637,7 +663,7 @@ tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 9, 171.8, 207.7), +"times": PackedFloat32Array(0, 9, 177, 191), "transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), "update": 0, "values": [0.0, -80.0, -80.0, 0.0] @@ -702,7 +728,7 @@ tracks/3/keys = { [sub_resource type="Animation" id="Animation_8gaqi"] resource_name = "voice_intro" -length = 10.0 +length = 5.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -710,7 +736,7 @@ tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 9), +"times": PackedFloat32Array(0, 5), "transitions": PackedFloat32Array(1.93187, 1), "update": 0, "values": [0.0, -80.0] @@ -722,7 +748,7 @@ tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 9.1), +"times": PackedFloat32Array(0, 5), "transitions": PackedFloat32Array(0.241484, 1), "update": 0, "values": [-80.0, 0.0] @@ -730,7 +756,7 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_ghmim"] resource_name = "voice_music" -length = 105.0 +length = 7.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -738,10 +764,10 @@ tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 5.6, 94.8, 102.9), -"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"times": PackedFloat32Array(0, 7), +"transitions": PackedFloat32Array(4.14105, 1), "update": 0, -"values": [0.0, -80.0, -80.0, 0.0] +"values": [0.0, -80.0] } tracks/1/type = "value" tracks/1/imported = false @@ -750,10 +776,10 @@ tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0.1, 5.7, 94.8, 103.1), -"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), +"times": PackedFloat32Array(0.1, 7), +"transitions": PackedFloat32Array(0.176777, 1), "update": 0, -"values": [-80.0, 0.0, 0.0, -80.0] +"values": [-80.0, 0.0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_ilekd"] @@ -810,7 +836,6 @@ func play_scene(id: int, repeat = false): Scenes.id.YOUTH_DRAEVEN: play(\"draeven\") $draven.play_scene() - get_parent().get_parent().dnd = true func _on_ini_room(): pass @@ -826,16 +851,24 @@ func on_voice_training_done(): func on_jui_jutsu_done(): Scenes.continue_sequence(self) $JuiJutsu.hide() + if $JuiJutsu.was_skipped: + play(\"intro\") func on_draeven_done(): Scenes.continue_sequence(self) + await $draven.finished $draven.hide() func try_intro(): if $draven.was_skipped: play(\"intro\") -func scene_finished(_id: int, _repeat: bool): +func scene_finished(id: Scenes.id, _repeat: bool): + match id: + Scenes.id.YOUTH_CHILDHOOD: + play_backwards(\"childhood_music\") + Scenes.id.YOUTH_VOICE_TRAINING: + play_backwards(\"voice_music\") queue(\"RESET\") func play(anin_name: StringName = \"\", a: float = -1, b: float = 1, c: bool = false) -> void: @@ -1064,15 +1097,6 @@ _data = { &"lighting_and_thunder": SubResource("Animation_3ms6b") } -[sub_resource type="GDScript" id="GDScript_j63gy"] -script/source = "extends AnimationPlayer - -func _process(delta: float) -> void: - if Input.is_action_just_pressed(\"ui_focus_next\"): - stop() - play(\"lighting_and_thunder\") -" - [sub_resource type="GDScript" id="GDScript_35dmj"] script/source = "extends SpotLight3D @@ -1955,7 +1979,6 @@ shape = SubResource("CapsuleShape3D_72g2i") libraries = { &"": SubResource("AnimationLibrary_vwrt1") } -script = SubResource("GDScript_j63gy") [node name="sfx" type="Node3D" parent="."] @@ -1973,6 +1996,7 @@ emission_angle_filter_attenuation_db = -19.6 [node name="thunder" type="AudioStreamPlayer3D" parent="sfx"] transform = Transform3D(-0.410985, -0.460061, 0.787042, -0.904759, 0.311726, -0.290238, -0.111814, -0.831367, -0.544359, -0.248397, 4.34956, 8.85405) +unit_size = 100.0 panning_strength = 0.3 bus = &"sfx" @@ -2268,6 +2292,7 @@ light_array = Array[Vector3]([Vector3(-0.545, 0.915, 1.035), Vector3(-0.47, 0.85 [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] [connection signal="board_completed" from="logic/UI/Board" to="logic/UI/ending_button" method="show"] +[connection signal="emit_thunder" from="logic/ScenePlayer/JuiJutsu" to="AnimationPlayer" method="play" binds= ["lighting_and_thunder"]] [connection signal="finished" from="logic/ScenePlayer/draven" to="logic/ScenePlayer" method="on_draeven_done"] [connection signal="input_event" from="logic/MaskMemento/UiWrapper" to="logic/MaskMemento/UiWrapper" method="_on_input_event"] [connection signal="scene_skipped" from="logic/MaskMemento/UiWrapper/UiSprite/SubViewport/CollectableUi" to="logic/UI/Board" method="on_scene_skipped"] From b7258e858bb88337959c84e55ef27fb9fa7c592f Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:34:45 +0200 Subject: [PATCH 15/25] add force stereo option to avoid audio getting lost in misconfigured surround setup --- src/dev-util/stereo-switch.gd | 11 +++++++++++ src/dev-util/stereo-switch.gd.uid | 1 + src/logic-scenes/main menu/audio_settings.gd | 4 ++++ src/logic-scenes/main menu/audio_settings.tscn | 6 ++++++ src/singletons/global_state.gd | 12 +++++++++++- 5 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/dev-util/stereo-switch.gd create mode 100644 src/dev-util/stereo-switch.gd.uid diff --git a/src/dev-util/stereo-switch.gd b/src/dev-util/stereo-switch.gd new file mode 100644 index 0000000..cb1eb99 --- /dev/null +++ b/src/dev-util/stereo-switch.gd @@ -0,0 +1,11 @@ +class_name StereoSwitch extends AudioStreamPlayer + +func _ready() -> void: + State.settings_changed.connect(update_mix_target) + update_mix_target() + +func update_mix_target(): + if State.force_stereo: + mix_target = AudioStreamPlayer.MIX_TARGET_STEREO + else: + mix_target = AudioStreamPlayer.MIX_TARGET_CENTER diff --git a/src/dev-util/stereo-switch.gd.uid b/src/dev-util/stereo-switch.gd.uid new file mode 100644 index 0000000..4999b51 --- /dev/null +++ b/src/dev-util/stereo-switch.gd.uid @@ -0,0 +1 @@ +uid://c1oub0cs7cph6 diff --git a/src/logic-scenes/main menu/audio_settings.gd b/src/logic-scenes/main menu/audio_settings.gd index a2f354a..24ba257 100644 --- a/src/logic-scenes/main menu/audio_settings.gd +++ b/src/logic-scenes/main menu/audio_settings.gd @@ -22,6 +22,7 @@ var current_music_decay:float = 0 @onready var sum_slider: Range = %SumSlider @onready var text_lang_selector: OptionButton = %InterfaceSelector @onready var speech_lang_selector: OptionButton = %SpeechSelector +@onready var force_stereo_switch: CheckBox = %ForceStereoCheck func _process(delta: float) -> void: if current_music_decay > 0: @@ -54,6 +55,8 @@ func _ready() -> void: %ResetButton.pressed.connect(_on_reset_button_pressed) %SaveButton.pressed.connect(_on_exit_button_pressed) + + force_stereo_switch.pressed.connect(func(value): State.force_stereo = value) func _on_reset_button_pressed(): @@ -73,6 +76,7 @@ func update_ui_from_state(): sum_slider.value = State.main_volume text_lang_selector.select(State.text_language) speech_lang_selector.select(State.speech_language) + force_stereo_switch.button_pressed = State.force_stereo func _on_exit_button_pressed() -> void: leave_stage.emit() diff --git a/src/logic-scenes/main menu/audio_settings.tscn b/src/logic-scenes/main menu/audio_settings.tscn index 160cc53..4f81993 100644 --- a/src/logic-scenes/main menu/audio_settings.tscn +++ b/src/logic-scenes/main menu/audio_settings.tscn @@ -161,6 +161,12 @@ max_value = 1.0 step = 0.05 value = 0.5 +[node name="ForceStereoCheck" type="CheckBox" parent="."] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "This setting disables the surround center channel. May resolve you not hearing speech when your Operating Sustem has a misconfigured surround setup." +text = "Headphone-Mode (may fix missing speech)" + [node name="I18nLabel" type="Label" parent="."] layout_mode = 2 theme_type_variation = &"HeaderMedium" diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index c5d4e31..45ad0a9 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -99,6 +99,15 @@ var current_main_theme:Theme = preload("res://logic-scenes/themes/handwriting.th set(volume): speech_volume = volume AudioServer.set_bus_volume_db(AudioServer.get_bus_index("text"), linear_to_db(volume)) +@export var force_stereo: bool = false: + set(stereo): + if stereo != force_stereo: + force_stereo = stereo + settings_changed.emit() +@export var disconnect_steam:bool = false +@export var obscure_logs:bool = true + + @export_enum("system_locale", "english", "german") var text_language: int = -1: set(value): text_language = value @@ -172,7 +181,8 @@ func save_settings(): "sfx_volume": sfx_volume, "music_muted": music_muted, "music_volume": music_volume, - "speech_volume": speech_volume + "speech_volume": speech_volume, + "force_stereo": force_stereo }, "gameplay": { "input_sensitivity": input_sensitivity, From 6fe6834541a1df5574ae5689fd45d35bfe097f67 Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:36:11 +0200 Subject: [PATCH 16/25] fix #136 for good: fixing animation player skip handling --- src/logic-scenes/card_picker/card_picker.gd | 9 ++++-- src/logic-scenes/card_picker/card_picker.tscn | 29 +++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 6dbd8a4..3675d2d 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -127,6 +127,7 @@ func _input(event): if event.is_action_pressed("ui_accept"): pick(curr_selection_id) elif event.is_action_pressed("skip"): + $Meaning.stop() if selection_state == CARDS_SELECTED: picked_player.play("skip_pick", .1) random_player.play("skip_shuffle", .1) @@ -135,9 +136,11 @@ func _input(event): transition() show_posts() elif selection_state == POSTS_SELECTED: + for player:AnimationPlayer in anim_players + [picked_player, random_player]: + player.play("ini") + # I do not know, why process_frame won't work here, but this is workaround seems to prevent the notes from flashing the next selection. + await(get_tree().create_timer(0.1).timeout) transition() - for player in anim_players + [picked_player, random_player]: - player.advance(10.0) elif selection_state == TRANSITION: show_posts() @@ -240,6 +243,8 @@ func pick_cards(id: int, repeat: bool): fill_card_slots(id) #State.transition_stage_to(self, true) selection_state = CARDS + if id == Scenes.id.YOUTH_DRAEVEN and not repeat: + $Meaning.play() else: Scenes.end_current_sequence() diff --git a/src/logic-scenes/card_picker/card_picker.tscn b/src/logic-scenes/card_picker/card_picker.tscn index 29213f5..966247a 100644 --- a/src/logic-scenes/card_picker/card_picker.tscn +++ b/src/logic-scenes/card_picker/card_picker.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=70 format=3 uid="uid://brk4hjdf2x81a"] +[gd_scene load_steps=72 format=3 uid="uid://brk4hjdf2x81a"] [ext_resource type="Script" uid="uid://bdb6n10apk1en" path="res://logic-scenes/card_picker/card_picker.gd" id="1_pjntm"] [ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="2_f4sp4"] [ext_resource type="Script" uid="uid://r12efqgk6t4n" path="res://logic-scenes/board/sticky-note.gd" id="3_f4sp4"] +[ext_resource type="AudioStream" uid="uid://bakwypwhs7a5n" path="res://base-environments/youth_room/audio/why-does-it-mean.wav" id="4_ujc5a"] +[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="5_et74x"] [sub_resource type="Animation" id="Animation_dinvx"] length = 0.001 @@ -1888,9 +1890,24 @@ metadata/_custom_type_script = "uid://r12efqgk6t4n" layout_mode = 2 [node name="Label" type="Label" parent="thought_prompt"] -layout_mode = 2 -offset_left = -225.0 -offset_top = -196.0 -offset_right = 225.0 -offset_bottom = -158.0 +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -282.5 +offset_top = -288.0 +offset_right = 282.5 +offset_bottom = -239.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_type_variation = &"HeaderMedium" text = "Why does that story mean so much to me?" +horizontal_alignment = 1 + +[node name="Meaning" type="AudioStreamPlayer" parent="."] +stream = ExtResource("4_ujc5a") +mix_target = 2 +bus = &"text" +script = ExtResource("5_et74x") From f8f3e1f851f3b473cfad3490ed256eeb8b6444dc Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:36:57 +0200 Subject: [PATCH 17/25] add tooltip to hyperacoustic filtering --- src/logic-scenes/main menu/acessability_settings.tscn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/logic-scenes/main menu/acessability_settings.tscn b/src/logic-scenes/main menu/acessability_settings.tscn index fe3f94c..c449575 100644 --- a/src/logic-scenes/main menu/acessability_settings.tscn +++ b/src/logic-scenes/main menu/acessability_settings.tscn @@ -55,6 +55,7 @@ text = "simplified Controls" [node name="HyperacusticsFilter" type="CheckBox" parent="Container2"] unique_name_in_owner = true layout_mode = 2 +tooltip_text = "Applies an audio filter that removes high pitched noises." text = "Hyperacoustics Filter" [node name="margin" type="MarginContainer" parent="Container2"] @@ -111,6 +112,7 @@ disabled = true selected = 1 item_count = 3 popup/item_0/text = "none" +popup/item_0/id = 0 popup/item_1/text = "spoken text" popup/item_1/id = 1 popup/item_2/text = "closed captions" From d67239e4014def0e4a6c1ce376684e97f3d6ce2f Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 9 May 2025 17:37:33 +0200 Subject: [PATCH 18/25] WIP: adding draft of enhanced privacy options --- src/dev-util/steamworks.gd | 3 +- .../main menu/privacy_settings.tscn | 115 ++++++++++++++++++ src/singletons/global_state.gd | 4 + 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 src/logic-scenes/main menu/privacy_settings.tscn diff --git a/src/dev-util/steamworks.gd b/src/dev-util/steamworks.gd index 5922ba6..a5589dd 100644 --- a/src/dev-util/steamworks.gd +++ b/src/dev-util/steamworks.gd @@ -1,6 +1,7 @@ extends Node func _ready() -> void: - pass + if State.disconnect_steam: + Steam.steamShutdown() #var initialize_response: Dictionary = Steam.steamInitEx() #print("Did Steam initialize?: %s " % initialize_response) diff --git a/src/logic-scenes/main menu/privacy_settings.tscn b/src/logic-scenes/main menu/privacy_settings.tscn new file mode 100644 index 0000000..5e0f2b2 --- /dev/null +++ b/src/logic-scenes/main menu/privacy_settings.tscn @@ -0,0 +1,115 @@ +[gd_scene load_steps=3 format=3 uid="uid://u0bwjr5l6nkh"] + +[sub_resource type="InputEventAction" id="InputEventAction_gy6yb"] +action = &"ui_cancel" +pressed = true + +[sub_resource type="Shortcut" id="Shortcut_0peu0"] +events = [SubResource("InputEventAction_gy6yb")] + +[node name="Audio and Language" type="VBoxContainer"] +offset_right = 1086.0 +offset_bottom = 860.0 +metadata/_tab_index = 1 + +[node name="Label" type="Label" parent="."] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = "Privacy and Data Protection" + +[node name="Label2" type="Label" parent="."] +layout_mode = 2 +text = "\"Frame of Mind - a game of thoughts.\" is a game discussing mental health. We expect some users may want more privacy while playing the game. +This guide that will help you understand what data is generated and procecced and what to do about it. +We protect your data by storing as little of it as strictly nessecary, by not collecting any data on our own and by helping you opt out of Steam collecting usage data. +If you think an important secirity feature is missing, we ask you to submit a bug report or better even, contribute it yourself." +autowrap_mode = 2 + +[node name="Label3" type="Label" parent="."] +layout_mode = 2 +theme_type_variation = &"HeaderMedium" +text = "Saves" +autowrap_mode = 2 + +[node name="Label4" type="Label" parent="."] +layout_mode = 2 +text = "This game uses plain-text files to store your progress. To make sure Steam has no access to that data, you can disable Cloud Saves in the properties of this game in your library. We encourage you to sync and back up saves on your own." +autowrap_mode = 2 + +[node name="Label5" type="Label" parent="."] +layout_mode = 2 +theme_type_variation = &"HeaderMedium" +text = "Playtime and Accievements" +autowrap_mode = 2 + +[node name="Label6" type="Label" parent="."] +layout_mode = 2 +text = "To track your playtime and award Steam Acceivements, this game sends data to your Steam Clinet while you are playing. You may opt out. +You can also hide this game in your library or mark it as private so your friends won't see you playing it. These privacy options are also provided in the game properties." +autowrap_mode = 2 + +[node name="Button3" type="Button" parent="."] +layout_mode = 2 +text = "reset acheivements" + +[node name="MuteSoundtrack2" type="CheckBox" parent="."] +unique_name_in_owner = true +layout_mode = 2 +tooltip_text = "All Game Music is safe to stream." +text = "disable sharing play data with Steam" + +[node name="Label7" type="Label" parent="."] +layout_mode = 2 +theme_type_variation = &"HeaderMedium" +text = "Diagnostic Data" +autowrap_mode = 2 + +[node name="Label8" type="Label" parent="."] +layout_mode = 2 +text = "Log Files store usage patterns and diagnostic data locally in plain text on your device. To protect your privacy, some information in these logs is obscurified. When reporting a bug, you can choose to include a log to help us figure out what went wrong. Opting out of obscurification can make some specific bugs easier to diagnose." +autowrap_mode = 2 + +[node name="MuteSFX2" type="CheckBox" parent="."] +unique_name_in_owner = true +layout_mode = 2 +button_pressed = true +text = "obscurify log files" + +[node name="confirm_buttons" type="HSplitContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 10 + +[node name="ResetButton" type="Button" parent="confirm_buttons"] +unique_name_in_owner = true +layout_mode = 2 +text = "reset" + +[node name="SaveButton" type="Button" parent="confirm_buttons"] +unique_name_in_owner = true +layout_mode = 2 +shortcut = SubResource("Shortcut_0peu0") +text = "save and exit" + +[node name="Popup" type="Popup" parent="."] +size = Vector2i(710, 139) + +[node name="VSplitContainer" type="VSplitContainer" parent="Popup"] +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Label" type="Label" parent="Popup/VSplitContainer"] +layout_mode = 2 +text = "Do you really want to erase all play data? +This action cannot be undone!" + +[node name="HSplitContainer" type="HSplitContainer" parent="Popup/VSplitContainer"] +layout_mode = 2 + +[node name="Button" type="Button" parent="Popup/VSplitContainer/HSplitContainer"] +layout_mode = 2 +text = "Yes, delete everything!" + +[node name="Button2" type="Button" parent="Popup/VSplitContainer/HSplitContainer"] +layout_mode = 2 +text = "No" diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 45ad0a9..d97b737 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -188,6 +188,10 @@ func save_settings(): "input_sensitivity": input_sensitivity, "inverty_y_axis": inverty_y_axis, "stream_overlay_position": stream_overlay_position + }, + "privacy": { + "disconnect_steam": disconnect_steam, + "obscure_logs": obscure_logs } } From 5f6dab8f4cf150db7b2c4629b1d77c5194e2f884 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 10 May 2025 15:23:58 +0200 Subject: [PATCH 19/25] ugly bulk commit --- .../youth_room/scnees/childhood.tscn | 8 +- .../youth_room/scnees/draven.tscn | 64 +-- .../youth_room/scnees/jui_jutsu.tscn | 12 +- .../youth_room/scnees/voice_training.tscn | 6 +- src/export_presets.cfg | 10 +- src/internationalisation.csv | 445 +++++++++--------- src/internationalisation.de.translation | Bin 17637 -> 18785 bytes src/internationalisation.en.translation | Bin 15578 -> 16594 bytes src/internationalisation.es.translation | Bin 7533 -> 8029 bytes src/internationalisation.ja.translation | Bin 7533 -> 8029 bytes src/internationalisation.notes.translation | Bin 8064 -> 8556 bytes .../collectable/new_collectable_ui.gd | 7 +- .../main menu/audio_settings.tscn | 4 +- .../main menu/content_settings.tscn | 2 +- .../main menu/gameplay_settings.tscn | 2 + .../main menu/video_settings.tscn | 2 +- src/main_menu.tscn | 2 - 17 files changed, 295 insertions(+), 269 deletions(-) diff --git a/src/base-environments/youth_room/scnees/childhood.tscn b/src/base-environments/youth_room/scnees/childhood.tscn index 609ae28..c71b2f9 100644 --- a/src/base-environments/youth_room/scnees/childhood.tscn +++ b/src/base-environments/youth_room/scnees/childhood.tscn @@ -432,8 +432,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_40hhx") -story_array = PackedStringArray("[p]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.") -paragraph_lengths = PackedInt32Array(3, 4, 6, 9, 10, 13, 14, 15, 16) +story_array = PackedStringArray("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.", "But at least I could fucking talk to teachers and they had stuff to say.") +paragraph_lengths = PackedInt32Array(3, 4, 6, 9, 12, 13, 14, 16) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -541,7 +541,7 @@ layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = " crafted Mask" +text = "crafted Mask" [node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] unique_name_in_owner = true @@ -559,7 +559,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p][p]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. [/p][p][font_size=8] [/font_size][/p][p]Dinner was difficult. [/p][p][font_size=8] [/font_size][/p][p]I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. [/p][p][font_size=8] [/font_size][/p][p]‘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. [/p][p][font_size=8] [/font_size][/p][p]Yes, I didn't do homework, but my teachers didn't mind it as much with me [/p][p][font_size=8] [/font_size][/p][p]- 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. [/p][p][font_size=8] [/font_size][/p][p]Mr Thomas probably even understood me better than my own mom. [/p][p][font_size=8] [/font_size][/p][p]He said I was gifted. He said I just didn't need homework for good grades. [/p][p][font_size=8] [/font_size][/p][p]And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B. [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]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. [/p][p][font_size=8] [/font_size][/p][p]Dinner was difficult. [/p][p][font_size=8] [/font_size][/p][p]I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom. She was always so worried. [/p][p][font_size=8] [/font_size][/p][p]‘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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]But at least I could fucking talk to teachers and they had stuff to say. [/p][p][font_size=8] [/font_size][/p][p]Mr Thomas probably even understood me better than my own mom. [/p][p][font_size=8] [/font_size][/p][p]He said I was gifted. He said I just didn't need homework for good grades. But at least I could fucking talk to teachers and they had stuff to say. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters_behavior = 1 diff --git a/src/base-environments/youth_room/scnees/draven.tscn b/src/base-environments/youth_room/scnees/draven.tscn index d61bf1e..a35cc65 100644 --- a/src/base-environments/youth_room/scnees/draven.tscn +++ b/src/base-environments/youth_room/scnees/draven.tscn @@ -215,6 +215,36 @@ tracks/6/keys = { "values": [true] } +[sub_resource type="Animation" id="Animation_egql5"] +resource_name = "debug" +length = 30.0 +tracks/0/type = "method" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../../..") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(8.93333), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_on_text_finished" +}] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("%AnimationPlayer/Music:playing") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + [sub_resource type="Animation" id="Animation_gpkkx"] resource_name = "en" length = 150.0 @@ -375,36 +405,6 @@ tracks/2/keys = { "values": [0.349066, 0.523599] } -[sub_resource type="Animation" id="Animation_egql5"] -resource_name = "debug" -length = 30.0 -tracks/0/type = "method" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../../..") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(8.93333), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"_on_text_finished" -}] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("%AnimationPlayer/Music:playing") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] _data = { &"RESET": SubResource("Animation_ytihj"), @@ -424,7 +424,7 @@ offset_right = -875.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_o2rjr") -story_array = PackedStringArray("Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.", "He had been searching for a while and he knew a special someone must be hiding in the thicket.", "When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn\'t think much of it.", "But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?", "He was sure of it, as the familiar scent has never been stronger than tonight.", "When suddently: Was that chatter?", "His wings rustled with joy over the familiar voice and Dräven decided to get a better look.", "A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.", "But all he saw was a fox.", "He didn\'t even want to bother it anymore.", "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.", "With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.", "It took him a while to notice, how there was a sudden silence when the clouds broke: ", "Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.", "The whole forest held its breath as it stared into eyes of moonlight gazing down.", "Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ", "It must feel so lost in the universe. ", "But his tears were of joy: It was the first time Dräven saw another creature of many kinds.") +story_array = PackedStringArray("Moonlight trickled down through clouds and twigs as Dräven tapped through the night.", "He had been searching for a while and he knew a special someone must be hiding in the thicket.", "When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn\'t think much of it.", "But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?", "He was sure of it, as the familiar scent has never been stronger than tonight.", "When suddenly: Was that chatter?", "His wings rustled with joy over the familiar voice and Dräven decided to get a better look.", "A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.", "But all he saw was a fox.", "He didn\'t even want to bother it anymore.", "It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.", "With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.", "It took him a while to notice, how there was a sudden silence when the clouds broke: ", "Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.", "The whole forest held its breath as it stared into eyes of moonlight gazing down.", "Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.", "It must feel so lost in the universe.", "But his tears were of joy: It was the first time Dräven saw another creature of many kinds.") paragraph_lengths = PackedInt32Array(2, 4, 5, 6, 8, 9, 12, 14, 17) [node name="PanelContainer" type="PanelContainer" parent="."] @@ -481,7 +481,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. [/p][p][font_size=8] [/font_size][/p][p]But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? He was sure of it, as the familiar scent has never been stronger than tonight. [/p][p][font_size=8] [/font_size][/p][p]When suddently: Was that chatter? [/p][p][font_size=8] [/font_size][/p][p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. [/p][p][font_size=8] [/font_size][/p][p]A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. But all he saw was a fox. [/p][p][font_size=8] [/font_size][/p][p]He didn't even want to bother it anymore. [/p][p][font_size=8] [/font_size][/p][p]It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. It took him a while to notice, how there was a sudden silence when the clouds broke: [/p][p][font_size=8] [/font_size][/p][p]Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. [/p][p][font_size=8] [/font_size][/p][p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds. [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]Moonlight trickled down through clouds and twigs as Dräven tapped through the night. He had been searching for a while and he knew a special someone must be hiding in the thicket. When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. [/p][p][font_size=8] [/font_size][/p][p]But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind? He was sure of it, as the familiar scent has never been stronger than tonight. [/p][p][font_size=8] [/font_size][/p][p]When suddenly: Was that chatter? [/p][p][font_size=8] [/font_size][/p][p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. [/p][p][font_size=8] [/font_size][/p][p]A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. But all he saw was a fox. [/p][p][font_size=8] [/font_size][/p][p]He didn't even want to bother it anymore. [/p][p][font_size=8] [/font_size][/p][p]It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. It took him a while to notice, how there was a sudden silence when the clouds broke: [/p][p][font_size=8] [/font_size][/p][p]Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds. The whole forest held its breath as it stared into eyes of moonlight gazing down. [/p][p][font_size=8] [/font_size][/p][p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. It must feel so lost in the universe. But his tears were of joy: It was the first time Dräven saw another creature of many kinds. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters = 0 diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index 080f6ce..affba42 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -719,8 +719,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_aby4n") -story_array = PackedStringArray("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 got 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?") -paragraph_lengths = PackedInt32Array(3, 4, 6, 8, 9, 10, 13, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31) +story_array = PackedStringArray("Why do i still have this junk lying around? its 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 got 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.", "I mean I did enjoy it while it lasted. Being able to properly hit people was great.", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "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 suddenly 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 its 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 goodbye. 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?") +paragraph_lengths = PackedInt32Array(3, 6, 8, 9, 10, 12, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -759,7 +759,7 @@ layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = " Jui Jutsu" +text = "Jui Jutsu" [node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] unique_name_in_owner = true @@ -778,11 +778,11 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]We also had my first proper kiss. I thought I loved him. But now? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]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 [/p][p][font_size=8] [/font_size][/p][p]… 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. [/p][p][font_size=8] [/font_size][/p][p]He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]My hands knocked on my brother’s door. He let me lie on his carpet. I slowly returned. [/p][p][font_size=8] [/font_size][/p][p]\"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]Why do i still have this junk lying around? its 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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. I mean I did enjoy it while it lasted. Being able to properly hit people was great. He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. [/p][p][font_size=8] [/font_size][/p][p]He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. [/p][p][font_size=8] [/font_size][/p][p]We also had my first proper kiss. I thought I loved him. But now? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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 suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. [/p][p][font_size=8] [/font_size][/p][p]He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]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 its stomach as he kissed it. [/p][p][font_size=8] [/font_size][/p][p]I … observed him from afar. He … didn't seem to notice, that I had left. That I didn't return to kiss him goodbye. That I didn't hug him when he went home. [/p][p][font_size=8] [/font_size][/p][p]My hands knocked on my brother’s door. He let me lie on his carpet. I slowly returned. [/p][p][font_size=8] [/font_size][/p][p]\"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true -visible_characters = 1632 +visible_characters = 1625 visible_characters_behavior = 1 -visible_ratio = 0.639749 +visible_ratio = 0.63926 [node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) diff --git a/src/base-environments/youth_room/scnees/voice_training.tscn b/src/base-environments/youth_room/scnees/voice_training.tscn index 56f757a..ba2f0b2 100644 --- a/src/base-environments/youth_room/scnees/voice_training.tscn +++ b/src/base-environments/youth_room/scnees/voice_training.tscn @@ -491,7 +491,7 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_543ki") -story_array = PackedStringArray("My secret comic stash. I remember playing Que-Men with the boys.", "I had a voice for every character in that comic. But more often than not I played him: Agent Q.", "Going under the radar, putting in precise work to save the world.", "Not having to deal with being a girl.", "Boys were so much easier. They like cars, bikes, guns and agents.", "They don’t talk behind your back. They don’t think everything is about relationships.", "Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ", "… I mean, maybe they were right?", "Like I won’t deny I was probably the first girl in my class to see a dick.", "But like - that’s what the boys do, right?", "At least it has gotten better after me and Jojo became friends.", "I still remember how that happened. I did a voice acting workshop in art class. ", "Being allowed to share my technique in front of everyone was just :D", "I mean next to nobody put in any effort. But Jojo did.", "When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.", "After this, we suddenly were besties. And my class finally started to just leave me be. ", "Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.") +story_array = PackedStringArray("My secret comic stash. I remember playing Clue-Men with the boys.", "I had a voice for every character in that comic. But more often than not I played him: Agent Q.", "Going under the radar, putting in precise work to save the world.", "Not having to deal with being a girl.", "Boys were so much easier. They like cars, bikes, guns and agents.", "They don\'t talk behind your back. They don\'t think everything is about relationships.", "Girls don\'t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ", "… I mean, maybe they were right?", "Like I won\'t deny I was probably the first girl in my class to see a dick.", "But like - that’s what the boys do, right?", "At least it has gotten better after me and Jojo became friends.", "I still remember how that happend. I did a voice acting workshop in art class.", "Being allowed to share my technique in front of everyone was just :D", "I mean next to nobody put in any effort. But Jojo did.", "When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.", "After this, we suddenly were besties. And my class finally started to just leave me be. ", "Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.") paragraph_lengths = PackedInt32Array(1, 2, 5, 7, 9, 10, 13, 14, 16) progress = 17.0 @@ -598,7 +598,7 @@ layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = " secret Comic Stash" +text = "secret Comic Stash" [node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] unique_name_in_owner = true @@ -616,7 +616,7 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]My secret comic stash. I remember playing Que-Men with the boys. I had a voice for every character in that comic. But more often than not I played him: Agent Q. [/p][p][font_size=8] [/font_size][/p][p]Going under the radar, putting in precise work to save the world. [/p][p][font_size=8] [/font_size][/p][p]Not having to deal with being a girl. Boys were so much easier. They like cars, bikes, guns and agents. They don’t talk behind your back. They don’t think everything is about relationships. [/p][p][font_size=8] [/font_size][/p][p]Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right? [/p][p][font_size=8] [/font_size][/p][p]Like I won’t deny I was probably the first girl in my class to see a dick. But like - that’s what the boys do, right? [/p][p][font_size=8] [/font_size][/p][p]At least it has gotten better after me and Jojo became friends. [/p][p][font_size=8] [/font_size][/p][p]I still remember how that happened. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :D I mean next to nobody put in any effort. But Jojo did. [/p][p][font_size=8] [/font_size][/p][p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. [/p][p][font_size=8] [/font_size][/p][p]After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]My secret comic stash. I remember playing Clue-Men with the boys. I had a voice for every character in that comic. But more often than not I played him: Agent Q. [/p][p][font_size=8] [/font_size][/p][p]Going under the radar, putting in precise work to save the world. [/p][p][font_size=8] [/font_size][/p][p]Not having to deal with being a girl. Boys were so much easier. They like cars, bikes, guns and agents. They don't talk behind your back. They don't think everything is about relationships. [/p][p][font_size=8] [/font_size][/p][p]Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right? [/p][p][font_size=8] [/font_size][/p][p]Like I won't deny I was probably the first girl in my class to see a dick. But like - that’s what the boys do, right? [/p][p][font_size=8] [/font_size][/p][p]At least it has gotten better after me and Jojo became friends. [/p][p][font_size=8] [/font_size][/p][p]I still remember how that happend. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :D I mean next to nobody put in any effort. But Jojo did. [/p][p][font_size=8] [/font_size][/p][p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. [/p][p][font_size=8] [/font_size][/p][p]After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. [/p][p][font_size=8] [/font_size][/p][p][/p]" fit_content = true scroll_active = false visible_characters_behavior = 1 diff --git a/src/export_presets.cfg b/src/export_presets.cfg index 3730724..20a6828 100644 --- a/src/export_presets.cfg +++ b/src/export_presets.cfg @@ -20,8 +20,8 @@ script_export_mode=2 [preset.0.options] -custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.441.debug.template.linux.x86_64" -custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.441.template.linux.x86_64" +custom_template/debug="/home/betalars/development/godot/godot-steam/godotsteam.441.debug.template.linux.x86_64" +custom_template/release="/home/betalars/development/godot/godot-steam/godotsteam.441.template.linux.x86_64" debug/export_console_wrapper=1 binary_format/embed_pck=false texture_format/s3tc_bptc=true @@ -66,8 +66,8 @@ script_export_mode=2 [preset.1.options] -custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.441.debug.template.windows.64.exe" -custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.441.template.windows.64.exe" +custom_template/debug="/home/betalars/development/godot/godot-steam/godotsteam.441.debug.template.windows.64.exe" +custom_template/release="/home/betalars/development/godot/godot-steam/godotsteam.441.template.windows.64.exe" debug/export_console_wrapper=1 binary_format/embed_pck=false texture_format/s3tc_bptc=true @@ -140,7 +140,7 @@ script_export_mode=2 export/distribution_type=1 binary_format/architecture="universal" custom_template/debug="" -custom_template/release="/home/betalars/Development/godot/godot-steam/macos.zip" +custom_template/release="/home/betalars/development/godot/godot-steam/macos.zip" debug/export_console_wrapper=1 application/icon="res://icon.png" application/icon_interpolation=4 diff --git a/src/internationalisation.csv b/src/internationalisation.csv index 0433794..4da9a26 100644 --- a/src/internationalisation.csv +++ b/src/internationalisation.csv @@ -1,33 +1,42 @@ keys,en,de,es,ja,notes -"Accessibility, Disclaimers and Content Notes","Accessibility, Disclaimers and Content Notes",Barrierefreiheit und Erwartungsmanagement,,, +"Accessibility, Disclaimers and Content Notes",Disclaimers and Content Notes,Barrierefreiheit und Erwartungsmanagement,,, Accessibility,Accessibility,Barrierefreiheit,,, -reduce motion,reduce motion,Reduzierte Animationen,,, -use Screenreader,use Screenreader,Screen-Reader aktivieren,,, -disable video,disable video,Video deaktivieren,,, -(save compute when playing blind,(save compute when playing blind,Spart Rechenleistung beim blind spielen,,, -simplified Controls,simplified Controls,vereinfachte Steuerung,,, -Show Navigation,Show Navigation,Navigation Anzeigen,,, +reduce motion,Reduce Motion,Reduzierte Animationen,,, +use Screenreader,Use Screenreader,Screen-Reader aktivieren,,, +disable video,Disable Video,Video deaktivieren,,, +(save compute when playing blind,Save Compute When Playing Blind,Spart Rechenleistung beim blind spielen,,, +simplified Controls,simplified Controls,Vereinfachte Steuerung,,, +Show Navigation,Show Navigation,Navigation anzeigen,,, Font-Style,Font-Style,Schriftart,,, -messy handwriting,messy handwriting,unleserliche Handschrift,,, -easy handwriting,easy handwriting,einfache Handschrift,,, -serif,serif,Serifenschrift,,, -hyperlegible sans,Hyperlegible Sans,Extrem lesbar Serifenfrei,,, -system font,system font,System-Schriftart,,, -subtitles,subtitles,Untertitelung,,, -spoken text,spoken text,gesprochener Text,,, -closed captions,closed captions,Volluntertitlung,,, +messy handwriting,Messy Handwriting,Unleserliche Handschrift,,, +easy handwriting,Easy Handwriting,Einfache Handschrift,,, +serif,Serif Font,Serifenschrift,,, +hyperlegible sans,Hyper Legible Font,Extrem lesbar Serifenfrei,,, +system font,System Font,System-Schriftart,,, +subtitles,Subtitles,Untertitel,,, +spoken text,Spoken Text,Gesprochener Text,,, +closed captions,Closed Captions,Untertitel für Hörgeschädigte,,, UI Scale,UI Scale,UI Skalierung,,, -okay,okay,O.K.,,, -go back,go back,zurück,,, -skip all,skip all,alle Überspringen,,, -Audio Settings,Audio Settings,Audio Einstellungen,,, -mute Soundtrack,mute Soundtrack,Musik aus,,, -mute Sound-Effects,mute Sound-Effects,Effekte aus,,, +okay,Okay,O.K.,,, +go back,Go Back,Zurück,,, +skip all,Skip All,Alles Überspringen,,, +Audio and Language,Audio and Language,Sprache und Sound,,, +mute Soundtrack,Mute Soundtrack,Musik aus,,, +mute Sound-Effects,Mute Sound-Effects,Effekte aus,,, Volume Sliders,Volume Sliders,Lautstärkeregler,,, Music,Music,Musik,,, Sounds,Sounds,Geräusche,,, Speech,Speech,Sprache,,, Sum,Sum,Summe,,, +Headphone-Mode (may fix missing speech),Headphone-Mode (may fix missing speech),Kopfhörer-Modus (könnte fehlende Sprachausgabe beheben),,, +This setting disables the surround center channel. May resolve you not hearing speech when your Operating Sustem has a misconfigured surround setup.,This setting disables the surround center channel. May resolve you not hearing speech when your Operating Sustem has a misconfigured surround setup.,"Diese Einstellung deaktiviert den Center-Kanal. Solltest du wegen einer fehlerhaften Surround-Konfiguration keine Sprachausgabe hören, könnte diese Option das beheben.",,, +Language Settings,Language Settings,Spracheinstellungen,,, +Interface,Interface,Oberfläche,,, +Voice Lines,Voice Lines,Sprachausgabe,,, +Find Subtitle Settings in Acessability Settings.,Find Subtitle Settings in Acessability Settings.,Untertiteloptionen sind unter Optionen für Barrierefreiheit.,,, +use OS Language,use OS Language,Betriebssystemsprache nutzen,,, +English,English,Englisch,,, +German,German,Deutsch,,, This Game deals with Heavy Topics.,This Game deals with Heavy Topics.,In diesem Spiel geht es um schwere Themen.,,, I would like to know more.,I would like to know more.,Ich würde gern mehr wissen.,,, Is this game for or about me?,Is this game for or about me?,Ist dieses Spiel für oder über mich?,,, @@ -45,245 +54,249 @@ This game tells one story about one fictional character. This character was designed to tell an honest and accessible story about identity and trauma. This is not the game for you if you are looking for escapism. This is not therapy. -You might feel understood if experiences you've had are close to the characters. -It might help you understand a friend. -It will tell you things a group of peers, that reflected about their similar, but specific experiences, want more people to know about. -This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own experiences about subjects, where betalars could not. +You might feel understood if your experiences you've had are close to the character's. +It might help you better understand a friend. +It shares insights from a group of peers who reflected on their own, specific yet similar experiences, things they want more people to understand. +This is made by betalars, who shares many overlapping experiences with the character. They also consulted people with relevant lived experiences to ensure respectful and accurate representation where their own perspective was limited. [/ul]","[ul] In diesem Spiel wird eine Geschichte eines fiktionalen Charakters erzählt. -Der Charakter wurde geschrieben, um eine zugängliche und ehrliche Geschichte über Trauma zu erzählen. +Der Charakter wurde geschrieben, um eine zugängliche und ehrliche Geschichte über dasTrauma zu erzählen. Dieses Spiel bietet keinen Eskapismus. Dieses Spiel ist keine Therapie. Vielleicht fühlst du dich verstanden, wenn deine Erfahrungen dem Charakter ähneln. -Vielleicht hilft es dir, jemand befreundetes zu verstehen. +Vielleicht hilft es dir, jemanden befreundetes zu verstehen. Dieses Spiel wurde von einer Gruppe an Leuten geschaffen, die sehr spezifische Erfahrungen, die sie gemeinsam gemacht haben, teilen wollten. Dieses Spiel ist von betalars. An vielen Stellen wurde hier aus eigener Erfahrung geschrieben und da, wo keine eigenen Erfahrungen da waren, wurden Betroffene einbezogen. [/ul]",,,leave the [ul] and [/ul] please avoid using gendered words for betalars if possible (they are non-binary) What may be difficult about the premise?,What may be difficult about the premise?,Warum könnte die Prämisse schwierig sein?,,, -"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber deine Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,, +"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the mental health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber deine Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,, What are the game's topics? (Content Notes),What are the game's topics? (Content Notes),Worum geht es im Spiel (Content Warnungen),,, -"This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","In diesem Spiel geht es um mentale Gesundheit und Sex-Positivität. Es enthält einen trans Charakter, der sich darüber nicht im klaren ist und daher auch zunächst noch keinen eigenen Namen hat. Neben Sozialer Transition thematisiert das Spiel Mysoginie, Diskriminierung wegen mentalen Behinderungen, Probleme mit dem Körperbild, Essstörungen, Mobbing, Kampfkunst, Beziehungen und Vergewaltigungen, jedoch nicht durch körperliche Gewalt. Comic Gewalt wird erwähnt in einer im Spiel fiktionalen Geschichte.",,,"The Rape being discussed in this game is non-consensual sex, but also non-voilent." +"This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","This game explores themes of mental health and sex positivity. It features a character who is trans, though you will get to know them while they are unaware about their trans identity and while they are still going by their birth name. In addition to social transitioning, the game addresses topics such as misogyny, sanism, body issues, eating disorders, bullying, martial arts, relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","In diesem Spiel geht es um mentale Gesundheit und Sex-Positivität. Es enthält einen trans Charakter, der sich darüber nicht im klaren ist und daher auch zunächst noch keinen eigenen Namen hat. Neben sozialer Transition thematisiert das Spiel Misogynie, Diskriminierung wegen mentalen Behinderungen, Probleme mit dem Körperbild, Essstörungen, Mobbing, Kampfkunst, Beziehungen und Vergewaltigungen, jedoch nicht durch körperliche Gewalt. Comic Gewalt wird erwähnt in einer im Spiel fiktionalen Geschichte.",,,"The Rape being discussed in this game is non-consensual sex, but also non-voilent." Mental Health Accessibility Options,Mental Health Accessibility Options,Barrierefreiheit für psychische Störungen,,, "[ul] You can always Pause using Escape or Spacebar You can always choose to just get a neutral summary of scenes or skip them entirely [/ul]","[ul] -You can always Pause using Escape or Spacebar -You can always choose to just get a neutral summary of scenes or skip them entirely +You can always pause using escape or spacebar. +You can always choose to just get a neutral summary of scenes or skip them entirely. [/ul]","[ul] -Du kannst immer mit Pause oder Escape pausieren. -Du kannst dir wünschen, dass du bei schwierige Szenen überspringen kannst und eine neutrale Zusammenfassung davon bekommst.",,, -show content notes during the game,show content notes during the game,Inhaltswarnungen im Spiel anzeigen,,, -allow me to skip scenes,allow me to skip scenes,Überspringen von Szenen ermöglichen,,, +Du kannst immer mit der Leertaste oder der Escapetaste pausieren. +Du kannst dir wünschen, eine neutrale Zusammenfassung zu bekommen oder schwierige Szenen komplett zu überspringen. +[/ul]",,, +show content notes during the game,Show Content Notes During The Game,Inhaltswarnungen im Spiel anzeigen,,, +allow me to skip scenes,Allow Me To Skip Scenes,Überspringen von Szenen ermöglichen,,, "[center][i]I assure you I did my best, -But I am only human and this is just one game.[/i][/center]","[center][i]I assure you I did my best, -But I am only human and this is just one game.[/i][/center]","[center][i]Ich verspreche ich habe mein Bestes getan, -Aber ich bin nur ein Mensch und kein Spiel wird je +But I am only human and this is just one game.[/i][/center]","[center][i]I assure you I did my best, +but I am only human and this is just one game.[/i][/center]","[center][i]Ich verspreche, ich habe mein Bestes getan, +aber ich bin nur ein Mensch und kein Spiel wird je ein Leben vollumfänglich zeigen können.[/i][/center]",,,"This is intentionally phrased as “only one game” instead of “only a game”, hinting at it being meaningful, but limited in what it can convey on its own." -new Game,new Game,neues Spiel,,, -continue,continue,weiter spielen,,, -load,load,Spiel laden,,, -settings,settings,Einstellungen,,, +new Game,New Game,Neues Spiel,,, +continue,Continue,Weiter spielen,,, +load,Load,Spiel laden,,, +settings,Settings,Einstellungen,,, Video,Video,Grafik,,,In the context of a settings menu selection -Gameplay,Gameplay,Spiel,,,In the context of a settings menu selection -Content Notes,Content Notes,sensible Inhalte,,,In the context of a settings menu selection +Gameplay,Gameplay,Spieloptionen,,,In the context of a settings menu selection +Content Notes,Content Notes,Sensible Inhalte,,,In the context of a settings menu selection Video Settings,Video Settings,Grafikeinstellungen,,,In the context of a settings menu selection General,General,Allgemeines,,,In the context of a video settings menu -apply preset,apply preset,Voreinstellungen,,, -Performance,Performance,Leistungsschonend,,, -Balanced,Balanced,Ausgeglichen,,, -Quality,Quality,Qualität,,, -Fulscreen Mode,Fulscreen Mode,Fenster-Modus,,, -Windowed,Windowed,im Fenster,,, +apply preset,Apply Preset,Voreinstellungen,,, +Performance,Low,Niedrig,,, +Balanced,Middle,Mittel,,, +Quality,High,Hoch ,,, +Fulscreen Mode,Fullscreen Mode,Fenster-Modus,,, +Windowed,Windowed,Im Fenster,,, Fullscreen,Fullscreen,Vollbild,,, -exclusive Fullscreen,exclusive Fullscreen,exklusives Vollbild,,, +exclusive Fullscreen,Exclusive Fullscreen,Exklusives Vollbild,,, Rendering Scale,Rendering Scale,Skalierung,,, -reset,reset,zurücksetzen,,, +reset,Reset,Zurücksetzen,,, Super Resolution,Super Resolution,Super Resolution,,, -disabled,disabled,aus,,, -limit FPS,limit FPS,FPS begrenzen,,, -Graphic Fidelity,Graphic Fidelity,graphische Qualität,,, +disabled,Disable,Deaktiviert,,, +limit FPS,Limit FPS,FPS begrenzen,,, +Graphic Fidelity,Graphic Fidelity,Graphische Qualität,,, Global Illumination,Global Illumination,Globale Illumination,,, -minimum,minimum,minimum,,, -low (SDF Global Illumination),low (SDF Global Illumination),Niedrig (SDF Illumination),,, -medium (SDF and Screen Space Global Illumination),medium (SDF and Screen Space Global Illumination),mittel (SDF-Beleuchtung und SSGI),,, -high (SDF and Screen Space Global Illumination),high (SDF and Screen Space Global Illumination),hoch (SDF-Beleuchtung und SSGI),,, -Shadow Quality,Shadow Quality,Shattenqualität,,, -performance,performance,leistungsschonend,,, -balanced,balanced,ausgeglichen,,, -quality,quality,höchste Qualität,,, +minimum,Minimum,Minimum,,, +low (SDF Global Illumination),Low (SDF Global Illumination),Niedrig (SDF Illumination),,, +medium (SDF and Screen Space Global Illumination),Medium (SDF and Screen Space Global Illumination),Mittel (SDF-Beleuchtung und SSGI),,, +high (SDF and Screen Space Global Illumination),High (SDF and Screen Space Global Illumination),Hoch (SDF-Beleuchtung und SSGI),,, +Shadow Quality,Shadow Quality,Schatten Qualität,,, +performance,Performance,Leistung,,, +balanced,Balanced,Ausgeglichen,,, +quality,Quality,Höchste Qualität,,, Texture Filtering,Texture Filtering,Texturfilterung,,, 1x (very fast),1x (very fast),1x (sehr schnell),,, 2x (fast),2x (fast),2x (schnell),,, 4x (average),4x (average),4x (medium),,, 8x (slow),8x (slow),8x (langsam),,, +16x (slowest),16x (slowest),16x (am langsamsten),,, Anti Aliasing,Anti Aliasing,Kantenglättung,,, -enabled,enabled,aktiviert,,, -adaptive,adaptive,adaptiv,,, +enabled,Enable,Aktiviert,,, +adaptive,Adaptive,Adaptiv,,, Letterbox,Letterbox,Letterbox,,, -close,close,zurück,,, -save and apply,save and apply,speichern und anwenden,,, +close,Close,Zurück,,, +discard,Discard,Verwerfen,,, +save and apply,Save and Apply,Speichern und Anwenden,,, "Settings have been modified. Do you really want to leave without saving?","Settings have been modified. Do you really want to leave without saving?","Es gibt nicht gespeicherte Änderungen. Möchtest du wirklich zurück ohne zu speichern?",,, -leave,leave,wirklich verlassen,,, -save,save,speichern,,, -abort,abort,abbrechen,,, +leave,Leave,Wirklich verlassen,,, +save,Save,Speichern,,, +abort,Abort,Abbrechen,,, Gameplay Settings,Gameplay Settings,Spieleinstellungen,,, -invert Y (gamepad),invert Y (gamepad),Y-Achse invertieren,,, -Input Sensitivity,Input Sensitivity,Eingabesensibilität,,, +invert Y (gamepad),Invert Y (gamepad),Y-Achse invertieren,,, +Input Sensitivity,Input Sensitivity,Eingabe Sensibilität,,, Stream Overlay,Stream Overlay,Stream-Einblendungen,,, -Displays content note and currently playing music at a corner of the screen.,Displays content note and currently playing music at s corner of the screen.,Zeigt Hinweise zu sensiblen Themen und aktuell laufender Musik an einer Ecke des Bildschirms an.,,, -none,none,keine,,, -top left,top left,oben links,,, -top right,top right,oben rechts,,, -bottom left,bottom left,unten links,,, -bottom right,bottom right,unten rechts,,, -save and exit,save and exit,speichern und zurück,,, -Content Settings,Content Settings,sensible Inhalte,,, -Start new game.,Start new game.,Neuen Spielstand anlegen.,,, -Empty Slot,Empty Slot,leerer Spielstand,,, +Displays content note and currently playing music at a corner of the screen.,Displays content note and currently playing music at a corner of the screen.,Zeigt Hinweise zu sensiblen Themen und aktuell laufende Musik an einer Ecke des Bildschirms an.,,, +none,None,Keine,,, +top left,Top Left,Oben links,,, +top right,Top Tight,Oben rechts,,, +bottom left,Bottom Left,Unten links,,, +bottom right,Bottom Right,Unten rechts,,, +save and exit,Save and Exit,Speichern und zurück,,, +Content Settings,Content Settings,Sensible Inhalte,,, +Start new game.,Start New Game,Neuen Spielstand anlegen,,, +Empty Slot,Empty Slot,Leerer Spielstand,,, Intro Sequence,Intro Sequence,Einleitung,,, Inside youth room.,Inside youth room.,Im Jugendzimmer.,,, Transitioning to voluntary year.,Transitioning to voluntary year.,Übergang zum FSJ.,,, Exploring social service year.,Exploring social service year.,Während des FSJ.,,, Transitioning to university.,Transitioning to university.,Übergang zur Universität.,,, -Exploring dorm room.,Exploring dorm room.,Während des Studiums,,, +Exploring dorm room.,Exploring dorm room.,Während des Studiums.,,, Ending,Ending,Ende,,, -homework,I never put in much effort for homework ,Ich habe mir nie Mühe bei Hausaufgaben gegeben,,, +homework,"I never put in much effort for homework, ","Ich habe mir nie Mühe bei Hausaufgaben gegeben, ",,, good_grades,but at least I get good grades.,aber zumindest waren meine Noten gut.,,, upset_peers,my peers were upset about that.,meine Klasse war deswegen sauer.,,, -teachers,I like my teachers more than my classmates ,"Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse.",,, -volunteering,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Stidum machen,,, -becoming_teacher,maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,, -joy,I can put ages into things I enjoy ,"Ich versinke in Dingen, die mir Freude machen",,, -worried_mother,my mother would be worried about that,meiner Mutter macht das Sorgen.,,, -thomas_gifted,Mr Thomas thinks that makes me gifted.,Herr Thomas denkt das macht mich begabt.,,, -comic_heroes,Comic heroes are my role models ,Comic Helden sind meine Vorbilder,,, -effort,"when I put in the effort, I can make the world a better place","wenn ich mich nur anstrenge, kann ich die Welt verbessern!",,, -agent_q,and I want to be like agent q!,"Ich will so sein, wie Agend Clue!",,, -boy_stuff,I like boy stuff ,Ich mag Jugns Kram,,, -pretending,yet they think I'm just pretending,aber die denken ich tu einfach nur so.,,, +teachers,"I like my teachers more than my classmates, ","Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse, ",,, +volunteering,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Studium machen.,,, +becoming_teacher,Maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,, +joy,"I can put ages into things I enjoy, ","Ich versinke in Dingen, die mir Freude machen,",,, +worried_mother,my mother would be worried about that.,meiner Mutter macht das Sorgen.,,, +thomas_gifted,Mr. Thomas thinks that makes me gifted.,Herr Thomas denkt das macht mich begabt.,,, +comic_heroes,"Comic heroes are my role models, ","Comic Helden sind meine Vorbilder,",,, +effort,"when I put in the effort, I can make the world a better place!","wenn ich mich nur anstrenge, kann ich die Welt verbessern!",,, +agent_q,and I want to be like Agent Q!,"Ich will so sein, wie Agent Q!",,, +boy_stuff,"I like boy stuff, ","Ich mag Jungs Kram,",,, +pretending,yet they think I'm just pretending.,aber die denken ich tu einfach nur so.,,, girls,and girls don't get that.,und Mädchen verstehen das einfach nicht!,,, -teasing,"When Jojo got teased for trying, I pretty much exploded","Ich bin ausgerastet, weil Jojo für ihre Mühe gemobbt wurde",,, -stubborn,"I wouldn't have it any other way, even if it was for my own good","das würde ich nicht aufgeben, selbst wenn es mir helfen würde.",,, -good_intended,I will always stand up for the good intended,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,, -jui_jutsu,I stopped doing Jui Jitsu.,Ich habe mit Jui Jutsu aufgehört,,, -body,My body just didn't feel right,mein Körper hat sich falsch anfefühlt,,, -girly,I just hate being treated like a girl,Ich hasse es wie ein Mädchen behandelt zu werden,,, -hit,I know how to properly hit people ,"Ich weiß, wie man ordentlich zuschlägt",,, +teasing,"When Jojo got bullied for trying, I pretty much exploded","Ich bin ausgerastet, weil Jojo für ihre Mühe gemobbt wurde,",,, +stubborn,"I wouldn't have it any other way, even if it was for my own good.","das würde ich nicht aufgeben, selbst wenn es mir helfen würde.",,, +good_intended,I will always stand up for the good intended!,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,, +jui_jutsu,"I stopped doing jiu-jitsu, ","Ich habe mit Jiu Jitsu aufgehört,",,, +body,my body just didn't feel right.,mein Körper hat sich falsch anfefühlt.,,, +girly,I just hate being treated like a girl.,ich hasse es wie ein Mädchen behandelt zu werden.,,, +hit,"I know how to properly hit people, ","Ich weiß, wie man ordentlich zuschlägt, ",,, confidence,that gives me a lot of confidence.,das gibt mir viel Selbstvertrauen.,,, -vent,and that’s a great vent.,ich kann da gut Frust ablassen.,,, -"Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas hat mich nicht gefragt, er hat nichts erklärt und trotzdem wagte er es zu glauben:",,,It is very crucial that this sentence and the next line form a complete sentence -wet,"I was wet, so I must have been into it","Ich war feucht, also hab ichs wohl gewollt?",,,This line on itself should seem like a intrusive thought on it’s own without the contect above. +vent,and that's a great vent.,ich kann da gut Frust ablassen.,,, +"Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas hat mich nicht gefragt, er hat nichts erklärt und trotzdem wagte er es zu glauben:",,,It is very crucial that this sentence and the next line form a complete sentence +wet,"I was wet, so I must have been into it?","Ich war feucht, also hab ich es wohl gewollt?",,,This line on itself should seem like a intrusive thought on it’s own without the contect above. "Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralised, so ","Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralised, so ","Lukas hat mich überrumpelt, er hat nichts erklärt oder überhaupt gefragt, was ich wollte. Ich war im Moment nicht mehr ich selbst und",,,It is very crucial that this sentence and the next line form a complete sentence -stop,I didn’t say stop.,Ich habe nicht Stopp gesagt.,,,This line on itself should seem like a intrusive thought on it’s own without the contect above. -out_of_world,I feel like I am not from of this world,Ich fühl mich wie von einer anderen Welt,,, -unique,I like being unique like that,ich mag es so besonders zu sein.,,, -few_friends,I am thankful for the few friends that get me,"gut, dass ich ein paar Freunde habe, die das verstehen.",,, -rejection,I fear being rejected,"Ich habe Angst, ausgeschlossen zu werden",,, -finding_friends,that makes it hard to find friends,darum fällt mir Freunde finden schwer.,,, -laughed_at,I'm afraid I will just get laughed at,"was, wenn ich deswegen ausgelacht werde?",,, -confusion,I am just too many things at once,Ich bin zu viel gleichzeitig.,,, -inner_conflict,it is just so overwhealming for me,das ist einfach überfordernd für mich.,,, -outer_conflict,this is just too much for others,das ist einfach überfordernd für andere.,,, -"[p]Oh, my old mask. I have so many good memories about theatre club. ","Oh, my old mask. I have so many good memories about theatre club.","Nahw, meine gute alte Maske. Ich habe so schöne Erinnerungen an die Theater-AG. ",,, -"I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","Ich hab den ganzen Nachmittag geübt, wochenlang. Mein Bett eine große Bühne. ",,, -"my mom would get mad at me, when she had to call me three or four times for dinner. ","my mom would get mad at me, when she had to call me three or four times for dinner. ","Es gab so oft Zoff, weil mich meine Mutter immer wieder zum Essen rufen musste.",,, -I just … didn't like the interruptions. We both were often mad at each other.,I just … didn't like the interruptions. We both were often mad at each other.,Ich konnte die Unterbrechungen einfach nicht ab. Wir haben uns so oft deswegen gestritten.,,, -Dinner was difficult.,Dinner was difficult.,Abendbrot war die Hölle.,,, -"I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom.",,, -She was always so worried.,She was always so worried:,Sie war immer besorgt.,,, -" ‘Lisa, you forgot your homework, Lisa why won't you play with the other girls,""","‘Lisa, you forgot your homework, Lisa why won't you play with the other girls, ","“Lisa, deine Hausaufgaben!, Lisa, warum warst du heute nicht bei den Mädels draußen?, ",,, -"""Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa, warum hat dich Steffi nicht eingeladen?, Lisa dies, Lisa das.”",,, -But I was fine! She just wouldn't listen.,But I was fine! She just wouldn't listen.,"Mir ging gut, okay? Als ob sie das je interessiert hätte.",,, -"Yes, I didn't do homework, but my teachers didn't mind it as much with me ","Yes, I didn't do homework, but my teachers didn't mind it as much with me ","Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,, -- which the other kids wouldn't shut up about. But like …,", which the other kids wouldn't shut up about. But like … ","außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,, -they also made fun of me reading school books and talking to my teachers during breaks.,they also made fun of me reading school books and talking to my teachers during breaks.,"Vielleicht hätten die auch mal ein Buch in die Hand nehmen sollen statt sich darüber zu zerreißen, dass ich in der Pause lieber mit den Erwachsenen geredet habe. ",,, -But at least I could fucking talk to teachers and they had stuff to say.,But at least I could fucking talk to teachers and they had stuff to say.,Immerhin konnte man mit denen reden und die haben auch was erzählt.,,, -Mr Thomas probably even understood me better than my own mom.,Mr Thomas probably even understood me better than my own mom.,"Herr Thomas hat mich vermutlich besser verstanden, als meine eigene Mutter.",,, -He said I was gifted. He said I just didn't need homework for good grades.,He said I was gifted. He said I just didn't need homework for good grades.,"Er hat immer gesagt ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe.",,, -And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,"Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme.",,, -Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,"Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,, -He had been searching for a while and he knew a special someone must be hiding in the thicket.,He had been searching for a while and he knew a special someone must be hiding in the thicket.,"Lang schon suchte er vergeblich, doch war er sich heute gewiss: jemand ganz besonderes hält sich zwischen Farnen und Gestrüpp versteckt.",,, -"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.","When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. ","Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eig'ner Schweif. ",,, -"But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","Doch dann Spuren, die den seinen glichen, wo er noch nicht gewesen war. Würde er endlich seinesgleichen finden?",,, -"He was sure of it, as the familiar scent has never been stronger than tonight.","He was sure of it, as the familiar scent has never been stronger than tonight.","Bestimmt, denn der vertraute Duft war heute Nacht so stark, wie nie..",,, -When suddenly: Was that chatter?,When suddenly: Was that chatter?,Plötzlich: war das Keckern?,,, -His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,Seine Flügel raschelten vor Freude über die vertraute Stimme und Drävens Neugier war geweckt.,,, -"A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","Flatternd sprang er in Wipfel, um einen Blick auf seinen baldigen Freund zu erhaschen.",,, -But all he saw was a fox.,But all he saw was a fox.,Doch er sah nichts als einen Fuchs.,,, -He didn't even want to bother it anymore.,He didn't even want to bother it anymore.,Er wollte sich dem Tier nicht einmal mehr nähern.,,, -"It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.","It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. ","Es würde eh nur Kreischen vor Lachen über seine Flügel aus Blättern. Genau wie die Bäume sich geschüttelt haben über seine Pfoten, die keine Wurzeln sind. ",,, -"With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.","With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.",Wimmernd schlug Dräven seine Flügel auf und glitt davon zu seinem Lieblingsplatz am See. Vielleicht vermochte ihn sein Spiegelbild zu trösten.,,, +stop,I didn't say stop.,ich habe nicht Stopp gesagt.,,,This line on itself should seem like a intrusive thought on it’s own without the contect above. +out_of_world,"I feel like I am not from of this world, ","Ich fühl mich wie von einer anderen Welt,",,, +unique,I like being unique like that.,ich mag es so besonders zu sein.,,, +few_friends,I am thankful for the few friends that get me.,"gut, dass ich ein paar Freunde habe, die das verstehen.",,, +rejection,"I fear being rejected, ","Ich habe Angst, ausgeschlossen zu werden,",,, +finding_friends,that makes it hard to find friends.,darum fällt mir Freunde finden schwer.,,, +laughed_at,I'm afraid I will just get laughed at?,"was, wenn ich deswegen ausgelacht werde?",,, +confusion,"I am just too many things at once, ","Ich bin zu vieles gleichzeitig, ",,, +inner_conflict,it is just so overwhealming for me.,das ist einfach überfordernd für mich.,,, +outer_conflict,this is just too much for others.,das ist einfach überfordernd für andere.,,, +"Oh, my old mask. I have so many good memories about theatre club. ","Oh, my old mask. I have so many good memories about theatre club. ","Nahw, meine gute alte Maske. Ich habe so schöne Erinnerungen an die Theater-AG. ",,, +"I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage... ","Ich hab den ganzen Nachmittag geübt, wochenlang. Mein Bett eine große Bühne. ",,, +"my mom would get mad at me, when she had to call me three or four times for dinner. ",The way my mom would call me down over and over for dinner was just... ,"Es gab so oft Zoff, weil mich meine Mutter immer wieder zum Essen rufen musste. ",,, +I just … didn't like the interruptions. We both were often mad at each other.,I did not like the interruptions. We would get so mad at each other. ,Ich konnte die Unterbrechungen einfach nicht ab. Wir haben uns so oft deswegen gestritten. ,,, +Dinner was difficult.,Dinner was difficult. ,Abendbrot war die Hölle. ,,, +"I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom. ","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom. ",,, +She was always so worried.,She was always so worried: ,Sie war immer besorgt. ,,, +" ‘Lisa, you forgot your homework, Lisa why won't you play with the other girls,""","‘Lisa, you forgot your homework! Lisa why won't you play with the other girls? ","“Lisa, deine Hausaufgaben! Lisa, warum warst du heute nicht bei den Mädels draußen? ",,, +"""Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’",Lisa why didn't Steffi invite you to her birthday? Lisa this.Lisa that.’ ,"Lisa, warum hat dich Steffi nicht eingeladen? Lisa dies. Lisa das.” ",,, +But I was fine! She just wouldn't listen.,But I was fine! She just wouldn't listen. ,"Mir ging es gut, okay? Als ob sie das je interessiert hätte. ",,, +"Yes, I didn't do homework, but my teachers didn't mind it as much with me ","Yes, I didn't do homework, but my teachers didn't mind it as much with me, ","Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,, +- which the other kids wouldn't shut up about. But like …,which the other kids wouldn't shut up about. But like…,"außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,, +they also made fun of me reading school books and talking to my teachers during breaks.,they also made fun of me reading school books and talking to my teachers during breaks. ,"Vielleicht hätten die auch mal ein Buch in die Hand nehmen sollen, statt sich darüber zu zerreißen, dass ich in der Pause lieber mit den Erwachsenen geredet habe. ",,, +But at least I could fucking talk to teachers and they had stuff to say.,But at least I could fucking talk to teachers and they had stuff to say. ,Immerhin konnte man mit denen reden und die haben auch was erzählt. ,,, +Mr Thomas probably even understood me better than my own mom.,Mr. Thomas probably even understood me better than my own mom. ,Herr Thomas hat mich vermutlich besser verstanden als meine eigene Mutter. ,,, +He said I was gifted. He said I just didn't need homework for good grades.,He said I was gifted. He said I just didn't need homework for good grades. ,"Er hat immer gesagt, ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe. ",,, +And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,And he also always made sure to include extra credits. So my silly slip-ups wouldn't get me a B.,"Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme. ",,, +Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,Moonlight trickled down through clouds and twigs as Dräven tapped through the night. ,"Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,, +He had been searching for a while and he knew a special someone must be hiding in the thicket.,"He had been searching for a while, and he knew a special someone must be hiding in the thicket. ","Lange schon suchte er vergeblich, doch war er sich heute gewiss: jemand ganz besonderes hält sich zwischen Farnen und Gestrüpp versteckt. ",,, +"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.","When a familiar smell first led him to a few bronze hairs as fluffy as his tail, he didn't think much of it. ","Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eigener Schweif. ",,, +"But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","But then he saw paw prints, that matched his own where he had not been. Would he finally find someone of his kind? ","Doch dann Spuren, die den seinen glichen, wo er noch nicht gewesen war. Würde er endlich seinesgleichen finden? ",,, +"He was sure of it, as the familiar scent has never been stronger than tonight.","He was sure of it, as the familiar scent has never been stronger than tonight. ","Bestimmt, denn der vertraute Duft war heute Nacht so stark wie nie. ",,, +When suddenly: Was that chatter?,When suddenly: Was that chatter? ,Plötzlich: War das Keckern? ,,, +His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,His wings rustled with joy over the familiar voice and Dräven decided to get a better look. ,Seine Flügel raschelten vor Freude über die vertraute Stimme und Drävens Neugier war geweckt. ,,, +"A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend. ","Flatternd sprang er in Wipfel, um einen Blick auf seinen baldigen Freund zu erhaschen. ",,, +But all he saw was a fox.,But all he saw was a fox. ,Doch er sah nichts als einen Fuchs. ,,, +He didn't even want to bother it anymore.,He didn't even want to bother it anymore. ,Er wollte sich dem Tier nicht einmal mehr nähern. ,,, +"It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.","It would just scream and laugh at his wings of leaves, just like the trees crackled at his paws, that were no roots. ","Es würde eh nur Kreischen vor Lachen über seine Flügel aus Blättern. Genau wie die Bäume sich geschüttelt haben über seine Pfoten, die keine Wurzeln sind. ",,, +"With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.","With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake. ",Wimmernd schlug Dräven seine Flügel auf und glitt davon zu seinem Lieblingsplatz am See. Vielleicht vermochte ihn sein Spiegelbild zu trösten. ,,, "It took him a while to notice, how there was a sudden silence when the clouds broke: ","It took him a while to notice, how there was a sudden silence when the clouds broke: ","Dräven hätte fast nicht gemerkt, wie der Wald den Atem anhielt, als sich die Wolken teilten. ",,, -"Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.","Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.",Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken.,,, -The whole forest held its breath as it stared into eyes of moonlight gazing down.,The whole forest held its breath as it stared into eyes of moonlight gazing down.,"Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiderten. ",,, -Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.,Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.,"Dräven war zu Tränen gerührt, als er in hinauf sah. Voller Trauer um dem Drachen, der von Wolken, Sternen und Mondlicht war. ",,, -It must feel so lost in the universe.,It must feel so lost in the universe.,Er muss sich so verloren fühlen am Himmel.,,, -But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,"Doch es waren Tränen der Freude. Denn es war das erste mal, dass Dräven ein anderes Viel-Wesen sah.",,, -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.,Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.,"Boar, warum hängt hier noch dieser Müll? Ich hab Jiu Jutsu einfach verkackt.",,, -I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,I mean I did enjoy it while it lasted. Being able to properly hit people was great.,Ich meine … ich hatte Spaß damals. Leute gut Schlagen können ist großartig.,,, -"It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ","It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger.","Es gab mir Selbstvertrauen. Ich konnte Leute einschüchtern, wenn sie darum gebettelt haben aufs Maul zu bekommen und weil ich das nur einmal tatsächlich getan habe, war es auch ein super Ventil.",,, -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.,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.,"Ich meine … meine Titten waren die Hölle beim aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas.",,, -He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,Er war so ein Nerd. Er konnte so gut reden. Über Mathe. Er war in seinem dritten Semester und konnte stundenlang erzählen.,,, -Also: my math grades pretty much leaped for my final year in high shool thanks to him.,Also: my math grades pretty much leaped for my final year in high school thanks to him.,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn.,,, -"He also helped me so much with jui jitsu, as he properly floored me when I slipped up. ","He also helped me so much with jiu jitsu, as he properly floored me when I slipped up.","Und ach bei Jui Jutsu … es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe.",,, -Also - unlike everyone else - he understood that I didn't want people to mind my chest. ,Also - unlike everyone else - he understood that I didn't want people to mind my chest.,"Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen.",,, -So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,"Mit ihm war Kämpfen so gut – auch wenn ich üblicherweise diejenige war, die abschlagen musste und nicht er.",,, -We also had my first proper kiss. I thought I loved him. But now?,We also had my first proper kiss. I thought I loved him. But now?,"Wir hatten auch meinen ersten richtigen Kuss. Ich war so verliebt, und jetzt?",,, -He was weird that evening. Even more huggy and hyperactive than usual. ,He was weird that evening. Even more huggy and hyperactive than usual.,Es war so merkwürdig. Irgendwie noch hibbeliger und näher als so schon.,,, -"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 were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. ","Wir waren unterm Bett, haben meine geheime Comic-Kiste gelesen als ich keine Lust mehr auf Boden hatte und gesagt hab lass hoch gehen.",,, -We had a play fight on my mattress. I’ve never seen him fight like this. ,We had a play fight on my mattress. I've never seen him fight like this.,Wir haben auf meiner Matraze gekabbelt. Es war so … anders.,,, -"His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win","His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win ",Seine Finger sind über meinen Körper geglitten ohne mich zu greifen - und er hat mich gewinnen lassen.,,, -… with this smirk on his face.,… with this smirk on his face.,Mit diesem Grinsen!,,, -"I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat.","I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals.",,, -He started undoing his shirt.,He started undoing his shirt.,Er hat sein Hemd auf gemacht.,,, -Do you have condoms?,”Do you have condoms?”,Hast du Kondome?,,, -"Yes, of course everybody has Why did he ask that?","”Yes, of course everybody has Why did he ask that?”.","Natürlich, jeder hat Kondome, warum hat er das gefragt?",,, -"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,, -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.,My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,, -"I … observed him from afar. He … didn't seem to notice, that I had left.","I … observed him from afar. He … didn't seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,, -That I didn't return to kiss him good bye. That I didn't hug him when he went home.,That I didn't return to kiss him goodbye. That I didn't hug him when he went home.,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,, -My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet.,Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,, -"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. ","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,, -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.,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.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,, -"I … observed him from afar. He … didn't seem to notice, that I had left.","I … observed him from afar. He … didn’t seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,, -That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,, -My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet.,Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,, -I slowly returned.,I slowly returned.,Langsam bin ich zurück gekehrt.,,, -"""How did it go?, Fabian asked.","""How did it go?, Fabian asked.","“Wie wars?”, fragte mein Bruder.",,, -"""It was moist”, I said.","""It was moist”, I said.","“Feucht?”, fragte ich.",,, -“That usually helps.”,“That usually helps.”,"“Das hilft.""",,, -"He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","Er lachte peinlich berührt. Ich wollte auch lachen, aber ich habe mich zusammen gerollt und geweint.",,, -It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” ,It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.”,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich … du … Lisa, es ist okay. Ich weiß das erste mal tut weh.""",,, -He gently stroked the back I was curling towards him.,He gently stroked the back I was curling towards him.,"Sanft streichelte er den Rücken, den ich ihm hin hielt.",,, -That was good. He was a sweet angel. Why must he be so bad at comforting?,That was good. He was a sweet angel. Why must he be so bad at comforting?,Das war gut. Fabi ist so gut zu mir. Warum muss er so schlecht im Trösten sein?,,, -My secret comic stash. I remember playing Clue-Men with the boys.,My secret comic stash. I remember playing Clue-Men with the boys.,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Clue-Men gespielt.,,, -I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q.,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agent Clue.,,, -"Going under the radar, putting in precise work to save the world.","Going under the radar, putting in precise work to save the world. ","Mit chirurgischer Präzision im Verborgenen arbeiten, um die Welt zu retten.",,, -Not having to deal with being a girl.,Not having to deal with being a girl.,Kein Mädchen sein müssen.,,, -"Boys were so much easier. They like cars, bikes, guns and agents.","Boys were so much easier. They like cars, bikes, guns and agents.","Jungs sind so viel einfacher. Sie mögen Autos, Motorräder, Waffen und Agenten.",,, -They don't talk behind your back. They don't think everything is about relationships.,They don't talk behind your back. They don't think everything is about relationships.,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen.,,, -"Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen.",,, -"… I mean, maybe they were right?","… I mean, maybe they were right?","… ich meine, vielleicht war was dran?",,, -Like I won't deny I was probably the first girl in my class to see a dick.,Like I won't deny I was probably the first girl in my class to see a dick.,Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen.,,, -"But like - that’s what the boys do, right?","But like - that’s what the boys do, right?","Aber das machen Jungs halt miteinander, oder?",,, -At least it has gotten better after me and Jojo became friends.,At least it has gotten better after me and Jojo became friends.,"Zumindest hat es sich gebessert, nachdem Jojo und ich Freundinnen wurden.",,, -I still remember how that happend. I did a voice acting workshop in art class. ,I still remember how that happend. I did a voice acting workshop in art class. ,Die Geschichte ist großartig. Ich durfte in Kunst einen Vortag über Voice Acting halten.,,, -Being allowed to share my technique in front of everyone was just :D,Being allowed to share my technique in front of everyone was just :D ,Meine Technik mit allen teilen können war einfach nur :D,,, -I mean next to nobody put in any effort. But Jojo did.,I mean next to nobody put in any effort. But Jojo did.,"Ich meine … nieman hat sich wirklich angesträngt, außer Jojo halt.",,, -"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","Als unser Klassencloun sie dann nachäffen musste anstatt sich um seinen Scheiß zu kümmern, bin ich einfach eplodiert.",,, -"After this, we suddenly were besties. And my class finally started to just leave me be. ","After this, we suddenly were besties. And my class finally started to just leave me be. ",Danach hatte ich plötzlich eine beste Freundin und endlich meine Ruhe.,,, -Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,"Vielleicht, weil ich nun auch mit einem Mädchen befreundet war. Vielleicht weil die Mobber plötzlich Angst vor mir hatten. Vermutlich beides.",,, -skip reading (hold),skip reading (hold),zum Ende springen (gedrückt halten),,, -,,,,, +"Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.",Northern lights danced through the sky to form wings that met at a sleek body made of stars and clouds. ,Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken. ,,, +The whole forest held its breath as it stared into eyes of moonlight gazing down.,The whole forest held its breath as it stared into eyes of moonlight gazing down. ,"Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiderten. ",,, +Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies.,Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ,"Dräven war zu Tränen gerührt, als er in hinauf sah. Voller Trauer um den Drachen, der von Wolken, Sternen und Mondlicht war. ",,, +It must feel so lost in the universe.,It must feel so lost in the universe. ,Er muss sich so verloren fühlen am Himmel. ,,, +But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,But his tears were of joy: It was the first time Dräven saw another creature of many kinds. ,"Doch es waren Tränen der Freude. Denn es war das erste Mal, dass Dräven ein anderes Viel-Wesen sah. ",,, +Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.,Why do I still have this junk lying around? It's not like I want to do jiu-jitsu ever again. I just fucked it. ,"Boah, warum hängt hier noch dieser Müll? Ich hab Jiu Jitsu einfach verkackt. ",,, +I mean I did enjoy it while it lasted. Being able to properly hit people was great.,I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,Ich meine… Ich hatte Spaß damals. Leute gut schlagen können ist großartig. ,,, +"It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ",It gave me the confidence to intimidate students that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ,"Es gab mir Selbstvertrauen. Ich konnte Leute einschüchtern, wenn sie darum gebettelt haben aufs Maul zu bekommen und weil ich das nur einmal tatsächlich getan habe, war es auch ein super Ventil. ",,, +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.,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. ,"Ich meine… Meine Titten waren die Hölle beim Aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas. ",,, +He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. ,Er war so ein Nerd. Er konnte so gut reden. Über Mathe. Er war in seinem dritten Semester und konnte stundenlang erzählen. ,,, +Also: my math grades pretty much leaped for my final year in high school thanks to him.,So my math grades pretty much leaped for my final year in high school thanks to him. ,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn. ,,, +"He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ",And he helped me so much with jiu-jitsu.,"Und ach, bei Jiu Jitsu… Es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe. ",,, +Also - unlike everyone else - he understood that I didn't want people to mind my chest.,"Unlike everyone else - he understood that I didn't want people to mind my chest, and he probably made me hit the floor whenever I made a mistake.","Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen. ",,, +So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,So fighting for wins was actually rewarding even though more often than not I ended up having to tap out. ,"Mit ihm war Kämpfen so gut – auch wenn ich üblicherweise diejenige war, die abschlagen musste und nicht er. ",,, +We also had my first proper kiss. I thought I loved him. But now?,We also had my first proper kiss. I thought I loved him. But now? ,"Wir hatten auch meinen ersten richtigen Kuss. Ich war so verliebt, und jetzt? ",,, +He was weird that evening. Even more huggy and hyperactive than usual.,Uhm... he was weird that evening. Even more huggy and hyperactive than usual. ,Es war so merkwürdig. Irgendwie noch hibbeliger und näher als so schon. ,,, +"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 were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. ","Wir waren unterm Bett, haben meine geheime Comic-Kiste gelesen, als ich keine Lust mehr auf Boden hatte und gesagt hab, lass hoch gehen. ",,, +We had a play fight on my mattress. I've never seen him fight like this.,We had a play fight on my mattress. I've never seen him fight like this. ,Wir haben auf meiner Matratze gekabbelt. Es war so… anders. ,,, +"His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win","His fingers curled across my skin without grabbing me, like he would normally do. And he let me win… ","Seine Finger sind über meinen Körper geglitten, ohne mich zu greifen - und er hat mich gewinnen lassen, ",,, +… with this smirk on his face.,with this smirk on his face.,mit diesem Grinsen. ,,, +"I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat.","I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on to my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals. ",,, +He started undoing his shirt.,He started undoing his shirt. ,Er hat sein Hemd aufgemacht. ,,, +Do you have condoms?,”Do you have condoms?” ,"""Hast du Kondome?"" ",,, +"Yes, of course everybody has Why did he ask that?","”Yes, of course everybody has."" Why did he ask that? ","""Natürlich, jeder hat Kondome."" Warum hat er das gefragt? ",,, +"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. ","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen. ",,, +My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it.,My body didn't move. It didn't say a word when the butterflies tried to escape from my stomach as he kissed it. ,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde. ",,, +"I … observed him from afar. He … didn't seem to notice, that I had left.",I… observed him from afar. He… didn't seem to notice that I had left. ,"Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war. ",,, +That I didn't return to kiss him goodbye. That I didn't hug him when he went home.,That I didn't return to kiss him goodbye. That I didn't hug him when he went home. ,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe. ,,, +My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet. ,Meine Hände klopften an Fabis Tür. Ich durfte auf seinem Teppich liegen. ,,, +"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. ","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen. ",,, +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.,My body didn’t move. It didn’t say a word when the butterflies tried to escape from my stomach as he kissed it. ,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde. ",,, +"I … observed him from afar. He … didn't seem to notice, that I had left.",I… observed him from afar. He… didn’t seem to notice that I had left. ,"Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war. ",,, +That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,That I didn’t return to kiss him goodbye. That I didn’t hug him when he went home. ,Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe. ,,, +My hands knocked on my brother’s door. He let me lie on his carpet.,My hands knocked on my brother’s door. He let me lie on his carpet. ,Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen. ,,, +I slowly returned.,I slowly returned. ,Langsam bin ich zurückgekehrt. ,,, +"""How did it go?, Fabian asked.","""How did it go?, Fabian asked. ","“Wie wars?”, fragte mein Bruder. ",,, +"""It was moist”, I said.","""It was... moist”, I said. ","“Feucht?”, sagte ich. ",,, +“That usually helps.”,“That usually helps.” ,"“Das hilft normalerweise."" ",,, +"He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","He laughed awkwardly. I just wanted to also laugh, but... curled into a ball and cried. ","Er lachte peinlich berührt. Ich wollte auch lachen, aber ich habe mich zusammen gerollt und geweint. ",,, +It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.”,It took him a while to say something. “I… you… it's fine Lisa. I know it hurts the first time.” ,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich… du… Lisa, es ist okay. Ich weiß das erste Mal tut weh."" ",,, +He gently stroked the back I was curling towards him.,He gently stroked the back I was curling towards him. ,"Sanft streichelte er den Rücken, den ich ihm hin hielt. ",,, +That was good. He was a sweet angel. Why must he be so bad at comforting?,That was good. He was a sweet angel. Why must he be so bad at comforting? ,Das war gut. Fabi ist so gut zu mir. Warum muss er so schlecht im Trösten sein? ,,, +My secret comic stash. I remember playing Clue-Men with the boys.,My secret comic stash! I remember playing Clue-Men with the boys. ,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Clue-Men gespielt. ,,, +I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q. ,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agent Q. ,,, +"Going under the radar, putting in precise work to save the world.","Going under the radar, putting in precise work to save the world. ","Mit chirurgischer Präzision im Verborgenen arbeiten, um die Welt zu retten. ",,, +Not having to deal with being a girl.,Not having to deal with being a girl. ,Kein Mädchen sein müssen. ,,, +"Boys were so much easier. They like cars, bikes, guns and agents.","Boys were so much easier. They like cars, bikes, guns and agents. ","Jungs sind so viel einfacher. Sie mögen Autos, Motorräder, Waffen und Agenten. ",,, +They don't talk behind your back. They don't think everything is about relationships.,They don't talk behind your back. They don't think everything is about relationships. ,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen. ,,, +"Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid.","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen… ",,, +"… I mean, maybe they were right?","I mean, maybe they were right? ","Ich meine, vielleicht war was dran? ",,, +Like I won't deny I was probably the first girl in my class to see a dick.,Like I won't deny I was probably the first girl in my class to see a dick. ,Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen. ,,, +"But like - that’s what the boys do, right?","But like - that’s what the boys do, right? ","Aber das machen Jungs halt miteinander, oder? ",,, +At least it has gotten better after me and Jojo became friends.,At least it has gotten better after me and Jojo became friends. ,"Zumindest hat es sich gebessert, nachdem Jojo und ich Freundinnen wurden. ",,, +I still remember how that happend. I did a voice acting workshop in art class.,I still remember how that happened. I did a voice acting workshop in art class. ,Die Geschichte ist großartig. Ich durfte in Kunst einen Vortrag über Voice Acting halten. ,,, +Being allowed to share my technique in front of everyone was just :D,Being allowed to share my technique in front of everyone was just :D ,Meine Technik mit allen teilen können war einfach nur :D ,,, +I mean next to nobody put in any effort. But Jojo did.,"I mean next to nobody put in any effort in, but Jojo did. ","Ich meine… Niemand hat sich wirklich angestrengt, außer Jojo halt. ",,, +"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","When our Mr. Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. ","Als unser Klassenclown sie dann nachäffen musste, anstatt sich um seinen Scheiß zu kümmern, bin ich einfach explodiert. ",,, +"After this, we suddenly were besties. And my class finally started to just leave me be. ","After this, we suddenly were besties and my class finally started to just leave me be. ",Danach hatte ich plötzlich eine beste Freundin und endlich meine Ruhe. ,,, +Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. ,"Vielleicht, weil ich nun auch mit einem Mädchen befreundet war. Vielleicht weil die Mobber plötzlich Angst vor mir hatten. Vermutlich beides. ",,, +skip reading (hold),Jump To End (hold),Zum Ende springen (gedrückt halten),,, +continuing ...,Procceeding …,Fortfahren …,,, +continue (press),Procceed (press),Fortfahren (drücken),,, "*USK-Kennzeichnung bezieht sich auf den Games for Family-Stand der Spielraum-Messe Dresden. -Die Kennzeichnung trifft nicht zwangsläufig auf das finale Spiel zu.","*USK-rating is of the Games for Family-booth on Spielraum-Messe Dresden. +Die Kennzeichnung trifft nicht zwangsläufig auf das finale Spiel zu.","*USK-rating is related to the Games for Family-booth at Spielraum-Messe Dresden. Rating does not transfer to the final game.","*USK-Kennzeichnung bezieht sich auf den Games for Family-Stand der Spielraum-Messe Dresden. Die Kennzeichnung überträgt sich nicht auf das finale Spiel.",,, -Starte die Demo!,Start the Demo!,Starte die Demo!,,, +Starte die Demo!,Start the demo!,Starte die Demo!,,, Demo-intro-text,"#Frame of Mind ## A game of thoughts. @@ -302,9 +315,19 @@ mit denen manche Jugendliche beim Aufwachsen konfrontiert werden. In dieser Demo werden Probleme mit Essen, Mobbing und Geschlechter-Rollen sowie Nacktheit unter Jugendlichen und fiktionale Gewalt in Comics angesprochen. Dabei werden ein paar Schimpfworte verwendet. Eine Szene erzählt von Trauma und Dissoziation als Folge von sexuellen Übergriffen.",,, Childhood,Childhood,Kindheit,,, -voice Training,Stimmtechnik,Stimmtechnik,,, +voice Training,Voice Training,Stimmtechnik,,, Collect Memento,Collect Memento,Erinnerung einsammeln,,, -Order Thoughts,Order Thoughts,Gedanken sortieren,,, -listen again,listen again,erneut anhören,,, +Mind Board,Mind Board,Korkwand,,, +listen again,Listen Again,Erneut anhören,,, Why does that story mean so much to me?,Why does that story mean so much to me?,Warum geht mir diese Geschichte so nah?,,, -lang-disclaimer,"""Frame of Mind"" is as of now not yet fully localised for German.","""Frame of Mind"" ist noch nicht voll nach Deutsch übersetzt.",,, +lang-disclaimer,"""Frame of Mind"" is as of now not yet fully localised for German.","""Frame of Mind"" ist noch nicht voll ins Deutsche übersetzt.",,, +Dräven,Dräven,Dräven,,, +Jui Jutsu,Jiu-Jitsu,Jiu Jitsu,,, +Sports Clothes,Sports Clothes,Sportklamotten,,, +crafted Mask,Crafted Mask,Gebastelte Maske,,, +secret Comic Stash,Secret Comic Stash,Comic Geheimversteck,,, +find connections,Find Connections,Zusammenhänge finden,,, +Find all three Momentos to collect all thoughts.,Find all three Momentos to gather all thoughts.,Finde die drei Erinnerungen um alle Gedanken zu sammeln. ,,, +Find two more Momentos to collect all cards.,Find two more Momentos to collect all cards.,Finde zwei weitere Erinnerungen um alle Karten zu sammeln.,,, +Find the last remaining Momento.,Find the last remaining Momento.,Finde die letzte Erinnerung. ,,, +Attribution,Attribution,Mitwirkende und Danksagung,,, diff --git a/src/internationalisation.de.translation b/src/internationalisation.de.translation index 2228887b74b57a108d6697442d1bb1792c9a1052..883446e9cc1f7bc51daccced81c97c69e8ef6509 100644 GIT binary patch delta 9644 zcmZWu30zZG)_+-qgn$UzfS?crg24bP3P_Nx1d$j}P*J2RAXW&A6F`fiacQlJ+U2=G z$89Xy#cJIK?bJaL$2yLcwp#2+t=3wttz#Xnc5r!o|MT*meeIW@=iPh%_uRAHbIyC} z_p4;zzA4*RDhqXC7^Vk5cVVQt`11zl3kqP@$pYE!G7pd|+a??A$Pl=5gmDVS>7ZGl zG69<_j0-R>5#}p|alJ6UC5+oK?h@u72qRf>Kr*NG5$D>`(<<3GDa_Ac{7iz=flgul zHO3pD+n{@(|A9CV@hD}^(OVdOg)snQ2q;`wkH8oYN|yCwm~;Uo0rVRuV_%bL9XWr1 z3xsu%FqUJqgX%%cKr2D(K$}6kKqTq|VQj&86m$Y~TEJ-koMe6h^Gl%XPONXwkHY3% zVSLEj6~oA#vRyFt5#}UI{P_u(4r4fIC@4nGyOb*(_i?gz;VH=n&8M?3Elkg82!_`m``VCyW;`UIJYO-2mMMiGm(t z{siQraAJLgQ7eoCgpv3MDR9?D0K-9X!bZA+56pN8U%oJ(DZyrAJ{Pn=z+T3<8uU77 z2k2dpXp=Y|0CpU7>JNLLVcjXgzE&_k|L^cMF#O=O?T*0v3&uy1bD|zbDddAN_7lbc zj3Jqd-QLGOZE z1WZ(R6zdZLb{69|f7t&)Sl>}PP~pOY6Gmk(hH(RtuznZ=gn5WChGUEarGv%`SU$#? zpxMHj&emYQKv*xqxB|2W^rnCjPmcrCC;&So8}ABp42%x67ZVgJPn-KaWVU)TOeEH+ z0!Dl9p6UH)Iwrj_r;aT0Z#ytDf_i3OP=5*j)1kL3pxV17}8tMdK!uR$=z0-GwqM_)hu+*24xv6IHBXJy0LJ36E`@E1U0 zT#Hf_T+0?VQtcDI&W~Z>G7|wB8su@l6anF1h!XaX1OAh2*RWM;twZmD=87${9yP~H z47hbZ$_=p@iZz9ZUJ>LR8gAm@h%18hz~DNsnF8wQ$5JIri}@ z8y5TpPE+vcLPY)}mZxtm)1VgsBNFjNoiFEpXkZ;0ZF~#dq%h)Ip55b<`HKDY@)nOh z*b_JI3dBP*Px}7X4dHHVhbD5kCsLS>#(+fW-IvvVKf)9pFoOi&`pcSo$Gq4mcdcVB zV9FjUr24nV{N*ylkQG#jqL{G3d4=17QyvFP@FTmefxm=1ap|Qg%{y;@0|8OsO_1>W z{%}92KY{>9d7Y5Ye&DViJ0JIz0;~{(81s5Jd@`l!3EU>niNC<3bKp^=C9NqtMca(K zf9M!~+WIHWr8j*T#tN(mBx-r>(HCnxbPO{Z*bLCZ*uvYE zP-g@%Jk#P@G{3PJ0Ck0N61;M1(a{&+5v45=tn%g$#c%vN@NFajV9YU3`ByOFsT*Kzjd&? zaXs|703&+6d2>Q4ZVaJtFgXCQ$J3%0D%ExfpcEDC=JCX;Z#LB7DwhF2CE<_09aA)3 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 delta 8432 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 ClhZK( delta 9643 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 f6CW>EBOEM<_bt4W0%Am{;~caJY7CD literal 7533 zcmd^^dt8m_7RQs)g(y-=MPVaJZb`+2BDyfS#mS_-Z7SWgH<6+tiOD@wD006wl@!W$ z>!d?OC25Q?l}Is78cw6BS#O>-XMH-)d_L#@^M0()Z~eaSde-y2&+dKqTRi4^OjBZq z3aAj>Ao@bg4w3r>`h`oE%?tGjk_Gt4{epu4e>u8>T+B$glfNuW7uo-!>QK}VB2+31 zUL7itdItncd;+}X!QL{7G)St{lb#Fm36v^n011@JWIijTG9@)I9V4Vl-68e$k@GI^+9(26g^WRg(75II04r7jSIAUZnPjvB?gQtx#^{^KP| z!-ZNn{&quD;iRw`sIW+369+y&;5s>3oiQ6VCa;jG2R4vD})e zJ=3Y6b6CEBsTZi2<-SaXPgj_4E$9Z8M>E~YG@fZP=oyx$F%`yMA-Uic%;yvSkmY5B z3AMse$=FNKw-AjGA0b*Hlwm)G8g-_6OpTbDfewSPWZs79WKc(z3*&`jRww_3wztpe z#1}Kal&L>x2t+vZQJ^sp@eoOj9c6kBG#w(Fd7LAU_}h>dLX*TmJK^z=ClQZzM;SXs&Ru{!llUu;D>~#6%UCFARHySX%*TNqVEJLDsi0?Ao(Y=A^4m-cK}#T>L)0>c^EMLS z2Du76>xFZgpxO|65JrsQ7_&}Z;1Y1Nq`;`_LEtq{HwI`79)HABTD4qxx6(7DRt z>Wd9Ck~n-)O-^4ahl{7SWeaZ|mF)*PT$;UKzLIe4>!wu^{ipw8Kb2vP*JbLbX4mS-fn-fep-WRQ5T{H9u|LvlU>v-Zt1~tQl_dQ%E zs_29aUJ{bdL}v(?xj_3yp(uchsF6f<(mn|@k5vQ z6<*8!x{e2a_uteIkLQwCb+0@}IF8@-dr92C2wy+Jr{O2!alD#1Ea4@G+a7p6U!&$3Tw{!SSi{0;zak%#-{TX?L<9v3a7lTEFH)<>|4Iv)qOYtgs7DPCXx3Ej| z??ZUv*cg*y;&J@4gSF$9bGUV#X)E(g zIb5N9`(-$XTjc3ab|M^qF7rhO?FR_AS^ntled1TnD$RIHJg&du;W4e5gy)*?OkPGj z*43*#6YnM5ZB^Q?*Tmy>p0(MLpu^!$YD;oPbGY`Io}S-vxJy*3)*B9=Y}@noc@AG_ zRH7#Qo{Z~2HMN~?X~^LVy!U9_=J17fcB}E4v4@~`pVoR@CiPgev}))dD+qVkEWeRX zJoXs1_0t03cXafq>r(5VuHo?MOc^$X!|6F45V$RseLCx?gEEL8fD!z-%V ztg{Kn>$zKTcbxDy5$tUgS$>0@mS|nt?WCEaHE~W zO@1LB>t0zn{4$Pkd6kj#2I6s@1I(SWzvl3|A+=fFgkxWKS!msK!i&CDH-AMu-uE*k zis<=-PfLyV%^`lK&nT)2#>Yt^W1}YTzCDns~ZC&)}aNF0zW>c7nrgm-z1!6OQw#FG@EWOt{9q*zV=T<9wQrT)cBRT<5_l4;Kzs z-Qwy#gTqgT4trWaIId%MhQrhTglmq>uPGrO*YUpZ|Bi6HFa6RJ>+A?ue6@4HGvcS3{pwmpJg)15 z!YQ_a!!Hd=Ugt(QUT-hMqPVXJFKDQX`kr`Pk9p9}J0l6d6jD<(hWKG{eVd5K^=z^a zO>pJ#3jOi#BMHa#RG$C&!$QJ~ANO-iARhbv-V)HmlEZr_jIXTX@NWBBK57$=^Brqg zqi;d@_USQ-L&Rg9)+w>hD8kiVH+iHGkLwzIJEx@whcE88X;LiV*!KtP(=&GyJ|ftt z>MrqE_g(y1_X@&2wY*$^B_8WCwK8w&Q?6UO zp@jGGsK}m6{E+A;o~Mb&eQ?$gg#~c@cSv}PM#$md#G5x{pJFPH@Elda+C0GkPFX~W{CgCLk%uk L*fS6KkJdi{M&mR^ diff --git a/src/internationalisation.ja.translation b/src/internationalisation.ja.translation index b2ea434bb28abf5d1a8bbb7bf0436f38bef021f3..b782c9f5d1193e2de5a7d5aa3de3e50321c8c609 100644 GIT binary patch literal 8029 zcmeI1jXTx%8^zB}Yf$ICPFu(y|_;GCfR7O)NcW zl|_avQ_0k?#3re%wM~eaSr3{Lzxz|4yWf4eKD(~pAMpEL*L}V3_v?G#pZjyZ&i6d= z`@nCe8b35ZS!h8Fg_s*16BZd3CtEsS8LUvrgJZ&?6o6kH{XuS+$93JcJiZp$|Dpq+ z$OJ+uQ$?**hRA~CQ6a(dpqQv2RftR>Q!}9F6v2@)H60+4GLIC5m;lUZ} zV~2Mi|BCkZ`t{*~+)KI2L6s2k5E~$pAW|UGA&x?@bxv|E04;_ng}BTaJ6}oi8p!J) z8aR8vwS#LXSJp=lHT74sv_K7cPS2ZhHWJhZ!VbcoGg`-TSI#{^=kt6q*X5uJp2u*F zyygutfuyu?D+bTldkK<*oUL6mJT+ zyvtvUz25e%zb6Uk%@OeBnb8B;n`Phnv%C7`_y~B5WL3f~0XK6|j}H}a*TnCJofhyn zV^`Nz5)QZV%RMa7HY@QUeCC4by5+>)o%LWxqy#~teM9?Z{a-r zyLZR-&mBhilT(h~(}u-?gx-&3_V)=Q394)qO)a z_V0LBom@lsT8H4a2gGB)wlp@aRlpSi(qi`69P3b>KEE>}jc|OPTP{3DR=`epozdEe`t};a zvESA?CwvIu`z9w^)e(<%OZPTSSwVQDQKR1r;&G1afU2m!3CI4*kTI!W5?<${QJzga z_9w;d)m$pzyK*9mZ3xG8OVmq$+f2BZ`OhEUARgDXEgnA2mvDT3mq|=}4-)Pe`r`xk z9TEE?-n*Xrlz5zbtMZ^e`>u<1XKhk4qKL=3R*l=z1BCmm$l1ZZZ(<+namP>7j0F5f zQ+1(}fE#8T_p%h4V(*gru`iUQ-gRTlxwFJ$-J~r~7aS*i z?Q`qxT4X(3cTHC7%}+=j@(SzNRx1Jbc(^5grhu<&x4%1Bz-4YPnll94)o{%D{$xM6 z?+UBPcmq;jsg!$NBOdn`*RW8nS->x9H-4opSohMcOH;H+{kJ90bH);n^9!mDrRoyy zT02NSns}VApJiwnB;bv{bKKc)DOiWq=e6(azBhyL$il*&`^01YUYlxT zF9Cl(In#&zW`lKjAO9dViC9eduhlvAyNS1R^)-4-JnqN+p89fc!Yxw9TXhqUb&a;J zf4)n2OudEYR^o9#BW&CY{w3foW18~A3CDGPRmzsRgjakrz@~$EteYKDvS|t7b3)!f z@NeR=?)LZU8E+Au=Sw-b+Z_3Td-D+tGZ7aSk&G?MVECNqj9#N*$2o2K;SO2Xe+>tb0%{JMhf zi{BEDbKeTt=$lA5&aDeNciooo=c}Kt+)h09JJv|$ZwvVBtSJ{=1$=j%%Zy+FFU$2Z zOBZnKT@G%e1pGTp@p#?F8ed2mBj6Id)U96&xYI}BpG6Xm^9BT*wwOS; z&Xpv+--*Y0M%Rw|%@=UZ&ECHA1pJ6{+|8c|$9Z#eU2mEbt~;Tu;TPg@Ui;8#`4xm? zf8-Z~Tb2=SxyF6Q4&t$2`RoWY)e--f29fmzy2*-VVyFI|_H^NobO&>lZ z9-oI{r}wqYBD`dJ%7_Ny-A4cA{Ri>5&qpQhNnHYd=8cRs3kb*k3^J=o_9VQ#ttH_* z;_>y)Mv-#Sp71l#4HeGBkAuhiDe>9S8CyDu$9WrElxZIlKBM$S?i1qiaoid{wLOV& z?5{iV`y(mgRX>@`Iz&A7KkJeYbP(`?C6-0;0Z^&z zzR9t+b1oCUJ@vTnJ>vcK1HF5Q$H$SUpLc#Z<;G3HGU|E$O}Op?eZm7K8tJ7HkB@iQ z!!|c{Fz8XAyuW&SKf-a}iYoK1c4VC)ezyufB7V%K8~%C3<9ePtlGs=Qf6MHfE3*ZB zYllX7m4L6CHL=1(z_lA&FW??=Cezu2WIgkR14>PSBExW+a2;B-we j=utH$K3H5x>a`$e&jUSH@c-lW70`x^T@pX|$NGN&(0)EU literal 7533 zcmd^^dt8m_7RQrxwF%u-L^hJ#D;1MV%B7f)>SWT+PNn;f$gLrX$-Sshv`U1_wM&CuJc`|DX>Ec zR0w4VZHT#HkpaO0(bA<0B78z*K|YZIp&@|39Nj@4^^b0SW^{TDvj0U@p-2xRLMjVg z5#cNK4hr@43G$8%^_KZcL!=75=(!M|V5x!{kYK4y=Ce#HQ&0iZIYO$S0ja-_%-=iG zM-n7e5P_Af@LevAWI&in78wx`vh2$+nQufuSR_CNg>DdoAv!zRj2gweQg5jwc=bw! z;X*AOf4d<);H0n_sDVD6n>Y~AW;V8i9Kz-j+nM$R))zw9m#*iiH|Cr-Wy}n8G|MfS z+A*C9I*;XUOuaxQEca(Be7eGXt3cPYJeKJWrio0`Ku@telc_NF63GQGXTFH=GL}~o zCe#W?4P(zi-#|1&e1vF&P=x&yYE+r(Fg0X42y_^P1@qQSCxcFBxiDThW_9sjXh+Aq zF5Hv(B}@ZB!yuxWj{%K?NQ6jb>@d?apji-k%;Ow|#NULx1fqhmYNpSa)-lDgsP7nW z0d42hC@Fr~D|JvU2m^?LjA0K{G2`Z-HY}gc)CF__%RQMcVd}>e`vegm!SYpvt!H^G zVK`RMZGNrYd@F6kE9$9 z6P~|VhkcD39*#Ol_y%oL?|R~~zE@CK!wAB0d{mZZs_-nuy3}Qn*)NF4x|UoWwatWI z&MV%tmv|hntX}?dBH=h*>snj(1;YEceBAJecpP80eR;=z4wvR7MJ^{C`#Se1PER2` z(cDjbhj{GU??(Hv!yG>H#rduGIo!$JDM>~+&UYnjKs4Nrf9;pNQr}}B@i?E@s(IlM z4lmf86g`^5FU|fVbsmSWtBRffj>AoYE9Zq0j`u}dRQGHh!hbt&J!b;(V*R?|!uuYs z6IJ}gIRw74{)@kgj~7L7cUd-|@yLe` zTjUeP;Ytq2n@Tub@AU_hSscD>f&Qut!f_o*x7|~m2=@|I87(0m*I|D4b=4-qar{s} zZQ-@-uj{xMaQAf`@pvvRT%+a;;W&Qh?-dFEB7BXNPt#At<9HQGRPu8Ux7qh}z;?p% zbHCFryeTsXYrQ1|o?9PS>@# z3B==k2Xn)FY~%3j=DXe=;c)K@x{if}<9xQ_XQpDpo7Math7phRrF&I82_YQEo7-jv z_9HxHT%2(^@i>0z{`&EL9B!{#9@y%beDwYv9vr?qb9tc& zhszajK9A;b^FrOp4us>+Wsz9FV;|wxe)r$pC4Tv=huLq4$Msj29TCkWyufTn+EU`N zu2JcUWDnua;h8&M5s%k-+Io9(9}a(1Uy(nC!!=L!a{rFQXUAlSUUT?ln_jQZa`+;{ z3Kik^WLyWTiOmcP0}gld-mP|%!x!1wuE1-?9)j9_TIG6?)ML$(+M$0eBiw#d&S-qRlEY`b-?G+*!`HpDd?x&D0>`748V9fK#o^I)ixht3@ao!j z%RIvIdTv+W9xwb&1p8i=f6g=}9(i8*(L{9)7iDM~E#UB%E;Ah-aJcnAL*H?P<2v4@ zw7sw9+Go`gil;!XLO$Ub$M;K zGKt4|#`tb>5&l4m9`~ch``W|7gnwT3X+;e2SZ`e^2^!Afjv3=`S#kKD8oMcO9A1K%!{GWh5|8WI zXcv(@hr_FNC%junIIgGW?9U$-5nld4Z+bHE*!TC=pq>^S-cxRLDV)QV_qKl2Bpl~E z(zH_7obYWk;^YU2$2!poNuN=KtGs&enoc~f%k*Y`YfldM)Y~{Io^b5@gXPJYy9gf< zYFK-lc&z&_@w7`d;qD@@IlmH*bvdG(>$;R{)%$o-&+?0b>TV*!JuLcYY$YB)_mJ}b zTZavi#UAUbc<3w4p({Ecmvmn za|-I%Tk8D{smFcUV09?!1mSnn&m2EZJoZqsc=OFU4sYq`-R(Nz%8(1+CoK^FkB16e Mw6JHc@E@&z0?%YLO8@`> diff --git a/src/internationalisation.notes.translation b/src/internationalisation.notes.translation index 645e11faff31774c4f1c633ed6840a79bf3d3a69..7bcbdef68ce6017588444e0c143f5196f1dd399d 100644 GIT binary patch literal 8556 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 RKX*m`Mkm}W^MJp-{|;|?FhKwS diff --git a/src/logic-scenes/collectable/new_collectable_ui.gd b/src/logic-scenes/collectable/new_collectable_ui.gd index d2172da..53e710e 100644 --- a/src/logic-scenes/collectable/new_collectable_ui.gd +++ b/src/logic-scenes/collectable/new_collectable_ui.gd @@ -70,7 +70,10 @@ class_name CollectableUi extends CenterContainer if is_collected: %CollectLabel.text = "listen again" else: - %CollectLabel.text = "collect" + if not is_board: + %CollectLabel.text = "collect" + else: + %CollectLabel.text = "find connections" @onready var collected_box: CheckBox = %CheckBox @export var title_override: String = "": set(value): @@ -105,7 +108,7 @@ class_name CollectableUi extends CenterContainer is_board = board if is_inside_tree(): if board: - if title_override == "": title_label.text = "Order Thoughts" + if title_override == "": title_label.text = "Mind Board" collected_box.hide() # Not room agnostic yet! if not Engine.is_editor_hint(): diff --git a/src/logic-scenes/main menu/audio_settings.tscn b/src/logic-scenes/main menu/audio_settings.tscn index 4f81993..1f5e641 100644 --- a/src/logic-scenes/main menu/audio_settings.tscn +++ b/src/logic-scenes/main menu/audio_settings.tscn @@ -185,7 +185,7 @@ unique_name_in_owner = true layout_mode = 2 selected = 0 item_count = 3 -popup/item_0/text = "use system language" +popup/item_0/text = "use OS Language" popup/item_0/id = 0 popup/item_1/text = "English" popup/item_1/id = 1 @@ -201,7 +201,7 @@ unique_name_in_owner = true layout_mode = 2 selected = 0 item_count = 3 -popup/item_0/text = "use system language" +popup/item_0/text = "use OS Language" popup/item_0/id = 0 popup/item_1/text = "English" popup/item_1/id = 1 diff --git a/src/logic-scenes/main menu/content_settings.tscn b/src/logic-scenes/main menu/content_settings.tscn index a991a00..66e720a 100644 --- a/src/logic-scenes/main menu/content_settings.tscn +++ b/src/logic-scenes/main menu/content_settings.tscn @@ -115,7 +115,7 @@ vertical_scroll_mode = 2 [node name="Reveal" type="AnimationPlayer" parent="ScrollContainer"] unique_name_in_owner = true libraries = { -"": SubResource("AnimationLibrary_x5rp4") +&"": SubResource("AnimationLibrary_x5rp4") } [node name="Content Notes" type="VBoxContainer" parent="ScrollContainer"] diff --git a/src/logic-scenes/main menu/gameplay_settings.tscn b/src/logic-scenes/main menu/gameplay_settings.tscn index 07449ce..c967c81 100644 --- a/src/logic-scenes/main menu/gameplay_settings.tscn +++ b/src/logic-scenes/main menu/gameplay_settings.tscn @@ -19,6 +19,7 @@ theme_type_variation = &"HeaderLarge" text = "Gameplay Settings" [node name="Label2" type="Label" parent="."] +visible = false layout_mode = 2 theme_type_variation = &"HeaderMedium" text = "Gameplay Settings" @@ -61,6 +62,7 @@ tooltip_text = "Displays content note and currently playing music at s corner of selected = 0 item_count = 5 popup/item_0/text = "none" +popup/item_0/id = 0 popup/item_1/text = "Top Left" popup/item_1/id = 2 popup/item_2/text = "Top Right" diff --git a/src/logic-scenes/main menu/video_settings.tscn b/src/logic-scenes/main menu/video_settings.tscn index 74b90cb..8399698 100644 --- a/src/logic-scenes/main menu/video_settings.tscn +++ b/src/logic-scenes/main menu/video_settings.tscn @@ -177,7 +177,7 @@ selected = 0 item_count = 3 popup/item_0/text = "disabled" popup/item_0/id = 0 -popup/item_1/text = " FSR 1.0" +popup/item_1/text = "FSR 1.0" popup/item_1/id = 1 popup/item_2/text = "FSR 2.2" popup/item_2/id = 2 diff --git a/src/main_menu.tscn b/src/main_menu.tscn index ed1ea4f..476b381 100644 --- a/src/main_menu.tscn +++ b/src/main_menu.tscn @@ -260,7 +260,6 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_njt06") script = ExtResource("2_rm576") [node name="TextureRect" type="TextureRect" parent="."] -visible = false layout_mode = 1 anchors_preset = 3 anchor_left = 1.0 @@ -277,7 +276,6 @@ scale = Vector2(0.5, 0.5) texture = ExtResource("3_xb2np") [node name="PanelContainer" type="VBoxContainer" parent="."] -visible = false layout_mode = 1 offset_left = 67.0 offset_top = 70.0 From e324eba12d5a7a7d322ea080cada3a4d5b2af299 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 10 May 2025 15:46:22 +0200 Subject: [PATCH 20/25] hotfix: text being replaced on second opening of the mind board --- src/logic-scenes/collectable/new_collectable_ui.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logic-scenes/collectable/new_collectable_ui.gd b/src/logic-scenes/collectable/new_collectable_ui.gd index 53e710e..690340b 100644 --- a/src/logic-scenes/collectable/new_collectable_ui.gd +++ b/src/logic-scenes/collectable/new_collectable_ui.gd @@ -67,7 +67,7 @@ class_name CollectableUi extends CenterContainer is_collected = value if is_inside_tree(): collected_box.button_pressed = value - if is_collected: + if is_collected and not is_board: %CollectLabel.text = "listen again" else: if not is_board: From 60e0335353a4fa8821f76d3c91da15de788c38c2 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 10 May 2025 15:59:52 +0200 Subject: [PATCH 21/25] hotfix 2 --- .../youth_room/scnees/jui_jutsu.tscn | 15 +++++++-------- src/logic-scenes/card_picker/card_picker.gd | 12 +++++++----- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index affba42..314d471 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -490,7 +490,7 @@ tracks/12/path = NodePath("../../..") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { -"times": PackedFloat32Array(43.5333, 92.4031, 125.533, 155.167, 179.133, 181.935, 209.834, 233.467), +"times": PackedFloat32Array(43.5333, 92.4031, 133.733, 155.167, 179.133, 181.935, 209.834, 233.467), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), "values": [{ "args": [], @@ -811,16 +811,15 @@ clip_children = 2 scale = Vector2(0.6, 0.6) sprite_frames = SubResource("SpriteFrames_liwtr") script = SubResource("GDScript_80sa6") -noise_speed = 0.0 -noise_power = 5.0 +noise_speed = 9.21962 +noise_power = 0.3 [node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"] -emitting = false -amount = 1 +amount = 500 texture = ExtResource("6_0qiyf") -lifetime = 5.0 -one_shot = true -explosiveness = 0.29 +lifetime = 3.99993 +speed_scale = 1.01248 +explosiveness = 0.741887 randomness = 0.14 local_coords = true process_material = SubResource("ParticleProcessMaterial_jikd6") diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 3675d2d..9331383 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -61,7 +61,7 @@ func _ready(): Scenes.sign_up_for_sequence(pick_cards, id, 1) if get_tree().root == self.get_parent(): - pick_cards(0, false) + pick_cards(3, false) State.take_stage(self) reset() @@ -178,14 +178,13 @@ func pick(id: int): var winning_id print("Randomly selected card %s" % options[1].text) - if !(options[1].text == "void" and not id == 1): + if not current_scene_id == Scenes.id.YOUTH_JUI_JUTSU: randomize() winning_id = randi() % options.size() - else: winning_id = 2 if id == 0 else 0 - Steam.setAchievement("FIGHT_BACK") - Steam.storeStats() + #Steam.setAchievement("FIGHT_BACK") + #Steam.storeStats() output.append(options.pop_at(winning_id)) random_player = anim_players[winning_id] @@ -236,7 +235,10 @@ func handle_mouse_button(button_event: InputEventMouseButton, new_selection: Nod if button_event.button_index == MOUSE_BUTTON_LEFT and button_event.pressed: pick(options.find(new_selection)) + +var current_scene_id func pick_cards(id: int, repeat: bool): + current_scene_id = id print("Reached actor %s in sequence %s. Is%s repeating." % [name, Scenes.id.keys()[id], " not" if repeat else ""]) if not repeat: Input.mouse_mode = Input.MOUSE_MODE_VISIBLE From 2ac635b5c713770684c62a3b3779a64f2c63c005 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 10 May 2025 17:04:03 +0200 Subject: [PATCH 22/25] hotfix button issue --- src/main.tscn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.tscn b/src/main.tscn index ecae4f4..ca699e0 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -1698,7 +1698,7 @@ text = "🇩🇪 Auf Deutsch spielen (nicht empfohlen)" [node name="Label" type="Label" parent="DemoMenue/Lang"] layout_mode = 2 -text = "lang-disclaimer" +text = "Dieses Spiel hat aktuell keine deutsche Sprachausgabe." horizontal_alignment = 1 [node name="CenterContainer" type="CenterContainer" parent="."] @@ -1778,4 +1778,4 @@ text = "Skip this Story" [connection signal="room_loaded" from="." to="DemoMenue" method="_on_main_room_loaded"] [connection signal="on_read" from="Disclaimer" to="Startup Menu" method="starting"] [connection signal="pressed" from="DemoMenue/DemoStartButton" to="." method="start_demo"] -[connection signal="pressed" from="DemoMenue/Lang/LocaleButton" to="DemoMenue/Lang" method="_on_locale_button_pressed"] +[connection signal="pressed" from="DemoMenue/Lang/LocaleButton" to="DemoMenue" method="_on_locale_button_pressed"] From 36f739a17ad2960b1bdadda4ee48c1f77204d912 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 10 May 2025 17:12:35 +0200 Subject: [PATCH 23/25] update lang disclaimer --- src/main.tscn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.tscn b/src/main.tscn index ca699e0..665ed9a 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -1694,7 +1694,7 @@ grow_vertical = 0 [node name="LocaleButton" type="Button" parent="DemoMenue/Lang"] layout_mode = 2 size_flags_horizontal = 4 -text = "🇩🇪 Auf Deutsch spielen (nicht empfohlen)" +text = "🇩🇪 Text auf deutsch umstellen" [node name="Label" type="Label" parent="DemoMenue/Lang"] layout_mode = 2 From 54e046ea95699d7f5413cc7ae068e33ebf87f557 Mon Sep 17 00:00:00 2001 From: betalars Date: Mon, 12 May 2025 19:05:13 +0200 Subject: [PATCH 24/25] repair issue caused by earlier hotfix --- src/logic-scenes/card_picker/card_picker.gd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/logic-scenes/card_picker/card_picker.gd b/src/logic-scenes/card_picker/card_picker.gd index 9331383..897e804 100644 --- a/src/logic-scenes/card_picker/card_picker.gd +++ b/src/logic-scenes/card_picker/card_picker.gd @@ -182,9 +182,9 @@ func pick(id: int): randomize() winning_id = randi() % options.size() else: - winning_id = 2 if id == 0 else 0 - #Steam.setAchievement("FIGHT_BACK") - #Steam.storeStats() + winning_id = 1 if id == 0 else 0 + Steam.setAchievement("FIGHT_BACK") + Steam.storeStats() output.append(options.pop_at(winning_id)) random_player = anim_players[winning_id] From dad9d42e7307900ea7ca7ba86ccf17cd7df020be Mon Sep 17 00:00:00 2001 From: betalars Date: Mon, 12 May 2025 19:07:36 +0200 Subject: [PATCH 25/25] fix mistakes in resolving i18n mistakes and typos --- .../youth_room/scnees/jui_jutsu.tscn | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/base-environments/youth_room/scnees/jui_jutsu.tscn b/src/base-environments/youth_room/scnees/jui_jutsu.tscn index 314d471..3c3c052 100644 --- a/src/base-environments/youth_room/scnees/jui_jutsu.tscn +++ b/src/base-environments/youth_room/scnees/jui_jutsu.tscn @@ -490,7 +490,7 @@ tracks/12/path = NodePath("../../..") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { -"times": PackedFloat32Array(43.5333, 92.4031, 133.733, 155.167, 179.133, 181.935, 209.834, 233.467), +"times": PackedFloat32Array(43.5333, 72.4667, 133.733, 155.167, 179.133, 181.935, 209.834, 233.467), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1), "values": [{ "args": [], @@ -525,10 +525,10 @@ tracks/13/path = NodePath("../../..:progress") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { -"times": PackedFloat32Array(0.733333, 6.53333, 12.5667, 18.293, 20.0333, 28.2677, 32.2667, 42.7333, 47.2333, 54.541, 56.1949, 60.5552, 62.1466, 64.6899, 66.6, 72.8467, 74.3667, 80.1013, 82.0206, 90.1333, 92.2, 96.6667, 98.4294, 105.243, 107.1, 113.01, 114.067, 119.745, 121.4, 125.1, 127.2, 132.467, 134.767, 138.149, 139.4, 140.821, 141.333, 145.355, 146.859, 154.259, 156.6, 162.233, 164.867, 171.3, 173.133, 177.797, 181.8, 186.267, 188.686, 191, 192.263, 194.637, 195.9, 199.014, 200.132, 203.15, 204.268, 208.833, 211.867, 218.067, 221.647, 224.367, 225.347, 228.012, 228.992, 233.473), -"transitions": PackedFloat32Array(0.450625, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"times": PackedFloat32Array(0.733333, 6.53333, 12.5667, 18.293, 20.0333, 28.2677, 32.2667, 42.7333, 47.2333, 54.541, 56.1949, 60.5552, 62.1466, 70.7667, 74.3667, 80.1013, 82.0206, 90.1333, 92.2, 96.6667, 98.4294, 105.243, 107.1, 113.01, 114.067, 119.745, 121.4, 125.1, 127.2, 132.467, 134.767, 138.149, 139.4, 140.821, 141.333, 145.355, 146.859, 154.259, 156.6, 162.233, 164.867, 171.3, 173.133, 177.797, 181.8, 186.267, 188.686, 191, 192.263, 194.637, 195.9, 199.014, 200.132, 203.15, 204.268, 208.833, 211.867, 218.067, 221.647, 224.367, 225.347, 228.012, 228.992, 233.473), +"transitions": PackedFloat32Array(0.450625, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 0, -"values": [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, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0, 32.0, 33.0] +"values": [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, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0] } tracks/14/type = "value" tracks/14/imported = false @@ -719,8 +719,8 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_aby4n") -story_array = PackedStringArray("Why do i still have this junk lying around? its 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 got 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.", "I mean I did enjoy it while it lasted. Being able to properly hit people was great.", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "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 suddenly 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 its 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 goodbye. 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?") -paragraph_lengths = PackedInt32Array(3, 6, 8, 9, 10, 12, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31) +story_array = PackedStringArray("Why do i still have this junk lying around? its 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 got 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 school thanks to him.", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "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 suddenly 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 its 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 goodbye. 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?") +paragraph_lengths = PackedInt32Array(3, 6, 8, 9, 10, 12, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31, 30) progress = 17.0 [node name="PanelContainer" type="PanelContainer" parent="."] @@ -778,11 +778,11 @@ custom_minimum_size = Vector2(800, 10) layout_mode = 2 size_flags_horizontal = 3 bbcode_enabled = true -text = "[p]Why do i still have this junk lying around? its 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 got 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. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. I mean I did enjoy it while it lasted. Being able to properly hit people was great. He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. [/p][p][font_size=8] [/font_size][/p][p]He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. [/p][p][font_size=8] [/font_size][/p][p]We also had my first proper kiss. I thought I loved him. But now? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]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. [/p][p][font_size=8] [/font_size][/p][p]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 suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. [/p][p][font_size=8] [/font_size][/p][p]He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]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 its stomach as he kissed it. [/p][p][font_size=8] [/font_size][/p][p]I … observed him from afar. He … didn't seem to notice, that I had left. That I didn't return to kiss him goodbye. That I didn't hug him when he went home. [/p][p][font_size=8] [/font_size][/p][p]My hands knocked on my brother’s door. He let me lie on his carpet. I slowly returned. [/p][p][font_size=8] [/font_size][/p][p]\"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p][/p]" +text = "[p]Why do i still have this junk lying around? its 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 got 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. [/p][p][font_size=8] [/font_size][/p][p]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 school thanks to him. He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. [/p][p][font_size=8] [/font_size][/p][p]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? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. [/p][p][font_size=8] [/font_size][/p][p]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 [/p][p][font_size=8] [/font_size][/p][p]… with this smirk on his face. I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. [/p][p][font_size=8] [/font_size][/p][p]My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it. I … observed him from afar. He … didn't seem to notice, that I had left. [/p][p][font_size=8] [/font_size][/p][p]That I didn't return to kiss him goodbye. 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. [/p][p][font_size=8] [/font_size][/p][p]I slowly returned. \"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]He gently stroked the back I was curling towards him. [/p][p][font_size=8] [/font_size][/p][p]That was good. He was a sweet angel. Why must he be so bad at comforting? [/p]" fit_content = true -visible_characters = 1625 +visible_characters = 1563 visible_characters_behavior = 1 -visible_ratio = 0.63926 +visible_ratio = 0.635883 [node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) @@ -811,15 +811,13 @@ clip_children = 2 scale = Vector2(0.6, 0.6) sprite_frames = SubResource("SpriteFrames_liwtr") script = SubResource("GDScript_80sa6") -noise_speed = 9.21962 -noise_power = 0.3 +noise_power = 1.5 [node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"] amount = 500 texture = ExtResource("6_0qiyf") -lifetime = 3.99993 -speed_scale = 1.01248 -explosiveness = 0.741887 +lifetime = 2.0 +explosiveness = 0.2 randomness = 0.14 local_coords = true process_material = SubResource("ParticleProcessMaterial_jikd6")