32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# 53. 아이템 풀 확장 및 접두사 시스템 (Item Pool Expansion & Prefix System)
|
|
|
|
## 1. 목표 (Goal)
|
|
- 아이템 풀을 다양화하기 위해 `ItemRarity.normal`(일반 등급)을 추가합니다.
|
|
- 일반 등급 아이템의 드랍 확률을 가장 높게 설정하고, 새로운 무기 데이터(Short Bow, Long Sword)를 추가합니다.
|
|
- 일반 등급 아이템 생성 시 확률적으로 접두사(Crude, Old, High-quality)를 부여하여 스탯이 변동되는 시스템을 구현합니다.
|
|
|
|
## 2. 구현 상세 (Implementation Details)
|
|
|
|
### Enum 및 설정 업데이트
|
|
- **`ItemRarity`:** `normal` 등급 추가 (가장 낮은 등급).
|
|
- **`ThemeConfig` & `ItemUtils`:** `normal` 등급의 색상(흰색) 매핑 추가.
|
|
- **`ItemConfig`:** `defaultRarityWeights`를 수정하여 Normal 등급이 가장 높은 확률(50%)을 가지도록 조정.
|
|
|
|
### 데이터 추가 (`items.json`)
|
|
- **신규 무기:**
|
|
- `short_bow` (Tier 1, Normal)
|
|
- `long_sword` (Tier 2, Normal)
|
|
|
|
### 로직 구현 (`ItemTemplate`)
|
|
- **`createItem` 메서드 수정:**
|
|
- **Normal 등급 로직:** 0~100 주사위를 굴려 접두사 부여.
|
|
- **0-25 (Crude/조잡한):** 이름에 "Crude " 추가, 모든 스탯 -10%.
|
|
- **26-50 (Old/낡은):** 이름에 "Old " 추가, 모든 스탯 -5%.
|
|
- **51-75 (Base):** 변동 없음.
|
|
- **76-100 (High-quality/상급):** 이름에 "High-quality " 추가, 모든 스탯 +10%.
|
|
- 스탯 계산 시 `GameMath` 또는 `floor`를 사용하여 정수형 유지.
|
|
|
|
## 3. 결과 (Result)
|
|
- 초반부 아이템 획득의 다양성이 증가하고, 같은 아이템이라도 접두사에 따라 성능 차이가 발생하여 파밍의 재미가 추가되었습니다.
|
|
- `normal` 등급 아이템이 자주 등장하여 기본적인 장비 수급이 원활해졌습니다.
|