feat: 플레이어 탱킹 및 지원 스킬 1차 구현
- 도발, 방어 태세, 철벽 스킬과 위협 생성 배율 시스템을 추가 - 치유, 광역 치유, 보호막 스킬과 관련 이상상태/이펙트 자산을 구성 - 보호막 흡수 로직과 체력 HUD 보너스 표시를 PlayerNetworkController, PlayerHUD, StatBar에 반영 - 플레이어 프리팹 슬롯과 디버그 메뉴를 확장해 탱킹·지원 스킬 검증 경로를 추가 - Unity 컴파일과 런타임 테스트에서 도발, 치유, 광역 치유, 보호막 발동 및 보호막 수치 적용을 확인
This commit is contained in:
@@ -22,6 +22,8 @@ namespace Colosseum.Skills
|
||||
[SerializeField] protected AreaCenterType areaCenter = AreaCenterType.Caster;
|
||||
[SerializeField] protected AreaShapeType areaShape = AreaShapeType.Sphere;
|
||||
[SerializeField] protected LayerMask targetLayers;
|
||||
[Tooltip("Area 범위 효과일 때 시전자 본인 포함 여부")]
|
||||
[SerializeField] protected bool includeCasterInArea = false;
|
||||
|
||||
[Header("Sphere Settings")]
|
||||
[Min(0.1f)] [SerializeField] protected float areaRadius = 3f;
|
||||
@@ -42,6 +44,7 @@ namespace Colosseum.Skills
|
||||
public float FanOriginDistance => fanOriginDistance;
|
||||
public float FanRadius => fanRadius;
|
||||
public float FanHalfAngle => fanHalfAngle;
|
||||
public bool IncludeCasterInArea => includeCasterInArea;
|
||||
|
||||
/// <summary>
|
||||
/// 스킬 시전 시 호출
|
||||
@@ -115,7 +118,7 @@ namespace Colosseum.Skills
|
||||
HashSet<GameObject> processedTargets = new HashSet<GameObject>();
|
||||
foreach (var hit in hits)
|
||||
{
|
||||
if (hit.gameObject == caster) continue;
|
||||
if (!includeCasterInArea && hit.gameObject == caster) continue;
|
||||
if (!IsCorrectTeam(caster, hit.gameObject)) continue;
|
||||
if (processedTargets.Contains(hit.gameObject)) continue;
|
||||
// 부채꼴 판정
|
||||
|
||||
Reference in New Issue
Block a user