fix: various path and hierarchy issues in youth_room. change: various scripts moved and refactored

This commit is contained in:
tiger tiger tiger 2025-12-19 15:11:31 +01:00
parent fc09bbfae4
commit 956e3bce50
20 changed files with 160 additions and 3557 deletions

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://dsnil1roc3x37"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_hmyim"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_hmyim"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_n54tc"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="5_xi27m"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="6_h63aa"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://b2fqh0xl224jc"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_280pk"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_280pk"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_ji3tv"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_iwhp8"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_iufku"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://bacg6w3wjgrrx"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_86ec2"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_86ec2"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_abtq0"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_pcx8t"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_w4vem"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://r8gjxitlwd1f"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_8utmq"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_8utmq"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_gfeis"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_u0xc1"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_62vlf"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=16 format=3 uid="uid://5dkocippxkwv"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_uxp36"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_uxp36"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_27dlw"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_6qw45"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_pf7gl"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://b8iaixkhsnahi"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_ym0sv"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_ym0sv"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_00crh"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_3iy8l"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_32a0r"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://s48pybgsm5mo"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_d3khy"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_d3khy"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_fe2un"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_uj7tn"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_05o76"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=17 format=3 uid="uid://r1dj1l0k0s2e"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_1pvsj"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_1pvsj"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_5x2mw"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_xe0ue"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="4_apcmj"]

View File

@ -177,17 +177,17 @@ func play_scene(id: int, repeat = false):
is_repeating = repeat
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
match id:
Scenes.id.ADULT_DND: $trans.play_scene()
Scenes.id.ADULT_VOLUNTARY: $trauma.play_scene()
Scenes.id.ADULT_CHRISTMAS: $autism.play_scene()
Scenes.id.ADULT_EATING: $university_eating.play_scene()
Scenes.id.ADULT_UNI: $university_advocacy.play_scene()
Scenes.id.ADULT_DND: $trans.play()
Scenes.id.ADULT_VOLUNTARY: $trauma.play()
Scenes.id.ADULT_CHRISTMAS: $autism.play()
Scenes.id.ADULT_EATING: $university_eating.play()
Scenes.id.ADULT_UNI: $university_advocacy.play()
Scenes.id.ADULT_THERAPY:
if Scenes.is_sequence_unlocked(Scenes.id.ADULT_UNI):
$therapy_uni.play_scene()
$therapy_uni.play()
else:
$therapy_volunteer.play_scene()
Scenes.id.ADULT_BURNOUT: $burnout.play_scene()
$therapy_volunteer.play()
Scenes.id.ADULT_BURNOUT: $burnout.play()
func _on_ini_room():
pass

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=21 format=3 uid="uid://c3l8tm8ku50vt"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_40hhx"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_40hhx"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_bkq30"]
[ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="2_jrxfv"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_o63m7"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=15 format=3 uid="uid://cgwuoc1jfi7w6"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_o2rjr"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_o2rjr"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_xwj2j"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_qgfj8"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="5_ddnfo"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=32 format=3 uid="uid://23bshas7sk6h"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_aby4n"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://logic-scenes/luna/playables/story_playable.gd" id="1_aby4n"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_k4i8e"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_s5qj7"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://ui/skip_control/skip_control.tscn" id="5_0qiyf"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=19 format=3 uid="uid://cj1ccdk0686ke"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_543ki"]
[ext_resource type="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"]
[ext_resource type="ArrayMesh" uid="uid://bhfqffldbvdgq" path="res://base-environments/youth_room/import/youth_special_meshes_comic_book_1.res" id="3_ho85h"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_ayw8a"]

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ func start_room():
func get_ready():
pull_save_state(State.save_game)
card_board.initialise_from_save(save_game)
card_board.board_completed.connect(func():
save_game.is_childhood_board_complete = true
@ -47,7 +47,7 @@ func pull_save_state(save: SaveGame) -> void:
save_game.current_room = id
save_game.board_state = card_board.get_save_dict()
card_board.initialise_from_save(save_game)
Scenes.started_sequences = save_game.mementos_complete
Scenes.completed_sequences = save_game.mementos_complete
@ -66,7 +66,7 @@ func prepare_transition():
func play_chest_animation(_id):
$AnimationPlayer.play("chest_reveal")
$SecondaryAnimation.play("chest_reveal")
$visuals/SecondaryAnimation.play("chest_reveal")
await $AnimationPlayer.animation_finished
Scenes.continue_sequence(self)

View File

@ -21,6 +21,7 @@
[ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="12_qxx2k"]
[ext_resource type="PackedScene" uid="uid://c3l8tm8ku50vt" path="res://base-environments/youth_room/scnees/childhood.tscn" id="12_viwxf"]
[ext_resource type="PackedScene" uid="uid://23bshas7sk6h" path="res://base-environments/youth_room/scnees/jui_jutsu.tscn" id="12_x3dlb"]
[ext_resource type="Script" uid="uid://c3xbkwm4x3es7" path="res://base-environments/youth_room/youth_room_scene_player.gd" id="13_5bsh1"]
[ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="13_lqj71"]
[ext_resource type="PackedScene" uid="uid://cj1ccdk0686ke" path="res://base-environments/youth_room/scnees/voice_training.tscn" id="13_v3447"]
[ext_resource type="Material" uid="uid://cvm8e6vek3bne" path="res://base-environments/youth_room/import/materials/starlight_shader.material" id="17_ea6x8"]
@ -895,87 +896,6 @@ _data = {
&"voice_music": SubResource("Animation_ghmim")
}
[sub_resource type="GDScript" id="GDScript_tfc2r"]
script/source = "extends AnimationPlayer
var has_stage
var is_repeating = false
func _ready() -> void:
Scenes.scene_finished.connect(scene_finished)
# FIXME: this needs to be made prettier.
$draven.finished.connect(on_draeven_done)
$childhood.finished.connect(on_childhood_done)
$JuiJutsu.finished.connect(on_jui_jutsu_done)
$voice_training.finished.connect(on_voice_training_done)
$draven.intro.connect(try_intro)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_DRAEVEN, 1)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_CHILDHOOD, 0)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_VOICE_TRAINING, 1)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_JUI_JUTSU, 0)
func start_soundtrack():
$Moving.play(70)
$Childhood.play(70)
$VoiceTraining.play(70)
func play_scene(id: int, repeat = false):
get_tree().call_group(\"interactables\", \"collapse\")
is_repeating = repeat
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
match id:
Scenes.id.YOUTH_CHILDHOOD:
play(\"childhood_music\")
$childhood.play_scene()
Scenes.id.YOUTH_VOICE_TRAINING:
$voice_training.play_scene()
play(\"voice_music\")
Scenes.id.YOUTH_JUI_JUTSU:
play(\"jui_jutsu_music\")
$JuiJutsu.play_scene()
Scenes.id.YOUTH_DRAEVEN:
play(\"draeven\")
$draven.play_scene()
func on_childhood_done():
Scenes.continue_sequence(self)
$childhood.hide()
func on_voice_training_done():
Scenes.continue_sequence(self)
$\"voice_training\".hide()
func on_jui_jutsu_done():
Scenes.continue_sequence(self)
$JuiJutsu.hide()
if $JuiJutsu.was_skipped:
play(\"intro\")
func on_draeven_done():
Scenes.continue_sequence(self)
await $draven.finished
$draven.hide()
func try_intro():
if $draven.was_skipped:
play(\"intro\")
func scene_finished(id: Scenes.id, _repeat: bool):
match id:
Scenes.id.YOUTH_CHILDHOOD:
play_backwards(\"childhood_music\")
Scenes.id.YOUTH_VOICE_TRAINING:
play_backwards(\"voice_music\")
queue(\"RESET\")
func play(anin_name: StringName = \"\", a: float = -1, b: float = 1, c: bool = false) -> void:
print_debug(\"anim player accessed!\")
super.play(anin_name, a, b, c)
"
[sub_resource type="ArrayMesh" id="ArrayMesh_lag5h"]
_surfaces = [{
"aabb": AABB(-0.9485414, 0.60078305, -1.0850348, 2.8179965, 1.7327347, 2.056098),
@ -1763,101 +1683,101 @@ unique_name_in_owner = true
process_mode = 4
transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925)
[node name="colission" type="Node3D" parent="logic"]
[node name="Collision" type="Node3D" parent="logic"]
[node name="Desk_Colission" type="StaticBody3D" parent="logic/colission"]
[node name="Desk_Colission" type="StaticBody3D" parent="logic/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.500324, 0, 1.36908)
[node name="wardrobe" type="CollisionShape3D" parent="logic/colission/Desk_Colission"]
[node name="wardrobe" type="CollisionShape3D" parent="logic/Collision/Desk_Colission"]
transform = Transform3D(0.998323, 0, -0.0578951, 0, 1, 0, 0.0578951, 0, 0.998323, -0.340775, 1.06708, -1.66491)
shape = SubResource("BoxShape3D_j3mqx")
[node name="desk" type="CollisionShape3D" parent="logic/colission/Desk_Colission"]
[node name="desk" type="CollisionShape3D" parent="logic/Collision/Desk_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0231352, 0.250741, 0.104591)
shape = SubResource("BoxShape3D_ddjvs")
[node name="beanbag" type="CollisionShape3D" parent="logic/colission/Desk_Colission"]
[node name="beanbag" type="CollisionShape3D" parent="logic/Collision/Desk_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.617999, 0.0319539, 0.997871)
shape = SubResource("SphereShape3D_gjlrn")
[node name="Bed_Colission" type="StaticBody3D" parent="logic/colission"]
[node name="Bed_Colission" type="StaticBody3D" parent="logic/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.33596, 0, -0.345267)
[node name="bed" type="CollisionShape3D" parent="logic/colission/Bed_Colission"]
[node name="bed" type="CollisionShape3D" parent="logic/Collision/Bed_Colission"]
transform = Transform3D(0.997568, 0, 0.0697043, 0, 1, 0, -0.0697042, 0, 0.997568, -0.474526, 0.939937, 0.0332472)
shape = SubResource("BoxShape3D_r40dp")
[node name="shelf" type="CollisionShape3D" parent="logic/colission/Bed_Colission"]
[node name="shelf" type="CollisionShape3D" parent="logic/Collision/Bed_Colission"]
transform = Transform3D(0.999866, 0, 0.0163991, 0, 1, 0, -0.016399, 0, 0.999865, -1.30004, 0.523912, 0.0332471)
shape = SubResource("BoxShape3D_qck8u")
[node name="shelf2" type="CollisionShape3D" parent="logic/colission/Bed_Colission"]
[node name="shelf2" type="CollisionShape3D" parent="logic/Collision/Bed_Colission"]
transform = Transform3D(0.999463, 0, 0.0327938, 0, 1, 0, -0.0327936, 0, 0.999461, -1.46453, 0.719302, -0.377773)
shape = SubResource("BoxShape3D_cdjmm")
[node name="beanbag" type="CollisionShape3D" parent="logic/colission/Bed_Colission"]
[node name="beanbag" type="CollisionShape3D" parent="logic/Collision/Bed_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 2.98023e-08, 0, 1, -1.02669, 0.222592, 1.01232)
shape = SubResource("SphereShape3D_srxfv")
[node name="ladder" type="CollisionShape3D" parent="logic/colission/Bed_Colission"]
[node name="ladder" type="CollisionShape3D" parent="logic/Collision/Bed_Colission"]
transform = Transform3D(0.903933, 0.427674, 0, -0.427674, 0.903933, 0, 2.98023e-08, 0, 1, -1.27755, 0.47535, 1.08849)
shape = SubResource("BoxShape3D_16r57")
[node name="seat" type="StaticBody3D" parent="logic/colission"]
[node name="seat" type="StaticBody3D" parent="logic/Collision"]
transform = Transform3D(0.915582, 0, -0.402131, 0, 1, 0, 0.402131, 0, 0.915582, 1.393, 0, -0.762)
[node name="rest" type="CollisionShape3D" parent="logic/colission/seat"]
[node name="rest" type="CollisionShape3D" parent="logic/Collision/seat"]
transform = Transform3D(1, 0, -3.74434e-08, 0, 1, 0, 3.74434e-08, 0, 1, -4.94719e-06, 0.266536, -0.000100613)
shape = SubResource("BoxShape3D_qmnj2")
[node name="seat" type="CollisionShape3D" parent="logic/colission/seat"]
[node name="seat" type="CollisionShape3D" parent="logic/Collision/seat"]
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0.246583, -0.1835, 0.392215)
shape = SubResource("BoxShape3D_qmnj2")
[node name="step" type="CollisionShape3D" parent="logic/colission/seat"]
[node name="step" type="CollisionShape3D" parent="logic/Collision/seat"]
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0.124096, -0.746043, 0.388092)
shape = SubResource("SphereShape3D_4ckrq")
[node name="Room_Colission" type="StaticBody3D" parent="logic/colission"]
[node name="Room_Colission" type="StaticBody3D" parent="logic/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.811571, 0, 0)
[node name="Floor2" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Floor2" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.931684, -0.12195, 0.721855)
shape = SubResource("BoxShape3D_wdkxn")
[node name="Wall1" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall1" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.02419, 1.06708, 2.75985)
shape = SubResource("BoxShape3D_3lwkl")
[node name="Wall3" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall3" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.254488, 1.06708, 3.24245)
shape = SubResource("BoxShape3D_3lwkl")
[node name="Wall4" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall4" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 3.34814, 1.06708, 1.83013)
shape = SubResource("BoxShape3D_3lwkl")
[node name="Wall5" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall5" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 3.93595, 1.06708, -0.147208)
shape = SubResource("BoxShape3D_3lwkl")
[node name="Wall7" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall7" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2.62379, 2.06427, -0.010276)
shape = SubResource("BoxShape3D_3lwkl")
[node name="Wall6" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Wall6" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1011, 1.06708, -1.5887897)
shape = SubResource("BoxShape3D_1nque")
[node name="Pillar" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Pillar" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.27524, 1.07009, 1.26831)
shape = SubResource("BoxShape3D_eq1fk")
[node name="shelf3" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="shelf3" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(0.98956, 0, -0.144121, 0, 1, 0, 0.144121, 0, 0.98956, 2.60628, 0.308069, 1.91136)
shape = SubResource("BoxShape3D_js8wo")
[node name="Crate" type="CollisionShape3D" parent="logic/colission/Room_Colission"]
[node name="Crate" type="CollisionShape3D" parent="logic/Collision/Room_Colission"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.04802, -0.30081803, -0.711172)
shape = SubResource("BoxShape3D_ychlh")
@ -2020,7 +1940,7 @@ libraries = {
&"": SubResource("AnimationLibrary_ilekd")
}
autoplay = "RESET"
script = SubResource("GDScript_tfc2r")
script = ExtResource("13_5bsh1")
[node name="Lisa" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
mix_target = 2
@ -2267,6 +2187,17 @@ render_target_update_mode = 4
[node name="CollectableUi" parent="logic/ComicMemento/UiWrapper/UiSprite/SubViewport" instance=ExtResource("25_ghmim")]
scene = 2
[node name="Frame" type="Sprite3D" parent="logic/ComicMemento/UiWrapper"]
transform = Transform3D(0.7045712, 0, 0, 0, 0.70457095, 0, 0, 0, 0.7045712, 0, -1.51, -1.155)
visibility_range_end = 0.6
visibility_range_end_margin = 0.3
visibility_range_fade_mode = 1
modulate = Color(1.8247963, 1.8247963, 1.8247963, 1)
no_depth_test = true
texture = ExtResource("24_ghmim")
region_enabled = true
region_rect = Rect2(735.5, 0, 995.5, 1024)
[node name="HoverDetect" type="CollisionShape3D" parent="logic/ComicMemento"]
transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0)
shape = SubResource("CapsuleShape3D_72g2i")
@ -2427,7 +2358,7 @@ autoplay = true
panning_strength = 0.2
bus = &"outside-rain"
[node name="visuals" type="Node3D" parent="."]
[node name="visuals" parent="." instance=ExtResource("30_dqyng")]
[node name="Shadow" type="CSGCombiner3D" parent="visuals"]
cast_shadow = 3
@ -2472,7 +2403,7 @@ shadow_enabled = true
shadow_caster_mask = 4293918721
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"]
transform = Transform3D(0.82167375, 0.44718656, -0.3533773, -0.4137957, 0.8944131, 0.1696928, 0.39195034, 0.0067938757, 0.9199609, 0.866179, 2.88055, 4.51936)
transform = Transform3D(0.82167387, 0.44718724, -0.35337743, -0.41379577, 0.8944145, 0.16969286, 0.3919504, 0.006793886, 0.9199613, 0.866179, 2.88055, 4.51936)
visible = false
light_color = Color(0.81982, 0.935491, 0.980381, 1)
light_energy = 20.0
@ -2570,8 +2501,6 @@ spot_angle = 137.58
spot_angle_attenuation = 1.6358016
script = SubResource("GDScript_yn0pl")
[node name="visuals" parent="visuals" instance=ExtResource("30_dqyng")]
[node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["scene_actors"]]
environment = SubResource("Environment_pllnm")
camera_attributes = SubResource("CameraAttributesPractical_26mp0")

View File

@ -0,0 +1,78 @@
extends AnimationPlayer
var has_stage
var is_repeating = false
func _ready() -> void:
Scenes.scene_finished.connect(scene_finished)
# FIXME: this needs to be made prettier.
$draven.finished.connect(on_draeven_done)
$childhood.finished.connect(on_childhood_done)
$JuiJutsu.finished.connect(on_jui_jutsu_done)
$voice_training.finished.connect(on_voice_training_done)
$draven.intro.connect(try_intro)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_DRAEVEN, 1)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_CHILDHOOD, 0)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_VOICE_TRAINING, 1)
Scenes.sign_up_for_sequence(play_scene, Scenes.id.YOUTH_JUI_JUTSU, 0)
func start_soundtrack():
$Moving.play(70)
$Childhood.play(70)
$VoiceTraining.play(70)
func play_scene(id: int, repeat = false):
get_tree().call_group("interactables", "collapse")
is_repeating = repeat
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
match id:
Scenes.id.YOUTH_CHILDHOOD:
play("childhood_music")
$childhood.play()
Scenes.id.YOUTH_VOICE_TRAINING:
$voice_training.play()
play("voice_music")
Scenes.id.YOUTH_JUI_JUTSU:
play("jui_jutsu_music")
$JuiJutsu.play()
Scenes.id.YOUTH_DRAEVEN:
play("draeven")
$draven.play()
func on_childhood_done():
Scenes.continue_sequence(self)
$childhood.hide()
func on_voice_training_done():
Scenes.continue_sequence(self)
$"voice_training".hide()
func on_jui_jutsu_done():
Scenes.continue_sequence(self)
$JuiJutsu.hide()
if $JuiJutsu.was_skipped:
play("intro")
func on_draeven_done():
Scenes.continue_sequence(self)
await $draven.finished
$draven.hide()
func try_intro():
if $draven.was_skipped:
play("intro")
func scene_finished(id: Scenes.id, _repeat: bool):
match id:
Scenes.id.YOUTH_CHILDHOOD:
play_backwards("childhood_music")
Scenes.id.YOUTH_VOICE_TRAINING:
play_backwards("voice_music")
queue("RESET")
func play(anin_name: StringName = "", a: float = -1, b: float = 1, c: bool = false) -> void:
print_debug("anim player accessed!")
super.play(anin_name, a, b, c)

View File

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

View File

@ -1,4 +1,5 @@
extends CenterContainer
class_name StoryPlayable
signal text_finished
signal finished
@ -65,6 +66,7 @@ var all_text_revealed: bool = false:
var substring_sizes: Array[int]
func _ready() -> void:
print_debug("StoryPlayable.gd: %s._ready()" % self.name)
hide()
State.settings_changed.connect(func(): story_array = story_array)
skip_control = %SkipControl
@ -72,11 +74,12 @@ func _ready() -> void:
skip_control.skip.connect(skip_text)
if get_tree().root.get_child(-1) == self:
play_scene()
play()
story_array = story_array
progress = progress
func _rebuild():
print_debug("StoryPlayable.gd: %s._rebuild()" % self.name)
if is_node_ready():
substring_sizes = []
var p: int = 0
@ -114,7 +117,8 @@ func try_scroll():
##tween.set_trans()
scroll_target = forward_target
func play_scene():
func play():
print_debug("StoryPlayable.gd: %s.play()" % self.name)
scroll_target = 0
# FIXME: find out why this needs to be set to prevent scenes from being fully revealed
@ -155,23 +159,25 @@ func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
scroll_target += 40
if not all_text_revealed:
if not all_text_revealed:
just_revealed_text = true
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
scroll_target -= 40
if not all_text_revealed:
if not all_text_revealed:
just_revealed_text = true
if just_revealed_text and animation_complete:
if just_revealed_text and animation_complete:
all_text_revealed = true
var scroll_target: float = 0:
set(value):
scroll_target = clampf(value, 0, label.size.y - scroll_container.size.y+10)
func _process(delta: float) -> void:
# We no longer run these as tools ~~tiger
#func _process(delta: float) -> void:
# FIXME: maybe change this to has stage?
if visible and not Engine.is_editor_hint():
if scroll_container.scroll_vertical != scroll_target:
scroll_container.scroll_vertical += int((scroll_target-scroll_container.scroll_vertical)*delta*6)
# if visible and not Engine.is_editor_hint():
# if scroll_container.scroll_vertical != scroll_target:
# scroll_container.scroll_vertical += int((scroll_target-scroll_container.scroll_vertical)*delta*6)
var intro_triggered:= false
func trigger_intro():
@ -179,7 +185,7 @@ func trigger_intro():
intro.emit()
intro_triggered = true
var was_skipped = false
var was_skipped: bool = false
func skip_text():
if not all_text_revealed:
all_text_revealed = true
@ -193,6 +199,7 @@ func skip_text():
_emit_thunder()
func _on_text_finished():
print_debug("StoryPlayable.gd: %s._on_text_finished()" % self.name)
if not animation_complete:
text_finished.emit()