About to start work on gun swapper #checkpoint
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"godotTools.editorPath.godot4": "c:\\Program Files\\Godot_v4.2.2-stable_win64.exe\\Godot_v4.2.2-stable_win64.exe"
|
||||||
|
}
|
||||||
@@ -219,11 +219,14 @@ tracks/7/path = NodePath(".")
|
|||||||
tracks/7/interp = 1
|
tracks/7/interp = 1
|
||||||
tracks/7/loop_wrap = true
|
tracks/7/loop_wrap = true
|
||||||
tracks/7/keys = {
|
tracks/7/keys = {
|
||||||
"times": PackedFloat32Array(0.28),
|
"times": PackedFloat32Array(0.28, 1.59),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
"values": [{
|
"values": [{
|
||||||
"args": [],
|
"args": [],
|
||||||
"method": &"spawn_mag"
|
"method": &"spawn_mag"
|
||||||
|
}, {
|
||||||
|
"args": [],
|
||||||
|
"method": &"reload_finished"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -317,7 +320,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")]
|
[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")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.247, -0.222)
|
|
||||||
script = ExtResource("2_6i1l4")
|
script = ExtResource("2_6i1l4")
|
||||||
max_ammo = 30
|
max_ammo = 30
|
||||||
random_spread_amt = 1.5
|
random_spread_amt = 1.5
|
||||||
|
|||||||
@@ -88,63 +88,68 @@ step = 0.01
|
|||||||
tracks/0/type = "value"
|
tracks/0/type = "value"
|
||||||
tracks/0/imported = false
|
tracks/0/imported = false
|
||||||
tracks/0/enabled = true
|
tracks/0/enabled = true
|
||||||
tracks/0/path = NodePath("mac10:position")
|
tracks/0/path = NodePath("gun:position")
|
||||||
tracks/0/interp = 2
|
tracks/0/interp = 2
|
||||||
tracks/0/loop_wrap = true
|
tracks/0/loop_wrap = true
|
||||||
tracks/0/keys = {
|
tracks/0/keys = {
|
||||||
"times": PackedFloat32Array(0, 0.3, 0.87, 0.93, 1.22, 1.6),
|
"times": PackedFloat32Array(0, 0.3, 0.72, 1.6),
|
||||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(0, 0, 0), Vector3(-0.300933, 0.313207, 1.19209e-07), Vector3(-0.434608, 0.186498, -0.0340296), Vector3(-0.101334, 0.396998, -0.241881), Vector3(0.0150149, 0.258868, -0.212029), Vector3(0, 0, 0)]
|
"values": [Vector3(0, -0.000397999, 0), Vector3(-0.655909, 0.59805, 0), Vector3(-0.450443, 0.73385, 0), Vector3(0, -0.000397999, 0)]
|
||||||
}
|
}
|
||||||
tracks/1/type = "value"
|
tracks/1/type = "value"
|
||||||
tracks/1/imported = false
|
tracks/1/imported = false
|
||||||
tracks/1/enabled = true
|
tracks/1/enabled = true
|
||||||
tracks/1/path = NodePath("mac10:rotation")
|
tracks/1/path = NodePath("gun:rotation")
|
||||||
tracks/1/interp = 2
|
tracks/1/interp = 2
|
||||||
tracks/1/loop_wrap = true
|
tracks/1/loop_wrap = true
|
||||||
tracks/1/keys = {
|
tracks/1/keys = {
|
||||||
"times": PackedFloat32Array(0, 0.3, 0.87, 0.93, 1.22, 1.6),
|
"times": PackedFloat32Array(0, 0.3, 0.72, 1.6),
|
||||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(0, -1.5708, 0), Vector3(-0.232886, -1.07885, -0.764517), Vector3(-0.629713, -1.24344, 0.0923291), Vector3(-0.492603, -1.40009, 0.121521), Vector3(-0.372059, -1.53262, 0.126735), Vector3(0, -1.5708, 0)]
|
"values": [Vector3(0, -1.5708, 0), Vector3(-0.65485, 0.0430034, -1.67829), Vector3(-0.742135, -0.58273, -1.29047), Vector3(0, -1.5708, 0)]
|
||||||
}
|
}
|
||||||
tracks/2/type = "value"
|
tracks/2/type = "value"
|
||||||
tracks/2/imported = false
|
tracks/2/imported = false
|
||||||
tracks/2/enabled = true
|
tracks/2/enabled = true
|
||||||
tracks/2/path = NodePath("mac10/chargerpull:position")
|
tracks/2/path = NodePath("gun/mag:position")
|
||||||
tracks/2/interp = 1
|
tracks/2/interp = 1
|
||||||
tracks/2/loop_wrap = true
|
tracks/2/loop_wrap = true
|
||||||
tracks/2/keys = {
|
tracks/2/keys = {
|
||||||
"times": PackedFloat32Array(),
|
"times": PackedFloat32Array(0.27, 0.78, 0.97),
|
||||||
"transitions": PackedFloat32Array(),
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": []
|
"values": [Vector3(0.00225297, 0.0306008, -2.98023e-08), Vector3(0.002, -2, 0), Vector3(0.00225297, 0.0306008, -2.98023e-08)]
|
||||||
}
|
}
|
||||||
tracks/3/type = "value"
|
tracks/3/type = "value"
|
||||||
tracks/3/imported = false
|
tracks/3/imported = false
|
||||||
tracks/3/enabled = true
|
tracks/3/enabled = true
|
||||||
tracks/3/path = NodePath("mac10/mag:position")
|
tracks/3/path = NodePath("gun/mag:visible")
|
||||||
tracks/3/interp = 1
|
tracks/3/interp = 1
|
||||||
tracks/3/loop_wrap = true
|
tracks/3/loop_wrap = true
|
||||||
tracks/3/keys = {
|
tracks/3/keys = {
|
||||||
"times": PackedFloat32Array(0.29, 0.75, 0.97),
|
"times": PackedFloat32Array(0.23, 0.26, 0.82, 0.83),
|
||||||
"transitions": PackedFloat32Array(1, 1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.331642, -0.46631, 0.00448097), Vector3(0.332, -4, 0.004), Vector3(0.331642, -0.46631, 0.00448097)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("mac10/mag:visible")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0.27, 0.28, 0.75, 0.77),
|
|
||||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [true, false, false, true]
|
"values": [true, false, false, true]
|
||||||
}
|
}
|
||||||
|
tracks/4/type = "method"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath(".")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0.26, 1.6),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"spawn_mag"
|
||||||
|
}, {
|
||||||
|
"args": [],
|
||||||
|
"method": &"reload_finished"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_bsc1a"]
|
[sub_resource type="Animation" id="Animation_bsc1a"]
|
||||||
resource_name = "shoot"
|
resource_name = "shoot"
|
||||||
@@ -220,8 +225,7 @@ audio_reload = NodePath("Audio/Reload")
|
|||||||
transform = Transform3D(-3.23167e-06, 0, -0.892728, 0, 0.892728, 0, 0.892728, 0, -3.23167e-06, 0, -0.000397999, 0)
|
transform = Transform3D(-3.23167e-06, 0, -0.892728, 0, 0.892728, 0, 0.892728, 0, -3.23167e-06, 0, -0.000397999, 0)
|
||||||
|
|
||||||
[node name="mag" parent="gun" index="0"]
|
[node name="mag" parent="gun" index="0"]
|
||||||
transform = Transform3D(0.0897307, -0.048904, 1.59741e-16, 0.012226, 0.358923, 1.76728e-18, -4.44089e-16, 2.22045e-16, 0.0323253, 0.00225294, 0.0306008, -3.12148e-10)
|
transform = Transform3D(0.0897307, -0.048904, -9.31323e-10, 0.012226, 0.358923, 1.74623e-10, 3.72529e-09, -1.86265e-09, 0.0323253, 0.00225297, 0.0306008, -2.98023e-08)
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="slide" parent="gun" index="1"]
|
[node name="slide" parent="gun" index="1"]
|
||||||
transform = Transform3D(0.579973, 0, 0, 0, 0.579973, -1.0175e-10, 1.16415e-10, 7.27596e-11, 0.579973, 0, 0, 0)
|
transform = Transform3D(0.579973, 0, 0, 0, 0.579973, -1.0175e-10, 1.16415e-10, 7.27596e-11, 0.579973, 0, 0, 0)
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
[gd_scene load_steps=17 format=3 uid="uid://drwae3loscbw7"]
|
[gd_scene load_steps=16 format=3 uid="uid://drwae3loscbw7"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/player.gd" id="1_x7wms"]
|
[ext_resource type="Script" path="res://scripts/player.gd" id="1_x7wms"]
|
||||||
[ext_resource type="FontFile" uid="uid://d2h2tjhxiv5wo" path="res://assets/fonts/White On Black.ttf" id="3_mbuvp"]
|
[ext_resource type="FontFile" uid="uid://d2h2tjhxiv5wo" path="res://assets/fonts/White On Black.ttf" id="3_mbuvp"]
|
||||||
[ext_resource type="Script" path="res://scripts/AmmoCounter.gd" id="4_8cy44"]
|
[ext_resource type="Script" path="res://scripts/AmmoCounter.gd" id="4_8cy44"]
|
||||||
[ext_resource type="Texture2D" uid="uid://mcay8s80071h" path="res://assets/UI/Crosshair/SVG/Reticle 1_svg.svg" id="6_5m60e"]
|
[ext_resource type="Texture2D" uid="uid://mcay8s80071h" path="res://assets/UI/Crosshair/SVG/Reticle 1_svg.svg" id="6_5m60e"]
|
||||||
[ext_resource type="Script" path="res://scripts/StaminaCounter.gd" id="6_bgi8o"]
|
[ext_resource type="Script" path="res://scripts/StaminaCounter.gd" id="6_bgi8o"]
|
||||||
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="6_o1rq6"]
|
|
||||||
[ext_resource type="Script" path="res://scripts/UIScreenAdjust.gd" id="7_pnp4a"]
|
[ext_resource type="Script" path="res://scripts/UIScreenAdjust.gd" id="7_pnp4a"]
|
||||||
[ext_resource type="AudioStream" uid="uid://bki17g7j4kqn4" path="res://assets/Audio/PickupSound Mixdown 3.wav" id="8_dwqsx"]
|
[ext_resource type="AudioStream" uid="uid://bki17g7j4kqn4" path="res://assets/Audio/PickupSound Mixdown 3.wav" id="8_dwqsx"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dhgyj08g1ge2o" path="res://assets/UI/SVG/hitmarkersvg.svg" id="8_kupqh"]
|
[ext_resource type="Texture2D" uid="uid://dhgyj08g1ge2o" path="res://assets/UI/SVG/hitmarkersvg.svg" id="8_kupqh"]
|
||||||
@@ -33,11 +32,12 @@ size = Vector3(10, 5.48804, 10)
|
|||||||
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("weapon_holder", "gun") groups=["player"]]
|
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("weapon_holder", "gun") groups=["player"]]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.11359, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.11359, 0)
|
||||||
collision_layer = 3
|
collision_layer = 3
|
||||||
|
safe_margin = 0.2
|
||||||
script = ExtResource("1_x7wms")
|
script = ExtResource("1_x7wms")
|
||||||
weapon_holder = NodePath("Head/Camera3D/WeaponHolder")
|
weapon_holder = NodePath("Head/Camera3D/WeaponHolder")
|
||||||
weapon_sway_amount = 0.1
|
weapon_sway_amount = 0.1
|
||||||
weapon_rotation_amount = 0.1
|
weapon_rotation_amount = 0.1
|
||||||
gun = NodePath("Head/Camera3D/WeaponHolder/mac10")
|
gun = NodePath("")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
@@ -56,11 +56,8 @@ current = true
|
|||||||
[node name="WeaponHolder" type="Node3D" parent="Head/Camera3D"]
|
[node name="WeaponHolder" type="Node3D" parent="Head/Camera3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0341401, -0.111267)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0341401, -0.111267)
|
||||||
|
|
||||||
[node name="mac10" parent="Head/Camera3D/WeaponHolder" instance=ExtResource("6_o1rq6")]
|
|
||||||
transform = Transform3D(0.699692, 0.000362423, 0.0207632, 0, 0.699893, -0.0122167, -0.0207664, 0.0122113, 0.699585, 0.445836, -0.15786, -0.767655)
|
|
||||||
|
|
||||||
[node name="WeaponSpawner" type="Node3D" parent="Head/Camera3D/WeaponHolder"]
|
[node name="WeaponSpawner" type="Node3D" parent="Head/Camera3D/WeaponHolder"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.44954, -0.336461, -0.703911)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.44954, -0.202025, -1.03649)
|
||||||
|
|
||||||
[node name="AmmoCounter" type="Label" parent="Head/Camera3D"]
|
[node name="AmmoCounter" type="Label" parent="Head/Camera3D"]
|
||||||
offset_right = 3840.0
|
offset_right = 3840.0
|
||||||
|
|||||||
Binary file not shown.
@@ -405,8 +405,9 @@ _data = {
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_82n8k"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_82n8k"]
|
||||||
size = Vector3(16.265, 5.07275, 15.3267)
|
size = Vector3(16.265, 5.07275, 15.3267)
|
||||||
|
|
||||||
[node name="Test Level 2" type="Node3D"]
|
[node name="Test Level 2" type="Node3D" node_paths=PackedStringArray("player")]
|
||||||
script = ExtResource("1_orhgl")
|
script = ExtResource("1_orhgl")
|
||||||
|
player = NodePath("Player")
|
||||||
gun_1 = ExtResource("2_q7f7y")
|
gun_1 = ExtResource("2_q7f7y")
|
||||||
gun_2 = ExtResource("3_k8htc")
|
gun_2 = ExtResource("3_k8htc")
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
|
@export var player : Node
|
||||||
@export var gun_1 : Resource
|
@export var gun_1 : Resource
|
||||||
@export var gun_2 : Resource
|
@export var gun_2 : Resource
|
||||||
|
var held_guns = [gun_1,gun_2]
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
pass # Replace with function body.
|
var instance_loop_times = held_guns.length()
|
||||||
|
while instance_loop_times > -1:
|
||||||
|
held_guns[instance_loop_times]
|
||||||
|
|
||||||
|
instance_loop_times -= 1
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
|||||||
@@ -60,16 +60,15 @@ func _process(delta):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _on_gun_anims_animation_finished(anim_name):
|
func reload_finished():
|
||||||
if anim_name == "reload":
|
if player.ammo_reserve >= max_ammo:
|
||||||
if player.ammo_reserve >= max_ammo:
|
player.ammo += max_ammo
|
||||||
player.ammo += max_ammo
|
player.ammo_reserve -= max_ammo
|
||||||
player.ammo_reserve -= max_ammo
|
player.reloading = false
|
||||||
player.reloading = false
|
else:
|
||||||
else:
|
player.ammo += player.ammo_reserve
|
||||||
player.ammo += player.ammo_reserve
|
player.ammo_reserve -= player.ammo_reserve
|
||||||
player.ammo_reserve -= player.ammo_reserve
|
player.reloading = false
|
||||||
player.reloading = false
|
|
||||||
|
|
||||||
func shoot(player,delta):
|
func shoot(player,delta):
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ var y_magnet
|
|||||||
var z_magnet
|
var z_magnet
|
||||||
@export var pickupType: String
|
@export var pickupType: String
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
rand_amt = rng.randf_range(10.0,100.0)
|
rand_amt = rng.randf_range(10.0,100.0)
|
||||||
|
|||||||
@@ -73,11 +73,16 @@ func _ready():
|
|||||||
start_sensitivity = SENSITIVITY
|
start_sensitivity = SENSITIVITY
|
||||||
|
|
||||||
#Set up gun variables
|
#Set up gun variables
|
||||||
|
var instance_gun = level_control.gun_1.instantiate()
|
||||||
|
instance_gun.global_transform.origin = weapon_spawner.position
|
||||||
|
gun = instance_gun
|
||||||
def_weapon_holder_pos = weapon_holder.position
|
def_weapon_holder_pos = weapon_holder.position
|
||||||
ammo = gun.max_ammo
|
ammo = gun.max_ammo
|
||||||
ammo_reserve = gun.max_ammo * gun.start_mags
|
ammo_reserve = gun.max_ammo * gun.start_mags
|
||||||
bullet_damage = gun.bullet_damage
|
bullet_damage = gun.bullet_damage
|
||||||
gun_fire_pitch_starting = gun.audio_fire.pitch_scale
|
gun_fire_pitch_starting = gun.audio_fire.pitch_scale
|
||||||
|
weapon_holder.add_child(instance_gun)
|
||||||
|
|
||||||
|
|
||||||
#turn off audio if unchecked in player
|
#turn off audio if unchecked in player
|
||||||
if AUDIO == false:
|
if AUDIO == false:
|
||||||
@@ -254,6 +259,7 @@ func _on_pick_up_detection_body_entered(body):
|
|||||||
|
|
||||||
func _on_pick_up_magnet_body_entered(body):
|
func _on_pick_up_magnet_body_entered(body):
|
||||||
if body.is_in_group("pickup"):
|
if body.is_in_group("pickup"):
|
||||||
|
body.collision_shape.disabled = true
|
||||||
var pickup_direction = self.global_position - body.global_position
|
var pickup_direction = self.global_position - body.global_position
|
||||||
body.linear_velocity += pickup_direction * 5
|
body.linear_velocity += pickup_direction * 5
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user