diff --git a/lib/src/core/util/balance_constants.dart b/lib/src/core/util/balance_constants.dart index 0b86ff3..8e21882 100644 --- a/lib/src/core/util/balance_constants.dart +++ b/lib/src/core/util/balance_constants.dart @@ -144,14 +144,14 @@ class MonsterBaseStats { /// 레벨 기반 기본 스탯 생성 /// /// HP: 50 + level * 20 + (level^2 / 5) - /// ATK: 5 + level * 3 + /// ATK: 3 + level * 2 (초반 생존율 개선을 위해 약화) /// DEF: 2 + level * 2 /// EXP: 10 + level * 5 /// GOLD: 5 + level * 3 factory MonsterBaseStats.forLevel(int level) { return MonsterBaseStats( hp: 50 + level * 20 + (level * level ~/ 5), - atk: 5 + level * 3, + atk: 3 + level * 2, def: 2 + level * 2, exp: 10 + level * 5, gold: 5 + level * 3, diff --git a/lib/src/features/new_character/new_character_screen.dart b/lib/src/features/new_character/new_character_screen.dart index 6a8f5ef..d98d9e9 100644 --- a/lib/src/features/new_character/new_character_screen.dart +++ b/lib/src/features/new_character/new_character_screen.dart @@ -222,9 +222,9 @@ class _NewCharacterScreenState extends State { // HP/MP 초기값 계산 // 원본 공식: Random(8) + CON/6 → 약 1~10 HP (너무 낮음) - // 수정 공식: 50 + Random(8) + CON → 약 60~76 HP (전투 생존 가능) + // 수정 공식: 65 + Random(8) + CON → 약 68~91 HP (사망률 ~10% 목표) // 이유: 원본 PQ는 "항상 승리"하지만 이 게임은 실제 전투로 사망 가능 - final hpMax = 50 + math.Random().nextInt(8) + _con; + final hpMax = 65 + math.Random().nextInt(8) + _con; final mpMax = 30 + math.Random().nextInt(8) + _int; // 원본 Main.pas:1375-1379 - 기본 롤 값 그대로 저장 (보너스 없음)