The_Dark_Side_of_Earth/traps/bear_trap.gd

32 lines
777 B
GDScript

extends Trap
@export var player_damage : int;
@export var enemy_damage : int;
var closed = false
func damage_target(target: CollisionObject2D):
if(target.get_collision_layer_value(3)):
target.hurt(player_damage, Vector2.ZERO)
else:
target.hurt(enemy_damage, Vector2.ZERO)
func _on_area_2d_area_entered(area: Area2D) -> void:
if not closed:
damage_target(area)
closed = true
$AnimatedSprite2D.play("close")
await $AnimatedSprite2D.animation_finished
await get_tree().create_timer(0.1).timeout
queue_free()
func _on_area_2d_body_entered(body: Node2D) -> void:
if not closed:
damage_target(body)
closed = true
$AnimatedSprite2D.play("close")
await $AnimatedSprite2D.animation_finished
await get_tree().create_timer(0.1).timeout
queue_free()