Added basic projectile

Changelog:
1. Linear projectile scene and script
2. project.godot 3D collision layers renamed
This commit is contained in:
Rendo 2025-07-18 19:48:39 +05:00
commit fd6fe7313d
4 changed files with 41 additions and 1 deletions

View file

@ -0,0 +1,23 @@
extends Area3D
## Speed of the projectile in meters per second
@export_range(0,1000,0.01,"or_greater","suffix:m/s") var speed : float
## Damage of projectile
@export var damage : float
func _ready() -> void:
body_entered.connect(on_body_entered)
## Invoked when area contacts collision object
func on_body_entered(body : Node):
if body.is_in_group("Entities") == false:
return
# Owner needs to be set to Entity node when spawning projectile
if owner is Entity:
body.get_node("Entity").deal_damage(damage,owner)
else:
body.get_node("Entity").deal_damage(damage,null)
func _physics_process(delta: float) -> void:
global_position += global_transform.basis.z * delta