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)