31 lines
818 B
GDScript
31 lines
818 B
GDScript
extends Area3D
|
|
|
|
@export var damage : float = 1
|
|
|
|
var damage_number = preload("res://assets/damage_number.tscn")
|
|
|
|
signal body_part_hit(dam,bullet_damage)
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
pass # Replace with function body.
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta):
|
|
pass
|
|
|
|
func hit(bullet_damage):
|
|
emit_signal("body_part_hit", damage, bullet_damage)
|
|
SignalBus.emit_signal("enemy_hit")
|
|
|
|
var number_spawn = damage_number.instantiate()
|
|
number_spawn.damage_amt = bullet_damage * damage
|
|
number_spawn.position = global_position + Vector3(0,2,0)
|
|
get_tree().get_root().add_child(number_spawn)
|
|
|
|
func _on_body_entered(body: Node3D) -> void:
|
|
hit(body.bullet_damage)
|
|
SignalBus.emit_signal("enemy_hit")
|
|
body.despawn()
|