Added Health pickup, started pickup assignment through level control and added enemy counter

This commit is contained in:
derek
2024-08-05 13:37:35 -05:00
parent c8f3e8eee6
commit 3335ad0804
17 changed files with 883 additions and 44 deletions

Binary file not shown.

View File

@@ -0,0 +1,50 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b176okflls62i"
path="res://.godot/imported/health_pickup.blend-90f31abcb70f1ae6213779a2215ac05c.scn"
[deps]
source_file="res://assets/Models/health_pickup.blend"
dest_files=["res://.godot/imported/health_pickup.blend-90f31abcb70f1ae6213779a2215ac05c.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
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
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1
blender/nodes/visible=0
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/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

Binary file not shown.

View File

@@ -0,0 +1,28 @@
[gd_scene load_steps=4 format=3 uid="uid://b3kmoledivusi"]
[ext_resource type="FontFile" uid="uid://d2h2tjhxiv5wo" path="res://assets/fonts/White On Black.ttf" id="1_3u3rp"]
[ext_resource type="Script" path="res://scripts/dead_announce.gd" id="2_12exd"]
[sub_resource type="LabelSettings" id="LabelSettings_ic2ps"]
font = ExtResource("1_3u3rp")
font_size = 500
[node name="PickupAnnounce" type="Label"]
offset_right = 3440.0
offset_bottom = 1440.0
size_flags_horizontal = 3
size_flags_vertical = 6
text = "CLEARED"
label_settings = SubResource("LabelSettings_ic2ps")
horizontal_alignment = 1
vertical_alignment = 1
script = ExtResource("2_12exd")
[node name="ColorRect" type="ColorRect" parent="."]
visible = false
y_sort_enabled = true
layout_mode = 0
offset_top = 1.0
offset_right = 3840.0
offset_bottom = 2161.0
color = Color(0.615686, 0, 0.0980392, 0.356863)

73
assets/health_pickup.tscn Normal file

File diff suppressed because one or more lines are too long

251
assets/mac10_pickup.tscn Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -12,6 +12,7 @@
[ext_resource type="PackedScene" uid="uid://bmbv6ujc00jhk" path="res://assets/ammo_pickup.tscn" id="5_k1lw4"] [ext_resource type="PackedScene" uid="uid://bmbv6ujc00jhk" path="res://assets/ammo_pickup.tscn" id="5_k1lw4"]
[ext_resource type="PackedScene" uid="uid://c1sypdvjjuww" path="res://assets/money_pickup.tscn" id="6_ihv2y"] [ext_resource type="PackedScene" uid="uid://c1sypdvjjuww" path="res://assets/money_pickup.tscn" id="6_ihv2y"]
[ext_resource type="Script" path="res://scripts/EnemyTarget.gd" id="7_8vkma"] [ext_resource type="Script" path="res://scripts/EnemyTarget.gd" id="7_8vkma"]
[ext_resource type="PackedScene" uid="uid://brcuqlvgpw4su" path="res://assets/health_pickup.tscn" id="7_i7u4i"]
[ext_resource type="PackedScene" uid="uid://b0rkkp07y3fnu" path="res://assets/die_particles.tscn" id="7_w22oa"] [ext_resource type="PackedScene" uid="uid://b0rkkp07y3fnu" path="res://assets/die_particles.tscn" id="7_w22oa"]
[ext_resource type="AudioStream" uid="uid://0n251thxlnnp" path="res://assets/Audio/cannon-fire-single-shot-blast-explosion-SBA-300098885.wav" id="10_2qmhc"] [ext_resource type="AudioStream" uid="uid://0n251thxlnnp" path="res://assets/Audio/cannon-fire-single-shot-blast-explosion-SBA-300098885.wav" id="10_2qmhc"]
@@ -34,13 +35,15 @@ metallic = 1.0
roughness = 0.194864 roughness = 0.194864
texture_filter = 2 texture_filter = 2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xtnvp"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1eb8w"]
resource_local_to_scene = true
resource_name = "WarningLight" resource_name = "WarningLight"
cull_mode = 2 cull_mode = 2
albedo_color = Color(1, 0.486272, 0.152941, 1) albedo_color = Color(1, 0.486272, 0.152941, 1)
roughness = 0.5 roughness = 0.5
emission = Color(0.235631, 0.084813, 2.40654e-08, 1) emission_enabled = true
emission_energy_multiplier = 150.0 emission = Color(0.90612, 0.802416, 3.85046e-07, 1)
emission_energy_multiplier = 10.0
[sub_resource type="ArrayMesh" id="ArrayMesh_bkwy8"] [sub_resource type="ArrayMesh" id="ArrayMesh_bkwy8"]
_surfaces = [{ _surfaces = [{
@@ -115,7 +118,7 @@ _surfaces = [{
"index_count": 240, "index_count": 240,
"index_data": PackedByteArray(0, 0, 60, 0, 66, 0, 7, 0, 79, 0, 71, 0, 3, 0, 90, 0, 63, 0, 4, 0, 105, 0, 91, 0, 1, 0, 84, 0, 102, 0, 9, 0, 123, 0, 81, 0, 10, 0, 132, 0, 72, 0, 17, 0, 146, 0, 101, 0, 24, 0, 159, 0, 110, 0, 26, 0, 170, 0, 118, 0, 8, 0, 143, 0, 121, 0, 12, 0, 151, 0, 137, 0, 19, 0, 167, 0, 149, 0, 22, 0, 179, 0, 157, 0, 28, 0, 127, 0, 173, 0, 32, 0, 212, 0, 180, 0, 35, 0, 225, 0, 190, 0, 42, 0, 233, 0, 194, 0, 45, 0, 234, 0, 198, 0, 51, 0, 221, 0, 207, 0, 217, 0, 56, 0, 235, 0, 219, 0, 237, 0, 205, 0, 204, 0, 236, 0, 47, 0, 238, 0, 58, 0, 228, 0, 239, 0, 229, 0, 200, 0, 202, 0, 231, 0, 40, 0, 230, 0, 59, 0, 224, 0, 232, 0, 226, 0, 192, 0, 193, 0, 227, 0, 37, 0, 222, 0, 57, 0, 214, 0, 223, 0, 215, 0, 188, 0, 186, 0, 210, 0, 30, 0, 211, 0, 55, 0, 216, 0, 213, 0, 218, 0, 181, 0, 183, 0, 220, 0, 50, 0, 128, 0, 53, 0, 209, 0, 126, 0, 208, 0, 172, 0, 171, 0, 206, 0, 48, 0, 177, 0, 49, 0, 199, 0, 178, 0, 201, 0, 156, 0, 158, 0, 203, 0, 41, 0, 165, 0, 44, 0, 196, 0, 166, 0, 197, 0, 148, 0, 147, 0, 195, 0, 39, 0, 152, 0, 36, 0, 191, 0, 150, 0, 189, 0, 136, 0, 135, 0, 187, 0, 34, 0, 141, 0, 33, 0, 182, 0, 142, 0, 184, 0, 120, 0, 122, 0, 185, 0, 52, 0, 169, 0, 46, 0, 176, 0, 168, 0, 175, 0, 116, 0, 114, 0, 174, 0, 20, 0, 161, 0, 43, 0, 163, 0, 160, 0, 162, 0, 112, 0, 113, 0, 164, 0, 18, 0, 145, 0, 38, 0, 155, 0, 144, 0, 154, 0, 100, 0, 98, 0, 153, 0, 14, 0, 134, 0, 31, 0, 139, 0, 133, 0, 138, 0, 74, 0, 76, 0, 140, 0, 6, 0, 125, 0, 54, 0, 131, 0, 124, 0, 130, 0, 83, 0, 82, 0, 129, 0, 29, 0, 87, 0, 25, 0, 117, 0, 85, 0, 115, 0, 103, 0, 104, 0, 119, 0, 21, 0, 106, 0, 23, 0, 108, 0, 107, 0, 109, 0, 93, 0, 95, 0, 111, 0, 16, 0, 94, 0, 15, 0, 99, 0, 92, 0, 97, 0, 65, 0, 64, 0, 96, 0, 13, 0, 80, 0, 27, 0, 89, 0, 78, 0, 88, 0, 70, 0, 68, 0, 86, 0, 2, 0, 62, 0, 11, 0, 77, 0, 61, 0, 73, 0, 67, 0, 69, 0, 75, 0, 5, 0), "index_data": PackedByteArray(0, 0, 60, 0, 66, 0, 7, 0, 79, 0, 71, 0, 3, 0, 90, 0, 63, 0, 4, 0, 105, 0, 91, 0, 1, 0, 84, 0, 102, 0, 9, 0, 123, 0, 81, 0, 10, 0, 132, 0, 72, 0, 17, 0, 146, 0, 101, 0, 24, 0, 159, 0, 110, 0, 26, 0, 170, 0, 118, 0, 8, 0, 143, 0, 121, 0, 12, 0, 151, 0, 137, 0, 19, 0, 167, 0, 149, 0, 22, 0, 179, 0, 157, 0, 28, 0, 127, 0, 173, 0, 32, 0, 212, 0, 180, 0, 35, 0, 225, 0, 190, 0, 42, 0, 233, 0, 194, 0, 45, 0, 234, 0, 198, 0, 51, 0, 221, 0, 207, 0, 217, 0, 56, 0, 235, 0, 219, 0, 237, 0, 205, 0, 204, 0, 236, 0, 47, 0, 238, 0, 58, 0, 228, 0, 239, 0, 229, 0, 200, 0, 202, 0, 231, 0, 40, 0, 230, 0, 59, 0, 224, 0, 232, 0, 226, 0, 192, 0, 193, 0, 227, 0, 37, 0, 222, 0, 57, 0, 214, 0, 223, 0, 215, 0, 188, 0, 186, 0, 210, 0, 30, 0, 211, 0, 55, 0, 216, 0, 213, 0, 218, 0, 181, 0, 183, 0, 220, 0, 50, 0, 128, 0, 53, 0, 209, 0, 126, 0, 208, 0, 172, 0, 171, 0, 206, 0, 48, 0, 177, 0, 49, 0, 199, 0, 178, 0, 201, 0, 156, 0, 158, 0, 203, 0, 41, 0, 165, 0, 44, 0, 196, 0, 166, 0, 197, 0, 148, 0, 147, 0, 195, 0, 39, 0, 152, 0, 36, 0, 191, 0, 150, 0, 189, 0, 136, 0, 135, 0, 187, 0, 34, 0, 141, 0, 33, 0, 182, 0, 142, 0, 184, 0, 120, 0, 122, 0, 185, 0, 52, 0, 169, 0, 46, 0, 176, 0, 168, 0, 175, 0, 116, 0, 114, 0, 174, 0, 20, 0, 161, 0, 43, 0, 163, 0, 160, 0, 162, 0, 112, 0, 113, 0, 164, 0, 18, 0, 145, 0, 38, 0, 155, 0, 144, 0, 154, 0, 100, 0, 98, 0, 153, 0, 14, 0, 134, 0, 31, 0, 139, 0, 133, 0, 138, 0, 74, 0, 76, 0, 140, 0, 6, 0, 125, 0, 54, 0, 131, 0, 124, 0, 130, 0, 83, 0, 82, 0, 129, 0, 29, 0, 87, 0, 25, 0, 117, 0, 85, 0, 115, 0, 103, 0, 104, 0, 119, 0, 21, 0, 106, 0, 23, 0, 108, 0, 107, 0, 109, 0, 93, 0, 95, 0, 111, 0, 16, 0, 94, 0, 15, 0, 99, 0, 92, 0, 97, 0, 65, 0, 64, 0, 96, 0, 13, 0, 80, 0, 27, 0, 89, 0, 78, 0, 88, 0, 70, 0, 68, 0, 86, 0, 2, 0, 62, 0, 11, 0, 77, 0, 61, 0, 73, 0, 67, 0, 69, 0, 75, 0, 5, 0),
"lods": [0.0794293, PackedByteArray(0, 0, 241, 0, 66, 0, 66, 0, 241, 0, 240, 0, 240, 0, 241, 0, 251, 0, 240, 0, 251, 0, 1, 1, 1, 1, 250, 0, 240, 0, 240, 0, 250, 0, 86, 0, 240, 0, 86, 0, 68, 0, 68, 0, 86, 0, 2, 0, 242, 0, 4, 1, 251, 0, 242, 0, 2, 1, 4, 1, 3, 0, 90, 0, 13, 0, 244, 0, 13, 0, 90, 0, 244, 0, 253, 0, 243, 0, 253, 0, 6, 1, 243, 0, 6, 1, 3, 1, 243, 0, 105, 0, 244, 0, 91, 0, 4, 0, 105, 0, 91, 0, 105, 0, 247, 0, 245, 0, 247, 0, 254, 0, 245, 0, 247, 0, 45, 0, 254, 0, 45, 0, 228, 0, 254, 0, 234, 0, 228, 0, 45, 0, 234, 0, 58, 0, 228, 0, 5, 1, 235, 0, 45, 0, 5, 1, 56, 0, 235, 0, 246, 0, 5, 1, 255, 0, 249, 0, 5, 1, 246, 0, 249, 0, 0, 1, 5, 1, 252, 0, 216, 0, 0, 1, 211, 0, 216, 0, 252, 0, 211, 0, 55, 0, 216, 0, 1, 0, 84, 0, 102, 0, 84, 0, 25, 0, 102, 0, 102, 0, 25, 0, 248, 0)], "lods": [0.0794293, PackedByteArray(0, 0, 241, 0, 66, 0, 66, 0, 241, 0, 240, 0, 240, 0, 241, 0, 251, 0, 240, 0, 251, 0, 1, 1, 1, 1, 250, 0, 240, 0, 240, 0, 250, 0, 86, 0, 240, 0, 86, 0, 68, 0, 68, 0, 86, 0, 2, 0, 242, 0, 4, 1, 251, 0, 242, 0, 2, 1, 4, 1, 3, 0, 90, 0, 13, 0, 244, 0, 13, 0, 90, 0, 244, 0, 253, 0, 243, 0, 253, 0, 6, 1, 243, 0, 6, 1, 3, 1, 243, 0, 105, 0, 244, 0, 91, 0, 4, 0, 105, 0, 91, 0, 105, 0, 247, 0, 245, 0, 247, 0, 254, 0, 245, 0, 247, 0, 45, 0, 254, 0, 45, 0, 228, 0, 254, 0, 234, 0, 228, 0, 45, 0, 234, 0, 58, 0, 228, 0, 5, 1, 235, 0, 45, 0, 5, 1, 56, 0, 235, 0, 246, 0, 5, 1, 255, 0, 249, 0, 5, 1, 246, 0, 249, 0, 0, 1, 5, 1, 252, 0, 216, 0, 0, 1, 211, 0, 216, 0, 252, 0, 211, 0, 55, 0, 216, 0, 1, 0, 84, 0, 102, 0, 84, 0, 25, 0, 102, 0, 102, 0, 25, 0, 248, 0)],
"material": SubResource("StandardMaterial3D_xtnvp"), "material": SubResource("StandardMaterial3D_1eb8w"),
"name": "WarningLight", "name": "WarningLight",
"primitive": 3, "primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0), "uv_scale": Vector4(0, 0, 0, 0),
@@ -125,11 +128,6 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_bkwy8") shadow_mesh = SubResource("ArrayMesh_bkwy8")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3kly2"]
albedo_color = Color(1, 0.486275, 0.152941, 1)
emission_enabled = true
emission_energy_multiplier = 150.0
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_g6dfb"] [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_g6dfb"]
points = PackedVector3Array(-0.109145, -0.100982, 0.206565, 0.213908, 0.0103289, 0.111653, 0.210758, -0.0272485, 0.108423, -0.140638, 0.0390896, -0.557154, -0.0488649, 0.143922, 0.00641546, 0.147693, -0.0395349, -0.557154, -0.0232939, -0.220893, 0.0557108, -0.284854, -0.0395349, 0.111279, -0.127528, -0.0395349, -0.557154, -0.0750859, 0.0783826, 0.24242, 0.140001, 0.0305022, -0.511341, 0.100704, -0.188034, 0.122241, -0.284854, 0.0259663, -0.0197799, 0.134582, 0.0783826, 0.203086, -0.118704, -0.194575, 0.0412369, 0.063774, -0.12634, 0.222093, 0.189144, 0.0666628, 0.00392469, -0.284854, -0.0395349, -0.0197799, 0.183034, -0.124407, 0.068475, 0.0128275, 0.141117, 0.0429592, 0.0224285, -0.212019, 0.000278367, 0.0147074, -0.0269731, 0.264989, -0.0594969, -0.184875, 0.153065, -0.273459, 0.0230461, 0.100179, 0.163372, -0.0892316, 0.172947, 0.0994136, -0.173815, -0.0482237, -0.0235362, -0.201901, -0.044965, 0.08209, 0.0783826, 0.24242, 0.138473, -0.0146924, 0.222613, -0.135271, 0.0103555, 0.224102, -0.0726226, -0.101516, 0.234347, 0.198452, -0.10104, 0.0591554) points = PackedVector3Array(-0.109145, -0.100982, 0.206565, 0.213908, 0.0103289, 0.111653, 0.210758, -0.0272485, 0.108423, -0.140638, 0.0390896, -0.557154, -0.0488649, 0.143922, 0.00641546, 0.147693, -0.0395349, -0.557154, -0.0232939, -0.220893, 0.0557108, -0.284854, -0.0395349, 0.111279, -0.127528, -0.0395349, -0.557154, -0.0750859, 0.0783826, 0.24242, 0.140001, 0.0305022, -0.511341, 0.100704, -0.188034, 0.122241, -0.284854, 0.0259663, -0.0197799, 0.134582, 0.0783826, 0.203086, -0.118704, -0.194575, 0.0412369, 0.063774, -0.12634, 0.222093, 0.189144, 0.0666628, 0.00392469, -0.284854, -0.0395349, -0.0197799, 0.183034, -0.124407, 0.068475, 0.0128275, 0.141117, 0.0429592, 0.0224285, -0.212019, 0.000278367, 0.0147074, -0.0269731, 0.264989, -0.0594969, -0.184875, 0.153065, -0.273459, 0.0230461, 0.100179, 0.163372, -0.0892316, 0.172947, 0.0994136, -0.173815, -0.0482237, -0.0235362, -0.201901, -0.044965, 0.08209, 0.0783826, 0.24242, 0.138473, -0.0146924, 0.222613, -0.135271, 0.0103555, 0.224102, -0.0726226, -0.101516, 0.234347, 0.198452, -0.10104, 0.0591554)
@@ -595,10 +593,10 @@ bullet = ExtResource("2_aew5r")
casing = ExtResource("3_e5ft5") casing = ExtResource("3_e5ft5")
bullet_speed = 75 bullet_speed = 75
bullet_drop = 0.01 bullet_drop = 0.01
bullet_damage = 0
stamina = ExtResource("4_p0ci7") stamina = ExtResource("4_p0ci7")
ammo = ExtResource("5_k1lw4") ammo = ExtResource("5_k1lw4")
money = ExtResource("6_ihv2y") money = ExtResource("6_ihv2y")
health_pickup = ExtResource("7_i7u4i")
die_particles = ExtResource("7_w22oa") die_particles = ExtResource("7_w22oa")
[node name="TurretLook" type="RayCast3D" parent="."] [node name="TurretLook" type="RayCast3D" parent="."]
@@ -609,7 +607,7 @@ target_position = Vector3(0, 0, -50)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00161432, 0.000886798, -0.0469466) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00161432, 0.000886798, -0.0469466)
mesh = SubResource("ArrayMesh_ncgm4") mesh = SubResource("ArrayMesh_ncgm4")
skeleton = NodePath("") skeleton = NodePath("")
surface_material_override/2 = SubResource("StandardMaterial3D_3kly2") surface_material_override/2 = SubResource("StandardMaterial3D_1eb8w")
[node name="Barrel1" type="RayCast3D" parent="TurretLook/Turret"] [node name="Barrel1" type="RayCast3D" parent="TurretLook/Turret"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.122326, -0.000110626, -0.580876) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.122326, -0.000110626, -0.580876)

View File

@@ -11,7 +11,7 @@ config_version=5
[application] [application]
config/name="First Person Test" config/name="First Person Test"
run/main_scene="res://scenes/enemy_working_scene.tscn" run/main_scene="res://scenes/test_level_2v2.tscn"
config/features=PackedStringArray("4.2", "Forward Plus") config/features=PackedStringArray("4.2", "Forward Plus")
config/icon="res://icon.svg" config/icon="res://icon.svg"

118
scenes/ene1775.tmp Normal file
View File

@@ -0,0 +1,118 @@
[gd_scene load_steps=12 format=3 uid="uid://dsnddbrlqkav2"]
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_laua1"]
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_poauc"]
[ext_resource type="PackedScene" uid="uid://2o2wcc5i1al4" path="res://assets/rocket_launcher.tscn" id="3_xdb5c"]
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="4_a8lcp"]
[ext_resource type="Script" path="res://scripts/EnemyHivemind1.gd" id="5_ngmqi"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="6_qmuhr"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_w6vpl"]
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
sky_horizon_color = Color(0.705872, 0.745394, 0.758448, 1)
ground_horizon_color = Color(0.705872, 0.745394, 0.758448, 1)
[sub_resource type="Sky" id="Sky_kdw67"]
sky_material = SubResource("ProceduralSkyMaterial_w6vpl")
[sub_resource type="Environment" id="Environment_klp4b"]
background_mode = 2
sky = SubResource("Sky_kdw67")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"]
vertices = PackedVector3Array(-24.5, -4.63697, -268.188, -24.5, -4.63697, -218.938, 24.5, -4.63697, -218.938, 24.5, -4.63697, -268.188, -24.5, -30.137, -227.688, -24.5, -30.137, -178.438, 24.5, -30.137, -178.438, 24.5, -30.137, -227.688, -24.5, -71.387, -164.688, -24.5, -71.387, -115.438, 24.5, -71.387, -115.438, 24.5, -71.387, -164.688, -24.5, -71.387, -96.1881, -24.5, -71.387, -46.9381, 24.5, -71.387, -46.9381, 24.5, -71.387, -96.1881, -24.5, 0.113029, -24.6881, -24.5, 0.113029, 24.5619, 24.5, 0.113029, 24.5619, 24.5, 0.113029, -24.6881)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(7, 6, 4), PackedInt32Array(4, 6, 5), PackedInt32Array(11, 10, 8), PackedInt32Array(8, 10, 9), PackedInt32Array(15, 14, 12), PackedInt32Array(12, 14, 13), PackedInt32Array(19, 18, 16), PackedInt32Array(16, 18, 17)]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
script = ExtResource("1_laua1")
player = NodePath("Player")
gun_1 = ExtResource("2_poauc")
gun_2 = ExtResource("3_xdb5c")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_klp4b")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.78152, -0.330606, 0.52908, 0, 0.848048, 0.529919, -0.62388, 0.414143, -0.662767, 0, 0, 0)
shadow_enabled = true
[node name="Player" parent="." instance=ExtResource("4_a8lcp")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00663102, 1.92114, -0.0244913)
AUDIO = false
weapon_sway_amount = 0.07
[node name="EnemyHivemind1" type="Node3D" parent="." groups=["enemy_hivemind"]]
script = ExtResource("5_ngmqi")
[node name="spider" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.87933, 0, 1.40028)
player_path = NodePath("../../Player")
[node name="spider2" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.69998, 9.53674e-07, 3.9282)
player_path = NodePath("../../Player")
[node name="spider3" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.14727, -1.90735e-06, -3.3705)
player_path = NodePath("../../Player")
[node name="spider4" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.485, 0, 1.40028)
player_path = NodePath("../../Player")
[node name="spider5" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.66438, 9.53674e-07, 3.9282)
player_path = NodePath("../../Player")
[node name="spider6" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.21709, -1.90735e-06, -3.3705)
player_path = NodePath("../../Player")
[node name="EnemyHivemind2" type="Node3D" parent="." groups=["enemy_hivemind"]]
script = ExtResource("5_ngmqi")
[node name="spider4" parent="EnemyHivemind2" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.14727, 47.5757, -236.327)
player_path = NodePath("../../Player")
[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, 0, -0.420555, 0)
use_collision = true
size = Vector3(75, 0.5, 75)
material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D2" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -72.137, -71.5367)
use_collision = true
size = Vector3(50, 0.5, 50)
material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D3" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -72.137, -140.068)
use_collision = true
size = Vector3(50, 0.5, 50)
material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D4" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -30.806, -203.036)
use_collision = true
size = Vector3(50, 0.5, 50)
material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D5" type="CSGBox3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5.17223, -243.688)
use_collision = true
size = Vector3(50, 0.5, 50)
material = SubResource("StandardMaterial3D_6yrih")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.62976, 0)
use_collision = true

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=12 format=3 uid="uid://dsnddbrlqkav2"] [gd_scene load_steps=16 format=3 uid="uid://dsnddbrlqkav2"]
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_laua1"] [ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_laua1"]
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_poauc"] [ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_poauc"]
@@ -6,6 +6,10 @@
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="4_a8lcp"] [ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="4_a8lcp"]
[ext_resource type="Script" path="res://scripts/EnemyHivemind1.gd" id="5_ngmqi"] [ext_resource type="Script" path="res://scripts/EnemyHivemind1.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="PackedScene" uid="uid://c6bpysq1tjhy4" path="res://vendingmahcine.tscn" id="7_pr7m0"]
[ext_resource type="PackedScene" uid="uid://dws4iro7820fc" path="res://assets/pistol1_pickup.tscn" id="8_qwtxj"]
[ext_resource type="PackedScene" uid="uid://clu76sc4uoswn" path="res://assets/rocketlauncher_pickup.tscn" id="9_r8miu"]
[ext_resource type="PackedScene" uid="uid://dyu46bns8mesv" path="res://assets/mac10_pickup.tscn" id="10_pos4p"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_w6vpl"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_w6vpl"]
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1) sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
@@ -22,7 +26,7 @@ tonemap_mode = 2
glow_enabled = true glow_enabled = true
[sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"] [sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"]
vertices = PackedVector3Array(-24.5, -4.63697, -268.188, -24.5, -4.63697, -218.938, 24.5, -4.63697, -218.938, 24.5, -4.63697, -268.188, -24.5, -30.137, -227.688, -24.5, -30.137, -178.438, 24.5, -30.137, -178.438, 24.5, -30.137, -227.688, -24.5, -71.387, -164.688, -24.5, -71.387, -115.438, 24.5, -71.387, -115.438, 24.5, -71.387, -164.688, -24.5, -71.387, -96.1881, -24.5, -71.387, -46.9381, 24.5, -71.387, -46.9381, 24.5, -71.387, -96.1881, -24.5, 0.113029, -24.6881, -24.5, 0.113029, 24.5619, 24.5, 0.113029, 24.5619, 24.5, 0.113029, -24.6881) vertices = PackedVector3Array(-24.5, -4.637, -268.188, -24.5, -4.637, -219.188, 24.5, -4.637, -219.188, 24.5, -4.637, -268.188, -24.5, -30.137, -227.688, -24.5, -30.137, -178.438, 24.5, -30.137, -178.438, 24.5, -30.137, -227.688, -24.5, -71.387, -164.688, -24.5, -71.387, -115.438, 24.5, -71.387, -115.438, 24.5, -71.387, -164.688, -24.5, -71.387, -96.188, -24.5, -71.387, -46.938, 24.5, -71.387, -46.938, 24.5, -71.387, -96.188, -37, 0.112999, -37.188, -37, 0.112999, 37.062, 37, 0.112999, 37.062, 37, 0.112999, -37.188)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(7, 6, 4), PackedInt32Array(4, 6, 5), PackedInt32Array(11, 10, 8), PackedInt32Array(8, 10, 9), PackedInt32Array(15, 14, 12), PackedInt32Array(12, 14, 13), PackedInt32Array(19, 18, 16), PackedInt32Array(16, 18, 17)] polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(7, 6, 4), PackedInt32Array(4, 6, 5), PackedInt32Array(11, 10, 8), PackedInt32Array(8, 10, 9), PackedInt32Array(15, 14, 12), PackedInt32Array(12, 14, 13), PackedInt32Array(19, 18, 16), PackedInt32Array(16, 18, 17)]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
@@ -31,9 +35,7 @@ albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
[node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")] [node name="EnemyWork" type="Node3D" node_paths=PackedStringArray("player")]
script = ExtResource("1_laua1") script = ExtResource("1_laua1")
player = NodePath("Player") player = NodePath("Player")
money = null MAX_PARTICLES = 75
health = null
MAX_PARTICLES = null
gun_1 = ExtResource("2_poauc") gun_1 = ExtResource("2_poauc")
gun_2 = ExtResource("3_xdb5c") gun_2 = ExtResource("3_xdb5c")
@@ -45,7 +47,8 @@ transform = Transform3D(-0.78152, -0.330606, 0.52908, 0, 0.848048, 0.529919, -0.
shadow_enabled = true shadow_enabled = true
[node name="Player" parent="." instance=ExtResource("4_a8lcp")] [node name="Player" parent="." instance=ExtResource("4_a8lcp")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00663102, 2.16663, -0.0244913) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00663102, 1.92114, -0.0244913)
AUDIO = false
weapon_sway_amount = 0.07 weapon_sway_amount = 0.07
[node name="EnemyHivemind1" type="Node3D" parent="." groups=["enemy_hivemind"]] [node name="EnemyHivemind1" type="Node3D" parent="." groups=["enemy_hivemind"]]
@@ -78,16 +81,14 @@ player_path = NodePath("../../Player")
[node name="EnemyHivemind2" type="Node3D" parent="." groups=["enemy_hivemind"]] [node name="EnemyHivemind2" type="Node3D" parent="." groups=["enemy_hivemind"]]
script = ExtResource("5_ngmqi") script = ExtResource("5_ngmqi")
[node name="spider4" parent="EnemyHivemind2" instance=ExtResource("6_qmuhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.14727, 47.5757, -236.327)
player_path = NodePath("../../Player")
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] [node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
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, 0, -0.420555, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.420555, 0)
use_collision = true use_collision = true
collision_layer = 7
collision_mask = 7
size = Vector3(75, 0.5, 75) size = Vector3(75, 0.5, 75)
material = SubResource("StandardMaterial3D_6yrih") material = SubResource("StandardMaterial3D_6yrih")
@@ -118,3 +119,15 @@ material = SubResource("StandardMaterial3D_6yrih")
[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, 0, 3.62976, 0)
use_collision = true use_collision = true
[node name="vendingmachine" parent="." instance=ExtResource("7_pr7m0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.5914, -0.170555, -14.246)
[node name="pistol1_pickup" parent="." instance=ExtResource("8_qwtxj")]
transform = Transform3D(0.649528, -0.760338, 0, 0.760338, 0.649528, 0, 0, 0, 1, -24.7534, 1.09587, 5.88603)
[node name="rocketlauncher1_pickup" parent="." instance=ExtResource("9_r8miu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25, 1, 8)
[node name="mac10_pickup" parent="." instance=ExtResource("10_pos4p")]
transform = Transform3D(0.866025, -0.5, 0, 0.5, 0.866025, 0, 0, 0, 1, -28, 1, 10)

View File

@@ -1169,6 +1169,7 @@ gun_2 = ExtResource("3_umpon")
[node name="Player" parent="." instance=ExtResource("2_f87c2")] [node name="Player" parent="." instance=ExtResource("2_f87c2")]
transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -16.0295, 1.4435, 12.1166) transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -16.0295, 1.4435, 12.1166)
AUDIO = false
weapon_sway_amount = 0.07 weapon_sway_amount = 0.07
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]

View File

@@ -7,6 +7,20 @@ extends Node3D
@export var MAX_PARTICLES = 100 @export var MAX_PARTICLES = 100
@export var gun_1 : Resource @export var gun_1 : Resource
@export var gun_2 : Resource @export var gun_2 : Resource
@export_group("Drops")
@export var ammo_drop_enabled = true
@export var stamina_drop_enabled = true
@export var health_drop_enabled = true
@export var money_drop_enabled = true
var ammo_drop = load("res://assets/ammo_pickup.tscn")
var stamina_drop = load("res://assets/stamina_pickup.tscn")
var health_drop = load("res://assets/health_pickup.tscn")
var money_drop = load("res://assets/money_pickup.tscn")
const CLEARED_ANNOUNCE = preload("res://assets/cleared_announce.tscn")
const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
var pickups = []
var held_guns = [] var held_guns = []
var ammo_current = [0] var ammo_current = [0]
var ammo_reserve = [0] var ammo_reserve = [0]
@@ -14,12 +28,23 @@ var guns_dict = {}
var current_gun_index var current_gun_index
var particle_number = 0 var particle_number = 0
var enemy_hiveminds = [] var enemy_hiveminds = []
var remaining_enemies
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
#global randomize function #global randomize function
randomize() randomize()
#assign pickups to array
if ammo_drop_enabled == true:
pickups.append(ammo_drop)
if stamina_drop_enabled == true:
pickups.append(stamina_drop)
if health_drop_enabled == true:
pickups.append(health_drop)
if ammo_drop_enabled == true:
pickups.append(ammo_drop)
#Set up starting guns and ammo #Set up starting guns and ammo
held_guns = [gun_1] held_guns = [gun_1]
var instance_gun = held_guns[0].instantiate() var instance_gun = held_guns[0].instantiate()
@@ -39,12 +64,12 @@ func _ready():
#find enemy hiveminds #find enemy hiveminds
for node in get_tree().get_nodes_in_group("enemy_hivemind"): for node in get_tree().get_nodes_in_group("enemy_hivemind"):
enemy_hiveminds.append(node) enemy_hiveminds.append(node)
#count starting enemies
enemy_count()
# 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): func _process(_delta):
for hivemind in enemy_hiveminds: pass
remaining_enemies = hivemind.minions.size()
print("remaining enemies: " + str(remaining_enemies))
func gun_spawn(index): func gun_spawn(index):
#loop around if scrolling past available guns #loop around if scrolling past available guns
@@ -65,3 +90,33 @@ func gun_spawn(index):
instance_gun.gun_index = index instance_gun.gun_index = index
instance_gun.anim_player.play("swap_in") instance_gun.anim_player.play("swap_in")
player.weapon_holder.add_child(instance_gun) player.weapon_holder.add_child(instance_gun)
func enemy_count():
var sum = 0
for i in enemy_hiveminds:
sum += i.minions.size()
print("enemies: " + str(sum))
if sum == 0:
cleared()
func cleared():
Engine.time_scale = .05
var clearedmsg = CLEARED_ANNOUNCE.instantiate()
get_parent().add_child(clearedmsg)
await get_tree().create_timer(.3).timeout
get_tree().reload_current_scene()
func die():
Engine.time_scale = .05
var deadmsg = DEAD_ANNOUNCE.instantiate()
get_parent().add_child(deadmsg)
await get_tree().create_timer(.3).timeout
get_tree().reload_current_scene()
#var instance_dead = dead_player.instantiate()
#instance_dead.position = head.global_position
#instance_dead.transform.basis = head.global_transform.basis
#get_tree().get_root().add_child(instance_dead)
func pickup_spawn():
pickups.pick_random()
print(pickups.pick_random())

View File

@@ -38,7 +38,7 @@ func _process(delta):
position += transform.basis * Vector3(0, 0, -bullet_speed) * delta position += transform.basis * Vector3(0, 0, -bullet_speed) * delta
rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90)) rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90))
if ray.is_colliding(): if ray.is_colliding() and ray.get_collider != null:
if ray.get_collider().is_in_group("player"): if ray.get_collider().is_in_group("player"):
var player = ray.get_collider() var player = ray.get_collider()
player.level_control.health -= bullet_damage player.level_control.health -= bullet_damage

View File

@@ -39,7 +39,7 @@ var start_sensitivity
var gun : Node var gun : Node
@onready var gun_ray = $Head/Camera3D/GunRay @onready var gun_ray = $Head/Camera3D/GunRay
@onready var level_control = $".." @onready var level_control = get_tree().current_scene
@onready var interact_ray = $Head/Camera3D/InteractRay @onready var interact_ray = $Head/Camera3D/InteractRay
@onready var bullet_ray = $Head/Camera3D/BulletRay @onready var bullet_ray = $Head/Camera3D/BulletRay
var instance_bullet var instance_bullet
@@ -222,7 +222,7 @@ func _physics_process(delta):
get_tree().quit() get_tree().quit()
if level_control.health <= 0: if level_control.health <= 0:
die() level_control.die()
move_and_slide() move_and_slide()
weapon_tilt(input_dir.x, delta) weapon_tilt(input_dir.x, delta)
@@ -267,6 +267,12 @@ func _on_pick_up_detection_body_entered(body):
pickup_sound.pitch_scale = 1 + rng.randf_range(-.3,.3) pickup_sound.pitch_scale = 1 + rng.randf_range(-.3,.3)
pickup_sound.play() pickup_sound.play()
body.queue_free() body.queue_free()
elif body.pickupType == "health":
level_control.health += 1
picked_up = true
pickup_sound.pitch_scale = 1 + rng.randf_range(-.3,.3)
pickup_sound.play()
body.queue_free()
elif body.pickupType == "jump": elif body.pickupType == "jump":
pickupmsg = pickup_announce.instantiate() pickupmsg = pickup_announce.instantiate()
pickupmsg.pickuptext = "jump" pickupmsg.pickuptext = "jump"
@@ -326,13 +332,3 @@ func weapon_recoil(delta):
camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(85)) camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(85))
func die():
Engine.time_scale = .05
var deadmsg = dead_announce.instantiate()
get_parent().add_child(deadmsg)
await get_tree().create_timer(.3).timeout
get_tree().reload_current_scene()
#var instance_dead = dead_player.instantiate()
#instance_dead.position = head.global_position
#instance_dead.transform.basis = head.global_transform.basis
#get_tree().get_root().add_child(instance_dead)

View File

@@ -17,6 +17,7 @@ const MAX_AV = 10
@export var bullet_damage = 1 @export var bullet_damage = 1
@export var turret_look_speed = 6 @export var turret_look_speed = 6
@onready var level_control = get_tree().current_scene
@onready var nav_agent = $NavigationAgent3D @onready var nav_agent = $NavigationAgent3D
@onready var target = $body/target @onready var target = $body/target
@onready var movement_shape = $MovementShape @onready var movement_shape = $MovementShape
@@ -33,11 +34,12 @@ const MAX_AV = 10
@onready var turret = $TurretLook/Turret @onready var turret = $TurretLook/Turret
@onready var turret_material = turret.mesh.surface_get_material(2) @onready var turret_material = turret.get_surface_override_material(2)
@export var stamina : Resource @export var stamina : Resource
@export var ammo : Resource @export var ammo : Resource
@export var money : Resource @export var money : Resource
@export var health_pickup : Resource
@export var die_particles : Resource @export var die_particles : Resource
@onready var turret_look = $TurretLook @onready var turret_look = $TurretLook
@@ -90,7 +92,7 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
if health <= 0: if health <= 0:
#remove from parent array #remove from parent array
get_parent().minions.erase(self) get_parent().minions.erase(self)
level_control.enemy_count()
particlespawn = die_particles.instantiate() particlespawn = die_particles.instantiate()
particlespawn.position = self.global_position particlespawn.position = self.global_position
particlespawn.transform.basis = self.global_transform.basis particlespawn.transform.basis = self.global_transform.basis
@@ -98,7 +100,8 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
#pickup drop #pickup drop
while number_of_drops > 0: while number_of_drops > 0:
var rand_selector = int(round(rng.randf_range(1,3))) level_control.pickup_spawn()
var rand_selector = rng.randi_range(1,4)
var lv_x = rng.randf_range(-MAX_LV,MAX_LV) var lv_x = rng.randf_range(-MAX_LV,MAX_LV)
var lv_y = rng.randf_range(0,MAX_LV) var lv_y = rng.randf_range(0,MAX_LV)
var lv_z = rng.randf_range(-MAX_LV,MAX_LV) var lv_z = rng.randf_range(-MAX_LV,MAX_LV)
@@ -113,6 +116,8 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
rand_select = ammo rand_select = ammo
3: 3:
rand_select = money rand_select = money
4:
rand_select = health_pickup
# Random Item Drop # Random Item Drop
rand_item = rand_select.instantiate() rand_item = rand_select.instantiate()
rand_item.position = self.global_position rand_item.position = self.global_position
@@ -165,9 +170,9 @@ func _on_prefire_timer_timeout():
func _on_postfire_timer_timeout(): func _on_postfire_timer_timeout():
if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player"): if turret_look_next.is_colliding() and turret_look_next.get_collider().is_in_group("player"):
prefire_timer.start() prefire_timer.start()
turret_material.emission_enabled = true
else: else:
postfire_timer.start() postfire_timer.start()
turret_material.emission_enabled = true
func _on_knocked_timer_timeout(): func _on_knocked_timer_timeout():