# [TECH-REPORT] Skybound Boss Battle Architecture (v1.0)
**Date**: 2026-04-22  
**Author**: Antigravity (Dev Lead)  
**Status**: COMPLETED / STABLE  

## 1. 개요 (Overview)
Skybound Protocol의 8단계 캠페인 시스템 완성을 위한 '데이터 주도형 보스 전투 시스템'의 구현 상세를 기록한다. 본 시스템은 하드코딩된 보스 로직을 탈피하고, 외부 레지스트리 기반의 페이즈 제어 및 플레이어 숙련도(Mastery)에 따른 최종 보스 분기 로직을 핵심으로 한다.

## 2. 주요 구현 사항 (Key Implementations)

### 2.1 기체별 데미지 감쇄 시스템 (Damage Mitigation)
- **목적**: 기체(Airframe)별 개성을 강화하고 생존 전략의 차별화 제공.
- **로직**: `CombatSystem.ts` 내 피격 판정 시 `GAME_BALANCE`의 감쇄율 적용.
- **수치**:
    - **FALCON**: 탄환 -17% / 충돌 -34%
    - **RAYCE**: 탄환 -13% / 충돌 -26%

### 2.2 보스 레지스트리 아키텍처 (Boss Registry)
- **파일**: `src/features/game/config/bossRegistry.ts`
- **역할**: 스테이지별 보스 데이터(이름, ID, 페이즈 구성, 패턴 밀도)의 Single Source of Truth.
- **특징**: `resolveNextPhase()` 유틸리티를 통해 HP 임계값, 부하 기체 전멸(`MINIONS_CLEARED`), 부품 파괴 등 다양한 조건에 따른 동적 페이즈 전환 지원.

### 2.3 최종 보스 분기 로직 (Mastery Branching)
- **위치**: `StageDirectorSystem.ts` -> `instantiateBoss()`
- **조건**: 인게임 모든 업그레이드(6종)가 **Level 10 (Mastery)**에 도달했는지 체크.
- **분기**:
    - **Normal**: 험프티 덤프티 (Humpty Dumpty)
    - **Mastery**: 디바인 램파트 (Divine Rampart) - 기본 체력 1.5배 증가 및 4단계 페이즈 구성.

## 3. 데이터 구조 (Data Structure)

```typescript
export interface BossPhase {
  phaseIndex: number;
  attackPatterns: Pattern[];
  transformationTrigger: 'HP_THRESHOLD' | 'ALL_PARTS_DESTROYED' | 'MINIONS_CLEARED' | null;
  hpThreshold: number | null;
}
```

## 4. 향후 유지보수 가이드 (Maintenance)
- **보스 추가**: `bossRegistry.ts`의 `BOSS_REGISTRY` 배열에 신규 `BossDefinition`을 추가하는 것만으로 신규 보스 및 페이즈 설계 가능.
- **밸런스 조정**: `balance.ts`의 `PLAYER.AIRFRAMES` 섹션에서 감쇄율 수치 즉시 조정 가능.

---
**Approval Status**: 🫡 (Kodari Approved)

## 🔗 Knowledge Connections
### Related Concepts (Auto-Linked)
* [[Architecture]]
* [[Single_Source_of_Truth]]
