Further refinements in weapone fire helper logic.

This commit is contained in:
Henry Faber 2026-06-28 18:11:26 +01:00
parent 9554af183c
commit a655f9332f
3 changed files with 57 additions and 9 deletions

View file

@ -8,7 +8,10 @@ extends Resource
@export var speed: int = 135
@export var projectiles: int = 2
# Vertical spacing between projectiles in a burst (used by WeaponFireHelper to compute the ^ pattern).
# This controls spatial burst geometry, NOT temporal spacing between continuous fire bursts.
# This parameter has a dual role: spatial (computing the ^ burst geometry) and temporal
# (serving as the burst-gating threshold in ShootComponent.shoot()). When compensate_spawn_geometry
# is enabled, this parameter is overridden by geometric compensation for spatial calculations;
# temporal behavior remains unchanged and continues to use this value.
@export var projectile_vertical_spacing: float = 35
# Vertical offset from the top of the player's sprite where bullets spawn.
# Measured in pixels; negative values fire in front of (above) the ship,
@ -23,6 +26,14 @@ extends Resource
@export var spread_angle: float = 0.0
# Time delay per projectile index
@export var stagger_offset: float = 0.25
# When enabled, adjusts spawn vertical offsets so the geometric line
# from the center bullet to each outer bullet matches their velocity
# direction. Eliminates the optical illusion where the spread appears
# wider than the actual bullet trajectories (e.g. spread.tres flies at
# half the angle it visually appears to fan).
## WARNING: This flag uses a trigonometric formula (horizontal_offset / tan(angle)) that evaluates independently-tuned horizontal and spread angles in grouped shots ONLY!
@export var compensate_spawn_geometry: bool = false
@export_category("Effects")
# Offset animation playback per projectile index