e853fbdb71935e4cc27d84eb6afe158d9db2d70f
【主线一:世界自演进深化《八方风雨》】 - NPC 战略姿态 stance:守成/扩张/隐忍/结盟四态,年首评估(era>景气>power>relation) 全行为调制:raid 概率×2/×0.4/×0、互攻阈值 -40/-70/不攻、贸量 ×1.3/×0.7、 赠礼收益 ally×1.3、结盟门槛 ally 放宽至30——NPC 从统计物理到行为战略 - 超卖潮(谷贱伤农):池>1.8×base 世界产能回调×0.7 + 年度播报(防玩家玩崩市场) - 盟约连坐:结盟令世仇(rel<-50)对玩家-20;盟者世仇 raid 概率×2 - 盟友求援:互攻失利盟友告急(distress 旗标)——WorldPanel 响应(出资200/见死不救) - 干预天下:调停(50灵石令世仇-60→-25、声望+2)/ 资助盟友;恩怨网情报视图(各家关系展开+调停钮) 【主线二:孤立系统归并引擎】 - P0 兜底修复:empty() 收敛 makeWorldSimState 单源 + normalize 补 tideTicks/calamityLeft/ era/eraStartYear/prosperity/distress/overfluxYear(旧档 NaN 级联防死) - FxGate 从 engine/kernel/fxqueue.ts 并入 ui/fx.ts(kernel 清纯引擎;deltas 顶层导出, 3 处引用 10 行改动);engine 侧零 UI 依赖再下一城 - 音效语义补充:onFx→blade/pulse/spark→sWar/sGong/sBell;onLog kind 兜底保留(不静音) - store.advance drift/season 段左移 fx.ts(fxSeason 复活接管 season 检测) - 死码清除:timesense.tideOf/tintLabel、tideDir 全链(类型/初始/写入/domain) - domain.ts worldSim 局部类型补全 0.1.18/0.1.19 全部新字段(断言类型安全) 【测试】1002 全绿(41 套件):stance-world 7 例(兜底/姿态/raid/超卖/连坐/调停/求援)
仙途家族志 · Chronicle of the Immortal Clan
修仙 × 家族 × 经营 × 战斗的家族模拟器(Electron + React + TypeScript + MetonaSqlark)。
一座庄园、一家修士、四邻势力,随年月流转:族人修炼突破、建筑产出、探秘寻宝、婚丧嫁娶; 仇家犯境则结阵应战;百年之际,望气定鼎,春秋原上写下一卷族史。
快速开始
npm install # 依赖(含 git.metona.cn 私有 registry,token 在用户级 ~/.npmrc)
npm install-scripts approve electron esbuild # npm12 首装时必须(Electron 二进制)
npm run dev # 开发模式(热更新)
npm run verify # 发布验收哨兵:vitest + typecheck + build
npm run verify:package # 附打包预览(electron-builder)
npm run package # 直接打包(Windows 需在 Windows 侧执行)
npm test # 仅测试(923+ 用例)
架构一览
src/renderer/game/ 纯 TS 引擎(无 React/DOM,可被 vitest 直测)
core/ rng(RngHub) · clock(GameClock·7相位) · plugin · legacy · report · yearaxis · biography · genealogy
data/ balance 表 + DataPackRegistry(数据包可覆写)
engine/ world · clocks(注册) · pluginManager(∃插件管线) · capabilities(12 能力卡) · api(GameFacade act/query/subscribe/about)
systems/(生产·寿元·修炼·任务·事件·外交·婚育·渡劫·大比·寄读)
storage/ db(MetonaSqlark 单例) · slots(存档槽+快照) · migrate(版本迁移链 v1→v2)
src/renderer/ui/ React + zustand(store 持 GameFacade;面板订阅 revision 刷新)
src/main/ Electron 主进程(app:// 协议 + IPC 存档导出/导入)
设计文档见 AGENTS.md(环境坑/架构红线/方言陷阱/金钟罩约定)。
守护机制
- 金钟罩:tests/clock.test.ts 三枚固定 seed × 560 月指纹常驻(0.1.8 基线:9af71ecb/63cede89/ebfec4a4);有意变更时序需受控更新并注明。
- 插件化:万物皆是插件(系统/数据包/事件池),示例见 tests/helpers/examplePlugin.ts。
- 可回放:种子随机(sfc32)+ 闰档快照 + 回档时间轴。
打包产物
npm run package→ out/(构建)+ release/(安装包)- 图标资源 resources/icon.png|ico —— electron-builder 自动使用
- 注意:WSL/Linux 交叉打 win 包可行但未签名,正规发布请用 Windows 侧重跑
版本沿革(0.1.0 → 0.1.9)
| 版本 | 主题 |
|---|---|
| 0.1.0 | 核心循环(修仙/家族/经营/战斗)完备可玩 |
| 0.1.1 | 养成闭环+回档+叙事(指婚/装备/祭祖/战报匣/年度纸笺) |
| 0.1.2 | 宗族气韵(职事/悟道/谱系/碑录/庆典/飞升/合音效) |
| 0.1.3 | 深度审计(旧档兼容/血缘/联姻/远征修复) |
| 0.1.4 | 百年定局(终局/大比/寄读/春秋原) |
| 0.1.5 | 人物志(志向/渡劫/列传/契合/回声) |
| 0.1.6 | 时轮与造化(GameClock/RngHub/时节/年轴/保护) |
| 0.1.7 | 仙门之钥(门面/能力注册表/数据包/开发者面板) |
| 0.1.8 | 万物皆是插件 + 全应用审计(60+ 缺陷歼灭) |
| 0.1.9 | 百年报告 + 存档迁移 v2 + 战斗阵型 + 冬祷 + 发布哨兵 |
| 0.1.10 | 长线决断(数值重建:修炼提速/寿元放宽/渡劫修复 + 拍卖/传薪/护族) |
| 0.1.11 | 全源码审计缺陷歼灭 + UX 打磨(警讯徽章/首启引导/格式化) |
Languages
TypeScript
95.4%
CSS
4.1%
JavaScript
0.5%