1. 주요 개선사항

 

1.1 장비 옵션 시스템 개선

 

  • 장비 옵션의 티어 시스템 구현(1-10 티어)
  • 각 티어별 가중치와 실제 표기 확률 표시 기능 추가
  • 옵션 풀 시스템에서 장비 타입별(무기/투구/방어구) 옵션 관리 구현

 

1.2 드롭 시스템 개선

 

  • 장비 드롭 시 등급별 가중치 시스템 구현
  • 장비 종류와 등급을 독립적으로 설정 가능
  • 실시간 드롭 확률 계산 및 표시

 

2. 장비 생성 플로우

 

 

3. 주요 코드 예시

 

3.1 장비 옵션 티어 시스템

 

public class EquipmentOptionData : ScriptableObject
{
    [System.Serializable]
    public class OptionTier
    {
        [ValueDropdown("GetAvailableTiers")]
        public int tier = 1;
        public StatRange range;
        public float weight = 100f;
        private float actualDropRate;

        public void UpdateDropRate(float totalWeight)
        {
            actualDropRate = (totalWeight > 0) ? 
                (weight / totalWeight) * 100f : 0f;
        }
    }
}

 

3.2 장비 드롭 시스템

 

public class EquipmentDropInfo
{
    public EquipmentSlot equipmentSlot;
    public List<GradeWeight> gradeWeights = new();

    public EquipmentGrade GetRandomGrade()
    {
        float totalWeight = gradeWeights.Sum(x => x.weight);
        float randomValue = Random.Range(0f, totalWeight);
        float currentWeight = 0f;

        foreach (var gradeWeight in gradeWeights)
        {
            currentWeight += gradeWeight.weight;
            if (randomValue <= currentWeight)
                return gradeWeight.grade;
        }
        return EquipmentGrade.Normal;
    }
}

 

4. 옵션 풀 시스템

 

 

5. 개선된 기능의 장점

 

1. 세밀한 확률 제어

 

  • 등급별 가중치로 정확한 확률 조정 가능
  • 실시간으로 실제 확률 확인 가능

 

2. 유연한 옵션 시스템

 

  • 장비 종류별 독립적인 옵션 풀 관리
  • 티어 시스템으로 옵션 강도 조절 가능

 

3. 직관적인 에디터 UI

 

  • 가중치 설정과 실제 확률이 바로 표시
  • 장비 종류별 옵션 관리가 용이

 

완성된 장비 드롭 시스템의 전체 플로우 차트

 

 

템플릿 예시

 

 

드롭테이블 가중치 시스템

 

 

옵션 티어 결정 가중치 시스템

 

 

옵션 종류 결정 가중치 시스템