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:
@@ -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,
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user