feat: 무적 이상상태 기반 구르기 스킬 정리
- 무적 이상상태 데이터와 효과 에셋을 추가 - 구르기를 일반 스킬이 무적 상태를 부여하는 구조로 변경 - 대미지 처리와 플레이어 상태 판정이 무적 이상상태를 참조하도록 정리
This commit is contained in:
@@ -56,10 +56,9 @@ namespace Colosseum.Player
|
||||
public SkillData CurrentSkill => skillController != null ? skillController.CurrentSkill : null;
|
||||
|
||||
/// <summary>
|
||||
/// 현재 시전 중인 스킬이 회피 스킬일 때의 회피 상태 여부.
|
||||
/// 침묵은 회피 상태 자체를 끊지 않으며, 회피 스킬의 신규 사용만 막습니다.
|
||||
/// 무적 이상상태 여부
|
||||
/// </summary>
|
||||
public bool IsEvading => IsCastingSkill && CurrentSkill != null && CurrentSkill.IsEvadeSkill;
|
||||
public bool IsDamageImmune => abnormalityManager != null && abnormalityManager.IsInvincible;
|
||||
|
||||
/// <summary>
|
||||
/// 입력을 받아도 되는지 여부
|
||||
@@ -79,23 +78,20 @@ namespace Colosseum.Player
|
||||
/// <summary>
|
||||
/// 일반 스킬 시작 가능 여부
|
||||
/// </summary>
|
||||
public bool CanUseSkills => CanReceiveInput && !IsStunned && !IsSilenced && !IsEvading && !BlocksSkillUseForCurrentSkill();
|
||||
public bool CanUseSkills => CanReceiveInput && !IsStunned && !IsSilenced && !BlocksSkillUseForCurrentSkill();
|
||||
|
||||
/// <summary>
|
||||
/// 특정 스킬의 시작 가능 여부.
|
||||
/// 회피 스킬도 일반 스킬과 같은 시작 판정을 사용하되, 현재 시전 중인 스킬의 회피 차단 정책을 따릅니다.
|
||||
/// 스킬 이름과 무관하게 동일한 시작 규칙을 사용합니다.
|
||||
/// </summary>
|
||||
public bool CanStartSkill(SkillData skill)
|
||||
{
|
||||
if (skill == null)
|
||||
return false;
|
||||
|
||||
if (!CanReceiveInput || IsStunned || IsSilenced || IsEvading)
|
||||
if (!CanReceiveInput || IsStunned || IsSilenced)
|
||||
return false;
|
||||
|
||||
if (skill.IsEvadeSkill)
|
||||
return !BlocksEvadeForCurrentSkill();
|
||||
|
||||
return !BlocksSkillUseForCurrentSkill();
|
||||
}
|
||||
|
||||
@@ -148,13 +144,5 @@ namespace Colosseum.Player
|
||||
|
||||
return CurrentSkill == null || CurrentSkill.BlockOtherSkillsWhileCasting;
|
||||
}
|
||||
|
||||
private bool BlocksEvadeForCurrentSkill()
|
||||
{
|
||||
if (!IsCastingSkill)
|
||||
return false;
|
||||
|
||||
return CurrentSkill == null || CurrentSkill.BlockEvadeWhileCasting;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user