bugfix enemy spawner

This commit is contained in:
Michael Campbell 2026-03-04 02:27:43 -05:00
parent 5b659d7b9c
commit 2fd199612b
3 changed files with 7 additions and 6 deletions

View file

@ -24,7 +24,6 @@ func _process(delta: float) -> void:
func hit(_proj: PlayerProjectile, damage: float) -> bool: func hit(_proj: PlayerProjectile, damage: float) -> bool:
health -= damage health -= damage
if health <= 0.: if health <= 0.:
print("boom!")
SignalBus.building_destroyed.emit(self) SignalBus.building_destroyed.emit(self)
collision_layer = 1 # World collision only collision_layer = 1 # World collision only

View file

@ -30,11 +30,12 @@ func _process(_delta: float) -> void:
var col_mask := 16 # floor collision layer var col_mask := 16 # floor collision layer
var params := PhysicsRayQueryParameters3D.create( var params := PhysicsRayQueryParameters3D.create(
v, v + Vector3.DOWN * 100., col_mask v, v + Vector3.DOWN * 100., 1 # detect any level geometry
) )
var raycast := get_world_3d().direct_space_state.intersect_ray(params) var raycast := get_world_3d().direct_space_state.intersect_ray(params)
if not raycast.is_empty(): # if the raycast hit and the hit was the floor...
if not raycast.is_empty() and raycast.collider.collision_layer & col_mask:
var hitpos: Vector3 = raycast.position var hitpos: Vector3 = raycast.position
if points.size() < MAX_CACHED_POINTS: if points.size() < MAX_CACHED_POINTS:
@ -45,13 +46,15 @@ func _process(_delta: float) -> void:
doomed_point_idx = doomed_point_idx % MAX_CACHED_POINTS doomed_point_idx = doomed_point_idx % MAX_CACHED_POINTS
func _on_timer_timeout() -> void: func _on_timer_timeout() -> void:
if points.is_empty(): return if points.is_empty():
push_warning("tried to spawn enemy, but can't find a point!")
return
var pos: Vector3 = points.pick_random() var pos: Vector3 = points.pick_random()
pos += Vector3.UP * 0.02 pos += Vector3.UP * 0.02
var scene := preload("res://enemies/police_car/police_car.tscn") var scene := preload("res://enemies/police_car/police_car.tscn")
var car: Node3D = scene.instantiate() var car: Node3D = scene.instantiate()
car.global_position = pos car.position = pos
get_tree().current_scene.add_child(car) get_tree().current_scene.add_child(car)

View file

@ -116,7 +116,6 @@ func _process_cam_shake(delta: float) -> void:
camera_transform.basis.x * x + \ camera_transform.basis.x * x + \
camera_transform.basis.y * y camera_transform.basis.y * y
print("v = ", v)
%Camera3D.position += v * .5 %Camera3D.position += v * .5
func _process(delta: float) -> void: func _process(delta: float) -> void: