2단계: 부엌·요리·포만도·자동 식사·회관 증축

- 부엌 건설(목재 60), 요리 적성 배치, 물고기 구이(생선 2→구이 1, 포만도 +40)
- 레시피 해금 구조: 회관/부엌 레벨 조건 (훈제 생선은 회관 Lv3 예고)
- 포만도: 식욕×0.03/초 감소(소식가/대식가 반영), 배고프면 부엌에서 자동 식사
- 배고픔 페널티: 포만도 25 미만 0.7배, 0이면 0.3배
- 회관 증축 Lv2(목재100+생선80+Lv3 고양이) → 수용 5마리, Lv3은 채석장 대기
- UI: 증축 버튼·요건 표시, 부엌 카드(레시피·선반), 고양이 포만도 바
- 마을 뷰: 부엌 타일(냄비), 🍖 배지, 식사 🍽️ 버블, 재배치 시 이동 버그 수정

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
이 커밋은 다음에 포함됨:
kjs
2026-08-13 13:38:57 +09:00
co-authored by Claude Fable 5
부모 aa289c3616
커밋 59e337ab90
5개의 변경된 파일과 349개의 추가작업 그리고 46개의 파일을 삭제
+45
파일 보기
@@ -67,6 +67,51 @@ export const PASSIVES: PassiveDef[] = [
{ key: "workaholic", name: "일중독", kind: "tradeoff", desc: "작업 속도 +60%, 행복도 감소 +40%", speedMul: 1.6 },
];
// ---------- 요리 (부엌) ----------
export interface RecipeDef {
key: string;
name: string;
emoji: string;
input: Partial<Record<"fish" | "wood", number>>; // 재료 (추후 획득처 확장)
work: number; // 요리 1개당 필요 작업량
fullness: number; // 먹었을 때 포만도 회복량
reqHallLv: number; // 해금 조건: 회관 레벨
reqKitchenLv: number; // 해금 조건: 부엌 레벨
}
export const RECIPES: RecipeDef[] = [
{
key: "grilled_fish", name: "물고기 구이", emoji: "🍖",
input: { fish: 2 }, work: 3, fullness: 40,
reqHallLv: 1, reqKitchenLv: 1,
},
{
key: "smoked_fish", name: "훈제 생선", emoji: "🐟",
input: { fish: 3 }, work: 6, fullness: 70,
reqHallLv: 3, reqKitchenLv: 2, // 아직 잠김 — 회관·부엌 증축으로 해금 예정
},
];
export const KITCHEN_BUILD_COST = { wood: 60 };
export const KITCHEN_MEAL_CAP = 10; // 요리 선반 최대 보관 수
export const EAT_THRESHOLD = 65; // 이 포만도 이하면 먹으러 감
export const FULLNESS_DECAY_PER_SEC = 0.03; // × 식욕 수치
// ---------- 마을 회관 증축 ----------
export interface HallLevelDef {
capacity: number;
cost: Partial<Record<"fish" | "wood", number>>;
reqCat?: { level: number; count: number };
locked?: string; // 아직 구현 안 된 선행 요소 안내
}
export const HALL_LEVELS: Record<number, HallLevelDef> = {
2: { capacity: 5, cost: { wood: 100, fish: 80 }, reqCat: { level: 3, count: 1 } },
3: { capacity: 8, cost: { wood: 400 }, reqCat: { level: 5, count: 2 }, locked: "돌 자원(채석장)이 추가된 뒤 해금됩니다" },
};
export const CAT_NAMES = [
"치즈", "나비", "콩이", "보리", "두부", "마루", "모찌", "호두",
"감자", "앙꼬", "밤이", "구름", "초코", "우유", "깨비", "솜이",