Commit 1a214bb6 authored by Gavin An's avatar Gavin An

공격 애니매이션 끝에서 어색해지는 부분 수정

parent f9a6f885
......@@ -88,8 +88,8 @@ func _physics_process(delta: float) -> void:
if dist > chase_threshold:
_target_monster = null
# 2. 적 자동 탐색 (타겟이 없고 수동 강제 이동 방지 쿨다운이 완료 경우)
if not _target_monster and _auto_target_cooldown <= 0.0:
# 2. 적 자동 탐색 (타겟이 없고 수동 강제 이동 방지 쿨다운이 완료, 공격 쿨다운이 끝난 경우)
if not _target_monster and _auto_target_cooldown <= 0.0 and _attack_lock_timer <= 0.0:
_find_nearest_target()
# 3. 상태에 따른 AI 동작 분기 (XZ 수평 속도를 velocity에 세팅)
......
......@@ -54,12 +54,10 @@ func _try_attack() -> void:
# 실제 Attack 애니메이션 길이와 현재 쿨다운을 함께 보아 모션 유지 시간을 계산합니다.
# 쿨다운 전체를 락으로 쓰지 않고 약간의 회복 구간을 남겨 다음 공격이 딱딱 끊기지 않게 합니다.
_attack_lock_timer = _get_dwarf_attack_lock_duration()
var target_ref: Node3D = _target_monster
var damage_amount: float = unit_data.damage
var damage_delay: float = _attack_lock_timer * DWARF_ATTACK_DAMAGE_RATIO
_set_melee_move_lock_until_hit(damage_delay)
# 도끼가 몸 앞쪽으로 떨어지는 구간에 데미지가 들어가도록 지연시켜 시각적 타격감과 판정을 맞춥니다.
if damage_delay > 0.0:
get_tree().create_timer(damage_delay).timeout.connect(
......@@ -111,7 +109,6 @@ func _update_animations() -> void:
var fallback_anim: String = "Armature|Armature|Basic_Jump|baselayer"
if not _model_anim_player.has_animation(fallback_anim):
return
if _attack_lock_timer > 0.0:
target_anim = fallback_anim
play_speed = 2.5
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment