lots of tutorial fixed
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 20s
Create tag and build when new code gets to main / Export (push) Successful in 7m39s

This commit is contained in:
2025-11-10 14:55:16 +01:00
parent c895dfe9a0
commit 6051588f24
12 changed files with 485 additions and 256 deletions

View File

@@ -11,6 +11,8 @@ extends Control
process_mode = PROCESS_MODE_INHERIT
@export var makes_mouse_visible : bool = true
signal menu_closing
var _initial_pause_state : bool = false
var _initial_focus_mode : FocusMode = FOCUS_ALL
var _initial_mouse_mode : Input.MouseMode
@@ -18,6 +20,7 @@ var _initial_focus_control
var _scene_tree : SceneTree
func close() -> void:
menu_closing.emit()
_scene_tree.paused = _initial_pause_state
Input.set_mouse_mode(_initial_mouse_mode)
if is_instance_valid(_initial_focus_control) and _initial_focus_control.is_inside_tree():

View File

@@ -4,6 +4,7 @@ extends Node
## Node for opening a pause menu when detecting a 'ui_cancel' event.
@export var pause_menu_packed : PackedScene
@export var focused_viewport : Viewport
@export var player : CharacterBody3D
@export_group("Inputs")
@export var base_mode:GUIDEMappingContext
@@ -19,6 +20,9 @@ func on_input_pause():
focused_viewport = get_viewport()
var _initial_focus_control = focused_viewport.gui_get_focus_owner()
var current_menu = pause_menu_packed.instantiate()
current_menu.menu_closing.connect(player.LoadSettings)
get_tree().current_scene.call_deferred("add_child", current_menu)
await current_menu.tree_exited
if is_inside_tree() and _initial_focus_control:

Binary file not shown.

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=286 format=3 uid="uid://dip6cce5gtwi8"]
[gd_scene load_steps=292 format=3 uid="uid://dip6cce5gtwi8"]
[ext_resource type="PackedScene" uid="uid://2huty67y1g5w" path="res://assets/greyboxing/Guard tower.glb" id="1_42k4c"]
[ext_resource type="Script" uid="uid://do8vihuwc4iib" path="res://tools/generate_collisions.gd" id="2_v6lxe"]
@@ -846,6 +846,24 @@ data = PackedVector3Array(0, -1, -1, 0.1951, 1, -0.9808, 0.1951, -1, -0.9808, 0,
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_71ic5"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_km2kb"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_3pham"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qj6cm"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ojacj"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_407rx"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_feh6m"]
data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, -1, 1, 1)
[node name="Guard tower" instance=ExtResource("1_42k4c")]
script = ExtResource("2_v6lxe")
collision_layer = 3
@@ -2825,6 +2843,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_198/Cube_198_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_j6rdm")
[node name="Cube_199" parent="." index="200"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_199_col" type="StaticBody3D" parent="Cube_199" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2832,6 +2853,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_199/Cube_199_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_tisje")
[node name="Cube_200" parent="." index="201"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_200_col" type="StaticBody3D" parent="Cube_200" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2839,6 +2863,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_200/Cube_200_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_jbf0o")
[node name="Cube_201" parent="." index="202"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_201_col" type="StaticBody3D" parent="Cube_201" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2846,6 +2873,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_201/Cube_201_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ja2b6")
[node name="Cube_202" parent="." index="203"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_202_col" type="StaticBody3D" parent="Cube_202" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2853,6 +2883,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_202/Cube_202_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_uvn8w")
[node name="Cube_203" parent="." index="204"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_203_col" type="StaticBody3D" parent="Cube_203" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2860,6 +2893,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_203/Cube_203_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_o174y")
[node name="Cube_204" parent="." index="205"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_204_col" type="StaticBody3D" parent="Cube_204" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2867,6 +2903,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_204/Cube_204_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_2xrvc")
[node name="Cube_205" parent="." index="206"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_205_col" type="StaticBody3D" parent="Cube_205" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2874,6 +2913,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_205/Cube_205_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_3q82a")
[node name="Cube_206" parent="." index="207"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_206_col" type="StaticBody3D" parent="Cube_206" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2881,6 +2923,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_206/Cube_206_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_jjfjy")
[node name="Cube_207" parent="." index="208"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_207_col" type="StaticBody3D" parent="Cube_207" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2888,6 +2933,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_207/Cube_207_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_na4d7")
[node name="Cube_208" parent="." index="209"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_208_col" type="StaticBody3D" parent="Cube_208" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2895,6 +2943,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_208/Cube_208_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_o4hf7")
[node name="Cube_209" parent="." index="210"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_209_col" type="StaticBody3D" parent="Cube_209" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2902,6 +2953,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_209/Cube_209_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_vm6m2")
[node name="Cube_210" parent="." index="211"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_210_col" type="StaticBody3D" parent="Cube_210" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2909,6 +2963,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_210/Cube_210_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_wit6h")
[node name="Cube_211" parent="." index="212"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_211_col" type="StaticBody3D" parent="Cube_211" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2916,6 +2973,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_211/Cube_211_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_hoel6")
[node name="Cube_212" parent="." index="213"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_212_col" type="StaticBody3D" parent="Cube_212" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2923,6 +2983,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_212/Cube_212_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ntaer")
[node name="Cube_213" parent="." index="214"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_213_col" type="StaticBody3D" parent="Cube_213" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2930,6 +2993,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_213/Cube_213_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_rnrvv")
[node name="Cube_214" parent="." index="215"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_214_col" type="StaticBody3D" parent="Cube_214" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2937,6 +3003,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_214/Cube_214_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_mcjed")
[node name="Cube_215" parent="." index="216"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_215_col" type="StaticBody3D" parent="Cube_215" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2944,6 +3013,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_215/Cube_215_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_a4brb")
[node name="Cube_216" parent="." index="217"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_216_col" type="StaticBody3D" parent="Cube_216" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2951,6 +3023,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_216/Cube_216_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ihu35")
[node name="Cube_218" parent="." index="218"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_218_col" type="StaticBody3D" parent="Cube_218" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2958,6 +3033,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_218/Cube_218_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_3fs2m")
[node name="Cube_219" parent="." index="219"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_219_col" type="StaticBody3D" parent="Cube_219" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2965,6 +3043,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_219/Cube_219_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ca8jc")
[node name="Cube_220" parent="." index="220"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_220_col" type="StaticBody3D" parent="Cube_220" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2972,6 +3053,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_220/Cube_220_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_jcjs1")
[node name="Cube_221" parent="." index="221"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_221_col" type="StaticBody3D" parent="Cube_221" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2979,6 +3063,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_221/Cube_221_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_dyajt")
[node name="Cube_217" parent="." index="222"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_217_col" type="StaticBody3D" parent="Cube_217" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2986,6 +3073,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_217/Cube_217_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_4lqvp")
[node name="Cube_222" parent="." index="223"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_222_col" type="StaticBody3D" parent="Cube_222" index="0"]
collision_layer = 3
collision_mask = 5
@@ -2993,6 +3083,10 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_222/Cube_222_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_bmhlm")
[node name="Cube_223" parent="." index="224"]
material_override = ExtResource("3_xjmq6")
cast_shadow = 2
[node name="Cube_223_col" type="StaticBody3D" parent="Cube_223" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3000,6 +3094,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_223/Cube_223_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ql3pa")
[node name="Cube_224" parent="." index="225"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_224_col" type="StaticBody3D" parent="Cube_224" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3007,6 +3104,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_224/Cube_224_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_u7c5v")
[node name="Cube_225" parent="." index="226"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_225_col" type="StaticBody3D" parent="Cube_225" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3014,6 +3114,10 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_225/Cube_225_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_hvwfx")
[node name="Cube_226" parent="." index="227"]
material_override = ExtResource("3_xjmq6")
cast_shadow = 2
[node name="Cube_226_col" type="StaticBody3D" parent="Cube_226" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3021,6 +3125,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_226/Cube_226_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_rrouw")
[node name="Cube_227" parent="." index="228"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_227_col" type="StaticBody3D" parent="Cube_227" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3028,6 +3135,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_227/Cube_227_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_h5aax")
[node name="Cube_228" parent="." index="229"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_228_col" type="StaticBody3D" parent="Cube_228" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3035,6 +3145,10 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_228/Cube_228_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_tc5np")
[node name="Cube_229" parent="." index="230"]
material_override = ExtResource("3_xjmq6")
cast_shadow = 2
[node name="Cube_229_col" type="StaticBody3D" parent="Cube_229" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3042,6 +3156,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_229/Cube_229_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_cdwgp")
[node name="Cube_230" parent="." index="231"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_230_col" type="StaticBody3D" parent="Cube_230" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3049,6 +3166,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_230/Cube_230_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_2x4mk")
[node name="Cube_231" parent="." index="232"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_231_col" type="StaticBody3D" parent="Cube_231" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3056,6 +3176,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_231/Cube_231_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_mdk7b")
[node name="Cube_232" parent="." index="233"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_232_col" type="StaticBody3D" parent="Cube_232" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3063,6 +3186,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_232/Cube_232_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_aer1s")
[node name="Cube_233" parent="." index="234"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_233_col" type="StaticBody3D" parent="Cube_233" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3070,6 +3196,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_233/Cube_233_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_utk6k")
[node name="Cube_235" parent="." index="235"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_235_col2" type="StaticBody3D" parent="Cube_235" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3077,6 +3206,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_235/Cube_235_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_luap4")
[node name="Cube_237" parent="." index="236"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_237_col2" type="StaticBody3D" parent="Cube_237" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3084,6 +3216,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_237/Cube_237_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_4vbsu")
[node name="Cube_234" parent="." index="237"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_234_col2" type="StaticBody3D" parent="Cube_234" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3091,6 +3226,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_234/Cube_234_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_dy4v6")
[node name="Cube_236" parent="." index="238"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_236_col2" type="StaticBody3D" parent="Cube_236" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3098,6 +3236,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_236/Cube_236_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_w0e4s")
[node name="Cube_238" parent="." index="239"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_238_col2" type="StaticBody3D" parent="Cube_238" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3119,6 +3260,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_240/Cube_240_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_sq760")
[node name="Cube_241" parent="." index="242"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_241_col2" type="StaticBody3D" parent="Cube_241" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3126,6 +3270,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_241/Cube_241_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_hp0ng")
[node name="Cube_242" parent="." index="243"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_242_col" type="StaticBody3D" parent="Cube_242" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3133,6 +3280,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_242/Cube_242_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_nay3c")
[node name="Cube_243" parent="." index="244"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_243_col" type="StaticBody3D" parent="Cube_243" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3140,6 +3290,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_243/Cube_243_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ica5n")
[node name="Cube_244" parent="." index="245"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_244_col" type="StaticBody3D" parent="Cube_244" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3147,6 +3300,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_244/Cube_244_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_0q73m")
[node name="Cube_245" parent="." index="246"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_245_col" type="StaticBody3D" parent="Cube_245" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3154,6 +3310,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_245/Cube_245_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_qdctm")
[node name="Cube_246" parent="." index="247"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_246_col" type="StaticBody3D" parent="Cube_246" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3161,6 +3320,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_246/Cube_246_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_unbo4")
[node name="Cube_247" parent="." index="248"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_247_col" type="StaticBody3D" parent="Cube_247" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3168,6 +3330,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_247/Cube_247_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_oj7fa")
[node name="Cube_248" parent="." index="249"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_248_col" type="StaticBody3D" parent="Cube_248" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3175,6 +3340,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_248/Cube_248_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_15qrl")
[node name="Cube_249" parent="." index="250"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_249_col" type="StaticBody3D" parent="Cube_249" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3182,6 +3350,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_249/Cube_249_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_u005s")
[node name="Cube_250" parent="." index="251"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_250_col" type="StaticBody3D" parent="Cube_250" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3189,6 +3360,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_250/Cube_250_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ad03g")
[node name="Cube_251" parent="." index="252"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_251_col" type="StaticBody3D" parent="Cube_251" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3196,6 +3370,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_251/Cube_251_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_a1kuf")
[node name="Cube_252" parent="." index="253"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_252_col" type="StaticBody3D" parent="Cube_252" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3203,6 +3380,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_252/Cube_252_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_dburb")
[node name="Cube_253" parent="." index="254"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_253_col" type="StaticBody3D" parent="Cube_253" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3210,6 +3390,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_253/Cube_253_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ch54j")
[node name="Cube_254" parent="." index="255"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_254_col" type="StaticBody3D" parent="Cube_254" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3217,6 +3400,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_254/Cube_254_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ls8wx")
[node name="Cube_255" parent="." index="256"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_255_col" type="StaticBody3D" parent="Cube_255" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3224,6 +3410,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_255/Cube_255_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_bsjv6")
[node name="Cube_256" parent="." index="257"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_256_col" type="StaticBody3D" parent="Cube_256" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3231,6 +3420,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_256/Cube_256_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_qmvyf")
[node name="Cube_257" parent="." index="258"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_257_col" type="StaticBody3D" parent="Cube_257" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3238,6 +3430,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_257/Cube_257_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_qwi3q")
[node name="Cube_258" parent="." index="259"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_258_col" type="StaticBody3D" parent="Cube_258" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3245,6 +3440,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_258/Cube_258_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_xwxqi")
[node name="Cube_259" parent="." index="260"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_259_col" type="StaticBody3D" parent="Cube_259" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3252,6 +3450,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_259/Cube_259_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ge4sn")
[node name="Cube_260" parent="." index="261"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_260_col" type="StaticBody3D" parent="Cube_260" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3259,6 +3460,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_260/Cube_260_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_jnhds")
[node name="Cube_262" parent="." index="262"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_262_col" type="StaticBody3D" parent="Cube_262" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3266,6 +3470,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_262/Cube_262_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_687to")
[node name="Cube_263" parent="." index="263"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_263_col" type="StaticBody3D" parent="Cube_263" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3280,6 +3487,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_264/Cube_264_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ukbj5")
[node name="Cube_265" parent="." index="265"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_265_col" type="StaticBody3D" parent="Cube_265" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3287,6 +3497,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_265/Cube_265_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_sf261")
[node name="Cube_266" parent="." index="266"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_266_col" type="StaticBody3D" parent="Cube_266" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3294,6 +3507,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_266/Cube_266_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_7nwml")
[node name="Cube_267" parent="." index="267"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_267_col" type="StaticBody3D" parent="Cube_267" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3301,6 +3517,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_267/Cube_267_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_0lwqd")
[node name="Cube_268" parent="." index="268"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_268_col" type="StaticBody3D" parent="Cube_268" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3308,6 +3527,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_268/Cube_268_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_1epph")
[node name="Cube_269" parent="." index="269"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_269_col" type="StaticBody3D" parent="Cube_269" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3315,6 +3537,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_269/Cube_269_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_o2en4")
[node name="Cube_270" parent="." index="270"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_270_col" type="StaticBody3D" parent="Cube_270" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3322,6 +3547,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_270/Cube_270_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_nuj0k")
[node name="Cube_271" parent="." index="271"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_271_col" type="StaticBody3D" parent="Cube_271" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3329,6 +3557,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_271/Cube_271_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_60b56")
[node name="Cube_272" parent="." index="272"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_272_col" type="StaticBody3D" parent="Cube_272" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3336,6 +3567,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_272/Cube_272_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_50eql")
[node name="Cube_273" parent="." index="273"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_273_col" type="StaticBody3D" parent="Cube_273" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3343,6 +3577,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_273/Cube_273_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ohrpm")
[node name="Cube_274" parent="." index="274"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_274_col" type="StaticBody3D" parent="Cube_274" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3350,6 +3587,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_274/Cube_274_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_m4s8e")
[node name="Cube_275" parent="." index="275"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_275_col" type="StaticBody3D" parent="Cube_275" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3357,6 +3597,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_275/Cube_275_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_uous6")
[node name="Cube_276" parent="." index="276"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_276_col" type="StaticBody3D" parent="Cube_276" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3364,6 +3607,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_276/Cube_276_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_o0jxx")
[node name="Cube_277" parent="." index="277"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_277_col" type="StaticBody3D" parent="Cube_277" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3371,6 +3617,9 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_277/Cube_277_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ild1s")
[node name="Cylinder" parent="." index="278"]
material_override = ExtResource("3_xjmq6")
[node name="Cylinder_col" type="StaticBody3D" parent="Cylinder" index="0"]
collision_layer = 3
collision_mask = 5
@@ -3378,9 +3627,72 @@ collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cylinder/Cylinder_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_6i64o")
[node name="Cube_278" parent="." index="279"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_278_col" type="StaticBody3D" parent="Cube_278" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_278/Cube_278_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_71ic5")
[node name="Cube_261" parent="." index="280"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_261_col" type="StaticBody3D" parent="Cube_261" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_261/Cube_261_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_km2kb")
[node name="Cube_280" parent="." index="281"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_280_col" type="StaticBody3D" parent="Cube_280" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_280/Cube_280_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_3pham")
[node name="Cube_281" parent="." index="282"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_281_col" type="StaticBody3D" parent="Cube_281" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_281/Cube_281_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_qj6cm")
[node name="Cube_282" parent="." index="283"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_282_col" type="StaticBody3D" parent="Cube_282" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_282/Cube_282_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_ojacj")
[node name="Cube_283" parent="." index="284"]
material_override = ExtResource("4_7r3kr")
[node name="Cube_283_col" type="StaticBody3D" parent="Cube_283" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_283/Cube_283_col" index="0"]
shape = SubResource("ConcavePolygonShape3D_407rx")
[node name="Cube_284" parent="." index="285"]
material_override = ExtResource("3_xjmq6")
[node name="Cube_284_col2" type="StaticBody3D" parent="Cube_284" index="0"]
collision_layer = 3
collision_mask = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cube_284/Cube_284_col2" index="0"]
shape = SubResource("ConcavePolygonShape3D_feh6m")

View File

@@ -7,18 +7,32 @@ var lift_already_used : bool = false
@onready var button: MeshInstance3D = $Cylinder_001
var player : CharacterBody3D
func finished_climbing() -> void:
player.SetAllowedInputsAll()
func start_climbing() -> void:
var elevator_tween = get_tree().create_tween()
elevator_tween.set_ease(Tween.EASE_IN_OUT)
elevator_tween.set_trans(Tween.TRANS_CUBIC)
elevator_tween.tween_property(self, "global_position", end_location, lift_time)
var player_start_location = player.global_position
var height_difference = end_location - global_position
var elevator_tween = get_tree().create_tween()
elevator_tween.set_parallel(true)
elevator_tween.set_ease(Tween.EASE_IN_OUT)
elevator_tween.set_trans(Tween.TRANS_CUBIC)
elevator_tween.tween_property(self, "global_position", end_location, lift_time)
elevator_tween.tween_property(player, "global_position", player_start_location + height_difference, lift_time)
elevator_tween.tween_callback(finished_climbing)
func _on_area_3d_body_entered(body: Node3D) -> void:
if lift_already_used:
return
if is_instance_of(body, CharacterBody3D):
player = body
player.SetAllowedInputsMoveCamera()
lift_already_used = true
var button_tween = get_tree().create_tween()

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=44 format=3 uid="uid://dmkw8cmalm5k"]
[gd_scene load_steps=41 format=3 uid="uid://dmkw8cmalm5k"]
[ext_resource type="PackedScene" uid="uid://bei4nhkf8lwdo" path="res://player_controller/PlayerController.tscn" id="1_2vsi6"]
[ext_resource type="Texture2D" uid="uid://ca4kkq3w8cd4n" path="res://assets/sky/sky_15_2k.png" id="2_ruo5i"]
@@ -23,7 +23,6 @@
[ext_resource type="PackedScene" uid="uid://kktuyhbd5xgc" path="res://menus/scenes/overlaid_menus/tuto_got_sword.tscn" id="17_t0d86"]
[ext_resource type="Texture2D" uid="uid://cjh5cnvdbq5ku" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_b_outline.svg" id="19_efsse"]
[ext_resource type="Texture2D" uid="uid://nrhxjdpuje3f" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lt_outline.svg" id="20_crf87"]
[ext_resource type="Texture2D" uid="uid://bfkj4neu0m0rm" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rt_outline.svg" id="21_rmfv1"]
[ext_resource type="Texture2D" uid="uid://dyjvbsvbriii4" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rb_outline.svg" id="23_p287n"]
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_feb1n"]
@@ -42,6 +41,7 @@ ssao_enabled = true
ssil_enabled = true
sdfgi_enabled = true
sdfgi_use_occlusion = true
glow_enabled = true
fog_enabled = true
fog_light_color = Color(0.9955967, 0.83634025, 0.69151855, 1)
fog_sun_scatter = 0.5
@@ -50,6 +50,7 @@ fog_sky_affect = 0.184
volumetric_fog_density = 0.004
volumetric_fog_emission = Color(1, 1, 1, 1)
volumetric_fog_anisotropy = 0.6
adjustment_enabled = true
[sub_resource type="BoxShape3D" id="BoxShape3D_t0d86"]
size = Vector3(14, 15.5, 26)
@@ -57,11 +58,11 @@ size = Vector3(14, 15.5, 26)
[sub_resource type="BoxShape3D" id="BoxShape3D_p287n"]
size = Vector3(8.5, 16.5, 11.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_qwuk2"]
size = Vector3(8.5, 16.5, 8)
[sub_resource type="BoxShape3D" id="BoxShape3D_5hbxb"]
size = Vector3(8, 13.5, 10)
[sub_resource type="BoxShape3D" id="BoxShape3D_efsse"]
size = Vector3(12, 18, 8)
[sub_resource type="BoxShape3D" id="BoxShape3D_6gj1x"]
size = Vector3(8, 13.5, 11.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_x7fl1"]
size = Vector3(8.5, 38.5, 46.5)
@@ -69,18 +70,12 @@ size = Vector3(8.5, 38.5, 46.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_3wccx"]
size = Vector3(12, 11.5, 5)
[sub_resource type="BoxShape3D" id="BoxShape3D_nrosh"]
size = Vector3(8, 16.5, 25.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_hmdts"]
size = Vector3(12, 13, 7)
[sub_resource type="BoxShape3D" id="BoxShape3D_lnjrw"]
size = Vector3(14, 15.5, 13.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_lgco8"]
size = Vector3(12, 14.5, 11)
[sub_resource type="BoxShape3D" id="BoxShape3D_51ivn"]
size = Vector3(12, 14.5, 11)
[sub_resource type="BoxShape3D" id="BoxShape3D_3w3wd"]
size = Vector3(13, 16.5, 11.5)
@@ -90,18 +85,18 @@ size = Vector3(11.5, 9, 4.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_pxspk"]
size = Vector3(11.5, 9, 4.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_5hbxb"]
size = Vector3(9.5, 2, 5.5)
[sub_resource type="LabelSettings" id="LabelSettings_2k3fr"]
font_size = 30
[sub_resource type="BoxMesh" id="BoxMesh_p287n"]
[node name="Main" type="Node3D"]
[node name="Player" parent="." node_paths=PackedStringArray("TutorialWeaponTarget") instance=ExtResource("1_2vsi6")]
transform = Transform3D(0.054514527, 0, -0.9985129, 0, 1, 0, 0.9985129, 0, 0.054514527, -1.2857323, -132.74933, 116.15933)
transform = Transform3D(0.054514527, 0, -0.9985129, 0, 1, 0, 0.9985129, 0, 0.054514527, -0.17818737, -132.74933, 118.101845)
collision_layer = 17
TutorialWeaponTarget = NodePath("../PlacedTutorialWeapon/WeaponLocationTarget")
AccelerationAir = 1.5
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_1bvp3")
@@ -131,9 +126,10 @@ transform = Transform3D(0.09033705, 0, 0.99591124, 0, 1, 0, -0.99591124, 0, 0.09
[node name="Water" parent="." instance=ExtResource("12_i2xii")]
transform = Transform3D(10000, 0, 0, 0, 1, 0, 0, 0, 10000, 0, 4.03932, -186.25941)
[node name="PauseMenuController" type="Node" parent="."]
[node name="PauseMenuController" type="Node" parent="." node_paths=PackedStringArray("player")]
script = ExtResource("7_ukfuy")
pause_menu_packed = ExtResource("8_wctvs")
player = NodePath("../Player")
base_mode = ExtResource("9_eca4n")
pause = ExtResource("10_0ari0")
@@ -143,7 +139,7 @@ stream = ExtResource("10_eca4n")
[node name="Lift" parent="." instance=ExtResource("13_eca4n")]
transform = Transform3D(0.9961947, 0, -0.08715573, 0, 1, 0, 0.08715573, 0, 0.9961947, -4.593, 1.618, 0.583)
end_location = Vector3(-4.593, 116.11, 0.583)
lift_time = 15.0
lift_time = 8.0
[node name="PlacedTutorialWeapon" type="MeshInstance3D" parent="."]
transform = Transform3D(-2, 3.019916e-07, 0, -3.019916e-07, -2, 0, 0, 0, 2, -17.904, -79.265, 145.317)
@@ -178,23 +174,25 @@ collision_mask = 16
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 0.19611359, 7, -2.241436)
shape = SubResource("BoxShape3D_p287n")
[node name="TriggerTutoJump" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, 3.1977234, 0, -49.399136)
collision_layer = 0
collision_mask = 16
[node name="TutoJump" parent="TutoTriggers" instance=ExtResource("16_qwuk2")]
transform = Transform3D(0.14133328, 0, 0.98996216, 0, 1, 0, -0.98996216, 0, 0.14133328, -0.32653046, 1.2493286, -50.374645)
first_input_texture = ExtResource("16_2k3fr")
second_input_texture = ExtResource("16_2k3fr")
tuto_text = "Double jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TriggerTutoJump"]
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, -0.90906525, 6.5, -1.0833435)
shape = SubResource("BoxShape3D_qwuk2")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TutoJump"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.49998856, 6.25, 3.499977)
shape = SubResource("BoxShape3D_5hbxb")
[node name="TriggerTutoDoubleJump" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, 23.476433, 0, -44.786793)
collision_layer = 0
collision_mask = 16
[node name="TutoDash" parent="TutoTriggers" instance=ExtResource("16_qwuk2")]
transform = Transform3D(0.14133328, 0, 0.98996216, 0, 1, 0, -0.98996216, 0, 0.14133328, 19.967693, 1.2493286, -47.47731)
first_input_texture = ExtResource("16_crf87")
second_input_texture = ExtResource("19_efsse")
tuto_text = "Dash"
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TriggerTutoDoubleJump"]
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, -2.0671844, 5.75, -2.1884613)
shape = SubResource("BoxShape3D_efsse")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TutoDash"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.49999237, 6.25, 4.2500153)
shape = SubResource("BoxShape3D_6gj1x")
[node name="TriggerTutoWallJump" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, 38.60766, 0, -28.437609)
@@ -214,14 +212,16 @@ collision_mask = 16
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 2.3256226, 21.75, 4.9715767)
shape = SubResource("BoxShape3D_3wccx")
[node name="TriggerTutoDash" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, 28.393105, 27.5, 21.07917)
collision_layer = 0
collision_mask = 16
[node name="TutoDash2" parent="TutoTriggers" instance=ExtResource("16_qwuk2")]
transform = Transform3D(0.14133325, 0, 0.98996216, 0, 1, 0, -0.98996216, 0, 0.14133325, 28.885735, 27.749329, 25.360323)
first_input_texture = ExtResource("16_crf87")
second_input_texture = ExtResource("19_efsse")
complex_input_text = "in air"
tuto_text = "Dash"
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TriggerTutoDash"]
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 1.0587616, 7.5, 5.1117268)
shape = SubResource("BoxShape3D_nrosh")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TutoDash2"]
transform = Transform3D(1.0000031, 0, -4.917383e-07, 0, 1, 0, 4.917383e-07, 0, 1.0000031, 5.500023, 5, 0)
shape = SubResource("BoxShape3D_hmdts")
[node name="TriggerTutoWeaponThrow" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, 4.428787, 58, 19.770819)
@@ -232,24 +232,6 @@ collision_mask = 16
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 4.4208603, 7, -4.632329)
shape = SubResource("BoxShape3D_lnjrw")
[node name="TriggerTutoEmpoweredDash" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, -25.417572, 58, 16.138357)
collision_layer = 0
collision_mask = 16
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TriggerTutoEmpoweredDash"]
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 3.4464645, 6.5, -4.9685373)
shape = SubResource("BoxShape3D_lgco8")
[node name="TriggerTutoEmpoweredJump" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, -59.648212, 58, 10.263556)
collision_layer = 0
collision_mask = 16
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TriggerTutoEmpoweredJump"]
transform = Transform3D(0.9961947, 0, -0.08715595, 0, 1, 0, 0.08715595, 0, 0.9961947, 3.4464645, 6.5, -4.9685373)
shape = SubResource("BoxShape3D_51ivn")
[node name="TriggerTutoEnjoy" type="Area3D" parent="TutoTriggers"]
transform = Transform3D(0.9961947, 0, -0.087155744, 0, 1, 0, 0.087155744, 0, 0.9961947, -120.81145, 214.5, 2.417603)
collision_layer = 0
@@ -277,16 +259,6 @@ collision_mask = 16
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7500105, 4, 0.7499695)
shape = SubResource("BoxShape3D_pxspk")
[node name="TutoTrigger" parent="TutoTriggers" instance=ExtResource("16_qwuk2")]
transform = Transform3D(0.054514553, 0, 0.99851304, 0, 1, 0, -0.99851304, 0, 0.054514553, -9.365448, -0.7506714, -14.818321)
first_input_texture = ExtResource("16_2k3fr")
complex_input_text = "while on wall"
tuto_text = "Jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="TutoTriggers/TutoTrigger"]
transform = Transform3D(0.9848077, 0, -0.17364818, 0, 1, 0, 0.17364818, 0, 0.9848077, 1.8592949, 0.5, 2.2158203)
shape = SubResource("BoxShape3D_5hbxb")
[node name="TutorialController" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
@@ -368,49 +340,6 @@ layout_mode = 2
text = "Mantle up"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoJump" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_constants/separation = 15
[node name="TextureRect" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoJump"]
layout_mode = 2
texture = ExtResource("16_2k3fr")
[node name="Label" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoJump"]
layout_mode = 2
text = "Jump"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoDoubleJump" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_constants/separation = 15
[node name="HBoxContainer" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer/TutoDoubleJump"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="TextureRect" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoDoubleJump/HBoxContainer"]
layout_mode = 2
texture = ExtResource("16_2k3fr")
[node name="Label2" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoDoubleJump/HBoxContainer"]
layout_mode = 2
text = "+"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TextureRect2" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoDoubleJump/HBoxContainer"]
layout_mode = 2
texture = ExtResource("16_2k3fr")
[node name="Label3" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoDoubleJump"]
layout_mode = 2
text = "Double jump"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoWallJump" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
@@ -435,21 +364,6 @@ layout_mode = 2
text = "Wall jump"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoDash" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_constants/separation = 15
[node name="TextureRect" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoDash"]
layout_mode = 2
texture = ExtResource("19_efsse")
[node name="Label" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoDash"]
layout_mode = 2
text = "Dash (both in air and on ground)"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoDashWeapon" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
@@ -489,62 +403,6 @@ layout_mode = 2
text = "Throw weapon"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoEmpoweredDash" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_constants/separation = 15
[node name="HBoxContainer" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredDash"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="TextureRect" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredDash/HBoxContainer"]
layout_mode = 2
texture = ExtResource("21_rmfv1")
[node name="Label2" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredDash/HBoxContainer"]
layout_mode = 2
text = "+"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TextureRect2" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredDash/HBoxContainer"]
layout_mode = 2
texture = ExtResource("19_efsse")
[node name="Label3" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredDash"]
layout_mode = 2
text = "Empowered dash"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoEmpoweredJump" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_constants/separation = 15
[node name="HBoxContainer" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredJump"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="TextureRect" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredJump/HBoxContainer"]
layout_mode = 2
texture = ExtResource("21_rmfv1")
[node name="Label2" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredJump/HBoxContainer"]
layout_mode = 2
text = "+"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TextureRect2" type="TextureRect" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredJump/HBoxContainer"]
layout_mode = 2
texture = ExtResource("16_2k3fr")
[node name="Label3" type="Label" parent="TutorialController/PanelContainer/MarginContainer/TutoEmpoweredJump"]
layout_mode = 2
text = "Empowered jump"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="TutoEnjoy" type="HBoxContainer" parent="TutorialController/PanelContainer/MarginContainer"]
unique_name_in_owner = true
visible = false
@@ -556,25 +414,41 @@ layout_mode = 2
text = "Enjoy this little playground!"
label_settings = SubResource("LabelSettings_2k3fr")
[node name="LightLeakBlockers" type="Node3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="LightLeakBlockers"]
transform = Transform3D(200, 0, 0, 0, 200, 0, 0, 0, 10, 0, -116, 178.82)
mesh = SubResource("BoxMesh_p287n")
skeleton = NodePath("../..")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="LightLeakBlockers"]
transform = Transform3D(34.729645, 0, 9.848078, 0, 200, 0, -196.96153, 0, 1.7364821, 57.5, -119, 178.82)
mesh = SubResource("BoxMesh_p287n")
skeleton = NodePath("../..")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="LightLeakBlockers"]
transform = Transform3D(5.00679e-06, -200.00002, -2.3841858e-07, 0, -5.635115e-06, 10.000002, -200, 9.936228e-07, 2.3841858e-07, 1.5, -17, 114.82001)
mesh = SubResource("BoxMesh_p287n")
skeleton = NodePath("../..")
[node name="TutoLights" type="Node3D" parent="."]
[node name="SpotLight3D" type="SpotLight3D" parent="TutoLights"]
transform = Transform3D(1, 9.942504e-09, -4.395368e-08, 4.4703484e-08, -0.3420201, 0.9396927, -5.690144e-09, -0.9396927, -0.3420201, -11.5, -70.5, 106.5)
light_energy = 500.0
spot_range = 47.233
spot_angle = 18.85
spot_angle_attenuation = 10.556052
[connection signal="body_exited" from="TutoTriggers/TriggerTutoMove" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoMantle" to="TutorialController" method="_on_tuto_mantle_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoMantle" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoJump" to="TutorialController" method="_on_tuto_jump_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoJump" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoDoubleJump" to="TutorialController" method="_on_tuto_double_jump_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoDoubleJump" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoWallJump" to="TutorialController" method="_on_tuto_wall_jump_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoWallJump" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoWallJump2" to="TutorialController" method="_on_tuto_wall_jump_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoWallJump2" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoDash" to="TutorialController" method="_on_tuto_dash_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoDash" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoWeaponThrow" to="TutorialController" method="_on_tuto_weapon_throw_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoWeaponThrow" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoEmpoweredDash" to="TutorialController" method="_on_tuto_empowered_dash_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoEmpoweredDash" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoEmpoweredJump" to="TutorialController" method="_on_tuto_empowered_jump_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoEmpoweredJump" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TriggerTutoEnjoy" to="TutorialController" method="_on_tuto_enjoy_body_entered"]
[connection signal="body_exited" from="TutoTriggers/TriggerTutoEnjoy" to="TutorialController" method="hide_tutorials"]
[connection signal="body_entered" from="TutoTriggers/TutorialDoneArea" to="Player" method="OnTutorialDone"]

View File

@@ -1,13 +1,17 @@
[gd_scene load_steps=4 format=3 uid="uid://foajscu2dqkk"]
[gd_scene load_steps=5 format=3 uid="uid://foajscu2dqkk"]
[ext_resource type="PackedScene" uid="uid://vh1ucj2rfbby" path="res://addons/maaacks_game_template/base/scenes/menus/options_menu/mini_options_menu.tscn" id="1_gcivb"]
[ext_resource type="Script" uid="uid://ceg0gjjapg77k" path="res://menus/scenes/menus/options_menu/mini_options_menu_with_reset.gd" id="2_oof6u"]
[ext_resource type="PackedScene" uid="uid://dfjkn4yl3q1am" path="res://menus/scenes/menus/options_menu/game/reset_game_control/reset_game_control.tscn" id="3_gss4d"]
[ext_resource type="PackedScene" uid="uid://ceehkbh6emrdm" path="res://menus/scenes/menus/options_menu/input/input_extras_menu.tscn" id="4_grbel"]
[node name="MiniOptionsMenu" instance=ExtResource("1_gcivb")]
script = ExtResource("2_oof6u")
[node name="ResetGameControl" parent="." index="3" instance=ExtResource("3_gss4d")]
[node name="Inputs" parent="." index="0" instance=ExtResource("4_grbel")]
layout_mode = 2
[node name="ResetGameControl" parent="." index="4" instance=ExtResource("3_gss4d")]
layout_mode = 2
[connection signal="reset_confirmed" from="ResetGameControl" to="." method="_on_reset_game_control_reset_confirmed"]

View File

@@ -73,7 +73,7 @@ DoubleJumpGravityLesseningFactor = 1.5
MegaJumpStartVelocity = 30.0
MegaJumpHangTimeInFrames = 12
MegaJumpGravityLesseningFactor = 1.2
WallJumpStartVelocity = 8.0
WallJumpStartVelocity = 12.0
MaxNumberOfEmpoweredActions = 3
SimpleDashStrength = 15.0
PoweredDashStrength = 30.0
@@ -194,6 +194,7 @@ ThrowForce = 15.0
StraightThrowDuration = 0.05
[node name="DashIndicator" type="Node3D" parent="."]
visible = false
[node name="DashIndicatorMesh" type="MeshInstance3D" parent="DashIndicator"]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, -1)
@@ -241,7 +242,7 @@ size_flags_vertical = 0
[node name="DashesLabel" type="Label" parent="UI/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "Dashes"
text = "Empowered actions"
[node name="HBoxContainer" type="HBoxContainer" parent="UI/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 30)
@@ -626,6 +627,12 @@ delay_in_seconds = "0.0"
script = ExtResource("26_infe6")
initial_state = NodePath("Hugging")
[node name="OnDash" type="Node" parent="StateChart/Root/Movement/OnWall"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Dashing/Dash")
event = &"dash"
delay_in_seconds = "0.0"
[node name="OnGrounded" type="Node" parent="StateChart/Root/Movement/OnWall"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Grounded")
@@ -671,7 +678,7 @@ delay_in_seconds = "0.0"
[node name="OnDrop" type="Node" parent="StateChart/Root/Movement/OnWall/Hugging"]
script = ExtResource("28_n7qhm")
to = NodePath("../../HugCanceled")
event = &"dash"
event = &"__unused_dash"
delay_in_seconds = "0.0"
[node name="Hanging" type="Node" parent="StateChart/Root/Movement/OnWall"]

View File

@@ -8,6 +8,13 @@ using RustyOptions;
public partial class PlayerController : CharacterBody3D
{
public enum AllowedInputs
{
All,
MoveCamera,
None,
}
// User API to important child nodes.
public HeadSystem HeadSystem;
public Bobbing Bobbing;
@@ -44,7 +51,7 @@ public partial class PlayerController : CharacterBody3D
private float _inputRotateY;
private float _inputRotateFloorplane;
private int _framesSinceJumpAtApex = 0;
private int _framesSinceJumpAtApex;
// Timers
private Timer _timeScaleAimInAirTimer;
@@ -158,12 +165,14 @@ public partial class PlayerController : CharacterBody3D
PlayerUi.SetNumberOfDashesLeft(value);
}
}
public bool TutorialDone { get; set; } = false;
public bool TutorialDone { get; set; }
public AllowedInputs CurrentlyAllowedInputs { get; set; } = AllowedInputs.All;
private bool _canDashAirborne = true;
private bool _isWallJumpAvailable = true;
private bool _canDash = true;
private bool _shouldMantleOnDashEnded = false;
private bool _shouldMantleOnDashEnded;
private StateChart _playerState;
@@ -198,20 +207,8 @@ public partial class PlayerController : CharacterBody3D
public override void _Ready()
{
var config = new ConfigFile();
LoadSettings();
// Load data from a file.
Error err = config.Load("user://config.cfg");
// If the file didn't load, ignore it.
if (err != Error.Ok)
{
throw new Exception("Couldn't load config.cfg");
}
_lookSensitivityMultiplier = (float) config.GetValue("InputSettings", "LookSensitivity", 1.0f);
_headBobbingMultiplier = (float) config.GetValue("InputSettings", "HeadBobbingWhileWalking", 1.0f);
_fovChangeMultiplier = (float) config.GetValue("InputSettings", "FovChangeWithSpeed", 1.0f);
///////////////////////////
// Getting components /////
///////////////////////////
@@ -385,10 +382,40 @@ public partial class PlayerController : CharacterBody3D
_onMegajumpFromWall.Taken += OnMegajumpFromWall;
}
public void SetAllowedInputsAll()
{
CurrentlyAllowedInputs = AllowedInputs.All;
}
public void SetAllowedInputsMoveCamera()
{
CurrentlyAllowedInputs = AllowedInputs.MoveCamera;
}
public void SetAllowedInputsNone()
{
CurrentlyAllowedInputs = AllowedInputs.None;
}
public void LoadSettings()
{
var config = new ConfigFile();
// Load data from a file.
Error err = config.Load("user://config.cfg");
// If the file didn't load, ignore it.
if (err != Error.Ok)
{
throw new Exception("Couldn't load config.cfg");
}
_lookSensitivityMultiplier = (float) config.GetValue("InputSettings", "LookSensitivity", 1.0f);
_headBobbingMultiplier = (float) config.GetValue("InputSettings", "HeadBobbingWhileWalking", 1.0f);
_fovChangeMultiplier = (float) config.GetValue("InputSettings", "FovChangeWithSpeed", 1.0f);
}
public void OnTutorialDone(Node3D _)
{
TutorialDone = true;
GD.Print("tutorial done");
}
public void OnWallDetected()
@@ -476,6 +503,7 @@ public partial class PlayerController : CharacterBody3D
}
public void OnDoubleJumpStarted()
{
_canDash = true;
OnJumpStarted(DoubleJumpStartVelocity);
}
public void OnMegaJumpStarted()
@@ -508,7 +536,10 @@ public partial class PlayerController : CharacterBody3D
var wallNormal = WallHugSystem.GetWallNormal().UnwrapOr(Vector3.Up);
var jumpVector = wallNormal * jumpStrength;
SetHorizontalVelocity(new Vector2(jumpVector.X, jumpVector.Z));
var currentHorizontalVelocity = new Vector2(Velocity.X, Velocity.Z);
var wallJumpHorizontalVelocity = new Vector2(jumpVector.X, jumpVector.Z);
SetHorizontalVelocity(currentHorizontalVelocity + wallJumpHorizontalVelocity);;
}
public void OnJumpFromWall()
{
@@ -661,11 +692,11 @@ public partial class PlayerController : CharacterBody3D
}
public void OnInputEmpowerDown()
{
_playerState.SendEvent("empower_down");
// _playerState.SendEvent("empower_down");
}
public void OnInputEmpowerReleased()
{
_playerState.SendEvent("empower_released");
// _playerState.SendEvent("empower_released");
}
public void OnInputDashPressed()
{
@@ -747,11 +778,7 @@ public partial class PlayerController : CharacterBody3D
public void DashToFlyingWeaponTweenEnded()
{
// Get the weapon back
GetTree().GetRoot().RemoveChild(WeaponRoot);
AddChild(WeaponRoot);
WeaponRoot.SetGlobalPosition(GlobalPosition);
WeaponSystem.ResetWeapon();
RecoverWeapon();
var vel = _dashDirection * PostDashSpeed;
SetVelocity(vel);
@@ -774,6 +801,14 @@ public partial class PlayerController : CharacterBody3D
var dashTween = CreatePositionTween(dashLocation, AimedDashTime);
dashTween.Finished += DashToPlantedWeaponTweenEnded;
}
public void RecoverWeapon()
{
GetTree().GetRoot().RemoveChild(WeaponRoot);
AddChild(WeaponRoot);
WeaponRoot.SetGlobalPosition(GlobalPosition);
WeaponSystem.ResetWeapon();
}
public void DashToPlantedWeaponTweenEnded()
{
@@ -782,12 +817,8 @@ public partial class PlayerController : CharacterBody3D
var isPlantedUnderPlatform = WeaponSystem.IsPlantedUnderPlatform();
var shouldDashToHanging = isPlantedOnWall || isPlantedUnderPlatform;
// Get the weapon back
GetTree().GetRoot().RemoveChild(WeaponRoot);
AddChild(WeaponRoot);
WeaponRoot.SetGlobalPosition(GlobalPosition);
WeaponSystem.ResetWeapon();
RecoverWeapon();
var resultingEvent = shouldDashToHanging ? "to_planted" : "dash_finished";
_playerState.SendEvent(resultingEvent);
}
@@ -976,7 +1007,7 @@ public partial class PlayerController : CharacterBody3D
IsCapsuleHeightLessThanNormal = CapsuleCollider.IsCapsuleHeightLessThanNormal(),
CurrentSpeedGreaterThanWalkSpeed = false,
IsCrouchingHeight = CapsuleCollider.IsCrouchingHeight(),
Delta = (float)delta,
Delta = delta,
FloorMaxAngle = FloorMaxAngle,
GlobalPositionFromDriver = GlobalPosition,
Velocity = Velocity,

View File

@@ -10,14 +10,9 @@ var active_tutorial: Control
@onready var tuto_move_and_look: VBoxContainer = %TutoMoveAndLook
@onready var tuto_mantle_up: HBoxContainer = %TutoMantleUp
@onready var tuto_jump: HBoxContainer = %TutoJump
@onready var tuto_double_jump: HBoxContainer = %TutoDoubleJump
@onready var tuto_wall_jump: HBoxContainer = %TutoWallJump
@onready var tuto_dash: HBoxContainer = %TutoDash
@onready var tuto_dash_weapon: HBoxContainer = %TutoDashWeapon
@onready var tuto_weapon_throw: HBoxContainer = %TutoWeaponThrow
@onready var tuto_empowered_dash: HBoxContainer = %TutoEmpoweredDash
@onready var tuto_empowered_jump: HBoxContainer = %TutoEmpoweredJump
@onready var tuto_enjoy: HBoxContainer = %TutoEnjoy
@@ -39,18 +34,9 @@ func handle_new_tutorial(tuto: Control) -> void:
func _on_tuto_mantle_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_mantle_up)
func _on_tuto_jump_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_jump)
func _on_tuto_double_jump_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_double_jump)
func _on_tuto_wall_jump_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_wall_jump)
func _on_tuto_dash_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_dash)
func _on_tuto_done_area_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_dash_weapon)
@@ -60,12 +46,6 @@ func _on_weapon_retrieved_body_entered(body: Node3D) -> void:
func _on_tuto_weapon_throw_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_weapon_throw)
func _on_tuto_empowered_dash_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_empowered_dash)
func _on_tuto_empowered_jump_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_empowered_jump)
func _on_tuto_enjoy_body_entered(body: Node3D) -> void:
handle_new_tutorial(tuto_enjoy)