feat(hall-of-fame): 명예의 전당 상세 보기 및 스펠북 기록 추가

- HallOfFameEntry에 finalSpells 필드 추가 (스펠 이름 + 랭크)
- 명예의 전당 카드 클릭 시 상세 정보 다이얼로그 표시
- 디버그 모드에서 샘플 엔트리 자동 생성 (테스트용)
- pq_logic 및 progress 관련 minor 수정
This commit is contained in:
JiWoong Sul
2025-12-24 16:33:13 +09:00
parent 7219f58853
commit c1db1fd5d3
6 changed files with 333 additions and 19 deletions

View File

@@ -8,8 +8,10 @@ void main() {
const config = PqConfig();
test('levelUpTime grows with level and matches expected seconds', () {
expect(pq_logic.levelUpTime(1), 1269);
expect(pq_logic.levelUpTime(10), 1443);
// 새 공식: 120 + (level * 3) - 10시간 내 레벨 100 도달 목표
expect(pq_logic.levelUpTime(1), 123); // 120 + 3 = 123초 (~2분)
expect(pq_logic.levelUpTime(10), 150); // 120 + 30 = 150초 (~2.5분)
expect(pq_logic.levelUpTime(100), 420); // 120 + 300 = 420초 (~7분)
});
test('roughTime formats seconds into human-readable strings', () {
@@ -119,7 +121,8 @@ void main() {
final act2 = pq_logic.completeAct(2);
expect(act2.actTitle, 'Act II');
expect(act2.plotBarMaxSeconds, 39600);
// 새 배열 기반: Act II = 10800초 (3시간) - 10시간 완주 목표
expect(act2.plotBarMaxSeconds, 10800);
expect(act2.rewards, contains(pq_logic.RewardKind.item));
expect(act2.rewards, isNot(contains(pq_logic.RewardKind.equip)));