Fix critical bugs from code review
- room.gd: Add signal tracking and explicit cleanup in _exit_tree - room.gd: Guard _on_enemy_died against race condition after room freed - player.gd: Set _shield_ready = false on shield activation - player.gd: Fix coolant zone lambda syntax error - player.gd: Add apply_knockback() method for Hivemind pulse - player.gd: Fix coolant zone memory leak (use Timer child) - hud.gd: Remove deprecated boss bar code
This commit is contained in:
@@ -46,6 +46,9 @@ const DRIFTER_OFFSET_MAX := 80.0
|
||||
|
||||
const FREEZE_DURATION := 1.5
|
||||
|
||||
const BURST_PROJ_DAMAGE := 1.0
|
||||
const HOMING_PROJ_DAMAGE := 1.0
|
||||
|
||||
const DRIFTER_SCENE = preload("res://scenes/enemies/drifter.tscn")
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -228,7 +231,7 @@ func _spawn_burst_proj(dir: Vector2) -> void:
|
||||
|
||||
func _on_burst_hit_player(body: Node2D, proj: Node2D) -> void:
|
||||
if body.is_in_group("player") and body.has_method("take_damage"):
|
||||
body.take_damage(1)
|
||||
body.take_damage(BURST_PROJ_DAMAGE)
|
||||
if is_instance_valid(proj):
|
||||
proj.queue_free()
|
||||
|
||||
@@ -298,7 +301,7 @@ func _spawn_homing_proj(start_angle: float) -> void:
|
||||
|
||||
func _on_homing_hit_player(body: Node2D, proj: Node2D) -> void:
|
||||
if body.is_in_group("player") and body.has_method("take_damage"):
|
||||
body.take_damage(1)
|
||||
body.take_damage(HOMING_PROJ_DAMAGE)
|
||||
if is_instance_valid(proj):
|
||||
proj.queue_free()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user