# 행운(Luck) 시스템 구현 (Luck System) ## 목표 아이템 옵션을 통해 플레이어의 행동(공격/방어) 성공 확률을 높여주는 '행운(Luck)' 스탯을 구현합니다. ## 구현 계획 ### 1. 데이터 모델 변경 - **`lib/game/model/item.dart`**: `Item` 클래스에 `final int luck` 필드 추가 (기본값 0). - **`lib/game/data/item_table.dart`**: `ItemTemplate` 클래스에 `luck` 필드 추가 및 JSON 파싱 로직 업데이트. - **`assets/data/items.json`**: 아이템 데이터에 `"luck"` 필드 지원 (기존 아이템은 0 또는 생략 가능). ### 2. 캐릭터 모델 변경 (`lib/game/model/entity.dart`) - `Character` 클래스에 `int get totalLuck` getter 추가. - 장착된 모든 아이템의 `luck` 합계를 반환. ### 3. 전투 로직 변경 (`lib/providers/battle_provider.dart`) - `playerAction` 메서드에서 성공 여부 계산 시 `totalLuck` 반영. - 기본 성공률 + (totalLuck / 100.0). - 예: Luck 5 = +5% 성공률. ### 4. UI 구현 (UI Implementation) - **인벤토리 화면 (`lib/screens/inventory_screen.dart`):** - 플레이어 스탯 정보 상단에 `Luck` 수치 표시 (초록색). - 아이템 정보에 `luck` 보너스가 있는 경우 `+N Luck` 표시. - **전투 화면 (`lib/screens/battle_screen.dart`):** - 행동 선택(Risk Selection) 다이얼로그에서 표시되는 성공 확률에 행운 수치 반영. - **확률 제한 (Cap):** 표시되는 확률과 실제 적용되는 확률 모두 **100% (1.0)를 초과하지 않도록 제한**. ## 기대 효과 - 플레이어가 "행운의 부적" 같은 아이템을 장착하여 Risky 행동의 성공률을 높일 수 있습니다. - 전략적 선택지(깡스탯 vs 확률 보정)가 늘어납니다. - UI를 통해 자신의 행운 수치와 실제 적용되는 확률을 직관적으로 확인할 수 있습니다.