extends Area2D var anim_sprite: AnimatedSprite2D var slash_duration = 0.1 var slash_timer = 0 var damage = 20 var facing = -1 var facing_mult = 1 func _ready() -> void: anim_sprite = $AnimatedSprite2D get_parent().attack.connect(swing) func swing() -> void: facing = - get_parent().facing * facing_mult scale.x = abs(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, -get_parent().earth_aligner.global_from_local(Vector2(-facing, 0)))