S14V1.52: 修复条件优先级/底材星级顺序/估值公式等多项问题,反向同步 build 模块并新增静态检查脚本 #1
Loading…
Reference in New Issue
No description provided.
Delete Branch "troytt/ZYLPD2-Filter-Lonelywolf:fix/s14-v1.52-audit-and-build-sync"
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?
你好!对照 ZYLPD2
BH.dll规则解析引擎及 S14pd2data.mpq数据表(CubeMain.txt/ItemStatCost.txt/Misc.txt)对BadWolf-LootFilter.txt(S14V1.51) 进行了全量静态审计,修复了已确认的语法、优先级、底材星级遮蔽与评分公式问题,并将当前主文件完整反向同步回build/00..39-*.txt,同时附带了一个零依赖的静态检查与模块同步脚本build/lint_filter.py。一、主要修复内容
1. 条件语法错误与
BH.dll等优先级(隐式AND=OR)越界修复Alias[CLUBBASE3_1]:SK224=3OR补空格为SK224=3 ORAlias[RIN_CAST_5_1]:)SUFFIX=174补空格为) SUFFIX=174(gix OR 9gi 7gi) OR STAT91>19修正为(gix OR 9gi OR 7gi) STAT91>19(消除将整组前件OR化导致的任意STR>19暗金误触发)PREFIX=~421-422修正为PREFIX~421-422(scy OR pax hal ... 7h7 7wc)补齐两处遗漏的ORBH.dll中空格隐式AND与OR优先级相同、从左到右求值):Alias[RIN_UBER_4_3]:PREFIX=334 OR PREFIX=953 (...)补括号为(PREFIX=334 OR PREFIX=953) (...),防止任意带PREFIX=334单词缀的戒指直接晋升 4 星红光Alias[BOOT_5_1~5_3]/Alias[BOOT_4_1~4_3]:SUFFIX~396-397 OR SUFFIX=1040外层统一补括号(SUFFIX~396-397 OR SUFFIX=1040),防止任意仅带高跑后缀的鞋子绕过抗性/属性要求误报 4~5 星(tes OR ceh OR bet OR fed GROUND) FILTLVL>2修正为(tes OR ceh OR bet OR fed) GROUND FILTLVL>2,修复FILTLVL>2时背包/箱子内前三种精华名字被置空不可见的问题Alias[GLOVE_SKILL_4_1]:PREFIX=392 PREFIX=412之间补OR(同词缀组无法同时出现)NECROMANCER修正为PALADINTOWN修正为GROUND,恢复野外掉落显示ID条件,避免未鉴定暗金/绿装直接剧透天生是否有孔2. 第 8 章符文之语底材星级顺序重构与克隆
Alias修复0星 -> 1星 -> 2星 -> 3星 -> 4星排列且无%CONTINUE%,由于大量高星底材条件是低星底材的子集(如 4 孔 15ED 巨神剑同时满足SWORDBASE2_4与SWORDBASE3_2、3+3 权杖同时满足 2 星与 4 星),在FILTLVL~1-3下会被排在前面的低星规则提前截胡,丢失高星紫色边框与SOUNDID-4721掉落音效。8.1 ~ 8.4.12全部小节统一调整为4星 -> 3星 -> 2星 -> 1星 -> 0星严格递减匹配;移除8.4.8魔杖 3 星多余的%CONTINUE%及 1/2 星错位的边框等级;补回定义后漏引用的SWORDBASE1_2与SPEARBASE1_2;修正8.4.11/8.4.12章节编号与投掷武器3星样式标注。Alias修正:SWORDBASE2_4补ED>9、SWORDBASE3_2补ED>15(与注释 9~14ED / 15ED 对齐)WANDBASE2_2:SK86=3(吸引)修正为SK84=3(3 骨矛+3 牙)SCEPTERBASE4_4���(SK125>0 OR SK123>0)修正为(SK125=3 OR SK123=3),与 3 星SCEPTERBASE3_5区分SHIELD_SKILL_4_2:参照SHIELD_DMG_4_2合并两个后缀括号组,修复要求 4 个后缀的不可达条件JEW_CAST_2_1:参照JEW_EK_2_2合并为 2 词缀组合,消除与JEW_CAST_3_1完全重复3. 价值评分公式、药水动态阈值与 UI 开关/文本宏修复
CubeMain.txt&ItemStatCost.txt):Formula[C_WAA](移除28/12重复加分)、Formula[C_SIN](移除6/5/77重复加分)、Formula[C_AB](移除15重复加分)Formula[RBE_A]:腰带全属性腐化修正为STAT360==65(原误写68触发双重扣分),并移除*0.89组内重复的STAT360==51(FRES-10)/80修正为(PRES-10)/80STAT350==50修正为STAT360==50,+1 全技能腐化还原基数统一修正为(ALLSK-2)*2,守护天使毒抗上限腐化修正为STAT360==56AND(MULTI151,102==27,0.5,0)(含0恒为0)修正为IF(MULTI151,102==27,0.5,0)STAT360==68修正为戒指 LAEK 腐化STAT360==839/56修正为火抗36/53/7修正为/3;亮金双手法杖:冰/电法杖腐化公式修正为FORMULAC_STC/FORMULAC_STDSK42+TABSK8修正为SK40+TABSK10(冰系技能页)!SHOW_MP5 hp5笔误为!SHOW_HP5 hp5Formula[HP_LOW80]:IF(CHARSTAT6*5<CHARSTAT7*4,1,0)与Formula[MP_LOW80]:IF(CHARSTAT8*5<CHARSTAT9*4,1,0)替代原先 28 段硬编码折线(修复原500~550血蓝档位10240少写一个0的漏洞,且支持超过5000血蓝的角色)SHOW_RAREAMA_5/6、SHOW_MAGAMA_5/6、SHOW_RAREWEAPON_1、SHOW_MAGWEAPON_1的@按键名@重复标签Alias[KNOWNMAPS]补充 S14 地图代码t61、t62、t99gpv~skz)与符文修理提示(r08/r09/r33)补充可堆叠形态*s,修正闪耀手工盔甲Ei->El、丰饶手工项链补[18]%GRAY%%Steel、抽动挣扎%%CL%、碎骨%%CL%、神蛇之羽CL%、%%LIGHT_GRAY%等宏拼写问题,以及暗金毁灭小护身符悬停描述漏写%CL%%NAME%、注入头盔图标■对齐问题二、构建分片反向同步与静态检查脚本 (
build/lint_filter.py)build/00..39-*.txt全量反向同步:此前build/目录停留在V1.45,现已将修复后的BadWolf-LootFilter.txt(V1.52) 无损反向拆分回全部 40 个分片文件,在 Windows 下运行build/过滤器生成脚本.bat生成的结果与根目录BadWolf-LootFilter.txt逐字节 100% 一致。build/lint_filter.py(仅依赖 Python 3 标准库):python build/lint_filter.py:一键检查build/分片同步一致性、指令语法、BH 面板重名开关、条件括号粘连与AND/OR等优先级陷阱、公式恒零/重复腐化 ID、残缺颜色宏以及第 8 章底材星级递减顺序(当前 0 错误, 0 警告)python build/lint_filter.py --sync-build:直接编辑根目录BadWolf-LootFilter.txt后,一键反向拆分回写build/00..39-*.txtpython build/lint_filter.py --merge-build:修改build/*.txt分片后,跨平台一键合并生成BadWolf-LootFilter.txt与最新分支偏差较大,不并入
Pull request closed