百科 Wiki
逐个类拆开的 TL2 引擎参考 —— 字段图、键表、默认值、写错的后果,每条都带函数地址。
2026-08-27239 个 TYPE 的实例速查 效果系列的收尾一篇。239 个 TYPE 每个配一份**真实数据样例**加一句游戏内效果说明,按 20 个主题分组。样例不是编的——185 个直接取自原版 MEDIA、38 个取自 MOD 库,每条都标出源文件路径可自行核对;只有 16 个原版与 MOD 库均无使用的类型给了按槽位表构造的最小样例并明确标注。每条还附「样例读数」(把该类型的槽位别名与样例里的实际值对上)、「生效方式」(这个类型走六条路径中的哪几条、DURATION 该怎么填)和「实测用量」(在两个库里各被写了多少次)。开篇先列出**六个有人在写、引擎却不读的类型**,它们的条目里另挂警告块。2026-08-27239 个 TYPE 的行为解释 回答「这个 [EFFECT] 块填成这样,游戏里会发生什么」。引擎里只有六条路径能让一个效果产生作用:statCache 数值查询、直接扫表、按类型布尔查询、INSTANT 执行器、挂载分派、每帧 tick 分派;一个类型参与哪几条,就决定了它必须怎么写、DURATION 该填什么、写错会不会静默失效。两个分派器的跳转表已逐字节解出(INSTANT 231 个 case 只有 56 个类型有真分支、175 个空操作;挂载 222 个 case 只有 28 个)。239 个类型中 223 个已定位到消费方,另有 7 个属开发期占位或空操作哨兵,其余 0 个逐个列出并说明状态。另附伤害加成按七个伤害类型分桶记账、近战/远程结算函数镜像、物品需求按 UNITTYPE 选型、抗性间址表把「全部抗性」错读成类型 0 等机制。2026-08-25EFFECTSLIST.DAT —— 239 个 TYPE 的数值槽对照表 把 EFFECTSLIST.DAT 的 239 行全部摊开:每一行的五个数值槽别名、默认曲线、显示形态、精度,以及在原版 9984 个与 MOD 库 200352 个效果块中的实测用量。逐指令拆开 EffectsList_dat_load_239,给出 13 张运行期全局表的地址、元素类型、写入点与读取点;并纠正三处流传已久的误解——MINVAL 是一列完全没有读取点的死数据、MAXVAL 只贡献符号而量级被 Ogre::Math::Sign 丢弃、TYPE 列的 Percent 与 Value 对引擎完全等价。另附 TYPE 拼错时静默降级为第 193 行 NONE 的证据链,以及 MOD 库里实测到的 20 个失效 TYPE 值。2026-08-25CEffectDisplayMgr —— 增益条与效果分组的完整参考 拆开 TL2 状态增益栏的整条显示链路。先厘清一个长期被混用的命名——「CEffectDisplayMgr」在 RTTI 里根本不存在,那个全局指针指的是 CUIEffectList;顺带纠正 CEffectGroupManager 是全局单例(同时也是词缀库)而非每对象一个。含四个类的完整字段图与 C++ 声明、分组键是「来源技能 UNIQUE_GUID」而非 (NAME, TYPE) 的判定逻辑、addToMatchingGroup 兼做垃圾回收的双重职责、EFFECTSLIST.DAT 的 TYPE 列如何决定数值显示形态,以及 SHOW_IN_BUFFLIST 被两处以不同默认值重复读取的陷阱。2026-08-25CEffectManager —— 效果管理器的完整参考 解剖 Torchlight2.exe 中每个单位与每件装备各自持有的效果管理器:1240 字节的完整字段结构、四张效果表的分流规则、`linkEffect` 六个阶段的挂载与去重契约(`EXCLUSIVE` 只看新来者、任何情况下都不拒绝新效果)、逐帧过期与三条卸载路径的所有权归属、`addAffix` 被难度拒绝时自行析构调用方对象的陷阱,以及 239 个浮点属性缓存为何无法通过补丁扩容。2026-08-25CAffix —— 词缀对象的完整参考 详细解析 `[AFFIX]` 数据块中 12 个配置键与 Torchlight2.exe 汇编指令的对应关系,阐明各键的默认值、缺省与配置错误的后果,并统计其在原版 4049 个及 MOD 库 48203 个词缀定义中的实际使用频次。包含 CAffix 完整的 224 字节内存字段结构图、基于 UNITTYPE 的五道词缀池筛选机制、`[UNITTYPES]` 与 `[NOT_UNITTYPES]` 在不同场景下的相反空表语义、词缀效果数值基于品质线性插值(非纯随机)的真实计算公式,以及「CAffix 不进入存档」的逆向验证分析。2026-08-25CEffect —— 效果对象的完整参考 将 `[EFFECT]` 数据块中的 24 个配置键逐条对应至 Torchlight2.exe 的写入指令,详细阐明各键的数据类型、默认值、缺省与配置错误的后果,并统计原版 9989 个及 MOD 库 202191 个效果块中的实际使用频次。附 CEffect 完整的 304 字节内存字段结构图、22 个标志位解析、五个数值槽的别名映射机制、两条核心数值计算公式,以及效果在存档中的逐字段二进制布局——深入解释为什么修改 EFFECTSLIST.DAT 的行数或顺序会导致旧存档全面错位。2026-08-24怎么正确设计一个 TL2 技能:EVENT / EFFECT / AFFIX 与数值槽的引擎级规则 把技能 dat 的每一层对应到 Torchlight2.exe 里的真实类和真实分支,给出「该怎么写」而不是「大家都这么写」:DURATION 三态的决策表(175 个类型写 INSTANT 等于禁用)、EXCLUSIVE 的默认值陷阱(有限时长的 DAMAGE 自动独占)、五个数值槽的曲线覆盖规则、块名拼错静默降级、13 个引擎根本不读的死键(含新查出的 ATTACH / DAMAGETYPE / PLAY_HIT 约 5200 处白写),以及引擎自带的 COMBAT LOG 排错开关。附按真实用量排的各块高频键表和一份配齐的骨架。