gun folding seems mostly fixed

This commit is contained in:
derek
2024-10-01 15:21:32 -05:00
parent 291e27904b
commit f581d6f668
2 changed files with 20 additions and 13 deletions

View File

@@ -36,8 +36,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 rng = RandomNumberGenerator.new()
var gun_index
@@ -46,8 +46,6 @@ var ammo_reserve
# Called when the node enters the scene tree for the first time.
func _ready():
start_position = self.position
start_rotation = self.rotation
random_spread_start = random_spread_amt
ammo_current = level_control.ammo_current[gun_index]

View File

@@ -54,6 +54,8 @@ var ammo
var ammo_reserve
var bullet_damage
var def_weapon_holder_pos : Vector3
var weapon_holder_start_rot
var weapon_holder_start_pos
var gun_folded = false
var recoiling_fade = 0
var bullet_destination
@@ -90,6 +92,10 @@ var pickupmsg
func _ready():
weapon_holder_start_rot = weapon_holder.rotation
weapon_holder_start_pos = weapon_holder.position
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
start_sensitivity = SENSITIVITY
@@ -102,11 +108,11 @@ func _ready():
if AUDIO == false:
AudioServer.set_bus_volume_db(0,-80)
func _unhandled_input(event):
func _unhandled_input(event) -> void:
if event is InputEventMouseMotion:
self.rotate_y(-event.relative.x * SENSITIVITY)
camera.rotate_x(-event.relative.y * SENSITIVITY)
camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-90), deg_to_rad(85))
head.rotate_x(-event.relative.y * SENSITIVITY)
head.rotation.x = clamp(head.rotation.x, deg_to_rad(-90), deg_to_rad(85))
mouse_input = event.relative
@@ -235,12 +241,12 @@ func _physics_process(delta):
# Gun folding out of the way
if gun_ray.is_colliding():
gun.rotation = lerp(gun.rotation, Vector3(1, -1, -.25), delta * 10)
gun.position = lerp(gun.position, Vector3(gun.start_position.x-.15,gun.start_position.y +.2,gun.start_position.z +.6),(delta*10))
weapon_holder.rotation = lerp(weapon_holder.rotation, Vector3(2, -1, -1), delta * 7)
weapon_holder.position = lerp(weapon_holder.position, Vector3(-.02,-.1,.06),(delta * 7))
gun_folded = true
elif !gun_ray.is_colliding():
gun.rotation = lerp(gun.rotation, gun.start_rotation,delta*7)
gun.position = lerp(gun.position, gun.start_position,delta*7)
weapon_holder.rotation = lerp(weapon_holder.rotation, weapon_holder_start_rot,delta*7)
weapon_holder.position = lerp(weapon_holder.position, weapon_holder_start_pos,delta*7)
gun_folded = false
#Weapon Swap Up
@@ -302,6 +308,8 @@ func _on_pick_up_magnet_body_entered(body):
func weapon_tilt(input_x, delta):
if weapon_holder:
weapon_holder.rotation.z = lerp(weapon_holder.rotation.z, -input_x * weapon_rotation_amount * 10, 4 * delta)
if camera:
camera.rotation.z = lerp(camera.rotation.z, -input_x * .1, 5 * delta)
func weapon_sway(delta):
mouse_input = lerp(mouse_input, Vector2.ZERO, 10 * delta)
@@ -320,5 +328,6 @@ func weapon_bob(vel : float, delta):
weapon_holder.position.x = lerp(weapon_holder.position.x, def_weapon_holder_pos.x, .1 * delta)
func weapon_recoil(delta):
var recoil_to = camera.rotation.x + gun.recoil_amount
camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(85))
pass
#var recoil_to = camera.rotation.x + gun.recoil_amount
#camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(85))