function ItemTips.ParseExAddAttr(attr, needAttrList)
if not attr or string.len(attr) == "" then
return
end
local attrAlignment = SL:GetMetaValue("WINPLAYMODE") and tonumber(SL:GetMetaValue("GAME_DATA", "pc_tips_attr_alignment
要控制哪些装备不显示附加属性,需要修改`ItemTips.ParseExAddAttr`函数的调用条件。根据资料显示,在调用该函数前会检查`needCombineEx`变量:
```lua
-- 检查是否需要合并附加属性
local needCombineEx = checkNeedCombineExAdd()
local abilexStr = itemData.ExAbil and itemData.ExAbil.abilex
local exAttrStr = not needCombineEx and ItemTips.ParseExAddAttr(abilexStr) or nil
```
控制不显示附加属性的地方在`checkNeedCombineExAdd()`函数中。从资料可以看到有几个条件会控制是否显示附加属性:
1. **装备加星**:当`table.indexofex(JiaxingOBJ.wheres, 1, itemData.Where)`为true时
2. **武器增幅**:当`itemData.Where == 1`时
3. **衣服增幅**:当`itemData.Where == 0`时
4. **镇派宝典**:当`itemData.StdMode == 53`时
在这些情况下,`exAttrStr`会被设置为`{}`或`nil`,从而不显示附加属性。你需要修改`checkNeedCombineExAdd()`函数,添加对"不是表的装备"的判断条件。
比如,如果要根据装备名字控制,可以这样修改:
```lua
function checkNeedCombineExAdd()
-- 原有的判断逻辑...
-- 新增:根据装备名字判断
local equipName = itemData and itemData.Name or ""
local checkEquipList = {
"君龙之心",
"鱼龙百变",
"浮光掠影",
"天外飞仙",
"北冥神功",
"独孤九剑",
"万剑归宗"
}
for _, name in ipairs(checkEquipList) do
if string.find(equipName, name) then
-- 如果是这些装备,不显示附加属性
return false, false -- 第一个false表示不需要合并,第二个false表示不显示
end
end
-- 原有的返回逻辑...
end
```
这样修改后,当装备名字匹配到列表中的装备时,就不会显示附加属性了。