28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# 적 장비 시스템 구현 (Enemy Equipment System)
|
|
|
|
## 목표
|
|
|
|
적에게 아이템을 장착시켜 전투의 다양성을 높이고, 아이템 데이터 구조를 개선합니다.
|
|
|
|
## 주요 변경 사항
|
|
|
|
### 1. 데이터 구조 개선
|
|
|
|
- **`assets/data/items.json`**: 모든 아이템에 고유 `id` 필드를 추가했습니다. (예: `"id": "rusty_dagger"`)
|
|
- **`assets/data/enemies.json`**: 적 정보에 `equipment` 필드(아이템 ID 리스트)를 추가했습니다. (예: `Goblin`은 `rusty_dagger` 장착)
|
|
|
|
### 2. 게임 로직 업데이트
|
|
|
|
- **`lib/game/model/item.dart`**: `Item` 클래스에 `id` 필드를 추가했습니다.
|
|
- **`lib/game/data/item_table.dart`**: ID로 아이템을 조회하는 `get(String id)` 메서드를 구현했습니다.
|
|
- **`lib/game/data/enemy_table.dart`**: 적 생성(`createCharacter`) 시 `equipment` 필드에 명시된 아이템을 자동으로 인벤토리에 추가하고 장착하도록 수정했습니다.
|
|
- **`lib/providers/battle_provider.dart`**: 초기 플레이어 지급 아이템 생성 시 `id`를 포함하도록 수정했습니다.
|
|
|
|
### 3. 버그 수정
|
|
|
|
- **`lib/screens/battle_screen.dart`**: `ScrollController`가 연결되지 않아 발생하던 에러를 수정했습니다. (불필요한 컨트롤러 제거)
|
|
|
|
## 결과
|
|
|
|
이제 `enemies.json` 설정만으로 적에게 다양한 장비를 입혀 스탯과 특수 효과(출혈, 스턴 등)를 부여할 수 있습니다.
|