From a791f1701a9a0a9fb65d8dfe3e20d7871349cc63 Mon Sep 17 00:00:00 2001 From: Derek Date: Wed, 11 Dec 2024 22:54:33 -0600 Subject: [PATCH] added ADS to revolver --- assets/revolver_1.tscn | 39 ++++++++++++++++++++++++++++++++++----- scripts/hud.gd | 1 + scripts/player.gd | 17 +++++++++++------ scripts/revolver_1.gd | 2 +- 4 files changed, 47 insertions(+), 12 deletions(-) diff --git a/assets/revolver_1.tscn b/assets/revolver_1.tscn index 78ad342..ca302b8 100644 --- a/assets/revolver_1.tscn +++ b/assets/revolver_1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=68 format=4 uid="uid://b5eclfg0cmmal"] +[gd_scene load_steps=69 format=4 uid="uid://b5eclfg0cmmal"] [ext_resource type="PackedScene" uid="uid://dgogd08c0ubt6" path="res://assets/Models/revolver1.blend" id="1_i5f84"] [ext_resource type="Script" path="res://scripts/revolver_1.gd" id="2_7rsti"] @@ -894,7 +894,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0.03, 0.07, 0.25), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector3(0, 0, -0.073), Vector3(0, 0.220238, 0.54816), Vector3(0, 0, -0.073)] +"values": [Vector3(0, 0, -0.073), Vector3(0.0404336, 0.0661193, -0.0250919), Vector3(0, 0, -0.073)] } tracks/1/type = "value" tracks/1/imported = false @@ -906,7 +906,7 @@ tracks/1/keys = { "times": PackedFloat32Array(0.03, 0.07, 0.25), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector3(0, 0, -1.5708), Vector3(0.450033, 0, -1.5708), Vector3(0, 0, -1.5708)] +"values": [Vector3(0, 0, -1.5708), Vector3(0.884237, 0.232696, -1.46565), Vector3(0, 0, -1.5708)] } tracks/2/type = "value" tracks/2/imported = false @@ -1053,8 +1053,36 @@ tracks/2/keys = { }] } +[sub_resource type="Animation" id="Animation_fujhx"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("revolver1:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0.450033, 0.244207, -1.5708)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("revolver1:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0.0258306, 0, -0.0631607)] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_2kb78"] _data = { +"RESET": SubResource("Animation_fujhx"), "empty": SubResource("Animation_8akx8"), "inspect": SubResource("Animation_21rul"), "reload": SubResource("Animation_rlxei"), @@ -1069,7 +1097,8 @@ script = ExtResource("2_7rsti") gun_name = ".44 Galore" gun_icon = ExtResource("3_nl201") fire_mode = 1 -fov_zoom_amt = 0.99 +fov_zoom_amt = 25 +ads = true recoil_amount = Vector3(0.25, 0.1, 0.1) max_ammo = 6 bullet_damage = 5 @@ -1108,7 +1137,7 @@ audio_empty = NodePath("Audio/Empty") audio_reload = NodePath("Audio/Reload") [node name="revolver1" parent="." index="0"] -transform = Transform3D(-1.086e-06, 0.3, 0, -0.3, -1.086e-06, 0, 0, 0, 0.3, 0, 0, -0.073) +transform = Transform3D(-0.0315538, 0.291099, 0.0653137, -0.27013, -9.77867e-07, -0.130499, -0.126626, -0.0725364, 0.262115, 0.0258306, 0, -0.0631607) mesh = SubResource("ArrayMesh_a1hah") [node name="Chamber" parent="revolver1" index="0"] diff --git a/scripts/hud.gd b/scripts/hud.gd index ebaf4eb..7598a2e 100644 --- a/scripts/hud.gd +++ b/scripts/hud.gd @@ -108,6 +108,7 @@ func _process(delta: float) -> void: if player.ads: if player.gun.ads: fade_in_out(crosshair,1,false,5,delta) + fade_in_out(current_stam_bar,.001,true,5,delta) else: fade_in_out(crosshair,1,true,5,delta) else: diff --git a/scripts/player.gd b/scripts/player.gd index 30d1fce..99fb943 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -167,6 +167,7 @@ func _ready(): #Cache vars weapon_start_pos = weapon_spawner.position + #turn off audio if unchecked in player if AUDIO == false: AudioServer.set_bus_volume_db(0,-80) @@ -493,7 +494,7 @@ func aim_down_sights(delta): if gun: if gun.ads == true: if ads: - camera.fov -= .1 + camera.fov = lerp(camera.fov,BASE_FOV - float(gun.fov_zoom_amt),(delta * 5)/Engine.time_scale) gun.position = lerp(gun.position,ADS_POS,delta * 10 / Engine.time_scale) else: gun.position = lerp(gun.position, weapon_start_pos,delta * 2) @@ -531,18 +532,22 @@ func _on_pick_up_magnet_body_entered(body): body.collision_shape.disabled = true 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 * HEAD_TILT_AMT, 5 * delta) + if !ads: + 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 * HEAD_TILT_AMT, 5 * delta) func weapon_sway(delta): - if !ads: + if !gun.ads: var joy_input = Vector2(Input.get_joy_axis(0,JOY_AXIS_RIGHT_X)*5,Input.get_joy_axis(0,JOY_AXIS_RIGHT_Y)*5) mouse_input = lerp(mouse_input, Vector2.ZERO, 10 * delta) joy_input = lerp(joy_input,Vector2.ZERO,10 * delta) weapon_holder.rotation.x = lerp(weapon_holder.rotation.x, (mouse_input.y + joy_input.y) * weapon_sway_amount, 5 * delta) weapon_holder.rotation.y = lerp(weapon_holder.rotation.y, (mouse_input.x + joy_input.x) * weapon_sway_amount, 5 * delta) + else: + if gun.ads == true: + weapon_holder.rotation = Vector3.ZERO func weapon_bob(vel : float, delta): if weapon_holder: diff --git a/scripts/revolver_1.gd b/scripts/revolver_1.gd index 74455dd..bd68079 100644 --- a/scripts/revolver_1.gd +++ b/scripts/revolver_1.gd @@ -10,7 +10,7 @@ var cycle_count @export var gun_name : String @export var gun_icon : Texture2D @export_enum("Auto", "Single", "Burst") var fire_mode: int -@export var fov_zoom_amt = .98 +@export var fov_zoom_amt = 10 @export var ads : bool = false @export var recoil_amount : Vector3 = Vector3(1,.1,.1) @export var recoil_speed_change : float = 4