[Parity][ui/inventory][S2][R] 背包、纸娃娃、储物箱与赫拉迪克方块物品格底色按品质自创着色,可用已装备物品全铺绿底 #684

Closed
opened 2026-10-02 11:42:55 +00:00 by troytt · 0 comments
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#6 — [S2][R] 物品格底色:暗金/套装物品加自创底色,可用的已装备物品一律铺绿色

  • 位置:
    • src/client/ui/inventory.ts:2272-2279(纸娃娃):可用铺 rgba(18,42,24,0.52) 绿色,不可用铺红色。
    • src/client/ui/inventory.ts:2288-2296(背包):暗金 rgba(58,42,16,0.45),套装 rgba(16,52,22,0.45),其他 rgba(20,32,54,0.45),未鉴定或不可用为红色。
    • 绘制时没有用本文件自己的 resolveGridItemBackgroundFill(765 起),也不处理"持物悬停"的绿色。
  • 代码:: placed.item.quality === 'unique' ? 'rgba(58, 42, 16, 0.45)' : placed.item.quality === 'set' ? 'rgba(16, 52, 22, 0.45)' : 'rgba(20, 32, 54, 0.45)'
  • 原版:
    • 背包里的物品只有蓝底(可用)和红底(不可用或未鉴定)两种;绿色只在手持物品悬停到格子上时出现;不按品质着色(K-中)。
    • 本文件 591-597 行注释给出的调色板也只有红、绿(持物悬停)、蓝三种,并引用了 D2Client 地址(代码注释声称,未复核)。
  • 影响:
    • 暗金和套装物品下面出现原版没有的金色、绿色方块。
    • 装备栏里所有可用装备都铺绿底,与"持物悬停"的绿色混淆。
    • 持物悬停时没有放置提示。
  • 建议:
    • 统一走 resolveGridItemBackgroundFill 的红/蓝/悬停绿逻辑,删除按品质着色。
    • 装备栏底色规则和具体颜色需逆向确认。
  • 已有 issue:—

来源审计项:panels#13 — [S2][R] 储藏箱和方块里的物品底色按品质着色,是自造规则,和本项目 vendor / inventory 的实现也不一致

  • 位置:src/client/ui/world-panels.ts:2733-2741(stash)、:2796-2804(cube)
  • 代码:不可用或未鉴定 → rgba(72,18,18,0.50);unique → 金色底;set → 绿色底;其他所有物品(包括普通白装)→ rgba(20,32,54,0.45) 蓝底。
  • 原版:可用的普通物品没有底色,不能用的物品是红底(K高)。本项目 vendor 和背包走的是 resolveGridItemBackgroundFill(src/client/ui/inventory.ts:765,代码注释声称依据 0x6fb459f7,未复核),这里却另写了一套配色。
  • 影响:储藏箱和方块里的每个物品都带一块彩色底。
  • 建议:统一走 resolveGridItemBackgroundFill,并去掉品质着色。
  • 已有 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#6` — [S2][R] 物品格底色:暗金/套装物品加自创底色,可用的已装备物品一律铺绿色 - 位置: - `src/client/ui/inventory.ts:2272-2279`(纸娃娃):可用铺 `rgba(18,42,24,0.52)` 绿色,不可用铺红色。 - `src/client/ui/inventory.ts:2288-2296`(背包):暗金 `rgba(58,42,16,0.45)`,套装 `rgba(16,52,22,0.45)`,其他 `rgba(20,32,54,0.45)`,未鉴定或不可用为红色。 - 绘制时没有用本文件自己的 `resolveGridItemBackgroundFill`(765 起),也不处理"持物悬停"的绿色。 - 代码:`: placed.item.quality === 'unique' ? 'rgba(58, 42, 16, 0.45)' : placed.item.quality === 'set' ? 'rgba(16, 52, 22, 0.45)' : 'rgba(20, 32, 54, 0.45)'` - 原版: - 背包里的物品只有蓝底(可用)和红底(不可用或未鉴定)两种;绿色只在手持物品悬停到格子上时出现;不按品质着色(K-中)。 - 本文件 591-597 行注释给出的调色板也只有红、绿(持物悬停)、蓝三种,并引用了 D2Client 地址(代码注释声称,未复核)。 - 影响: - 暗金和套装物品下面出现原版没有的金色、绿色方块。 - 装备栏里所有可用装备都铺绿底,与"持物悬停"的绿色混淆。 - 持物悬停时没有放置提示。 - 建议: - 统一走 `resolveGridItemBackgroundFill` 的红/蓝/悬停绿逻辑,删除按品质着色。 - 装备栏底色规则和具体颜色需逆向确认。 - 已有 issue:— ### 来源审计项:`panels#13` — [S2][R] 储藏箱和方块里的物品底色按品质着色,是自造规则,和本项目 vendor / inventory 的实现也不一致 - **位置**:`src/client/ui/world-panels.ts:2733-2741`(stash)、`:2796-2804`(cube) - **代码**:不可用或未鉴定 → `rgba(72,18,18,0.50)`;unique → 金色底;set → 绿色底;**其他所有物品**(包括普通白装)→ `rgba(20,32,54,0.45)` 蓝底。 - **原版**:可用的普通物品没有底色,不能用的物品是红底(K高)。本项目 vendor 和背包走的是 `resolveGridItemBackgroundFill`(`src/client/ui/inventory.ts:765`,代码注释声称依据 0x6fb459f7,未复核),这里却另写了一套配色。 - **影响**:储藏箱和方块里的每个物品都带一块彩色底。 - **建议**:统一走 `resolveGridItemBackgroundFill`,并去掉品质着色。 - **已有 issue**:—
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#684
No description provided.