feat: 보호막 타입 분리 및 드로그 시그니처 전조 정리

- 보호막을 단일 수치에서 타입별 독립 인스턴스 구조로 리팩터링하고 같은 타입만 갱신되도록 정리
- 플레이어/보스 보호막 상태를 이상상태와 연동해 HUD 및 보스 UI에서 타입별로 식별 가능하게 보강
- 드로그 집행 개시 전조를 집행 준비 이상상태 기반으로 재구성하고 관련 데이터와 보스 컨텍스트를 정리
- 전투 밸런스 계측기와 디버그 메뉴를 추가해 피해, 치유, 보호막, 위협, 패턴 사용량 측정 경로를 마련
- 테스트용 보호막 A/B와 시그니처 전조 자산을 추가하고 기본 포트 7777 원복 후 빌드 및 런타임 검증을 완료
This commit is contained in:
2026-03-26 11:19:19 +09:00
parent 3db8acfaaa
commit aaa7d2d6a7
31 changed files with 2327 additions and 693 deletions

View File

@@ -68,9 +68,26 @@ namespace Colosseum.Abnormalities
[Tooltip("플레이어 HUD의 이상상태 UI에 표시할지 여부")]
public bool showInUI = true;
[Tooltip("보호막 계열 상태인지 여부 (보호막 인스턴스 동기화용)")]
public bool isShieldState = false;
[Tooltip("활성 중에는 일반 피격 반응(경직, 넉백, 다운)을 무시할지 여부")]
public bool ignoreHitReaction = false;
[Header("시각 효과")]
[Tooltip("이상 상태가 유지되는 동안 대상에 붙일 루핑 VFX 프리팹")]
public GameObject loopingVfxPrefab;
[Tooltip("루핑 VFX 위치 보정값")]
public Vector3 loopingVfxOffset = Vector3.zero;
[Tooltip("루핑 VFX 스케일 배율")]
[Min(0.01f)]
public float loopingVfxScaleMultiplier = 1f;
[Tooltip("루핑 VFX를 대상의 자식으로 붙일지 여부")]
public bool parentLoopingVfxToTarget = true;
[Header("스탯 수정자")]
[Tooltip("스탯에 적용할 수정자 목록")]
public List<AbnormalityStatModifier> statModifiers = new List<AbnormalityStatModifier>();
@@ -110,6 +127,11 @@ namespace Colosseum.Abnormalities
/// </summary>
public bool HasControlEffect => controlType != ControlType.None;
/// <summary>
/// 유지형 루핑 VFX가 있는지 확인
/// </summary>
public bool HasLoopingVfx => loopingVfxPrefab != null;
/// <summary>
/// 받는 피해 배율 변경 여부
/// </summary>