任务面板(Quest Log)任务说明与阶段目标严格读取原版 .tbl 字符串规范 #381
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题背景与现状
在当前的客户端任务日志面板(快捷键
Q,见用户反馈截图media_1790066555532.png)中:src/ui/world-panels.ts中的ACT_QUESTS常量使用了 27 个现代大白话编写的固定摘要字符串(例如邪恶洞窟写为"阿卡拉委托你肃清鲜血荒地地下的邪恶洞窟。任务已完成,奖励 +1 技能点。"),完全脱离了暗黑 2 经典的 MPQ.tbl文本数据系统。qstsprevious:“你在先前的遊戲之中完成這個任務了。” 或对应 NPC 的回报对话)。data\global\ui\MENU\expquesttabs.dc6(已切图就绪于public/ui/quest-tabs.png,尺寸 63x31,包含 10 帧罗马数字雕刻凹凸按压与激活态)。原版 1.13c Ground Truth(任务 TBL 键名规范)
在 Diablo II 1.13c 中,全五幕共 27 个任务在
string.tbl、expansionstring.tbl与patchstring.tbl中具有极其严谨的键值命名结构:1. 任务标题(Quest Title)
统一规则:
qstsa<act>q<quest>qstsa1q1("邪惡洞穴"),qstsa1q2("修女埋骨之所"),qstsa1q3("尋找凱恩"),qstsa1q4("遺忘之塔"),qstsa1q5("交易的工具"),qstsa1q6("屠殺的修女")qstsa2q1("羅達門特的巢穴"),qstsa2q2("赫拉迪克之杖"),qstsa2q3("污染的太陽"),qstsa2q4("神秘避難所"),qstsa2q5("召喚者"),qstsa2q6("七個古墓")qstsa3q1("黃金鳥"),qstsa3q2("古代宗教之刃"),qstsa3q3("克林姆的意志"),qstsa3q4("藍·森的古書"),qstsa3q5("黑暗的神廟"),qstsa3q6("守護者")qstsa4q1("墮落的天使"),qstsa4q2("地獄熔爐"),qstsa4q3("恐怖的結局")qstsa5q1("哈洛加斯圍攻戰"),qstsa5q2("亞瑞特山上的救援行動"),qstsa5q3("冰之牢"),qstsa5q4("背叛的先驅"),qstsa5q5("通過祭典"),qstsa5q6("毀滅的終結")2. 任务阶段说明(Quest Stages & Objectives)
统一规则:
qstsa<act>q<quest><stage>以 Act 1 Quest 1(邪恶洞穴)为例:
qstsa1q11: "在蘿格營地外面的荒野中,找尋一個洞穴。"qstsa1q12: "殺死所有盤踞在洞穴中的怪物。"qstsa1q14: "剩下的怪物:%d" (动态插值)qstsa1q15: "回去找阿卡拉領賞。"以 Act 1 Quest 2(修女埋骨之所)为例:
qstsa1q21: "在埋骨之地中消滅血鳥。"qstsa1q22: "在蘿格營地附近的埋骨之地中消滅血鳥。"qstsa1q23: "消滅血鳥之後,回去找卡夏領賞。"3. 任务完成与历史状态提示
qstsprevious: "你在先前的遊戲之中完成這個任務了。"(当任务已在以往游戏中达成时,任务说明区展示此通用原版说明)改造与验收标准
ACT_QUESTS中的手写硬编码中文描述,改为根据任务 ID(如a1q1)和当前任务状态(未接取/进行中阶段/已完成)动态查询tbl数据管理器。stage渲染对应的阶段目标文字(若任务已完成,显示原版完成文本或qstsprevious)。expquesttabs.dc6(public/ui/quest-tabs.png),偶数帧为打开态,奇数帧为关闭态。undefined或缺损。