starting to fix guns under new script workflow

This commit is contained in:
derek
2025-03-03 16:58:10 -06:00
parent 15f32eff61
commit 6283c6f22f
19 changed files with 309 additions and 214 deletions

View File

@@ -1,25 +1,52 @@
[gd_scene load_steps=51 format=4 uid="uid://dqwkal3t4gf2p"] [gd_scene load_steps=55 format=4 uid="uid://dqwkal3t4gf2p"]
[ext_resource type="Script" path="res://scripts/blunderbus.gd" id="1_w46uw"] [ext_resource type="Script" path="res://scripts/weapon_uberscript.gd" id="1_d2orx"]
[ext_resource type="PackedScene" uid="uid://717hhehp83k8" path="res://assets/shotgun_pellet.tscn" id="2_544x3"] [ext_resource type="PackedScene" uid="uid://717hhehp83k8" path="res://assets/shotgun_pellet.tscn" id="2_6ms5m"]
[ext_resource type="Texture2D" uid="uid://74id2drhfp2s" path="res://assets/Textures/ObjectTextures/Blunderbus.png" id="2_ejm2n"] [ext_resource type="Script" path="res://scripts/bullet_resource.gd" id="3_64qwm"]
[ext_resource type="Texture2D" uid="uid://cvbmjv42lox3f" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_BaseColor.png" id="4_ammty"] [ext_resource type="Texture2D" uid="uid://74id2drhfp2s" path="res://assets/Textures/ObjectTextures/Blunderbus.png" id="4_sf1mx"]
[ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="4_rud24"] [ext_resource type="Script" path="res://scripts/weapon_resource.gd" id="5_yt5ea"]
[ext_resource type="Texture2D" uid="uid://dmha1jlmeshfv" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_Normal.png" id="5_xh07u"] [ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="6_4f3qc"]
[ext_resource type="Texture2D" uid="uid://cq4ffvy1lr0fo" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_Roughness.png" id="6_j605e"] [ext_resource type="Texture2D" uid="uid://cvbmjv42lox3f" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_BaseColor.png" id="7_6no5y"]
[ext_resource type="Texture2D" uid="uid://nrje6j28qwq2" path="res://assets/Models/Quixel/blunderbus/blunderbus_blunderbus.stock_Metalness.png" id="6_oah81"] [ext_resource type="Texture2D" uid="uid://nrje6j28qwq2" path="res://assets/Models/Quixel/blunderbus/blunderbus_blunderbus.stock_Metalness.png" id="8_kjvhf"]
[ext_resource type="Texture2D" uid="uid://c5q834my73wf8" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_BaseColor.png" id="7_mot72"] [ext_resource type="Texture2D" uid="uid://dmha1jlmeshfv" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_Normal.png" id="9_7tojq"]
[ext_resource type="Texture2D" uid="uid://n3ygqfca1d1e" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_Normal.png" id="8_hxj7g"] [ext_resource type="Texture2D" uid="uid://cq4ffvy1lr0fo" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.stock_Roughness.png" id="10_8xopx"]
[ext_resource type="Texture2D" uid="uid://bmmjhdv8555ui" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_Roughness.png" id="9_3votx"] [ext_resource type="Texture2D" uid="uid://c5q834my73wf8" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_BaseColor.png" id="11_ksmus"]
[ext_resource type="Texture2D" uid="uid://dn3b6uw8xr63m" path="res://assets/Textures/Smoke/smoketest_v1_0043.png" id="9_fldbw"] [ext_resource type="Texture2D" uid="uid://n3ygqfca1d1e" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_Normal.png" id="12_afrx4"]
[ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="9_ly2k1"] [ext_resource type="Texture2D" uid="uid://bmmjhdv8555ui" path="res://assets/Models/SubstancePainterTest/blunderbus_model_blunderbus.metal_Roughness.png" id="13_qb0ve"]
[ext_resource type="AudioStream" uid="uid://bqoxdmsnfjiog" path="res://assets/Audio/Weapons/12ga Pump Shotgun/Gunshots/12ga Pump Shotgun - Gunshot A 001.wav" id="9_nu1jc"] [ext_resource type="Texture2D" uid="uid://dn3b6uw8xr63m" path="res://assets/Textures/Smoke/smoketest_v1_0043.png" id="14_1k70p"]
[ext_resource type="AudioStream" uid="uid://db3iy0f1pa5lg" path="res://assets/Audio/Weapons/gun-m-16-reload-full-clip-magazine-SBA-300121257.wav" id="10_8vcd2"] [ext_resource type="AudioStream" uid="uid://bqoxdmsnfjiog" path="res://assets/Audio/Weapons/12ga Pump Shotgun/Gunshots/12ga Pump Shotgun - Gunshot A 001.wav" id="15_7iho2"]
[ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="16_2x8nj"]
[ext_resource type="AudioStream" uid="uid://db3iy0f1pa5lg" path="res://assets/Audio/Weapons/gun-m-16-reload-full-clip-magazine-SBA-300121257.wav" id="17_2j2xh"]
[sub_resource type="Resource" id="Resource_gh6p6"]
script = ExtResource("3_64qwm")
asset = ExtResource("2_6ms5m")
ammo_type = 3
[sub_resource type="Resource" id="Resource_puk5e"]
script = ExtResource("5_yt5ea")
gun_name = "blunderbus"
gun_icon = ExtResource("4_sf1mx")
path = "res://assets/blunderbus.tscn"
weapon_type = 0
bullet = SubResource("Resource_gh6p6")
fire_mode = 0
fov_zoom_amt = 0.98
ads = false
recoil_amount = Vector3(0.1, 0.05, 0.05)
kick_amount = 0.1
max_ammo = 1
start_mags = 10
bullet_damage = 1
smoke_enabled = false
bullet_force_mod = 5.0
bullet_speed = 600
shotgun_spread = Vector3(0.1, 0.1, 0.1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_11x5l"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_11x5l"]
resource_name = "blunderbus.stock" resource_name = "blunderbus.stock"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -30,15 +57,15 @@ shader_parameter/roughness_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/normal_scale = 1.0 shader_parameter/normal_scale = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/texture_albedo = ExtResource("4_ammty") shader_parameter/texture_albedo = ExtResource("7_6no5y")
shader_parameter/texture_metallic = ExtResource("6_oah81") shader_parameter/texture_metallic = ExtResource("8_kjvhf")
shader_parameter/texture_roughness = ExtResource("6_j605e") shader_parameter/texture_roughness = ExtResource("10_8xopx")
shader_parameter/texture_normal = ExtResource("5_xh07u") shader_parameter/texture_normal = ExtResource("9_7tojq")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fms28"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_fms28"]
resource_name = "blunderbus.metal" resource_name = "blunderbus.metal"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -49,9 +76,9 @@ shader_parameter/roughness_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/normal_scale = 1.0 shader_parameter/normal_scale = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/texture_albedo = ExtResource("7_mot72") shader_parameter/texture_albedo = ExtResource("11_ksmus")
shader_parameter/texture_roughness = ExtResource("9_3votx") shader_parameter/texture_roughness = ExtResource("13_qb0ve")
shader_parameter/texture_normal = ExtResource("8_hxj7g") shader_parameter/texture_normal = ExtResource("12_afrx4")
[sub_resource type="ArrayMesh" id="ArrayMesh_l8jkd"] [sub_resource type="ArrayMesh" id="ArrayMesh_l8jkd"]
_surfaces = [{ _surfaces = [{
@@ -114,7 +141,7 @@ shadow_mesh = SubResource("ArrayMesh_l8jkd")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8d2so"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_8d2so"]
resource_name = "blunderbus.metal" resource_name = "blunderbus.metal"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -125,14 +152,14 @@ shader_parameter/roughness_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/normal_scale = 1.0 shader_parameter/normal_scale = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/texture_albedo = ExtResource("7_mot72") shader_parameter/texture_albedo = ExtResource("11_ksmus")
shader_parameter/texture_roughness = ExtResource("9_3votx") shader_parameter/texture_roughness = ExtResource("13_qb0ve")
shader_parameter/texture_normal = ExtResource("8_hxj7g") shader_parameter/texture_normal = ExtResource("12_afrx4")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d7nbh"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_d7nbh"]
resource_name = "blunderbus.flint" resource_name = "blunderbus.flint"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(0.307111, 0.307111, 0.307111, 1) shader_parameter/albedo = Color(0.307111, 0.307111, 0.307111, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -205,7 +232,7 @@ shadow_mesh = SubResource("ArrayMesh_p7xkq")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vdkuc"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_vdkuc"]
resource_name = "blunderbus.metal" resource_name = "blunderbus.metal"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -216,9 +243,9 @@ shader_parameter/roughness_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/normal_scale = 1.0 shader_parameter/normal_scale = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/texture_albedo = ExtResource("7_mot72") shader_parameter/texture_albedo = ExtResource("11_ksmus")
shader_parameter/texture_roughness = ExtResource("9_3votx") shader_parameter/texture_roughness = ExtResource("13_qb0ve")
shader_parameter/texture_normal = ExtResource("8_hxj7g") shader_parameter/texture_normal = ExtResource("12_afrx4")
[sub_resource type="ArrayMesh" id="ArrayMesh_tnfi6"] [sub_resource type="ArrayMesh" id="ArrayMesh_tnfi6"]
_surfaces = [{ _surfaces = [{
@@ -257,7 +284,7 @@ shadow_mesh = SubResource("ArrayMesh_tnfi6")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ga5uk"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ga5uk"]
resource_name = "blunderbus.metal" resource_name = "blunderbus.metal"
render_priority = 0 render_priority = 0
shader = ExtResource("4_rud24") shader = ExtResource("6_4f3qc")
shader_parameter/viewmodel_fov = 90.0 shader_parameter/viewmodel_fov = 90.0
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
@@ -268,9 +295,9 @@ shader_parameter/roughness_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/normal_scale = 1.0 shader_parameter/normal_scale = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/texture_albedo = ExtResource("7_mot72") shader_parameter/texture_albedo = ExtResource("11_ksmus")
shader_parameter/texture_roughness = ExtResource("9_3votx") shader_parameter/texture_roughness = ExtResource("13_qb0ve")
shader_parameter/texture_normal = ExtResource("8_hxj7g") shader_parameter/texture_normal = ExtResource("12_afrx4")
[sub_resource type="ArrayMesh" id="ArrayMesh_3f3hx"] [sub_resource type="ArrayMesh" id="ArrayMesh_3f3hx"]
_surfaces = [{ _surfaces = [{
@@ -349,7 +376,7 @@ transparency = 1
blend_mode = 1 blend_mode = 1
shading_mode = 0 shading_mode = 0
albedo_color = Color(1, 1, 1, 0.14902) albedo_color = Color(1, 1, 1, 0.14902)
albedo_texture = ExtResource("9_fldbw") albedo_texture = ExtResource("14_1k70p")
billboard_mode = 1 billboard_mode = 1
[sub_resource type="PlaneMesh" id="PlaneMesh_756l0"] [sub_resource type="PlaneMesh" id="PlaneMesh_756l0"]
@@ -695,24 +722,11 @@ _data = {
"swap_out": SubResource("Animation_jrppn") "swap_out": SubResource("Animation_jrppn")
} }
[node name="Blunderbus" type="Node3D" node_paths=PackedStringArray("anim_player", "barrel_raycast", "audio_fire", "audio_empty", "audio_reload")] [node name="Blunderbus" type="Node3D" node_paths=PackedStringArray("anim_player", "barrel_ray", "audio_fire", "audio_empty", "audio_reload")]
script = ExtResource("1_w46uw") script = ExtResource("1_d2orx")
gun_name = "Blunderbus" weapon_info = SubResource("Resource_puk5e")
gun_icon = ExtResource("2_ejm2n")
ammo_type = 3
fire_mode = 1
fov_zoom_amt = 0.998
recoil_amount = Vector3(0.5, 0.2, 0.2)
spread = Vector3(90, 90, 1)
kick_amount = 10.0
max_ammo = 1
start_mags = 5
pellets_per_shot = 25
bullet_speed = 500.0
fire_pitch_scale_amt = 0.1
bullet = ExtResource("2_544x3")
anim_player = NodePath("AnimationPlayer") anim_player = NodePath("AnimationPlayer")
barrel_raycast = NodePath("BlunderbusHandle/BarrelRaycast") barrel_ray = NodePath("BlunderbusHandle/BarrelRaycast")
audio_fire = NodePath("Audio/Fire") audio_fire = NodePath("Audio/Fire")
audio_empty = NodePath("Audio/Empty") audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload") audio_reload = NodePath("Audio/Reload")
@@ -782,16 +796,16 @@ wait_time = 0.5
[node name="Audio" type="Node3D" parent="."] [node name="Audio" type="Node3D" parent="."]
[node name="Fire" type="AudioStreamPlayer3D" parent="Audio"] [node name="Fire" type="AudioStreamPlayer3D" parent="Audio"]
stream = ExtResource("9_nu1jc") stream = ExtResource("15_7iho2")
bus = &"SFX" bus = &"SFX"
[node name="Empty" type="AudioStreamPlayer3D" parent="Audio"] [node name="Empty" type="AudioStreamPlayer3D" parent="Audio"]
stream = ExtResource("9_ly2k1") stream = ExtResource("16_2x8nj")
volume_db = 4.0 volume_db = 4.0
bus = &"SFX" bus = &"SFX"
[node name="Reload" type="AudioStreamPlayer3D" parent="Audio"] [node name="Reload" type="AudioStreamPlayer3D" parent="Audio"]
stream = ExtResource("10_8vcd2") stream = ExtResource("17_2j2xh")
volume_db = 4.0 volume_db = 4.0
bus = &"SFX" bus = &"SFX"

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=22 format=4 uid="uid://cucqbjb8bcha5"] [gd_scene load_steps=22 format=4 uid="uid://cucqbjb8bcha5"]
[ext_resource type="Script" path="res://scripts/weapon_pickup.gd" id="1_jhhxn"] [ext_resource type="Script" path="res://scripts/weapon_pickup.gd" id="1_jhhxn"]
[ext_resource type="PackedScene" uid="uid://dqwkal3t4gf2p" path="res://blunderbus.tscn" id="2_lnwhe"] [ext_resource type="PackedScene" uid="uid://dqwkal3t4gf2p" path="res://assets/blunderbus.tscn" id="2_lnwhe"]
[ext_resource type="Texture2D" uid="uid://dqgsiuy8wfxmv" path="res://assets/Models/blunderbus.stock.albedo.png" id="3_klngk"] [ext_resource type="Texture2D" uid="uid://dqgsiuy8wfxmv" path="res://assets/Models/blunderbus.stock.albedo.png" id="3_klngk"]
[ext_resource type="Texture2D" uid="uid://ddrqh51fsq8gm" path="res://assets/Models/blunderbus.stock.rough.png" id="4_sicjv"] [ext_resource type="Texture2D" uid="uid://ddrqh51fsq8gm" path="res://assets/Models/blunderbus.stock.rough.png" id="4_sicjv"]
[ext_resource type="Texture2D" uid="uid://bp3cr7eorynax" path="res://assets/Models/blunderbus.stock.normal.png" id="5_wksjb"] [ext_resource type="Texture2D" uid="uid://bp3cr7eorynax" path="res://assets/Models/blunderbus.stock.normal.png" id="5_wksjb"]

View File

@@ -1,14 +1,8 @@
[gd_scene load_steps=51 format=4 uid="uid://brl0bsqjl5dg3"] [gd_scene load_steps=45 format=4 uid="uid://brl0bsqjl5dg3"]
[ext_resource type="PackedScene" uid="uid://c33b6ldlxxfro" path="res://assets/Models/mac10.blend" id="1_nb4p5"] [ext_resource type="PackedScene" uid="uid://c33b6ldlxxfro" path="res://assets/Models/mac10.blend" id="1_nb4p5"]
[ext_resource type="Script" path="res://scripts/gun.gd" id="2_tskiy"] [ext_resource type="Script" path="res://scripts/weapon_uberscript.gd" id="2_rdhyh"]
[ext_resource type="PackedScene" uid="uid://nq5nq2hjc4ec" path="res://assets/bullet_fake.tscn" id="3_heo3y"] [ext_resource type="Resource" uid="uid://byimj60rup3an" path="res://assets/weaponresources/mac10_uberresource.tres" id="3_h7i0a"]
[ext_resource type="Texture2D" uid="uid://gx3iw54iemho" path="res://assets/Textures/ObjectTextures/mac10.png" id="3_p1hxc"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="3_w1kko"]
[ext_resource type="PackedScene" uid="uid://crvohhc6kgshn" path="res://assets/bullet_hole.tscn" id="4_eleuq"]
[ext_resource type="Resource" uid="uid://i3y4quaxs5mb" path="res://assets/weaponresources/mac10_resource.tres" id="4_ex2eo"]
[ext_resource type="PackedScene" uid="uid://cp8563f0oxvff" path="res://assets/mag1.tscn" id="4_ji2hu"]
[ext_resource type="PackedScene" uid="uid://c1gdehrsytlkk" path="res://assets/casing.tscn" id="4_kpr3h"]
[ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="5_rn7j1"] [ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="5_rn7j1"]
[ext_resource type="AudioStream" uid="uid://db3iy0f1pa5lg" path="res://assets/Audio/Weapons/gun-m-16-reload-full-clip-magazine-SBA-300121257.wav" id="6_3atx1"] [ext_resource type="AudioStream" uid="uid://db3iy0f1pa5lg" path="res://assets/Audio/Weapons/gun-m-16-reload-full-clip-magazine-SBA-300121257.wav" id="6_3atx1"]
[ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="7_h63ea"] [ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="7_h63ea"]
@@ -589,6 +583,20 @@ tracks/5/keys = {
"update": 1, "update": 1,
"values": [false, true, false] "values": [false, true, false]
} }
tracks/6/type = "method"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath(".")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0.002),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"bullet_fire"
}]
}
[sub_resource type="Animation" id="Animation_tikvk"] [sub_resource type="Animation" id="Animation_tikvk"]
resource_name = "sprint" resource_name = "sprint"
@@ -675,26 +683,11 @@ _data = {
"swap_out": SubResource("Animation_i5303") "swap_out": SubResource("Animation_i5303")
} }
[node name="mac10" node_paths=PackedStringArray("r_hand_location", "l_hand_location", "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("anim_player", "barrel_ray", "casing_ejector", "mag_ejector", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_nb4p5")]
script = ExtResource("2_tskiy") script = ExtResource("2_rdhyh")
gun_name = "Mac 10" weapon_info = ExtResource("3_h7i0a")
gun_icon = ExtResource("3_p1hxc")
gun_info = ExtResource("4_ex2eo")
fov_zoom_amt = 15.0
recoil_amount = Vector3(0.02, 0.05, 0.05)
max_ammo = 20
bullet_damage = 2
bullet_speed = 600
r_hand_location = NodePath("mac10/RHandLocation")
l_hand_location = NodePath("mac10/mag/LHandLocation")
flare_light = NodePath("mac10/flare")
bullet = ExtResource("3_w1kko")
bullet_fake = ExtResource("3_heo3y")
bullethole = ExtResource("4_eleuq")
casing = ExtResource("4_kpr3h")
mag = ExtResource("4_ji2hu")
anim_player = NodePath("GunAnims") anim_player = NodePath("GunAnims")
barrel_raycast = NodePath("mac10/RayCastBarrel") barrel_ray = NodePath("mac10/RayCastBarrel")
casing_ejector = NodePath("mac10/RayCastCasing") casing_ejector = NodePath("mac10/RayCastCasing")
mag_ejector = NodePath("mac10/RayCastMag") mag_ejector = NodePath("mac10/RayCastMag")
audio_fire = NodePath("Audio/Fire") audio_fire = NodePath("Audio/Fire")
@@ -702,7 +695,7 @@ audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload") audio_reload = NodePath("Audio/Reload")
[node name="mac10" parent="." index="0"] [node name="mac10" parent="." index="0"]
transform = Transform3D(-0.120695, -0.0946481, -0.257826, 0.172433, -0.245315, 0.00933494, -0.213774, -0.144437, 0.153096, 0.948953, -2.62066, 0.655643) transform = Transform3D(-1.08599e-06, -2.96491e-09, -0.3, -0.00082893, 0.299999, 3.58064e-11, 0.299999, 0.00082893, -1.086e-06, 0, 0.00194802, 0.00225875)
cast_shadow = 0 cast_shadow = 0
lod_bias = 10.0 lod_bias = 10.0
mesh = SubResource("ArrayMesh_pcg38") mesh = SubResource("ArrayMesh_pcg38")
@@ -725,13 +718,12 @@ spot_angle_attenuation = 0.353554
transform = Transform3D(2.1023, 0, 2.72848e-12, 0, 2.10229, 0, -5.45697e-12, 0, 2.10229, 0.234, -0.99, 0.006) transform = Transform3D(2.1023, 0, 2.72848e-12, 0, 2.10229, 0, -5.45697e-12, 0, 2.10229, 0.234, -0.99, 0.006)
[node name="chargerpull" parent="mac10" index="3"] [node name="chargerpull" parent="mac10" index="3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.277325, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00645833, 0, 0)
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_4g0pt") mesh = SubResource("ArrayMesh_4g0pt")
[node name="flare" parent="mac10" index="4"] [node name="flare" parent="mac10" index="4"]
transform = Transform3D(0.71471, 9.09495e-13, -6.77626e-20, 0, -1.9745e-08, -0.451714, -1.36424e-12, 0.451713, -1.97451e-08, -2.78547, 0.0225526, 4.16584e-06) transform = Transform3D(0.71471, 9.09495e-13, -6.77626e-20, 0, -1.9745e-08, -0.451714, -1.36424e-12, 0.451713, -1.97451e-08, -2.78547, 0.0225526, 4.16584e-06)
visible = false
transparency = 1.0 transparency = 1.0
cast_shadow = 0 cast_shadow = 0
@@ -758,7 +750,7 @@ transform = Transform3D(-0.00171201, 5.61171e-05, 1.87678, 0.567942, 1.78878, 0.
target_position = Vector3(1, 0, 0) target_position = Vector3(1, 0, 0)
[node name="Trigger" parent="mac10" index="8"] [node name="Trigger" parent="mac10" index="8"]
transform = Transform3D(0.997624, -0.0688948, 3.50648e-07, 0.0688948, 0.997624, -9.30051e-07, -2.85739e-07, 9.51999e-07, 1, -0.13807, -0.230628, 0.00528617) transform = Transform3D(0.985948, 0.167053, 5.19912e-08, -0.167053, 0.985948, -1.379e-07, -7.42973e-08, 1.27277e-07, 1, -0.13807, -0.230628, 0.00528617)
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_c7rny") mesh = SubResource("ArrayMesh_c7rny")

View File

@@ -669,13 +669,13 @@ _data = {
"swap_out": SubResource("Animation_i5303") "swap_out": SubResource("Animation_i5303")
} }
[node name="mac10" node_paths=PackedStringArray("casing_ejector", "mag_ejector", "barrel_ray", "anim_player", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_iysoo")] [node name="mac10" node_paths=PackedStringArray("anim_player", "barrel_ray", "casing_ejector", "mag_ejector", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_iysoo")]
script = ExtResource("2_dlpd0") script = ExtResource("2_dlpd0")
weapon_info = ExtResource("3_a3njr") weapon_info = ExtResource("3_a3njr")
anim_player = NodePath("GunAnims")
barrel_ray = NodePath("mac10/RayCastBarrel")
casing_ejector = NodePath("mac10/RayCastCasing") casing_ejector = NodePath("mac10/RayCastCasing")
mag_ejector = NodePath("mac10/RayCastMag") mag_ejector = NodePath("mac10/RayCastMag")
barrel_ray = NodePath("mac10/RayCastBarrel")
anim_player = NodePath("GunAnims")
audio_fire = NodePath("Audio/Fire") audio_fire = NodePath("Audio/Fire")
audio_empty = NodePath("Audio/Empty") audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload") audio_reload = NodePath("Audio/Reload")

View File

@@ -1,9 +1,9 @@
[gd_scene load_steps=26 format=4 uid="uid://bshuvj6xeaiiq"] [gd_scene load_steps=26 format=4 uid="uid://bshuvj6xeaiiq"]
[ext_resource type="Script" path="res://scripts/melee_weapon.gd" id="1_afuhq"] [ext_resource type="Script" path="res://scripts/weapon_uberscript.gd" id="1_3j502"]
[ext_resource type="Texture2D" uid="uid://dtjnn8f8165dg" path="res://assets/Models/SubstancePainterTest/machete.blade_BaseColor.png" id="1_n1eld"] [ext_resource type="Texture2D" uid="uid://dtjnn8f8165dg" path="res://assets/Models/SubstancePainterTest/machete.blade_BaseColor.png" id="1_n1eld"]
[ext_resource type="Texture2D" uid="uid://1upy05l2sd3o" path="res://assets/Textures/ObjectTextures/Machete.png" id="2_0vbjw"]
[ext_resource type="Texture2D" uid="uid://rglx87b6ctrf" path="res://assets/Models/SubstancePainterTest/machete.blade_Metallic.png" id="2_ktp8c"] [ext_resource type="Texture2D" uid="uid://rglx87b6ctrf" path="res://assets/Models/SubstancePainterTest/machete.blade_Metallic.png" id="2_ktp8c"]
[ext_resource type="Resource" uid="uid://cn6axgvd75xt7" path="res://assets/weaponresources/machete.tres" id="2_vu874"]
[ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="3_8w0n7"] [ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="3_8w0n7"]
[ext_resource type="Texture2D" uid="uid://mcronh7q6ba3" path="res://assets/Models/SubstancePainterTest/machete.blade_Normal.png" id="3_lthmb"] [ext_resource type="Texture2D" uid="uid://mcronh7q6ba3" path="res://assets/Models/SubstancePainterTest/machete.blade_Normal.png" id="3_lthmb"]
[ext_resource type="Texture2D" uid="uid://b42jj71wsavpb" path="res://assets/Models/SubstancePainterTest/machete.blade_Roughness.png" id="4_nqv4m"] [ext_resource type="Texture2D" uid="uid://b42jj71wsavpb" path="res://assets/Models/SubstancePainterTest/machete.blade_Roughness.png" id="4_nqv4m"]
@@ -112,7 +112,7 @@ shadow_mesh = SubResource("ArrayMesh_g3fr5")
[sub_resource type="BoxShape3D" id="BoxShape3D_idjup"] [sub_resource type="BoxShape3D" id="BoxShape3D_idjup"]
margin = 0.0 margin = 0.0
size = Vector3(0.15332, 0.0371094, 0.991211) size = Vector3(0.153, 0.142, 1.336)
[sub_resource type="Animation" id="Animation_bmneo"] [sub_resource type="Animation" id="Animation_bmneo"]
length = 0.001 length = 0.001
@@ -178,14 +178,14 @@ tracks/2/path = NodePath(".")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0.1, 0.266667), "times": PackedFloat32Array(0, 0.8),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"collider_enable" "method": &"melee_collider_enable"
}, { }, {
"args": [], "args": [],
"method": &"collider_disable" "method": &"melee_collider_disable"
}] }]
} }
tracks/3/type = "audio" tracks/3/type = "audio"
@@ -263,15 +263,12 @@ _data = {
"swap_out": SubResource("Animation_u7d31") "swap_out": SubResource("Animation_u7d31")
} }
[node name="Machete" type="Node3D" node_paths=PackedStringArray("collision_shape", "anim_player", "audio_fire")] [node name="Machete" type="Node3D" node_paths=PackedStringArray("anim_player", "audio_fire", "melee_collision_shape")]
script = ExtResource("1_afuhq") script = ExtResource("1_3j502")
gun_name = "Machete" weapon_info = ExtResource("2_vu874")
gun_icon = ExtResource("2_0vbjw")
ammo_type = 5
collision_shape = NodePath("MacheteHandle/Area3D/CollisionShape3D")
bullet_damage = 5
anim_player = NodePath("AnimationPlayer") anim_player = NodePath("AnimationPlayer")
audio_fire = NodePath("Audio/Swing") audio_fire = NodePath("Audio/Swing")
melee_collision_shape = NodePath("MacheteHandle/Area3D/CollisionShape3D")
[node name="MacheteHandle" type="Node3D" parent="."] [node name="MacheteHandle" type="Node3D" parent="."]
@@ -285,6 +282,7 @@ skeleton = NodePath("")
transform = Transform3D(-4.37114e-08, -1, 4.37114e-08, 0.314307, -5.5235e-08, -0.949321, 0.949321, -2.77573e-08, 0.314307, 0, 0.415, -0.0427188) transform = Transform3D(-4.37114e-08, -1, 4.37114e-08, 0.314307, -5.5235e-08, -0.949321, 0.949321, -2.77573e-08, 0.314307, 0, 0.415, -0.0427188)
collision_layer = 128 collision_layer = 128
collision_mask = 232 collision_mask = 232
gravity_scale = 0.0
script = ExtResource("12_u0mbp") script = ExtResource("12_u0mbp")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MacheteHandle/Area3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MacheteHandle/Area3D"]

View File

@@ -1,12 +1,9 @@
[gd_scene load_steps=83 format=4 uid="uid://b5eclfg0cmmal"] [gd_scene load_steps=80 format=4 uid="uid://b5eclfg0cmmal"]
[ext_resource type="PackedScene" uid="uid://dgogd08c0ubt6" path="res://assets/Models/revolver1.blend" id="1_i5f84"] [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="Script" path="res://scripts/weapon_uberscript.gd" id="2_boy4r"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="3_32prk"] [ext_resource type="Resource" uid="uid://cqphw4ll1bjjx" path="res://assets/weaponresources/revolver1.tres" id="3_oxh61"]
[ext_resource type="Texture2D" uid="uid://bho7c8s2yno12" path="res://assets/Textures/ObjectTextures/revolver1.png" id="3_nl201"]
[ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="3_q41fl"] [ext_resource type="Texture2D" uid="uid://dtg3nb2ew72c3" path="res://assets/star_05.png" id="3_q41fl"]
[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.tscn" id="5_m3vsl"]
[ext_resource type="Texture2D" uid="uid://ctxjj0wthl8hq" path="res://assets/Models/SubstancePainterTest/revolver1_revolver1_BaseColor.png" id="7_h6kyj"] [ext_resource type="Texture2D" uid="uid://ctxjj0wthl8hq" path="res://assets/Models/SubstancePainterTest/revolver1_revolver1_BaseColor.png" id="7_h6kyj"]
[ext_resource type="AudioStream" uid="uid://dywuxr61pit5t" path="res://assets/Audio/Weapons/38 SPL Revolver/Gunshots/38 SPL Revolver - Gunshot B 001.wav" id="7_ve411"] [ext_resource type="AudioStream" uid="uid://dywuxr61pit5t" path="res://assets/Audio/Weapons/38 SPL Revolver/Gunshots/38 SPL Revolver - Gunshot B 001.wav" id="7_ve411"]
[ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="7_xmiit"] [ext_resource type="Shader" path="res://assets/viewmodel_shader.gdshader" id="7_xmiit"]
@@ -1143,7 +1140,7 @@ tracks/3/keys = {
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"spawn_casings" "method": &"spawn_revolver_casings"
}, { }, {
"args": [], "args": [],
"method": &"reload_finished" "method": &"reload_finished"
@@ -1264,6 +1261,20 @@ tracks/7/keys = {
"update": 0, "update": 0,
"values": [0.0, 20.0, 0.0] "values": [0.0, 20.0, 0.0]
} }
tracks/8/type = "method"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Audio/HammerBack")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.01),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [0.0],
"method": &"play"
}]
}
[sub_resource type="Animation" id="Animation_w02ee"] [sub_resource type="Animation" id="Animation_w02ee"]
resource_name = "swap_in" resource_name = "swap_in"
@@ -1346,50 +1357,17 @@ _data = {
"swap_out": SubResource("Animation_nvmxj") "swap_out": SubResource("Animation_nvmxj")
} }
[node name="revolver1" node_paths=PackedStringArray("r_hand_location", "chamber", "casing0", "casing1", "casing2", "casing3", "casing4", "casing5", "casing_spawn0", "casing_spawn1", "casing_spawn2", "casing_spawn3", "casing_spawn4", "casing_spawn5", "bullet0", "bullet1", "bullet2", "bullet3", "bullet4", "bullet5", "anim_player", "barrel_raycast", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_i5f84")] [node name="revolver1" node_paths=PackedStringArray("anim_player", "barrel_ray", "audio_fire", "audio_empty", "audio_reload", "casing_array", "chamber") instance=ExtResource("1_i5f84")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0718293, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0718293, 0)
script = ExtResource("2_7rsti") script = ExtResource("2_boy4r")
gun_name = ".44 Galore" weapon_info = ExtResource("3_oxh61")
gun_icon = ExtResource("3_nl201")
ammo_type = 1
fire_mode = 1
fov_zoom_amt = 20
recoil_amount = Vector3(0.125, 0.1, 0.1)
max_ammo = 6
bullet_damage = 5
kick_amount = 2
bullet_force_mod = 10
bullet_speed = 1500
bullet_drop = 0.0
random_spread_amt = 0.1
r_hand_location = NodePath("revolver1/RHandLocation")
chamber = NodePath("revolver1/Chamber")
bullet = ExtResource("3_32prk")
bullethole = ExtResource("4_ubqgq")
spawn_casing = ExtResource("5_m3vsl")
casing0 = NodePath("revolver1/Chamber/casing_001")
casing1 = NodePath("revolver1/Chamber/casing")
casing2 = NodePath("revolver1/Chamber/casing_005")
casing3 = NodePath("revolver1/Chamber/casing_004")
casing4 = NodePath("revolver1/Chamber/casing_003")
casing5 = NodePath("revolver1/Chamber/casing_002")
casing_spawn0 = NodePath("revolver1/Chamber/RayCastCasing1")
casing_spawn1 = NodePath("revolver1/Chamber/RayCastCasing2")
casing_spawn2 = NodePath("revolver1/Chamber/RayCastCasing3")
casing_spawn3 = NodePath("revolver1/Chamber/RayCastCasing4")
casing_spawn4 = NodePath("revolver1/Chamber/RayCastCasing5")
casing_spawn5 = NodePath("revolver1/Chamber/RayCastCasing6")
bullet0 = NodePath("revolver1/Chamber/bullet")
bullet1 = NodePath("revolver1/Chamber/bullet_005")
bullet2 = NodePath("revolver1/Chamber/bullet_004")
bullet3 = NodePath("revolver1/Chamber/bullet_003")
bullet4 = NodePath("revolver1/Chamber/bullet_002")
bullet5 = NodePath("revolver1/Chamber/bullet_001")
anim_player = NodePath("AnimationPlayer") anim_player = NodePath("AnimationPlayer")
barrel_raycast = NodePath("revolver1/RayCastBarrel") barrel_ray = NodePath("revolver1/RayCastBarrel")
audio_fire = NodePath("Audio/Fire") audio_fire = NodePath("Audio/Fire")
audio_empty = NodePath("Audio/Empty") audio_empty = NodePath("Audio/Empty")
audio_reload = NodePath("Audio/Reload") audio_reload = NodePath("Audio/Reload")
casing_array = [NodePath("revolver1/Chamber/RayCastCasing1"), NodePath("revolver1/Chamber/RayCastCasing2"), NodePath("revolver1/Chamber/RayCastCasing3"), NodePath("revolver1/Chamber/RayCastCasing4"), NodePath("revolver1/Chamber/RayCastCasing5"), NodePath("revolver1/Chamber/RayCastCasing6")]
chamber = NodePath("revolver1/Chamber")
[node name="revolver1" parent="." index="0"] [node name="revolver1" parent="." index="0"]
transform = Transform3D(-0.0315539, 0.291099, 0.0653139, -0.27013, -9.77868e-07, -0.130499, -0.126626, -0.0725366, 0.262115, 0.0258306, 0, -0.0631607) transform = Transform3D(-0.0315539, 0.291099, 0.0653139, -0.27013, -9.77868e-07, -0.130499, -0.126626, -0.0725366, 0.262115, 0.0258306, 0, -0.0631607)
@@ -1398,7 +1376,7 @@ lod_bias = 10.0
mesh = SubResource("ArrayMesh_a1hah") mesh = SubResource("ArrayMesh_a1hah")
[node name="Chamber" parent="revolver1" index="0"] [node name="Chamber" parent="revolver1" index="0"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.0143475, 0, -0.0849619) transform = Transform3D(1, 0, 0, 0, -3.61999e-06, -1, 0, 1, -3.61999e-06, -0.0143475, 0, -0.0849619)
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_x43wl") mesh = SubResource("ArrayMesh_x43wl")
@@ -1474,7 +1452,7 @@ cast_shadow = 0
mesh = SubResource("ArrayMesh_0w43n") mesh = SubResource("ArrayMesh_0w43n")
[node name="Trigger" parent="revolver1" index="2"] [node name="Trigger" parent="revolver1" index="2"]
transform = Transform3D(0.207537, -0.978227, 4.27597e-08, 0, -4.37114e-08, -1, 0.978227, 0.207537, -9.07173e-09, 0.226752, 0, -0.00209358) 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)
cast_shadow = 0 cast_shadow = 0
mesh = SubResource("ArrayMesh_ahftj") mesh = SubResource("ArrayMesh_ahftj")

View File

@@ -8,7 +8,7 @@
[ext_resource type="PackedScene" uid="uid://cwutm86yp0rk6" path="res://assets/crown.tscn" id="3_gog5n"] [ext_resource type="PackedScene" uid="uid://cwutm86yp0rk6" path="res://assets/crown.tscn" id="3_gog5n"]
[ext_resource type="PackedScene" uid="uid://b5eclfg0cmmal" path="res://assets/revolver_1.tscn" id="3_yqo0y"] [ext_resource type="PackedScene" uid="uid://b5eclfg0cmmal" path="res://assets/revolver_1.tscn" id="3_yqo0y"]
[ext_resource type="PackedScene" uid="uid://dslxb3psx30vp" path="res://assets/pistol1.tscn" id="5_v3dls"] [ext_resource type="PackedScene" uid="uid://dslxb3psx30vp" path="res://assets/pistol1.tscn" id="5_v3dls"]
[ext_resource type="PackedScene" uid="uid://dqwkal3t4gf2p" path="res://blunderbus.tscn" id="7_do5lr"] [ext_resource type="PackedScene" uid="uid://dqwkal3t4gf2p" path="res://assets/blunderbus.tscn" id="7_do5lr"]
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="8_6tvxc"] [ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="8_6tvxc"]
[ext_resource type="PackedScene" uid="uid://bcmd7elfjhppe" path="res://assets/tree_1.tscn" id="9_0lt7q"] [ext_resource type="PackedScene" uid="uid://bcmd7elfjhppe" path="res://assets/tree_1.tscn" id="9_0lt7q"]
[ext_resource type="PackedScene" uid="uid://bycbdb5u5ewgl" path="res://assets/tree_2.tscn" id="10_g2f5o"] [ext_resource type="PackedScene" uid="uid://bycbdb5u5ewgl" path="res://assets/tree_2.tscn" id="10_g2f5o"]

View File

@@ -10,11 +10,12 @@
script = ExtResource("3_10fhq") script = ExtResource("3_10fhq")
gun_name = "Mac 10" gun_name = "Mac 10"
gun_icon = ExtResource("2_a3oyj") gun_icon = ExtResource("2_a3oyj")
path = "res://assets/mac_10_uber.tscn"
bullet = ExtResource("1_y4ehq") bullet = ExtResource("1_y4ehq")
fire_mode = 0 fire_mode = 0
fov_zoom_amt = 0.98 fov_zoom_amt = 0.98
ads = false ads = false
recoil_amount = Vector3(0.1, 0.05, 0.05) recoil_amount = Vector3(0.05, 0.05, 0.05)
kick_amount = 0.1 kick_amount = 0.1
max_ammo = 20 max_ammo = 20
start_mags = 3 start_mags = 3
@@ -23,5 +24,4 @@ smoke_enabled = false
bullet_force_mod = 5.0 bullet_force_mod = 5.0
bullet_speed = 600 bullet_speed = 600
casing = ExtResource("2_7wxcs") casing = ExtResource("2_7wxcs")
casing_array = Array[NodePath]([])
mag = ExtResource("4_fiujt") mag = ExtResource("4_fiujt")

View File

@@ -0,0 +1,22 @@
[gd_resource type="Resource" script_class="weapon_resource" load_steps=3 format=3 uid="uid://cn6axgvd75xt7"]
[ext_resource type="Texture2D" uid="uid://1upy05l2sd3o" path="res://assets/Textures/ObjectTextures/Machete.png" id="1_c6dni"]
[ext_resource type="Script" path="res://scripts/weapon_resource.gd" id="2_nfg5p"]
[resource]
script = ExtResource("2_nfg5p")
gun_name = "machete"
gun_icon = ExtResource("1_c6dni")
path = "res://assets/machete.tscn"
weapon_type = 1
fire_mode = 1
fov_zoom_amt = 0.98
ads = false
recoil_amount = Vector3(0, 0.05, 0.05)
kick_amount = 0.1
max_ammo = 0
start_mags = 0
bullet_damage = 5
smoke_enabled = false
bullet_force_mod = 5.0
bullet_speed = 600

View File

@@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="bullet_resource" load_steps=4 format=3 uid="uid://b4sqlnsf0jla2"]
[ext_resource type="PackedScene" uid="uid://dqhltdnqyg8ni" path="res://assets/bullet.tscn" id="1_i1dgo"]
[ext_resource type="PackedScene" uid="uid://crvohhc6kgshn" path="res://assets/bullet_hole.tscn" id="2_v06eh"]
[ext_resource type="Script" path="res://scripts/bullet_resource.gd" id="3_cliab"]
[resource]
script = ExtResource("3_cliab")
asset = ExtResource("1_i1dgo")
ammo_type = 1
bullet_hole = ExtResource("2_v06eh")

View File

@@ -0,0 +1,24 @@
[gd_resource type="Resource" script_class="weapon_resource" load_steps=4 format=3 uid="uid://cqphw4ll1bjjx"]
[ext_resource type="Resource" uid="uid://b4sqlnsf0jla2" path="res://assets/weaponresources/medium_ammo.tres" id="1_53e42"]
[ext_resource type="Texture2D" uid="uid://bho7c8s2yno12" path="res://assets/Textures/ObjectTextures/revolver1.png" id="2_n6mhi"]
[ext_resource type="Script" path="res://scripts/weapon_resource.gd" id="3_1a2hk"]
[resource]
script = ExtResource("3_1a2hk")
gun_name = "revolver"
gun_icon = ExtResource("2_n6mhi")
path = "res://assets/revolver_1.tscn"
weapon_type = 0
bullet = ExtResource("1_53e42")
fire_mode = 1
fov_zoom_amt = 0.98
ads = false
recoil_amount = Vector3(0.05, 0.05, 0.05)
kick_amount = 0.1
max_ammo = 15
start_mags = 3
bullet_damage = 1
smoke_enabled = false
bullet_force_mod = 5.0
bullet_speed = 1200

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=22 format=3 uid="uid://jdwpc622vmok"] [gd_scene load_steps=25 format=3 uid="uid://jdwpc622vmok"]
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_1bnbi"] [ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_1bnbi"]
[ext_resource type="Resource" uid="uid://bxcxqt7rmfvdw" path="res://GameModes/hubworld.tres" id="2_62iy8"] [ext_resource type="Resource" uid="uid://bxcxqt7rmfvdw" path="res://GameModes/hubworld.tres" id="2_62iy8"]
@@ -18,6 +18,9 @@
[ext_resource type="PackedScene" uid="uid://d4suhr3allsj" path="res://assets/revolver2_pickup.tscn" id="14_ak7yq"] [ext_resource type="PackedScene" uid="uid://d4suhr3allsj" path="res://assets/revolver2_pickup.tscn" id="14_ak7yq"]
[ext_resource type="PackedScene" uid="uid://dyu46bns8mesv" path="res://assets/mac10_pickup.tscn" id="17_u30rd"] [ext_resource type="PackedScene" uid="uid://dyu46bns8mesv" path="res://assets/mac10_pickup.tscn" id="17_u30rd"]
[ext_resource type="PackedScene" uid="uid://3hvtwn2qotle" path="res://assets/mac10_UBER_pickup.tscn" id="18_1idjd"] [ext_resource type="PackedScene" uid="uid://3hvtwn2qotle" path="res://assets/mac10_UBER_pickup.tscn" id="18_1idjd"]
[ext_resource type="PackedScene" uid="uid://hp4xn8oqdxnd" path="res://assets/machete_pickup.tscn" id="19_po1ll"]
[ext_resource type="PackedScene" uid="uid://dugcxo2665me0" path="res://assets/revolver1_pickup.tscn" id="20_cte0x"]
[ext_resource type="PackedScene" uid="uid://cucqbjb8bcha5" path="res://assets/blunderbuss_pickup.tscn" id="21_7mdbv"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_s7e4t"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_s7e4t"]
sky_top_color = Color(0.623488, 0.812575, 0.900791, 1) sky_top_color = Color(0.623488, 0.812575, 0.900791, 1)
@@ -264,3 +267,12 @@ item_price = 100
[node name="mac10_pickup" parent="." instance=ExtResource("18_1idjd")] [node name="mac10_pickup" parent="." instance=ExtResource("18_1idjd")]
transform = Transform3D(0.533245, 0.845961, 0, -0.845961, 0.533245, 0, 0, 0, 1, 4.67892, 2.14044, 7.83235) transform = Transform3D(0.533245, 0.845961, 0, -0.845961, 0.533245, 0, 0, 0, 1, 4.67892, 2.14044, 7.83235)
[node name="machete_pickup" parent="." instance=ExtResource("19_po1ll")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.62977, 0.478022, 7.20831)
[node name="pistol1_pickup" parent="." instance=ExtResource("20_cte0x")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.08118, 0.423819, 5.64694)
[node name="blunderbuss_pickup" parent="." instance=ExtResource("21_7mdbv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.25088, 0.636966, 3.43924)

View File

@@ -113,7 +113,7 @@ func _process(delta: float) -> void:
stam_bar_visible = true stam_bar_visible = true
current_stam_bar.value = player.remaining_stamina current_stam_bar.value = player.remaining_stamina
if player.gun != null: if player.gun != null and player.gun.weapon_info.weapon_type == 0:
if GameGlobals.gun_ammo.has(player.gun.weapon_info.gun_name) and GameGlobals.gun_ammo[player.gun.weapon_info.gun_name] != null: if GameGlobals.gun_ammo.has(player.gun.weapon_info.gun_name) and GameGlobals.gun_ammo[player.gun.weapon_info.gun_name] != null:
ammo_counter.visible = true ammo_counter.visible = true
ammo_current.text = str(GameGlobals.gun_ammo[player.gun.weapon_info.gun_name]).pad_zeros(2) ammo_current.text = str(GameGlobals.gun_ammo[player.gun.weapon_info.gun_name]).pad_zeros(2)

View File

@@ -7,4 +7,4 @@ var 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.
func _ready() -> void: func _ready() -> void:
bullet_damage = machete.bullet_damage bullet_damage = machete.weapon_info.bullet_damage

View File

@@ -51,10 +51,10 @@ func shoot(delta):
player.recoil.add_gun_recoil(recoil_amount.x) player.recoil.add_gun_recoil(recoil_amount.x)
SignalBus.emit_signal("shot_fired") SignalBus.emit_signal("shot_fired")
func collider_enable(): func melee_collider_enable():
collision_shape.disabled = false collision_shape.disabled = false
func collider_disable(): func melee_collider_disable():
collision_shape.disabled = true collision_shape.disabled = true
func swapped_out(): func swapped_out():

View File

@@ -24,7 +24,8 @@ func picked_up():
if !gun_already_held: if !gun_already_held:
var spawn_gun = gun_resource.instantiate() var spawn_gun = gun_resource.instantiate()
level_control.player.add_ammo(true,spawn_gun.weapon_info.gun_name,spawn_gun.weapon_info.bullet_info.ammo_type,spawn_gun.weapon_info.max_ammo,spawn_gun.weapon_info.start_mags) if spawn_gun.weapon_info.weapon_type == 0:
level_control.player.add_ammo(true,spawn_gun.weapon_info.gun_name,spawn_gun.weapon_info.bullet.ammo_type,spawn_gun.weapon_info.max_ammo,spawn_gun.weapon_info.start_mags)
GameGlobals.held_guns.append(gun_resource) GameGlobals.held_guns.append(gun_resource)
var instance_gun = gun_resource.instantiate() var instance_gun = gun_resource.instantiate()
var weapon_id = GameGlobals.held_guns.size() - 1 var weapon_id = GameGlobals.held_guns.size() - 1

View File

@@ -1,14 +1,15 @@
extends Resource extends Resource
class_name weapon_resource class_name weapon_resource
@export_group("Gun Feel")
@export var gun_name : String @export var gun_name : String
@export var gun_icon : Texture2D @export var gun_icon : Texture2D
@export var path : String
@export_enum("Gun","Melee") var weapon_type = 0
@export var bullet : bullet_resource @export var bullet : bullet_resource
@export_enum("Auto", "Single", "Burst") var fire_mode: int @export_enum("Auto", "Single", "Burst") var fire_mode: int
@export var fov_zoom_amt = .98 @export var fov_zoom_amt = .98
@export var ads : bool = false @export var ads : bool = false
@export var recoil_amount : Vector3 = Vector3(.2,.05,.05) @export var recoil_amount : Vector3 = Vector3(.05,.05,.05)
@export var kick_amount : float = .1 @export var kick_amount : float = .1
@export var max_ammo = 15 @export var max_ammo = 15
@export var start_mags = 3 @export var start_mags = 3
@@ -18,8 +19,6 @@ class_name weapon_resource
@export var bullet_speed = 600 @export var bullet_speed = 600
@export_group("Gun Assets") @export_group("Gun Assets")
@export var casing : Resource @export var casing : Resource
@export_subgroup("Revolver")
@export var casing_array : Array[NodePath]
@export var mag : Resource @export var mag : Resource
@export_group("Shotgun Settings")
@export var shotgun_spread : Vector3 = Vector3(.1,.1,.1)

View File

@@ -96,7 +96,7 @@ func _draw():
var draw_pos = radius_mid * Vector2.from_angle(mid_rads) + offset var draw_pos = radius_mid * Vector2.from_angle(mid_rads) + offset
var object = options[i].instantiate() var object = options[i].instantiate()
var texture = object.gun_icon var texture = object.weapon_info.gun_icon
if selection == i: if selection == i:
var points_per_arc = 32 var points_per_arc = 32

View File

@@ -2,15 +2,25 @@ extends Node3D
@export var weapon_info : weapon_resource @export var weapon_info : weapon_resource
@export var casing_ejector : Node
@export var mag_ejector : Node
@export var barrel_ray : Node
@export var anim_player : AnimationPlayer @export var anim_player : AnimationPlayer
@export var barrel_ray : RayCast3D
@export var casing_ejector : RayCast3D
@export var mag_ejector : RayCast3D
@export var audio_fire : AudioStreamPlayer3D @export var audio_fire : AudioStreamPlayer3D
@export var audio_empty : AudioStreamPlayer3D @export var audio_empty : AudioStreamPlayer3D
@export var audio_reload : AudioStreamPlayer3D @export var audio_reload : AudioStreamPlayer3D
@export_group("Barrel Smoke")
@export var fire_smoke : GPUParticles3D
@export var smoke_timer : Timer
@export_group("Revolver")
@export var casing_array : Array[RayCast3D]
@export var chamber : Node
@export_group("Melee")
@export var melee_collision_shape : Node
@onready var player = get_tree().current_scene.player @onready var player = get_tree().current_scene.player
var revolver_chamber_rot_amt
var start_position var start_position
var start_rotation var start_rotation
var cycle_count_start var cycle_count_start
@@ -35,7 +45,10 @@ func _ready():
# 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):
pass if chamber != null:
var rot_amount = revolver_chamber_rot_amt * _delta * 10
chamber.rotate_object_local(Vector3(0,-1,0),deg_to_rad(rot_amount))
revolver_chamber_rot_amt -= rot_amount
func reload_finished(): func reload_finished():
@@ -47,41 +60,54 @@ func reload_finished():
GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)] -= GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)] GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)] -= GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)]
func shoot(delta): func shoot(delta):
if GameGlobals.gun_ammo[weapon_info.gun_name] > 0 and cycle_count > 0: if weapon_info.weapon_type == 0:
if GameGlobals.gun_ammo[weapon_info.gun_name] > 0 and cycle_count > 0:
if !anim_player.is_playing():
GameGlobals.gun_ammo[weapon_info.gun_name] -= 1
#audio and anims
audio_fire.play()
anim_player.play("shoot")
vibration()
bullet_fire()
spawn_casing()
if chamber != null:
revolver_chamber_rot_amt += 60
if weapon_info.smoke_enabled:
spawn_muzzle_smoke()
player.recoil.add_recoil(Vector3(0,weapon_info.recoil_amount.y,weapon_info.recoil_amount.z),10,10)
player.recoil.add_gun_recoil(weapon_info.recoil_amount.x)
#player.velocity += player.bullet_ray.global_basis * Vector3(0,0, kick_amount)
SignalBus.emit_signal("shot_fired")
if weapon_info.fire_mode != 0:
cycle_count -= 1
elif !anim_player.is_playing() and cycle_count != 0:
anim_player.play("empty")
audio_empty.play()
elif weapon_info.weapon_type == 1:
if !anim_player.is_playing(): if !anim_player.is_playing():
GameGlobals.gun_ammo[weapon_info.gun_name] -= 1
#audio and anims #audio and anims
audio_fire.play()
anim_player.play("shoot") anim_player.play("shoot")
vibration() vibration()
bullet_fire()
spawn_casing()
if weapon_info.smoke_enabled:
spawn_muzzle_smoke()
player.recoil.add_recoil(Vector3(0,weapon_info.recoil_amount.y,weapon_info.recoil_amount.z),10,10) player.recoil.add_recoil(Vector3(0,weapon_info.recoil_amount.y,weapon_info.recoil_amount.z),10,10)
player.recoil.add_gun_recoil(weapon_info.recoil_amount.x) player.recoil.add_gun_recoil(weapon_info.recoil_amount.x)
#player.velocity += player.bullet_ray.global_basis * Vector3(0,0, kick_amount)
SignalBus.emit_signal("shot_fired") SignalBus.emit_signal("shot_fired")
if weapon_info.fire_mode != 0:
cycle_count -= 1
elif !anim_player.is_playing() and cycle_count != 0:
anim_player.play("empty")
audio_empty.play()
func reload(): func reload():
if GameGlobals.gun_ammo[weapon_info.gun_name] < weapon_info.max_ammo and player.gun.anim_player.get_current_animation() != "reload" and GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)] > 0: if weapon_info.weapon_type == 0:
#player.reloading = true if GameGlobals.gun_ammo[weapon_info.gun_name] < weapon_info.max_ammo and player.gun.anim_player.get_current_animation() != "reload" and GameGlobals.ammo_reserve[str(weapon_info.bullet.ammo_type)] > 0:
anim_player.play("reload") #player.reloading = true
audio_reload.play() anim_player.play("reload")
if anim_player.is_playing() and anim_player.current_animation == "reload": audio_reload.play()
if GameGlobals.gun_ammo[weapon_info.gun_name] == 0: if anim_player.is_playing() and anim_player.current_animation == "reload":
GameGlobals.gun_ammo[weapon_info.gun_name] = 0 if GameGlobals.gun_ammo[weapon_info.gun_name] == 0:
else: GameGlobals.gun_ammo[weapon_info.gun_name] = 0
GameGlobals.gun_ammo[weapon_info.gun_name] = 1 else:
GameGlobals.gun_ammo[weapon_info.gun_name] = 1
func spawn_mag(): func spawn_mag():
var instance_mag =weapon_info.mag.instantiate() var instance_mag = weapon_info.mag.instantiate()
instance_mag.position = mag_ejector.global_position instance_mag.position = mag_ejector.global_position
instance_mag.transform.basis = mag_ejector.global_transform.basis instance_mag.transform.basis = mag_ejector.global_transform.basis
instance_mag.linear_velocity += transform.basis * Vector3(0, -20, 0) + player.velocity instance_mag.linear_velocity += transform.basis * Vector3(0, -20, 0) + player.velocity
@@ -96,23 +122,26 @@ func spawn_casing():
get_tree().get_root().add_child(instance_casing) get_tree().get_root().add_child(instance_casing)
func spawn_revolver_casings(): func spawn_revolver_casings():
if weapon_info.casing_array.size() > 0: if casing_array.size() > 0:
pass for i in casing_array:
#for i in weapon_info.casing_array: i.visible = false
#i.visible = false if weapon_info.casings_chamber_last > 0:
#if weapon_info.casings_chamber_last > 0: var instance_casing = weapon_info.spawn_casing.instantiate()
#var instance_casing = weapon_info.spawn_casing.instantiate() instance_casing.position = i.global_position
#instance_casing.position = i.global_position instance_casing.random_rotation = false
#instance_casing.random_rotation = false instance_casing.transform.basis = i.global_transform.basis
#instance_casing.transform.basis = i.global_transform.basis instance_casing.player_velocity = player.velocity * transform.basis
#instance_casing.player_velocity = player.velocity * transform.basis instance_casing.rotation.x += deg_to_rad(90)
#instance_casing.rotation.x += deg_to_rad(90) instance_casing.linear_velocity.y = -(8 + rng.randf_range(0,3))
#instance_casing.linear_velocity.y = -(8 + rng.randf_range(0,3)) get_tree().get_root().add_child(instance_casing)
#get_tree().get_root().add_child(instance_casing) weapon_info.casings_chamber_last -= 1
#weapon_info.casings_chamber_last -= 1
func shotgun_pellet_spawn(): func shotgun_pellet_spawn():
GameGlobals.gun_ammo[weapon_info.gun_name] -= 1
audio_fire.play()
var pellets_remaining = weapon_info.pellets_per_shot var pellets_remaining = weapon_info.pellets_per_shot
while pellets_remaining > 0: while pellets_remaining > 0:
var lv_x = rng.randf_range(-weapon_info.shotgun_spread.x,weapon_info.shotgun_spread.x) var lv_x = rng.randf_range(-weapon_info.shotgun_spread.x,weapon_info.shotgun_spread.x)
var lv_y = rng.randf_range(-weapon_info.shotgun_spread.y,weapon_info.shotgun_spread.y) var lv_y = rng.randf_range(-weapon_info.shotgun_spread.y,weapon_info.shotgun_spread.y)
@@ -124,6 +153,15 @@ func shotgun_pellet_spawn():
instance_bullet.player_position = player.global_position instance_bullet.player_position = player.global_position
get_tree().get_root().add_child(instance_bullet) get_tree().get_root().add_child(instance_bullet)
pellets_remaining -= 1 pellets_remaining -= 1
vibration()
fire_smoke.restart()
fire_smoke.emitting = true
smoke_timer.start()
player.recoil.add_recoil(Vector3(0,weapon_info.recoil_amount.y,weapon_info.recoil_amount.z),10,10)
player.recoil.add_gun_recoil(weapon_info.recoil_amount.x)
player.velocity += player.bullet_ray.global_basis * Vector3(0,0, weapon_info.kick_amount)
SignalBus.emit_signal("shot_fired")
func spawn_muzzle_smoke(): func spawn_muzzle_smoke():
var instance_smoke = weapon_info.muzzle_smoke.instantiate() var instance_smoke = weapon_info.muzzle_smoke.instantiate()
@@ -150,5 +188,11 @@ func bullet_fire():
func swapped_out(): func swapped_out():
queue_free() queue_free()
func melee_collider_enable():
melee_collision_shape.disabled = false
func melee_collider_disable():
melee_collision_shape.disabled = true
func vibration(): func vibration():
Input.start_joy_vibration(0,.1,.5,.1) Input.start_joy_vibration(0,.1,.5,.1)