Seems to mostly work
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user