Compare commits

..

2 Commits

29 changed files with 602 additions and 2328 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,7 @@
[gd_scene load_steps=58 format=3 uid="uid://fgp3tbah7msy"]
[gd_scene load_steps=46 format=3 uid="uid://fgp3tbah7msy"]
[ext_resource type="Script" uid="uid://snugj1gnggjj" path="res://base-environments/transition/subway_sequence.gd" id="1_yfan7"]
[ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="2_il5go"]
[ext_resource type="PackedScene" uid="uid://4j1tlhfm3p40" path="res://base-environments/transition/subway_train.tscn" id="3_iq74k"]
[ext_resource type="PackedScene" uid="uid://d2j0d88axhfue" path="res://base-environments/transition/stations/dungeon_station.tscn" id="5_rum2v"]
[ext_resource type="Script" uid="uid://dgfje4druu3sw" path="res://base-environments/transition/code/dolly.gd" id="5_yfan7"]
[ext_resource type="VoxelGIData" uid="uid://d0ywd1vewvryc" path="res://base-environments/transition/vfx/dungeon_VoxelGI.res" id="6_ii0j1"]
@ -22,116 +21,6 @@
radius = 1.8393555
height = 26.941559
[sub_resource type="Shader" id="Shader_tpaj8"]
code = "shader_type spatial;
render_mode depth_prepass_alpha;
uniform float time;
uniform sampler2D horizontal_gradient: repeat_disable;
uniform sampler2D horizontal_emission: repeat_disable;
uniform sampler2D vertical_gradient: repeat_disable;
uniform sampler2D vertical_emission: repeat_disable;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
float anim_progress = time;
//float anim_progress = fract(TIME * 0.25);
ALBEDO = texture(horizontal_gradient, UV.yx).xyz * mix(vec3(1.0), texture(vertical_gradient, UV * vec2(anim_progress)).xyz, anim_progress);
ALPHA = min(clamp(3.0-anim_progress*2.0, 0.0, 1.0), texture(horizontal_gradient, UV.yx).w * texture(vertical_gradient, UV).w * pow(anim_progress, 0.6));
EMISSION = texture(horizontal_emission, UV.yx).xyz * mix(vec3(1.0), texture(vertical_emission, UV * vec2(anim_progress)).xyz, min(1.0, anim_progress));
ROUGHNESS = 0.5;
SPECULAR = 0.4;
METALLIC = 0.3;
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}
"
[sub_resource type="Gradient" id="Gradient_sofnd"]
offsets = PackedFloat32Array(0.190283, 0.237517, 0.252362, 0.263158, 0.358974, 0.620783)
colors = PackedColorArray(0, 0, 0, 1, 0.498876, 0.371803, 0.25703, 1, 0.999199, 0.798087, 0.641907, 1, 0.552793, 0.341064, 0.190397, 1, 0.428199, 0.393103, 0.309389, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_bjefl"]
gradient = SubResource("Gradient_sofnd")
[sub_resource type="Gradient" id="Gradient_csq32"]
offsets = PackedFloat32Array(0, 0.0526316, 0.165992, 0.62753, 0.647773, 0.704453, 0.731444, 1)
colors = PackedColorArray(0.0563103, 0.372397, 0.669528, 1, 0, 0, 0, 0.968627, 0.0844204, 0.319764, 0.485866, 0.796078, 0.0554195, 0.372493, 0.670199, 0.871024, 0, 0, 0, 0.933333, 0.0507, 0.237315, 0.39, 1, 0.0563103, 0.372397, 0.669528, 1, 0.0261, 0.092075, 0.29, 0.894118)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_tpaj8"]
gradient = SubResource("Gradient_csq32")
width = 1024
[sub_resource type="Gradient" id="Gradient_grftg"]
offsets = PackedFloat32Array(0.147099, 0.159244, 0.195682, 0.213225, 0.267206, 0.287449, 0.31444, 0.34143, 0.364372, 0.398111, 0.430499, 0.442645, 0.480432, 0.511471, 1)
colors = PackedColorArray(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0.194349, 0.194349, 0.194349, 1, 0.194349, 0.194349, 0.194349, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_v43sq"]
gradient = SubResource("Gradient_grftg")
[sub_resource type="Gradient" id="Gradient_l33v1"]
offsets = PackedFloat32Array(0.022942, 0.11471, 0.2045054, 0.21741071, 0.25024083, 0.26036772, 0.438596, 0.45614, 0.473684, 0.866397, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0.0820244, 0.0820244, 0.0820244, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_nnax0"]
gradient = SubResource("Gradient_l33v1")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0vobo"]
render_priority = 1
shader = SubResource("Shader_tpaj8")
shader_parameter/time = 0.0
shader_parameter/horizontal_gradient = SubResource("GradientTexture1D_tpaj8")
shader_parameter/horizontal_emission = SubResource("GradientTexture1D_bjefl")
shader_parameter/vertical_gradient = SubResource("GradientTexture1D_nnax0")
shader_parameter/vertical_emission = SubResource("GradientTexture1D_v43sq")
[sub_resource type="QuadMesh" id="QuadMesh_ppxbm"]
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_0vobo"]
[sub_resource type="BoxShape3D" id="BoxShape3D_sofnd"]
size = Vector3(8, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_csq32"]
size = Vector3(4, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_grftg"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_l33v1"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_0vobo"]
size = Vector3(4.393, 2.5, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_ppxbm"]
size = Vector3(0.4, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_wgcl8"]
size = Vector3(2.393, 1.0219727, 1.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_0gtr1"]
size = Vector3(4.325035, 0.5001221, 29.45169)
[sub_resource type="BoxShape3D" id="BoxShape3D_8c5ii"]
size = Vector3(0.5, 3, 29.452)
[sub_resource type="BoxShape3D" id="BoxShape3D_symoa"]
size = Vector3(0.5, 3, 16.202)
[sub_resource type="BoxShape3D" id="BoxShape3D_820wi"]
size = Vector3(0.5, 3, 5.547009)
[sub_resource type="BoxShape3D" id="BoxShape3D_e75no"]
size = Vector3(0.5661621, 3, 1.411961)
[sub_resource type="ViewportTexture" id="ViewportTexture_rkl48"]
viewport_path = NodePath("Stations/StationDolly/dungeon_station/SubwayMap3D/MapViewport")
@ -179,6 +68,44 @@ size = Vector3(0.15, 1.2, 1.7)
[sub_resource type="BoxMesh" id="BoxMesh_symoa"]
size = Vector3(0.3, 1, 1.5)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_rkl48"]
[sub_resource type="BoxShape3D" id="BoxShape3D_yfan7"]
size = Vector3(8, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_il5go"]
size = Vector3(4, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_iq74k"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_biibr"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_rum2v"]
size = Vector3(4.393, 2.5, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_ii0j1"]
size = Vector3(0.4, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_ltric"]
size = Vector3(2.393, 1.0219727, 1.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_rcbu2"]
size = Vector3(4.325035, 0.5001221, 29.45169)
[sub_resource type="BoxShape3D" id="BoxShape3D_bdj4u"]
size = Vector3(0.5, 3, 29.452)
[sub_resource type="BoxShape3D" id="BoxShape3D_j1yes"]
size = Vector3(0.5, 3, 16.202)
[sub_resource type="BoxShape3D" id="BoxShape3D_vomua"]
size = Vector3(0.5, 3, 5.547009)
[sub_resource type="BoxShape3D" id="BoxShape3D_jwt33"]
size = Vector3(0.5661621, 3, 1.411961)
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_wgcl8"]
sky_top_color = Color(0.138464, 0.0447571, 0.169373, 1)
sky_horizon_color = Color(4.62055e-06, 0.722684, 0.905603, 1)
@ -275,279 +202,13 @@ collision_mask = 2
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, -0.45278072, 0.9550209, 3.3956146)
shape = SubResource("CapsuleShape3D_sofnd")
[node name="Train" type="Node3D" parent="."]
visible = false
[node name="Visuals" type="Node3D" parent="Train"]
[node name="Train2" type="Node3D" parent="Train/Visuals"]
unique_name_in_owner = true
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -6.24, 0, -31.131655)
visible = false
[node name="subway_train" parent="Train/Visuals/Train2" instance=ExtResource("3_iq74k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7804413, 0, 0)
[node name="MeshInstance3D8" type="MeshInstance3D" parent="Train/Visuals/Train2"]
transform = Transform3D(-42.01, 4.0756237e-07, 4.3400982e-07, 6.330816e-06, 2.8743172, 0.1808367, 5.9450326e-06, -0.1808367, 2.8743172, -3.9468384, 1.286, 2.488358)
visible = false
material_override = SubResource("ShaderMaterial_0vobo")
mesh = SubResource("QuadMesh_ppxbm")
skeleton = NodePath("../../../GPUParticles3D4")
[node name="Collision" type="Node3D" parent="Train"]
[node name="Body3D" type="StaticBody3D" parent="Train/Collision"]
[node name="WorldBoundary (Ground)" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1428833, -0.24993896, -32.937317)
shape = SubResource("WorldBoundaryShape3D_0vobo")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, -66.5)
shape = SubResource("BoxShape3D_sofnd")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, 0.25)
shape = SubResource("BoxShape3D_sofnd")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.8523458, 1, -1.1576476)
shape = SubResource("BoxShape3D_csq32")
[node name="CollisionShape3D7" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.567, 1.031, -2)
shape = SubResource("BoxShape3D_grftg")
[node name="CollisionShape3D8" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.567, 1.031, -2)
shape = SubResource("BoxShape3D_l33v1")
[node name="CollisionShape3D9" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 1.031, -2)
shape = SubResource("BoxShape3D_0vobo")
[node name="CollisionShape3D10" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -7.783883)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D11" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -9.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D12" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -17.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D13" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -19.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D14" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -16.102852)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D15" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -27.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -29.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D17" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -26.102852)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D18" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -37.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D19" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -39.457428)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D20" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -36.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D21" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -47.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D22" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -49.457428)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D23" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -46.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D24" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -57.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D26" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -56.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.8618617, 1, -1.1576476)
shape = SubResource("BoxShape3D_csq32")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.0680046, -0.24993896, -32.189793)
shape = SubResource("BoxShape3D_0gtr1")
[node name="CollisionShape3D25" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.9860983, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_8c5ii")
[node name="CollisionShape3D27" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_symoa")
[node name="CollisionShape3D28" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -44.749306)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D29" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -45.8734)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D30" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -19.857431)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D31" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -18.627045)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D32" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -26.163954)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D33" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -27.810856)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D34" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D35" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -22.334576)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D36" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -26.121748)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D37" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D38" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -38.4807)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D40" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D41" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.887142, 1.558737, -42.31008)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D42" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357026, 1.558737, -38.522907)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D43" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357027, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D39" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -5.9222555, -0.24993896, -32.045853)
shape = SubResource("BoxShape3D_0gtr1")
[node name="CollisionShape3D44" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -7.840349, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_8c5ii")
[node name="CollisionShape3D45" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948637, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_symoa")
[node name="CollisionShape3D46" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948647, 1.558737, -19.486341)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D47" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205347, 1.558737, -18.362246)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D48" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948627, 1.558737, -44.37822)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D49" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205344, 1.558737, -45.608604)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D50" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -38.071693)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D51" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -36.42479)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D52" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D53" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310548, 1.558737, -41.90107)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D54" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -38.1139)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D55" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D56" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741393, 1.558737, -25.754946)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D57" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D58" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -21.925566)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D59" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211277, 1.558737, -25.71274)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D60" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211279, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_e75no")
[node name="Track1Dolly" parent="." instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5)
visible = false
[node name="Track2Dolly" parent="." instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5)
visible = false
[node name="Stations" type="Node3D" parent="."]
unique_name_in_owner = true
@ -621,10 +282,10 @@ render_target_update_mode = 4
unique_name_in_owner = true
[node name="HiddenStations" type="Node3D" parent="Stations"]
visible = false
[node name="uni_station" parent="Stations/HiddenStations" instance=ExtResource("9_bdj4u")]
unique_name_in_owner = true
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/uni_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
@ -664,7 +325,6 @@ mesh = SubResource("BoxMesh_symoa")
[node name="burnout_station" parent="Stations/HiddenStations" instance=ExtResource("11_vomua")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0)
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/burnout_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
@ -675,7 +335,6 @@ data = ExtResource("12_jwt33")
[node name="volunteer_station" parent="Stations/HiddenStations" instance=ExtResource("13_265nv")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.3, 0, 0, 0)
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/volunteer_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.7692308, 0.020572662, 1.5449562, -27.640734)
@ -719,6 +378,247 @@ render_target_update_mode = 4
[node name="SubwayMap" parent="Stations/HiddenStations/volunteer_station/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
[node name="Collision" type="StaticBody3D" parent="Stations"]
[node name="World Boundary (Floor)" type="CollisionShape3D" parent="Stations/Collision"]
shape = SubResource("WorldBoundaryShape3D_rkl48")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, -66.5)
shape = SubResource("BoxShape3D_yfan7")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, 0.25)
shape = SubResource("BoxShape3D_yfan7")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.8523458, 1, -1.1576476)
shape = SubResource("BoxShape3D_il5go")
[node name="CollisionShape3D7" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.567, 1.031, -2)
shape = SubResource("BoxShape3D_iq74k")
[node name="CollisionShape3D8" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.567, 1.031, -2)
shape = SubResource("BoxShape3D_biibr")
[node name="CollisionShape3D9" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 1.031, -2)
shape = SubResource("BoxShape3D_rum2v")
[node name="CollisionShape3D10" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -7.783883)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D11" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -9.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D12" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -17.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D13" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -19.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D14" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -16.102852)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D15" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -27.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -29.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D17" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -26.102852)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D18" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -37.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D19" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -39.457428)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D20" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -36.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D21" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -47.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D22" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -49.457428)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D23" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -46.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D24" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -57.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D26" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -56.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.8618617, 1, -1.1576476)
shape = SubResource("BoxShape3D_il5go")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.0680046, -0.24993896, -32.189793)
shape = SubResource("BoxShape3D_rcbu2")
[node name="CollisionShape3D25" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.9860983, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_bdj4u")
[node name="CollisionShape3D27" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_j1yes")
[node name="CollisionShape3D28" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -44.749306)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D29" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -45.8734)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D30" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -19.857431)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D31" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -18.627045)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D32" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -26.163954)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D33" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -27.810856)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D34" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D35" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -22.334576)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D36" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -26.121748)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D37" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D38" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -38.4807)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D40" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D41" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.887142, 1.558737, -42.31008)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D42" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357026, 1.558737, -38.522907)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D43" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357027, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D39" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -5.9222555, -0.24993896, -32.045853)
shape = SubResource("BoxShape3D_rcbu2")
[node name="CollisionShape3D44" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -7.840349, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_bdj4u")
[node name="CollisionShape3D45" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948637, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_j1yes")
[node name="CollisionShape3D46" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948647, 1.558737, -19.486341)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D47" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205347, 1.558737, -18.362246)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D48" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948627, 1.558737, -44.37822)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D49" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205344, 1.558737, -45.608604)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D50" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -38.071693)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D51" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -36.42479)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D52" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D53" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310548, 1.558737, -41.90107)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D54" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -38.1139)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D55" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D56" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741393, 1.558737, -25.754946)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D57" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D58" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -21.925566)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D59" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211277, 1.558737, -25.71274)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D60" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211279, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_jwt33")
[node name="StationPlayer" type="AnimationPlayer" parent="Stations"]
unique_name_in_owner = true
autoplay = "RESET"

View File

@ -1,14 +0,0 @@
class_name TrainLine extends Resource
enum id {
NONE,
RING,
U2,
U3,
U8
}
@export var train_id: id = id.NONE
@export var destination: StringName = ""
@export var via: StringName = ""
@export var stops: Dictionary[Station, float]

View File

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

View File

@ -10,6 +10,5 @@ _data = {
"octree_size": Vector3(128, 32, 32),
"to_cell_xform": Transform3D(3.6571429, 0, 0, 0, 3.6571429, 0, 0, 0, 3.6571429, 64, 8.609933, 12.8)
}
dynamic_range = 3.0
energy = 2.0
normal_bias = 1.5

View File

@ -1,50 +1,11 @@
[gd_scene load_steps=9 format=3 uid="uid://cg70r0102t8nl"]
[ext_resource type="Script" uid="uid://d2lwghq7ye7ng" path="res://base-environments/youth_room/fairylights_animation_player.gd" id="1_mdd6t"]
[ext_resource type="Texture2D" uid="uid://i75aktvgsdwg" path="res://base-environments/youth_room/import/textures/wires_normal.png" id="1_p3lcj"]
[ext_resource type="Texture2D" uid="uid://chisldkpt6bf5" path="res://base-environments/youth_room/import/textures/wires_albedo.png" id="1_xsr58"]
[ext_resource type="Script" uid="uid://f26vfrf8n4l" path="res://addons/LineRenderer/line_renderer.gd" id="2_javfj"]
[ext_resource type="ArrayMesh" uid="uid://f5fr2e5gq313" path="res://base-environments/youth_room/shaders/fairy_light_diode.res" id="4_qh8yy"]
[sub_resource type="GDScript" id="GDScript_2caij"]
script/source = "
extends Node3D
@export var light_array: Array[Vector3]:
set(points):
light_array = points
if is_inside_tree():
rebuild()
@onready var wires:LineRenderer3D = $wires
@onready var diodes:MultiMeshInstance3D = $diodes
@export var rng_seed:int = 42
var rng = RandomNumberGenerator.new()
@export var size:float = 0.1:
set(new_size):
size = new_size
rebuild()
if is_inside_tree():
wires.end_thickness = size*0.1
wires.start_thickness = size*0.1
# Called when the node enters the scene tree for the first time.
func _ready():
rebuild()
func rebuild():
rng.seed = rng_seed
rng.state = 0
for child in wires.get_children(): child.free()
wires.points = light_array
diodes.multimesh.instance_count = light_array.size()
var meshBuffer:PackedFloat32Array
for point in light_array:
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
base = base.scaled(Vector3(size, size, size))
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
diodes.multimesh.buffer = meshBuffer
"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5ca5e"]
transparency = 2
alpha_scissor_threshold = 0.5
@ -55,7 +16,7 @@ albedo_texture = ExtResource("1_xsr58")
normal_enabled = true
normal_texture = ExtResource("1_p3lcj")
[sub_resource type="ImmediateMesh" id="ImmediateMesh_30v5y"]
[sub_resource type="ImmediateMesh" id="ImmediateMesh_hnqbx"]
[sub_resource type="MultiMesh" id="MultiMesh_ic3h7"]
transform_format = 1
@ -64,13 +25,13 @@ mesh = ExtResource("4_qh8yy")
buffer = PackedFloat32Array(0.09981685, 0.0048210253, -0.0036542376, -0.545, -0.004285584, 0.09898752, 0.013531633, 0.915, 0.0042696027, -0.013350244, 0.09901284, 1.035, 0.07000746, -0.035884943, 0.061735135, -0.47, 0.052533384, 0.084440574, -0.010489702, 0.855, -0.048365276, 0.03977513, 0.077966265, 0.905, 0.004258701, 0.09203124, -0.038885914, -0.44, -0.0057153255, 0.039081898, 0.09186915, 0.871, 0.09974567, -0.0016899735, 0.00692427, 0.78, 0.021999925, -0.08708059, -0.0439656, -0.385, 0.08009742, 0.041850984, -0.042812362, 0.91, 0.055681296, -0.025796626, 0.0789565, 0.69, 0.09233354, 0.028834114, -0.025359664, -0.38, -0.035966184, 0.08807498, -0.0308096, 0.995, 0.013451844, 0.0375685, 0.091693275, 0.595, 0.041037153, 0.023612177, 0.08808186, -0.39, -0.08183642, -0.033079606, 0.0469951, 0.925, 0.040233698, -0.091368504, 0.005748424, 0.465, 0.096389726, 0.024975834, -0.009231994, -0.364, -0.025152955, 0.09678175, -0.0007887144, 0.86, 0.008737898, 0.0030823578, 0.09956982, 0.211, 0.09051618, -0.035352834, 0.023600822, -0.295, 0.009805123, 0.07139074, 0.06933414, 0.82, -0.04136038, -0.060444523, 0.06808656, 0.06, 0.099969886, -0.00044002375, 0.0024142524, -0.255, 0.00037742994, 0.099965714, 0.0025912046, 0.805, -0.0024248264, -0.0025813123, 0.09993727, -0.15, 0.06669522, -0.074469164, 0.002468294, -0.175, 0.066979624, 0.061372936, 0.04179824, 0.83, -0.03264166, -0.026224172, 0.090811975, -0.355, 0.008275211, 0.052801844, -0.08451915, -0.135, 0.09518374, -0.029311886, -0.008992719, 0.955, -0.029522488, -0.07970432, -0.052684378, -0.515, 0.09839882, -0.010216827, 0.014604448, -0.025, 0.0064255283, 0.09676424, 0.024400702, 0.78, -0.01662486, -0.023071585, 0.09587135, -0.615, -0.034177337, -0.07165746, -0.06080394, 0.115, 0.014493376, 0.059907008, -0.07874703, 0.63, 0.092853926, -0.035726182, -0.010089032, -0.695, -0.023289097, -0.071124874, 0.06632399, 0.245, 0.07954721, -0.053165104, -0.02908116, 0.555, 0.055945147, 0.045986135, 0.06895951, -0.745, -0.05999255, -0.025455302, -0.07584802, 0.37, -0.07084022, 0.060961187, 0.03557245, 0.595, 0.03718277, 0.07507172, -0.054604758, -0.805, 0.010777453, 0.09121187, 0.03955051, 0.455, 0.027344523, -0.04096749, 0.08702841, 0.745, 0.09558308, 0.0014354527, -0.029356688, -0.84, 0.0745873, 0.007008575, -0.06623908, 0.505, -0.03662421, 0.08737851, -0.03199474, 0.89, 0.055636343, 0.048123557, 0.067740105, -0.87, -0.052477725, -0.040816348, -0.07470016, 0.445, -0.07717951, -0.014203754, 0.061980464, 1.175, -0.035908382, 0.090179145, -0.024048049, -0.87, 0.065261625, -0.074675135, 0.012827498, 0.26, -0.071961984, -0.06638678, -0.020353615, 1.28, 0.023714853, 0.004052181, -0.0970628, -0.815, 0.04776166, -0.086053446, 0.017709581, 0.125, -0.045023393, -0.0066644074, 0.08904202, 1.35, -0.075443484, -0.050501395, -0.04192721, -0.8, 0.05265527, -0.07790997, -0.034021474, -0.037, -0.057078417, -0.0027407527, -0.08206426, 1.479, 0.06300379, 0.06263008, -0.04591292, -0.834, 0.07262851, 0.053707976, 0.042901676, -0.2, -0.03499957, 0.082609534, -0.044166677, 1.601, -0.0591619, 0.017062197, 0.07879563, -0.851, 0.058154207, 0.02977618, -0.07570646, -0.359, -0.046415366, 0.0885717, -0.00081792625, 1.769, 0.06681094, 0.035615087, 0.06532889, -0.85, 0.08759906, -0.04253812, 0.022735743, -0.5, 0.033643764, 0.0876653, 0.034393217, 1.949, -0.034561586, -0.022478973, 0.091105394, -0.85, 0.09468309, -0.029932225, -0.011797212, -0.594, 0.019968888, 0.025923345, 0.09449457, 2.126, -0.0252261, -0.09182615, 0.030522157, -0.85, 0.062641285, -0.07662324, 0.014316082, -0.634, 0.07794788, 0.0616799, -0.010941619, 2.238, -0.0004463233, 0.01801305, 0.098363265, -0.85, 0.051075388, -0.039760582, 0.07622598, -0.634, -0.015580878, 0.0829139, 0.053689104, 2.035, -0.08454904, -0.0392986, 0.03615355, -0.85, -0.055891007, -0.07219604, -0.040791273, -0.614, -0.07006708, 0.014808285, 0.06979484, 1.875, -0.044348616, 0.06759029, -0.058862157, -0.85, -0.05453172, 0.05173852, -0.06595012, -0.65, 0.038997572, 0.085303895, 0.034676112, 1.655, 0.07419893, -0.006809469, -0.06669445, -0.85, 0.08583314, 0.043052655, -0.027913136, -0.65, 0.030251084, -0.0864024, -0.04024298, 1.475, -0.04144329, 0.026097784, -0.08718578, -0.87)
[node name="fairylights" type="Node3D"]
script = SubResource("GDScript_2caij")
script = ExtResource("1_mdd6t")
light_array = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
[node name="wires" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_5ca5e")
gi_mode = 0
mesh = SubResource("ImmediateMesh_30v5y")
mesh = SubResource("ImmediateMesh_hnqbx")
script = ExtResource("2_javfj")
points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
start_thickness = 0.01

View File

@ -0,0 +1,37 @@
extends Node3D
@export var light_array: Array[Vector3]:
set(points):
light_array = points
if is_inside_tree():
rebuild()
@onready var wires:LineRenderer3D = $wires
@onready var diodes:MultiMeshInstance3D = $diodes
@export var rng_seed:int = 42
var rng = RandomNumberGenerator.new()
@export var size:float = 0.1:
set(new_size):
size = new_size
rebuild()
if is_inside_tree():
wires.end_thickness = size*0.1
wires.start_thickness = size*0.1
# Called when the node enters the scene tree for the first time.
func _ready():
rebuild()
func rebuild():
rng.seed = rng_seed
rng.state = 0
for child in wires.get_children(): child.free()
wires.points = light_array
diodes.multimesh.instance_count = light_array.size()
var meshBuffer:PackedFloat32Array
for point in light_array:
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
base = base.scaled(Vector3(size, size, size))
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
diodes.multimesh.buffer = meshBuffer

View File

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

View File

@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://ct7uc5i5yp5qf"]
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://ct7uc5i5yp5qf"]
[ext_resource type="Texture2D" uid="uid://c61ekclk8loxn" path="res://base-environments/youth_room/import/textures/red_plaster_weathered_rough_4k.png" id="1_2nxvx"]
[ext_resource type="Texture2D" uid="uid://kf0vfm4sf0o3" path="res://base-environments/youth_room/import/textures/red_plaster_weathered_nor_gl_4k.png" id="2_80i0p"]

View File

@ -1,4 +1,4 @@
[gd_scene format=3 uid="uid://cj1ccdk0686ke"]
[gd_scene load_steps=12 format=3 uid="uid://cj1ccdk0686ke"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_543ki"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_ho85h"]
@ -6,8 +6,7 @@
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_ayw8a"]
[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://ui/skip_control/skip_control.tscn" id="5_b3y80"]
[ext_resource type="AudioStream" uid="uid://d15ltkofdggly" path="res://base-environments/youth_room/audio/Voice-Training-Workshop.wav" id="8_ho85h"]
[ext_resource type="AudioStream" uid="uid://dupcfwi54fpjx" path="res://base-environments/youth_room/audio/FoM_Lisa_Kindheit_Voice_Acting_deutsch_newt.wav" id="8_kn83e"]
[ext_resource type="AnimationLibrary" path="res://animations/voice_training.res" id="7_1v0jk"]
[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="9_kn83e"]
[sub_resource type="ViewportTexture" id="ViewportTexture_ho85h"]
@ -24,635 +23,7 @@ adjustment_saturation = 0.9
[sub_resource type="World3D" id="World3D_4m36g"]
environment = SubResource("Environment_sk23p")
[sub_resource type="Animation" id="Animation_ytihj"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../..:progress")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [17.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:custom_minimum_size")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(900, 900)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.349066]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../..:modulate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../..:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(-0.045, -0.111, 0.033)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:rotation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.0855211, -1.65632, 0.0855211)]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.02, -0.055, -0.02)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"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"]
resource_name = "en"
length = 108.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../../AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 4.92,
"stream": ExtResource("8_ho85h")
}],
"times": PackedFloat32Array(0.6)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:progress")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.66667, 4.73332, 6.03333, 14.9, 16.2667, 19.4, 20.3333, 22.5667, 23.6667, 29.2667, 29.7667, 34.5667, 36.4667, 41.6333, 44.9, 47.1, 48.1667, 51.6667, 53.0333, 55.9, 58.6667, 61.1, 62.9, 68.1001, 69.3667, 74.1028, 75.4667, 80.7334, 81.6667, 88.8597, 90.5667, 96.2333, 97.9, 104.733),
"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(15.2333, 35.2, 56, 74.5667, 96.9007, 107.867),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("..:custom_minimum_size")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(900, 800), Vector2(900, 900)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.174533, 0.349066]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.733333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../..:visible")
tracks/6/interp = 0
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../..:modulate")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
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_kn83e"]
resource_name = "ini"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../..:progress")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [17.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:custom_minimum_size")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(900, 900)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.349066]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../..:modulate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../..:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(-0.045, -0.111, 0.033)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook1:rotation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.0855211, -1.65632, 0.0855211)]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.02, -0.055, -0.02)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../TextureRect/SubViewport/Node3D/YouthSpecialMeshesComicBook2:rotation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(-0.0872665, -2.08043, 0.171042)]
}
[sub_resource type="Animation" id="Animation_x0d5q"]
resource_name = "vanish"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../..:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(2.73208, 1),
"update": 0,
"values": [0.349066, 0.698132]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"]
_data = {
&"RESET": SubResource("Animation_ytihj"),
&"de": SubResource("Animation_ayw8a"),
&"en": SubResource("Animation_7qabw"),
&"ini": SubResource("Animation_kn83e"),
&"vanish": SubResource("Animation_x0d5q")
}
[node name="voice_training" type="CenterContainer" unique_id=879195009]
[node name="voice_training" type="CenterContainer"]
visible = false
anchors_preset = 15
anchor_right = 1.0
@ -665,11 +36,11 @@ scene_id = 2
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 Id 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 - thats 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)
[node name="PanelContainer" type="PanelContainer" parent="." unique_id=2032917301]
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 2
mouse_filter = 1
[node name="StartFrame" type="TextureRect" parent="PanelContainer" unique_id=756499554]
[node name="StartFrame" type="TextureRect" parent="PanelContainer"]
custom_minimum_size = Vector2(900, 900)
layout_mode = 2
size_flags_vertical = 0
@ -677,7 +48,7 @@ texture = ExtResource("2_ho85h")
expand_mode = 2
stretch_mode = 4
[node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame" unique_id=907097464]
[node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame"]
show_behind_parent = true
layout_mode = 1
anchors_preset = 8
@ -695,7 +66,7 @@ rotation = 0.349066
pivot_offset = Vector2(450, 450)
mouse_filter = 1
[node name="TextureRect" type="TextureRect" parent="PanelContainer/StartFrame" unique_id=1771437247]
[node name="TextureRect" type="TextureRect" parent="PanelContainer/StartFrame"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
@ -711,7 +82,7 @@ grow_vertical = 2
scale = Vector2(0.5, 0.5)
texture = SubResource("ViewportTexture_ho85h")
[node name="SubViewport" type="SubViewport" parent="PanelContainer/StartFrame/TextureRect" unique_id=2093055714]
[node name="SubViewport" type="SubViewport" parent="PanelContainer/StartFrame/TextureRect"]
own_world_3d = true
world_3d = SubResource("World3D_4m36g")
transparent_bg = true
@ -720,25 +91,25 @@ canvas_cull_mask = 4293918724
size = Vector2i(1024, 1536)
render_target_update_mode = 3
[node name="Node3D" type="Node3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport" unique_id=1223174623]
[node name="Node3D" type="Node3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.21953, 3.52719, 0)
[node name="YouthSpecialMeshesComicBook1" type="MeshInstance3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=1635341837]
transform = Transform3D(-0.09237667, -0.07749739, -0.992704, 0.085104756, 0.99270374, -0.08541691, 0.992081, -0.09237429, -0.08510727, -0.045, -0.111, 0.033)
[node name="YouthSpecialMeshesComicBook1" type="MeshInstance3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(-0.09237667, -0.07749739, -0.992704, 0.085104756, 0.9927037, -0.08541691, 0.992081, -0.09237428, -0.08510727, -0.045, -0.111, 0.033)
mesh = ExtResource("3_ho85h")
skeleton = NodePath("../..")
[node name="YouthSpecialMeshesComicBook2" type="MeshInstance3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=1795445499]
transform = Transform3D(-0.4210099, 0.12640648, -0.7739451, 0.15260528, 0.7853272, 0.07756861, 0.78067994, -0.08534442, -0.4325408, 0.02, -0.055, -0.02)
[node name="YouthSpecialMeshesComicBook2" type="MeshInstance3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(-0.4210099, 0.12640649, -0.7739451, 0.15260528, 0.78532726, 0.07756861, 0.78067994, -0.08534443, -0.4325408, 0.02, -0.055, -0.02)
mesh = ExtResource("4_kn83e")
skeleton = NodePath("../..")
[node name="Camera3D" type="Camera3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=1920540085]
[node name="Camera3D" type="Camera3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(1, -4.88994e-09, 1.82221e-11, 4.88232e-09, 0.998636, 0.052214, -2.7352e-10, -0.052214, 0.998636, -0.025, 0, 0.81)
current = true
fov = 33.0
[node name="SpotLight3D" type="SpotLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=327063891]
[node name="SpotLight3D" type="SpotLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(0.302014, 0.249491, -0.920077, 0.207638, 0.924758, 0.318918, 0.930416, -0.287361, 0.227486, -0.495, 0.186, 0.167)
layers = 4
light_color = Color(0.992157, 0.917647, 0.835294, 1)
@ -749,28 +120,28 @@ shadow_normal_bias = 2.171
spot_range = 0.846959
spot_angle = 23.1819
[node name="OmniLight3D" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=997492291]
[node name="OmniLight3D" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.355, 0, -0.09)
light_color = Color(0.266667, 0.286275, 1, 1)
light_size = 0.5
omni_range = 2.5227
[node name="OmniLight3D2" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D" unique_id=660273946]
[node name="OmniLight3D2" type="OmniLight3D" parent="PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.435, -0.145, 0)
light_color = Color(0.607843, 0.34902, 0.203922, 1)
light_energy = 0.1
light_size = 0.5
omni_range = 2.0
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" unique_id=1232417546]
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer" unique_id=990507674]
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
text = "secret Comic Stash"
[node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer" unique_id=1023430885]
[node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 700)
layout_mode = 2
@ -779,7 +150,7 @@ size_flags_vertical = 2
horizontal_scroll_mode = 0
vertical_scroll_mode = 3
[node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll" unique_id=1245725626]
[node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll"]
unique_name_in_owner = true
custom_minimum_size = Vector2(800, 10)
layout_mode = 2
@ -790,7 +161,7 @@ fit_content = true
scroll_active = false
visible_characters_behavior = 1
[node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer" unique_id=532308306]
[node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 64)
layout_mode = 2
size_flags_vertical = 8
@ -798,17 +169,19 @@ texture = ExtResource("4_ayw8a")
expand_mode = 2
stretch_mode = 4
[node name="SkipControl" parent="PanelContainer" unique_id=615471104 instance=ExtResource("5_b3y80")]
[node name="SkipControl" parent="PanelContainer" instance=ExtResource("5_b3y80")]
unique_name_in_owner = true
layout_mode = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1196634762]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
root_node = NodePath("../PanelContainer/StartFrame/Panel")
libraries/ = SubResource("AnimationLibrary_dc6th")
autoplay = &"ini"
libraries = {
&"": ExtResource("7_1v0jk")
}
autoplay = "ini"
[node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer" unique_id=1140635269]
[node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"]
mix_target = 2
bus = &"text"
script = ExtResource("9_kn83e")

View File

@ -1,4 +1,4 @@
[gd_resource type="VisualShader" format=3 uid="uid://bcuduhlnij5mc"]
[gd_resource type="VisualShader" load_steps=10 format=3 uid="uid://bcuduhlnij5mc"]
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_pq5me"]
default_input_values = [0, 1.0, 1, 3.0]
@ -26,6 +26,90 @@ operator = 2
operator = 8
[resource]
code = "shader_type spatial;
render_mode blend_add, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
uniform vec4 glass_tint : source_color;
uniform vec4 lightcolor : source_color;
void fragment() {
// ColorParameter:3
vec4 n_out3p0 = glass_tint;
// FloatConstant:2
float n_out2p0 = 0.000000;
// Input:5
vec2 n_out5p0 = UV;
// VectorDecompose:6
float n_out6p0 = vec3(n_out5p0, 0.0).x;
float n_out6p1 = vec3(n_out5p0, 0.0).y;
float n_out6p2 = vec3(n_out5p0, 0.0).z;
// FloatOp:11
float n_in11p1 = 3.00000;
float n_out11p0 = pow(n_out6p1, n_in11p1);
// ColorParameter:4
vec4 n_out4p0 = lightcolor;
// Fresnel:7
float n_in7p3 = 1.00000;
float n_out7p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in7p3);
// VectorOp:8
vec3 n_out8p0 = vec3(n_out4p0.xyz) * vec3(n_out7p0);
vec3 n_out9p0;
// ColorOp:9
{
float base = vec3(n_out11p0).x;
float blend = n_out8p0.x;
if (base < 0.5) {
n_out9p0.x = (base * (2.0 * blend));
} else {
n_out9p0.x = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
{
float base = vec3(n_out11p0).y;
float blend = n_out8p0.y;
if (base < 0.5) {
n_out9p0.y = (base * (2.0 * blend));
} else {
n_out9p0.y = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
{
float base = vec3(n_out11p0).z;
float blend = n_out8p0.z;
if (base < 0.5) {
n_out9p0.z = (base * (2.0 * blend));
} else {
n_out9p0.z = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
// Output:0
ALBEDO = vec3(n_out3p0.xyz);
ROUGHNESS = n_out2p0;
EMISSION = n_out9p0;
}
"
modes/blend = 1
nodes/fragment/2/node = SubResource("VisualShaderNodeFloatConstant_2mt73")
nodes/fragment/2/position = Vector2(40, 260)

View File

@ -0,0 +1,13 @@
extends AnimationPlayer
func _ready() -> void:
Scenes.scene_finished.connect(lights_on)
Scenes.scene_starting.connect(lights_off)
func lights_off(id: int = -1, _repeat: bool = false):
if id == Scenes.id.YOUTH_VOICE_TRAINING:
await get_tree().create_timer(10).timeout
queue("lights_out")
func lights_on(_id: int = -1, _repeat: bool = false):
queue("light_up")

View File

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

View File

@ -22,7 +22,7 @@ func start_room():
# Play intro scene directly (not triggered by CollectableUi)
await _play_intro_scene()
else:
%LightAnimation.lights_on()
%LightAnimationPlayer.lights_on()
Scenes.player_enable.emit(true)

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ class_name RoomTemplate extends Node3D
var initialised: bool = false
var id: State.rooms = State.rooms.NULL
@onready var scene_player : AnimationPlayer = %ScenePlayer
@onready var scene_player : AnimationPlayer = %SceneAnimationPlayer
@onready var card_board : CardBoard # Optional Board, if present - set by the board in its own _ready()
var save_game:SaveGame = null

View File

@ -1,4 +1,4 @@
[gd_resource type="FontFile" format=4 uid="uid://cb66e4mqysgf8"]
[gd_resource type="FontFile" load_steps=11 format=4 uid="uid://cb66e4mqysgf8"]
[sub_resource type="Image" id="Image_2g64l"]
data = {
@ -95,15 +95,6 @@ data = PackedByteArray("AAEAAAAOAIAAAwBgT1MvMjZDFt8AAAF8AAAAYGNtYXDfxMwUAAAB3AAA
font_name = "Annie Use Your Telescope"
style_name = "Regular"
msdf_pixel_range = 8
cache/0/variation_coordinates = {}
cache/0/face_index = 0
cache/0/embolden = 0.0
cache/0/transform = Transform2D(1, 0, 0, 1, 0, 0)
cache/0/spacing_top = 0
cache/0/spacing_bottom = 0
cache/0/spacing_space = 0
cache/0/spacing_glyph = 0
cache/0/baseline_offset = 0.0
cache/0/16/0/ascent = 17.0
cache/0/16/0/descent = 7.0
cache/0/16/0/underline_position = 1.59375

View File

@ -71,7 +71,6 @@ var substring_sizes: Array[int]
func _ready() -> void:
print_debug("StoryPlayable.gd: %s._ready()" % self.name)
super._ready()
animation_player.play("RESET")
State.settings_changed.connect(func(): story_array = story_array)
skip_control = %SkipControl
if skip_control is SkipControl and not Engine.is_editor_hint():
@ -80,6 +79,7 @@ func _ready() -> void:
# Clunky rebuild...
story_array = story_array
progress = progress
if animation_player.has_animation("RESET"): animation_player.play("RESET")
func _rebuild():
print_debug("StoryPlayable.gd: %s._rebuild()" % self.name)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=17 format=3 uid="uid://mkccbig41bqb"]
[gd_scene load_steps=18 format=3 uid="uid://mkccbig41bqb"]
[ext_resource type="Script" uid="uid://bk618uyhghswx" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"]
[ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="2_x6v75"]
@ -6,6 +6,10 @@
[sub_resource type="PhysicsMaterial" id="10"]
friction = 0.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_x6v75"]
radius = 0.3
height = 1.0
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_hpoj0"]
length = 1.5
@ -616,6 +620,12 @@ physics_material_override = SubResource("10")
can_sleep = false
script = ExtResource("1_0b4mi")
[node name="ShadowCaster" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.54540473, 0)
cast_shadow = 3
gi_mode = 2
mesh = SubResource("CapsuleMesh_x6v75")
[node name="Yaw" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.22534, 0)

View File

@ -10,12 +10,13 @@ config_version=5
[animation]
warnings/check_invalid_track_paths=false
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
[application]
config/name="Frame of Mind"
run/main_scene="uid://fgp3tbah7msy"
run/main_scene="uid://ccdfkvtu6sb36"
config/use_custom_user_dir=true
config/features=PackedStringArray("4.5", "Forward Plus")
boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)