The_Dark_Side_of_Earth/player/sword.gd
2025-09-16 18:01:04 +02:00

26 lines
608 B
GDScript

extends Area2D
var anim_sprite: AnimatedSprite2D
var slash_duration = 0.1
var slash_timer = 0
var damage = 20
var facing = -1
func _ready() -> void:
anim_sprite = $AnimatedSprite2D
func swing() -> void:
facing = -get_parent().facing
scale.x = facing
anim_sprite.visible = true
await get_tree().create_timer(0.01).timeout
slash_timer = slash_duration
func _physics_process(delta: float) -> void:
if slash_timer > 0:
slash_timer = max(0, slash_timer-delta)
if(slash_timer == 0):
anim_sprite.visible = false
for area in get_overlapping_areas():
area.hurt(damage, Vector2(-facing, 0))