feat: add Rocket Swarm, Mortar, and BouncingProjectile weapon types

This commit is contained in:
DottsGit
2026-06-04 18:17:34 -04:00
parent e6a2199777
commit 09103ce366
3 changed files with 5 additions and 3 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ extends ExplosiveProjectile
class_name BouncingProjectile
var fuse_time: float = -1.0 # -1 means no fuse started yet
var bounce_fuse_delay: float = 3.0 # How long to wait after bouncing
var impact_detonate_time: float = 2.0
var bounciness: float = 0.4
var flight_time: float = 0.0
@@ -41,7 +42,7 @@ func _physics_process(delta: float) -> void:
# Start the fuse if it hasn't started
if fuse_time < 0.0:
fuse_time = 3.0 # Explode 3 seconds after the first bounce
fuse_time = bounce_fuse_delay
# If it hits an entity directly, still bounce, it's a heavy mortar shell!
else:
+2 -1
View File
@@ -68,7 +68,8 @@ func _spawn_custom_projectile(origin: Vector3, fire_dir: Vector3) -> void:
proj.owner_player = player
# Mortar Bouncing logic
proj.fuse_time = 3.0 # Explodes 3 seconds after launch if it bounces
proj.fuse_time = -1.0 # Don't start ticking until it bounces
proj.bounce_fuse_delay = 3.0 # Explodes 3 seconds after first bounce
proj.impact_detonate_time = 2.0 # If flying > 2s, explode on impact instead
proj.bounciness = 0.4 # Heavy, loses momentum on bounce
+1 -1
View File
@@ -147,7 +147,7 @@ func _spawn_custom_projectile(origin: Vector3, fire_dir: Vector3) -> void:
# Logic
proj.weapon_source = self
proj.turn_speed = 12.0 # Faster turn radius so they can aggressively home in
proj.turn_speed = 4.0 # Slower turn radius so they sweep nicely
proj.position = origin # Start at origin to spread outward around camera
proj.logical_source = origin