튜토리얼 졸업 시 정착 지원금 냥코인 200 (경제 소프트락 수정)

- 장터(회관 Lv2 건설) 전까지 코인 수입이 없어 3마리째 입양(100코인)이
  불가능하던 문제 — 부엌 인력을 못 뽑아 굶는 소프트락
- 작별 단계 진입 시 촌장 냥이가 🪙200 지급 + 작별 대사에 안내
- 이미 튜토리얼을 마친 기존 마을도 접속 시 1회 소급 지급 (중복 방지 플래그)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
이 커밋은 다음에 포함됨:
kjs
2026-08-14 11:11:44 +09:00
co-authored by Claude Fable 5
부모 fc882c9dff
커밋 ad6dbdbe97
3개의 변경된 파일과 17개의 추가작업 그리고 1개의 파일을 삭제
+1 -1
파일 보기
@@ -98,7 +98,7 @@ const TUTORIAL_STEPS: TutStep[] = [
check: (s) => s.hall.level >= 2,
},
{
text: "축하해! 이제 이 마을은 온전히 네 거야. 건물을 늘리고, 마을을 꾸미고, 친구들을 돌봐줘. 난 회관에 있을게 — 언제든 놀러 와! 🐾",
text: "축하해! 이제 이 마을은 온전히 네 거야. 아 참 — 정착 지원금으로 냥코인 🪙200을 문패 아래 두고 갈게. 새 친구를 데려오거나 장터를 짓는 데 쓰렴! 난 회관에 있을게 🐾",
manual: true,
},
];
+15
파일 보기
@@ -317,6 +317,11 @@ export const engine = {
state.decors ??= [];
state.tutorialStep ??= 99; // 기존 마을은 튜토리얼 생략
state.coins ??= 0;
// 소급 지급: 이미 튜토리얼을 마쳤는데 정착 지원금을 못 받은 마을
if ((state.tutorialStep ?? 0) >= 99 && !state.settleGrantGiven) {
state.coins += 200;
state.settleGrantGiven = true;
}
if (state.happinessUnlocked === undefined) {
const deckBuilt = state.buildings.some(
(b) => b.type === "sun_deck" && b.constructionUntil === undefined,
@@ -401,6 +406,11 @@ export const engine = {
best.exp = 0;
}
}
if (step === 9 && !state.settleGrantGiven) {
// 졸업 선물: 마을 정착 지원금 (장터 전까지 코인 수입이 없는 구간 해소)
state.coins = (state.coins ?? 0) + 200;
state.settleGrantGiven = true;
}
},
@@ -742,6 +752,11 @@ export const engine = {
state.decors ??= [];
state.tutorialStep ??= 99; // 기존 마을은 튜토리얼 생략
state.coins ??= 0;
// 소급 지급: 이미 튜토리얼을 마쳤는데 정착 지원금을 못 받은 마을
if ((state.tutorialStep ?? 0) >= 99 && !state.settleGrantGiven) {
state.coins += 200;
state.settleGrantGiven = true;
}
if (state.happinessUnlocked === undefined) {
const deckBuilt = state.buildings.some(
(b) => b.type === "sun_deck" && b.constructionUntil === undefined,
+1
파일 보기
@@ -77,6 +77,7 @@ export interface GameState {
syncToken?: string; // 세이브 보호 토큰
happinessUnlocked?: boolean; // 행복도 시스템 해금 (회관 Lv3 + 햇볕 데크)
happinessIntroSeen?: boolean; // 촌장 냥이 행복도 안내를 봤는가
settleGrantGiven?: boolean; // 정착 지원금 지급 여부
decors?: DecoTile[]; // 꾸미기 바닥 타일
resources: Record<ResourceKey, number>;
cats: Cat[];