feat(story): 아스키나라 세계관 스토리 텍스트 적용

progress_service.dart:
- 프롤로그: 코드의 신, 컴파일러 현자, 글리치 신 예언
- 버퍼 오버플로우로 마을 리셋, 널 왕국으로 여정
- 태스크: Data Market, Tech Shop, Debug Zone

pq_logic.dart:
- 시네마틱: Cache Zone, 디버깅 세션, 백도어 발견
- 퀘스트 동사: Patch, Locate, Transfer, Download, Stabilize
- Loading → Compiling 변경
This commit is contained in:
JiWoong Sul
2025-12-11 18:26:23 +09:00
parent 43924d6cfd
commit 1821770180
2 changed files with 45 additions and 45 deletions

View File

@@ -37,48 +37,48 @@ class ProgressService {
/// 새 게임 초기화 (원본 GoButtonClick, Main.pas:741-767)
/// Prologue 태스크들을 큐에 추가하고 첫 태스크 시작
GameState initializeNewGame(GameState state) {
// 초기 큐 설정 (원본 753-757줄)
// 초기 큐 설정 - 아스키나라(ASCII-Nara) 세계관 프롤로그
final initialQueue = <QueueEntry>[
const QueueEntry(
kind: QueueKind.task,
durationMillis: 10 * 1000,
caption: 'Experiencing an enigmatic and foreboding night vision',
caption: 'Receiving an ominous vision from the Code God',
taskType: TaskType.load,
),
const QueueEntry(
kind: QueueKind.task,
durationMillis: 6 * 1000,
caption:
"Much is revealed about that wise old bastard you'd "
'underestimated',
'The old Compiler Sage reveals a prophecy: '
'"The Glitch God has awakened"',
taskType: TaskType.load,
),
const QueueEntry(
kind: QueueKind.task,
durationMillis: 6 * 1000,
caption:
'A shocking series of events leaves you alone and bewildered, '
'but resolute',
'A sudden Buffer Overflow resets your village, '
'leaving you as the sole survivor',
taskType: TaskType.load,
),
const QueueEntry(
kind: QueueKind.task,
durationMillis: 4 * 1000,
caption:
'Drawing upon an unexpected reserve of determination, '
'you set out on a long and dangerous journey',
'With unexpected resolve, you embark on a perilous journey '
'to the Null Kingdom',
taskType: TaskType.load,
),
const QueueEntry(
kind: QueueKind.plot,
durationMillis: 2 * 1000,
caption: 'Loading',
caption: 'Compiling',
taskType: TaskType.plot,
),
];
// 첫 번째 태스크 'Loading' 시작 (원본 752줄)
final taskResult = pq_logic.startTask(state.progress, 'Loading', 2 * 1000);
// 첫 번째 태스크 시작 (원본 752줄)
final taskResult = pq_logic.startTask(state.progress, 'Compiling', 2 * 1000);
// ExpBar 초기화 (원본 743-746줄)
final expBar = ProgressBarState(position: 0, max: pq_logic.levelUpTime(1));
@@ -89,7 +89,7 @@ class ProgressService {
final progress = taskResult.progress.copyWith(
exp: expBar,
plot: plotBar,
currentTask: const TaskInfo(caption: 'Loading...', type: TaskType.load),
currentTask: const TaskInfo(caption: 'Compiling...', type: TaskType.load),
plotStageCount: 1, // Prologue
questCount: 0,
plotHistory: const [HistoryEntry(caption: 'Prologue', isComplete: false)],
@@ -295,7 +295,7 @@ class ProgressService {
progress.encumbrance.max > 0) {
final taskResult = pq_logic.startTask(
progress,
'Heading to market to sell loot',
'Heading to the Data Market to trade loot',
4 * 1000,
);
progress = taskResult.progress.copyWith(
@@ -316,7 +316,7 @@ class ProgressService {
if (gold > equipPrice) {
final taskResult = pq_logic.startTask(
progress,
'Negotiating purchase of better equipment',
'Upgrading hardware at the Tech Shop',
5 * 1000,
);
progress = taskResult.progress.copyWith(
@@ -331,7 +331,7 @@ class ProgressService {
// Gold가 부족하면 전장으로 이동 (원본 674-676줄)
final taskResult = pq_logic.startTask(
progress,
'Heading to the killing fields',
'Entering the Debug Zone',
4 * 1000,
);
progress = taskResult.progress.copyWith(
@@ -370,7 +370,7 @@ class ProgressService {
final taskResult = pq_logic.startTask(
progress,
'Executing ${monsterResult.displayName}',
'Debugging ${monsterResult.displayName}',
durationMillis,
);