- CombatEvent에 attackDelayMs 필드 추가
- ProgressService에서 전투 이벤트에 공격 속도 전달
- AsciiAnimationCard에서 공격 속도 기반 페이즈 프레임 수 계산
- 200ms tick 기준으로 동적 프레임 수 (최소 2, 최대 10)
- toTitleCase 함수로 대소문자 정규화
- translateMonster 대소문자 무시 검색 지원
- translateItemNameL10n에 boringItem 번역 추가
- animationResurrecting 메시지 추가
- deathGoldRemaining → deathCoinRemaining
- HallOfFameEntry에 finalEquipmentDetails 추가 (상세 장비 정보)
- EquipmentItem/ItemStats에 toJson/fromJson 직렬화 추가
- 명예의 전당 상세 다이얼로그 UI 대폭 개선
- Canvas 타운/워킹 애니메이션 컴포저 개선
- 캐릭터 생성 화면 UI 개선
- 게임 텍스트 다국어 지원 확장
- CombatStats에 toJson/fromJson 직렬화 메서드 추가
- HallOfFameEntry에 finalStats(CombatStats) 필드 추가
- 명예의 전당 상세 다이얼로그에서 전투 스탯, 장비, 스펠 표시
- GameState에 combatStats 접근자 추가
- game_text_l10n에 명예의 전당 관련 텍스트 추가
- 21개 종족별 고유 ASCII 캐릭터 프레임 데이터 추가
- 각 종족당 5가지 상태 애니메이션: idle, prepare, attack, hit, recover
- 종족 특성에 맞는 시각적 차별화 (마법사 ~, 기사 ♦, 언데드 ☠ 등)
- 캐릭터 생성 화면 종족 미리보기 위젯 추가
- 프론트 화면 Hero vs Boss 애니메이션 개선
- 게임 플레이 화면 애니메이션 패널 연동 강화
- front_screen_animation.dart: 프론트 화면 애니메이션 추가
- settings_repository.dart: 설정 저장소 구현
- front/widgets/: 프론트 화면 위젯 분리
- mobile_carousel_layout.dart: 모바일 레이아웃 개선
- app.dart: 앱 설정 개선
- game_text_l10n.dart: 텍스트 추가
## 반응형 레이아웃
- app.dart: 화면 크기별 레이아웃 분기 로직 추가 (+173 라인)
- game_play_screen.dart: 반응형 UI 구조 개선
- layouts/, pages/ 디렉토리 추가 (새 레이아웃 시스템)
- carousel_nav_bar.dart: 캐러셀 네비게이션 바 추가
- enhanced_animation_panel.dart: 향상된 애니메이션 패널
## 저장 시스템
- save_manager.dart: 저장 관리 기능 확장
- save_repository.dart: 저장소 인터페이스 개선
- save_service.dart: 저장 서비스 로직 추가
## UI 개선
- notification_service.dart: 알림 시스템 기능 확장
- notification_overlay.dart: 오버레이 UI 개선
- equipment_stats_panel.dart: 장비 스탯 패널 개선
- cinematic_view.dart: 시네마틱 뷰 개선
- new_character_screen.dart: 캐릭터 생성 화면 개선
## 다국어
- game_text_l10n.dart: 텍스트 추가 (+182 라인)
## 테스트
- 관련 테스트 파일 업데이트
- game_text_l10n.dart: 스탯/UI 텍스트 추가 (+61 라인)
- 한국어/일본어 번역 업데이트
- game_data_l10n.dart: 텍스트 접근자 추가
- equipment_stats_panel: l10n 적용 및 레이아웃 개선
- active_buff_panel, potion_inventory_panel: 코드 정리
- new_character_screen: 코드 정리
- progress_service: 마이너 개선
## 스킬 시스템 개선
- skill_data.dart: 스킬 데이터 구조 전면 개편 (+1176 라인)
- skill_service.dart: 스킬 발동 로직 확장 및 버프 시스템 연동
- skill.dart: 스킬 모델 개선, 쿨다운/효과 타입 추가
## Canvas 애니메이션 리팩토링
- battle_composer.dart 삭제 (레거시 위젯 기반 렌더러)
- monster_colors.dart 삭제 (AsciiCell 색상 시스템으로 통합)
- canvas_battle_composer.dart: z-index 정렬 (몬스터 z=1, 캐릭터 z=2, 이펙트 z=3)
- ascii_cell.dart, ascii_layer.dart: 코드 정리
## UI/UX 개선
- hp_mp_bar.dart: l10n 적용, 몬스터 HP 바 컴팩트화
- death_overlay.dart: 사망 화면 개선
- equipment_stats_panel.dart: 장비 스탯 표시 확장
- active_buff_panel.dart: 버프 패널 개선
- notification_overlay.dart: 알림 시스템 개선
## 다국어 지원 확장
- game_text_l10n.dart: 게임 텍스트 통합 (+758 라인)
- 한국어/일본어/영어/중국어 번역 업데이트
- ARB 파일 동기화
## 게임 로직 개선
- progress_service.dart: 진행 로직 리팩토링
- combat_calculator.dart: 전투 계산 로직 개선
- stat_calculator.dart: 스탯 계산 시스템 개선
- story_service.dart: 스토리 진행 로직 개선
## 기타
- theme_preferences.dart 삭제 (미사용)
- 테스트 파일 업데이트
- class_data.dart: 클래스 데이터 정리
- JetBrains Mono 폰트 번들링 (Android/iOS 호환성)
- Paragraph 캐싱으로 GC 압박 최소화 (최대 256개 캐시)
- shouldRepaint layerVersion 기반 최적화
- willChange 동적 설정으로 메모리 절약
- 레이어 기반 합성 구조 (배경/캐릭터/몬스터/이펙트)
- hp_mp_bar 몬스터 HP 숫자 오버플로우 수정
- HallOfFameEntry 모델 및 HallOfFame 컬렉션 추가
- HallOfFameStorage 저장소 (JSON 파일 기반)
- HallOfFameScreen UI (순위별 색상/아이콘)
- 게임 클리어 시 명예의 전당 등록 처리
- FrontScreen에 명예의 전당 버튼 추가
- 클리어 축하 다이얼로그 구현
- story_data.dart: 5개 Act 스토리 텍스트 및 ASCII 아트
- story_service.dart: Act 전환/보스 조우/엔딩 이벤트 관리
- cinematic_view.dart: 풀스크린 시네마틱 UI (페이드, 스킵)
- game_play_screen.dart: 레벨 기반 Act 전환 시 시네마틱 재생
- StatsPanel: 스탯 변화 애니메이션 (증감 표시)
- CombatLog: 전투 이벤트 로그 위젯
- NotificationService: 큐 기반 알림 관리
- NotificationOverlay: 레벨업/퀘스트 완료 팝업 알림
- GamePlayScreen: 새 위젯 통합
- 몬스터 데이터 65종 추가 (총 369종)
- 레벨 54-100 엔드게임 몬스터
- 미니보스 10종, 보스 8종
- 아이템 데이터 확장 (총 440+종)
- 무기, 방어구, 방패 고급 아이템
- 주문, 속성, 보링 아이템 추가
- ASCII 애니메이션 카테고리 테마 변경
- beast/insect/humanoid → bug/malware/network
- undead/dragon/slime/demon → system/crypto/ai/boss
- 테스트 기대값 업데이트 (Phase 7 확장 반영)
- balance_constants.dart 생성
- ExpConstants: 경험치 곡선 (baseExp * 1.15^level)
- MonsterType: normal, elite, miniboss, boss, finalBoss
- MonsterTypeMultiplier: 타입별 HP/ATK/DEF/EXP/GOLD 배율
- MonsterBaseStats: 레벨 기반 몬스터 스탯 생성
- BossStats: 5개 보스 정의 (Syntax Error Dragon ~ Glitch God)
- LevelTierSettings: 구간별 난이도 설정 (초반/중반/후반/엔드게임)
- PlayerScaling: 플레이어 레벨업 시 HP/MP 스케일링
- MonsterCombatStats 통합
- MonsterBaseStats.generate() 사용하여 스탯 생성
- monsterType 매개변수 추가로 타입별 몬스터 지원
- 21개 종족 균형 재설계 (스탯 합계 = 0)
- 18개 클래스 균형 재설계 (스탯 합계 = +3)
- Traits에 raceId, classId 필드 추가
- 저장/불러오기에 종족/클래스 ID 추가
- 캐릭터 생성 UI에서 RaceData/ClassData 사용
- 선택 시 스탯 보정 및 패시브 정보 표시
- DeathInfo, DeathCause 클래스 정의 (game_state.dart)
- 사망 원인, 상실 장비 수, 사망 시점 정보 기록
- ShopService 구현 (shop_service.dart)
- 장비 가격 계산 (레벨 * 50 * 희귀도 배율)
- 슬롯별 장비 생성 (프로그래밍 테마)
- 자동 구매 (빈 슬롯에 Common 장비)
- ResurrectionService 구현 (resurrection_service.dart)
- 사망 처리: 모든 장비 상실, 기본 무기만 유지
- 부활 처리: HP/MP 회복, 자동 장비 구매
- progress_service.dart 사망 판정 로직 추가
- 전투 중 HP <= 0 시 사망 처리
- ProgressTickResult에 playerDied 플래그 추가
- progress_loop.dart 사망 시 루프 정지
- onPlayerDied 콜백 추가
- 사망 상태에서 틱 진행 방지
- DeathOverlay 위젯 구현 (death_overlay.dart)
- ASCII 스컬 아트, 사망 원인, 상실 정보 표시
- 부활 버튼
- GameSessionController 사망/부활 상태 관리
- GameSessionStatus.dead 상태 추가
- resurrect() 메서드로 부활 처리
- Skill, SkillType, BuffEffect, SkillState, SkillUseResult 클래스 정의 (skill.dart)
- SkillSystemState를 GameState에 통합 (activeBuffs, skillStates, elapsedMs)
- 프로그래밍 테마 스킬 데이터 정의 (skill_data.dart)
- 공격: Debug Strike, Memory Leak, Core Dump, Kernel Panic 등
- 회복: Hot Reload, Garbage Collection, Quick Fix
- 버프: Safe Mode, Overclock, Firewall
- SkillService 구현 (skill_service.dart)
- 스킬 사용 가능 여부 확인 (MP, 쿨타임)
- 공격/회복/버프 스킬 사용 로직
- 자동 스킬 선택 (HP < 30% → 회복, 보스전 → 강력한 공격, 일반 → MP 효율)
- MP 자연 회복 (비전투: 50ms당 1, 전투: WIS 기반)
- progress_service.dart에 스킬 시스템 통합
- tick()에서 스킬 시간 업데이트 및 버프 만료 처리
- _processCombatTickWithSkills()로 전투 중 자동 스킬 사용
- ItemStats, ItemRarity 클래스 추가 (아이템 스탯/희귀도)
- EquipmentItem 클래스 추가 (개별 장비 아이템)
- ItemService 추가 (아이템 생성/관리/무게 시스템)
- Equipment 클래스 확장 (EquipmentItem 기반, 기존 API 호환)
- CombatStats에서 장비 스탯 반영
- 레거시 세이브 파일 호환성 유지
신규 파일:
- combat_stats.dart: 플레이어 전투 파생 스탯 (ATK, DEF, CRI 등)
- monster_combat_stats.dart: 몬스터 전투 스탯 (레벨 기반 스케일링)
- combat_result.dart: 전투 결과 타입 (AttackResult, CombatTurnResult)
- combat_state.dart: 전투 상태 관리 (HP, 누적 시간, 턴 수)
- combat_calculator.dart: 전투 계산 서비스 (데미지, 명중, 크리티컬)
수정 파일:
- game_state.dart: ProgressState에 currentCombat 필드 추가
- progress_service.dart: 킬 태스크 시 전투 로직 통합
- CombatStats/MonsterCombatStats 기반 전투 시간 계산
- 틱마다 전투 턴 처리 (_processCombatTick)
- 전투 완료 시 플레이어 HP 반영
- 121KB 단일 문서를 22개 태스크 문서로 분리
- 메인 인덱스 문서 (game-system-overhaul-index.md) 생성
- Phase 1-10 태스크 문서 10개 분리
- 추가 시스템 태스크 문서 10개 분리
- 재미 요소 설계 문서 1개 분리
- 기존 문서는 archive/ 폴더로 이동
- 기존 문서 doc/bak으로 백업
- 새 계획 문서 game-system-overhaul-plan.md 추가
- Phase 1-10: 전투, 아이템, 스킬, 사망/부활, 종족/클래스 등
- 사운드/음악/진동 시스템 설계
- 업적, 도감, 통계 시스템 설계
- 재미 요소 설계 (데미지 팝업, 콤보, 일일 도전 등)
- 피해야 할 요소 정리
- 몬스터 수식어 수정 (영어/한국어 모두)
- dead→fallen, crippled→twisted, sick→tainted
- undernourished→ravenous, baby→fledgling 등
- 고아/기아 관련 표현 개선
- orphan→이탈, starvation→고갈, hungry→탐욕스러운
- parentless→떠도는, Exploited→침해당한
- 일시정지 시 ASCII 애니메이션도 함께 정지하도록 수정
- 모든 애니메이션 캐릭터 위치를 전투 기준에 맞춤 (머리=4, 몸통=5, 다리=6)
- townAnimation: 건물 1줄 확장하여 베이스와 다리 같은 줄에 배치
- levelUpAnimation: 캐릭터 1줄 아래로 이동
- questCompleteAnimation: 캐릭터 2줄 아래로 이동
- actCompleteAnimation: 캐릭터 2줄 아래로 이동