weapon pickup working

This commit is contained in:
derek
2024-07-16 14:54:35 -05:00
parent 2393c1e737
commit afe19d8848
21 changed files with 381 additions and 403 deletions

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bn5irqlit3x7r"
path="res://.godot/imported/caulk-gun-handle-squeeze-metal-bar-clicks-SBA-300149154.wav-666798c81e1579531e8cbe6ad8e7d3ff.sample"
[deps]
source_file="res://assets/Audio/Weapons/caulk-gun-handle-squeeze-metal-bar-clicks-SBA-300149154.wav"
dest_files=["res://.godot/imported/caulk-gun-handle-squeeze-metal-bar-clicks-SBA-300149154.wav-666798c81e1579531e8cbe6ad8e7d3ff.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dddg1jxiubo4x"
path="res://.godot/imported/machine-gun-m240b-single-shot-close-perspective-SBA-300149678.wav-b2e7fc05a42025d96919eae01f967081.sample"
[deps]
source_file="res://assets/Audio/machine-gun-m240b-single-shot-close-perspective-SBA-300149678.wav"
dest_files=["res://.godot/imported/machine-gun-m240b-single-shot-close-perspective-SBA-300149678.wav-b2e7fc05a42025d96919eae01f967081.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://lfflb1u6ulyp"
path="res://.godot/imported/pistol-44-magnum-single-shot-exterior-SBA-300083879.wav-0cc10a7099fae605cdb3da432d71caf6.sample"
[deps]
source_file="res://assets/Audio/pistol-44-magnum-single-shot-exterior-SBA-300083879.wav"
dest_files=["res://.godot/imported/pistol-44-magnum-single-shot-exterior-SBA-300083879.wav-0cc10a7099fae605cdb3da432d71caf6.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://de7aipvsnsqfg"
path="res://.godot/imported/pistol-smith-wesson-357-single-shot-exterior-SBA-300112290.wav-5410dd6d57f4b414eb19148d1172dd4f.sample"
[deps]
source_file="res://assets/Audio/pistol-smith-wesson-357-single-shot-exterior-SBA-300112290.wav"
dest_files=["res://.godot/imported/pistol-smith-wesson-357-single-shot-exterior-SBA-300112290.wav-5410dd6d57f4b414eb19148d1172dd4f.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View File

@@ -54,10 +54,11 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_46pc3")
[node name="ammo_pickup" type="RigidBody3D" groups=["pickup"]]
[node name="ammo_pickup" type="RigidBody3D" node_paths=PackedStringArray("collision_shape") groups=["pickup"]]
collision_layer = 4
collision_mask = 6
script = ExtResource("1_sni3c")
collision_shape = NodePath("CollisionShape3D2")
pickupType = "ammo"
[node name="Area3D" type="Area3D" parent="."]
@@ -81,7 +82,3 @@ skeleton = NodePath("")
stream = ExtResource("2_2ks2g")
attenuation_model = 1
autoplay = true
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="area_entered" from="Area3D" to="." method="_on_area_3d_area_entered"]
[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"]

View File

@@ -412,7 +412,7 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="mac10" parent="." index="0"]
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)
transform = Transform3D(-1.92883e-06, 0, -0.532829, 0, 0.532828, 0, 0.532828, 0, -1.92883e-06, 0, 0, 0)
[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)

View File

@@ -293,7 +293,7 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="gun" parent="." index="0"]
transform = Transform3D(-0.156879, -0.839429, 0.260213, 0.497133, 0.133208, 0.729437, -0.724714, 0.273088, 0.444044, -2.63402, -3.06256, 0.366018)
transform = Transform3D(-3.20911e-06, 3.81154e-07, -0.892729, 0.106569, 0.886344, -4.65828e-09, 0.886344, -0.106569, -3.23167e-06, 0, -0.000397999, -0.143476)
[node name="mag" parent="gun" index="0"]
transform = Transform3D(0.0897307, -0.048904, -9.31323e-10, 0.012226, 0.358923, 1.74623e-10, 3.72529e-09, -1.86265e-09, 0.0323253, 0.00225297, 0.0306008, -2.98023e-08)

188
assets/pistol1_pickup.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://b5eclfg0cmmal"]
[gd_scene load_steps=24 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"]
@@ -6,9 +6,10 @@
[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://de7aipvsnsqfg" path="res://assets/Audio/pistol-smith-wesson-357-single-shot-exterior-SBA-300112290.wav" id="7_rgqdy"]
[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"]
[ext_resource type="AudioStream" uid="uid://bn5irqlit3x7r" path="res://assets/Audio/Weapons/caulk-gun-handle-squeeze-metal-bar-clicks-SBA-300149154.wav" id="10_7umo2"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bortg"]
resource_name = "Flare"
@@ -326,6 +327,18 @@ tracks/6/keys = {
"update": 1,
"values": [false, true, false]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("revolver1/SpotLight3D:light_energy")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.02, 0.03, 0.06),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 10.0, 0.0]
}
[sub_resource type="Animation" id="Animation_w02ee"]
resource_name = "swap_in"
@@ -447,7 +460,7 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload")
[node name="revolver1" parent="." index="0"]
transform = Transform3D(-2.17199e-06, 0.600001, 0, -0.6, -2.172e-06, 0, 0, 0, 0.6, 0, 0, -0.073)
transform = Transform3D(-2.17199e-06, 0.600001, 0, -0.56753, -2.05445e-06, -0.194706, -0.194706, -7.04833e-07, 0.567529, 0, 0.161737, 0.383164)
[node name="Chamber" parent="revolver1" index="0"]
transform = Transform3D(1.19222e-07, 3.61999e-06, 1, 1, -3.61999e-06, -1.19209e-07, 3.61999e-06, 1, -3.61999e-06, -0.0143475, 0, -0.0849619)
@@ -474,7 +487,7 @@ transform = Transform3D(4.17223e-07, 5.99699e-19, 2.10229, -2.98023e-07, -2.1022
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.207537, -0.978227, 3.54117e-06, 0, -3.61999e-06, -1, 0.978227, 0.207537, -7.51281e-07, 0.226752, 0, -0.00209358)
transform = Transform3D(-0.198277, -0.980145, 3.54812e-06, 0, -3.61999e-06, -1, 0.980145, -0.198277, 7.17761e-07, 0.226752, 0, -0.00209358)
[node name="flare" type="MeshInstance3D" parent="revolver1" index="3"]
transform = Transform3D(-2.72424e-08, 0.381822, -1.11212e-08, 6.77626e-21, -1.66903e-08, -0.254424, -0.623234, -1.669e-08, 4.86124e-16, -0.109069, 0.0424353, -2.70625)
@@ -512,8 +525,8 @@ libraries = {
[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
stream = ExtResource("7_rgqdy")
volume_db = 10.0
bus = &"SFX"
[node name="Empty" type="AudioStreamPlayer3D" parent="Audio" index="1"]
@@ -524,3 +537,6 @@ bus = &"SFX"
stream = ExtResource("10_0uh43")
volume_db = 3.0
bus = &"SFX"
[node name="HammerBack" type="AudioStreamPlayer3D" parent="Audio" index="3"]
stream = ExtResource("10_7umo2")

View File

@@ -50,10 +50,11 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_dsuo5")
[node name="stamina_pickup" type="RigidBody3D" groups=["pickup"]]
[node name="stamina_pickup" type="RigidBody3D" node_paths=PackedStringArray("collision_shape") groups=["pickup"]]
collision_layer = 4
collision_mask = 6
script = ExtResource("1_1udac")
collision_shape = NodePath("CollisionShape3D2")
pickupType = "stamina"
[node name="Area3D" type="Area3D" parent="."]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=51 format=3 uid="uid://dyop6vk3rgkkb"]
[gd_scene load_steps=52 format=3 uid="uid://dyop6vk3rgkkb"]
[ext_resource type="Script" path="res://scripts/WeaponManager.gd" id="1_orhgl"]
[ext_resource type="Texture2D" uid="uid://dqs06ic3vjtwk" path="res://assets/Models/asphalt1.albedo.jpg" id="1_w4rag"]
@@ -12,6 +12,7 @@
[ext_resource type="AudioStream" uid="uid://jo4n05go5hdt" path="res://assets/Audio/train-pass-by-steady-loop-SBA-300156766.wav" id="7_00j8j"]
[ext_resource type="PackedScene" uid="uid://cnfc8rtk6l1d8" path="res://assets/crate1.tscn" id="8_b57j8"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spiderTEst.tscn" id="12_gnu56"]
[ext_resource type="PackedScene" uid="uid://dws4iro7820fc" path="res://assets/pistol1_pickup.tscn" id="13_ne668"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nb6x7"]
sky_top_color = Color(0.145935, 0.111347, 0.255579, 1)
@@ -419,7 +420,6 @@ gun_2 = ExtResource("3_8ysrd")
[node name="Player" parent="." instance=ExtResource("2_f87c2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.0295, 1.4435, 21.1166)
AUDIO = false
weapon_sway_amount = 0.05
weapon_rotation_amount = 0.05
@@ -594,7 +594,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 79.8792, 0.0437912, 34.7621)
player_path = NodePath("../Player")
[node name="spider13" parent="." instance=ExtResource("3_cvvjo")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 79.8792, 0.0437912, 34.7621)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.8722, 20.4355, 41.2365)
player_path = NodePath("../Player")
[node name="JumpPlatform" parent="." instance=ExtResource("4_8nxyr")]
@@ -643,3 +643,6 @@ mass = 10.0
[node name="spider14" parent="." instance=ExtResource("12_gnu56")]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -3.267, -0.228641, 15.75)
[node name="pistol1_pickup" parent="." instance=ExtResource("13_ne668")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.53831, 43.775, 20.8225)

File diff suppressed because one or more lines are too long

View File

@@ -1,21 +1,18 @@
extends RigidBody3D
@onready var player = $"../Player"
@onready var collision_shape = $CollisionShape3D2
var rand_amt
var rng = RandomNumberGenerator.new()
var playermagnet = false
var playerloc
var x_magnet
var y_magnet
var z_magnet
@export var collision_shape = Node
@export var despawning = false
@export var despawn_time_s = 10
@export var pickupType: String
var rng = RandomNumberGenerator.new()
var rand_amt
# Called when the node enters the scene tree for the first time.
func _ready():
rand_amt = rng.randf_range(10.0,100.0)
await get_tree().create_timer(10).timeout
if despawning == true:
await get_tree().create_timer(despawn_time_s).timeout
collision_shape.disabled = true
await get_tree().create_timer(1).timeout
self.queue_free()

View File

@@ -229,6 +229,17 @@ func _on_pick_up_detection_body_entered(body):
pickup_sound.pitch_scale = 1 + rng.randf_range(-.3,.3)
pickup_sound.play()
body.queue_free()
elif body.pickupType == "weapon":
pickup_sound.pitch_scale = 1 + rng.randf_range(-.3,.3)
pickup_sound.play()
level_control.held_guns.append(body.gun_resource)
var instance_gun = body.gun_resource.instantiate()
level_control.ammo_current.append(instance_gun.max_ammo)
level_control.ammo_reserve.append(instance_gun.max_ammo * instance_gun.start_mags)
body.queue_free()
var weapon_id = level_control.held_guns.size() - 1
gun.anim_player.play("swap_out")
level_control.gun_spawn(weapon_id)
func _on_pick_up_magnet_body_entered(body):
@@ -259,5 +270,4 @@ func weapon_bob(vel : float, delta):
func weapon_recoil():
var recoil_to = camera.rotation.x + gun.recoil_amount
print(recoil_to)
camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(60))

14
scripts/weapon_pickup.gd Normal file
View File

@@ -0,0 +1,14 @@
extends RigidBody3D
@export var gun_resource : Resource
@export var pickupType: String
@export var collision_shape : Node
# 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