fixed death cam fov and added damage numbers
This commit is contained in:
13
assets/damage_number.tscn
Normal file
13
assets/damage_number.tscn
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://41iv1ualpttf"]
|
||||||
|
|
||||||
|
[ext_resource type="FontFile" uid="uid://bckxhcc1eudvn" path="res://assets/fonts/Plane Crash.ttf" id="1_e33md"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/DamageNumber.gd" id="2_5bruy"]
|
||||||
|
|
||||||
|
[node name="DamageNumber" type="Label3D" groups=["spawned"]]
|
||||||
|
billboard = 2
|
||||||
|
modulate = Color(1, 1, 1, 0)
|
||||||
|
text = "1
|
||||||
|
"
|
||||||
|
font = ExtResource("1_e33md")
|
||||||
|
font_size = 60
|
||||||
|
script = ExtResource("2_5bruy")
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://by7qyyhyurlw"]
|
[gd_scene load_steps=6 format=3 uid="uid://by7qyyhyurlw"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/dead_cam.gd" id="1_qxtd8"]
|
[ext_resource type="Script" path="res://scripts/dead_cam.gd" id="1_qxtd8"]
|
||||||
|
|
||||||
@@ -8,12 +8,51 @@ dof_blur_near_enabled = true
|
|||||||
dof_blur_near_transition = 4.0
|
dof_blur_near_transition = 4.0
|
||||||
dof_blur_amount = 0.2
|
dof_blur_amount = 0.2
|
||||||
|
|
||||||
|
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_m5ien"]
|
||||||
|
blend_mode = 1
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_4scpm"]
|
||||||
|
resource_name = "whiteout"
|
||||||
|
length = 0.05
|
||||||
|
step = 0.01
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Whiteout:color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.05),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||||
|
}
|
||||||
|
tracks/1/type = "method"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0.05),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"reload_level"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_jsgjq"]
|
||||||
|
_data = {
|
||||||
|
"whiteout": SubResource("Animation_4scpm")
|
||||||
|
}
|
||||||
|
|
||||||
[node name="DeadCam" type="Node3D" groups=["spawned"]]
|
[node name="DeadCam" type="Node3D" groups=["spawned"]]
|
||||||
script = ExtResource("1_qxtd8")
|
script = ExtResource("1_qxtd8")
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
attributes = SubResource("CameraAttributesPractical_2gkpp")
|
attributes = SubResource("CameraAttributesPractical_2gkpp")
|
||||||
fov = 13.6855
|
fov = 15.0
|
||||||
|
|
||||||
[node name="LookRay" type="RayCast3D" parent="."]
|
[node name="LookRay" type="RayCast3D" parent="."]
|
||||||
target_position = Vector3(0, 0, -1)
|
target_position = Vector3(0, 0, -1)
|
||||||
@@ -22,4 +61,15 @@ target_position = Vector3(0, 0, -1)
|
|||||||
wait_time = 0.4
|
wait_time = 0.4
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Whiteout" type="ColorRect" parent="."]
|
||||||
|
material = SubResource("CanvasItemMaterial_m5ien")
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
color = Color(1, 1, 1, 0)
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_jsgjq")
|
||||||
|
}
|
||||||
|
|
||||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ _data = {
|
|||||||
[node name="mac10" node_paths=PackedStringArray("flare_light", "anim_player", "barrel_raycast", "casing_ejector", "mag_ejector", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_nb4p5")]
|
[node name="mac10" node_paths=PackedStringArray("flare_light", "anim_player", "barrel_raycast", "casing_ejector", "mag_ejector", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_nb4p5")]
|
||||||
script = ExtResource("2_6i1l4")
|
script = ExtResource("2_6i1l4")
|
||||||
gun_name = "Mac 10"
|
gun_name = "Mac 10"
|
||||||
recoil_amount = 1.5
|
recoil_amount = 1.1
|
||||||
max_ammo = 30
|
max_ammo = 30
|
||||||
bullet_damage = 2
|
bullet_damage = 2
|
||||||
bullet_drop = 0.01
|
bullet_drop = 0.01
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=59 format=3 uid="uid://djr7vnr1hcx82"]
|
[gd_scene load_steps=60 format=3 uid="uid://djr7vnr1hcx82"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/spider.gd" id="1_7e7fe"]
|
[ext_resource type="Script" path="res://scripts/spider.gd" id="1_7e7fe"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dmyn4eq2r12ue" path="res://assets/Models/spider1.albedoRAW.png" id="1_di6b8"]
|
[ext_resource type="Texture2D" uid="uid://dmyn4eq2r12ue" path="res://assets/Models/spider1.albedoRAW.png" id="1_di6b8"]
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
[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://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="PackedScene" uid="uid://41iv1ualpttf" path="res://assets/damage_number.tscn" id="9_rmegy"]
|
||||||
[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"]
|
||||||
[ext_resource type="Material" uid="uid://46g0pn1jxl2h" path="res://assets/materials/spidermat.tres" id="12_p343g"]
|
[ext_resource type="Material" uid="uid://46g0pn1jxl2h" path="res://assets/materials/spidermat.tres" id="12_p343g"]
|
||||||
|
|
||||||
@@ -740,6 +741,7 @@ ammo = ExtResource("5_k1lw4")
|
|||||||
money = ExtResource("6_ihv2y")
|
money = ExtResource("6_ihv2y")
|
||||||
health_pickup = ExtResource("7_i7u4i")
|
health_pickup = ExtResource("7_i7u4i")
|
||||||
die_particles = ExtResource("7_w22oa")
|
die_particles = ExtResource("7_w22oa")
|
||||||
|
damage_number = ExtResource("9_rmegy")
|
||||||
|
|
||||||
[node name="TurretLook" type="RayCast3D" parent="."]
|
[node name="TurretLook" type="RayCast3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00161432, 1.62046, 0.00134204)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00161432, 1.62046, 0.00134204)
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ 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.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)
|
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, -13, 0.112999, -36.188, -12.25, 0.112999, -36.438, -12.25, 0.112999, -41.688, -13.5, 0.112999, -34.938, -13, 0.112999, -36.188, -12.25, 0.112999, -41.688, -19.25, 0.112999, -28.438, -18.5, 0.112999, -28.438, -20, 0.112999, -27.188, -19.25, 0.112999, -28.438, -12.25, 0.112999, -41.688, -37, 0.112999, -41.688, -37, 0.112999, -27.188, -12.25, 0.112999, -41.688, -12.25, 0.112999, -36.438, -10, 0.112999, -35.188, 7, 0.112999, -32.688, 8.25, 0.112999, -33.688, 8.25, 0.112999, -41.688, -12.25, 0.112999, -41.688, -10, 0.112999, -35.188, -3.25, 0.112999, -29.438, -3.25, 0.112999, -29.438, 7.75, 0.112999, -31.188, 7, 0.112999, -31.688, -3.25, 0.112999, -29.438, 7, 0.112999, -31.688, 7, 0.112999, -32.688, 19.5, 0.112999, -37.188, 21.25, 0.112999, -37.438, 21, 0.112999, -41.688, 14, 0.112999, -29.438, 19.5, 0.112999, -35.688, 19.5, 0.112999, -37.188, 8.25, 0.112999, -33.688, 14, 0.112999, -29.438, 19.5, 0.112999, -37.188, 21, 0.112999, -41.688, 8.25, 0.112999, -41.688, 21.25, 0.112999, -37.438, 37, 0.112999, -37.438, 37, 0.112999, -41.688, 21, 0.112999, -41.688, 36.5, 0.112999, -25.188, 36.75, 0.112999, -23.938, 37, 0.112999, -23.938, 37, 0.112999, -35.188, 19.75, 0.112999, -35.188, 19.5, 0.112999, -35.688, 14, 0.112999, -29.438, 19.75, 0.112999, -35.188, 14, 0.112999, -29.438, 19.25, 0.112999, -25.188, 36.5, 0.112999, -25.188, 37, 0.112999, -35.188, -11.5, 0.112999, -22.938, -9, 0.112999, -25.688, -6.5, 0.112999, -29.188, -12.25, 0.112999, -33.438, -18.5, 0.112999, -28.438, -12.25, 0.112999, -33.438, -13.5, 0.112999, -34.938, -18.5, 0.112999, -28.438, -5.75, 7.113, -28.188, -4.5, 7.113, -28.938, -4.75, 7.113, -29.688, -4.75, 7.113, -29.688, -11, 6.863, -34.188, -10.5, 7.113, -32.938, -5.75, 7.113, -28.188, -4.75, 7.113, -29.688, -10.5, 7.113, -32.938, -15.5, 7.113, -26.438, -11, 7.113, -20.938, -16.25, 7.113, -25.688, -17, 7.113, -25.688, -11, 7.113, -20.938, -15.5, 7.113, -26.438, -16.25, 7.113, -25.688, -11, 7.113, -20.938, -7.5, 3.363, -25.438, -6.75, 3.363, -26.688, -7.5, 3.363, -27.188, -10.25, 3.363, -24.438, -8.75, 3.363, -23.938, -7.5, 3.363, -28.188, -6.5, 3.363, -28.938, -10.5, 3.363, -32.438, -15.75, 3.363, -26.438, -11.25, 3.363, -22.938, -10.25, 3.363, -24.438, -10.25, 3.363, -24.438, -7.5, 3.363, -27.188, -7.5, 3.363, -28.188, -10.5, 3.363, -32.438, -11.25, 3.363, -32.438, -15.75, 3.363, -26.438, 37, 0.112999, -23.938, 36.75, 0.112999, -23.938, 36.5, 0.112999, -22.938, 37, 0.112999, 37.062, -28, 0.112999, 4.81201, -29, 0.112999, 4.06201, -37, 0.112999, 4.06201, -37, 0.112999, 37.062, 7.75, 0.112999, -31.188, -3.25, 0.112999, -29.438, -3.25, 0.112999, -28.688, -3.25, 0.112999, -28.688, -4.75, 0.112999, -27.688, -10.5, 0.112999, -19.938, 20.25, 0.112999, -21.438, 7.75, 0.112999, -31.188, -12.5, 0.112999, -20.438, -18, 0.112999, -24.938, -26, 0.112999, -15.938, 36.5, 0.112999, -22.938, 22, 0.112999, -22.938, 22, 0.112999, -22.188, 36.5, 0.112999, -22.938, 22, 0.112999, -22.188, 21.25, 0.112999, -21.438, -10.5, 0.112999, -19.938, -12.5, 0.112999, -20.438, -26, 0.112999, -15.938, -26.75, 0.112999, 4.56201, -28, 0.112999, 4.81201, -37, 0.112999, 37.062, -10.5, 0.112999, -19.938, -26, 0.112999, -15.938, -26.75, 0.112999, 4.56201, 21.25, 0.112999, -21.438, 20.25, 0.112999, -21.438, 37, 0.112999, 37.062, 36.5, 0.112999, -22.938, 21.25, 0.112999, -21.438, -26.75, 0.112999, 4.56201, -37, 0.112999, 37.062, -37, 0.112999, -13.188, -28.5, 0.112999, -13.188, -28.25, 0.112999, -16.188, -26.25, 0.112999, -16.438, -26, 0.112999, -15.938, -18, 0.112999, -24.938, -20, 0.112999, -26.438, -28.25, 0.112999, -16.188, -20, 0.112999, -27.188, -37, 0.112999, -27.188, -37, 0.112999, -13.188, -26.25, 0.112999, -16.438, -20, 0.112999, -26.438, -20, 0.112999, -27.188, -28.25, 0.112999, -16.188, 20.25, 5.613, -22.688, 20.75, 5.613, -22.688, 20.75, 5.613, -23.938, 18.75, 5.613, -24.188, 18.75, 5.613, -24.188, 20.75, 5.613, -23.938, 35.75, 5.613, -23.938, -29, 0.112999, 4.06201, -28.5, 0.112999, -13.188, -37, 0.112999, -13.188, -37, 0.112999, 4.06201)
|
||||||
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(18, 17, 16), PackedInt32Array(20, 19, 21), PackedInt32Array(21, 19, 23), PackedInt32Array(21, 23, 22), PackedInt32Array(25, 24, 26), PackedInt32Array(26, 24, 28), PackedInt32Array(26, 28, 27), PackedInt32Array(31, 30, 29), PackedInt32Array(33, 32, 34), PackedInt32Array(34, 32, 37), PackedInt32Array(34, 37, 36), PackedInt32Array(34, 36, 35), PackedInt32Array(40, 39, 38), PackedInt32Array(43, 42, 41), PackedInt32Array(46, 45, 44), PackedInt32Array(49, 48, 47), PackedInt32Array(52, 51, 53), PackedInt32Array(53, 51, 50), PackedInt32Array(53, 50, 54), PackedInt32Array(56, 55, 57), PackedInt32Array(57, 55, 58), PackedInt32Array(60, 59, 61), PackedInt32Array(61, 59, 62), PackedInt32Array(65, 64, 63), PackedInt32Array(67, 66, 68), PackedInt32Array(68, 66, 69), PackedInt32Array(69, 66, 70), PackedInt32Array(72, 71, 73), PackedInt32Array(73, 71, 74), PackedInt32Array(74, 71, 75), PackedInt32Array(78, 77, 76), PackedInt32Array(80, 79, 81), PackedInt32Array(84, 83, 82), PackedInt32Array(86, 85, 87), PackedInt32Array(87, 85, 88), PackedInt32Array(88, 85, 89), PackedInt32Array(92, 91, 90), PackedInt32Array(95, 94, 93), PackedInt32Array(97, 96, 98), PackedInt32Array(98, 96, 100), PackedInt32Array(98, 100, 99), PackedInt32Array(103, 102, 101), PackedInt32Array(104, 106, 105), PackedInt32Array(108, 107, 109), PackedInt32Array(109, 107, 110), PackedInt32Array(110, 107, 111), PackedInt32Array(111, 107, 112), PackedInt32Array(114, 113, 115), PackedInt32Array(115, 113, 116), PackedInt32Array(118, 117, 119), PackedInt32Array(119, 117, 120), PackedInt32Array(123, 122, 121), PackedInt32Array(125, 124, 126), PackedInt32Array(126, 124, 128), PackedInt32Array(126, 128, 127), PackedInt32Array(131, 130, 129), PackedInt32Array(134, 133, 132), PackedInt32Array(135, 137, 136), PackedInt32Array(140, 139, 138), PackedInt32Array(143, 142, 141), PackedInt32Array(148, 147, 144), PackedInt32Array(144, 147, 145), PackedInt32Array(145, 147, 146), PackedInt32Array(150, 149, 151), PackedInt32Array(151, 149, 152), PackedInt32Array(152, 149, 153), PackedInt32Array(156, 155, 154), PackedInt32Array(157, 160, 158), PackedInt32Array(158, 160, 159), PackedInt32Array(164, 163, 161), PackedInt32Array(161, 163, 162), PackedInt32Array(166, 165, 167), PackedInt32Array(167, 165, 168), PackedInt32Array(170, 169, 171), PackedInt32Array(171, 169, 172), PackedInt32Array(175, 174, 173), PackedInt32Array(179, 178, 176), PackedInt32Array(176, 178, 177)]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6yrih"]
|
||||||
albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
|
albedo_color = Color(0.300579, 0.462784, 0.249767, 1)
|
||||||
@@ -35,13 +35,15 @@ 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")
|
||||||
|
health = 10
|
||||||
MAX_PARTICLES = 75
|
MAX_PARTICLES = 75
|
||||||
gun_1 = ExtResource("2_poauc")
|
gun_1 = ExtResource("2_poauc")
|
||||||
gun_2 = ExtResource("3_xdb5c")
|
gun_2 = ExtResource("3_xdb5c")
|
||||||
|
|
||||||
[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.0517487, 5.27336, 0.0530636)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26.4194, 1.40016, -29.1943)
|
||||||
AUDIO = false
|
AUDIO = false
|
||||||
|
JUMP_VELOCITY = 6
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
environment = SubResource("Environment_klp4b")
|
environment = SubResource("Environment_klp4b")
|
||||||
@@ -71,18 +73,39 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.66438, 9.53674e-07, 3.9282
|
|||||||
[node name="spider6" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
[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)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.21709, -1.90735e-06, -3.3705)
|
||||||
|
|
||||||
|
[node name="spider7" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.91809, 0, 23.7467)
|
||||||
|
|
||||||
|
[node name="spider8" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.58085, 2.86102e-06, 21.6052)
|
||||||
|
|
||||||
|
[node name="spider9" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.02814, -1.36424e-12, 14.3065)
|
||||||
|
|
||||||
|
[node name="spider10" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6041, 1.90735e-06, 19.0773)
|
||||||
|
|
||||||
|
[node name="spider11" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.78351, 2.86102e-06, 21.6052)
|
||||||
|
|
||||||
|
[node name="spider12" parent="EnemyHivemind1" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.33622, -1.36424e-12, 14.3065)
|
||||||
|
|
||||||
[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="spider13" parent="EnemyHivemind2" instance=ExtResource("6_qmuhr")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.42818, -4.34754, -244.334)
|
||||||
|
|
||||||
[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, -2.24341)
|
||||||
use_collision = true
|
use_collision = true
|
||||||
collision_layer = 7
|
collision_layer = 7
|
||||||
collision_mask = 7
|
collision_mask = 7
|
||||||
size = Vector3(75, 0.5, 75)
|
size = Vector3(75, 0.5, 79.4868)
|
||||||
material = SubResource("StandardMaterial3D_6yrih")
|
material = SubResource("StandardMaterial3D_6yrih")
|
||||||
|
|
||||||
[node name="CSGBox3D2" type="CSGBox3D" parent="NavigationRegion3D"]
|
[node name="CSGBox3D2" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
@@ -109,12 +132,67 @@ use_collision = true
|
|||||||
size = Vector3(50, 0.5, 50)
|
size = Vector3(50, 0.5, 50)
|
||||||
material = SubResource("StandardMaterial3D_6yrih")
|
material = SubResource("StandardMaterial3D_6yrih")
|
||||||
|
|
||||||
|
[node name="CSGBox3D6" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27.7148, 2.4345, -24.1421)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(16.626, 5.39923, 1)
|
||||||
|
|
||||||
|
[node name="CSGBox3D7" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.5233, 2.4345, -36.4154)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(16.626, 5.39923, 1)
|
||||||
|
|
||||||
|
[node name="CSGBox3D8" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, 14.5597, 2.4345, -27.4493)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(16.626, 5.39923, 1)
|
||||||
|
|
||||||
|
[node name="CSGBox3D9" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(-0.99924, 0, 0.0389808, 0, 1, 0, -0.0389808, 0, -0.99924, -27.5957, 0.992565, -5.91811)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 2.45886, 19.9462)
|
||||||
|
|
||||||
|
[node name="CSGBox3D10" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, -7.98118, 1.16839, -25.2892)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 3.53223, 10.6134)
|
||||||
|
|
||||||
|
[node name="CSGBox3D15" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(-0.61606, 0, -0.787699, 0, 1, 0, 0.787699, 0, -0.61606, -8.33938, 2.989, -32.1273)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 7.17346, 10.6134)
|
||||||
|
|
||||||
|
[node name="CSGBox3D16" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(-0.61606, 0, -0.787699, 0, 1, 0, 0.787699, 0, -0.61606, -14.9398, 2.989, -24.1156)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 7.17346, 10.6134)
|
||||||
|
|
||||||
|
[node name="CSGBox3D13" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, -10.6188, 2.67058, -27.3359)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.67725, 0.527832, 10.6134)
|
||||||
|
|
||||||
|
[node name="CSGBox3D14" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, -10.6188, 6.48707, -27.3359)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.67725, 0.527832, 10.6134)
|
||||||
|
|
||||||
|
[node name="CSGBox3D11" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, -5.57732, 4.5504, -28.3871)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 3.53223, 2.77106)
|
||||||
|
|
||||||
|
[node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D"]
|
||||||
|
transform = Transform3D(0.790048, 0, -0.613045, 0, 1, 0, 0.613045, 0, 0.790048, -10.4189, 4.5504, -22.1723)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 3.53223, 3.19559)
|
||||||
|
|
||||||
[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")]
|
[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)
|
transform = Transform3D(0.813009, 0, -0.582251, 0, 1, 0, 0.582251, 0, 0.813009, -12.3032, -0.170555, -34.4168)
|
||||||
|
|
||||||
[node name="pistol1_pickup" parent="." instance=ExtResource("8_qwtxj")]
|
[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)
|
transform = Transform3D(0.649528, -0.760338, 0, 0.760338, 0.649528, 0, 0, 0, 1, -24.7534, 1.09587, 5.88603)
|
||||||
|
|||||||
@@ -1171,6 +1171,7 @@ health_drop_enabled = false
|
|||||||
[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
|
AUDIO = false
|
||||||
|
JUMP_VELOCITY = 6
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
transform = Transform3D(0.420794, 0.292511, -0.858703, -0.23587, 0.949309, 0.207791, 0.875956, 0.115105, 0.468458, 0, 0, 0)
|
transform = Transform3D(0.420794, 0.292511, -0.858703, -0.23587, 0.949309, 0.207791, 0.875956, 0.115105, 0.468458, 0, 0, 0)
|
||||||
|
|||||||
34
scripts/DamageNumber.gd
Normal file
34
scripts/DamageNumber.gd
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
extends Label3D
|
||||||
|
|
||||||
|
var damage_amt
|
||||||
|
var start_position
|
||||||
|
|
||||||
|
const SPEED = 2
|
||||||
|
const SCALE_SPEED = 80
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
start_position = position
|
||||||
|
|
||||||
|
var rand_scale = randf_range(.5,1.5)
|
||||||
|
|
||||||
|
scale.x = 1 * rand_scale
|
||||||
|
scale.y = 1 * rand_scale
|
||||||
|
text = str(damage_amt)
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
|
||||||
|
|
||||||
|
#scale.x = lerp(0,1,SCALE_SPEED * delta )
|
||||||
|
#scale.y = lerp(0,1,SCALE_SPEED * delta)
|
||||||
|
position.y += SPEED * delta
|
||||||
|
|
||||||
|
var position_diff = clamp((position.y - start_position.y)/5,0,1)
|
||||||
|
|
||||||
|
modulate = Color(1, 1, 1,1 - position_diff)
|
||||||
|
outline_modulate = Color(1, 1, 1, 1 - position_diff)
|
||||||
|
|
||||||
|
if position_diff == 1:
|
||||||
|
queue_free()
|
||||||
@@ -2,6 +2,8 @@ extends Area3D
|
|||||||
|
|
||||||
@export var damage :=1
|
@export var damage :=1
|
||||||
|
|
||||||
|
var damage_number = preload("res://assets/damage_number.tscn")
|
||||||
|
|
||||||
signal body_part_hit(dam,bullet_damage)
|
signal body_part_hit(dam,bullet_damage)
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
@@ -15,3 +17,8 @@ func _process(delta):
|
|||||||
|
|
||||||
func hit(bullet_damage):
|
func hit(bullet_damage):
|
||||||
emit_signal("body_part_hit", damage, bullet_damage)
|
emit_signal("body_part_hit", damage, bullet_damage)
|
||||||
|
|
||||||
|
var number_spawn = damage_number.instantiate()
|
||||||
|
number_spawn.damage_amt = bullet_damage * damage
|
||||||
|
number_spawn.position = global_position + Vector3(0,2,0)
|
||||||
|
get_tree().get_root().add_child(number_spawn)
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ func _process(delta):
|
|||||||
else:
|
else:
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
if ray.is_colliding() and ray.is_colliding() != null:
|
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"):
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,12 @@ extends Node3D
|
|||||||
@onready var camera = $Camera3D
|
@onready var camera = $Camera3D
|
||||||
@onready var timer = $Timer
|
@onready var timer = $Timer
|
||||||
@onready var level_control = get_tree().current_scene
|
@onready var level_control = get_tree().current_scene
|
||||||
|
@onready var whiteout = $Whiteout
|
||||||
|
@onready var animation_player = $AnimationPlayer
|
||||||
|
|
||||||
|
var focus_dist
|
||||||
var target : Node
|
var target : Node
|
||||||
|
var focus_target
|
||||||
var respawn_position
|
var respawn_position
|
||||||
var respawn_rotation
|
var respawn_rotation
|
||||||
var respawn_fov
|
var respawn_fov
|
||||||
@@ -19,35 +23,52 @@ var respawn = false
|
|||||||
|
|
||||||
# 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():
|
||||||
|
#set FOV
|
||||||
camera.fov = respawn_fov
|
camera.fov = respawn_fov
|
||||||
|
|
||||||
|
#start timer
|
||||||
timer.start()
|
timer.start()
|
||||||
for i in target.outline_meshes:
|
|
||||||
print(i)
|
#highlight target
|
||||||
i.visible = true
|
if target != null:
|
||||||
|
for i in target.outline_meshes:
|
||||||
|
i.visible = true
|
||||||
|
|
||||||
|
#set whiteout to size of screen
|
||||||
|
var viewportWidth = get_viewport().size.x
|
||||||
|
var viewportHeight = get_viewport().size.y
|
||||||
|
whiteout.size = Vector2(viewportWidth,viewportHeight)
|
||||||
|
whiteout.color = Color(1, 1, 1, 0)
|
||||||
|
|
||||||
|
|
||||||
# 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):
|
||||||
|
if target != null:
|
||||||
var focus_dist = camera.global_position.distance_to(target.global_position)
|
focus_dist = camera.global_position.distance_to(target.global_position)
|
||||||
print("focus dist " + str(focus_dist))
|
else:
|
||||||
|
focus_dist = 10.0
|
||||||
camera.attributes.dof_blur_far_distance = focus_dist + 2
|
camera.attributes.dof_blur_far_distance = focus_dist + 2
|
||||||
camera.attributes.dof_blur_near_distance = focus_dist - 2
|
camera.attributes.dof_blur_near_distance = focus_dist - 2
|
||||||
|
|
||||||
|
if target == null:
|
||||||
|
respawn = true
|
||||||
|
|
||||||
# Move towards and look at target
|
# Move towards and look at target
|
||||||
if target != null and respawn == false:
|
if respawn == false:
|
||||||
#calculate move direction
|
#calculate move direction
|
||||||
var target_pos_adjusted = Vector3(target.position.x -2,target.position.y + 4,target.position.z -2)
|
var target_pos_adjusted = Vector3(target.position.x -4,target.position.y + 4,target.position.z -4)
|
||||||
#camera.fov = lerp(respawn_fov,DEAD_CAM_FOV,delta*100)
|
|
||||||
position = lerp(position,target_pos_adjusted,delta * MOVE_SPEED)
|
position = lerp(position,target_pos_adjusted,delta * MOVE_SPEED)
|
||||||
look_ray.look_at(Vector3(target.global_position), Vector3.UP)
|
look_ray.look_at(Vector3(target.global_position), Vector3.UP)
|
||||||
camera.rotation = lerp(camera.rotation,look_ray.rotation,delta * CAMERA_LOOK_SPEED)
|
camera.rotation = lerp(camera.rotation,look_ray.rotation,delta * CAMERA_LOOK_SPEED)
|
||||||
|
camera.fov = lerp(camera.fov, 40.0, delta * 5)
|
||||||
|
print(camera.fov)
|
||||||
|
|
||||||
elif respawn == true:
|
elif respawn == true:
|
||||||
position = lerp(position,respawn_position,delta * MOVE_SPEED)
|
position = lerp(position,respawn_position,delta * MOVE_SPEED * 1.5)
|
||||||
camera.global_transform.basis = lerp(camera.global_transform.basis,respawn_rotation,delta * CAMERA_LOOK_SPEED)
|
camera.global_transform.basis = lerp(camera.global_transform.basis,respawn_rotation,delta * CAMERA_LOOK_SPEED * 1.5)
|
||||||
#camera.fov = lerp(DEAD_CAM_FOV,respawn_fov,delta * FOV_CHANGE_SPEED)
|
camera.fov = lerp(camera.fov, respawn_fov, delta * 10)
|
||||||
if abs(position.x - respawn_position.x) <=.2:
|
if global_position.distance_to(respawn_position) <= .5:
|
||||||
reload_level()
|
animation_player.play("whiteout")
|
||||||
|
|
||||||
if Input.is_action_just_pressed("escape"):
|
if Input.is_action_just_pressed("escape"):
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|||||||
21
scripts/level_bounds.gd
Normal file
21
scripts/level_bounds.gd
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
extends Area3D
|
||||||
|
|
||||||
|
@onready var level_control = get_tree().current_scene
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_area_exited(area):
|
||||||
|
pass #level_control.die()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_shape_exited(body_rid, body, body_shape_index, local_shape_index):
|
||||||
|
level_control.die()
|
||||||
@@ -16,6 +16,12 @@ const MAX_AV = 10
|
|||||||
@export var random_spread_amt = .01
|
@export var random_spread_amt = .01
|
||||||
@export var bullet_damage = 1
|
@export var bullet_damage = 1
|
||||||
@export var turret_look_speed = 6
|
@export var turret_look_speed = 6
|
||||||
|
@export var stamina : Resource
|
||||||
|
@export var ammo : Resource
|
||||||
|
@export var money : Resource
|
||||||
|
@export var health_pickup : Resource
|
||||||
|
@export var die_particles : Resource
|
||||||
|
@export var damage_number : Resource
|
||||||
|
|
||||||
@onready var level_control = get_tree().current_scene
|
@onready var level_control = get_tree().current_scene
|
||||||
@onready var nav_agent = $NavigationAgent3D
|
@onready var nav_agent = $NavigationAgent3D
|
||||||
@@ -33,28 +39,7 @@ const MAX_AV = 10
|
|||||||
@onready var audio_fire = $AUIDO/Fire
|
@onready var audio_fire = $AUIDO/Fire
|
||||||
@onready var turret = $TurretLook/Turret
|
@onready var turret = $TurretLook/Turret
|
||||||
@onready var turret_material = turret.get_surface_override_material(2)
|
@onready var turret_material = turret.get_surface_override_material(2)
|
||||||
|
|
||||||
# OUTLINE MESHES
|
|
||||||
@onready var turretoutline = $TurretLook/Turret/turretoutline
|
|
||||||
@onready var foot_1_outline = $body/leg1/foot1/foot1outline
|
|
||||||
@onready var leg_1_outline = $body/leg1/leg1outline
|
|
||||||
@onready var foot_2_outline = $body/leg2/foot2/foot2outline
|
|
||||||
@onready var leg_2_outline = $body/leg2/leg2outline
|
|
||||||
@onready var foot_3_outline = $body/leg3/foot3/foot3outline
|
|
||||||
@onready var leg_3_outline = $body/leg3/leg3outline
|
|
||||||
@onready var foot_4_outline = $body/leg4/foot4/foot4outline
|
|
||||||
@onready var leg_4_outline = $body/leg4/leg4outline
|
|
||||||
@onready var bodyoutline = $body/bodyoutline
|
|
||||||
|
|
||||||
|
|
||||||
@export var stamina : Resource
|
|
||||||
@export var ammo : Resource
|
|
||||||
@export var money : Resource
|
|
||||||
@export var health_pickup : Resource
|
|
||||||
@export var die_particles : Resource
|
|
||||||
@onready var turret_look = $TurretLook
|
@onready var turret_look = $TurretLook
|
||||||
|
|
||||||
|
|
||||||
@onready var outline_meshes = [$TurretLook/Turret/turretoutline,
|
@onready var outline_meshes = [$TurretLook/Turret/turretoutline,
|
||||||
$body/leg1/foot1/foot1outline,
|
$body/leg1/foot1/foot1outline,
|
||||||
$body/leg1/leg1outline,
|
$body/leg1/leg1outline,
|
||||||
|
|||||||
Reference in New Issue
Block a user