From 70a6a23604e55a9464368c9484191b880918cf3b Mon Sep 17 00:00:00 2001 From: derek Date: Wed, 2 Oct 2024 15:39:40 -0500 Subject: [PATCH] Seems to mostly work --- assets/mac_10.tscn | 1 - assets/pistol1_pickup.tscn | 4 ++-- assets/revolver_1.tscn | 2 +- project.godot | 2 +- scenes/test_level_2v2.tscn | 1 - scenes/test_level_2v2NOENEMIES.tscn | 6 +++++- scripts/gun.gd | 4 ++-- scripts/recoil.gd | 11 +++++++---- scripts/revolver_1.gd | 8 ++++---- scripts/rocket_launcher.gd | 4 ++-- 10 files changed, 24 insertions(+), 19 deletions(-) diff --git a/assets/mac_10.tscn b/assets/mac_10.tscn index 8278192..ad85e6c 100644 --- a/assets/mac_10.tscn +++ b/assets/mac_10.tscn @@ -403,7 +403,6 @@ _data = { [node name="mac10" node_paths=PackedStringArray("flare_light", "anim_player", "barrel_raycast", "casing_ejector", "mag_ejector", "audio_fire", "audio_empty", "audio_reload") instance=ExtResource("1_nb4p5")] script = ExtResource("2_6i1l4") gun_name = "Mac 10" -recoil_amount = 1.1 max_ammo = 30 bullet_damage = 2 bullet_drop = 0.01 diff --git a/assets/pistol1_pickup.tscn b/assets/pistol1_pickup.tscn index 532c979..1464f11 100644 --- a/assets/pistol1_pickup.tscn +++ b/assets/pistol1_pickup.tscn @@ -154,8 +154,8 @@ points = PackedVector3Array(-0.860472, 0.302737, 0.0809691, -0.860472, 0.302737, radius = 1.26183 [node name="pistol1_pickup" type="RigidBody3D" node_paths=PackedStringArray("collision_shape") groups=["pickup"]] -collision_layer = 4 -collision_mask = 6 +collision_layer = 17 +collision_mask = 17 script = ExtResource("1_pw3bx") gun_resource = ExtResource("2_x7kb7") collision_shape = NodePath("CollisionShape3D") diff --git a/assets/revolver_1.tscn b/assets/revolver_1.tscn index de79c8f..188ef2e 100644 --- a/assets/revolver_1.tscn +++ b/assets/revolver_1.tscn @@ -433,7 +433,7 @@ script = ExtResource("2_7rsti") gun_name = "Ye Ol' Revolver" fire_mode = 1 fov_zoom_amt = 0.96 -recoil_amount = 2.0 +recoil_amount = Vector3(0.5, 0.1, 0.1) max_ammo = 6 bullet_damage = 5 bullet_force_mod = 10 diff --git a/project.godot b/project.godot index f21d6b1..4f9264a 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="First Person Test" -run/main_scene="res://scenes/test_level_2v2NOENEMIES.tscn" +run/main_scene="res://scenes/test_level_2v2.tscn" config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" diff --git a/scenes/test_level_2v2.tscn b/scenes/test_level_2v2.tscn index 7914d7d..a0dacc1 100644 --- a/scenes/test_level_2v2.tscn +++ b/scenes/test_level_2v2.tscn @@ -1162,7 +1162,6 @@ _data = { [node name="Test Level 2" type="Node3D" node_paths=PackedStringArray("player")] script = ExtResource("1_orhgl") player = NodePath("Player") -money = 10 start_health = 10 gun_1 = ExtResource("2_6rjit") gun_2 = ExtResource("3_umpon") diff --git a/scenes/test_level_2v2NOENEMIES.tscn b/scenes/test_level_2v2NOENEMIES.tscn index 45f51bb..2c13107 100644 --- a/scenes/test_level_2v2NOENEMIES.tscn +++ b/scenes/test_level_2v2NOENEMIES.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=120 format=4 uid="uid://bicj5x7nc8tby"] +[gd_scene load_steps=121 format=4 uid="uid://bicj5x7nc8tby"] [ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_wls0y"] [ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_8r4nh"] @@ -40,6 +40,7 @@ [ext_resource type="PackedScene" uid="uid://b3t8fra7evqfb" path="res://assets/Models/building_1.tscn" id="38_8r1eg"] [ext_resource type="PackedScene" uid="uid://dvlpc0mrx16l" path="res://assets/table1.tscn" id="39_wl4fl"] [ext_resource type="PackedScene" uid="uid://dfi7s3q1x2m3p" path="res://assets/low_poly_car.tscn" id="40_sk0vd"] +[ext_resource type="PackedScene" uid="uid://dws4iro7820fc" path="res://assets/pistol1_pickup.tscn" id="41_2676c"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nb6x7"] sky_top_color = Color(0.500562, 0.697334, 0.809889, 1) @@ -1619,3 +1620,6 @@ transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -47. [node name="lowPolyCar5" parent="." instance=ExtResource("40_sk0vd")] transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -14.2098, -0.222173, 16.1242) + +[node name="pistol1_pickup" parent="." instance=ExtResource("41_2676c")] +transform = Transform3D(0.713947, 0.700199, 0, -0.700199, 0.713947, 0, 0, 0, 1, -4.69771, 43.8716, 28.3908) diff --git a/scripts/gun.gd b/scripts/gun.gd index 375f1c2..0130708 100644 --- a/scripts/gun.gd +++ b/scripts/gun.gd @@ -5,7 +5,7 @@ extends Node3D @export var gun_name : String @export_enum("Auto", "Single", "Burst") var fire_mode: int @export var fov_zoom_amt = .98 -@export var recoil_amount = .2 +@export var recoil_amount : Vector3 = Vector3(.2,.05,.05) @export var max_ammo = 15 @export var start_mags = 3 @export var bullet_damage = 1 @@ -111,7 +111,7 @@ func shoot(delta): instance_casing.position = casing_ejector.global_position instance_casing.transform.basis = casing_ejector.global_transform.basis get_tree().get_root().add_child(instance_casing) - player.recoil.add_recoil() + player.recoil.add_recoil(recoil_amount) if fire_mode != 0: cycle_count -= 1 diff --git a/scripts/recoil.gd b/scripts/recoil.gd index e189ea8..7e7c169 100644 --- a/scripts/recoil.gd +++ b/scripts/recoil.gd @@ -1,7 +1,7 @@ extends Node3D var recoil_amount : Vector3 = Vector3(.1,0,0) -var snap_amount : float = 8 +var snap_amount : float = 10 var speed : float = 4 var current_rotation : Vector3 var target_rotation : Vector3 @@ -17,6 +17,9 @@ func _process(delta: float) -> void: current_rotation = lerp(current_rotation, target_rotation, snap_amount * delta) basis = Quaternion.from_euler(current_rotation) -func add_recoil() -> void: - print("ADD RECOIL") - target_rotation += Vector3(.1,0,0) +func add_recoil(recoil_amount) -> void: + var recoil_x = recoil_amount.x + var recoil_y = randf_range(-recoil_amount.y,recoil_amount.y) + var recoil_z = randf_range(-recoil_amount.z,recoil_amount.z) + + target_rotation += Vector3(recoil_x, recoil_y, recoil_z) diff --git a/scripts/revolver_1.gd b/scripts/revolver_1.gd index f819b49..342eb0c 100644 --- a/scripts/revolver_1.gd +++ b/scripts/revolver_1.gd @@ -10,7 +10,7 @@ var cycle_count @export var gun_name : String @export_enum("Auto", "Single", "Burst") var fire_mode: int @export var fov_zoom_amt = .98 -@export var recoil_amount = .2 +@export var recoil_amount : Vector3 = Vector3(1,.1,.1) @export var max_ammo = 15 @export var start_mags = 3 @export var bullet_damage = 1 @@ -54,8 +54,8 @@ var cycle_count @export var audio_empty : Node @export var audio_reload : Node -@onready var player = $"../../../../" -@onready var level_control = $"../../../../../" +@onready var player = get_tree().current_scene.player +@onready var level_control = get_tree().current_scene @onready var ammo_current var casing_array = [] @@ -155,7 +155,7 @@ func fire(delta): instance_bullet.player_position = player.global_position instance_bullet.instance_bullethole = bullethole.instantiate() get_tree().get_root().add_child(instance_bullet) - player.weapon_recoil(delta) + player.recoil.add_recoil(recoil_amount) chamber.rotate_object_local(Vector3(0,-1,0),deg_to_rad(60)) func reload(delta): diff --git a/scripts/rocket_launcher.gd b/scripts/rocket_launcher.gd index 69c7eb9..f1eaac5 100644 --- a/scripts/rocket_launcher.gd +++ b/scripts/rocket_launcher.gd @@ -10,7 +10,7 @@ var cycle_count @export var gun_name : String @export_enum("Auto", "Single", "Burst") var fire_mode: int @export var fov_zoom_amt = .98 -@export var recoil_amount = .2 +@export var recoil_amount : Vector3 = Vector3(.2,0,0) @export var max_ammo = 15 @export var start_mags = 3 @export var bullet_damage = 1 @@ -100,7 +100,7 @@ func shoot(delta): instance_bullet.blast_power = blast_power instance_bullet.player_position = player.global_position get_tree().get_root().add_child(instance_bullet) - player.recoil.add_recoil() + player.recoil.add_recoil(recoil_amount) if fire_mode != 0: cycle_count -= 1