v0.1.2: 宗族气韵(职事/悟道/谱系/碑录/庆典/飞升/音效)
- 职事任命:长老(+修炼)/供奉(+战力)/执事(+坊市)/掌教(+闭关) 每人加成叠加,上限管理 - 功法悟道:修习积悟性点,小成/大成逐级+战力,大境界突破传道于直系晚辈 - 宗族谱系页:世代分带 + 夫妻同卷 + 子孙连枝,点节点开详情,先人簿可查 - 功德碑:宗主辞世即勒石,宗祠页碑录永存 - 百年庆典 + 飞升之路事件链(留世坐镇/仙风入体 或 云游飞升/宗族蒙荫) - 合成音效(WebAudio):鼓点/钟鸣/纸韵/磬响,设置页开关 - 单测 29→38;typecheck/build 通过;GUI 冒烟受限于 WSLg 掉线(SMOKE-TIMEOUT 优雅退出)
This commit is contained in:
@@ -104,6 +104,26 @@ export default function TerritoryPanel() {
|
||||
)
|
||||
}
|
||||
|
||||
function MonumentList() {
|
||||
const world = useGameStore((s) => s.world)
|
||||
const revision = useGameStore((s) => s.revision)
|
||||
void revision
|
||||
if (!world) return null
|
||||
const monuments = world.state.chronicle.filter((e) => e.text.startsWith('功德碑')).slice().reverse()
|
||||
if (monuments.length === 0) return null
|
||||
return (
|
||||
<div className="monument-strip">
|
||||
<div className="card-title" style={{ fontSize: '0.98rem' }}>宗祠碑录</div>
|
||||
{monuments.slice(0, 4).map((m) => (
|
||||
<div key={m.id} className="dim" style={{ lineHeight: 1.7 }}>
|
||||
<span className="ch-year" style={{ marginRight: 8 }}>{m.year}年</span>
|
||||
{m.text.slice(3)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function itemLabel(k: string): string {
|
||||
const map: Record<string, string> = {
|
||||
stone: '灵石',
|
||||
|
||||
Reference in New Issue
Block a user