From 6521b39492b9f026db41b1cd07326776c28e1b83 Mon Sep 17 00:00:00 2001 From: Derek Date: Sun, 4 May 2025 23:35:43 -0500 Subject: [PATCH] added an assassinate target modifier --- MainMenu.tscn | 9 +- enemyTargetMarker.tscn | 20 +++ enemy_spawner.tscn | 2 +- hud.tscn | 9 + project.godot | 2 +- scenes/00_scene_tester.tscn | 21 +++ scenes/highwire.tscn | 16 +- scenes/on_all_sides.tscn | 308 +++++++++++++++++++++++++++++++++ scripts/assassinate_vip.gd | 59 +++++++ scripts/assassinate_vip.gd.uid | 1 + scripts/chest_spawner.tscn | 2 +- scripts/csg_spawner.gd | 3 + scripts/enemy_die.gd | 2 +- scripts/enemy_spawner.gd | 3 + scripts/hud.gd | 9 +- scripts/scene_changer.gd | 8 +- scripts/signal_bus.gd | 5 +- scripts/spider.gd | 3 - scripts/sublevel.gd | 8 + scripts/tube_top.gd | 1 + 20 files changed, 467 insertions(+), 24 deletions(-) create mode 100644 enemyTargetMarker.tscn create mode 100644 scenes/00_scene_tester.tscn create mode 100644 scenes/on_all_sides.tscn create mode 100644 scripts/assassinate_vip.gd create mode 100644 scripts/assassinate_vip.gd.uid diff --git a/MainMenu.tscn b/MainMenu.tscn index ef22e9b..d5eb906 100644 --- a/MainMenu.tscn +++ b/MainMenu.tscn @@ -10,7 +10,6 @@ [ext_resource type="Script" uid="uid://cd1g0y1aav5a3" path="res://level_resource.gd" id="4_p7b2e"] [ext_resource type="Theme" uid="uid://buma708jpxqrn" path="res://Clean_theme.tres" id="4_ydrbj"] [ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="5_lv7ko"] -[ext_resource type="Resource" uid="uid://u0uyxevxesew" path="res://LevelResources/blockout2.tres" id="5_rnncn"] [ext_resource type="Resource" uid="uid://dvlbrq3a44byt" path="res://LevelResources/TestLevel2v2.tres" id="6_3fnrj"] [ext_resource type="Shader" uid="uid://cerm6i7o65okt" path="res://assets/Shaders/blur.gdshader" id="6_x75tm"] [ext_resource type="Texture2D" uid="uid://bt6utik8unkxa" path="res://assets/Textures/ObjectTextures/money.png" id="7_ia0hc"] @@ -42,6 +41,12 @@ shader_parameter/clip_warp = true shader_parameter/vignette_intensity = 0.4 shader_parameter/vignette_opacity = 0.235 +[sub_resource type="Resource" id="Resource_m04lp"] +script = ExtResource("4_p7b2e") +level_name = "On All Sides" +level_path = "res://scenes/on_all_sides.tscn" +metadata/_custom_type_script = "uid://cd1g0y1aav5a3" + [sub_resource type="ShaderMaterial" id="ShaderMaterial_htvli"] shader = ExtResource("6_x75tm") shader_parameter/strength = 1.0 @@ -65,7 +70,7 @@ offset_bottom = 2160.0 visible = false layout_mode = 1 hub_world = ExtResource("4_3fnrj") -maps_in_rotation = Array[ExtResource("4_p7b2e")]([ExtResource("5_rnncn"), ExtResource("6_3fnrj"), ExtResource("7_m04lp"), ExtResource("8_1thib")]) +maps_in_rotation = Array[ExtResource("4_p7b2e")]([ExtResource("6_3fnrj"), ExtResource("7_m04lp"), ExtResource("8_1thib"), SubResource("Resource_m04lp")]) gamemodes_in_rotation = Array[ExtResource("4_p0ng4")]([ExtResource("5_lv7ko")]) [node name="MarginContainer" type="MarginContainer" parent="."] diff --git a/enemyTargetMarker.tscn b/enemyTargetMarker.tscn new file mode 100644 index 0000000..60f2a75 --- /dev/null +++ b/enemyTargetMarker.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=3 uid="uid://355yvs3w3cc2"] + +[sub_resource type="CylinderMesh" id="CylinderMesh_oai8k"] +top_radius = 0.05 +bottom_radius = 0.05 +height = 20.0 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oai8k"] +transparency = 1 +albedo_color = Color(0, 1, 0, 0.498039) +emission_enabled = true +emission = Color(0, 1, 0, 1) +emission_energy_multiplier = 10.0 + +[node name="enemyTargetMarker" type="Node3D"] + +[node name="Node3D" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0) +mesh = SubResource("CylinderMesh_oai8k") +surface_material_override/0 = SubResource("StandardMaterial3D_oai8k") diff --git a/enemy_spawner.tscn b/enemy_spawner.tscn index 694fb84..36f0b45 100644 --- a/enemy_spawner.tscn +++ b/enemy_spawner.tscn @@ -5,7 +5,7 @@ [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ewhtn"] transparency = 1 shading_mode = 0 -albedo_color = Color(1, 1, 1, 0) +albedo_color = Color(0.68, 0, 0, 0.486275) [node name="EnemySpawner" type="CSGBox3D"] material = SubResource("StandardMaterial3D_ewhtn") diff --git a/hud.tscn b/hud.tscn index f8e115b..55d18be 100644 --- a/hud.tscn +++ b/hud.tscn @@ -166,3 +166,12 @@ theme = ExtResource("1_22trs") theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 15 horizontal_alignment = 2 + +[node name="Timer_counter" type="Label" parent="WobbleItems"] +layout_mode = 1 +offset_left = 50.0 +offset_top = 50.0 +offset_right = 401.0 +offset_bottom = 181.0 +theme = ExtResource("1_22trs") +text = "30.00" diff --git a/project.godot b/project.godot index 2ea5981..308b7ed 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="First Person Test" config/tags=PackedStringArray("fps") -run/main_scene="uid://cfaydhd6u5bmb" +run/main_scene="uid://b55ukxds1s7ih" config/features=PackedStringArray("4.4", "Forward Plus") config/icon="uid://6svuq1l83al5" diff --git a/scenes/00_scene_tester.tscn b/scenes/00_scene_tester.tscn new file mode 100644 index 0000000..52e02a4 --- /dev/null +++ b/scenes/00_scene_tester.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=6 format=3 uid="uid://b55ukxds1s7ih"] + +[ext_resource type="Script" uid="uid://bkii8jwf0k7tq" path="res://scripts/LevelManager.gd" id="1_fuxev"] +[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="2_prq60"] +[ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_yl170"] +[ext_resource type="PackedScene" uid="uid://bj1y0fbjtul4a" path="res://post_processing.tscn" id="4_7q24w"] +[ext_resource type="PackedScene" uid="uid://b73qmmwsxnkgh" path="res://scenes/on_all_sides.tscn" id="5_prq60"] + +[node name="SceneTester" type="Node3D"] +script = ExtResource("1_fuxev") + +[node name="Player" parent="." instance=ExtResource("2_prq60")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.404936, 2.07023, 0) + +[node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_yl170")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23.11, 0.822842, -32.3024) + +[node name="PostProcessing" parent="." instance=ExtResource("4_7q24w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.12741, -1.19209e-07, 2.36528) + +[node name="On All Sides" parent="." instance=ExtResource("5_prq60")] diff --git a/scenes/highwire.tscn b/scenes/highwire.tscn index 67cf882..c998468 100644 --- a/scenes/highwire.tscn +++ b/scenes/highwire.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=22 format=3 uid="uid://uo43j7bomkf3"] +[gd_scene load_steps=20 format=3 uid="uid://uo43j7bomkf3"] [ext_resource type="Script" uid="uid://pm8n67yhip1p" path="res://scripts/sublevel.gd" id="1_e6kt2"] -[ext_resource type="PackedScene" uid="uid://cwy8iv8nlwqrc" path="res://assets/realtime_day_night_cycle.tscn" id="3_uc3ig"] [ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="4_iqtg8"] [ext_resource type="PackedScene" uid="uid://c7dhavrt11u55" path="res://enemy_spawner.tscn" id="5_e6kt2"] [ext_resource type="Script" uid="uid://dv1oc7x3gwtes" path="res://scripts/room_check.gd" id="7_3a6nw"] @@ -9,7 +8,6 @@ [ext_resource type="PackedScene" uid="uid://df34olntmk0wl" path="res://assets/vent_1.tscn" id="11_0hcft"] [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://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://c5t4uqihf8q0i" path="res://scripts/chest_spawner.tscn" id="17_e6kt2"] [ext_resource type="PackedScene" uid="uid://dt4t2a48204v1" path="res://assets/spikes_1.tscn" id="17_hpnr5"] @@ -29,17 +27,14 @@ albedo_color = Color(0.300579, 0.462784, 0.249767, 1) [sub_resource type="BoxShape3D" id="BoxShape3D_57hjo"] size = Vector3(722.834, 289.347, 420.508) -[node name="Highwire" type="Node3D"] +[node name="Highwire" type="Node3D" node_paths=PackedStringArray("tube_top")] script = ExtResource("1_e6kt2") - -[node name="Realtime Day Night Cycle" parent="." instance=ExtResource("3_uc3ig")] -transform = Transform3D(0.510503, -0.00501647, 0.859861, 0.00982605, 0.999952, 1.08313e-09, -0.85982, 0.00844904, 0.510527, -41.021, 0, 40.533) +tube_top = NodePath("TubeTop") [node name="Level" type="Node3D" parent="." groups=["enemy_hivemind"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.021, 0, 40.533) script = ExtResource("4_iqtg8") room_lockdown = true -number_of_enemies = 25 number_of_drops = 30 [node name="RoomCheck" type="Area3D" parent="Level"] @@ -235,9 +230,6 @@ transform = Transform3D(0.610047, -1.32451, -1.36876, 1.81658, 0.836683, -7.9915 [node name="Vent1" parent="NavigationRegion3D" instance=ExtResource("11_0hcft")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 16.9673, 0.57067, -31.7536) -[node name="PostProcessing" parent="." instance=ExtResource("17_6thjn")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.021, 0, 40.533) - [node name="Stats" parent="." instance=ExtResource("19_p7jxd")] transform = Transform3D(-0.98212, 0, 0.188255, 0, 1, 0, -0.188255, 0, -0.98212, -19.0212, 1.4638, 14.5672) @@ -295,7 +287,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -104.537, 95.2632, -39.2754) 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) +transform = Transform3D(0.0715845, 0, -0.997435, 0, 1, 0, 0.997435, 0, 0.0715845, 0.778909, 0, -0.122) level_bounds = NodePath("../LevelBounds") [node name="Cloudspawn1" parent="." instance=ExtResource("18_e6kt2")] diff --git a/scenes/on_all_sides.tscn b/scenes/on_all_sides.tscn new file mode 100644 index 0000000..208dc7b --- /dev/null +++ b/scenes/on_all_sides.tscn @@ -0,0 +1,308 @@ +[gd_scene load_steps=13 format=3 uid="uid://b73qmmwsxnkgh"] + +[ext_resource type="Script" uid="uid://pm8n67yhip1p" path="res://scripts/sublevel.gd" id="1_ne1y2"] +[ext_resource type="Script" uid="uid://dhmpfl0bks8sf" path="res://scripts/assassinate_vip.gd" id="2_qmrvu"] +[ext_resource type="Script" uid="uid://12l74jckdnpl" path="res://scripts/room_manager.gd" id="3_25f4w"] +[ext_resource type="Material" uid="uid://br2pyyyl2n3cx" path="res://assets/materials/prototype/prototype1.tres" id="3_qhpyo"] +[ext_resource type="PackedScene" uid="uid://c7dhavrt11u55" path="res://enemy_spawner.tscn" id="5_idky0"] +[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="7_h2y3v"] +[ext_resource type="PackedScene" uid="uid://24slv0pyxcd5" path="res://assets/level_bounds.tscn" id="15_tkihp"] +[ext_resource type="PackedScene" uid="uid://dc0fxhbw6x1h3" path="res://tube_top.tscn" id="16_dqrc3"] +[ext_resource type="PackedScene" uid="uid://c0vc26f4warsi" path="res://scripts/cloud_spawner.tscn" id="17_nrbno"] +[ext_resource type="PackedScene" uid="uid://c5t4uqihf8q0i" path="res://scripts/chest_spawner.tscn" id="18_nmbyo"] + +[sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"] +vertices = PackedVector3Array(-23.1638, 0.784201, -34.7984, -17.9138, 0.784201, -34.5484, -17.6638, 0.784201, -36.2984, -23.1638, 0.784201, -46.7984, 22.0862, 0.784201, -36.2984, 22.3362, 0.784201, -34.0484, 27.3362, 0.784201, -34.0484, 27.3362, 0.784201, -46.7984, -9.6638, 8.5342, -32.2984, -8.4138, 8.5342, -32.5484, -8.4138, 8.5342, -35.2984, -16.9138, 8.5342, -35.2984, -16.9138, 8.5342, -28.5484, -9.6638, 8.5342, -28.5484, -7.4138, 8.5342, -32.2984, 21.3362, 8.5342, -35.2984, -7.4138, 8.5342, -28.5484, 21.3362, 8.5342, -28.5484, -29.6638, -24.9658, -35.0484, -29.6638, -24.9658, -23.0484, -11.9138, -24.9658, -23.0484, -11.9138, -24.9658, -35.0484, -16.6638, 0.784201, -35.0484, -16.6638, 0.784201, -28.7984, 21.0862, 0.784201, -28.7984, 21.0862, 0.784201, -35.0484, -23.1638, 0.784201, -29.0484, -17.9138, 0.784201, -29.2984, 22.3362, 0.784201, -27.7984, 20.5862, 0.784201, -27.5484, 20.8362, 0.784201, -22.2984, 27.3362, 0.784201, -22.2984, -17.9138, 0.784201, -27.7984, -16.4138, 0.784201, -22.2984, -16.1638, 0.784201, -27.5484, -23.1638, 0.784201, -22.2984, -43.4138, 0.784201, -20.5484, -41.6638, 0.784201, -20.7984, -41.9138, 0.784201, -26.0484, -53.9138, 0.784201, -26.0484, -41.1638, 0.784201, 24.4516, -41.1638, 0.784201, 19.4516, -43.4138, 0.784201, 19.2016, -53.9138, 0.784201, 24.4516, -36.4138, 0.784201, -20.7984, -36.1638, 0.784201, -26.0484, -34.9138, 0.784201, -20.7984, -34.6638, 0.784201, -19.0484, -29.4138, 0.784201, -19.2984, -29.4138, 0.784201, -26.0484, -29.6638, -11.9658, -21.5484, -29.6638, -11.9658, -9.5484, -11.9138, -11.9658, -9.5484, -11.9138, -11.9658, -21.5484, -42.4138, 8.5342, -19.7984, -42.4138, 8.5342, 18.4516, -35.6638, 8.5342, 18.4516, -35.6638, 8.5342, -19.7984, -42.1638, 0.784201, -19.5484, -42.1638, 0.784201, 18.2016, -35.9138, 0.784201, 18.2016, -35.9138, 0.784201, -19.5484, -34.6638, 0.784201, 17.7016, -29.4138, 0.784201, 17.9516, -8.1638, -0.215799, -19.0484, -8.1638, -0.215799, -7.0484, 0.0862007, -0.215799, -7.0484, 0.0862007, -0.215799, -19.0484, 34.3362, 0.784201, -10.7984, 36.0862, 0.784201, -11.0484, 35.8362, 0.784201, -18.7984, 26.3362, 0.784201, -8.7984, 34.3362, 0.784201, -8.7984, 26.3362, 0.784201, -18.7984, 41.3362, 0.784201, -11.0484, 41.5862, 0.784201, -18.7984, 42.8362, 0.784201, -11.0484, 43.0862, 0.784201, -9.2984, 50.8362, 0.784201, -9.5484, 50.8362, 0.784201, -18.7984, 3.3362, 2.2842, -17.5484, 3.3362, 2.2842, -5.5484, 24.0862, 2.2842, -5.5484, 24.0862, 2.2842, -17.5484, 35.3362, 8.5342, -10.0484, 35.3362, 8.5342, 28.2016, 42.0862, 8.5342, 28.2016, 42.0862, 8.5342, -10.0484, 35.5862, 0.784201, -9.7984, 35.5862, 0.784201, 27.9516, 41.8362, 0.784201, 27.9516, 41.8362, 0.784201, -9.7984, 43.0862, 0.784201, 28.9516, 36.3362, 0.784201, 29.2016, 35.8362, 0.784201, 31.4516, 50.8362, 0.784201, 31.4516, 34.3362, 0.784201, 28.9516, 26.3362, 0.784201, 31.4516, -21.6638, 0.784201, -6.5484, -21.6638, 0.784201, 5.4516, -13.6638, 0.784201, 5.4516, -13.6638, 0.784201, -6.5484, -21.6638, 18.7842, -6.5484, -21.6638, 18.7842, 5.4516, -13.6638, 18.7842, 5.4516, -13.6638, 18.7842, -6.5484, 16.8362, 16.0342, -6.5484, 16.8362, 16.0342, 5.4516, 24.8362, 16.0342, 5.4516, 24.8362, 16.0342, -6.5484, -10.1638, 0.784201, -3.0484, -10.1638, 0.784201, 2.4516, -2.1638, 0.784201, 2.4516, -2.1638, 0.784201, -3.0484, -29.6638, -16.7158, -0.798401, -29.6638, -16.7158, 11.2016, -11.9138, -16.7158, 11.2016, -11.9138, -16.7158, -0.798401, 9.5862, 1.7842, 0.201599, 9.5862, 1.7842, 12.2016, 17.8362, 1.7842, 12.2016, 17.8362, 1.7842, 0.201599, -27.6638, 0.784201, 8.2016, -27.6638, 0.784201, 20.2016, -2.9138, 0.784201, 20.2016, -2.9138, 0.784201, 8.2016, -0.663799, 0.784201, 8.2016, -0.663799, 0.784201, 20.2016, 7.3362, 0.784201, 20.2016, 7.3362, 0.784201, 8.2016, 10.3362, 10.0342, 12.9516, 10.3362, 10.0342, 24.9516, 18.3362, 10.0342, 24.9516, 18.3362, 10.0342, 12.9516, -34.9138, 0.784201, 19.4516, -29.4138, 0.784201, 24.4516, -25.9138, -9.4658, 21.2016, -25.9138, -9.4658, 33.2016, 7.0862, -9.4658, 33.2016, 7.0862, -9.4658, 21.2016, -25.9138, 22.7842, 21.2016, -25.9138, 22.7842, 33.2016, 7.0862, 22.7842, 33.2016, 7.0862, 22.7842, 21.2016, -30.6638, 0.784201, 41.7016, -28.4138, 0.784201, 42.2016, -28.1638, 0.784201, 40.2016, -30.6638, 0.784201, 32.4516, 10.3362, 0.784201, 40.2016, 10.5862, 0.784201, 32.4516, 12.0862, 0.784201, 40.4516, 12.0862, 0.784201, 42.4516, 19.5862, 0.784201, 42.4516, 19.5862, 0.784201, 32.4516, -27.4138, 8.5342, 41.2016, -27.4138, 8.5342, 48.2016, 11.0862, 8.5342, 48.2016, 11.0862, 8.5342, 41.2016, -27.1638, 0.784201, 41.4516, -27.1638, 0.784201, 47.9516, 10.8362, 0.784201, 47.9516, 10.8362, 0.784201, 41.4516, -28.1638, 0.784201, 49.2016, -30.6638, 0.784201, 56.9516, 10.5862, 0.784201, 56.9516, 10.3362, 0.784201, 49.2016, 12.0862, 0.784201, 46.9516, 19.5862, 0.784201, 46.9516, 12.0862, 0.784201, 48.9516, 19.5862, 0.784201, 56.9516) +polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(4, 2, 7), PackedInt32Array(7, 2, 3), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(13, 12, 8), PackedInt32Array(8, 12, 11), PackedInt32Array(9, 10, 14), PackedInt32Array(14, 10, 15), PackedInt32Array(16, 14, 17), PackedInt32Array(17, 14, 15), PackedInt32Array(21, 20, 18), PackedInt32Array(18, 20, 19), PackedInt32Array(25, 24, 22), PackedInt32Array(22, 24, 23), PackedInt32Array(27, 26, 1), PackedInt32Array(1, 26, 0), PackedInt32Array(29, 28, 30), PackedInt32Array(30, 28, 31), PackedInt32Array(5, 6, 28), PackedInt32Array(28, 6, 31), PackedInt32Array(26, 27, 32), PackedInt32Array(32, 34, 33), PackedInt32Array(26, 32, 35), PackedInt32Array(35, 32, 33), PackedInt32Array(34, 29, 33), PackedInt32Array(33, 29, 30), PackedInt32Array(37, 36, 38), PackedInt32Array(38, 36, 39), PackedInt32Array(41, 40, 42), PackedInt32Array(42, 40, 43), PackedInt32Array(42, 43, 36), PackedInt32Array(36, 43, 39), PackedInt32Array(37, 38, 44), PackedInt32Array(44, 38, 45), PackedInt32Array(46, 44, 45), PackedInt32Array(48, 47, 46), PackedInt32Array(45, 49, 46), PackedInt32Array(46, 49, 48), PackedInt32Array(53, 52, 50), PackedInt32Array(50, 52, 51), PackedInt32Array(57, 56, 54), PackedInt32Array(54, 56, 55), PackedInt32Array(61, 60, 58), PackedInt32Array(58, 60, 59), PackedInt32Array(47, 48, 62), PackedInt32Array(62, 48, 63), PackedInt32Array(67, 66, 64), PackedInt32Array(64, 66, 65), PackedInt32Array(70, 69, 68), PackedInt32Array(68, 72, 71), PackedInt32Array(70, 68, 73), PackedInt32Array(73, 68, 71), PackedInt32Array(69, 70, 74), PackedInt32Array(74, 70, 75), PackedInt32Array(76, 74, 75), PackedInt32Array(78, 77, 76), PackedInt32Array(75, 79, 76), PackedInt32Array(76, 79, 78), PackedInt32Array(83, 82, 80), PackedInt32Array(80, 82, 81), PackedInt32Array(87, 86, 84), PackedInt32Array(84, 86, 85), PackedInt32Array(91, 90, 88), PackedInt32Array(88, 90, 89), PackedInt32Array(93, 92, 94), PackedInt32Array(94, 92, 95), PackedInt32Array(77, 78, 92), PackedInt32Array(92, 78, 95), PackedInt32Array(93, 94, 96), PackedInt32Array(96, 94, 97), PackedInt32Array(72, 96, 71), PackedInt32Array(71, 96, 97), PackedInt32Array(101, 100, 98), PackedInt32Array(98, 100, 99), PackedInt32Array(105, 104, 102), PackedInt32Array(102, 104, 103), PackedInt32Array(109, 108, 106), PackedInt32Array(106, 108, 107), PackedInt32Array(113, 112, 110), PackedInt32Array(110, 112, 111), PackedInt32Array(117, 116, 114), PackedInt32Array(114, 116, 115), PackedInt32Array(121, 120, 118), PackedInt32Array(118, 120, 119), PackedInt32Array(125, 124, 122), PackedInt32Array(122, 124, 123), PackedInt32Array(129, 128, 126), PackedInt32Array(126, 128, 127), PackedInt32Array(133, 132, 130), PackedInt32Array(130, 132, 131), PackedInt32Array(62, 63, 134), PackedInt32Array(134, 63, 135), PackedInt32Array(41, 134, 40), PackedInt32Array(40, 134, 135), PackedInt32Array(139, 138, 136), PackedInt32Array(136, 138, 137), PackedInt32Array(143, 142, 140), PackedInt32Array(140, 142, 141), PackedInt32Array(145, 144, 146), PackedInt32Array(146, 144, 147), PackedInt32Array(148, 146, 149), PackedInt32Array(149, 146, 147), PackedInt32Array(152, 151, 150), PackedInt32Array(150, 148, 149), PackedInt32Array(149, 153, 150), PackedInt32Array(150, 153, 152), PackedInt32Array(157, 156, 154), PackedInt32Array(154, 156, 155), PackedInt32Array(161, 160, 158), PackedInt32Array(158, 160, 159), PackedInt32Array(145, 162, 144), PackedInt32Array(144, 162, 163), PackedInt32Array(165, 164, 162), PackedInt32Array(162, 164, 163), PackedInt32Array(151, 152, 166), PackedInt32Array(166, 152, 167), PackedInt32Array(168, 166, 167), PackedInt32Array(164, 165, 168), PackedInt32Array(164, 168, 169), PackedInt32Array(169, 168, 167)] + +[sub_resource type="BoxShape3D" id="BoxShape3D_57hjo"] +size = Vector3(722.834, 289.347, 420.508) + +[node name="On All Sides" type="Node3D" node_paths=PackedStringArray("tube_top")] +script = ExtResource("1_ne1y2") +tube_top = NodePath("TubeTop") + +[node name="Mods" type="Node" parent="."] + +[node name="Assassinate VIP" type="Node" parent="Mods"] +script = ExtResource("2_qmrvu") +time_to_kill = 20.0 + +[node name="Level" type="Node3D" parent="."] +script = ExtResource("3_25f4w") +start_enemies = 25 + +[node name="EnemySpawner" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 46.8788, 1.54828, 7.20375) +size = Vector3(6.12988, 1, 46.8359) + +[node name="EnemySpawner2" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.0106, 1.54828, 5.00937) +size = Vector3(6.12988, 1, 46.8359) + +[node name="EnemySpawner3" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.66028, 2.2073, -40.5456) +size = Vector3(2.15625, 1, 46.8359) + +[node name="EnemySpawner4" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.66028, 2.33793, -24.9036) +size = Vector3(1.49316, 1, 46.8359) + +[node name="EnemySpawner5" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.05786, 1.54828, 37.0325) +size = Vector3(6.3461, 1, 47.9705) + +[node name="EnemySpawner6" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.05786, 1.54828, 53.0799) +size = Vector3(6.3461, 1, 47.9705) + +[node name="EnemySpawner7" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -9.96418, 9.49228, 43.7664) +size = Vector3(6.3461, 1, 25.4063) + +[node name="EnemySpawner8" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.1947, 9.49228, -0.246098) +size = Vector3(6.3461, 1, 35.1758) + +[node name="EnemySpawner9" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.57354, 9.49228, -34.1144) +size = Vector3(1.967, 1, 35.1758) + +[node name="EnemySpawner10" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 37.7172, 8.77141, 9.27254) +size = Vector3(6.3461, 1, 35.1758) + +[node name="EnemySpawner11" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.7217, 16.6108, -0.468452) +size = Vector3(6.3461, 1, 10.9738) + +[node name="EnemySpawner12" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.2782, 19.2613, 0.279571) +size = Vector3(6.3461, 1, 10.9738) + +[node name="EnemySpawner13" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.5441, 23.5188, 28.6126) +size = Vector3(28.7051, 1, 8.77832) + +[node name="EnemySpawner14" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.6304, 10.3418, 19.1524) +size = Vector3(5.86328, 1, 11.2229) + +[node name="ChestSpawner" parent="Level" instance=ExtResource("18_nmbyo")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.5996, 19.3428, 0) +size = Vector3(4.39746, 1, 7.93359) + +[node name="ChestSpawner2" parent="Level" instance=ExtResource("18_nmbyo")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.7288, 16.3665, -0.807303) +size = Vector3(4.39746, 1, 7.93359) + +[node name="JumpPlatform" parent="Level" instance=ExtResource("7_h2y3v")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -4.14353, -0.588233, -8.8915) + +[node name="EnemySpawner15" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.8099, -11.0427, -15.8559) +size = Vector3(12.875, 1, 10.0996) + +[node name="EnemySpawner18" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.8099, -23.9949, -29.4644) +size = Vector3(12.875, 1, 10.0996) + +[node name="EnemySpawner16" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.6246, -15.9457, 5.43331) +size = Vector3(12.875, 1, 10.0996) + +[node name="EnemySpawner17" parent="Level" instance=ExtResource("5_idky0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.0432, -8.74708, 27.4245) +size = Vector3(12.875, 1, 10.0996) + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +navigation_mesh = SubResource("NavigationMesh_8aw3d") + +[node name="CSGBox3D" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.10042, 0, -0.372803) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 6.19043) + +[node name="CSGBox3D2" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.6851, 0, -0.627585) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D16" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.6851, 18.033, -0.627585) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D19" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.8547, -25.9658, -29.1476) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(18.5124, 1, 12.7539) + +[node name="CSGBox3D20" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.8547, -12.8185, -15.562) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(18.5124, 1, 12.7539) + +[node name="CSGBox3D21" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.8547, -17.5337, 5.10468) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(18.5124, 1, 12.7539) + +[node name="CSGBox3D22" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.39587, -10.2332, 27.296) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(33.8205, 1, 12.7539) + +[node name="CSGBox3D23" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.39587, 21.8897, 27.296) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(33.8205, 1, 12.7539) + +[node name="CSGBox3D24" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.58811, 14.669, -21.5926) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(1.01563, 15.4414, 20.479) + +[node name="CSGBox3D17" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.7918, 15.2313, -0.627585) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D18" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.374, 9.16701, 19.0501) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D3" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.2526, 0, 14.1974) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(25.4416, 1, 12.7539) + +[node name="CSGBox3D8" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.7109, 0, -0.755195) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(25.4058, 1, 51.1521) + +[node name="CSGBox3D9" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.099, 3.84766, -0.755195) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(7.59146, 8.69531, 39.0459) + +[node name="CSGBox3D10" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.14892, 0, -34.5955) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(25.4058, 1, 51.1521) + +[node name="CSGBox3D11" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.28703, 3.84766, -31.9873) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(7.59146, 8.69531, 39.0459) + +[node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.5835, 7.62939e-06, 6.36862) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(25.4058, 1, 51.1521) + +[node name="CSGBox3D13" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.7217, 3.84766, 8.97686) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(7.59146, 8.69531, 39.0459) + +[node name="CSGBox3D14" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.54569, 7.62939e-06, 44.682) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(25.4058, 1, 51.1521) + +[node name="CSGBox3D15" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -8.15719, 3.84766, 44.728) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(7.59146, 8.69531, 39.0459) + +[node name="CSGBox3D4" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.38403, 0, 14.1554) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D5" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.7503, 0.958037, 6.3148) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="CSGBox3D6" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.6862, 1.42971, -11.49) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(21.4357, 1, 12.7539) + +[node name="CSGBox3D7" type="CSGBox3D" parent="NavigationRegion3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.07674, -1.13757, -12.9443) +material_override = ExtResource("3_qhpyo") +use_collision = true +size = Vector3(8.86569, 1, 12.7539) + +[node name="LevelBounds" parent="." instance=ExtResource("15_tkihp")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.7992, 0, 8.04956) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelBounds"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -104.537, 95.2632, -39.2754) +shape = SubResource("BoxShape3D_57hjo") + +[node name="TubeTop" parent="." node_paths=PackedStringArray("level_bounds") instance=ExtResource("16_dqrc3")] +transform = Transform3D(0.0715845, 0, -0.997435, 0, 1, 0, 0.997435, 0, 0.0715845, 0.778909, 0, -0.122) +level_bounds = NodePath("../LevelBounds") + +[node name="JumpPlatform3" parent="." instance=ExtResource("7_h2y3v")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -23.4021, -25.4165, -31.3651) + +[node name="Cloudspawn1" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -110.629, -77.5642, -8.15445) +size = Vector3(972.52, 146.752, 676.655) +number_of_clouds = 150 + +[node name="Cloudspawn2" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -110.629, 195.486, -8.15445) +size = Vector3(972.52, 146.752, 676.655) + +[node name="Cloudspawn3" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -110.629, 59.7442, 199.42) +size = Vector3(972.52, 146.752, 67.3334) + +[node name="Cloudspawn4" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -110.629, 59.7442, -303.093) +size = Vector3(972.52, 146.752, 67.3334) + +[node name="Cloudspawn5" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 324.438, 59.7442, -47.1966) +size = Vector3(102.386, 146.752, 579.126) + +[node name="Cloudspawn6" parent="." instance=ExtResource("17_nrbno")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -567.32, 59.7442, -47.1966) +size = Vector3(102.386, 146.752, 579.126) + +[node name="JumpPlatform" parent="." instance=ExtResource("7_h2y3v")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -33.2048, 0.54934, 16.1302) + +[node name="JumpPlatform2" parent="." instance=ExtResource("7_h2y3v")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -23.1049, -12.3398, -12.6946) diff --git a/scripts/assassinate_vip.gd b/scripts/assassinate_vip.gd new file mode 100644 index 0000000..7e66883 --- /dev/null +++ b/scripts/assassinate_vip.gd @@ -0,0 +1,59 @@ +extends Node +class_name Modifier + +@export var time_to_kill : float = 30.0 + +@onready var level: Node3D = $"../../Level" +@onready var marker = preload("res://enemyTargetMarker.tscn") +@onready var level_control = get_tree().current_scene + +var target_enemy +var timer + +func _ready() -> void: + await get_tree().create_timer(5).timeout + select_random_enemy() + SignalBus.connect("enemy_killed",check_killed_target) + timer = time_to_kill + +func _process(delta: float) -> void: + if target_enemy != null: + if timer > 0: + timer -= delta + update_timer("kill target") + else: + level_control.die() + + +func update_timer(label): + var rounded_timer = round(timer) + SignalBus.emit_signal("ui_timer_update",label,timer) + +func check_killed_target(enemy): + print("ENEMY KILLED : ",enemy) + print("TARGET ENEMY : ",target_enemy) + if enemy == target_enemy: + timer = time_to_kill + target_enemy = null + select_random_enemy() + +func add_marker_to_enemy(): + if target_enemy != null: + var instance_marker = marker.instantiate() + target_enemy.add_child(instance_marker) + instance_marker.global_position = target_enemy.global_position + +func select_random_enemy(): + var level_stuff = level.get_children() + var enemies = [] + for node in level_stuff: + print(node) + if node is Enemy: + enemies.append(node) + + if enemies.size() > 0: + target_enemy = enemies.pick_random() + add_marker_to_enemy() + print("TARGET ENEMY : ",target_enemy.name) + else: + print("KILLED EM ALL") diff --git a/scripts/assassinate_vip.gd.uid b/scripts/assassinate_vip.gd.uid new file mode 100644 index 0000000..e478ce6 --- /dev/null +++ b/scripts/assassinate_vip.gd.uid @@ -0,0 +1 @@ +uid://dhmpfl0bks8sf diff --git a/scripts/chest_spawner.tscn b/scripts/chest_spawner.tscn index 6d95c24..0a731a4 100644 --- a/scripts/chest_spawner.tscn +++ b/scripts/chest_spawner.tscn @@ -5,7 +5,7 @@ [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hthjk"] transparency = 1 shading_mode = 0 -albedo_color = Color(1, 1, 1, 0) +albedo_color = Color(0, 0.498039, 0, 0.568627) [node name="ChestSpawner" type="CSGBox3D" groups=["chest_spawner"]] material = SubResource("StandardMaterial3D_hthjk") diff --git a/scripts/csg_spawner.gd b/scripts/csg_spawner.gd index 8f9ee3b..a4e7fb2 100644 --- a/scripts/csg_spawner.gd +++ b/scripts/csg_spawner.gd @@ -1,6 +1,9 @@ extends CSGBox3D class_name CSGSpawner +func _ready() -> void: + visible = false + func random_box_pos(): var x : float = randf_range(size.x / 2, -size.x /2) var y : float = randf_range(size.y/ 2, -size.y /2) diff --git a/scripts/enemy_die.gd b/scripts/enemy_die.gd index 2421d51..36e6c96 100644 --- a/scripts/enemy_die.gd +++ b/scripts/enemy_die.gd @@ -22,7 +22,7 @@ func die(): if GameGlobals.last_hit_path == str(get_path()): GameGlobals.last_hit_path = null - SignalBus.emit_signal("enemy_killed") + SignalBus.emit_signal("enemy_killed",enemy) func drop_loot(): var number_of_drops = enemy.loot_amount diff --git a/scripts/enemy_spawner.gd b/scripts/enemy_spawner.gd index f1aea0e..c9b26a5 100644 --- a/scripts/enemy_spawner.gd +++ b/scripts/enemy_spawner.gd @@ -1,2 +1,5 @@ extends CSGSpawner class_name EnemySpawner + +func _ready() -> void: + visible = false diff --git a/scripts/hud.gd b/scripts/hud.gd index 332f4ba..22b4a77 100644 --- a/scripts/hud.gd +++ b/scripts/hud.gd @@ -26,6 +26,7 @@ var crosshair_target @onready var crosshair_center: TextureRect = $StaticItems/CrosshairCenter @onready var pickup_item_indicator = preload("res://assets/pickup_item_indicator.tscn") @onready var wobble_items: Control = $WobbleItems +@onready var timer_counter: Label = $WobbleItems/Timer_counter const STAM_BAR_MAX_OPACITY = 1.0 @@ -45,6 +46,7 @@ func _ready() -> void: viewportCenter = Vector2(viewportWidth/2,viewportHeight/2) SignalBus.player_hit.connect(player_hit) + SignalBus.ui_timer_update.connect(update_timer) money_count = GameGlobals.money @@ -53,7 +55,7 @@ func _ready() -> void: health_bar_start_pos = health_bar.position crosshair_target = CROSSHAIR_SIZE - + timer_counter.visible = false # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: @@ -123,6 +125,11 @@ func _process(delta: float) -> void: wobble_items.position = hud_wobble(delta/Engine.time_scale) +func update_timer(label,timer): + if timer_counter.visible == false: + timer_counter.visible = true + + timer_counter.text = str(label,"\n", timer) func shake_element(amount): var rand_x = randf_range(-amount,amount) diff --git a/scripts/scene_changer.gd b/scripts/scene_changer.gd index 19bc9b0..1185455 100644 --- a/scripts/scene_changer.gd +++ b/scripts/scene_changer.gd @@ -19,8 +19,14 @@ func _on_body_entered(body: Node3D) -> void: timer.start(1) var scene = load(level_info["level_path"]).instantiate() scene_holder.add_child(scene) - scene.global_position = global_position + SCENE_SPAWN_OFFSET + var spawn_tube_offset_pos = Vector3.ZERO + if scene.tube_top != null: + spawn_tube_offset_pos = scene.tube_top.position + + scene.global_position = global_position + SCENE_SPAWN_OFFSET + spawn_tube_offset_pos + + var level_control = get_tree().current_scene level_control.spawn_crown() diff --git a/scripts/signal_bus.gd b/scripts/signal_bus.gd index 3d65887..ae684e6 100644 --- a/scripts/signal_bus.gd +++ b/scripts/signal_bus.gd @@ -13,7 +13,7 @@ signal player_hit() signal shot_fired(crosshair_jump_amount) signal player_reloading() signal enemy_hit() -signal enemy_killed() +signal enemy_killed(enemy) signal king_killed() signal weapon_list_changed() @@ -22,3 +22,6 @@ signal weapon_list_changed() ##ENEMY signal suspicious_sound(position,loudness,max_distance) signal engaging_target(enemy,target_position) + +##UI +signal ui_timer_update(label,timer) diff --git a/scripts/spider.gd b/scripts/spider.gd index f42e996..5b2887d 100644 --- a/scripts/spider.gd +++ b/scripts/spider.gd @@ -101,9 +101,6 @@ func _ready(): func _process(delta): line_of_sight.global_position = global_position move_and_slide() - - if !is_on_floor(): - velocity -= Vector3(0,9.8,0) * delta look_at_player() diff --git a/scripts/sublevel.gd b/scripts/sublevel.gd index 9e82a8c..e2e37c5 100644 --- a/scripts/sublevel.gd +++ b/scripts/sublevel.gd @@ -1,8 +1,16 @@ extends Node3D +@export var tube_top : SpawnTube + +var offset_pos + const CHEST_1 = preload("res://chest1.tscn") func _ready() -> void: + if tube_top != null: + position = -tube_top.position + + spawn_chests() func spawn_chests(): diff --git a/scripts/tube_top.gd b/scripts/tube_top.gd index 6d00a03..8ce3d15 100644 --- a/scripts/tube_top.gd +++ b/scripts/tube_top.gd @@ -1,4 +1,5 @@ extends Node3D +class_name SpawnTube @export var level_bounds : LevelBounds