refactor(core): 밸런스 상수 분리 및 진행 서비스 개선

- balance_constants.dart에 게임 밸런스 상수 정의
- ProgressService 로직 개선 및 상수 참조
This commit is contained in:
JiWoong Sul
2026-01-02 15:49:46 +09:00
parent 2ef9807cbe
commit 86b14427f6
2 changed files with 59 additions and 7 deletions

View File

@@ -416,6 +416,40 @@ class LevelTierSettings {
}
}
/// Act별 최소 몬스터 레벨 (act minimum monster level)
///
/// 플레이어 레벨과 무관하게 각 Act에서 등장하는 몬스터의 최소 레벨.
/// 저레벨 플레이어가 고Act에 도달해도 적절한 난이도 유지.
class ActMonsterLevel {
ActMonsterLevel._();
/// plotStageCount 기준 최소 몬스터 레벨
/// - 1: Prologue → 1
/// - 2: Act I → 3
/// - 3: Act II → 22
/// - 4: Act III → 45
/// - 5: Act IV → 72
/// - 6: Act V → 88
static const List<int> _minimumLevels = [
1, // index 0: unused (plotStageCount starts at 1)
1, // Prologue (plotStageCount = 1)
3, // Act I (plotStageCount = 2)
22, // Act II (plotStageCount = 3)
45, // Act III (plotStageCount = 4)
72, // Act IV (plotStageCount = 5)
88, // Act V (plotStageCount = 6)
];
/// plotStageCount에 해당하는 최소 몬스터 레벨 반환
static int forPlotStage(int plotStageCount) {
if (plotStageCount < 1) return 1;
if (plotStageCount >= _minimumLevels.length) {
return _minimumLevels.last;
}
return _minimumLevels[plotStageCount];
}
}
/// 플레이어 스탯 스케일링 (player stat scaling)
class PlayerScaling {
PlayerScaling._();