feat(ui): HP/MP 바 개선 및 전투 시스템 UI 업데이트

- HP/MP 변화 시 플래시 효과 및 변화량 표시 추가
- 전투 중 몬스터 HP 바 표시 기능 추가
- 몬스터 HP 바 Row 오버플로우 버그 수정 (Flexible 적용)
- 전투 상태 및 이벤트 모델 개선
- 캐릭터 애니메이션 및 전투 컴포저 업데이트
This commit is contained in:
JiWoong Sul
2025-12-18 18:10:22 +09:00
parent 45147da5ec
commit cf8fdaecde
14 changed files with 1220 additions and 153 deletions

View File

@@ -154,12 +154,12 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
// 게임에 사용할 새 RNG 생성
final gameSeed = math.Random().nextInt(0x7FFFFFFF);
// 원본 Main.pas:1380-1381 - 기본 롤 값(CON.Tag, INT.Tag)만 사용
// 종족/직업 보너스는 스탯에 적용되지 않음 (UI 힌트용)
// Put(Stats,'HP Max',Random(8) + CON.Tag div 6);
// Put(Stats,'MP Max',Random(8) + INT.Tag div 6);
final hpMax = math.Random().nextInt(8) + _con ~/ 6;
final mpMax = math.Random().nextInt(8) + _int ~/ 6;
// HP/MP 초기값 계산
// 원본 공식: Random(8) + CON/6 → 약 1~10 HP (너무 낮음)
// 수정 공식: 50 + Random(8) + CON → 약 60~76 HP (전투 생존 가능)
// 이유: 원본 PQ는 "항상 승리"하지만 이 게임은 실제 전투로 사망 가능
final hpMax = 50 + math.Random().nextInt(8) + _con;
final mpMax = 30 + math.Random().nextInt(8) + _int;
// 원본 Main.pas:1375-1379 - 기본 롤 값 그대로 저장 (보너스 없음)
final finalStats = Stats(