TowerDefense/Bullets/bullet.gd
2025-06-18 12:19:43 +02:00

26 lines
587 B
GDScript

extends CharacterBody3D
class_name Bullet
var target : CharacterBody3D
@export var speed : int = 20
var bullet_damage : int = 1
var start_position
func _ready() -> void:
global_position = start_position
func _physics_process(delta: float) -> void:
if is_instance_valid(target):
velocity = global_position.direction_to(target.global_position) * speed
look_at(target.global_position)
move_and_slide()
else:
queue_free()
func _on_impact_body_entered(body: Node3D) -> void:
if body == target:
var enemy : Enemy = body
enemy.take_damage(bullet_damage)
queue_free()