From 30619bc7c15597b439ec31827ce17c5fc425e71d Mon Sep 17 00:00:00 2001 From: henry Date: Thu, 25 Jun 2026 11:35:42 +0100 Subject: [PATCH] Fixed initial double shot issue; tweaked feel of weapons. --- graphics/spread.png | Bin 282 -> 259 bytes resources/player_weapon_resources/spread.tres | 6 +++--- resources/player_weapon_resources/stock.tres | 2 +- scenes/player_weapons/weapon_stock.gd | 2 +- scripts/shoot_component.gd | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/graphics/spread.png b/graphics/spread.png index b653e7ceb540a163a60d4cd8a0fbadc527e4fde5..a45b2ec4dc42ca677cf61a0b05ea2e40a66143e9 100644 GIT binary patch delta 65 zcmbQm)XX&Dq?M|ti(`ny)Z_^c%sfJi7AZ*iB?%t5(4^BFoS=}?$k1V8$7sR8P$VK= TE6?F&%K!wPu6{1-oD!Mn#DBXWT1_wi(`ny)Z_^c%se|-TwEVA38>9UaX4|1#bAp=g+Pl6gSz2Xhsc61 s#+yPL7|fy_WF*?S4}>O`OKf6bC=(D*o!t=kn*j(sUHx3vIVCg!01W;di2wiq diff --git a/resources/player_weapon_resources/spread.tres b/resources/player_weapon_resources/spread.tres index e8b930b..5ccfbb5 100644 --- a/resources/player_weapon_resources/spread.tres +++ b/resources/player_weapon_resources/spread.tres @@ -8,12 +8,12 @@ script = ExtResource("2_4b7mw") shot_name = "spread" bullet_scene = ExtResource("1_pn64g") damage = 5 -speed = 500 -projectiles = 5 +speed = 720 +projectiles = 4 spacing = 30.0 origin = -15 horizontal_offset = 8.25 -spread_angle = 15.0 +spread_angle = 7.5 stagger_offset = 0.5 stagger_animation = true metadata/_custom_type_script = "uid://7n1itonn35fm" diff --git a/resources/player_weapon_resources/stock.tres b/resources/player_weapon_resources/stock.tres index 184daab..94afc1b 100644 --- a/resources/player_weapon_resources/stock.tres +++ b/resources/player_weapon_resources/stock.tres @@ -12,5 +12,5 @@ speed = 300 spacing = 25.0 origin = -15 horizontal_offset = 10.0 -stagger_offset = 0.35 +stagger_offset = 0.0 metadata/_custom_type_script = "uid://7n1itonn35fm" diff --git a/scenes/player_weapons/weapon_stock.gd b/scenes/player_weapons/weapon_stock.gd index 6c2f9e6..5f18b6a 100644 --- a/scenes/player_weapons/weapon_stock.gd +++ b/scenes/player_weapons/weapon_stock.gd @@ -23,7 +23,7 @@ func _process(delta): if !is_active and current_time >= fire_time: activate() - # Move the bullet, factoring in spread angle + # Move the bullet every frame; stagger controls visibility, not movement var velocity = Vector2.UP.rotated(deg_to_rad(angle)) * shot_data.speed position += velocity * delta diff --git a/scripts/shoot_component.gd b/scripts/shoot_component.gd index 48cc0e7..5ed160b 100644 --- a/scripts/shoot_component.gd +++ b/scripts/shoot_component.gd @@ -21,8 +21,8 @@ func shoot(): # Calculate index relative to center (0 = center, -1/+1 = first from center) var index_from_center: float = b - center_index - # Calculate timing offset for staggered firing - var time_offset: float = index_from_center * weapon_data.stagger_offset + # Calculate timing offset for staggered firing (center-first, pairs outward) + var time_offset: float = abs(index_from_center) * weapon_data.stagger_offset # Calculate horizontal offset for this bullet (symmetrical: left=-ve, right=+ve) var bullet_horizontal_offset: float = index_from_center * weapon_data.horizontal_offset @@ -51,5 +51,5 @@ func shoot(): if weapon_data.stagger_animation: bullet.set_animation_offset(index_from_center * weapon_data.stagger_offset) - # Subtract projectile spacing from current Player travel for next shot - player.travel -= weapon_data.spacing + # Reset travel after firing to prevent multiple bursts per tap + player.travel = 0.0