[Parity][map][S2][R] 单位 / 传送门标记的种类和颜色与原版不符:缺少自己的召唤物/雇佣兵、非队友玩家、尸体、仓库;传送门画成 MaxiMap 图块;NPC 用手写城镇表 #627
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?
来源审计项:
map#8— [S2][R] 单位 / 传送门标记的种类和颜色与原版不符:缺少自己的召唤物/雇佣兵、非队友玩家、尸体、仓库;传送门画成 MaxiMap 图块;NPC 用手写城镇表位置:
src/client/scene/world-renderer.ts:1179-1206:只收集三类。getTownNpcDescriptorByHcIdx(u.classId)。u.isPartyMember。src/client/ui/minimap.ts:76-89(AUTOMAP_CROSSHAIR_COLORS)。minimap.ts:1036-1090:传送门cellNo = levelId===4 ? 300 : isLocalPlayerOwner===false ? 307 : 306。minimap.ts:1104-1120:minimap.ts:1130:NPC 名字用金色,队友名字用绿色。原版(V-bin,0x6fb11490-0x6fb1176f): 按单位类型返回颜色。颜色在 0x6fb0f090-0x6fb0f153 由
call 0x6fabd390(r,g,b)初始化:0x6fab1760(classId, 9)为真 → 0x216 白色,但 hcIdx 0x219-0x21b 除外。imul eax,0x1a8)+0xC 处的标志位。MONSTATSFLAGINDEX_INTERACT(V-srcMonsterTbls.h:157-168)。monstats.txt#538-#540)。0x6fad19f0,查宠物列表,并检查 PetType 标志 bit4 =PETTYPEFLAGINDEX_AUTOMAP(V-srcD2DataTbls.h:207-212):代码与原版的差异:
mercenary用的是"队友宠物色" (72,160,52),而且运行时根本不传召唤物和雇佣兵。monstats.interact。isLocalPlayerOwner,所以实际上全部是 306。影响: 召唤流 / 雇佣兵玩家看不到自己的宠物标记;多人游戏看不到其他玩家和尸体;传送门显示为封印图标,颜色错误;城外 NPC 不显示。
建议:
monstats的 interact 标志、pettype.txt的 automap 列、队伍关系。已有 issue: —(#556 是左上角头像,#559 是怪物名牌,都不涉及自动地图)