diff --git a/src/components/game/Game.tsx b/src/components/game/Game.tsx index 5d56b23..b385d03 100644 --- a/src/components/game/Game.tsx +++ b/src/components/game/Game.tsx @@ -68,8 +68,8 @@ const TUTORIAL_STEPS: TutStep[] = [ check: (s) => s.cats.length >= 2, }, { - text: "생선 30마리면 벌목장을 지을 수 있어. 목재는 모든 건설의 기본이란다!", - task: "벌목장 건설하기 (🐟 30)", + text: "이제 벌목장을 짓자! 재료로 생선 30마리가 필요한데... 짜잔, 내가 미리 준비해뒀어. 🛒 상점에서 벌목장을 사서 마음에 드는 곳에 놓아줘!", + task: "벌목장 건설하기 (🐟 30 — 촌장 냥이가 지원!)", check: (s) => s.buildings.some((b) => b.type === "lumberyard"), }, { @@ -81,13 +81,13 @@ const TUTORIAL_STEPS: TutStep[] = [ }, }, { - text: "일하다 보면 배가 고파져. 목재 60을 모아 부엌을 짓자. 요리 잘하는 친구가 있으면 배치해두면 알아서 밥을 챙겨 먹는단다.", - task: "부엌 건설하기 (🪵 60)", + text: "일하다 보면 배가 고파지지. 부엌을 짓자 — 목재 60은 내가 지원해줄게! 요리 잘하는 친구를 배치해두면 다들 알아서 밥을 챙겨 먹는단다.", + task: "부엌 건설하기 (🪵 60 — 촌장 냥이가 지원!)", check: (s) => s.buildings.some((b) => b.type === "kitchen"), }, { - text: "마지막이야! 회관을 눌러 Lv2로 증축하면 친구를 더 데려올 수 있어. 열심히 일한 친구는 레벨이 오르니까, 목재 100·생선 80을 모으면서 기다려보자.", - task: "마을 회관 Lv2 증축 (🪵100 · 🐟80 · Lv3 친구 1마리)", + text: "마지막이야! 증축 재료(목재 100·생선 80)는 마을 발전 기금에서 내가 쏠게. 열심히 일한 친구에겐 특훈까지 시켜뒀단다. 회관을 눌러 Lv2로 증축해봐!", + task: "마을 회관 Lv2 증축하기", check: (s) => s.hall.level >= 2, }, { diff --git a/src/lib/game/engine.ts b/src/lib/game/engine.ts index fcb80af..2f35ff9 100644 --- a/src/lib/game/engine.ts +++ b/src/lib/game/engine.ts @@ -304,10 +304,23 @@ export const engine = { return r; }, - /** 튜토리얼 진행 갱신 */ + /** 튜토리얼 진행 갱신 (단계 진입 시 촌장 냥이의 지원 지급) */ setTutorialStep(step: number) { if (!state) return; state.tutorialStep = step; + // 촌장 냥이의 자원 지원 — 대기 없이 다음 건설로 이어지도록 + if (step === 5) state.resources.fish += 30; // 벌목장 재료 + if (step === 7) state.resources.wood += 60; // 부엌 재료 + if (step === 8) { + state.resources.wood += 100; // 회관 증축 재료 + state.resources.fish += 80; + // 특훈: 가장 레벨 높은 친구를 Lv3으로 + const best = [...state.cats].sort((a, b) => b.level - a.level)[0]; + if (best && best.level < 3) { + best.level = 3; + best.exp = 0; + } + } }, /** 마을 완전 초기화 (새 게임 + 튜토리얼부터) */