1.3 KiB
1.3 KiB
54. 접두사 테이블 리팩토링 (Prefix Table Refactoring)
1. 목표 (Goal)
ItemTable에 하드코딩되어 있던 Normal 등급 접두사 로직(이름, 배율, 확률)을ItemPrefixTable로 이동하여 데이터 기반으로 관리합니다.ItemModifier클래스를 확장하여 스탯 배율(multiplier)과 가중치(weight)를 지원하도록 개선합니다.
2. 구현 상세 (Implementation Details)
ItemPrefixTable 개선
ItemModifier구조 변경:multiplier: 퍼센트 기반 스탯 변경을 위한 필드 추가 (기본값 1.0).weight: 랜덤 선택 가중치를 위한 필드 추가 (기본값 1).
normalPrefixes데이터 추가:- Crude (0.9, weight 25)
- Old (0.95, weight 25)
- Standard (1.0, weight 25, empty prefix)
- High-quality (1.1, weight 25)
ItemTable 로직 수정
createItem메서드:- 하드코딩된
if-else확률 로직을 제거. ItemPrefixTable.normalPrefixes를 사용하여 가중치 기반 랜덤 선택(Weighted Random Selection) 알고리즘 구현.- 선택된 Modifier의
multiplier를 적용하여 스탯 계산.
- 하드코딩된
3. 결과 (Result)
- 접두사 데이터 추가 및 밸런스 조정이
ItemPrefixTable수정만으로 가능해졌습니다. - 코드 중복이 줄어들고 확장성이 향상되었습니다.