extends Area3D

@onready var particles : GPUParticles3D = %ParticleFX
var trap_owner : int
var damage : int
var time_remaining : float


func _ready() -> void:
	particles.emitting = true

func _physics_process(delta: float) -> void:
	for body in get_overlapping_bodies():
		body.poison(damage, 2.0)
	time_remaining -= delta
	if time_remaining <= 0:
		queue_free()

func setup(owner, damage) -> void:
	self.trap_owner = trap_owner
	self.damage = damage
	time_remaining = 2.0

func _on_body_entered(body: Node3D) -> void:
	if body.can_hurt():
		body.hurt(damage)
		body.poison(damage, 2.0)
