import german audio for demo

This commit is contained in:
betalars 2025-07-21 14:33:04 +02:00
parent e2ae1bc5e3
commit d104715a3f
36 changed files with 740 additions and 441 deletions

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bji6drfnvgv3j"
path.s3tc="res://.godot/imported/bing_bong.png-881e8f37088d32717048d5c13acb0de0.s3tc.ctex"
path.etc2="res://.godot/imported/bing_bong.png-881e8f37088d32717048d5c13acb0de0.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://base-environments/volunteer_room/import/textures/bing_bong.png"
dest_files=["res://.godot/imported/bing_bong.png-881e8f37088d32717048d5c13acb0de0.s3tc.ctex", "res://.godot/imported/bing_bong.png-881e8f37088d32717048d5c13acb0de0.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nu02kjr4xq3d"
path.s3tc="res://.godot/imported/gem-normal.png-171f0a49d8783557eab6cac24e7f5395.s3tc.ctex"
path.etc2="res://.godot/imported/gem-normal.png-171f0a49d8783557eab6cac24e7f5395.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://base-environments/volunteer_room/import/textures/gem-normal.png"
dest_files=["res://.godot/imported/gem-normal.png-171f0a49d8783557eab6cac24e7f5395.s3tc.ctex", "res://.godot/imported/gem-normal.png-171f0a49d8783557eab6cac24e7f5395.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0o4bf3igb2xo"
path="res://.godot/imported/stickerbomb.png-81acf2412df167480df12c7cbda3c2c6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://base-environments/volunteer_room/import/textures/stickerbomb.png"
dest_files=["res://.godot/imported/stickerbomb.png-81acf2412df167480df12c7cbda3c2c6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -0,0 +1,13 @@
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
uniform sampler2D texture_albedo : source_color, filter_nearest, repeat_enable;
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_normal_detail : hint_default_white, filter_linear_mipmap, repeat_enable;
void fragment() {
ALBEDO = texture(texture_albedo, UV).xyz * texture(texture_normal_detail, UV * vec2(336.*.125,278.*.125)).w;
NORMAL = texture(texture_normal_detail, UV * vec2(336.*.125,278.*.125)).xyz;
ROUGHNESS = .2;
}

View File

@ -0,0 +1 @@
uid://dubyvbna30nhn

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bgtohhyd8whbm"
path="res://.godot/imported/board_completed_de.wav-55f9cea3167235e42e73664c3c3b4b28.sample"
[deps]
source_file="res://base-environments/youth_room/audio/board_completed_de.wav"
dest_files=["res://.godot/imported/board_completed_de.wav-55f9cea3167235e42e73664c3c3b4b28.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://swlo6elqs4vx"
path="res://.godot/imported/board_incomplete_de.wav-48605bd9d84421a768280982b861fa50.sample"
[deps]
source_file="res://base-environments/youth_room/audio/board_incomplete_de.wav"
dest_files=["res://.godot/imported/board_incomplete_de.wav-48605bd9d84421a768280982b861fa50.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://y8fg3wjscvci"
path="res://.godot/imported/board_unfitting_de.wav-710ce6bfcb0548979414d8ee42ba62d8.sample"
[deps]
source_file="res://base-environments/youth_room/audio/board_unfitting_de.wav"
dest_files=["res://.godot/imported/board_unfitting_de.wav-710ce6bfcb0548979414d8ee42ba62d8.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://tbx31bdlhbtr"
path="res://.godot/imported/why-does-it-mean_de.wav-e8cf9c54b25ca486f2d467ef85cdc195.sample"
[deps]
source_file="res://base-environments/youth_room/audio/why-does-it-mean_de.wav"
dest_files=["res://.godot/imported/why-does-it-mean_de.wav-e8cf9c54b25ca486f2d467ef85cdc195.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://iyd3561b7vdd"
path="res://.godot/imported/bad-grades.png-406d218979c34bc281fa29c69b5cd3e8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://base-environments/youth_room/import/textures/bad-grades.png"
dest_files=["res://.godot/imported/bad-grades.png-406d218979c34bc281fa29c69b5cd3e8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -214,6 +214,21 @@ tracks/6/keys = {
"update": 1, "update": 1,
"values": [true] "values": [true]
} }
tracks/7/type = "audio"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("%AnimationPlayer/Music")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("6_7f2et")
}],
"times": PackedFloat32Array(0.0333333)
}
tracks/7/use_blend = true
[sub_resource type="Animation" id="Animation_egql5"] [sub_resource type="Animation" id="Animation_egql5"]
resource_name = "debug" resource_name = "debug"

View File

@ -222,6 +222,216 @@ tracks/6/keys = {
"values": [0] "values": [0]
} }
[sub_resource type="Animation" id="Animation_bvh45"]
resource_name = "de"
length = 203.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("11_uqngm")
}],
"times": PackedFloat32Array(2.73333)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..:visible")
tracks/2/interp = 0
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "audio"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%AnimationPlayer/Music")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("10_bvh45")
}],
"times": PackedFloat32Array(3)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [false, true, true, true, true, true, true, true, true, true, true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:amount")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../card/BackgroundSprite:noise_speed")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(2, 129.7, 149.1, 167.15),
"transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1),
"update": 0,
"values": [0.0, 10.0, 5.0, 10.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:one_shot")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 93),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:lifetime")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(93, 129.9, 136.6, 164.8),
"transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1),
"update": 0,
"values": [5.0, 1.5, 4.0, 2.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:explosiveness")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7),
"transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1),
"update": 0,
"values": [0.29, 0.69, 0.74, 0.9, 0.2]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:speed_scale")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7),
"transitions": PackedFloat32Array(1, 0.466516, 1, 1),
"update": 0,
"values": [1.0, 1.9, 0.4, 1.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../../card/BackgroundSprite:noise_power")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [5.0, 2.0, 0.3, 0.3, 1.5]
}
tracks/12/type = "method"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("../../..")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(34.7667, 73, 105.467, 143.633, 163.167, 178.233, 202.067),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_emit_thunder"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("../../..:progress")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(0.733333, 6.53333, 8.36667, 12.993, 14.7333, 21.3667, 22.8, 32.9333, 35.1667, 41.8461, 43.5, 47.0086, 48.6, 53.2, 54.7667, 64.6474, 66.5667, 72.5333, 74.6, 79.2373, 81, 87.943, 89.8, 94.643, 95.7, 101.345, 103, 104.867, 106.967, 110.867, 113.167, 116.149, 117.4, 118.821, 120.033, 125.029, 126.533, 130.992, 133.333, 141.633, 144.267, 147.767, 149.6, 154.5, 156.433, 161.767, 162.867, 163.933, 165.1, 166.967, 167.6, 169.382, 170.033, 172.833, 177.133, 180.167, 187.62, 188.933, 192.453, 193.433, 201.633),
"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),
"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, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath(".:rotation")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(0.214991, 1.03196),
"transitions": PackedFloat32Array(0.297302, 1),
"update": 0,
"values": [0.15708, 0.349066]
}
[sub_resource type="Animation" id="Animation_nmo1t"] [sub_resource type="Animation" id="Animation_nmo1t"]
resource_name = "en" resource_name = "en"
length = 235.0 length = 235.0
@ -594,216 +804,6 @@ tracks/2/keys = {
"values": [0.349066, 0.698132] "values": [0.349066, 0.698132]
} }
[sub_resource type="Animation" id="Animation_bvh45"]
resource_name = "de"
length = 203.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("11_uqngm")
}],
"times": PackedFloat32Array(2.73333)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..:visible")
tracks/2/interp = 0
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "audio"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%AnimationPlayer/Music")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("10_bvh45")
}],
"times": PackedFloat32Array(3)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [false, true, true, true, true, true, true, true, true, true, true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:amount")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../card/BackgroundSprite:noise_speed")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(2, 129.7, 149.1, 167.15),
"transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1),
"update": 0,
"values": [0.0, 10.0, 5.0, 10.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:one_shot")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 93),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:lifetime")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(93, 129.9, 136.6, 164.8),
"transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1),
"update": 0,
"values": [5.0, 1.5, 4.0, 2.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:explosiveness")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7),
"transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1),
"update": 0,
"values": [0.29, 0.69, 0.74, 0.9, 0.2]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:speed_scale")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7),
"transitions": PackedFloat32Array(1, 0.466516, 1, 1),
"update": 0,
"values": [1.0, 1.9, 0.4, 1.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../../card/BackgroundSprite:noise_power")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [5.0, 2.0, 0.3, 0.3, 1.5]
}
tracks/12/type = "method"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("../../..")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(34.7667, 73, 105.467, 143.633, 163.167, 178.233, 202.067),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_emit_thunder"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("../../..:progress")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(0.733333, 6.53333, 8.36667, 12.993, 14.7333, 21.3667, 22.8, 32.9333, 35.1667, 41.8461, 43.5, 47.0086, 48.6, 53.2, 54.7667, 64.6474, 66.5667, 72.5333, 74.6, 79.2373, 81, 87.943, 89.8, 94.643, 95.7, 101.345, 103, 104.867, 106.967, 110.867, 113.167, 116.149, 117.4, 118.821, 120.033, 125.029, 126.533, 130.992, 133.333, 141.633, 144.267, 147.767, 149.6, 154.5, 156.433, 161.767, 162.867, 163.933, 165.1, 166.967, 167.6, 169.382, 170.033, 172.833, 177.133, 180.167, 187.62, 188.933, 192.453, 193.433, 201.633),
"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),
"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, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath(".:rotation")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(0.214991, 1.03196),
"transitions": PackedFloat32Array(0.297302, 1),
"update": 0,
"values": [0.15708, 0.349066]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"]
_data = { _data = {
&"RESET": SubResource("Animation_ytihj"), &"RESET": SubResource("Animation_ytihj"),

View File

@ -120,7 +120,7 @@ func play_scene():
animation_complete = false animation_complete = false
match State.speech_language: match State.speech_language:
1: 2:
animation_player.queue("de") animation_player.queue("de")
_: _:
animation_player.queue("en") animation_player.queue("en")

View File

@ -147,6 +147,171 @@ tracks/9/keys = {
"values": [Vector3(-0.0872665, -2.08043, 0.171042)] "values": [Vector3(-0.0872665, -2.08043, 0.171042)]
} }
[sub_resource type="Animation" id="Animation_ayw8a"]
resource_name = "de"
length = 86.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../../AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 1.36178,
"start_offset": 0.0,
"stream": ExtResource("8_kn83e")
}],
"times": PackedFloat32Array(1.16667)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:progress")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.66667, 4.73332, 6.03333, 11.6, 12.4, 15.8333, 16.4333, 18.9334, 19.6333, 24.5333, 25.6, 29, 30.3667, 36.1333, 39.4, 40.8, 42.2333, 44.6333, 45.2667, 47.0333, 49.2333, 53.4333, 54.6333, 57.1333, 57.8333, 61.1333, 63.2667, 66.5667, 67.5, 72.4597, 74.5, 77.2667, 78.4667, 85.2),
"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(24.8, 47.87, 61.7667, 74.0333, 85.2667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("..:custom_minimum_size")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(900, 800), Vector2(900, 900)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.174533, 0.349066]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.733333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../..:visible")
tracks/6/interp = 0
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../..:modulate")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.0497012, 1.46667),
"transitions": PackedFloat32Array(0.406126, 1),
"update": 0,
"values": [Vector3(-0.025, -0.211, 0.138), Vector3(-0.045, -0.111, 0.033)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0, 1.46667),
"transitions": PackedFloat32Array(0.406126, 1),
"update": 0,
"values": [Vector3(0.280998, -2.77333, 0), Vector3(0.0855211, -1.65632, 0.0855211)]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 1.43333),
"transitions": PackedFloat32Array(0.353554, 1),
"update": 0,
"values": [Vector3(0.05, -0.21, -0.02), Vector3(0.02, -0.055, -0.02)]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:rotation")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0.0446739, 1.43333),
"transitions": PackedFloat32Array(0.353554, 1),
"update": 0,
"values": [Vector3(0.0349066, -2.51327, -0.00174533), Vector3(-0.0872665, -2.08043, 0.171042)]
}
[sub_resource type="Animation" id="Animation_7qabw"] [sub_resource type="Animation" id="Animation_7qabw"]
resource_name = "en" resource_name = "en"
length = 108.0 length = 108.0
@ -478,171 +643,6 @@ tracks/2/keys = {
"values": [0.349066, 0.698132] "values": [0.349066, 0.698132]
} }
[sub_resource type="Animation" id="Animation_ayw8a"]
resource_name = "de"
length = 86.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../../AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 1.36178,
"start_offset": 0.0,
"stream": ExtResource("8_kn83e")
}],
"times": PackedFloat32Array(1.16667)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:progress")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.66667, 4.73332, 6.03333, 11.6, 12.4, 15.8333, 16.4333, 18.9334, 19.6333, 24.5333, 25.6, 29, 30.3667, 36.1333, 39.4, 40.8, 42.2333, 44.6333, 45.2667, 47.0333, 49.2333, 53.4333, 54.6333, 57.1333, 57.8333, 61.1333, 63.2667, 66.5667, 67.5, 72.4597, 74.5, 77.2667, 78.4667, 85.2),
"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(24.8, 47.87, 61.7667, 74.0333, 85.2667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("..:custom_minimum_size")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(900, 800), Vector2(900, 900)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.174533, 0.349066]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.733333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../..:visible")
tracks/6/interp = 0
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../..:modulate")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.0497012, 1.46667),
"transitions": PackedFloat32Array(0.406126, 1),
"update": 0,
"values": [Vector3(-0.025, -0.211, 0.138), Vector3(-0.045, -0.111, 0.033)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0, 1.46667),
"transitions": PackedFloat32Array(0.406126, 1),
"update": 0,
"values": [Vector3(0.280998, -2.77333, 0), Vector3(0.0855211, -1.65632, 0.0855211)]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 1.43333),
"transitions": PackedFloat32Array(0.353554, 1),
"update": 0,
"values": [Vector3(0.05, -0.21, -0.02), Vector3(0.02, -0.055, -0.02)]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:rotation")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0.0446739, 1.43333),
"transitions": PackedFloat32Array(0.353554, 1),
"update": 0,
"values": [Vector3(0.0349066, -2.51327, -0.00174533), Vector3(-0.0872665, -2.08043, 0.171042)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"]
_data = { _data = {
&"RESET": SubResource("Animation_ytihj"), &"RESET": SubResource("Animation_ytihj"),

View File

@ -111,7 +111,7 @@ func _on_text_button_item_selected(index: int) -> void:
State.text_language = 2 State.text_language = 2
func _on_speech_button_item_selected(index: int) -> void: func _on_speech_button_item_selected(index: int) -> void:
State.speech_language = index State.speech_language = index + 1
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if event is InputEvent and in_game: if event is InputEvent and in_game:

View File

@ -7,9 +7,9 @@ static var source_dicts: Array[Dictionary] = [
"c_confusion": ["p_inner_conflict", "p_outer_conflict", []] "c_confusion": ["p_inner_conflict", "p_outer_conflict", []]
}, },
{ {
"c_homework": ["p_good_grades", "p_upset_peers", []], "c_homework": ["p_good_grades", "p_worried_mother", []],
"c_teachers": ["p_volunteering", "p_becoming_teacher", []], "c_teachers": ["p_volunteering", "p_becoming_teacher", []],
"c_joy": ["p_worried_mother", "p_thomas_gifted", []] "c_gifted": ["p_upset_peers", "p_joy", []]
}, },
{ {
"c_comic_heroes": ["p_effort", "p_agent_q", []], "c_comic_heroes": ["p_effort", "p_agent_q", []],

View File

@ -1,11 +1,24 @@
class_name StereoSwitch extends AudioStreamPlayer class_name StereoSwitch extends AudioStreamPlayer
@export var alternate_streams: Dictionary[String, AudioStream]
var default_stream: AudioStream
func _ready() -> void: func _ready() -> void:
State.settings_changed.connect(update_mix_target) State.settings_changed.connect(update_mix_target)
update_mix_target() update_mix_target()
default_stream = stream
func update_mix_target(): func update_mix_target():
if State.force_stereo or true: if State.force_stereo or true:
mix_target = AudioStreamPlayer.MIX_TARGET_STEREO mix_target = AudioStreamPlayer.MIX_TARGET_STEREO
else: else:
mix_target = AudioStreamPlayer.MIX_TARGET_CENTER mix_target = AudioStreamPlayer.MIX_TARGET_CENTER
func play(from:float = 0.0) -> void:
match State.speech_language:
1: stream = default_stream
2:
if alternate_streams.keys().has("de"):
stream = alternate_streams["de"]
super.play(from)

View File

@ -168,16 +168,16 @@ p_upset_peers,my peers were upset about that.,meine Klasse war deswegen sauer.,,
c_teachers,"I like my teachers more than my classmates, ","Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse, ",,, c_teachers,"I like my teachers more than my classmates, ","Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse, ",,,
p_volunteering,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Studium machen.,,, p_volunteering,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Studium machen.,,,
p_becoming_teacher,Maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,, p_becoming_teacher,Maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,,
c_joy,"I can put ages into things I enjoy, ","Ich versinke in Dingen, die mir Freude machen,",,, c_gifted,Mr Thomas said that I was gifted,Herr Thomas sagt ich sei hochbegabt,,,
p_worried_mother,my mother would be worried about that.,meiner Mutter macht das Sorgen.,,, p_worried_mother,my mother would be worried about that.,meiner Mutter macht das Sorgen.,,,
p_thomas_gifted,Mr. Thomas thinks that makes me gifted.,Herr Thomas denkt das macht mich begabt.,,, p_joy,"I can put ages into things I enjoy, ","Ich versinke schnell in Dingen, die mir Freude machen.",,,
c_comic_heroes,"Comic heroes are my role models, ","Comic Helden sind meine Vorbilder,",,, c_comic_heroes,"Comic heroes are my role models, ","Comic Helden sind meine Vorbilder,",,,
p_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!",,, p_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!",,,
p_agent_q,and I want to be like Agent Q!,"Ich will so sein, wie Agent Q!",,, p_agent_q,and I want to be like Agent Q!,"Ich will so sein, wie Agent Q!",,,
c_boy_stuff,"I like boy stuff, ","Ich mag Jungs Kram,",,, c_boy_stuff,"I like boy stuff, ","Ich mag Jungs Kram,",,,
p_pretending,yet they think I'm just pretending.,aber die denken ich tu einfach nur so.,,, p_pretending,yet they think I'm just pretending.,aber die denken ich tu einfach nur so.,,,
p_girls,and girls don't get that.,und Mädchen verstehen das einfach nicht!,,, p_girls,and girls don't get that.,und Mädchen verstehen das einfach nicht!,,,
c_teasing,"When Jojo got bullied for trying, I pretty much exploded","Ich bin ausgerastet, weil Jojo für ihre Mühe gemobbt wurde,",,, c_teasing,"When my friend got teased, I lashed out to defend them","Ich verteidige mit vollem Elan Freund*innen, die geärgert werden",,,
p_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.",,, p_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.",,,
p_good_intended,I will always stand up for the good intended!,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,, p_good_intended,I will always stand up for the good intended!,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,,
c_jui_jutsu,"I stopped doing jiu-jitsu, ","Ich habe mit Jiu Jitsu aufgehört,",,, c_jui_jutsu,"I stopped doing jiu-jitsu, ","Ich habe mit Jiu Jitsu aufgehört,",,,

1 keys en de es ja notes
168 "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.”
169 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.
170 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,
171 - 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?
172 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.
173 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.
174 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.
175 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.
176 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.
177 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.
178 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.
179 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.
180 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?
181 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.
182 When suddenly: Was that chatter? When suddenly: Was that chatter? Plötzlich: War das Keckern?
183 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.

View File

@ -330,7 +330,7 @@ func give_lore_feedback():
if float(fitting_card_count) / float(total_card_count) < 0.2: if float(fitting_card_count) / float(total_card_count) < 0.2:
instructions.text = "You can move on, but you may not have understood Lisa." instructions.text = "You can move on, but you may not have understood Lisa."
if not unfitting: if not unfitting:
if State.speech_language == 1: if State.speech_language == 2:
$AnimationPlayer.play("unfitting_de") $AnimationPlayer.play("unfitting_de")
else: else:
$AnimationPlayer.play("unfitting") $AnimationPlayer.play("unfitting")
@ -338,7 +338,7 @@ func give_lore_feedback():
elif fitting_card_count != total_card_count or total_card_count != dropzone.get_child_count() or sticky_note_container.get_child_count() != 0: elif fitting_card_count != total_card_count or total_card_count != dropzone.get_child_count() or sticky_note_container.get_child_count() != 0:
instructions.text = TranslationServer.translate("You may leave the room, but Lisa only agrees with %d of the %d connections.") % [fitting_card_count, total_card_count] instructions.text = TranslationServer.translate("You may leave the room, but Lisa only agrees with %d of the %d connections.") % [fitting_card_count, total_card_count]
if not incomplete: if not incomplete:
if State.speech_language == 1: if State.speech_language == 2:
$AnimationPlayer.play("incomplete_de") $AnimationPlayer.play("incomplete_de")
else: else:
$AnimationPlayer.play("incomplete") $AnimationPlayer.play("incomplete")
@ -346,7 +346,7 @@ func give_lore_feedback():
else: else:
instructions.text = "Lisa would like you to leave her room and move on." instructions.text = "Lisa would like you to leave her room and move on."
if not complete: if not complete:
if State.speech_language == 1: if State.speech_language == 2:
$AnimationPlayer.play("complete_de") $AnimationPlayer.play("complete_de")
else: else:
$AnimationPlayer.play("complete") $AnimationPlayer.play("complete")

View File

@ -1,13 +1,16 @@
[gd_scene load_steps=21 format=3 uid="uid://bnskiyx1sksww"] [gd_scene load_steps=24 format=3 uid="uid://bnskiyx1sksww"]
[ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"] [ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"]
[ext_resource type="Shader" uid="uid://kyd37e0s6fdu" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"] [ext_resource type="Shader" uid="uid://kyd37e0s6fdu" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"]
[ext_resource type="Script" uid="uid://cqsor57nvowni" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"] [ext_resource type="Script" uid="uid://cqsor57nvowni" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"]
[ext_resource type="AudioStream" uid="uid://bywmf3patoe56" path="res://base-environments/youth_room/audio/board_completed.wav" id="5_qjqy3"] [ext_resource type="AudioStream" uid="uid://bywmf3patoe56" path="res://base-environments/youth_room/audio/board_completed.wav" id="5_qjqy3"]
[ext_resource type="AudioStream" uid="uid://bgtohhyd8whbm" path="res://base-environments/youth_room/audio/board_completed_de.wav" id="6_ni75f"]
[ext_resource type="AudioStream" uid="uid://dj8fpajqhj4k7" path="res://base-environments/youth_room/audio/board_incomplete.wav" id="6_vtvtf"] [ext_resource type="AudioStream" uid="uid://dj8fpajqhj4k7" path="res://base-environments/youth_room/audio/board_incomplete.wav" id="6_vtvtf"]
[ext_resource type="Script" uid="uid://ddy8kb2hjvgss" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"] [ext_resource type="Script" uid="uid://ddy8kb2hjvgss" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"]
[ext_resource type="AudioStream" uid="uid://brolrc3lhaeid" path="res://base-environments/youth_room/audio/board_unfitting.wav" id="7_0phgc"] [ext_resource type="AudioStream" uid="uid://brolrc3lhaeid" path="res://base-environments/youth_room/audio/board_unfitting.wav" id="7_0phgc"]
[ext_resource type="AudioStream" uid="uid://swlo6elqs4vx" path="res://base-environments/youth_room/audio/board_incomplete_de.wav" id="7_2qppy"]
[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="8_ni75f"] [ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="8_ni75f"]
[ext_resource type="AudioStream" uid="uid://y8fg3wjscvci" path="res://base-environments/youth_room/audio/board_unfitting_de.wav" id="10_kvxnu"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"]
shader = ExtResource("1_ggnth") shader = ExtResource("1_ggnth")
@ -44,8 +47,46 @@ tracks/0/keys = {
} }
tracks/0/use_blend = true tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_vtvtf"]
resource_name = "complete_de"
length = 14.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationPlayer/LisaFeedback")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("6_ni75f")
}],
"times": PackedFloat32Array(0.533333)
}
tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_kvxnu"] [sub_resource type="Animation" id="Animation_kvxnu"]
resource_name = "incomplete" resource_name = "incomplete"
length = 11.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationPlayer/LisaFeedback")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("7_2qppy")
}],
"times": PackedFloat32Array(0.533333)
}
tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_0phgc"]
resource_name = "incomplete_de"
length = 12.0 length = 12.0
tracks/0/type = "audio" tracks/0/type = "audio"
tracks/0/imported = false tracks/0/imported = false
@ -82,47 +123,9 @@ tracks/0/keys = {
} }
tracks/0/use_blend = true tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_vtvtf"]
resource_name = "complete_de"
length = 14.5
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationPlayer/LisaFeedback")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.42,
"stream": ExtResource("5_qjqy3")
}],
"times": PackedFloat32Array(0.1)
}
tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_0phgc"]
resource_name = "incomplete_de"
length = 12.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimationPlayer/LisaFeedback")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.36,
"stream": ExtResource("6_vtvtf")
}],
"times": PackedFloat32Array(0.1)
}
tracks/0/use_blend = true
[sub_resource type="Animation" id="Animation_ni75f"] [sub_resource type="Animation" id="Animation_ni75f"]
resource_name = "unfitting_de" resource_name = "unfitting_de"
length = 9.0 length = 8.0
tracks/0/type = "audio" tracks/0/type = "audio"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
@ -131,11 +134,11 @@ tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"clips": [{ "clips": [{
"end_offset": 1.06, "end_offset": 0.0,
"start_offset": 0.59, "start_offset": 0.0,
"stream": ExtResource("7_0phgc") "stream": ExtResource("10_kvxnu")
}], }],
"times": PackedFloat32Array(0.333333) "times": PackedFloat32Array(0.133333)
} }
tracks/0/use_blend = true tracks/0/use_blend = true

View File

@ -131,7 +131,6 @@ func _input(event):
pick(curr_selection_id) pick(curr_selection_id)
elif event.is_action_pressed("skip"): elif event.is_action_pressed("skip"):
$Meaning.stop() $Meaning.stop()
$Bedeutung.stop()
if selection_state == CARDS_SELECTED: if selection_state == CARDS_SELECTED:
picked_player.play("skip_pick", .1) picked_player.play("skip_pick", .1)
random_player.play("skip_shuffle", .1) random_player.play("skip_shuffle", .1)
@ -254,10 +253,7 @@ func pick_cards(id: int, repeat: bool):
#State.transition_stage_to(self, true) #State.transition_stage_to(self, true)
selection_state = CARDS selection_state = CARDS
if id == Scenes.id.YOUTH_DRAEVEN and not repeat: if id == Scenes.id.YOUTH_DRAEVEN and not repeat:
if State.speech_language == 1: $Meaning.play()
$Bedeutung.play()
else:
$Meaning.play()
else: else:
Scenes.end_current_sequence() Scenes.end_current_sequence()

View File

@ -1,10 +1,11 @@
[gd_scene load_steps=72 format=3 uid="uid://brk4hjdf2x81a"] [gd_scene load_steps=73 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://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://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="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="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"] [ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="5_et74x"]
[ext_resource type="AudioStream" uid="uid://tbx31bdlhbtr" path="res://base-environments/youth_room/audio/why-does-it-mean_de.wav" id="6_et74x"]
[sub_resource type="Animation" id="Animation_dinvx"] [sub_resource type="Animation" id="Animation_dinvx"]
length = 0.001 length = 0.001
@ -1911,9 +1912,6 @@ stream = ExtResource("4_ujc5a")
mix_target = 2 mix_target = 2
bus = &"text" bus = &"text"
script = ExtResource("5_et74x") script = ExtResource("5_et74x")
alternate_streams = Dictionary[String, AudioStream]({
[node name="Bedeutung" type="AudioStreamPlayer" parent="."] "de": ExtResource("6_et74x")
stream = ExtResource("4_ujc5a") })
mix_target = 2
bus = &"text"
script = ExtResource("5_et74x")