added bullet damage into hit system

This commit is contained in:
Derek
2024-07-16 08:18:36 -05:00
parent 0832aa7808
commit 2b5e63a1ec
9 changed files with 536 additions and 33 deletions

View File

@@ -219,7 +219,7 @@ tracks/7/path = NodePath(".")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.28, 1.59),
"times": PackedFloat32Array(0.28, 0.95),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
@@ -411,7 +411,7 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="mac10" parent="." index="0"]
transform = Transform3D(-1.94727e-06, 3.27023e-09, -0.532829, 0.0740471, 0.527658, -2.67375e-07, 0.527658, -0.0740471, -1.92884e-06, 0, -0.0867323, -0.120086)
transform = Transform3D(0.0987152, 0.222637, -0.473914, 0.061396, 0.474014, 0.235473, 0.519992, -0.0982326, 0.0621653, -0.0190394, 0.444823, -0.291315)
[node name="SpotLight3D" type="SpotLight3D" parent="mac10" index="0"]
transform = Transform3D(-6.79394e-06, 0, 1.87678, 0, 1.87678, 0, -1.87677, 0, -6.79392e-06, -1.63231, 0, 5.90892e-06)

508
assets/revD02B.tmp Normal file
View File

@@ -0,0 +1,508 @@
[gd_scene load_steps=17 format=3 uid="uid://b5eclfg0cmmal"]
[ext_resource type="PackedScene" uid="uid://dgogd08c0ubt6" path="res://assets/Models/revolver1.blend" id="1_i5f84"]
[ext_resource type="Script" path="res://scripts/revolver_1.gd" id="2_7rsti"]
[ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="3_q41fl"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="3_tru5y"]
[ext_resource type="PackedScene" uid="uid://crvohhc6kgshn" path="res://assets/bullet_hole.tscn" id="4_ubqgq"]
[ext_resource type="PackedScene" uid="uid://c1gdehrsytlkk" path="res://assets/casing_2.tscn" id="5_m3vsl"]
[ext_resource type="AudioStream" uid="uid://ba0w04uqqexpn" path="res://assets/Audio/Weapons/machine-gun-m16-double-shot-close-perspective-SBA-300130711.wav" id="8_thfjw"]
[ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="9_xt6tc"]
[ext_resource type="AudioStream" uid="uid://db3iy0f1pa5lg" path="res://assets/Audio/Weapons/gun-m-16-reload-full-clip-magazine-SBA-300121257.wav" id="10_0uh43"]
[sub_resource type="Animation" id="Animation_8akx8"]
resource_name = "empty"
length = 0.3
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -0.073), Vector3(0, 0, -0.147606), Vector3(0, 0, -0.073)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -1.5708), Vector3(-0.150383, 0.0739494, -1.60578), Vector3(0, 0, -1.5708)]
}
[sub_resource type="Animation" id="Animation_21rul"]
resource_name = "inspect"
length = 3.0
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.51, 0.99, 1.4, 1.9, 2.4, 3),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -0.073), Vector3(-0.574, 0.208, 0.4), Vector3(-0.574, 0.366, 0.4), Vector3(-0.573651, 0.302831, -0.190018), Vector3(-0.386, 0.303, 0.4), Vector3(-0.386, 0.303, 0.4), Vector3(0, 0, -0.073)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.51, 0.99, 1.4, 1.9, 2.4, 3),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -1.5708), Vector3(0.14619, 0.995226, -2.05295), Vector3(0.14619, 0.812874, -2.05295), Vector3(0.14619, 1.0641, -2.05295), Vector3(0.54766, -0.269512, -0.540009), Vector3(0.54766, -0.269512, -0.540009), Vector3(0, 0, -1.5708)]
}
[sub_resource type="Animation" id="Animation_rlxei"]
resource_name = "reload"
length = 2.5
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.22, 0.4, 0.6, 1.07, 1.33, 1.5, 1.66, 1.82, 1.89, 2.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -0.073), Vector3(-0.61041, 1.05032, -0.236151), Vector3(-0.4225, 0.657429, -0.251105), Vector3(-1.27312, 1.15341, -0.515495), Vector3(-1.0066, -0.416256, -0.317969), Vector3(-1.13106, -0.198543, -0.223125), Vector3(-0.58445, 0.0249391, -0.0674842), Vector3(-0.508226, -0.016757, -0.0897506), Vector3(-0.0153492, 0.604715, -0.11206), Vector3(0.187865, 0.65023, -0.11897), Vector3(0, 0, -0.073)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.22, 0.4, 0.6, 1.07, 1.33, 1.5, 1.66, 1.82, 1.89, 2.5),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -1.5708), Vector3(0.687548, 0.326954, -0.642657), Vector3(1.01821, 0.680476, -0.426182), Vector3(0.903525, 0.852835, -0.569306), Vector3(-0.971497, 0.7422, -1.86723), Vector3(-1.31235, 0.518595, -1.46474), Vector3(-1.38018, 0.534, -1.42873), Vector3(-1.21355, 0.571637, -1.67236), Vector3(-0.222425, 0.158319, -2.06524), Vector3(0.189279, -0.0229724, -2.20242), Vector3(0, 0, -1.5708)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("revolver1/Chamber:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.14, 0.26, 1.74, 1.82),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector3(-0.0143475, 0, -0.0849619), Vector3(-0.014, -0.3, -0.085), Vector3(-0.014, -0.3, -0.085), Vector3(-0.0143475, 0, -0.0849619)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("revolver1/Chamber/casing_001:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("revolver1/Chamber/casing_002:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("revolver1/Chamber/casing_003:visible")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("revolver1/Chamber/casing_004:visible")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("revolver1/Chamber/casing_005:visible")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("revolver1/Chamber/casing:visible")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.3, 0.31, 1.29, 1.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, false, true]
}
tracks/9/type = "method"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath(".")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0.31, 2.5),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"spawn_casings"
}, {
"args": [],
"method": &"reload_finished"
}]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("revolver1/Chamber/casing:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("revolver1/Chamber/casing_001:position")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/12/type = "value"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("revolver1/Chamber/casing_003:position")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("revolver1/Chamber/casing_004:position")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath("revolver1/Chamber/casing_005:position")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
[sub_resource type="Animation" id="Animation_n8vac"]
resource_name = "shoot"
length = 0.3
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.03, 0.07, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -0.073), Vector3(0, 0.220238, 0.54816), Vector3(0, 0, -0.073)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.03, 0.07, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -1.5708), Vector3(0.450033, 0, -1.5708), Vector3(0, 0, -1.5708)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("revolver1/hammer:rotation")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.02, 0.03),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(-2.69072e-08, 0.663103, -9.26305e-09), Vector3(0, 0, 0)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("revolver1/Trigger:rotation")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.01, 0.08),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(1.5708, -1.36174, 0), Vector3(1.5708, -2.10732, 0), Vector3(1.5708, -1.36174, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("revolver1/Chamber:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.03),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(1.19209e-07, 1.5708, 1.5708), Vector3(1.0472, 1.5708, 1.5708)]
}
[sub_resource type="Animation" id="Animation_w02ee"]
resource_name = "swap_in"
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(-3.07392, -1.84477, 0.367733), Vector3(-0.208626, 0.7136, -0.157707), Vector3(0, 0, -0.073)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(-0.988971, 2.72615, -2.59346), Vector3(-0.187002, 0.326746, -1.63372), Vector3(0, 0, -1.5708)]
}
[sub_resource type="Animation" id="Animation_nvmxj"]
resource_name = "swap_out"
step = 0.01
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("revolver1:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -0.073), Vector3(1.02683, 0.7136, 0.931267), Vector3(1, 0.7136, 3.92668)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("revolver1:rotation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0, -1.5708), Vector3(1.23943, 1.69465, 0.256704), Vector3(1.28498, 1.63115, -0.624855)]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"swapped_out"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2kb78"]
_data = {
"empty": SubResource("Animation_8akx8"),
"inspect": SubResource("Animation_21rul"),
"reload": SubResource("Animation_rlxei"),
"shoot": SubResource("Animation_n8vac"),
"swap_in": SubResource("Animation_w02ee"),
"swap_out": SubResource("Animation_nvmxj")
}
[node name="revolver1" node_paths=PackedStringArray("chamber", "anim_player", "barrel_raycast", "casing_ejectors", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_i5f84")]
script = ExtResource("2_7rsti")
gun_name = "Ye Ol' Revolver"
fire_mode = 1
recoil_amount = 1.0
max_ammo = 6
start_mags = 4
bullet_damage = 5
bullet_speed = 300
bullet_drop = 0.0
random_spread_amt = 0.1
chamber = NodePath("revolver1/Chamber")
bullet = ExtResource("3_tru5y")
bullethole = ExtResource("4_ubqgq")
casing = ExtResource("5_m3vsl")
anim_player = NodePath("AnimationPlayer")
barrel_raycast = NodePath("revolver1/RayCastBarrel")
casing_ejectors = NodePath("revolver1/Chamber/RayCastCasing1")
audio_fire = NodePath("Audio/Fire")
audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="revolver1" parent="." index="0"]
transform = Transform3D(-2.17199e-06, 0.6, 0, -0.6, -2.17199e-06, 0, 0, 0, 0.6, 0, 0, -0.073)
[node name="Chamber" parent="revolver1" index="0"]
transform = Transform3D(0.866025, 5.85622e-09, 0.5, 0.5, -2.18557e-08, -0.866025, 5.85622e-09, 1, -2.18557e-08, -0.0143475, 0, -0.0849619)
[node name="casing" parent="revolver1/Chamber" index="6"]
transform = Transform3D(-0.611184, 1.18824e-07, 0.791489, -9.55509e-08, -1, 7.63428e-08, 0.791489, -2.89681e-08, 0.611184, -0.110813, 0.140209, -0.066206)
visible = false
[node name="casing_001" parent="revolver1/Chamber" index="7"]
visible = false
[node name="casing_002" parent="revolver1/Chamber" index="8"]
visible = false
[node name="casing_003" parent="revolver1/Chamber" index="9"]
visible = false
[node name="casing_004" parent="revolver1/Chamber" index="10"]
visible = false
[node name="casing_005" parent="revolver1/Chamber" index="11"]
visible = false
[node name="RayCastCasing1" type="RayCast3D" parent="revolver1/Chamber" index="12"]
transform = Transform3D(4.17233e-07, 0, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38419e-07, -2.98023e-07, -0.00360727, 0.139269, -0.137243)
[node name="RayCastCasing2" type="RayCast3D" parent="revolver1/Chamber" index="13"]
transform = Transform3D(4.17229e-07, 3.96411e-19, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38418e-07, -2.98026e-07, -0.125048, 0.139269, -0.0746504)
[node name="RayCastCasing3" type="RayCast3D" parent="revolver1/Chamber" index="14"]
transform = Transform3D(4.17226e-07, 4.94667e-19, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38418e-07, -2.9803e-07, -0.108792, 0.1392, 0.0755936)
[node name="RayCastCasing4" type="RayCast3D" parent="revolver1/Chamber" index="15"]
transform = Transform3D(4.17224e-07, 4.91279e-19, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38418e-07, -2.98031e-07, 0.000137257, 0.1392, 0.0979677)
[node name="RayCastCasing5" type="RayCast3D" parent="revolver1/Chamber" index="16"]
transform = Transform3D(4.17223e-07, 5.99699e-19, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38418e-07, -2.98032e-07, 0.123611, 0.1392, 0.0697919)
[node name="RayCastCasing6" type="RayCast3D" parent="revolver1/Chamber" index="17"]
transform = Transform3D(4.17223e-07, 7.04731e-19, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38418e-07, -2.98033e-07, 0.126097, 0.1392, -0.0677698)
[node name="Trigger" parent="revolver1" index="2"]
transform = Transform3D(-0.86282, -0.50551, 1.82994e-06, 0, -3.61999e-06, -1, 0.50551, -0.86282, 3.1234e-06, 0.226752, 0, -0.00209358)
[node name="RayCastBarrel" type="RayCast3D" parent="revolver1" index="3"]
transform = Transform3D(1.87678, -5.68434e-14, 0, 5.68434e-14, 1.87677, 0, 0, 0, 1.87678, -0.142459, 0.000826949, -1.92175)
target_position = Vector3(0, 0, -0.1)
[node name="SpotLight3D" type="SpotLight3D" parent="revolver1" index="4"]
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37115e-08, 0, 0, 0, 1, 0, 0, -1.94881)
light_color = Color(0.965385, 0.844179, 0.572893, 1)
light_energy = 0.0
light_projector = ExtResource("3_q41fl")
light_size = 0.229
shadow_enabled = true
spot_range = 7.0
spot_angle = 70.0
spot_angle_attenuation = 0.353554
[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1"]
libraries = {
"": SubResource("AnimationLibrary_2kb78")
}
[node name="Audio" type="Node3D" parent="." index="2"]
[node name="Fire" type="AudioStreamPlayer3D" parent="Audio" index="0"]
stream = ExtResource("8_thfjw")
volume_db = 5.0
bus = &"SFX"
[node name="Empty" type="AudioStreamPlayer3D" parent="Audio" index="1"]
stream = ExtResource("9_xt6tc")
bus = &"SFX"
[node name="Reload" type="AudioStreamPlayer3D" parent="Audio" index="2"]
stream = ExtResource("10_0uh43")
volume_db = 3.0
bus = &"SFX"

View File

@@ -187,7 +187,7 @@ tracks/9/path = NodePath(".")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0.31, 2.5),
"times": PackedFloat32Array(0.31, 1.86),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
@@ -257,6 +257,18 @@ tracks/14/keys = {
"update": 0,
"values": []
}
tracks/15/type = "value"
tracks/15/imported = false
tracks/15/enabled = true
tracks/15/path = NodePath("revolver1/Chamber:rotation")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/keys = {
"times": PackedFloat32Array(0.14),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(1.5708, 0, 0)]
}
[sub_resource type="Animation" id="Animation_n8vac"]
resource_name = "shoot"
@@ -426,29 +438,13 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="revolver1" parent="." index="0"]
transform = Transform3D(-2.17199e-06, 0.6, 0, -0.6, -2.17199e-06, 0, 0, 0, 0.6, 0, 0, -0.073)
transform = Transform3D(-0.327362, 0.501856, 0.0312333, -0.502776, -0.327224, -0.0118659, 0.00710883, -0.0326464, 0.599069, 0.104408, 0.639685, -0.116275)
[node name="Chamber" parent="revolver1" index="0"]
transform = Transform3D(0.866025, 5.85622e-09, 0.5, 0.5, -2.18557e-08, -0.866025, 5.85622e-09, 1, -2.18557e-08, -0.0143475, 0, -0.0849619)
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.0143475, 0, -0.0849619)
[node name="casing" parent="revolver1/Chamber" index="6"]
transform = Transform3D(-0.611184, 1.18824e-07, 0.791489, -9.55509e-08, -1, 7.63428e-08, 0.791489, -2.89681e-08, 0.611184, -0.110813, 0.140209, -0.066206)
visible = false
[node name="casing_001" parent="revolver1/Chamber" index="7"]
visible = false
[node name="casing_002" parent="revolver1/Chamber" index="8"]
visible = false
[node name="casing_003" parent="revolver1/Chamber" index="9"]
visible = false
[node name="casing_004" parent="revolver1/Chamber" index="10"]
visible = false
[node name="casing_005" parent="revolver1/Chamber" index="11"]
visible = false
[node name="RayCastCasing1" type="RayCast3D" parent="revolver1/Chamber" index="12"]
transform = Transform3D(4.17233e-07, 0, 2.10229, -2.98023e-07, -2.10229, -5.96046e-08, 2.1023, -2.38419e-07, -2.98023e-07, -0.00360727, 0.139269, -0.137243)

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@ extends Area3D
@export var damage :=1
signal body_part_hit(dam)
signal body_part_hit(dam,bullet_damage)
# Called when the node enters the scene tree for the first time.
func _ready():
@@ -13,5 +13,5 @@ func _ready():
func _process(delta):
pass
func hit():
emit_signal("body_part_hit", damage)
func hit(bullet_damage):
emit_signal("body_part_hit", damage, bullet_damage)

View File

@@ -62,6 +62,6 @@ func _process(delta):
print("enemy hit")
hit_indicator.play()
enemy_particles.emitting = true
ray.get_collider().hit()
ray.get_collider().hit(bullet_damage)
await get_tree().create_timer(1.0).timeout
queue_free()

View File

@@ -101,6 +101,7 @@ func shoot(player,delta):
instance_bullet.bullet_speed = bullet_speed
instance_bullet.bullet_drop = bullet_drop
instance_bullet.random_spread_amt = random_spread_amt
instance_bullet.bullet_damage = bullet_damage
instance_bullet.instance_bullethole = bullethole.instantiate()
instance_bullet.gun = self
get_tree().get_root().add_child(instance_bullet)

View File

@@ -99,6 +99,7 @@ func shoot(player,delta):
instance_bullet.transform.basis = barrel_raycast.global_transform.basis
instance_bullet.bullet_speed = bullet_speed
instance_bullet.bullet_drop = bullet_drop
instance_bullet.bullet_damage = bullet_damage
instance_bullet.random_spread_amt = random_spread_amt
instance_bullet.instance_bullethole = bullethole.instantiate()
instance_bullet.gun = self
@@ -119,10 +120,7 @@ func reload(player,delta):
anim_player.play("reload")
audio_reload.play()
if anim_player.is_playing() and anim_player.current_animation == "reload":
if level_control.ammo_current[gun_index] == 0:
level_control.ammo_current[gun_index] = 0
else:
level_control.ammo_current[gun_index] = 1
func spawn_casings():
pass

View File

@@ -40,8 +40,8 @@ func _process(delta):
move_and_slide()
func _on_area_3d_body_part_hit(dam):
health -= dam
func _on_area_3d_body_part_hit(dam,bullet_damage):
health -= dam * bullet_damage
print("health: " + str(health))
if health <= 0: