2.2 KiB
2.2 KiB
아이템 테이블 구축 및 보상 시스템 개편
목표
하드코딩된 랜덤 아이템 생성 로직을 제거하고, 사전에 정의된 **아이템 드랍 테이블(Item Drop Table)**을 기반으로 보상을 생성하도록 시스템을 개편합니다. 또한, 게임 시작 시 기본 장비 지급 로직을 공식화합니다.
요청 사항
1. 아이템 데이터 테이블 생성
부위별로 다양한 아이템의 이름과 스탯 옵션을 정의하는 데이터 구조(List 또는 Map)를 만들어주세요. 각 아이템은 고정된 이름과 기본 스탯 범위를 가지거나, 티어별로 구분될 수 있습니다.
예시 데이터 구조 (개념):
- Weapons:
- "Rusty Sword" (ATK +3)
- "Iron Sword" (ATK +8)
- "Steel Claymore" (ATK +15)
- Armors:
- "Tattered Shirt" (HP +10)
- "Leather Vest" (HP +30)
- "Chainmail" (HP +60)
- Shields:
- "Wooden Lid" (DEF +2)
- "Round Shield" (DEF +5)
- "Tower Shield" (DEF +10)
- Accessories:
- "Old Ring" (ATK +1, HP +5)
- "Ruby Ring" (ATK +5, HP +10)
2. 스테이지 보상 로직 변경
- 기존:
Random으로 이름과 수치를 즉석에서 생성. - 변경:
- 정의된 아이템 테이블에서 3개의 아이템을 무작위로 선택합니다. (중복 방지 권장)
- 스테이지가 높아질수록 더 좋은 아이템이 나올 확률을 높이거나, 테이블 자체가 스테이지별로 나뉘어 있다면 해당 스테이지 그룹에서 선택합니다. (단순하게는 전체 풀에서 랜덤 선택하되, 스탯에
stage변수를 약간 반영하여 강화된 상태로 드랍되게 할 수도 있습니다.)
3. 초기 장비 지급 (이미 적용됨, 확인 차원)
- 게임 시작(
initializeBattle) 시, 플레이어에게 다음 기본 장비 세트를 지급하고 자동 장착시킵니다.- Weapon: Wooden Sword (ATK+5)
- Armor: Leather Armor (HP+20)
- Shield: Wooden Shield (DEF+3)
- Accessory: Copper Ring (ATK+1, HP+5)
관련 파일
lib/game/data/item_table.dart(새로 생성 필요: 아이템 데이터 관리)lib/providers/battle_provider.dart(보상 생성 로직 수정)