feat: 피격 반응 면역을 경직/넉백/다운으로 분리
- 상태이상 데이터와 관리자에서 단일 피격 면역을 경직, 넉백, 다운 개별 면역으로 분리 - 플레이어 프리팹과 디버그 메뉴, 공용 경직 애니메이션을 갱신해 분리된 면역 상태를 테스트 가능하게 정리 - PlayMode 테스트를 추가해 각 면역이 대응하는 반응만 차단하는지 검증
This commit is contained in:
@@ -84,9 +84,19 @@ namespace Colosseum.Player
|
||||
public bool IsStaggered => isStaggered.Value;
|
||||
|
||||
/// <summary>
|
||||
/// 피격 반응 무시 상태 여부
|
||||
/// 경직 면역 상태 여부
|
||||
/// </summary>
|
||||
public bool IsHitReactionImmune => abnormalityManager != null && abnormalityManager.IsHitReactionImmune;
|
||||
public bool IsStaggerImmune => abnormalityManager != null && abnormalityManager.IsStaggerImmune;
|
||||
|
||||
/// <summary>
|
||||
/// 넉백 면역 상태 여부
|
||||
/// </summary>
|
||||
public bool IsKnockbackImmune => abnormalityManager != null && abnormalityManager.IsKnockbackImmune;
|
||||
|
||||
/// <summary>
|
||||
/// 다운 면역 상태 여부
|
||||
/// </summary>
|
||||
public bool IsDownImmune => abnormalityManager != null && abnormalityManager.IsDownImmune;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -121,7 +131,7 @@ namespace Colosseum.Player
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (IsHitReactionImmune || isDowned.Value)
|
||||
if (IsStaggerImmune || isDowned.Value)
|
||||
return;
|
||||
|
||||
if (duration <= 0f)
|
||||
@@ -153,7 +163,7 @@ namespace Colosseum.Player
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (IsHitReactionImmune || isDowned.Value)
|
||||
if (IsKnockbackImmune || isDowned.Value)
|
||||
return;
|
||||
|
||||
if (duration <= 0f || worldVelocity.sqrMagnitude <= 0.0001f)
|
||||
@@ -187,7 +197,7 @@ namespace Colosseum.Player
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (IsHitReactionImmune)
|
||||
if (IsDownImmune)
|
||||
return;
|
||||
|
||||
downRemainingTime = Mathf.Max(downRemainingTime, duration);
|
||||
|
||||
Reference in New Issue
Block a user