game/prompt/35_enemy_equipment_system.md

1.4 KiB

적 장비 시스템 구현 (Enemy Equipment System)

목표

적에게 아이템을 장착시켜 전투의 다양성을 높이고, 아이템 데이터 구조를 개선합니다.

주요 변경 사항

1. 데이터 구조 개선

  • assets/data/items.json: 모든 아이템에 고유 id 필드를 추가했습니다. (예: "id": "rusty_dagger")
  • assets/data/enemies.json: 적 정보에 equipment 필드(아이템 ID 리스트)를 추가했습니다. (예: Goblinrusty_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 설정만으로 적에게 다양한 장비를 입혀 스탯과 특수 효과(출혈, 스턴 등)를 부여할 수 있습니다.