Complete lab, quest, garrison, and energy tickets

This commit is contained in:
Loïc Wisniewski 2026-09-03 00:12:08 +02:00
commit 0f7edff15a
20 changed files with 238 additions and 45 deletions

View file

@ -1,5 +1,7 @@
extends Area2D
const COMBAT_TARGET = preload("res://core/CombatTarget.gd")
# #86: faster. The bolt used to crawl far enough behind a moving target that
# leading a shot was guesswork rather than skill.
# #155: was 850, which took 1.1s to cross the gun's own range - long enough
@ -54,9 +56,9 @@ func _physics_process(delta: float) -> void:
func _on_area_entered(area: Area2D) -> void:
# Asteroids answer take_damage() exactly as enemies do, so both are hit by
# the same branch rather than by a second special case.
if area.is_in_group("enemies") or area.is_in_group("asteroids"):
# Anything that opted into the weapon-target contract answers take_damage(),
# so adding a new target composition needs no projectile type check.
if area.is_in_group(COMBAT_TARGET.GROUP):
area.take_damage(damage)
queue_free()