TUBES NOW SHOOT UP, A BASKED NOW CATCHES YOU

This commit is contained in:
Derek
2025-03-30 18:44:54 -05:00
parent 757b2df6b3
commit e1ac78d927
17 changed files with 461 additions and 116 deletions

View File

@@ -137,7 +137,8 @@ gamemode = ExtResource("2_pxx7p")
[node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_cyqa2")] [node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_cyqa2")]
transform = Transform3D(-0.513781, 0, -0.857921, 0, 1, 0, 0.857921, 0, -0.513781, 0, 0, 0) transform = Transform3D(-0.513781, 0, -0.857921, 0, 1, 0, 0.857921, 0, -0.513781, 0, 0, 0)
set_time = 12.0 realtime = false
set_time = 22.0
[node name="LEVEL UTILS" type="Node" parent="."] [node name="LEVEL UTILS" type="Node" parent="."]
@@ -308,7 +309,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5486, 121.128, -28.3873)
transform = Transform3D(0.000872742, 0, -1, 0, 1, 0, 1, 0, 0.000872742, 1.24594, -119.116, 0.455086) transform = Transform3D(0.000872742, 0, -1, 0, 1, 0, 1, 0, 0.000872742, 1.24594, -119.116, 0.455086)
[node name="Scene Changer6" parent="Tubes" instance=ExtResource("11_titu4")] [node name="Scene Changer6" parent="Tubes" instance=ExtResource("11_titu4")]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 10.4383, 121.128, -17.0011) transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.48431, 121.128, -17.0011)
[node name="Level Sign" parent="Tubes/Scene Changer6" instance=ExtResource("13_ng05k")] [node name="Level Sign" parent="Tubes/Scene Changer6" instance=ExtResource("13_ng05k")]
transform = Transform3D(-0.00479963, 0, 0.999989, 0, 1, 0, -0.999989, 0, -0.00479963, -2.059, -119.116, -0.128061) transform = Transform3D(-0.00479963, 0, 0.999989, 0, 1, 0, -0.999989, 0, -0.00479963, -2.059, -119.116, -0.128061)
@@ -360,3 +361,15 @@ jump_amount = 125
[node name="vendingmachine" parent="." instance=ExtResource("19_brrhm")] [node name="vendingmachine" parent="." instance=ExtResource("19_brrhm")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 15.7521, -0.13327, -23.4152) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 15.7521, -0.13327, -23.4152)
item_name = "revolver" item_name = "revolver"
[node name="SpotLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(0.912635, 0.397023, -0.0973198, -0.010943, -0.214262, -0.976715, -0.40863, 0.892449, -0.191198, 8.73698, 0, 1.23237)
light_energy = 11.615
shadow_enabled = true
spot_range = 17.4054
[node name="SpotLight3D2" type="SpotLight3D" parent="."]
transform = Transform3D(-0.974581, -0.2163, 0.0583688, -0.0133677, -0.203925, -0.978895, 0.223638, -0.954792, 0.19585, 0.635257, -9.53674e-07, -18.7411)
light_energy = 11.615
shadow_enabled = true
spot_range = 17.4054

BIN
assets/TubeAssets.blend Normal file

Binary file not shown.

View File

@@ -0,0 +1,53 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://d0iemvwfcltd7"
path="res://.godot/imported/TubeAssets.blend-afbeb5050e61b6de8b0791fff6f49d2c.scn"
[deps]
source_file="res://assets/TubeAssets.blend"
dest_files=["res://.godot/imported/TubeAssets.blend-afbeb5050e61b6de8b0791fff6f49d2c.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

BIN
assets/TubeAssets.blend1 Normal file

Binary file not shown.

View File

@@ -27,9 +27,10 @@ visible = false
mesh = SubResource("SphereMesh_wfy04") mesh = SubResource("SphereMesh_wfy04")
surface_material_override/0 = SubResource("StandardMaterial3D_qd8ax") surface_material_override/0 = SubResource("StandardMaterial3D_qd8ax")
[node name="Start_Activation" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 0.5 one_shot = true
autostart = true
[node name="Scene_Holder" type="Node3D" parent="."]
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="timeout" from="Start_Activation" to="." method="_on_start_activation_timeout"] [connection signal="timeout" from="Timer" to="." method="_on_start_activation_timeout"]

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=15 format=4 uid="uid://h05qay3qri4e"] [gd_scene load_steps=21 format=4 uid="uid://h05qay3qri4e"]
[ext_resource type="Texture2D" uid="uid://ixeulptnq4t7" path="res://assets/Models/SubstancePainterTest/switch1.base_BaseColor.png" id="1_fj3ta"] [ext_resource type="Texture2D" uid="uid://ixeulptnq4t7" path="res://assets/Models/SubstancePainterTest/switch1.base_BaseColor.png" id="1_fj3ta"]
[ext_resource type="Script" uid="uid://3dribcjjimj8" path="res://scripts/switch_interactandshoot.gd" id="1_rw0ux"]
[ext_resource type="Texture2D" uid="uid://bqbnqyyxcp4fd" path="res://assets/Models/SubstancePainterTest/switch1.base_Metallic.png" id="2_51b4u"] [ext_resource type="Texture2D" uid="uid://bqbnqyyxcp4fd" path="res://assets/Models/SubstancePainterTest/switch1.base_Metallic.png" id="2_51b4u"]
[ext_resource type="Texture2D" uid="uid://bfsf6vw1hv3qe" path="res://assets/Models/SubstancePainterTest/switch1.base_Normal.png" id="3_5128q"] [ext_resource type="Texture2D" uid="uid://bfsf6vw1hv3qe" path="res://assets/Models/SubstancePainterTest/switch1.base_Normal.png" id="3_5128q"]
[ext_resource type="Texture2D" uid="uid://dn2os4sr5ymnj" path="res://assets/Models/SubstancePainterTest/switch1.base_Roughness.png" id="4_323bf"] [ext_resource type="Texture2D" uid="uid://dn2os4sr5ymnj" path="res://assets/Models/SubstancePainterTest/switch1.base_Roughness.png" id="4_323bf"]
@@ -97,7 +98,56 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_gqho7") shadow_mesh = SubResource("ArrayMesh_gqho7")
[node name="Switch1" type="Node3D"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_rw0ux"]
data = PackedVector3Array(-0.1, -0.1, 0.2, -0.1, 0.1, -0.2, -0.1, 0.1, 0.2, -0.1, -0.1, 0.2, -0.1, -0.1, -0.2, -0.1, 0.1, -0.2, -0.1, -0.1, -0.2, 0.1, 0.1, -0.2, -0.1, 0.1, -0.2, -0.1, -0.1, -0.2, 0.1, -0.1, -0.2, 0.1, 0.1, -0.2, 0.1, -0.1, -0.2, 0.1, 0.1, 0.2, 0.1, 0.1, -0.2, 0.1, -0.1, -0.2, 0.1, -0.1, 0.2, 0.1, 0.1, 0.2, 0.1, -0.1, 0.2, -0.1, 0.1, 0.2, 0.1, 0.1, 0.2, 0.1, -0.1, 0.2, -0.1, -0.1, 0.2, -0.1, 0.1, 0.2, -0.1, -0.1, -0.2, 0.1, -0.1, 0.2, 0.1, -0.1, -0.2, -0.1, -0.1, -0.2, -0.1, -0.1, 0.2, 0.1, -0.1, 0.2, -0.07, 0.1, 0.17, 0.07, 0.0881, 0.17, 0.07, 0.1, 0.17, -0.07, 0.1, 0.17, -0.07, 0.0881, 0.17, 0.07, 0.0881, 0.17, -0.07, 0.1, 0.17, -0.1, 0.1, -0.2, -0.07, 0.1, -0.17, -0.07, 0.1, 0.17, -0.1, 0.1, 0.2, -0.1, 0.1, -0.2, -0.07, 0.1, -0.17, 0.1, 0.1, -0.2, 0.07, 0.1, -0.17, -0.07, 0.1, -0.17, -0.1, 0.1, -0.2, 0.1, 0.1, -0.2, 0.07, 0.1, -0.17, 0.1, 0.1, 0.2, 0.07, 0.1, 0.17, 0.07, 0.1, -0.17, 0.1, 0.1, -0.2, 0.1, 0.1, 0.2, 0.07, 0.1, 0.17, -0.1, 0.1, 0.2, -0.07, 0.1, 0.17, 0.07, 0.1, 0.17, 0.1, 0.1, 0.2, -0.1, 0.1, 0.2, 0.042, 0.0881, 0.0652, 0.042, -0.0877, -0.0652, 0.042, 0.0881, -0.0652, 0.042, 0.0881, 0.0652, 0.042, -0.0877, 0.0652, 0.042, -0.0877, -0.0652, 0.07, 0.1, -0.17, -0.07, 0.0881, -0.17, -0.07, 0.1, -0.17, 0.07, 0.1, -0.17, 0.07, 0.0881, -0.17, -0.07, 0.0881, -0.17, 0.07, 0.1, 0.17, 0.07, 0.0881, -0.17, 0.07, 0.1, -0.17, 0.07, 0.1, 0.17, 0.07, 0.0881, 0.17, 0.07, 0.0881, -0.17, -0.07, 0.1, -0.17, -0.07, 0.0881, 0.17, -0.07, 0.1, 0.17, -0.07, 0.1, -0.17, -0.07, 0.0881, -0.17, -0.07, 0.0881, 0.17, -0.042, 0.0881, 0.0652, -0.07, 0.0881, -0.17, -0.042, 0.0881, -0.0652, -0.042, 0.0881, 0.0652, -0.07, 0.0881, 0.17, -0.07, 0.0881, -0.17, -0.042, 0.0881, -0.0652, 0.07, 0.0881, -0.17, 0.042, 0.0881, -0.0652, -0.042, 0.0881, -0.0652, -0.07, 0.0881, -0.17, 0.07, 0.0881, -0.17, 0.042, 0.0881, -0.0652, 0.07, 0.0881, 0.17, 0.042, 0.0881, 0.0652, 0.042, 0.0881, -0.0652, 0.07, 0.0881, -0.17, 0.07, 0.0881, 0.17, 0.042, 0.0881, 0.0652, -0.07, 0.0881, 0.17, -0.042, 0.0881, 0.0652, 0.042, 0.0881, 0.0652, 0.07, 0.0881, 0.17, -0.07, 0.0881, 0.17, 0.042, -0.0877, -0.0652, -0.042, -0.0877, 0.0652, -0.042, -0.0877, -0.0652, 0.042, -0.0877, -0.0652, 0.042, -0.0877, 0.0652, -0.042, -0.0877, 0.0652, -0.042, 0.0881, -0.0652, -0.042, -0.0877, 0.0652, -0.042, 0.0881, 0.0652, -0.042, 0.0881, -0.0652, -0.042, -0.0877, -0.0652, -0.042, -0.0877, 0.0652, -0.042, 0.0881, 0.0652, 0.042, -0.0877, 0.0652, 0.042, 0.0881, 0.0652, -0.042, 0.0881, 0.0652, -0.042, -0.0877, 0.0652, 0.042, -0.0877, 0.0652, 0.042, 0.0881, -0.0652, -0.042, -0.0877, -0.0652, -0.042, 0.0881, -0.0652, 0.042, 0.0881, -0.0652, 0.042, -0.0877, -0.0652, -0.042, -0.0877, -0.0652)
[sub_resource type="Animation" id="Animation_c5qda"]
resource_name = "on"
length = 0.4
tracks/0/type = "rotation_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SwitchBase-LOW/Switch-Low")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0.236828, 0.236828, -0.666268, 0.666268, 0.166667, 1, 0.527821, 0.527821, -0.470536, 0.470536, 0.233333, 1, 0.569757, 0.569757, -0.418781, 0.418781, 0.4, 1, 0.527821, 0.527821, -0.470536, 0.470536)
[sub_resource type="Animation" id="Animation_rw0ux"]
length = 0.001
tracks/0/type = "rotation_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SwitchBase-LOW/Switch-Low")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0.236828, 0.236828, -0.666268, 0.666268)
[sub_resource type="Animation" id="Animation_gt83m"]
resource_name = "off"
length = 0.4
tracks/0/type = "rotation_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SwitchBase-LOW/Switch-Low")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0.527821, 0.527821, -0.470536, 0.470536, 0.233333, 1, 0.569757, 0.569757, -0.418781, 0.418781, 0.3, 1, 0.527821, 0.527821, -0.470536, 0.470536, 0.4, 1, 0.236828, 0.236828, -0.666268, 0.666268)
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ms0kb"]
_data = {
&"RESET": SubResource("Animation_rw0ux"),
&"off": SubResource("Animation_gt83m"),
&"on": SubResource("Animation_c5qda")
}
[node name="Switch1" type="StaticBody3D" node_paths=PackedStringArray("anim_player")]
collision_layer = 130
collision_mask = 130
script = ExtResource("1_rw0ux")
start_on = true
toggle_enabled = true
bullet_enabled = false
anim_player = NodePath("AnimationPlayer")
[node name="SwitchBase-LOW" type="MeshInstance3D" parent="."] [node name="SwitchBase-LOW" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.1, 0) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.1, 0)
@@ -105,6 +155,15 @@ mesh = SubResource("ArrayMesh_cm7na")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Switch-Low" type="MeshInstance3D" parent="SwitchBase-LOW"] [node name="Switch-Low" type="MeshInstance3D" parent="SwitchBase-LOW"]
transform = Transform3D(1.19209e-07, 1, -2.98023e-08, -0.382684, 1.19209e-07, -0.923879, -0.923879, -2.98023e-08, 0.382684, 0, 0.017386, 0) transform = Transform3D(-9.22129e-08, 1, 5.96046e-08, -0.77565, -3.39048e-08, -0.631163, -0.631163, -1.04434e-07, 0.77565, 0, 0.0109356, 0)
mesh = SubResource("ArrayMesh_vpr2q") mesh = SubResource("ArrayMesh_vpr2q")
skeleton = NodePath("") skeleton = NodePath("")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.1, 0)
shape = SubResource("ConcavePolygonShape3D_rw0ux")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ms0kb")
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,9 +1,5 @@
[gd_scene load_steps=29 format=3 uid="uid://dsnddbrlqkav2"] [gd_scene load_steps=25 format=3 uid="uid://dsnddbrlqkav2"]
[ext_resource type="Script" uid="uid://bkii8jwf0k7tq" path="res://scripts/LevelManager.gd" id="1_laua1"]
[ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="2_2umal"]
[ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_bpxqw"]
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="4_a8lcp"]
[ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="5_ngmqi"] [ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="5_ngmqi"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="6_qmuhr"] [ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="6_qmuhr"]
[ext_resource type="Script" uid="uid://bw1uh8yc13tjy" path="res://scripts/switch_door.gd" id="6_sbaq1"] [ext_resource type="Script" uid="uid://bw1uh8yc13tjy" path="res://scripts/switch_door.gd" id="6_sbaq1"]
@@ -15,10 +11,10 @@
[ext_resource type="PackedScene" uid="uid://cgo4qyul7ix5p" path="res://assets/ladder.tscn" id="15_bsva3"] [ext_resource type="PackedScene" uid="uid://cgo4qyul7ix5p" path="res://assets/ladder.tscn" id="15_bsva3"]
[ext_resource type="PackedScene" uid="uid://cdpxctwwi12j" path="res://assets/ladder_collision_check.tscn" id="15_vb271"] [ext_resource type="PackedScene" uid="uid://cdpxctwwi12j" path="res://assets/ladder_collision_check.tscn" id="15_vb271"]
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="16_p7sg0"] [ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="16_p7sg0"]
[ext_resource type="PackedScene" uid="uid://dc0fxhbw6x1h3" path="res://tube_top.tscn" id="17_2h4hu"]
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="17_8q5j4"] [ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="17_8q5j4"]
[ext_resource type="PackedScene" uid="uid://bessq6hl7qsh8" path="res://assets/stats.tscn" id="18_e13cr"] [ext_resource type="PackedScene" uid="uid://bessq6hl7qsh8" path="res://assets/stats.tscn" id="18_e13cr"]
[ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="18_jev3u"] [ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="18_jev3u"]
[ext_resource type="Material" uid="uid://b6hhomp4kcjvb" path="res://assets/materials/prototype/tadaoando.tres" id="19_e7xg4"]
[ext_resource type="PackedScene" uid="uid://db7xqf12sayj0" path="res://assets/chest_spawner.tscn" id="20_ena8c"] [ext_resource type="PackedScene" uid="uid://db7xqf12sayj0" path="res://assets/chest_spawner.tscn" id="20_ena8c"]
[ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="20_j4ook"] [ext_resource type="PackedScene" uid="uid://dgapcuvg0gtmm" path="res://assets/scene_changer.tscn" id="20_j4ook"]
@@ -69,20 +65,10 @@ polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Arr
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
albedo_color = Color(0.300579, 0.462784, 0.249767, 1) albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")] [node name="EnemyWork" type="Node3D"]
script = ExtResource("1_laua1")
map_name = "Wall Runnin"
gamemode = ExtResource("2_2umal")
player = NodePath("Player")
MAX_PARTICLES = 75
[node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_bpxqw")]
transform = Transform3D(-0.582719, 0, -0.812674, 0, 1, 0, 0.812674, 0, -0.582719, 0, 0, 0)
[node name="Player" parent="." instance=ExtResource("4_a8lcp")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.4194, 277.483, -34.6215)
[node name="Level" type="Node3D" parent="." groups=["enemy_hivemind"]] [node name="Level" type="Node3D" parent="." groups=["enemy_hivemind"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)
script = ExtResource("5_ngmqi") script = ExtResource("5_ngmqi")
room_lockdown = true room_lockdown = true
number_of_drops = 30 number_of_drops = 30
@@ -190,6 +176,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.9144, 29.7998, -34.0515)
shape = SubResource("BoxShape3D_oood3") shape = SubResource("BoxShape3D_oood3")
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] [node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)
navigation_mesh = SubResource("NavigationMesh_8aw3d") navigation_mesh = SubResource("NavigationMesh_8aw3d")
[node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"] [node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"]
@@ -414,97 +401,65 @@ size = Vector3(1, 7.98377, 3.19559)
material = ExtResource("7_l3crk") material = ExtResource("7_l3crk")
[node name="CSGBox3D" type="CSGBox3D" parent="."] [node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.62976, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 3.62976, 44.3496)
use_collision = true use_collision = true
[node name="vendingmachine" parent="." instance=ExtResource("7_pr7m0")] [node name="vendingmachine" parent="." instance=ExtResource("7_pr7m0")]
transform = Transform3D(0.813009, 0, -0.582251, 0, 1, 0, 0.582251, 0, 0.813009, -12.3032, -0.170555, -34.4168) transform = Transform3D(0.813009, 0, -0.582251, 0, 1, 0, 0.582251, 0, 0.813009, -44.0522, -0.170555, 9.9328)
[node name="Water Tower" parent="." instance=ExtResource("14_yn32s")] [node name="Water Tower" parent="." instance=ExtResource("14_yn32s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29.687, -0.170555, 25.9723) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.06201, -0.170555, 70.3219)
[node name="LadderCollisionCheck" parent="." instance=ExtResource("15_vb271")] [node name="LadderCollisionCheck" parent="." instance=ExtResource("15_vb271")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.7187, -0.500688, -37.3549) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.4677, -0.500688, 6.99471)
[node name="Ladder" parent="." instance=ExtResource("15_bsva3")] [node name="Ladder" parent="." instance=ExtResource("15_bsva3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.7245, -0.170555, -36.0291) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -44.4735, -0.170555, 8.32051)
[node name="PostProcessing" parent="." instance=ExtResource("16_p7sg0")] [node name="PostProcessing" parent="." instance=ExtResource("16_p7sg0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.749, 0, 44.3496)
[node name="JumpPlatform" parent="." instance=ExtResource("17_8q5j4")] [node name="JumpPlatform" parent="." instance=ExtResource("17_8q5j4")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -16.9937, -0.170557, 23.9329) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -48.7427, -0.170557, 68.2825)
jump_amount = 15 jump_amount = 15
[node name="JumpPlatform2" parent="." instance=ExtResource("17_8q5j4")] [node name="JumpPlatform2" parent="." instance=ExtResource("17_8q5j4")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -17.0593, 20.0922, 27.614) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -48.8083, 20.0922, 71.9636)
[node name="Stats" parent="." instance=ExtResource("18_e13cr")] [node name="Stats" parent="." instance=ExtResource("18_e13cr")]
transform = Transform3D(-0.98212, 0, 0.188255, 0, 1, 0, -0.188255, 0, -0.98212, 21.9998, 1.4638, -25.9657) transform = Transform3D(-0.98212, 0, 0.188255, 0, 1, 0, -0.188255, 0, -0.98212, -9.74921, 1.4638, 18.3839)
[node name="machete_pickup" parent="." instance=ExtResource("18_jev3u")] [node name="machete_pickup" parent="." instance=ExtResource("18_jev3u")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19.5087, 0.327792, -29.9239) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.2403, 0.327792, 14.4257)
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.2103, 410.907, -39.074)
material_override = ExtResource("19_e7xg4")
use_collision = true
size = Vector3(21.6041, 760.743, 6.07715)
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.1646, 406.656, -27.5644)
material_override = ExtResource("19_e7xg4")
use_collision = true
size = Vector3(21.6041, 769.246, 6.07715)
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 17.116, 402.696, -36.2374)
material_override = ExtResource("19_e7xg4")
use_collision = true
size = Vector3(21.6041, 756.867, 6.07715)
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 35.6991, 405.739, -33.0713)
material_override = ExtResource("19_e7xg4")
use_collision = true
size = Vector3(21.6041, 771.124, 6.07715)
[node name="CSGBox3D6" type="CSGBox3D" parent="."]
transform = Transform3D(0.00661471, 0, -0.999978, 0, 1, 0, 0.999978, 0, 0.00661471, 28.7459, 791.677, -33.1393)
material_override = ExtResource("19_e7xg4")
use_collision = true
size = Vector3(18.9743, 2.36012, 19.9824)
[node name="JumpPlatform3" parent="." instance=ExtResource("17_8q5j4")]
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 27.2325, -0.170555, -32.4933)
jump_amount = 100
[node name="Scene Changer" parent="." instance=ExtResource("20_j4ook")] [node name="Scene Changer" parent="." instance=ExtResource("20_j4ook")]
transform = Transform3D(15.1486, 0, 0, 0, 405.877, 0, 0, 0, 9.59561, 29.1358, 544.113, -33.0379) transform = Transform3D(15.1486, 0, 0, 0, 405.877, 0, 0, 0, 9.59561, -2.61321, 544.113, 11.3117)
scene_path = "res://scenes/HUBWORLD.tscn"
[node name="ChestSpawner" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(-0.718236, 0, 0.6958, 0, 1, 0, -0.6958, 0, -0.718236, -36.271, 20.8636, 19.5502) transform = Transform3D(-0.718236, 0, 0.6958, 0, 1, 0, -0.6958, 0, -0.718236, -68.02, 20.8636, 63.8998)
[node name="ChestSpawner2" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner2" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.87419, 49.7368, 41.8273) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.6232, 49.7368, 86.1769)
[node name="ChestSpawner3" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner3" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.332, 48.7745, 7.1868) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60.081, 48.7745, 51.5364)
[node name="ChestSpawner4" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner4" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(-0.518087, 0, -0.855328, 0, 1, 0, 0.855328, 0, -0.518087, -10.9939, 11.1878, -25.2591) transform = Transform3D(-0.518087, 0, -0.855328, 0, 1, 0, 0.855328, 0, -0.518087, -42.7429, 11.1878, 19.0905)
[node name="ChestSpawner5" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner5" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(-0.999671, 0, -0.0256362, 0, 1, 0, 0.0256362, 0, -0.999671, -3.14737, 21.2207, -13.3757) transform = Transform3D(-0.999671, 0, -0.0256362, 0, 1, 0, 0.0256362, 0, -0.999671, -34.8964, 21.2207, 30.9739)
[node name="ChestSpawner6" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner6" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29.5466, 26.9163, 25.9644) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.20241, 26.9163, 70.314)
[node name="ChestSpawner7" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner7" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.2549, 21.1948, 6.29554) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.50589, 21.1948, 50.6451)
[node name="ChestSpawner8" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner8" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(-0.379876, 0, -0.925037, 0, 1, 0, 0.925037, 0, -0.379876, 11.6021, 73.2267, 37.6288) transform = Transform3D(-0.379876, 0, -0.925037, 0, 1, 0, 0.925037, 0, -0.379876, -20.1469, 73.2267, 81.9784)
[node name="ChestSpawner9" parent="." instance=ExtResource("20_ena8c")] [node name="ChestSpawner9" parent="." instance=ExtResource("20_ena8c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.0143, 51.4957, -12.5448) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -71.7633, 51.4957, 31.8048)
[node name="TubeTop" parent="." instance=ExtResource("17_2h4hu")]

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://uo43j7bomkf3"] [gd_scene load_steps=21 format=3 uid="uid://uo43j7bomkf3"]
[ext_resource type="Script" uid="uid://b81yg4r8e5ecj" path="res://scripts/subscene.gd" id="1_ie2kr"] [ext_resource type="Script" uid="uid://b81yg4r8e5ecj" path="res://scripts/subscene.gd" id="1_ie2kr"]
[ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_uc3ig"] [ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_uc3ig"]
@@ -10,6 +10,7 @@
[ext_resource type="PackedScene" uid="uid://dlhjacsike5a4" path="res://assets/oildrum1.tscn" id="15_tuvfy"] [ext_resource type="PackedScene" uid="uid://dlhjacsike5a4" path="res://assets/oildrum1.tscn" id="15_tuvfy"]
[ext_resource type="PackedScene" uid="uid://24slv0pyxcd5" path="res://assets/level_bounds.tscn" id="16_8ulfh"] [ext_resource type="PackedScene" uid="uid://24slv0pyxcd5" path="res://assets/level_bounds.tscn" id="16_8ulfh"]
[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="17_6thjn"] [ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="17_6thjn"]
[ext_resource type="PackedScene" uid="uid://dc0fxhbw6x1h3" path="res://tube_top.tscn" id="17_57hjo"]
[ext_resource type="PackedScene" uid="uid://dt4t2a48204v1" path="res://assets/spikes_1.tscn" id="17_hpnr5"] [ext_resource type="PackedScene" uid="uid://dt4t2a48204v1" path="res://assets/spikes_1.tscn" id="17_hpnr5"]
[ext_resource type="PackedScene" uid="uid://db7xqf12sayj0" path="res://assets/chest_spawner.tscn" id="17_mw655"] [ext_resource type="PackedScene" uid="uid://db7xqf12sayj0" path="res://assets/chest_spawner.tscn" id="17_mw655"]
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="18_1ool5"] [ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="18_1ool5"]
@@ -93,21 +94,21 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.021, 0, 40.533)
navigation_mesh = SubResource("NavigationMesh_8aw3d") navigation_mesh = SubResource("NavigationMesh_8aw3d")
[node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"] [node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.4365, -87.637, -31.8781) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.3783, -87.637, -31.8781)
material_override = ExtResource("9_qcaui") material_override = ExtResource("9_qcaui")
use_collision = true use_collision = true
collision_layer = 7 collision_layer = 7
collision_mask = 7 collision_mask = 7
size = Vector3(25.2539, 174.933, 23.1565) size = Vector3(23.1376, 174.933, 23.1565)
material = SubResource("StandardMaterial3D_6yrih") material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D17" type="CSGBox3D" parent="NavigationRegion3D"] [node name="CSGBox3D17" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49.0235, 29.2644, -28.6267) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.2411, -0.444018, -36.0851)
material_override = ExtResource("9_qcaui") material_override = ExtResource("9_qcaui")
use_collision = true use_collision = true
collision_layer = 7 collision_layer = 7
collision_mask = 7 collision_mask = 7
size = Vector3(39.0317, 1.5267, 23.1565) size = Vector3(28.9212, 0.53389, 15.665)
material = SubResource("StandardMaterial3D_6yrih") material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D"] [node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D"]
@@ -324,3 +325,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.7992, 0, 8.04956)
[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelBounds"] [node name="CollisionShape3D" type="CollisionShape3D" parent="LevelBounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -104.537, -61.8811, -39.2754) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -104.537, -61.8811, -39.2754)
shape = SubResource("BoxShape3D_57hjo") shape = SubResource("BoxShape3D_57hjo")
[node name="TubeTop" parent="." node_paths=PackedStringArray("level_bounds") instance=ExtResource("17_57hjo")]
transform = Transform3D(0.0715845, 0, -0.997435, 0, 1, 0, 0.997435, 0, 0.0715845, 0, 0, -0.122)
level_bounds = NodePath("../LevelBounds")

View File

@@ -1,8 +1,25 @@
extends Area3D extends Area3D
class_name LevelBounds
var level_collision_shapes : Array[CollisionShape3D]
var check_collision = true
func _ready() -> void:
for i in get_children():
if i is CollisionShape3D:
level_collision_shapes.append(i)
func _on_body_exited(body: Node3D) -> void: func _on_body_exited(body: Node3D) -> void:
var level_control = get_tree().current_scene if check_collision == true:
if level_control.gamemode.die_on_leaving_bounds == true: var level_control = get_tree().current_scene
get_tree().current_scene.die() if level_control.gamemode.die_on_leaving_bounds == true:
else: get_tree().current_scene.die()
body.global_position = body.last_ground_pos + Vector3(0,10,0) else:
body.global_position = body.last_ground_pos + Vector3(0,10,0)
func toggle_collision(collision_state):
print("COLLISION STATE: ",collision_state)
check_collision = collision_state
if level_collision_shapes != null and level_collision_shapes != []:
for i in level_collision_shapes:
i.disabled = collision_state

View File

@@ -1,4 +1,5 @@
extends CharacterBody3D extends CharacterBody3D
class_name Player
const JUMP_WEAPON_DIP = Vector3(0,-5,0) const JUMP_WEAPON_DIP = Vector3(0,-5,0)
const AIR_TRANSITION_SPEED = 7 const AIR_TRANSITION_SPEED = 7

View File

@@ -3,32 +3,30 @@ class_name Portal
var level_info = {} var level_info = {}
var timer_active = false
var active = true var active = true
var entered = false
var index : int var index : int
@onready var timer: Timer = $Timer
@onready var scene_holder: Node3D = $Scene_Holder
const SCENE_SPAWN_OFFSET = Vector3(0,400,0) const SCENE_SPAWN_OFFSET = Vector3(0,400,0)
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_body_entered(body: Node3D) -> void: func _on_body_entered(body: Node3D) -> void:
if body.is_in_group("player"): if body is Player:
if active and timer_active: if active and !entered:
active = false active = false
timer.start(1)
var scene = load(level_info["level_path"]).instantiate() var scene = load(level_info["level_path"]).instantiate()
scene_holder.add_child(scene)
get_tree().current_scene.add_child(scene)
scene.global_position = global_position + SCENE_SPAWN_OFFSET scene.global_position = global_position + SCENE_SPAWN_OFFSET
entered = true
if active and entered:
var spawned_stuff = scene_holder.get_children()
for i in spawned_stuff:
i.queue_free()
func _on_start_activation_timeout() -> void: func _on_start_activation_timeout() -> void:
timer_active = true active = true

View File

@@ -1,12 +1,15 @@
extends Node extends Node
class_name SwitchBasic class_name SwitchBasic
signal switch_changed
@export var switch_override : bool = false @export var switch_override : bool = false
@export var start_on : bool = false @export var start_on : bool = false
@export var toggle_enabled : bool = false @export var toggle_enabled : bool = false
@export var bullet_enabled : bool = true @export var bullet_enabled : bool = true
@export var timer_enabled : bool = false @export var timer_enabled : bool = false
@export var timer_duration : float = 2.0 @export var timer_duration : float = 2.0
@export var anim_player : AnimationPlayer
var switched_on : bool var switched_on : bool
@@ -18,23 +21,31 @@ func _ready() -> void:
switched_on = start_on switched_on = start_on
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func switch(): func switch():
if toggle_enabled: if toggle_enabled:
if switched_on == true: if switched_on == true:
switched_on = false switched_on = false
SignalBus.emit_signal("switch_changed") switch_changed.emit()
if anim_player != null:
anim_player.play("off")
else: else:
switched_on = true switched_on = true
SignalBus.emit_signal("switch_changed") switch_changed.emit()
if anim_player != null:
anim_player.play("on")
if timer_enabled: if timer_enabled:
start_timer() start_timer()
else: else:
switched_on = true switched_on = true
SignalBus.emit_signal("switch_changed") switch_changed.emit()
if anim_player != null:
anim_player.play("on")
if timer_enabled: if timer_enabled:
start_timer() start_timer()
@@ -44,4 +55,4 @@ func start_timer():
func _on_timer_timeout(): func _on_timer_timeout():
switched_on = false switched_on = false
SignalBus.emit_signal("switch_changed") switch_changed.emit()

26
scripts/tube_top.gd Normal file
View File

@@ -0,0 +1,26 @@
extends Node3D
@export var level_bounds : LevelBounds
var open = true
var active = true
@onready var anim_player: AnimationPlayer = $AnimationPlayer
func _on_player_detect_body_entered(body: Node3D) -> void:
if body is Player:
if open and active:
anim_player.play("close")
open = false
func _on_switch_1_switch_changed() -> void:
if open:
anim_player.play("close")
open = false
else:
anim_player.play("open")
open = true
if level_bounds != null:
level_bounds.toggle_collision(!open)

1
scripts/tube_top.gd.uid Normal file
View File

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

205
tube_top.tscn Normal file

File diff suppressed because one or more lines are too long