99 lines
3.6 KiB
Markdown
99 lines
3.6 KiB
Markdown
# [RAW LOG] 2026-04-22 — Crafting System Full Activation
|
||
|
||
## 작업 개요
|
||
- 날짜: 2026-04-22
|
||
- 세션: Skybound Crafting Economy Full Integration (Option B)
|
||
- Git: `facb2ba` → `9e0110d`
|
||
|
||
---
|
||
|
||
## 1. 감사 결과 (진단)
|
||
|
||
| 항목 | 이전 상태 |
|
||
|------|----------|
|
||
| `mergeEquipment()` | ✅ HangarOverlay에서만 연결됨 |
|
||
| `cosmicCast()` | ❌ 호출처 없음 |
|
||
| `astralForge()` | ❌ 호출처 없음 |
|
||
| `disassemble()` | ❌ 호출처 없음 |
|
||
| `mergeTechPart()` | ❌ 호출처 없음 |
|
||
| `techParts`, `materials` 상태 | ❌ 선언만 있고 실제 데이터 입출력 없음 |
|
||
|
||
---
|
||
|
||
## 2. 구현 내역
|
||
|
||
### A. `useGameStore.ts` — 크래프팅 액션 전면 활성화
|
||
- `addMaterials(mats)`: TechMats/Core 획득 시 상태 누적
|
||
- `addTechPart(part)`: 드롭된 TechPart 인벤토리 추가
|
||
- `disassembleItems(ids)`: 선택 아이템 일괄 분해 → 재료 획득 + 슬롯 해제
|
||
- `cosmicCastAction()`: 재료(Eternal×50, Destruction×50, Tech×2000) 소모 → SS급 장비 생성
|
||
- `astralForgeAction(targetId, sacrificeId)`: LEGEND/SS 대상 + S급 희생 → forgeLevel +1
|
||
- `mergeTechPartAction(targetId, fodderIds)`: 동일 티어/스킬 TechPart 합성 → plusLevel +1
|
||
|
||
### B. `HangarOverlay.tsx` — 5탭 크래프팅 UI 전면 재작성
|
||
| 탭 | 기능 |
|
||
|----|------|
|
||
| 🔩 EQUIP | 기존 장착 슬롯 + 인벤토리 |
|
||
| ⬆ MERGE | 장비 합성(3개) + TechPart 합성(2개) |
|
||
| 🔧 DISASSEMBLE | 선택 아이템 분해 + 재료 미리보기 |
|
||
| ✦ COSMIC CAST | SS급 제작 재료 요구량 체크 + 실행 |
|
||
| ⚒ FORGE | TARGET/SACRIFICE 슬롯 선택 → forgeLevel +1 |
|
||
|
||
- 재료 패널(TechMats, Eternal, Destruction, Relic)을 좌측 패널에 항상 표시
|
||
- Feedback Toast: 성공/실패 3초 표시
|
||
|
||
### C. `HangarOverlay.css` — 새 스타일 추가
|
||
- `.craft-tabs`, `.craft-tab-btn` — 5탭 네비게이션
|
||
- `.materials-panel`, `.mat-grid` — 재료 표시
|
||
- `.disassemble-preview` — 분해 미리보기 패널
|
||
- `.cosmic-recipe`, `.cosmic-result-preview` — 코스믹 캐스트
|
||
- `.forge-slots`, `.forge-slot-box` — 포지 슬롯 UI
|
||
- `.craft-feedback` — 피드백 토스트 애니메이션
|
||
- `.tech-list`, `.tech-row` — TechPart 목록
|
||
|
||
### D. `CombatSystem.ts` — 재료 드롭 연결
|
||
- 일반 적: 3% 확률 TechMats 10~30 획득
|
||
- 엘리트 적: 10% 확률 TechMats 50~100 획득 + 파란 텍스트 알림
|
||
- 엘리트 적: 5% 확률 TechPart 드롭 → 보라색 텍스트 알림
|
||
|
||
### E. `LootGenerator.ts` — `rollTechPart()` 신규 추가
|
||
- 6종 스킬 풀: fire_rate / speed_boost / magnet_range / damage_up / shield / missile
|
||
- 스테이지 연동 티어: Stage 1-2→EXCELLENT, 3-4→EPIC, 5+→LEGEND
|
||
|
||
---
|
||
|
||
## 3. 경제 흐름 (완성된 파이프라인)
|
||
|
||
```
|
||
적 처치 (일반 3% / 엘리트 10%)
|
||
↓
|
||
addMaterials({ techMats })
|
||
↓
|
||
HangarOverlay [DISASSEMBLE 탭] → 불필요 장비 분해 → Eternal/Destruction Core 획득
|
||
↓
|
||
HangarOverlay [COSMIC CAST 탭] → 코스믹 캐스트 → SS급 장비 생성
|
||
↓
|
||
HangarOverlay [FORGE 탭] → SS/LEGEND 장비 forgeLevel +1~5
|
||
|
||
엘리트 처치 (5%)
|
||
↓
|
||
addTechPart()
|
||
↓
|
||
HangarOverlay [MERGE 탭] → TechPart 합성 → plusLevel +1
|
||
```
|
||
|
||
---
|
||
|
||
## 4. TypeScript & Git
|
||
- `npx tsc --noEmit`: **에러 0개 ✅**
|
||
- Commit: `feat_crafting_full_ui_economy` (`9e0110d`)
|
||
- Push: `main` ✅
|
||
|
||
---
|
||
|
||
## 5. 다음 과제 (Next Steps)
|
||
1. **보스 처치 시 Eternal/Destruction Core 보장 드롭** 추가
|
||
2. **코스믹 캐스트 결과 다양화** — Twin Lance 외 랜덤 SS급 풀 확장
|
||
3. **TechPart 효과 실제 반영** — 인게임 스탯에 plusLevel 반영 로직
|
||
4. **UI 시각 검증** — `http://localhost:5174/` 5탭 동작 확인
|