Seems to mostly work

This commit is contained in:
derek
2024-10-02 15:39:40 -05:00
parent 3121e9d4d2
commit 70a6a23604
10 changed files with 24 additions and 19 deletions

View File

@@ -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

View File

@@ -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")

View File

@@ -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

View File

@@ -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"

View File

@@ -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")

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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):

View File

@@ -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