《同福客栈》账号成就系统与传承玩法设计
v1.1(2026-07-18):补充成就总表与代码实现对照,见文末 §5-§7。 v2 已发布:300+ 成就与奖励深挖(成就点/阶段轨/头衔/系列加成)见
docs/design/active/账号成就总库-v2.md,本文档保留为设计源头与历史版本。
1. 玩法概述
在《同福客栈》的挂机与多周目生存循环中,账号成就系统是连接“单次客栈经营”与“全局账号成长”的核心桥梁。 玩家在任意周目中达成的特殊行为、极限挑战或长线累积,都会解锁成就并获得全局代币——【江湖阅历】。利用这些阅历,玩家可以在“传承商店”中购买账号级的永久特权或开局加成,从而让下一次的经营之旅更加顺畅,形成完整的 Roguelite 成长闭环。
2. 账号成就分类与设计
账号成就脱离于单次存读档,记录在玩家的全局配置文件(Global Profile)中。成就主要分为三大类:
2.1 跨周目累积型(肝帝专属)
鼓励玩家长线挂机与多次游玩,数值在不同周目间无缝累加。
- 富甲关中:历史累计赚取 1,000,000 两银子。
- 高朋满座:历史累计接待 10,000 名食客。
- 武林公敌:历史累计击退/抓获 500 名飞贼与捣乱分子。
2.2 单局极限挑战型(策略验证)
考验玩家在单次周目中的资源调配与抗压能力。
- 天下第一店:在单周目内,将客栈名声提升至 1000(满值)并维持 3 天。
- 抠门掌柜:在单周目内,连续 30 天不给员工发工资且无人罢工。
- 绝境逢生:在客栈资金低于 10 文钱的情况下,成功扭亏为盈并存活超过 10 天。
2.3 收集与图鉴型(探索解密)
鼓励玩家尝试不同的事件选项和经营路线。
- 满汉全席:解锁并研发出客栈所有的 30 种菜谱。
- 江湖轶事:收集到所有特殊NPC(如楚留香、陆小凤)的专属信物。
- 百味人生:打出过“完美结局”、“破产结局”、“被官府查封”等所有 5 种游戏结局。
3. 核心流转机制:江湖阅历(YP)与传承商店
3.1 阅历获取
当成就条件满足时,系统会弹出全局横幅提示,并直接向账号钱包注入**【江湖阅历】(Legacy Points)**。
- 普通累积成就:奖励 50 - 100 阅历。
- 单局极限成就:奖励 200 - 500 阅历。
- 全收集/隐藏成就:奖励 1000 阅历及特殊头衔。
3.2 传承商店(账号天赋树)
玩家在主菜单(未进入具体周目时)可访问“传承商店”,消耗阅历购买账号维度的特权。
一次性带入特权(消耗品,仅生效一局):
- 【启动资金】:下局开局自带 500 铜钱(耗费 50 阅历)。
- 【打鸡血】:下局开局全员心情满值且锁定不掉落 3 天(耗费 100 阅历)。
永久全局增益(永久解锁,全周目生效):
- 【佟家商会金卡】:所有食材采购成本永久降低 5%(耗费 1000 阅历)。
- 【燕小六的常驻】:解锁特殊辅助 NPC,治安基础下限永久 +10(耗费 2000 阅历)。
- 【后院菜地】:解锁新设施“菜地”,每日自动产出少量粗糙食材(耗费 3000 阅历)。
4. 玩法闭环总结
- 开局(Start):玩家带着初始属性或上局购买的“传承特权”开始经营。
- 经营与挂机(Play):在营业过程中,不断触发事件总线(Event Bus)更新成就进度。
- 成就解锁(Achievement):达成目标,获得全局【江湖阅历】。
- 终局与结算(End):破产或通关,单局资金按比例折算为额外阅历。
- 账号成长(Upgrade):在传承商店消费阅历,购买全局 Buff 或开局优势,进入下一个更爽快的循环。
5. 成就总表(v1.1 已实装,18 项)
代码落点:
src/data/account/achievements.ts(数据层,仅类型 + 常量)。 分类在 v1.1 由 3 类扩为 4 类:经营 / 角色成长 / 跨周目 / 收集传承。
5.1 经营(business,4 项)
| ID | 称号 | 指标 | 目标 | 奖励(传承点) | 来源 |
| :--- | :--- | :--- | ---: | ---: | :--- |
| account_business_first_savings | 第一桶金 | 单档/账号银两峰值 silver_peak | 1,000 | 25 | 初版 |
| account_business_full_coffers | 库银充盈 | silver_peak | 5,000 | 50 | 初版 |
| account_business_daily_fortune | 日进斗金 | silver_peak | 50,000 | 120 | v1.1 新增 |
| account_business_guanzhong_tycoon | 富甲关中 | 历史累计银两 silver_earned_total | 1,000,000 | 500 | v1.1 新增(§2.1) |
5.2 角色成长(role,3 项)
| ID | 称号 | 指标 | 目标 | 奖励(传承点) | 来源 |
| :--- | :--- | :--- | ---: | ---: | :--- |
| account_role_known_in_town | 七侠留名 | 声望峰值 reputation_peak | 50 | 25 | 初版 |
| account_role_renowned_keeper | 名满关中 | reputation_peak | 200 | 50 | 初版 |
| account_role_top_inn | 天下第一店 | reputation_peak | 1,000 | 300 | v1.1 新增(§2.2,峰值口径) |
5.3 跨周目(cross_run,7 项)
| ID | 称号 | 指标 | 目标 | 奖励(传承点) | 来源 |
| :--- | :--- | :--- | ---: | ---: | :--- |
| account_cross_run_first_settlement | 一程有始有终 | 结算周目数 playthroughs_completed | 1 | 30 | 初版 |
| account_cross_run_returning_keeper | 再掌柜台 | 开启周目数 playthroughs_started | 2 | 40 | 初版 |
| account_cross_run_seasoned_keeper | 五度掌柜 | playthroughs_started | 5 | 80 | v1.1 新增 |
| account_cross_run_street_watch | 七侠义警 | 抓贼累计 thieves_caught_total | 50 | 50 | v1.1 新增 |
| account_cross_run_bandit_bane | 武林公敌 | thieves_caught_total | 500 | 200 | v1.1 新增(§2.1) |
| account_cross_run_unbowed | 屡败屡战 | 失败周目数 playthroughs_failed | 3 | 60 | v1.1 新增 |
| account_cross_run_social_inn | 客栈会友 | 联机场次 multiplayer_sessions_total | 3 | 60 | v1.1 新增 |
5.4 收集传承(collection,4 项,v1.1 新分类)
| ID | 称号 | 指标 | 目标 | 奖励(传承点) | 来源 |
| :--- | :--- | :--- | ---: | ---: | :--- |
| account_collection_first_legacy | 初得传承 | 永久传承数 permanent_legacies_owned | 1 | 50 | v1.1 新增 |
| account_collection_legacy_master | 传承满架 | permanent_legacies_owned | 5 | 200 | v1.1 新增 |
| account_collection_trophy_hunter | 小有成就 | 成就领奖次数 achievements_claimed_total | 10 | 100 | v1.1 新增 |
| account_collection_point_magnate | 阅历成山 | 传承点累计获得 legacy_points_earned_total | 5,000 | 300 | v1.1 新增 |
5.5 待接入成就(需局内计数器,v2 候选)
以下设计成就当前没有账号级数据源,需先在局内事件总线埋点计数后方可实装:
| 设计成就 | 缺口 | 建议数据源 |
| :--- | :--- | :--- |
| 高朋满座(累计 10,000 食客) | 食客计数未流入全局档案 | 结算时写入 customersServedTotal 计数器 |
| 满汉全席(30 种菜谱) | 菜谱解锁在局内状态 | 槽位摘要增加已研发菜谱数 |
| 百味人生(5 种结局) | 结局类型未跨周目记录 | 结算摘要记录结局 ID 列表 |
| 抠门掌柜(连续 30 天无薪) | 需局内连续天数追踪 | 局内状态机,结算时上报 |
| 绝境逢生(<10 文扭亏存活 10 天) | 需局内极限状态追踪 | 局内状态机,结算时上报 |
| 江湖轶事(特殊 NPC 信物) | 信物收集在局内 | 槽位摘要增加信物列表 |
6. 指标与数据源对照(v1.1)
| 指标 metric | 数据源 | 说明 |
| :--- | :--- | :--- |
| silver_peak | 全局计数器 + 最近结算 + 各槽位摘要取最大 | 峰值口径,防丢档 |
| silver_earned_total | globalCounters.silverEarnedTotal | 纯累计口径 |
| reputation_peak | 最近结算 + 各槽位摘要取最大 | 峰值口径 |
| playthroughs_started / completed | 计数器 + 槽位状态 + 最近槽引用取最大 | 跨来源对账 |
| playthroughs_failed | globalCounters.playthroughsFailed | 计数器口径 |
| thieves_caught_total | globalCounters.thievesCaughtTotal | 计数器口径 |
| legacy_points_earned_total | globalCounters.legacyPointsEarnedTotal | 含成就与结算发放 |
| multiplayer_sessions_total | hostSessionsPlayed + guestSessionsPlayed | 房主 + 访客 |
| permanent_legacies_owned | unlocks.permanentLegacies.length | 传承商店购买数 |
| achievements_claimed_total | 领取标记计数器(accountAchievementClaimed:*) | 防重复领取的同一标记 |
7. 代码落点与 UI(v1.1)
三层分离(遵循 AGENTS.md):
| 层 | 文件 | 内容 |
| :-: | :--- | :--- |
| 数据层 | src/data/account/achievements.ts | 4 分类、11 指标、18 条成就定义、页签/领取记录视图类型 |
| 逻辑层 | src/utils/account/achievementLogic.ts | 指标进度计算、分类页签构建、单个/一键领取、存储对账 |
| UI 层 | src/components/AccountPanel.tsx → AccountAchievementList | 分类筛选页签、进度条、单个领取、一键领取入口 |
| 接线 | src/components/SystemHubPanel.tsx | 账号视图中装配成就区,领取后回写本地档案 |
| 回归 | src/utils/account/achievementLogic.regression.ts | 9 个用例:目录结构、进度合成、计数器指标、页签、单个/批量领取、存储重载 |
UI 行为(v1.1 新增):
- 分类页签:全部 / 经营 / 角色成长 / 跨周目 / 收集传承,各带
已解锁/总数与待领取角标。 - 一键领取:存在待领取成就时出现,批量发放传承点并提示合计;重复点击幂等,不重复发放。
- 领取状态机不变:
locked → claimable → claimed,领取以计数器标记防重。