feat: 경직 면역 기반 시전 보호 및 지원 스킬 안정성 보강
- 경직 면역 이상상태와 시전 시작 효과를 추가해 철벽, 방어 태세, 치유, 광역 치유, 보호막에 데이터 기반 시전 보호를 연결 - AbnormalityManager와 HitReactionController가 경직 면역 상태를 존중하도록 보강해 일반 피격 반응으로 인한 즉시 취소를 줄임 - SkillData에 castStartEffects를 추가하고 SkillController가 시전 시작 효과를 실행하도록 확장 - 드로그전 재검증에서 철벽, 치유, 광역 치유가 실제 전투 중 취소 없이 완료되는 것을 확인하고 보호막의 후속 피격 체감을 추가 점검 대상으로 정리 - HUD/문서 반영 과정에서 필요한 TMP_MaruBuri, TMP_SuseongBatang 아틀라스 갱신을 함께 포함
This commit is contained in:
@@ -2,6 +2,7 @@ using UnityEngine;
|
||||
|
||||
using Unity.Netcode;
|
||||
|
||||
using Colosseum.Abnormalities;
|
||||
using Colosseum.Skills;
|
||||
|
||||
namespace Colosseum.Player
|
||||
@@ -24,6 +25,9 @@ namespace Colosseum.Player
|
||||
[Tooltip("플레이어 네트워크 상태")]
|
||||
[SerializeField] private PlayerNetworkController networkController;
|
||||
|
||||
[Tooltip("이상상태 관리자")]
|
||||
[SerializeField] private AbnormalityManager abnormalityManager;
|
||||
|
||||
[Tooltip("피격 애니메이션을 재생할 Animator")]
|
||||
[SerializeField] private Animator animator;
|
||||
|
||||
@@ -54,6 +58,11 @@ namespace Colosseum.Player
|
||||
/// </summary>
|
||||
public bool IsKnockbackActive => playerMovement != null && playerMovement.IsForcedMoving;
|
||||
|
||||
/// <summary>
|
||||
/// 피격 반응 무시 상태 여부
|
||||
/// </summary>
|
||||
public bool IsHitReactionImmune => abnormalityManager != null && abnormalityManager.IsHitReactionImmune;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
ResolveReferences();
|
||||
@@ -89,6 +98,9 @@ namespace Colosseum.Player
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (IsHitReactionImmune)
|
||||
return;
|
||||
|
||||
playerMovement?.ApplyForcedMovement(worldVelocity, duration);
|
||||
|
||||
if (playHitAnimation)
|
||||
@@ -110,6 +122,9 @@ namespace Colosseum.Player
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (IsHitReactionImmune)
|
||||
return;
|
||||
|
||||
downRemainingTime = Mathf.Max(downRemainingTime, duration);
|
||||
|
||||
if (isDowned.Value)
|
||||
@@ -204,6 +219,9 @@ namespace Colosseum.Player
|
||||
if (networkController == null)
|
||||
networkController = GetComponent<PlayerNetworkController>();
|
||||
|
||||
if (abnormalityManager == null)
|
||||
abnormalityManager = GetComponent<AbnormalityManager>();
|
||||
|
||||
if (animator == null)
|
||||
animator = GetComponentInChildren<Animator>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user