第 1 卷(人物主线):第 1–3 集 + 人物表
主角线:Guspu Frillyknots / Ral Fastenhatchets / Alath Blottedmine 由线索挖掘器自动选定,按因果链切集,经 5 维度自评闸门(≥12 分)后入库。
This commit is contained in:
+8
-19
@@ -130,23 +130,10 @@ def material(world: World, chapter: Chapter, max_figures: int = 40) -> str:
|
||||
|
||||
participation: dict[int, int] = {}
|
||||
for e in chapter.events:
|
||||
chunks = [f"{e.year}年", e.type]
|
||||
for tag, kind in lg.ID_FIELDS.items():
|
||||
for i in e.ids(tag):
|
||||
# id 为负是“无此项”,不要渲染成 HF#-1 这类噪音
|
||||
if kind == "figure":
|
||||
name = world.figure_name(i)
|
||||
elif kind == "site":
|
||||
name = world.site_name(i)
|
||||
elif kind == "entity":
|
||||
name = world.entity_name(i)
|
||||
else:
|
||||
name = ""
|
||||
if not name:
|
||||
continue
|
||||
chunks.append(f"{tag}={name}")
|
||||
if kind == "figure":
|
||||
participation[i] = participation.get(i, 0) + 1
|
||||
# render_refs 会带出双方(比如 slayer_hfid=谁),而不是只剩单方面 hfid
|
||||
chunks = [f"{e.year}年", e.type, *world.render_refs(e)]
|
||||
for i in e.figure_ids():
|
||||
participation[i] = participation.get(i, 0) + 1
|
||||
extra = []
|
||||
for field_name in ("state", "reason", "circumstance"):
|
||||
v = e.text(field_name)
|
||||
@@ -184,8 +171,10 @@ def overview(world: World, chapters: list[Chapter], limit: int = 10) -> str:
|
||||
lo, hi = world.event_years()
|
||||
lines = [
|
||||
f"世界:{world.name}" + (f"({world.altname})" if world.altname else ""),
|
||||
f"历史:{lo}–{hi} 年 | 史料事件 {len(world.events)} 条 | "
|
||||
f"人物 {len(world.figures)} | 势力 {len(world.entities)} | 地点 {len(world.sites)}",
|
||||
(
|
||||
f"历史:{lo}–{hi} 年 | 史料事件 {len(world.events)} 条 | "
|
||||
f"人物 {len(world.figures)} | 势力 {len(world.entities)} | 地点 {len(world.sites)}"
|
||||
),
|
||||
f"规划章节:{len(chapters)} 章(每章约 {YEARS_PER_CHAPTER} 年 / 最多 {EVENTS_PER_CHAPTER} 条史料)",
|
||||
]
|
||||
for c in chapters[:limit]:
|
||||
|
||||
Reference in New Issue
Block a user