feat(v0.4): 回响编年史 — 跨周目叙事时间轴系统
- 新增 ChronicleEntry / RunStartSnapshot 类型与 GameState 字段 - 新建 chronicle.ts: 5 纪元名生成、模板化叙事、里程碑检测、run delta 计算 - engine.ts performPrestige 构建编年史条目并重置 runStart - gameStore: init 兼容旧存档 + tickTide 记录星潮 + resolveCurrentNode 计 BOSS 击杀 - chooseConstellationPerk 回填最近一条 entry 的 perksThisAscension - 新建 ChronicleDialog.tsx: 时间轴 UI + 5 纪元循环色 + 入场动画 - 新增 6 项成就: 首部编年/三纪元回响/五纪元闭环/首杀维度/维度猎手/星潮亲历者 - 新增 chronicle / chronicleOpen 程序化音效 - 修复关键 BUG: PrestigeDialog disabled 逻辑错误导致玩家永远无法飞升 - 修复 UX: newBp=0 时不再永久禁用飞升按钮(v0.3.1 星图+v0.4 编年史已提供动机) - 统计面板新增 BOSS 击破/星潮亲历/编年史条目 3 行 - 版本号升至 v0.4
This commit is contained in:
@@ -191,6 +191,66 @@ export const ACHIEVEMENTS: Achievement[] = [
|
||||
reward: { crystalsPerSecPct: 12, insightPct: 12 },
|
||||
rewardText: "产能 +12% · 洞见 +12%",
|
||||
},
|
||||
{
|
||||
id: "ach_chronicle_1",
|
||||
name: "首部编年",
|
||||
desc: "完成首次飞升,开启编年史第一章",
|
||||
icon: "📖",
|
||||
color: "#e879f9",
|
||||
check: (s) => (s.chronicle?.length ?? 0) >= 1,
|
||||
reward: { insights: 40, crystalsPerSecPct: 6 },
|
||||
rewardText: "+40 洞见 · 产能 +6%",
|
||||
},
|
||||
{
|
||||
id: "ach_chronicle_3",
|
||||
name: "三纪元回响",
|
||||
desc: "完成 3 次飞升,编年史铭刻三章",
|
||||
icon: "📜",
|
||||
color: "#fbbf24",
|
||||
check: (s) => (s.chronicle?.length ?? 0) >= 3,
|
||||
reward: { crystalsPerSecPct: 10, insightPct: 10 },
|
||||
rewardText: "产能 +10% · 洞见 +10%",
|
||||
},
|
||||
{
|
||||
id: "ach_chronicle_5",
|
||||
name: "五纪元闭环",
|
||||
desc: "完成 5 次飞升,走完一轮纪元循环",
|
||||
icon: "♾",
|
||||
color: "#fcd34d",
|
||||
check: (s) => (s.chronicle?.length ?? 0) >= 5,
|
||||
reward: { crystalsPerSecPct: 15, insightPct: 15 },
|
||||
rewardText: "产能 +15% · 洞见 +15%",
|
||||
},
|
||||
{
|
||||
id: "ach_boss_1",
|
||||
name: "首杀维度",
|
||||
desc: "在遗迹探险中击破首个 BOSS",
|
||||
icon: "⚔",
|
||||
color: "#fb7185",
|
||||
check: (s) => (s.bossKills ?? 0) >= 1,
|
||||
reward: { insights: 25, crystalsPerSecPct: 4 },
|
||||
rewardText: "+25 洞见 · 产能 +4%",
|
||||
},
|
||||
{
|
||||
id: "ach_boss_5",
|
||||
name: "维度猎手",
|
||||
desc: "累计击破 5 个 BOSS",
|
||||
icon: "⛧",
|
||||
color: "#e879f9",
|
||||
check: (s) => (s.bossKills ?? 0) >= 5,
|
||||
reward: { crystalsPerSecPct: 10, insightPct: 8 },
|
||||
rewardText: "产能 +10% · 洞见 +8%",
|
||||
},
|
||||
{
|
||||
id: "ach_tides_all",
|
||||
name: "星潮亲历者",
|
||||
desc: "经历全部 6 种星潮事件",
|
||||
icon: "🌊",
|
||||
color: "#34d399",
|
||||
check: (s) => (s.starTidesEncountered?.length ?? 0) >= 6,
|
||||
reward: { crystalsPerSecPct: 8, insightPct: 8 },
|
||||
rewardText: "产能 +8% · 洞见 +8%",
|
||||
},
|
||||
];
|
||||
|
||||
/** 计算成就提供的永久加成(跨周目保留) */
|
||||
|
||||
Reference in New Issue
Block a user