[Parity][inv-skills][S2][R/H] 角色面板:技能伤害框恒为空、只有一个 Attack Rating、数值颜色固定、抗性金色阈值写死 75、标签是自创文字 #687

Closed
opened 2026-10-02 11:42:55 +00:00 by troytt · 1 comment
Owner

1.13c 客户端保真度审计立项(基准快照:7bd1090 / main @ 77a20c7)

证据标记说明:V-data = 1.13c MPQ 数据表 (.txt / animdata.d2 / .tbl / pal.pl2);V-src = D2MOO 逆向源码;V-bin = 1.13c DLL 反汇编;K = 1.13c 公认行为。

来源审计项:inv-skills#9 — [S2][R/H] 角色面板:技能伤害框恒为空、只有一个 Attack Rating、数值颜色固定、抗性金色阈值写死 75、标签是自创文字

  • 位置:
    • src/client/ui/hud-manager.ts:2371-2374:leftSkillDmg: ''、rightSkillDmg: '',恒为空。
    • src/client/ui/character-sheet.ts:205-249:标签写成 'Left Attack'/'Damage'、'Right Attack'/'Damage',中文写成 '左键技能伤害'/'右键技能伤害'。
    • character-sheet.ts:252-262:只画了一个 Attack Rating(y=156)和 Defense(y=204)。
    • character-sheet.ts:161-163:四项基础属性值恒为 'blue'。
    • character-sheet.ts:262/281/293:Defense、最大生命、最大法力恒为蓝色;255 行 AR 恒为白色。
    • character-sheet.ts:338:color: res.val >= 75 ? 'gold' : res.val < 0 ? 'red' : 'white'
  • 原版:
    • 面板为左右手各显示技能名、Damage 和 Attack Rating。底图 char-sheet.png 在 Dexterity 一带有左 AR、右 AR、Defense 三个数值框,代码只填了其中两个(本地查看资源)。
    • 标签来自 tbl:strchrskm "Damage"、strchratr "%s\nAttack Rating"、strchrrat "%s\nRating"、strchrdef "Defense"、strchrfir "Fire\nResistance"(V-src canonical-tbl-strings.ts:3828-3843)。
    • 数值颜色:未受加成为白色,被提升为蓝色,被削弱为红色(K-高)。
    • 抗性上限 = 75 + 最大抗性加成(本仓库 src/client/ui-model/derived-stats.ts:61-63 也是这样算的),金色阈值不应写死为 75(K-中)。
  • 影响:
    • 正常游玩时角色面板看不到任何伤害数值,右手 AR 缺失。
    • 所有属性不论有没有装备加成都显示为蓝色。
    • 带 +最大抗性装备时,抗性颜色判断错误。
    • 抗性标签只有一行,原版为两行。
  • 建议:
    • 伤害和 AR 按左右技能分别计算,填进原版的三个框。
    • 颜色按"当前值与基础值的比较"决定。
    • 抗性阈值取实际上限。
    • 标签走 tbl。
  • 已有 issue:—
> **1.13c 客户端保真度审计立项**(基准快照:`7bd1090` / `main @ 77a20c7`) > 证据标记说明:`V-data` = 1.13c MPQ 数据表 (`.txt` / `animdata.d2` / `.tbl` / `pal.pl2`);`V-src` = D2MOO 逆向源码;`V-bin` = 1.13c DLL 反汇编;`K` = 1.13c 公认行为。 ### 来源审计项:`inv-skills#9` — [S2][R/H] 角色面板:技能伤害框恒为空、只有一个 Attack Rating、数值颜色固定、抗性金色阈值写死 75、标签是自创文字 - 位置: - `src/client/ui/hud-manager.ts:2371-2374`:`leftSkillDmg: ''`、`rightSkillDmg: ''`,恒为空。 - `src/client/ui/character-sheet.ts:205-249`:标签写成 'Left Attack'/'Damage'、'Right Attack'/'Damage',中文写成 '左键技能伤害'/'右键技能伤害'。 - `character-sheet.ts:252-262`:只画了一个 Attack Rating(y=156)和 Defense(y=204)。 - `character-sheet.ts:161-163`:四项基础属性值恒为 `'blue'`。 - `character-sheet.ts:262/281/293`:Defense、最大生命、最大法力恒为蓝色;255 行 AR 恒为白色。 - `character-sheet.ts:338`:`color: res.val >= 75 ? 'gold' : res.val < 0 ? 'red' : 'white'` - 原版: - 面板为左右手各显示技能名、Damage 和 Attack Rating。底图 char-sheet.png 在 Dexterity 一带有左 AR、右 AR、Defense 三个数值框,代码只填了其中两个(本地查看资源)。 - 标签来自 tbl:strchrskm "Damage"、strchratr "%s\nAttack Rating"、strchrrat "%s\nRating"、strchrdef "Defense"、strchrfir "Fire\nResistance"(V-src `canonical-tbl-strings.ts:3828-3843`)。 - 数值颜色:未受加成为白色,被提升为蓝色,被削弱为红色(K-高)。 - 抗性上限 = 75 + 最大抗性加成(本仓库 `src/client/ui-model/derived-stats.ts:61-63` 也是这样算的),金色阈值不应写死为 75(K-中)。 - 影响: - 正常游玩时角色面板看不到任何伤害数值,右手 AR 缺失。 - 所有属性不论有没有装备加成都显示为蓝色。 - 带 +最大抗性装备时,抗性颜色判断错误。 - 抗性标签只有一行,原版为两行。 - 建议: - 伤害和 AR 按左右技能分别计算,填进原版的三个框。 - 颜色按"当前值与基础值的比较"决定。 - 抗性阈值取实际上限。 - 标签走 tbl。 - 已有 issue:—
Author
Owner

Resolved and verified in commit 2733a72 (Batch 6 Phase 3: canonical 1.13c skills.txt/skilldesc.txt/.tbl metadata, speedbar generic/item skills & weapon gating, tooltips, character sheet dual AR/damage & stat coloring, and Attack IconCel=2).

Resolved and verified in commit `2733a72` (Batch 6 Phase 3: canonical 1.13c skills.txt/skilldesc.txt/.tbl metadata, speedbar generic/item skills & weapon gating, tooltips, character sheet dual AR/damage & stat coloring, and Attack IconCel=2).
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#687
No description provided.