added an assassinate target modifier

This commit is contained in:
Derek
2025-05-04 23:35:43 -05:00
parent 68facaf544
commit 6521b39492
20 changed files with 467 additions and 24 deletions

View File

@@ -10,7 +10,6 @@
[ext_resource type="Script" uid="uid://cd1g0y1aav5a3" path="res://level_resource.gd" id="4_p7b2e"] [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="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://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="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="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"] [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_intensity = 0.4
shader_parameter/vignette_opacity = 0.235 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"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_htvli"]
shader = ExtResource("6_x75tm") shader = ExtResource("6_x75tm")
shader_parameter/strength = 1.0 shader_parameter/strength = 1.0
@@ -65,7 +70,7 @@ offset_bottom = 2160.0
visible = false visible = false
layout_mode = 1 layout_mode = 1
hub_world = ExtResource("4_3fnrj") 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")]) gamemodes_in_rotation = Array[ExtResource("4_p0ng4")]([ExtResource("5_lv7ko")])
[node name="MarginContainer" type="MarginContainer" parent="."] [node name="MarginContainer" type="MarginContainer" parent="."]

20
enemyTargetMarker.tscn Normal file
View File

@@ -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")

View File

@@ -5,7 +5,7 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ewhtn"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ewhtn"]
transparency = 1 transparency = 1
shading_mode = 0 shading_mode = 0
albedo_color = Color(1, 1, 1, 0) albedo_color = Color(0.68, 0, 0, 0.486275)
[node name="EnemySpawner" type="CSGBox3D"] [node name="EnemySpawner" type="CSGBox3D"]
material = SubResource("StandardMaterial3D_ewhtn") material = SubResource("StandardMaterial3D_ewhtn")

View File

@@ -166,3 +166,12 @@ theme = ExtResource("1_22trs")
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 15 theme_override_constants/outline_size = 15
horizontal_alignment = 2 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"

View File

@@ -12,7 +12,7 @@ config_version=5
config/name="First Person Test" config/name="First Person Test"
config/tags=PackedStringArray("fps") config/tags=PackedStringArray("fps")
run/main_scene="uid://cfaydhd6u5bmb" run/main_scene="uid://b55ukxds1s7ih"
config/features=PackedStringArray("4.4", "Forward Plus") config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="uid://6svuq1l83al5" config/icon="uid://6svuq1l83al5"

View File

@@ -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")]

View File

@@ -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="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="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="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"] [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://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://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://dc0fxhbw6x1h3" path="res://tube_top.tscn" id="17_57hjo"] [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://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"] [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"] [sub_resource type="BoxShape3D" id="BoxShape3D_57hjo"]
size = Vector3(722.834, 289.347, 420.508) 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") script = ExtResource("1_e6kt2")
tube_top = NodePath("TubeTop")
[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)
[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, -41.021, 0, 40.533) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -41.021, 0, 40.533)
script = ExtResource("4_iqtg8") script = ExtResource("4_iqtg8")
room_lockdown = true room_lockdown = true
number_of_enemies = 25
number_of_drops = 30 number_of_drops = 30
[node name="RoomCheck" type="Area3D" parent="Level"] [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")] [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) 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")] [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) 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") shape = SubResource("BoxShape3D_57hjo")
[node name="TubeTop" parent="." node_paths=PackedStringArray("level_bounds") instance=ExtResource("17_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") level_bounds = NodePath("../LevelBounds")
[node name="Cloudspawn1" parent="." instance=ExtResource("18_e6kt2")] [node name="Cloudspawn1" parent="." instance=ExtResource("18_e6kt2")]

308
scenes/on_all_sides.tscn Normal file
View File

@@ -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)

View File

@@ -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")

View File

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

View File

@@ -5,7 +5,7 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hthjk"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hthjk"]
transparency = 1 transparency = 1
shading_mode = 0 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"]] [node name="ChestSpawner" type="CSGBox3D" groups=["chest_spawner"]]
material = SubResource("StandardMaterial3D_hthjk") material = SubResource("StandardMaterial3D_hthjk")

View File

@@ -1,6 +1,9 @@
extends CSGBox3D extends CSGBox3D
class_name CSGSpawner class_name CSGSpawner
func _ready() -> void:
visible = false
func random_box_pos(): func random_box_pos():
var x : float = randf_range(size.x / 2, -size.x /2) var x : float = randf_range(size.x / 2, -size.x /2)
var y : float = randf_range(size.y/ 2, -size.y /2) var y : float = randf_range(size.y/ 2, -size.y /2)

View File

@@ -22,7 +22,7 @@ func die():
if GameGlobals.last_hit_path == str(get_path()): if GameGlobals.last_hit_path == str(get_path()):
GameGlobals.last_hit_path = null GameGlobals.last_hit_path = null
SignalBus.emit_signal("enemy_killed") SignalBus.emit_signal("enemy_killed",enemy)
func drop_loot(): func drop_loot():
var number_of_drops = enemy.loot_amount var number_of_drops = enemy.loot_amount

View File

@@ -1,2 +1,5 @@
extends CSGSpawner extends CSGSpawner
class_name EnemySpawner class_name EnemySpawner
func _ready() -> void:
visible = false

View File

@@ -26,6 +26,7 @@ var crosshair_target
@onready var crosshair_center: TextureRect = $StaticItems/CrosshairCenter @onready var crosshair_center: TextureRect = $StaticItems/CrosshairCenter
@onready var pickup_item_indicator = preload("res://assets/pickup_item_indicator.tscn") @onready var pickup_item_indicator = preload("res://assets/pickup_item_indicator.tscn")
@onready var wobble_items: Control = $WobbleItems @onready var wobble_items: Control = $WobbleItems
@onready var timer_counter: Label = $WobbleItems/Timer_counter
const STAM_BAR_MAX_OPACITY = 1.0 const STAM_BAR_MAX_OPACITY = 1.0
@@ -45,6 +46,7 @@ func _ready() -> void:
viewportCenter = Vector2(viewportWidth/2,viewportHeight/2) viewportCenter = Vector2(viewportWidth/2,viewportHeight/2)
SignalBus.player_hit.connect(player_hit) SignalBus.player_hit.connect(player_hit)
SignalBus.ui_timer_update.connect(update_timer)
money_count = GameGlobals.money money_count = GameGlobals.money
@@ -53,7 +55,7 @@ func _ready() -> void:
health_bar_start_pos = health_bar.position health_bar_start_pos = health_bar.position
crosshair_target = CROSSHAIR_SIZE crosshair_target = CROSSHAIR_SIZE
timer_counter.visible = false
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(delta: float) -> void:
@@ -123,6 +125,11 @@ func _process(delta: float) -> void:
wobble_items.position = hud_wobble(delta/Engine.time_scale) 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): func shake_element(amount):
var rand_x = randf_range(-amount,amount) var rand_x = randf_range(-amount,amount)

View File

@@ -19,7 +19,13 @@ func _on_body_entered(body: Node3D) -> void:
timer.start(1) timer.start(1)
var scene = load(level_info["level_path"]).instantiate() var scene = load(level_info["level_path"]).instantiate()
scene_holder.add_child(scene) 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 var level_control = get_tree().current_scene
level_control.spawn_crown() level_control.spawn_crown()

View File

@@ -13,7 +13,7 @@ signal player_hit()
signal shot_fired(crosshair_jump_amount) signal shot_fired(crosshair_jump_amount)
signal player_reloading() signal player_reloading()
signal enemy_hit() signal enemy_hit()
signal enemy_killed() signal enemy_killed(enemy)
signal king_killed() signal king_killed()
signal weapon_list_changed() signal weapon_list_changed()
@@ -22,3 +22,6 @@ signal weapon_list_changed()
##ENEMY ##ENEMY
signal suspicious_sound(position,loudness,max_distance) signal suspicious_sound(position,loudness,max_distance)
signal engaging_target(enemy,target_position) signal engaging_target(enemy,target_position)
##UI
signal ui_timer_update(label,timer)

View File

@@ -102,9 +102,6 @@ func _process(delta):
line_of_sight.global_position = global_position line_of_sight.global_position = global_position
move_and_slide() move_and_slide()
if !is_on_floor():
velocity -= Vector3(0,9.8,0) * delta
look_at_player() look_at_player()
func stun(): func stun():

View File

@@ -1,8 +1,16 @@
extends Node3D extends Node3D
@export var tube_top : SpawnTube
var offset_pos
const CHEST_1 = preload("res://chest1.tscn") const CHEST_1 = preload("res://chest1.tscn")
func _ready() -> void: func _ready() -> void:
if tube_top != null:
position = -tube_top.position
spawn_chests() spawn_chests()
func spawn_chests(): func spawn_chests():

View File

@@ -1,4 +1,5 @@
extends Node3D extends Node3D
class_name SpawnTube
@export var level_bounds : LevelBounds @export var level_bounds : LevelBounds