Commit Graph

255 Commits

Author SHA1 Message Date
JiWoong Sul
9f077d74a1 chore: 플랫폼 설정 및 테스트 업데이트
- Android 광고 권한 추가
- macOS 플러그인 등록
- 테스트 mock 업데이트
2026-01-16 20:11:00 +09:00
JiWoong Sul
748160d543 feat(ui): 화면 및 컨트롤러 수익화 연동
- 앱 초기화에 광고/IAP 서비스 추가
- 게임 세션 컨트롤러 수익화 상태 관리
- 캐릭터 생성 화면 굴리기 제한 UI
- 설정 화면 광고 제거 구매 UI
- 애니메이션 패널 개선
2026-01-16 20:10:43 +09:00
JiWoong Sul
c95e4de5a4 feat(core): i18n 및 핵심 로직 개선
- 수익화 관련 텍스트 추가
- item_service 수정
- progress_service 수정
2026-01-16 20:10:36 +09:00
JiWoong Sul
c95fb7f4b4 feat(ui): 스피드 부스트 버튼 위젯 추가
- 5배속 버프 활성화 버튼
- 광고 시청으로 버프 획득
- 남은 시간 표시
2026-01-16 20:10:08 +09:00
JiWoong Sul
b6d5cd2abd feat(death): 사망/부활 시스템 개선
- DeathInfo에 lostItem 필드 추가 (광고 부활 시 복구용)
- 세이브 데이터 v4: MonetizationState 포함
- 사망 오버레이 UI 개선
- 부활 서비스 광고 연동
2026-01-16 20:09:52 +09:00
JiWoong Sul
b272ef8f08 feat(rewards): 복귀 보상 시스템 추가
- 시간 경과에 따른 골드 보상 계산
- 광고 시청 시 2배 보너스
- 복귀 보상 다이얼로그 UI
2026-01-16 20:09:32 +09:00
JiWoong Sul
37c118b0f8 feat(character): 캐릭터 롤 서비스 추가
- 굴리기 횟수 제한 및 충전
- 스탯 히스토리 기반 되돌리기
- 광고 시청으로 굴리기 충전
2026-01-16 20:09:16 +09:00
JiWoong Sul
28d3e53bab feat(debug): 디버그 설정 서비스 추가
- 광고/IAP/무적 모드 토글
- 시간 스케일 조절
- SharedPreferences 기반 영속화
2026-01-16 20:08:59 +09:00
JiWoong Sul
77f3f1d46b feat(iap): 인앱 결제 서비스 추가
- 광고 제거 상품 구매 처리
- 구매 복원 기능
- 결제 상태 스트림 지원
2026-01-16 20:08:43 +09:00
JiWoong Sul
6662a5dcfb feat(ads): AdMob 광고 서비스 추가
- 리워드/인터스티셜 광고 로드 및 표시
- 디버그 모드 광고 토글 지원
- 비모바일 플랫폼 자동 스킵
2026-01-16 20:08:27 +09:00
JiWoong Sul
724f08f56d feat(monetization): 수익화 시스템 기반 모델 추가
- MonetizationState freezed 모델 추가
- google_mobile_ads, in_app_purchase 의존성 추가
- IAP 구매 상태, 버프 종료 시점, 복귀 보상 데이터 관리
2026-01-16 20:08:10 +09:00
JiWoong Sul
306715ca26 feat(balance): 레벨 기반 장비 손실 확률 시스템
- 저레벨 사망 스파이럴 방지
- 장비 손실 확률 = (레벨 - 5) * 10%
  - Lv 1~5: 0% (절대 안전)
  - Lv 6: 10%
  - Lv 10: 50%
  - Lv 15+: 100%
- 디버그 로그 추가
2026-01-16 00:17:08 +09:00
JiWoong Sul
9e5472728f refactor(potion): 물약 자동 사용 조건 변경
- 임계치 기반 → 소모량 기반 조건 전환
- HP/MP 소모량 >= 물약 회복량일 때 사용
- emergencyHpThreshold, emergencyMpThreshold 상수 제거
- 우선순위 HP > MP 유지
2026-01-16 00:15:38 +09:00
JiWoong Sul
93f29f6c33 feat(ui): 사망 화면 잃은 아이템 희귀도 색상 표시
- DeathInfo에 lostItemRarity 필드 추가
- 사망 처리 시 아이템 희귀도 저장
- 사망 오버레이에서 희귀도별 색상 적용
  - Common: 회색, Uncommon: 녹색, Rare: 파랑
  - Epic: 보라, Legendary: 주황
2026-01-16 00:13:24 +09:00
JiWoong Sul
a2b5bb7dc0 refactor(ui): 물약 글로벌 쿨타임 적용 UI 정리
- usedPotionTypes/usedInBattle 파라미터 제거
- 전투당 타입별 제한 → 시간 기반 쿨타임 전환
- PotionInventoryPanel 불투명도 로직 제거
2026-01-16 00:12:43 +09:00
JiWoong Sul
b8a4d73461 fix(death): 사망 시 희생 아이템 선택 디버그 로그 추가
- 장비 슬롯 상태 콘솔 로그 추가
- resurrection_service에 lostItemSlot 설정 누락 수정
- resetBattleUsage 존재하지 않는 메서드 호출 제거
2026-01-15 23:33:31 +09:00
JiWoong Sul
7e1936b34f fix(ui): 사망 화면 장비 슬롯명 표시 및 기타 수정
- 사망 시 잃은 아이템에 슬롯명 표시 추가
- progress_service 마이너 수정
- 관련 테스트 업데이트
2026-01-15 23:23:38 +09:00
JiWoong Sul
9599a33a8f style(ui): HP/MP 바 숫자 오버레이 표시
- 웹: hp_mp_bar.dart 숫자를 바 중앙에 오버레이
- 모바일: enhanced_animation_panel.dart 동일 적용
- 텍스트 그림자 추가로 가독성 향상
2026-01-15 23:23:02 +09:00
JiWoong Sul
c41d15405f feat(balance): 버프 스킬 하이브리드 밸런스 조정
- 22개 버프 스킬 효과 감소 + MP 비용 증가
- Tier 1-5 전체 스킬 효율 하향 조정
- 예: Breakpoint CRI 35%→20%, MP 70→120
2026-01-15 23:22:49 +09:00
JiWoong Sul
b0913a24ff feat(skill): DamageType 및 magAtk/magDef 스킬 시스템 추가
- DamageType enum 추가 (physical/magical)
- 스킬별 데미지 타입 지정 기능 구현
- 마법 스킬 데미지에 magAtk/magDef 적용
- 장비 아이템에서 magAtk/magDef 스탯 추출
- 관련 테스트 업데이트
2026-01-15 23:22:36 +09:00
JiWoong Sul
525e231c06 style(ui): victory_overlay ASCII 아트 정렬 개선
- 트로피 ASCII 좌우 공백 균형 조정
- THE END 텍스트 FittedBox로 자동 스케일링
- 폰트 크기 14→12 조정
2026-01-15 21:34:30 +09:00
JiWoong Sul
58cc1fddb5 feat(ui): 스킬 상세 정보 ExpansionTile 구현
- _SkillRow → _SkillTile (ExpansionTile 기반)
- 타입별 스탯 그리드 표시 (공격/회복/버프/디버프)
- 메타 행: 티어(로마숫자), 타입명, 속성명
- RetroColors 적용, 타입/속성별 컬러 구분
- 한/영/일 3개 언어 지원
2026-01-15 21:34:24 +09:00
JiWoong Sul
60db6b2ec9 feat(l10n): 스킬 상세 정보 라벨 추가
- 공통: tier, mpCost, cooldown, seconds
- 공격: power, hits, dot, lifesteal, defPen, selfDmg
- 회복: healFixed, healPercent, mpHeal
- 버프/디버프: duration, atkMod, defMod, criMod, evaMod
- 타입 이름 4개, 속성 이름 8개
2026-01-15 21:34:18 +09:00
JiWoong Sul
2427f58018 feat(balance): 스킬 MP 코스트 2배 추가 증가 (총 5배)
- 시뮬레이션 결과 기반 MP 밸런스 조정
- 기존 설정(70% 일반공격)에서 MP가 76% 이하로 떨어지지 않는 문제 해결
- MP 코스트 2배 증가로 물약 사용 필요 상황 유도
- Tier별 새 MP 범위: T1(50-80), T2(80-180), T3(130-280), T4(150-460), T5(250-400)
2026-01-15 19:45:05 +09:00
JiWoong Sul
cbf96c2c0e style(ui): 전체 화면 폰트 크기 증가
- arena: 전투/결과/랭크 화면 폰트 조정
- front: 메인 화면 폰트 조정
- game: 게임플레이 위젯 전반 폰트 조정 (스킬, 장비, 인벤토리 등)
- hall_of_fame: 명예의 전당 폰트 조정
- new_character: 캐릭터 생성 화면 폰트 조정
- settings: 설정 화면 폰트 조정
- 전반적인 가독성 향상
2026-01-15 19:07:34 +09:00
JiWoong Sul
e882093d37 style(ui): shared 컴포넌트 폰트 크기 증가
- RetroPanel 제목 폰트: 10 → 14
- RetroButton, RetroDialog 폰트 크기 조정
- PanelHeader, retro_theme_constants 스타일 개선
- 가독성 향상을 위한 전반적인 폰트 크기 상향
2026-01-15 19:07:23 +09:00
JiWoong Sul
2435bcffb7 feat(balance): 스킬 MP 코스트 밸런스 조정
- 전체 스킬 MP 코스트 약 2.5배 증가
- Tier별 조정: T1(25-40), T2(45-90), T3(65-90), T4(75-150), T5(75-200)
- 공격/힐/버프/디버프 스킬 61개 적용
2026-01-15 19:07:13 +09:00
JiWoong Sul
ac76060222 feat(animation): Act 기반 몬스터 사이즈 시스템 추가
- Act 진행에 따른 몬스터 사이즈 확률 조정
- 보스: Act별 고정 사이즈 (소/중/대)
- 일반/엘리트: Act별 확률 랜덤
- TaskInfo에 monsterSize 필드 추가
- 애니메이션 패널에서 Act 기반 사이즈 사용
2026-01-15 18:01:31 +09:00
JiWoong Sul
23f15f41d3 refactor(util): pq_logic.dart 모듈 분할
- pq_random.dart: 랜덤/확률 함수 (61줄)
- pq_string.dart: 문자열 유틸리티 (55줄)
- pq_item.dart: 아이템/장비 생성 (327줄)
- pq_monster.dart: 몬스터 생성 (283줄)
- pq_quest.dart: 퀘스트/Act/시네마틱 (283줄)
- pq_task.dart: 태스크/큐 (97줄)
- pq_stat.dart: 스탯 관련 (64줄)
- 원본은 re-export 허브로 유지 (역호환성)
2026-01-15 17:05:46 +09:00
JiWoong Sul
133d516b94 refactor(ui): HallOfFameScreen 위젯 분해
- HeroDetailDialog: 상세 정보 다이얼로그 분리 (690줄)
- HallOfFameEntryCard: 엔트리 카드 분리 (263줄)
- GameClearDialog: 게임 클리어 다이얼로그 분리 (255줄)
- 메인 화면 264줄로 경량화
2026-01-15 17:05:39 +09:00
JiWoong Sul
07fb105d7c refactor(l10n): game_text_l10n 중복 패턴 제거
- _l() 헬퍼 함수로 로케일별 분기 추상화
- 1998줄 → 1108줄 (~45% 감소)
- 260회 반복 패턴을 한 줄 표현으로 변환
2026-01-15 17:05:32 +09:00
JiWoong Sul
e77c3c4a05 refactor(model): freezed 패키지 도입으로 보일러플레이트 제거
- ItemStats, CombatStats, EquipmentItem을 freezed로 마이그레이션
- copyWith, toJson/fromJson 자동 생성
- 세이브 파일 호환성 유지
2026-01-15 17:05:26 +09:00
JiWoong Sul
f466e1c408 refactor(engine): ActProgressionService 및 UI 컨트롤러 분리
- ActProgressionService: Act 진행 로직 추출
- GameAudioController: 오디오 제어 로직 분리
- CombatLogController: 전투 로그 관리 분리
- ProgressService, GamePlayScreen 경량화
2026-01-15 17:05:19 +09:00
JiWoong Sul
a41984d998 test: 테스트 파일 추가 및 리팩토링 반영
- combat_calculator_test, skill_service_test, stat_calculator_test 추가
- mock_factories.dart 헬퍼 추가
- progress_loop_test, game_session_controller_test 서비스 분리 반영
2026-01-15 01:53:51 +09:00
JiWoong Sul
c33c1ff470 refactor(ui): 애니메이션 관련 위젯 개선
- canvas_battle_composer: 레어리티 색상 매핑 연동
- ascii_animation_card: 코드 정리
- enhanced_animation_panel: 테마 상수 적용
2026-01-15 01:53:45 +09:00
JiWoong Sul
a4bbc6c7cb feat(ui): 레트로 테마 상수 및 공통 위젯 추가
- RetroTheme: 패딩, 폰트, 애니메이션 상수 정의
- PanelHeader: 재사용 가능한 패널 헤더 위젯
- RarityColorMapper: 레어리티별 색상 매핑
2026-01-15 01:53:36 +09:00
JiWoong Sul
92e5fbbf1a refactor(engine): ProgressService 경량화
- CombatTickService, MarketService 사용으로 전환
- 중복 로직 제거로 577줄 감소
- item_stats.dart 불필요 코드 정리
2026-01-15 01:53:30 +09:00
JiWoong Sul
90c133d577 refactor(engine): 시장 로직을 MarketService로 분리
- ProgressService에서 판매/구매 로직 추출
- SellResult 결과 클래스 정의
- 골드 관리 및 아이템 거래 처리
2026-01-15 01:53:24 +09:00
JiWoong Sul
77dfa48ddf refactor(engine): 전투 틱 로직을 CombatTickService로 분리
- ProgressService에서 전투 처리 로직 추출
- 스킬 자동 사용, DOT, 물약 사용 로직 포함
- CombatTickResult 결과 클래스 정의
2026-01-15 01:53:20 +09:00
JiWoong Sul
6c92a323c0 feat(ui): 승리 오버레이 스크롤 UX 개선
- 터치 시 스크롤 속도업 기능 추가 (5배속)
- 스크롤 완료 후 수동 스크롤 모드 지원
- 속도업 안내 텍스트 표시
2026-01-14 23:23:48 +09:00
JiWoong Sul
8efd3e875c feat(l10n): 엔딩 스크롤 속도업 안내 문자열 추가
- endingHoldToSpeedUp: 길게 누르면 빨리 스크롤
- 한/영/일/중 4개 언어 지원
2026-01-14 23:23:43 +09:00
JiWoong Sul
01e26bb5f5 fix(l10n): 카피라이트 텍스트 대소문자 수정
- naturebridgeai → NatureBridgeAi
2026-01-14 23:23:37 +09:00
JiWoong Sul
de20183b73 style: dart format 적용 2026-01-14 23:07:03 +09:00
JiWoong Sul
249394f548 test: GCD 시뮬레이션 테스트 추가
- 다양한 GCD 값(0~3000ms)에 대한 전투 효율성 비교
- 레벨별 GCD 영향 분석 테스트
- DPS, 스킬 사용 빈도, 전투 시간 측정
- 권장 GCD 분석 결과: 1500~2000ms
2026-01-14 23:04:52 +09:00
JiWoong Sul
85413362a2 fix(ui): 몬스터 사망 애니메이션 상태 리셋 버그 수정
- 새 몬스터 등장 시 이전 사망 애니메이션 상태 초기화
- 전투 시작 시 _showDeathAnimation, _deathAnimationMonsterLines 리셋
- 이전 몬스터 사망 애니메이션 도중 새 전투 시작 시 몬스터 숨김 방지
2026-01-14 23:04:45 +09:00
JiWoong Sul
02d4d1d397 feat(engine): GCD 체크 및 스킬 자동 장착 로직 구현
SkillService:
- canUseSkill()에 GCD 체크 추가
- selectAutoSkill() 확률 조정 (70% 일반공격, 30% 스킬)
- 버프/디버프 조건 강화 (HP>80%, 활성 효과 체크)

ProgressService:
- 스킬 사용 후 GCD 시작 로직 추가
- 장착된 스킬 슬롯에서 사용 가능 스킬 조회
- 비전투 태스크 시 currentCombat 초기화

GameMutations:
- winSpell()에서 스펠 획득 시 전투 스킬 자동 장착
2026-01-14 23:04:38 +09:00
JiWoong Sul
c0d32b1c87 feat(core): SkillSystemState에 GCD 및 스킬 슬롯 추가
- globalCooldownEndMs: GCD 종료 시점 추적
- globalCooldownDuration: 1500ms 상수 정의
- equippedSkills: 장착된 스킬 슬롯 (SkillSlots)
- isGlobalCooldownActive, remainingGlobalCooldown getter
- startGlobalCooldown() 메서드 추가
2026-01-14 23:04:13 +09:00
JiWoong Sul
8112173541 feat(data): 모든 스킬에 티어 정보 추가
- 공격/회복/버프/디버프 전 스킬에 tier(1~5) 설정
- 티어 기준: 스킬 강도, MP 소모, 쿨타임 등 종합 고려
- 티어 5: Kernel Panic, Chaos Monkey, Snapshot Restore 등
- 티어 1: Stack Trace, Hot Reload, Step Into 등
2026-01-14 23:04:07 +09:00
JiWoong Sul
2621942ced feat(model): 스킬 티어 및 파워 스코어 시스템 추가
- Skill 클래스에 tier 필드 추가 (1~5, 높을수록 강함)
- 타입별 powerScore 동적 계산 로직 구현
- isStrongerThan() 메서드로 스킬 강도 비교 지원
- SkillFailReason에 onGlobalCooldown 추가
- SkillSlots 클래스 신규 추가 (타입별 슬롯 제한)
2026-01-14 23:03:51 +09:00
JiWoong Sul
f9a4ae105a test: 새 캐릭터 화면 테스트 개선 2026-01-14 02:26:27 +09:00