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

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