2 Commits

Author SHA1 Message Date
shawn fe9738ca46 Fix weapon switching, scale, add Q key bind
- Fixed weapon switching: player.gd now uses weapon_next/weapon_prev/slot actions
  (was checking for nonexistent 'weapon_toggle')
- Added Q key to weapon_next input action
- Reduced weapon scale from 0.3 to 0.07-0.08 (was still 3x too large)
2026-07-05 23:54:57 -04:00
shawn 0723b75f7b Fix weapon position, scale, switch to GLB imports
- Reduced weapon scale 10-13x (previously OBJ models at native size)
- Adjusted on-screen position for each weapon type
- Switched from OBJ to GLB imports (better pivot points)
- Fixed Revolver model coordinate issue
2026-07-05 23:29:30 -04:00
14 changed files with 62 additions and 27 deletions
+13 -2
View File
@@ -227,11 +227,22 @@ func action_shoot():
# Toggle between available weapons (listed in 'weapons')
func action_weapon_toggle():
if Input.is_action_just_pressed("weapon_toggle"):
if Input.is_action_just_pressed("weapon_next"):
weapon_index = wrap(weapon_index + 1, 0, weapons.size())
initiate_change_weapon(weapon_index)
Audio.play("assets/kenney-fps/sounds/weapon_change.ogg")
if Input.is_action_just_pressed("weapon_prev"):
weapon_index = wrap(weapon_index - 1, 0, weapons.size())
initiate_change_weapon(weapon_index)
Audio.play("assets/kenney-fps/sounds/weapon_change.ogg")
for i in range(4):
if Input.is_action_just_pressed("weapon_slot_" + str(i + 1)):
if i < weapons.size():
weapon_index = i
initiate_change_weapon(weapon_index)
Audio.play("assets/kenney-fps/sounds/weapon_change.ogg")
# Initiates the weapon changing animation (tween)
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.35, -0.35, -0.4)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.05, -0.3, 0.8)
cooldown = 0.08
max_distance = 15
damage = 18
+6 -4
View File
@@ -1,6 +1,8 @@
[gd_scene load_steps=2 format=3 uid="uid://quaternius_p90_scene"]
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/P90.obj" id="1"]
[ext_resource type="PackedScene" path="res://assets/quaternius/models/P90.glb" id="1"]
[node name="P90" type="MeshInstance3D"]
mesh = ExtResource("1")
[node name="P90" type="Node3D"]
scale = Vector3(0.07, 0.07, 0.07)
[node name="Model" parent="." instance=ExtResource("1")]
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.45, -0.35, -0.5)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.08, -0.35, 1.2)
cooldown = 0.3
max_distance = 15
damage = 25
+6 -3
View File
@@ -1,5 +1,8 @@
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/Pistol.obj" id="1"]
[node name="Pistol" type="MeshInstance3D"]
mesh = ExtResource("1")
[ext_resource type="PackedScene" path="res://assets/quaternius/models/Pistol.glb" id="1"]
[node name="Pistol" type="Node3D"]
scale = Vector3(0.08, 0.08, 0.08)
[node name="Model" parent="." instance=ExtResource("1")]
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.5, -0.35, -0.5)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.1, -0.35, 1.2)
cooldown = 0.6
max_distance = 15
damage = 50
+6 -3
View File
@@ -1,5 +1,8 @@
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/Revolver.obj" id="1"]
[node name="Revolver" type="MeshInstance3D"]
mesh = ExtResource("1")
[ext_resource type="PackedScene" path="res://assets/quaternius/models/Revolver.glb" id="1"]
[node name="Revolver" type="Node3D"]
scale = Vector3(0.08, 0.08, 0.08)
[node name="Model" parent="." instance=ExtResource("1")]
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.4, -0.35, -0.4)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.05, -0.3, 0.8)
cooldown = 0.12
max_distance = 15
damage = 30
+6 -3
View File
@@ -1,5 +1,8 @@
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/Rifle.obj" id="1"]
[node name="Rifle" type="MeshInstance3D"]
mesh = ExtResource("1")
[ext_resource type="PackedScene" path="res://assets/quaternius/models/Rifle.glb" id="1"]
[node name="Rifle" type="Node3D"]
scale = Vector3(0.07, 0.07, 0.07)
[node name="Model" parent="." instance=ExtResource("1")]
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.4, -0.35, -0.4)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.05, -0.3, 0.8)
cooldown = 0.8
max_distance = 15
damage = 20
+6 -3
View File
@@ -1,5 +1,8 @@
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/Shotgun.obj" id="1"]
[node name="Shotgun" type="MeshInstance3D"]
mesh = ExtResource("1")
[ext_resource type="PackedScene" path="res://assets/quaternius/models/Shotgun.glb" id="1"]
[node name="Shotgun" type="Node3D"]
scale = Vector3(0.08, 0.08, 0.08)
[node name="Model" parent="." instance=ExtResource("1")]
+2 -1
View File
@@ -7,9 +7,10 @@
[resource]
script = ExtResource("1")
model = ExtResource("2")
position = Vector3(0.45, -0.3, -0.3)
crosshair = ExtResource("3")
rotation = Vector3(0, 180, 0)
muzzle_position = Vector3(0.1, -0.4, 1.5)
muzzle_position = Vector3(0.05, -0.25, 0.8)
cooldown = 1.2
max_distance = 15
damage = 90
+6 -3
View File
@@ -1,5 +1,8 @@
[gd_scene format=3]
[ext_resource type="ArrayMesh" path="res://assets/quaternius/models/SniperRifle.obj" id="1"]
[node name="SniperRifle" type="MeshInstance3D"]
mesh = ExtResource("1")
[ext_resource type="PackedScene" path="res://assets/quaternius/models/SniperRifle.glb" id="1"]
[node name="SniperRifle" type="Node3D"]
scale = Vector3(0.07, 0.07, 0.07)
[node name="Model" parent="." instance=ExtResource("1")]
+1
View File
@@ -145,6 +145,7 @@ weapon_reload={
weapon_next={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
]
}
weapon_prev={