这一篇怎么用:想知道某个 TYPE 长什么样、抄一份能跑的写法,翻到对应条目。 想知道它为什么这么写、机制在哪,看 239 个 TYPE 的行为解释; 想查槽位别名与默认曲线,看 数值槽对照表

样例的来源:185 个取自原版 E:/Torchlight 2/MEDIA,38 个取自 MOD 库 D:/WizardProject/TL2,每条都标了源文件的相对路径。 挑选规则是「同源内取键数在 4–12 之间、信息量最大的那一个」,并且跳过了含嵌套块的, 保证每份样例都能直接读懂。

剩下 16 个类型在原版与 MOD 库里一次都没被用过,它们的样例是按槽位表构造的, 已在条目下方明确标注——那不是实测数据

DAMAGE_TYPE 什么时候有用

这个键写在 [EFFECT] 块里,看着像每个效果都能用,实际上只有六个类型会读它8 ARMOR BONUS10 DAMAGE BONUS23 PERCENT ARMOR BONUS25 PERCENT DAMAGE BONUS26 PERCENT DAMAGE TAKEN52 DAMAGE

合法值只有七个,大小写不敏感但拼写必须精确

序号名字序号名字
0Physical4Electric
1Magical5Poison
2Fire6All
3Ice

CAUTION

写错的两个高频错法:MAGIC 不是 MAGICAL(MOD 库里 176 个块这么写, 其中 168 个在 52 DAMAGE 上)、ELECTRICAL 不是 ELECTRIC。 拼错时匹配循环七项全不中,CEffect+0x14 的写入(0x7AB545)被整个跳过。

键名写错则更隐蔽:DAMAGETYPE(少一个下划线)在两库里出现 27 次, 包括原版 2 处——SKILLS/CHAMPIONS/CHARGEDBOLT.DATSKILLS/PROCS/CHARGEDBOLT.DAT。 二进制里根本没有这个字符串,于是整个键被无视、取默认值 PHYSICAL。 详见 52 DAMAGE 的条目

两库合计 48263 个块写了 DAMAGE_TYPE,其中 9980 个是白写的—— 1435 个落在被强制成 Magical 的九个 DEFENSE 类型上(原版自己占 166 处), 8545 个落在没有消费方的类型上。完整推导见 行为解释 §2.5

每个条目下方都标了该类型的判定。

读法说明

每个条目三段:

  • 代码块 —— 一份真实的 [EFFECT] 块,原样照抄,未做删改(缩进统一为制表符)。
  • 一句话效果 —— 这个类型在游戏里做什么,以及已核实的机制要点。
  • 样例读数 / 生效方式 —— 前者把该类型的槽位别名与样例里的实际值对上; 后者说明它走六条路径中的哪几条,以及 DURATION 该怎么填。

NOTE

「生效方式」里的 INSTANT 分支挂载分支 两项来自逐字节解出的跳转表,是确定结论; 被动数值一项来自逐调用点回读,完整度说明见 行为解释 §9

先看这个:六个写了不生效的类型

下面六个类型在两个库里都有人在写,但引擎里没有任何代码会读它们。 条目里都挂了警告块,这里先列出来省得翻:

#TYPE原版MOD 库一句话
11DAMAGE TAKEN070百分比版 26 才有消费方
24PERCENT TO HIT BONUS015成品没有命中率系统
46IDENTIFY22效果块本身无行为,鉴定在技能层
131FUTURISTICNESS021开发期玩笑,但文案会照显示
135NOODLE ARMS10开发期玩笑,原版自己也误用了一次
164DISENCHANT15效果块本身无行为,去附魔靠标志位 0x400

另有四个同样没有执行路径、但属于有意为之,不算 bug—— 58 UNIT THEME(靠同块的 UNITTHEME: 键生效)、193 NONE(拼错 TYPE 的落点)、 212 TARGET LOCKED237 MINIONDAMAGE(纯展示位)。它们的条目里挂的是说明块而不是警告块。

CAUTION

237 MINIONDAMAGE 在 MOD 库里被写了 801 次。 原版那 9 处全是 DUMMY_* 前缀的占位词缀,存在的意义就是让物品提示多一行字; 照抄的人多半以为它真的会给随从加伤害。 真正管用的是 91 PERCENT PET DAMAGE(原版 19 次、MOD 库 422 次), 而且要挂在主人身上——详见该类型的条目。

基础属性

力量/敏捷/魔力/防御,以及生命与法力上限。绝大多数是被动数值,必须活着才有效。

2 · DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DEFENSE
	<FLOAT>MIN:50
	<FLOAT>MAX:120
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_STATS_DEFENSE_BONUS.DAT

防御属性(体力)。CUnit__getEffectiveVitality 先加它,再乘类型 17 的百分比。

样例读数:槽位 MIN=50、MAX=120 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 24 次 · MOD 库 623 次

DAMAGE_TYPE写了也无效 —— 0x7AAC03 的跳转表把这个类型的 CEffect+0x14 无条件写成 1(Magical),连键都不读。数据里目前无人在此类型上写它。

3 · MAGIC

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:MAGIC
	<FLOAT>MIN:50
	<FLOAT>MAX:120
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_STATS_MAGIC_BONUS.DAT

魔力属性。CUnit__getEffectiveFocus 先加它,再乘类型 18。

样例读数:槽位 MIN=50、MAX=120 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 24 次 · MOD 库 880 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

4 · MAX MANA

[EFFECT]
	<STRING>NAME:OFTHEMASTER CRITICAL CHANCE
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:MAX MANA
	<FLOAT>MIN:4
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/GEM_RANDOM_MANA.DAT

法力上限(绝对值)。CUnit__getMaxMana 读取。

样例读数:槽位 MIN=4、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 18 次 · MOD 库 1139 次

5 · MAX HP

[EFFECT]
	<STRING>NAME:OFTHEMASTER CRITICAL CHANCE
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:MAX HP
	<FLOAT>MIN:4
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/GEM_RANDOM_HP.DAT

生命上限(绝对值)。CUnit__getMaxHealth 读取。

样例读数:槽位 MIN=4、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 1657 次

DAMAGE_TYPE:数据里 80 个块写了它(原版 0、MOD 库 80),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

17 · PERCENT DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT DEFENSE
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:30
	<FLOAT>MAX:30
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_5_9.DAT

防御属性百分比加成。乘在类型 2 之上。

样例读数:槽位 MIN=30、MAX=30 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 306 次

WARNING

DAMAGE_TYPE 在这个类型上无效。 数据里有 6 个块写了它(原版 0、MOD 库 6),全部不起作用。 0x7AAC03 的跳转表把九个 DEFENSE 家族类型的 CEffect+0x14 无条件写成 1(Magical),DAMAGE_TYPE: 那一行都不读0x7AB4DB 置位后直接 jmp 过整个解析)。详见行为解释 §2.5

18 · PERCENT MAGIC

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT MAGIC
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:30
	<FLOAT>MAX:30
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_5_10.DAT

魔力属性百分比加成。乘在类型 3 之上。

样例读数:槽位 MIN=30、MAX=30 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 136 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

19 · PERCENT MANA

[EFFECT]
	<STRING>NAME:OFTHEOWL MAX MANA
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT MANA
	<FLOAT>MIN:4
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/SET_MAX_MANA.DAT

法力上限百分比加成。

样例读数:槽位 MIN=4、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 11 次 · MOD 库 545 次

20 · PERCENT HP

[EFFECT]
	<STRING>NAME:OFTHEELEPHANT MAX HP
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT HP
	<FLOAT>MIN:4
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/SET_MAX_HP.DAT

生命上限百分比加成。

样例读数:槽位 MIN=4、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 32 次 · MOD 库 1639 次

DAMAGE_TYPE:数据里 105 个块写了它(原版 0、MOD 库 105),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

69 · STRENGTH BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:STRENGTH BONUS
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:80
	<FLOAT>MAX:80
[/EFFECT]

原版 AFFIXES/GEMS/GEM_PEARL_ARMOR.DAT

力量。CUnit__getEffectiveStrength 读它与类型 71。

样例读数:槽位 MIN=80、MAX=80 · ACTIVATION=PASSIVE;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 24 次 · MOD 库 656 次

DAMAGE_TYPE:数据里 10 个块写了它(原版 2、MOD 库 8),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

70 · DEXTERITY BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DEXTERITY BONUS
	<FLOAT>MIN:50
	<FLOAT>MAX:120
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_STATS_DEXTERITY_BONUS.DAT

敏捷。CUnit__getEffectiveDexterity 读它与类型 72。

样例读数:槽位 MIN=50、MAX=120 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 24 次 · MOD 库 534 次

71 · PERCENT STRENGTH BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT STRENGTH BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:30
	<FLOAT>MAX:30
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_5_11.DAT

力量百分比加成。

样例读数:槽位 MIN=30、MAX=30 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 221 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

72 · PERCENT DEXTERITY BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT DEXTERITY BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:30
	<FLOAT>MAX:30
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_5_8.DAT

敏捷百分比加成。

样例读数:槽位 MIN=30、MAX=30 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 149 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

114 · PERMANENT STRENGTH

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERMANENT STRENGTH
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版 SKILLS/SHRINES/STAT_STRENGTH_PT1.DAT

永久增加力量。七个「永久属性」共用同一个三调用模式。

样例读数:槽位 MIN=1、MAX=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A0D5DURATION:INSTANT,给时长不会反复触发

实测用量:原版 2 次 · MOD 库 6 次

115 · PERMANENT DEXTERITY

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERMANENT DEXTERITY
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版 SKILLS/SHRINES/STAT_DEXTERITY_PT1.DAT

永久增加敏捷。

样例读数:槽位 MIN=1、MAX=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A103DURATION:INSTANT,给时长不会反复触发

实测用量:原版 2 次 · MOD 库 6 次

116 · PERMANENT MAGIC

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERMANENT MAGIC
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版 SKILLS/SHRINES/STAT_FOCUS_PT1.DAT

永久增加魔力。

样例读数:槽位 MIN=1、MAX=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A131DURATION:INSTANT,给时长不会反复触发

实测用量:原版 2 次 · MOD 库 6 次

117 · PERMANENT HEALTH

[EFFECT]
	<STRING>NAME:LICHHEALTH
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:PERMANENT HEALTH
	<STRING>PARTICLE_FX:media/particles/events/GenericPotion.layout
	<FLOAT>MIN:25
	<FLOAT>MAX:25
[/EFFECT]

原版 UNITS/ITEMS/POTIONS/POTION_LICHKING.DAT

永久增加生命。

样例读数:槽位 MIN=25、MAX=25 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A18DDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 7 次

118 · PERMANENT DEFENSE

[EFFECT]
	<STRING>NAME:ROUGHHIDE
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:PERMANENT DEFENSE
	<STRING>PARTICLE_FX:media/particles/events/GenericPotion.layout
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 UNITS/ITEMS/POTIONS/POTION_BROMS_DEFENSE.DAT

永久增加防御。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A15FDURATION:INSTANT,给时长不会反复触发

实测用量:原版 3 次 · MOD 库 7 次

DAMAGE_TYPE写了也无效 —— 0x7AAC03 的跳转表把这个类型的 CEffect+0x14 无条件写成 1(Magical),连键都不读。数据里目前无人在此类型上写它。

119 · PERMANENT MANA

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:PERMANENT MANA
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

MOD challenger-continent/职业技能/MEDIA/SKILLS/BDKRZ_TF/BDKRZ_TF2/BDKRZ_TF2_SKILL.DAT

永久增加法力。少一个 ftol,直接用浮点,是七兄弟里唯一的例外。

样例读数:槽位 MIN=1、MAX=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A1BBDURATION:INSTANT,给时长不会反复触发

实测用量:原版 0 次 · MOD 库 2 次

120 · AWARD STATPOINT

[EFFECT]
	<STRING>NAME:AWARD STATPOINTS
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:AWARD STATPOINT
	<FLOAT>SOAKSCALE:0
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

MOD challenger-continent/已移除内容/暗黑传奇/MEDIA/UNITS/ITEMS/ADD_POTIONS/CHEW RESPEC DEXTERITY 5.DAT

奖励属性点。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A1EADURATION:INSTANT,给时长不会反复触发

实测用量:原版 0 次 · MOD 库 8 次

生命与法力回复

每秒回复量、随时间的增减,以及范围抽取。

6 · MANA RECHARGE

[EFFECT]
	<STRING>NAME:AOESPORESDRAIN2
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:1
	<STRING>TYPE:MANA RECHARGE
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-1000
	<FLOAT>MAX:-1000
[/EFFECT]

原版 AFFIXES/SKILLS/AOESPORES.DAT

每秒法力回复。INSTANT 时直接 CUnit__modifyMana 回一次;有时长时按 值 × 时长 × 0.016 折算。

样例读数:槽位 MIN=-1000、MAX=-1000 · ACTIVATION=PASSIVE;DURATION=1;EXCLUSIVE=true

生效方式:被动数值 / INSTANT 分支 0x55A856

实测用量:原版 24 次 · MOD 库 369 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

7 · HP RECHARGE

[EFFECT]
	<STRING>NAME:EXPLOSION
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:HP RECHARGE
	<STRING>DURATION:INSTANT
	<STRING>DAMAGE_TYPE:ICE
	<FLOAT>MIN:-25
	<FLOAT>MAX:-50
	<FLOAT>MINFORCE:2
	<FLOAT>MAXFORCE:4
	<STRING>DAMAGE_TYPE:ICE
[/EFFECT]

原版 SKILLS/MONSTERS/GOBLINICEBALL.DAT

每秒生命回复。与类型 6 同构,另有挂载分支会在挂上时重掷两个槽。

样例读数:槽位 MIN=-25、MAX=-50、MINFORCE=2、MAXFORCE=4 · ACTIVATION=DYNAMIC;DURATION=INSTANT;DAMAGE_TYPE=ICE;DAMAGE_TYPE=ICE

生效方式:被动数值 / INSTANT 分支 0x55A92B / 挂载分支 0x563F3A

实测用量:原版 34 次 · MOD 库 883 次

DAMAGE_TYPE:数据里 6 个块写了它(原版 3、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

123 · MANA RECHARGE PLAYER

[EFFECT]
	<STRING>NAME:RejuvenatingKillHeal
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:MANA RECHARGE PLAYER
	<BOOL>USEOWNERLEVEL:true
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_REJUVENATINGKILL_HEAL.DAT

玩家每秒法力回复。INSTANT 路径与类型 6 共用同一段代码

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:被动数值 / INSTANT 分支 0x55A856

实测用量:原版 87 次 · MOD 库 1560 次

DAMAGE_TYPE:数据里 84 个块写了它(原版 3、MOD 库 81),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

124 · HP RECHARGE PLAYER

[EFFECT]
	<STRING>NAME:lifeloss
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:HP RECHARGE PLAYER
	<FLOAT>MIN:-0.333
	<FLOAT>MAX:-0.333
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_LIFE_LOSS.DAT

玩家每秒生命回复。与类型 7 共用。

样例读数:槽位 MIN=-0.333、MAX=-0.333 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值 / INSTANT 分支 0x55A92B / 挂载分支 0x563F3A

实测用量:原版 164 次 · MOD 库 2837 次

DAMAGE_TYPE:数据里 106 个块写了它(原版 0、MOD 库 106),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

185 · HP MOD OVER TIME

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:.5
	<STRING>TYPE:HP MOD OVER TIME
	<STRING>PARTICLE_FX:media/particles/events/BigHealthBonus.Layout
	<FLOAT>PERCENT_TO_HEAL:0.1
	<FLOAT>TIME_TO_HEAL:0.5
	<FLOAT>TIME_TO_HEAL_MAX:0.5
	<FLOAT>MIN_STOP_AT:0
	<FLOAT>MAX_STOP_AT:1
[/EFFECT]

原版 SKILLS/MONSTERS/BLOATFANG/BLOATFANG_HEAL.DAT

生命随时间增减。tick 每帧读全五个槽。

样例读数:槽位 PERCENT_TO_HEAL=0.1、TIME_TO_HEAL=0.5、TIME_TO_HEAL_MAX=0.5、MIN_STOP_AT=0、MAX_STOP_AT=1 · ACTIVATION=DYNAMIC;DURATION=.5

生效方式:tick 分支

实测用量:原版 34 次 · MOD 库 11434 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 1、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

229 · DRAW HEALTH

[EFFECT]
	<STRING>NAME:drawhealthx2
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DRAW HEALTH
	<STRING>DAMAGE_TYPE:ALL
	<BOOL>EXCLUSIVE:false
	<FLOAT>MIN_PER_HEALTH:2
	<FLOAT>MAX_PER_HEALTH:2
	<FLOAT>PULSE_RATE:1
	<FLOAT>RADIUS:3
	<FLOAT>MAX_TARGETS:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_DRAWHEALTH2.DAT

抽取生命。范围抽取,不是单体 —— 按 RADIUS 收集、MAX_TARGETS 限量、PULSE_RATE 控频,且跳过满血目标。分派器那行不带过期判定,每帧无条件调。

样例读数:槽位 MIN_PER_HEALTH=2、MAX_PER_HEALTH=2、PULSE_RATE=1、RADIUS=3、MAX_TARGETS=5 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL;EXCLUSIVE=false

生效方式:tick 分支

实测用量:原版 10 次 · MOD 库 208 次

DAMAGE_TYPE:数据里 208 个块写了它(原版 10、MOD 库 198),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

230 · DRAW MANA

[EFFECT]
	<STRING>NAME:drawmanax1
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DRAW MANA
	<STRING>DAMAGE_TYPE:ALL
	<BOOL>EXCLUSIVE:false
	<FLOAT>MIN_PER_MANA:1.5
	<FLOAT>MAX_PER_MANA:1.5
	<FLOAT>PULSE_RATE:1
	<FLOAT>RADIUS:3
	<FLOAT>MAX_TARGETS:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_DRAWMANA.DAT

抽取法力。与 229 同一个实现。

样例读数:槽位 MIN_PER_MANA=1.5、MAX_PER_MANA=1.5、PULSE_RATE=1、RADIUS=3、MAX_TARGETS=5 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL;EXCLUSIVE=false

生效方式:tick 分支

实测用量:原版 10 次 · MOD 库 205 次

DAMAGE_TYPE:数据里 183 个块写了它(原版 10、MOD 库 173),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

武器伤害加成

按武器类别/伤害类型分桶记账的加成,见正文 2.1 与 2.2 节。

0 · MELEEDAMAGEBONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:MELEEDAMAGEBONUS
	<FLOAT>MIN:10
	<FLOAT>MAX:10
	<FLOAT>MINFORCE:0
	<FLOAT>MAXFORCE:0
[/EFFECT]

原版 AFFIXES/GEMS/GEM_IRONEMBER_ARMOR_MELEEDAMAGE.DAT

近战武器伤害加成(绝对值)。近战结算函数 sub_52DA30 的基础加成来源。

样例读数:槽位 MIN=10、MAX=10、MINFORCE=0、MAXFORCE=0 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 51 次

DAMAGE_TYPE:数据里 45 个块写了它(原版 0、MOD 库 45),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

1 · RANGEDDAMAGEBONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:RANGEDDAMAGEBONUS
	<FLOAT>MIN:10
	<FLOAT>MAX:10
	<FLOAT>MINFORCE:0
	<FLOAT>MAXFORCE:0
[/EFFECT]

原版 AFFIXES/GEMS/GEM_IRONEMBER_ARMOR_MISSILEDAMAGE.DAT

远程武器伤害加成(绝对值)。远程结算 sub_52E9D0 读它——与类型 0 是一对镜像。

样例读数:槽位 MIN=10、MAX=10、MINFORCE=0、MAXFORCE=0 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 1 次

10 · DAMAGE BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:DAMAGE BONUS
	<STRING>DAMAGE_TYPE:ELECTRIC
	<FLOAT>MIN:12
	<FLOAT>MAX:12
[/EFFECT]

原版 AFFIXES/GEMS/GEM_CITRINE.DAT

伤害加成(绝对值),按伤害类型分七个桶记账DAMAGE_TYPE 写错等于加成进了没人取的桶。

样例读数:槽位 MIN=12、MAX=12 · ACTIVATION=PASSIVE;DAMAGE_TYPE=ELECTRIC

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 124 次 · MOD 库 3865 次

DAMAGE_TYPE这个类型真的会读(近战/远程两对镜像函数共 8 处,如 0x52E0570x52E68A)。数据里 3586 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

15 · PERCENT MELEEDAMAGE

[EFFECT]
	<STRING>NAME:OFTHEBEAR DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT MELEEDAMAGE
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:6
	<FLOAT>MAX:9
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_MELEE_DAMAGE_BONUS.DAT

近战伤害百分比加成。与类型 0 一同进伤害结算。

样例读数:槽位 MIN=6、MAX=9 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 17 次 · MOD 库 265 次

DAMAGE_TYPE:数据里 156 个块写了它(原版 17、MOD 库 139),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

16 · PERCENT RANGEDDAMAGE

[EFFECT]
	<STRING>NAME:OFTHEBEAR DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT RANGEDDAMAGE
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:6
	<FLOAT>MAX:9
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_RANGED_DAMAGE_BONUS.DAT

远程伤害百分比加成。近战与远程两个结算函数都读它。

样例读数:槽位 MIN=6、MAX=9 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 246 次

DAMAGE_TYPE:数据里 230 个块写了它(原版 23、MOD 库 207),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

25 · PERCENT DAMAGE BONUS

[EFFECT]
	<STRING>NAME:CHAMP ELEC DAMAGE
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT DAMAGE BONUS
	<STRING>DAMAGE_TYPE:ICE
	<BOOL>SAVE:true
	<FLOAT>MIN:20
	<FLOAT>MAX:20
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONCOLD.DAT

伤害百分比加成,同样按七个伤害桶分账,是最常用的输出词缀类型。

样例读数:槽位 MIN=20、MAX=20 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ICE

生效方式:被动数值 / 布尔查询。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 391 次 · MOD 库 7179 次

DAMAGE_TYPE这个类型真的会读(两对镜像 + 挂载分派共 16 处,如 0x52BF4E0x563DD4)。数据里 7086 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

88 · DUAL WIELDING BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DUAL WIELDING BONUS
	<FLOAT>MIN:6
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_DUALWIELDBONUS2.DAT

双持加成。伤害结算与 resolveStrikeHit 都读它。

样例读数:槽位 MIN=6、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 294 次

DAMAGE_TYPE:数据里 14 个块写了它(原版 2、MOD 库 12),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

91 · PERCENT PET DAMAGE

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT PET DAMAGE
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_PETDAMAGE.DAT

宠物与随从伤害百分比。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 19 次 · MOD 库 422 次

DAMAGE_TYPE:数据里 281 个块写了它(原版 11、MOD 库 270),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

TIP

这是 237 MINIONDAMAGE 想做而做不到的那件事的正解。

方向是反的:要挂在主人身上,不是随从身上。 七处读取点全都长这样—— 随从结算伤害时先 CUnit__getRootOwner 找到主人(找不到就整段跳过), 再问主人getStat(91)× 0.01 后累加进伤害百分比:

asm
.text:0052BF69   call CUnit__getRootOwner   ; 随从反向找主人
.text:0052BF70   jz   short loc_52BF92      ; 没有主人就跳过
.text:0052BF76   push 5Bh                   ; 类型 91
.text:0052BF81   call CUnit__getStat        ; 问主人要
.text:0052BF86   fmul ds:flt_2142654        ; × 0.01

七处分布:sub_52BD90(近战)0x52BF760x52C0F4sub_52C170(远程)0x52C3660x52C4E4sub_52DA30 0x52E8C3sub_52E9D0 0x52F860(第二对镜像);CUnit__applyEffectToSelf_dispatch 0x563E20

上面样例里的 DAMAGE_TYPE:ALL 是摆设——这个键对类型 91 不起作用。 七处调用传给 CUnit__getStat 的第二个参数恒为 7,而 CEffectMgr__sumStatOfType_filtered0x7AEA40)里 7 是「不按伤害类型过滤」的哨兵(合法伤害类型只有 0..6),命中就直接返回 239 缓存、连表都不扫。 所以写 DAMAGE_TYPE:FIRE 不会把加成限制成火焰——它照样全额计入。这一点和按七个桶记账的 1025 正相反。

99 · PERCENT MARTIAL ITEM DAMAGE BONUS

[EFFECT]
	<STRING>NAME:MARTIALSKILLD
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT MARTIAL ITEM DAMAGE BONUS
	<STRING>DAMAGE_TYPE:ALL
	<STRING>GRAPHOVERRIDE:MASTERY_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_MARTIAL_MASTERY.DAT

近战武器伤害百分比加成。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 78 次

DAMAGE_TYPE:数据里 5 个块写了它(原版 1、MOD 库 4),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

102 · PERCENT RANGED ITEM DAMAGE BONUS

[EFFECT]
	<STRING>NAME:MARTIALSKILLD
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT RANGED ITEM DAMAGE BONUS
	<STRING>DAMAGE_TYPE:ALL
	<STRING>GRAPHOVERRIDE:MASTERY_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_RANGED_MASTERY.DAT

远程武器伤害百分比加成。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 102 次

DAMAGE_TYPE:数据里 12 个块写了它(原版 1、MOD 库 11),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

103 · PERCENT MAGIC ITEM DAMAGE BONUS

[EFFECT]
	<STRING>NAME:OFTHEBEAR DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT MAGIC ITEM DAMAGE BONUS
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:6
	<FLOAT>MAX:9
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_MAGICWEAPON_DAMAGE_BONUS.DAT

法杖与魔杖伤害百分比加成。

样例读数:槽位 MIN=6、MAX=9 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 7 次 · MOD 库 90 次

DAMAGE_TYPE:数据里 88 个块写了它(原版 7、MOD 库 81),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

153 · PERCENT DUAL WIELDING ATTACK

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT DUAL WIELDING ATTACK
	<FLOAT>MIN:8
	<FLOAT>MAX:8
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_TL2_EXECUTE1.DAT

双持攻击百分比。与 MELEE_DWPISTOL_DWWAND_DWDAGGER_DW 几条曲线一起进计算。

样例读数:槽位 MIN=8、MAX=8 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 22 次 · MOD 库 273 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

154 · DAMAGE BONUS SECONDARY

[EFFECT]
	<STRING>NAME:OFTHEBEAR DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DAMAGE BONUS SECONDARY
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:30
	<FLOAT>MAX:45
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_SPLASH_DAMAGE_BONUS.DAT

次要伤害加成。CCharacter__strike_resolveTargets 读取。

样例读数:槽位 MIN=30、MAX=45 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 275 次

DAMAGE_TYPE:数据里 69 个块写了它(原版 5、MOD 库 64),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

237 · MINIONDAMAGE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:MINIONDAMAGE
	<STRING>GRAPHOVERRIDE:DAMAGE_MINION_BYLEVEL
	<BOOL>USEOWNERLEVEL:true
	<FLOAT>MIN:100
	<FLOAT>MAX:150
	<FLOAT>MINFORCE:0
	<FLOAT>MAXFORCE:0
[/EFFECT]

原版 AFFIXES/ITEMS/DUMMY_BERSERKER_WOLFSHADE_DAMAGE.DAT

随从伤害。纯工具提示文案 —— 类型号 237 超出两个分派器的射程,也没有消费方。原版 8 个使用文件全部是 DUMMY_* 前缀的占位词缀,作用只是让物品提示多一行字。

样例读数:槽位 MIN=100、MAX=150、MINFORCE=0、MAXFORCE=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式纯显示 —— 无执行路径,只有描述串

实测用量:原版 9 次 · MOD 库 801 次

DAMAGE_TYPE:数据里 391 个块写了它(原版 1、MOD 库 390),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

NOTE

有意为之的提示文案:超出两个分派器的射程(INSTANT ≤236、挂载 ≤228),不可能有分支。原版 9 处全是 DUMMY_* 占位词缀,就是为了让提示里多一行「随从造成 X 伤害」——实际伤害来自随从自己的数据。

真要给随从加伤害,用 91 PERCENT PET DAMAGE,那个有消费方,且要挂在主人身上。

命中、暴击与格挡

掷骰类。多数由 CBaseUnit__rollCriticalrollBlockParryShatter 这一族消费。

9 · TO HIT BONUS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:TO HIT BONUS
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

命中加成。成品里根本没有命中率系统(闪避/格挡/失手取而代之),所以既无消费方、四条描述串也全空——不显示也不生效。6 个「真的没有代码」的零用量类型里只有它是两头皆空。

生效方式未找到消费方 —— 六条路径均无,原版用量为 0

实测用量两库合计 0 次

24 · PERCENT TO HIT BONUS

[EFFECT]
	<STRING>NAME:AccuracyUpWithCharge
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT TO HIT BONUS
	<STRING>STATMODIFYNAME:WB_CHARGE
	<STRING>STATMODIFYPERCENT:100
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

MOD challenger-continent/已移除内容/佣兵系统/MEDIA/SKILLS/WARBOUNDS/AIDE/VANQ/WBVANQ_PASSIVE.DAT

命中百分比加成。未找到消费方,原版用量 0。

样例读数:槽位 MIN=1、MAX=1 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式未找到消费方 —— 六条路径均无,原版用量为 0

实测用量:原版 0 次 · MOD 库 15 次

WARNING

写了不生效。 两库合计已被写了 15 次,但引擎里没有任何代码会读它。 命中率系统在成品里不存在(闪避/格挡/失手取而代之),本类型与 9 TO HIT BONUS 都没有任何消费方。

33 · PERCENT BLOCK CHANCE

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT BLOCK CHANCE
	<FLOAT>MIN:3
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/OFTHEBATTLEMENTS2.DAT

格挡率百分比。CUnit__getBlockChancePct 读它,与类型 62 一起算。

样例读数:槽位 MIN=3、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 299 次

DAMAGE_TYPE:数据里 6 个块写了它(原版 0、MOD 库 6),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

55 · CRITICAL CHANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CRITICAL CHANCE
	<STRING>DAMAGE_TYPE:
	<STRING>PARTICLE_FX:
	<STRING>STATMODIFYNAME:
	<STRING>STATMODIFYPERCENT:
	<STRING>UNITTHEME:
	<FLOAT>MIN:2
	<FLOAT>MAX:3
[/EFFECT]

原版 AFFIXES/GEMS/GEM_FISH_UNICORN.DAT

暴击率。CBaseUnit__rollCritical 读取。

样例读数:槽位 MIN=2、MAX=3 · ACTIVATION=PASSIVE;DAMAGE_TYPE=

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 311 次 · MOD 库 3979 次

DAMAGE_TYPE:数据里 32 个块写了它(原版 2、MOD 库 30),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

62 · PERCENT BLOCK CHANCE BASE

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT BLOCK CHANCE BASE
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/SET_BLOCK_CHANCE.DAT

格挡率基数百分比。与类型 33 一起进 getBlockChancePct

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 45 次 · MOD 库 437 次

89 · PERCENT CRITICAL DAMAGE

[EFFECT]
	<STRING>NAME:OFTHEBEAR DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT CRITICAL DAMAGE
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_CRITICALDAMAGE.DAT

暴击伤害百分比。CBaseUnit__getCritDamageBonusPct 读取,另叠 CRIT_BONUS 曲线。

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 20 次 · MOD 库 1444 次

DAMAGE_TYPE:数据里 265 个块写了它(原版 7、MOD 库 258),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

178 · DODGE CHANCE BONUS

[EFFECT]
	<STRING>NAME:OFFLAME DAMAGE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DODGE CHANCE BONUS
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:3
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_DODGE2.DAT

闪避率加成。与 DODGE_CHANCE 曲线一起算。

样例读数:槽位 MIN=3、MAX=5 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 40 次 · MOD 库 783 次

DAMAGE_TYPE:数据里 171 个块写了它(原版 8、MOD 库 163),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

179 · FUMBLE CHANCE REDUCTION

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:FUMBLE CHANCE REDUCTION
	<FLOAT>MIN:7
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_FUMBLECHANCE3.DAT

失手率减免。与 FUMBLE_CHANCE 曲线一起算。

样例读数:槽位 MIN=7、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 18 次 · MOD 库 311 次

180 · FUMBLE PENALTY REDUCTION

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:FUMBLE PENALTY REDUCTION
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_TL2_FUMBLEDAMAGE.DAT

失手惩罚减免。与 FUMBLE_DAMAGE 曲线一起算。

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 30 次

226 · MISS CHANCE

[EFFECT]
	<STRING>NAME:RAZEMISSCHANCE
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:4
	<STRING>TYPE:MISS CHANCE
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:25
	<FLOAT>MAX:25
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_RAZE2.DAT

未命中概率。resolveStrikeHit 读取。

样例读数:槽位 MIN=25、MAX=25 · ACTIVATION=DYNAMIC;DURATION=4;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 2 次 · MOD 库 177 次

DAMAGE_TYPE:数据里 4 个块写了它(原版 0、MOD 库 4),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

护甲、抗性与反伤

护甲计算链见正文 2.4 节的抗性间址表。

8 · ARMOR BONUS

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:ARMOR BONUS
	<FLOAT>MIN:5
	<FLOAT>MAX:7
[/EFFECT]

原版 AFFIXES/ITEMS/OFTHETURTLE.DAT

护甲值(绝对值)。在百分比之后相加,所以不吃类型 23 的放大,但会吃防御曲线的放大。

样例读数:槽位 MIN=5、MAX=7 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 85 次 · MOD 库 1730 次

DAMAGE_TYPE这个类型真的会读CBaseUnit__getResistanceOfType 0x520AF6(变量)/0x520B216);另 0x5216F6)。数据里 1403 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

11 · DAMAGE TAKEN

[EFFECT]
	<STRING>NAME:izau huge damage lower buff
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:DAMAGE TAKEN
	<STRING>DAMAGE_TYPE:ALL
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-9999
	<FLOAT>MAX:-9999
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/IZAU_DEFENDER/IZAU_DEFENDER_TEMP_INVINCIBILITY.DAT

受到伤害的绝对增减。未找到消费方,原版用量 0。

样例读数:槽位 MIN=-9999、MAX=-9999 · ACTIVATION=DYNAMIC;DAMAGE_TYPE=ALL;EXCLUSIVE=true

生效方式未找到消费方 —— 六条路径均无,原版用量为 0

实测用量:原版 0 次 · MOD 库 70 次

DAMAGE_TYPE:数据里 9 个块写了它(原版 0、MOD 库 9),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

WARNING

写了不生效。 两库合计已被写了 70 次,但引擎里没有任何代码会读它。 百分比版 26 PERCENT DAMAGE TAKEN 有消费方(0x51ADF0,原版用 389 次),这个绝对值版没有。想改承伤请用 26。

23 · PERCENT ARMOR BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT ARMOR BONUS
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:-33
	<FLOAT>MAX:-33
[/EFFECT]

原版 AFFIXES/DAMAGEEFFECTAFFIXES/DAMAGEEFFECTPOISONED.DAT

护甲百分比加成。在类型 8 之前乘,见抗性计算链。

样例读数:槽位 MIN=-33、MAX=-33 · ACTIVATION=PASSIVE;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 89 次 · MOD 库 2940 次

DAMAGE_TYPE这个类型真的会读CBaseUnit__getResistanceOfType 0x520AB8(变量)/0x520ACC6))。数据里 2106 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

26 · PERCENT DAMAGE TAKEN

[EFFECT]
	<STRING>NAME:electric_barrier_armor
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT DAMAGE TAKEN
	<STRING>DAMAGE_TYPE:ALL
	<STRING>UNITTHEME:shielded
	<BOOL>EXCLUSIVE:true
	<STRING>LINK_NAME:electric_barrier_weakness
	<FLOAT>MIN:-33
	<FLOAT>MAX:-33
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMP_BARRIER_ELECTRIC.DAT

受到伤害百分比。读取方按传入伤害类型查一次、再加桶 6 查一次,随后两级钳位。

样例读数:槽位 MIN=-33、MAX=-33 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;DAMAGE_TYPE=ALL;EXCLUSIVE=true

生效方式:被动数值 / 布尔查询。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 389 次 · MOD 库 6021 次

DAMAGE_TYPE这个类型真的会读0x51AD810x51AE100x522AF1)。数据里 5953 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

32 · PERCENT DAMAGE REFLECTED

[EFFECT]
	<STRING>NAME:spellretribution
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT DAMAGE REFLECTED
	<STRING>DAMAGE_TYPE:PHYSICAL
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:25
	<BOOL>EXCLUSIVE:true
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:8
	<FLOAT>MAX:8
[/EFFECT]

原版 AFFIXES/SKILLS/SPELL_RETRIBUTION.DAT

伤害反射百分比。

样例读数:槽位 MIN=8、MAX=8 · ACTIVATION=PASSIVE;DURATION=ALWAYS;DAMAGE_TYPE=PHYSICAL;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 31 次 · MOD 库 785 次

DAMAGE_TYPE:数据里 247 个块写了它(原版 4、MOD 库 243),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

35 · PHYSICAL DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PHYSICAL DEFENSE
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/ADD_ANY_200.DAT

物理抗性。经间址表 dword_216FD9CgetResistanceOfType 消费。

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 44 次

DAMAGE_TYPE写了也无效 —— 0x7AAC03 的跳转表把这个类型的 CEffect+0x14 无条件写成 1(Magical),连键都不读。数据里目前无人在此类型上写它。

36 · MAGICAL DEFENSE

[EFFECT]
	<STRING>NAME:BOLSTER UNDEAD ARMOR
	<STRING>ACTIVATION:PASSIVE
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:100
	<STRING>TYPE:MAGICAL DEFENSE
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

MOD challenger-continent/职业技能/MEDIA/AFFIXES/PLAYERSKILLS/NECROMANCER_SKILLS/BOLSTER_UNDEAD.DAT

魔法抗性。同上。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 50 次

37 · FIRE DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:FIRE DEFENSE
	<STRING>DAMAGE_TYPE:FIRE
	<FLOAT>MIN:32
	<FLOAT>MAX:32
[/EFFECT]

原版 AFFIXES/GEMS/GEM_RUBY_ARMOR.DAT

火焰抗性。同上。注意 switch 里 case 2 对应的是 219 INNATE FIRE,映射不按序号递增。

样例读数:槽位 MIN=32、MAX=32 · ACTIVATION=PASSIVE;DAMAGE_TYPE=FIRE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 43 次 · MOD 库 408 次

WARNING

DAMAGE_TYPE 在这个类型上无效。 数据里有 341 个块写了它(原版 43、MOD 库 298),全部不起作用。 0x7AAC03 的跳转表把九个 DEFENSE 家族类型的 CEffect+0x14 无条件写成 1(Magical),DAMAGE_TYPE: 那一行都不读0x7AB4DB 置位后直接 jmp 过整个解析)。详见行为解释 §2.5

38 · ICE DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:ICE DEFENSE
	<STRING>DAMAGE_TYPE:ICE
	<FLOAT>MIN:32
	<FLOAT>MAX:32
[/EFFECT]

原版 AFFIXES/GEMS/GEM_SAPPHIRE_ARMOR.DAT

冰霜抗性。同上。

样例读数:槽位 MIN=32、MAX=32 · ACTIVATION=PASSIVE;DAMAGE_TYPE=ICE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 42 次 · MOD 库 416 次

WARNING

DAMAGE_TYPE 在这个类型上无效。 数据里有 344 个块写了它(原版 42、MOD 库 302),全部不起作用。 0x7AAC03 的跳转表把九个 DEFENSE 家族类型的 CEffect+0x14 无条件写成 1(Magical),DAMAGE_TYPE: 那一行都不读0x7AB4DB 置位后直接 jmp 过整个解析)。详见行为解释 §2.5

39 · ELECTRICAL DEFENSE

[EFFECT]
	<STRING>NAME:CHAMP ELEC DEFENSE
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:ELECTRICAL DEFENSE
	<STRING>DAMAGE_TYPE:ELECTRIC
	<BOOL>SAVE:true
	<FLOAT>MIN:30
	<FLOAT>MAX:30
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONSHOCKING.DAT

电击抗性。同上。

样例读数:槽位 MIN=30、MAX=30 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ELECTRIC

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 43 次 · MOD 库 434 次

WARNING

DAMAGE_TYPE 在这个类型上无效。 数据里有 357 个块写了它(原版 43、MOD 库 314),全部不起作用。 0x7AAC03 的跳转表把九个 DEFENSE 家族类型的 CEffect+0x14 无条件写成 1(Magical),DAMAGE_TYPE: 那一行都不读0x7AB4DB 置位后直接 jmp 过整个解析)。详见行为解释 §2.5

40 · POISON DEFENSE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:POISON DEFENSE
	<STRING>DAMAGE_TYPE:POISON
	<FLOAT>MIN:32
	<FLOAT>MAX:32
[/EFFECT]

原版 AFFIXES/GEMS/GEM_EMERALD_ARMOR.DAT

毒素抗性。同上。

样例读数:槽位 MIN=32、MAX=32 · ACTIVATION=PASSIVE;DAMAGE_TYPE=POISON

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 38 次 · MOD 库 467 次

WARNING

DAMAGE_TYPE 在这个类型上无效。 数据里有 387 个块写了它(原版 38、MOD 库 349),全部不起作用。 0x7AAC03 的跳转表把九个 DEFENSE 家族类型的 CEffect+0x14 无条件写成 1(Magical),DAMAGE_TYPE: 那一行都不读0x7AB4DB 置位后直接 jmp 过整个解析)。详见行为解释 §2.5

48 · DAMAGE REFLECTION

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DAMAGE REFLECTION
	<STRING>DAMAGE_TYPE:POISON
	<FLOAT>MIN:6
	<FLOAT>MAX:18
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_DESERT_THORNS.DAT

伤害反射(绝对值)。CBaseUnit__applyDamage 读取。

样例读数:槽位 MIN=6、MAX=18 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=POISON

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 40 次 · MOD 库 580 次

DAMAGE_TYPE:数据里 321 个块写了它(原版 21、MOD 库 300),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

54 · DEGRADE ARMOR

[EFFECT]
	<STRING>NAME:OFTHESAVAGE DEGRADE ARMOR
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:DEGRADE ARMOR
	<BOOL>USEOWNERLEVEL:true
	<FLOAT>MIN:12
	<FLOAT>MAX:12
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNING_DEGRADE_ARMOR3.DAT

护甲腐蚀(绝对值)。resolveStrikeHit 0x54DD40

样例读数:槽位 MIN=12、MAX=12 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 45 次 · MOD 库 840 次

DAMAGE_TYPE:数据里 318 个块写了它(原版 17、MOD 库 301),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

60 · MISSILE REFLECT

[EFFECT]
	<STRING>NAME:SHIELD_REFLECT
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:MISSILE REFLECT
	<STRING>UNITTHEME:shielded
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:33
	<FLOAT>MAX:33
	<FLOAT>DMGPCTMIN:80
	<FLOAT>DMGPCTMAX:80
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMP_SHIELD_REFLECT.DAT

弹射反射。不走 statCache,由 CEffectMgr__accumMissileReflect 直接扫表。概率按独立事件合成 P = 1-(1-p1)(1-p2)堆多少件都到不了 100%;反射量按概率加权平均。

样例读数:槽位 MIN=33、MAX=33、DMGPCTMIN=80、DMGPCTMAX=80 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:直接扫表

实测用量:原版 69 次 · MOD 库 1040 次

DAMAGE_TYPE:数据里 276 个块写了它(原版 8、MOD 库 268),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

61 · MISSILE REFLECT VISUAL

[EFFECT]
	<STRING>NAME:respite_mrv
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:MISSILE REFLECT VISUAL
	<BOOL>USEOWNERLEVEL:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
	<FLOAT>DMGPCT:1
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/SKILLS/LIGHTBRINGER_PROC_RESPITE.DAT

弹射反射的视觉版。tick 路径里会 CCharacter__setTarget 改目标。

样例读数:槽位 MIN=100、MAX=100、DMGPCT=1 · ACTIVATION=DYNAMIC;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 8 次

66 · DEGRADE ARMOR EFFECT

[EFFECT]
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:15
	<STRING>TYPE:DEGRADE ARMOR EFFECT
	<STRING>DAMAGE_TYPE:ICE
	<STRING>STATMODIFYNAME:OWNERLEVEL
	<STRING>STATMODIFYPERCENT:20
	<BOOL>USEOWNERLEVEL:true
	<FLOAT>MIN:15
	<FLOAT>MAX:15
	<BOOL>MODIFIERISBONUS:true
[/EFFECT]

原版 AFFIXES/SKILLS/RAILMAN_THUNDER_HAMMER_BUFF.DAT

护甲腐蚀效果。在抗性链末尾被减去(x -= ceil(getStat(66)))。

样例读数:槽位 MIN=15、MAX=15 · ACTIVATION=TRANSFER;DURATION=15;DAMAGE_TYPE=ICE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 12 次 · MOD 库 74 次

DAMAGE_TYPE:数据里 84 个块写了它(原版 12、MOD 库 72),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

218 · INNATE ICE DEFENSE

[EFFECT]
	<STRING>NAME:Elemental Defense Ice
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:INNATE ICE DEFENSE
	<STRING>GRAPHOVERRIDE:ARMOR_PLAYER_BYLEVEL_FORSET
	<FLOAT>MIN:87
	<FLOAT>MAX:87
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/DEMONHUNTER/ELEMENTALMASTER.DAT

固有冰霜抗性。抗性 switch 的 case 3。

样例读数:槽位 MIN=87、MAX=87 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 1 次

219 · INNATE FIRE DEFENSE

[EFFECT]
	<STRING>NAME:Elemental Defense Fire
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:INNATE FIRE DEFENSE
	<STRING>GRAPHOVERRIDE:ARMOR_PLAYER_BYLEVEL_FORSET
	<FLOAT>MIN:87
	<FLOAT>MAX:87
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/DEMONHUNTER/ELEMENTALMASTER.DAT

固有火焰抗性。case 2。

样例读数:槽位 MIN=87、MAX=87 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 1 次

220 · INNATE ELECTRIC DEFENSE

[EFFECT]
	<STRING>NAME:Elemental Defense Electric
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:INNATE ELECTRIC DEFENSE
	<STRING>GRAPHOVERRIDE:ARMOR_PLAYER_BYLEVEL_FORSET
	<FLOAT>MIN:87
	<FLOAT>MAX:87
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/DEMONHUNTER/ELEMENTALMASTER.DAT

固有电击抗性。case 4。

样例读数:槽位 MIN=87、MAX=87 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 1 次

221 · INNATE POISON DEFENSE

[EFFECT]
	<STRING>NAME:Elemental Defense Poison
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:INNATE POISON DEFENSE
	<STRING>GRAPHOVERRIDE:ARMOR_PLAYER_BYLEVEL_FORSET
	<FLOAT>MIN:87
	<FLOAT>MAX:87
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/DEMONHUNTER/ELEMENTALMASTER.DAT

固有毒素抗性。case 5。

样例读数:槽位 MIN=87、MAX=87 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 1 次

护盾与破盾

吸收池与破盾判定。

122 · SHIELD BUFFER

[EFFECT]
	<STRING>NAME:electric_barrier_buffer
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SHIELD BUFFER
	<STRING>DAMAGE_TYPE:POISON
	<STRING>UNITTHEME:purplebarrier
	<STRING>LINK_NAME:electric_barrier_armor
	<FLOAT>MIN:20
	<FLOAT>MAX:20
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMP_BARRIER_ELECTRIC.DAT

护盾吸收池。由 CUnit__consumeAbsorbBuffers_type122 消费,走布尔查询路径。

样例读数:槽位 MIN=20、MAX=20 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;DAMAGE_TYPE=POISON

生效方式:布尔查询

实测用量:原版 62 次 · MOD 库 1543 次

DAMAGE_TYPE:数据里 1576 个块写了它(原版 62、MOD 库 1514),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

163 · DESTRUCTABLE SHIELD

[EFFECT]
	<STRING>NAME:DefaultDestructableShield
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:DESTRUCTABLE SHIELD
	<BOOL>SAVE:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>HP%:50
	<FLOAT>HPOVERRIDE:-1
	<FLOAT>ANGLE:180
	<FLOAT>OFFSET:0
[/EFFECT]

原版 AFFIXES/MONSTERS/DEFAULT_DESTRUCTABLE_SHIELD.DAT

可破坏护盾。走布尔查询路径。被硬编码排除在词缀品质插值之外0x53CA47 那一族)。

样例读数:槽位 HP%=50、HPOVERRIDE=-1、ANGLE=180、OFFSET=0 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:布尔查询

实测用量:原版 32 次 · MOD 库 175 次

205 · SHIELD BREAK

[EFFECT]
	<STRING>NAME:unique_shieldbreak
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:SHIELD BREAK
	<FLOAT>MIN:25
	<FLOAT>MAX:25
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_TL2_SHIELDBREAKER1.DAT

破盾。

样例读数:槽位 MIN=25、MAX=25 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 15 次 · MOD 库 456 次

215 · SHIELD BREAK EFFECT

[EFFECT]
	<STRING>NAME:BOSSSIEGESHIELDBREAK
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SHIELD BREAK EFFECT
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/MONSTERS/BOSSSIEGE_BREAKSHIELD.DAT

破盾效果。遍历目标身上的效果并重掷某个槽

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:INSTANT 分支 0x55C495DURATION:INSTANT,给时长不会反复触发

实测用量:原版 50 次 · MOD 库 821 次

状态控制

眩晕/冰冻/燃烧/中毒/感电/致盲/沉默/恐惧/魅惑/打断/定身/击退。全族共用同一道抗性判定getStat(对应抗性类型)applyDifficultyResistBoost → 概率。

12 · KNOCK BACK

[EFFECT]
	<STRING>NAME:OFTHEBULL KNOCK BACK EFFECT
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:KNOCK BACK
	<FLOAT>FORCE:15
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_KNOCKBACK1.DAT

击退。由 resolveStrikeHitgetEffectStat_selfPlusInventory 读取(0x54DB45)。

样例读数:槽位 FORCE=15 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 106 次 · MOD 库 760 次

43 · KNOCK BACK EFFECT

[EFFECT]
	<STRING>NAME:ARCBEAMKNOCKBACK
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:1
	<STRING>TYPE:KNOCK BACK EFFECT
	<FLOAT>FORCE:5
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_ARCBEAM01.DAT

击退效果。tick 路径每帧调 CEffect__recacheValue 重算数值再累加位移向量。TYPE:None,不显示数值。

样例读数:槽位 FORCE=5 · ACTIVATION=DYNAMIC;DURATION=1

生效方式:tick 分支

实测用量:原版 601 次 · MOD 库 5771 次

DAMAGE_TYPE:数据里 10 个块写了它(原版 0、MOD 库 10),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

53 · PERCENT KNOCK BACK RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PERCENT KNOCK BACK RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>RESISTANCE:95
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

击退抗性百分比。

样例读数:槽位 RESISTANCE=95 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 302 次 · MOD 库 3058 次

DAMAGE_TYPE:数据里 10 个块写了它(原版 0、MOD 库 10),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

56 · INTERRUPT CHANCE

[EFFECT]
	<STRING>NAME:ENTROPYINTERRUPT
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:INTERRUPT CHANCE
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:10
	<FLOAT>MIN:5
	<FLOAT>MAX:5
	<BOOL>MODIFIERISBONUS:true
[/EFFECT]

原版 AFFIXES/SKILLS/AURA_OF_ENTROPY.DAT

打断概率。Boss 与不可摧毁单位直接免疫CCharacter_isBossOrNoDestroy),随后走标准抗性判定。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:被动数值 / INSTANT 分支 0x55A73B / 挂载分支 0x563C00

实测用量:原版 120 次 · MOD 库 1066 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

64 · STUN

[EFFECT]
	<STRING>NAME:OFTHEMASTER CRITICAL CHANCE
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:2
	<STRING>TYPE:STUN
	<FLOAT>MIN:10
	<FLOAT>MAX:10
	<FLOAT>IGNORE_RESISTANCE:0
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_TL2_SHORTSTUN1.DAT

眩晕。两级抗性(两次 getStat),tick 每帧还会去读一次 dat 键(CDataGroup__getInt64)。

样例读数:槽位 MIN=10、MAX=10、IGNORE_RESISTANCE=0 · ACTIVATION=TRANSFER;DURATION=2

生效方式:被动数值 / 挂载分支 0x5631D2 / tick 分支

实测用量:原版 225 次 · MOD 库 3319 次

DAMAGE_TYPE:数据里 62 个块写了它(原版 15、MOD 库 47),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

79 · FLEE EFFECT

[EFFECT]
	<STRING>NAME:OFTHEELEPHANT MAX HP
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:3
	<STRING>TYPE:FLEE EFFECT
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_FEAR.DAT

恐惧。命中后走 sub_664F10 并播放反应动画。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=TRANSFER;DURATION=3

生效方式:布尔查询 / 挂载分支 0x562F91

实测用量:原版 88 次 · MOD 库 1017 次

DAMAGE_TYPE:数据里 41 个块写了它(原版 0、MOD 库 41),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

80 · TURN ALIGNMENT

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:40
	<STRING>TYPE:TURN ALIGNMENT
	<STRING>UNITTHEME:turned
	<FLOAT>MIN:3
	<FLOAT>MAX:3
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_TURN_ALIGNMENT_LONG_DURATION1.DAT

魅惑。命中后目标直接变成玩家的宠物CUnit__addPet),且受 enforceCharmLimit4 的 4 个上限约束。

样例读数:槽位 MIN=3、MAX=3 · ACTIVATION=TRANSFER;DURATION=40

生效方式:布尔查询 / 挂载分支 0x562E87 / tick 分支

实测用量:原版 27 次 · MOD 库 542 次

106 · FREEZE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:FREEZE
	<FLOAT>MIN:4
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ICE_DIRECT_ICE_PERCENT_05.DAT

冰冻。与 107/108/109 是同一段代码的四份副本(挂载与 tick 各四份,共八份)。

样例读数:槽位 MIN=4、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:挂载分支 0x56348E / tick 分支

实测用量:原版 142 次 · MOD 库 1151 次

DAMAGE_TYPE:数据里 36 个块写了它(原版 4、MOD 库 32),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

107 · BURN

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:BURN
	<FLOAT>MIN:4
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_FIRE_DIRECT_FIRE_PERCENT_05.DAT

燃烧。同上。

样例读数:槽位 MIN=4、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:挂载分支 0x563673 / tick 分支

实测用量:原版 82 次 · MOD 库 1144 次

DAMAGE_TYPE:数据里 148 个块写了它(原版 16、MOD 库 132),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

108 · POISON

[EFFECT]
	<STRING>NAME:OFTHEMASTER CRITICAL CHANCE
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:5
	<STRING>TYPE:POISON
	<STRING>UNITTHEME:Poisoned
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/PETTAG_DIRECT_POISON_PERCENT_05.DAT

中毒。同上。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=TRANSFER;DURATION=5

生效方式:挂载分支 0x56383B / tick 分支

实测用量:原版 63 次 · MOD 库 914 次

DAMAGE_TYPE:数据里 193 个块写了它(原版 5、MOD 库 188),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

109 · SHOCK

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:SHOCK
	<FLOAT>MIN:4
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ELECTRICITY_DIRECT_ELECTRICITY_PERCENT_05.DAT

感电。同上。

样例读数:槽位 MIN=4、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:挂载分支 0x563A07 / tick 分支

实测用量:原版 62 次 · MOD 库 901 次

DAMAGE_TYPE:数据里 9 个块写了它(原版 0、MOD 库 9),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

110 · KILL

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:KILL
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 SKILLS/CHAMPIONS/SOULSHACKLE/SOULRELEASE.DAT

击杀。玩家的首选宠物免疫,且只在权威端执行。tick 路径里与 47 SUMMON DURATION 共用移除代码。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A5B2 / 挂载分支 0x56400D / tick 分支

实测用量:原版 91 次 · MOD 库 1279 次

DAMAGE_TYPE:数据里 19 个块写了它(原版 0、MOD 库 19),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

128 · SILENCE

[EFFECT]
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:2
	<STRING>TYPE:SILENCE
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

原版 AFFIXES/GEMS/GEM_CHAOSEMBER_WEAPON_SILENCE.DAT

沉默。CSkill__canUse 里查它0x6BFB9C)—— 这就是沉默让技能不可用的实现。

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=TRANSFER;DURATION=2

生效方式:布尔查询 / 挂载分支 0x562DC5

实测用量:原版 35 次 · MOD 库 653 次

144 · PERCENT BLIND

[EFFECT]
	<STRING>NAME:ofblindingblinding
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:4
	<STRING>TYPE:PERCENT BLIND
	<STRING>UNITTHEME:BlindDebuff
	<FLOAT>MIN:66
	<FLOAT>MAX:66
	<FLOAT>CHANCE:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_BLINDING.DAT

致盲概率。命中后强制换目标;同时进视野距离与 AI 目标选择的计算。

样例读数:槽位 MIN=66、MAX=66、CHANCE=5 · ACTIVATION=TRANSFER;DURATION=4

生效方式:被动数值 / 挂载分支 0x562702

实测用量:原版 40 次 · MOD 库 267 次

DAMAGE_TYPE:数据里 4 个块写了它(原版 0、MOD 库 4),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

167 · INTERRUPT

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:INTERRUPT
	<FLOAT>MIN:40
	<FLOAT>MAX:40
[/EFFECT]

原版 AFFIXES/SKILLS/RAILMAN_TREMOR.DAT

打断。播放三种反应动画之一。

样例读数:槽位 MIN=40、MAX=40 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x559C18 / 挂载分支 0x562A18

实测用量:原版 17 次 · MOD 库 164 次

DAMAGE_TYPE:数据里 12 个块写了它(原版 0、MOD 库 12),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

196 · IMMOBILIZE

[EFFECT]
	<STRING>NAME:unique_immobilize
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:6
	<STRING>TYPE:IMMOBILIZE
	<STRING>UNITTHEME:WOODIMMOBILIZE
	<FLOAT>MIN:6
	<FLOAT>MAX:9
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_TANGLE2.DAT

定身。经 CUnit__applyStagger

样例读数:槽位 MIN=6、MAX=9 · ACTIVATION=TRANSFER;DURATION=6

生效方式:被动数值 / 布尔查询 / 挂载分支 0x562B98

实测用量:原版 117 次 · MOD 库 1473 次

DAMAGE_TYPE:数据里 16 个块写了它(原版 2、MOD 库 14),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

202 · BLIND

[EFFECT]
	<STRING>NAME:WC_blindcloud
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:6
	<INTEGER>LEVEL:1
	<STRING>TYPE:BLIND
	<BOOL>USEOWNERLEVEL:true
	<STRING>UNITTHEME:BlindDebuff
	<BOOL>EXCLUSIVE:true
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_WC_BLINDCLOUD.DAT

致盲。命中后强制换目标,并压低视野距离与 AI 目标选择。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=6;EXCLUSIVE=true

生效方式:被动数值 / 挂载分支 0x562845

实测用量:原版 8 次 · MOD 库 614 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

状态抗性与时长

上一族的对抗面,加上四种元素状态的持续时间加成。

121 · FLEE RESIST

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:FLEE RESIST
	<BOOL>SAVE:true
	<FLOAT>RESISTANCE:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

恐惧抗性。

样例读数:槽位 RESISTANCE=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 60 次 · MOD 库 295 次

136 · INTERRUPT RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:INTERRUPT RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

打断抗性。resolveStrikeHit 读取。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 130 次 · MOD 库 1105 次

137 · CHARM RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CHARM RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

魅惑抗性。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 41 次 · MOD 库 459 次

138 · SILENCE_RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SILENCE_RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

沉默抗性。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 3 次 · MOD 库 88 次

139 · STUN RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:STUN RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:92
	<FLOAT>MAX:92
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

眩晕抗性。

样例读数:槽位 MIN=92、MAX=92 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 10 次 · MOD 库 497 次

140 · SLOW RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SLOW RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:85
	<FLOAT>MAX:85
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

减速抗性。移速计算与多处结算都读它。

样例读数:槽位 MIN=85、MAX=85 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 32 次 · MOD 库 831 次

159 · TELEPORT RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:TELEPORT RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:75
	<FLOAT>MAX:75
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

传送抗性。

样例读数:槽位 MIN=75、MAX=75 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 4 次 · MOD 库 39 次

188 · ELEMENTAL EFFECT DURATION BONUS

[EFFECT]
	<STRING>NAME:ELEMEFFECTDURATIONBONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:ELEMENTAL EFFECT DURATION BONUS
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_TL2_ELEMEFFECT_DURATION_BONUS6.DAT

元素状态持续时间加成(通用)。CUnit__procElementalStatusFromDamage 读取。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 4 次 · MOD 库 71 次

189 · BURN DURATION BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:BURN DURATION BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:1.5
	<FLOAT>MAX:15
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_2_7.DAT

燃烧持续时间加成。

样例读数:槽位 MIN=1.5、MAX=15 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 57 次

190 · FREEZE DURATION BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:FREEZE DURATION BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:1.5
	<FLOAT>MAX:1.5
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_2_7.DAT

冰冻持续时间加成。

样例读数:槽位 MIN=1.5、MAX=1.5 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 40 次

191 · SHOCK DURATION BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:SHOCK DURATION BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:1.5
	<FLOAT>MAX:1.5
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_2_7.DAT

感电持续时间加成。

样例读数:槽位 MIN=1.5、MAX=1.5 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 18 次

192 · POISON DURATION BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:POISON DURATION BONUS
	<BOOL>NOGRAPH:true
	<FLOAT>MIN:1.5
	<FLOAT>MAX:1.5
[/EFFECT]

MOD challenger-continent/unpacked/Elemental_blade_dancer/MEDIA/AFFIXES/ITEMS/BLADE_SET_2_7.DAT

中毒持续时间加成。

样例读数:槽位 MIN=1.5、MAX=1.5 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 42 次

197 · IMMOBILIZE RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:IMMOBILIZE RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:88
	<FLOAT>MAX:88
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

定身抗性。

样例读数:槽位 MIN=88、MAX=88 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 20 次 · MOD 库 605 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

224 · PULL RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:PULL RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

拉拽抗性。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 45 次 · MOD 库 819 次

233 · BLIND RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:BLIND RESISTANCE
	<BOOL>SAVE:true
	<FLOAT>MIN:90
	<FLOAT>MAX:90
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/BOSS_RESISTS.DAT

致盲抗性。视野距离与 AI 目标选择都读它。

样例读数:槽位 MIN=90、MAX=90 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 3 次 · MOD 库 452 次

施法触发(CAST SKILL ON x)

全族 21 个。机制完全不同于其他类型——挂上时在技能管理器里装一个真技能,事件发生时由 fireProcEffects 放出。详见正文 7.1.2–7.1.6 节。

74 · CAST SKILL

[EFFECT]
	<STRING>NAME:AXETHROW
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL
	<BOOL>SAVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_PROC_AXETHROW100.DAT

施法(无触发条件)。挥击选定目标时由 strike_resolveTargets 触发。自己施法模式。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=0

生效方式:INSTANT 分支 0x559EC2 / tick 分支

实测用量:原版 25 次 · MOD 库 810 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

75 · CAST SKILL ON TARGET

[EFFECT]
	<STRING>NAME:AAA_YLQH_SKILL_11_1
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CAST SKILL ON TARGET
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

MOD challenger-continent/unpacked/绿洲联盟正版MOD--编号2/MEDIA/AFFIXES/AAA_YLQH_AFFIXES/AAA_YLQH_AFFIXES_A11_101.DAT

对目标施法。同上时机触发,位置取自己。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 49 次

76 · CAST SKILL AT TARGET

[EFFECT]
	<STRING>NAME:Darkness Proc
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:CAST SKILL AT TARGET
	<STRING>STAT_SOURCE_TYPE:ON CAST CASTER
	<STRING>STATMODIFYNAME:Darkness
	<STRING>STATMODIFYPERCENT:25
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:4
	<FLOAT>MAX:4
[/EFFECT]

MOD challenger-continent/unpacked/nethermancer/MEDIA/AFFIXES/NETHERMANCER/NETHERMANCER_VOIDZONE_DARKNESS.DAT

朝目标位置施法。唯一一个把两个位置参数都搬到目标处的模式,也是唯一不设递归防护的普通模式。

样例读数:槽位 MIN=4、MAX=4 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 11 次

81 · CAST SKILL ON STRUCK

[EFFECT]
	<STRING>NAME:Random Teleport
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON STRUCK
	<BOOL>SAVE:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:200
	<FLOAT>MAX:200
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONRANDOMTELEPORTONSTRUCK.DAT

受击时施法。触发点在 CBaseUnit__applyDamage且要求受击者的 +0x7DC <= 0 —— proc 施法会把它置 1.0 再每帧递减,所以每秒最多触发一次

样例读数:槽位 MIN=200、MAX=200 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 52 次 · MOD 库 1242 次

DAMAGE_TYPE:数据里 125 个块写了它(原版 2、MOD 库 123),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

105 · CAST SKILL ON DEATH

[EFFECT]
	<STRING>NAME:CHAMPIONEXPLODE
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CAST SKILL ON DEATH
	<STRING>UNITTHEME:BUFFEXPLODE
	<BOOL>SAVE:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONEXPLODEONDEATH.DAT

死亡时施法。触发点在 CUnit__onDeath_vt120

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 112 次 · MOD 库 529 次

DAMAGE_TYPE:数据里 9 个块写了它(原版 0、MOD 库 9),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

152 · CAST SKILL ON STRIKE

[EFFECT]
	<STRING>NAME:Weapon Proc Electric
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON STRIKE
	<BOOL>SAVE:true
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/CAST_PROC_ELECTRIC10.DAT

命中时施法。触发点在 CCharacter__resolveStrikeHit

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=PASSIVE

生效方式:tick 分支

实测用量:原版 26 次 · MOD 库 1913 次

DAMAGE_TYPE:数据里 42 个块写了它(原版 2、MOD 库 40),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

183 · CAST SKILL ON DEATH FROM EFFECT OWNER

[EFFECT]
	<STRING>NAME:Weapon Proc Fill Charge Bar
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON DEATH FROM EFFECT OWNER
	<BOOL>SAVE:true
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/CAST_PROC_FILL_CHARGE_BAR10.DAT

由效果所有者在死亡时施法。查的是来源单位的技能管理器,不是自己的;在施法模式跳转表里落 default,靠 0x53CA47 的前置特判处理。

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=PASSIVE

生效方式:tick 分支

实测用量:原版 41 次 · MOD 库 836 次

DAMAGE_TYPE:数据里 30 个块写了它(原版 0、MOD 库 30),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

194 · CAST SKILL ON RANGED STRIKE

[EFFECT]
	<STRING>NAME:Volatile Ember
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON RANGED STRIKE
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:6
	<FLOAT>MAX:6
[/EFFECT]

原版 AFFIXES/SKILLS/WANDERER_WEAPON_PROC.DAT

远程命中时施法。

样例读数:槽位 MIN=6、MAX=6 · ACTIVATION=PASSIVE;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 15 次 · MOD 库 55 次

195 · CAST SKILL ON MELEE STRIKE

[EFFECT]
	<STRING>NAME:druidchargesummon3
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CAST SKILL ON MELEE STRIKE
	<STRING>GRAPHOVERRIDE:MASTERY_GRAPH
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:12.5
	<FLOAT>MAX:12.5
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/CHAMPIONAFFIXES/DRUID_LONGSTRIDER.DAT

近战命中时施法。与 194 由同一处分支选常量。

样例读数:槽位 MIN=12.5、MAX=12.5 · ACTIVATION=PASSIVE;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 85 次

DAMAGE_TYPE:数据里 30 个块写了它(原版 0、MOD 库 30),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

198 · CAST SKILL FROM TARGET

[EFFECT]
	<STRING>NAME:Overload Proc Skill
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:3
	<STRING>TYPE:CAST SKILL FROM TARGET
	<STRING>STAT_SOURCE_TYPE:ON CAST RECEIVER
	<STRING>STATMODIFYNAME:druidoverload
	<STRING>GRAPHOVERRIDE:MASTERY_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/SKILLS/DRUID_OVERLOAD_EXPLODE.DAT

由目标施法。这七个 FROM TARGET 类型带两重随机:锥形从目标处朝一个rand(0°,360°) 的随机方向发出,命中多个单位时再随机挑一个。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=TRANSFER;DURATION=3

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 75 次

199 · CAST SKILL ON MELEE STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:Shadowbind Proc
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CAST SKILL ON MELEE STRIKE FROM TARGET
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SHADOWBIND.DAT

近战命中时由目标施法。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 2 次 · MOD 库 90 次

200 · CAST SKILL ON RANGED STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:ARCHER_MARK_TARGET_PROC
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CAST SKILL ON RANGED STRIKE FROM TARGET
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/ARCHER_SKILLS/ARCHER_MARK_TARGET.DAT

远程命中时由目标施法。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 18 次

201 · CAST SKILL ON STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:WC_Stormclaw Proc
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON STRIKE FROM TARGET
	<BOOL>SAVE:true
	<FLOAT>MIN:6
	<FLOAT>MAX:6
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_PROC_STORMCLAW1.DAT

命中时由目标施法。

样例读数:槽位 MIN=6、MAX=6 · ACTIVATION=PASSIVE

生效方式:tick 分支

实测用量:原版 52 次 · MOD 库 1167 次

DAMAGE_TYPE:数据里 58 个块写了它(原版 0、MOD 库 58),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

203 · CAST SKILL ON KILL

[EFFECT]
	<STRING>NAME:WC_proc_fullheal
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON KILL
	<BOOL>SAVE:true
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_PROCKILL_FULLHEAL1.DAT

击杀时施法。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE

生效方式:tick 分支

实测用量:原版 11 次 · MOD 库 177 次

204 · CAST SKILL ON KILL AT TARGET

[EFFECT]
	<STRING>NAME:WC_Skull Proc Skill
	<STRING>ACTIVATION:PASSIVE
	<INTEGER>LEVEL:1
	<STRING>TYPE:CAST SKILL ON KILL AT TARGET
	<BOOL>SAVE:true
	<FLOAT>MIN:3
	<FLOAT>MAX:3
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_PROCKILL_SKULL_2.DAT

击杀时朝目标施法。没有目标就直接放弃

样例读数:槽位 MIN=3、MAX=3 · ACTIVATION=PASSIVE

生效方式:tick 分支

实测用量:原版 20 次 · MOD 库 275 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

206 · CAST SKILL ON MELEE SKILL STRIKE

[EFFECT]
	<STRING>NAME:SHARINGEN
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:CAST SKILL ON MELEE SKILL STRIKE
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

MOD challenger-continent/职业技能/MEDIA/AFFIXES/SKILLS/WANDERER_HEX_BONUS_PRO.DAT

技能近战命中时施法。

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 2 次

207 · CAST SKILL ON MELEE SKILL STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:Shadowbind Proc
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CAST SKILL ON MELEE SKILL STRIKE FROM TARGET
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SHADOWBINDPT2.DAT

技能近战命中时由目标施法。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 1 次 · MOD 库 18 次

208 · CAST SKILL ON RANGED SKILL STRIKE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:CAST SKILL ON RANGED SKILL STRIKE
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

技能远程命中时施法。21 个 CAST SKILL ON x 里唯一两库合计用量为 0 的,但四段链一段不缺:安装(虚表槽 91)、触发(CCharacter__resolveStrikeHit 0x54E31F)、执行(模式 0,带 1 秒递归防护)、卸载(tick OR 链 0x567157)。

生效方式:tick 分支

实测用量两库合计 0 次

209 · CAST SKILL ON RANGED SKILL STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:ARCHER_MARK_TARGET_PROC
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CAST SKILL ON RANGED SKILL STRIKE FROM TARGET
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:20
	<BOOL>EXCLUSIVE:true
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/ARCHER_SKILLS/ARCHER_MARK_TARGET.DAT

技能远程命中时由目标施法。

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 3 次

210 · CAST SKILL ON SKILL STRIKE

[EFFECT]
	<STRING>NAME:DRUID_NATURES_WRATH_FIRE
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CAST SKILL ON SKILL STRIKE
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/DRUID_SKILLS/DRUID_NATURES_WRATH_1.DAT

技能命中时施法。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 451 次

211 · CAST SKILL ON SKILL STRIKE FROM TARGET

[EFFECT]
	<STRING>NAME:Windtalker Proc
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CAST SKILL ON SKILL STRIKE FROM TARGET
	<STRING>STATMODIFYNAME:EFFECT_LEVEL
	<STRING>STATMODIFYPERCENT:20
	<FLOAT>MIN:22
	<FLOAT>MAX:22
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/CHAMPIONAFFIXES/DRUID_ELEMENTAL_DAMAGE_MASTERY10.DAT

技能命中时由目标施法。

样例读数:槽位 MIN=22、MAX=22 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:tick 分支

实测用量:原版 0 次 · MOD 库 62 次

技能操作

学会/禁用/改等级/改冷却/停止,以及施法速度与法力消耗。

29 · PERCENT CAST SPEED

[EFFECT]
	<STRING>NAME:ChampSlowCast
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERCENT CAST SPEED
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-20
	<FLOAT>MAX:-20
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONSLOWAURA.DAT

施法速度百分比。

样例读数:槽位 MIN=-20、MAX=-20 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 156 次 · MOD 库 3690 次

DAMAGE_TYPE:数据里 77 个块写了它(原版 0、MOD 库 77),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

65 · LEARN SKILL

[EFFECT]
	<STRING>NAME:Advanced Spellcasting
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:LEARN SKILL
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 UNITS/ITEMS/SPELLS/ADVANCED SPELLCASTING II.DAT

学会技能。建技能对象 → 设为启用,受 canLearnSkill 与权威端双重把关;tick 每帧重新确保技能存在。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A218 / tick 分支

实测用量:原版 197 次 · MOD 库 893 次

82 · SKILL BONUS

[EFFECT]
	<STRING>NAME:Charm Spell Mastery
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SKILL BONUS
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/SKILL_ADD_MASTERY_CHARM2.DAT

技能等级加成。由 sub_7ADC10 与工具提示构建器读取。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:布尔查询

实测用量:原版 7 次 · MOD 库 215 次

85 · ATTACK SPELL BONUS

[EFFECT]
	<STRING>NAME:ATTACKSPELL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:ATTACK SPELL BONUS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_ATTACKMAGIC_MASTERY.DAT

攻击类法术加成。CSkill__recomputeEffectiveLevel 读取。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 6 次

86 · DEFENSE SPELL BONUS

[EFFECT]
	<STRING>NAME:DEFENSESPELL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:DEFENSE SPELL BONUS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_DEFENSEMAGIC_MASTERY.DAT

防御类法术加成。同上。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 4 次

DAMAGE_TYPE写了也无效 —— 0x7AAC03 的跳转表把这个类型的 CEffect+0x14 无条件写成 1(Magical),连键都不读。数据里目前无人在此类型上写它。

87 · CHARM SPELL BONUS

[EFFECT]
	<STRING>NAME:CHARMSPELL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CHARM SPELL BONUS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_CHARMMAGIC_MASTERY.DAT

魅惑类法术加成。同上。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 4 次

95 · SPELL REQUIREMENTS

[EFFECT]
	<STRING>NAME:BDKRZ3_300_FS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SPELL REQUIREMENTS
	<STRING>GRAPHOVERRIDE:MASTERY_GRAPH
	<FLOAT>MIN:25
	<FLOAT>MAX:25
[/EFFECT]

MOD challenger-continent/职业技能/MEDIA/AFFIXES/BDKRZ_NECKLACE/BDKRZ3_300_FS.DAT

法术需求减免。UNITTYPE 0x81 时追加。

样例读数:槽位 MIN=25、MAX=25 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 2 次

127 · STOP SKILL

[EFFECT]
	<STRING>NAME:glacial spike aoe
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:STOP SKILL
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_GLACIAL_SPIKE_AOE_CANCEL.DAT

停止技能。按名字调 CSkillMgr__stopSkillByName

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x559E45DURATION:INSTANT,给时长不会反复触发

实测用量:原版 67 次 · MOD 库 1867 次

175 · PERCENT MANA COST BONUS

[EFFECT]
	<STRING>NAME:Map_Player_Reduced_Cost
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT MANA COST BONUS
	<BOOL>NOGRAPH:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-25
	<FLOAT>MAX:-25
[/EFFECT]

原版 AFFIXES/LEVELS/MAP_PLAYER_REDUCE_MANA_COST.DAT

法力消耗百分比。

样例读数:槽位 MIN=-25、MAX=-25 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 3 次 · MOD 库 399 次

216 · MODIFY SKILL COOLDOWN REMAINING

[EFFECT]
	<STRING>NAME:Chronosphere
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:MODIFY SKILL COOLDOWN REMAINING
	<FLOAT>MIN:-10
	<FLOAT>MAX:-10
[/EFFECT]

MOD challenger-continent/unpacked/nethermancer/MEDIA/AFFIXES/NETHERMANCER/NETHERMANCER_TEST.DAT

修改技能冷却剩余(相对)。

样例读数:槽位 MIN=-10、MAX=-10 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A486DURATION:INSTANT,给时长不会反复触发

实测用量:原版 0 次 · MOD 库 103 次

217 · SET SKILL COOLDOWN REMAINING

[EFFECT]
	<STRING>NAME:NETHERIMTENTACLESUMMON
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SET SKILL COOLDOWN REMAINING
	<FLOAT>MIN:20
	<FLOAT>MAX:20
[/EFFECT]

原版 SKILLS/MONSTERS/NETHERIM/TENTACLESUMMON.DAT

设置技能冷却剩余(绝对)。与 216 只差取值方式。

样例读数:槽位 MIN=20、MAX=20 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A4E3DURATION:INSTANT,给时长不会反复触发

实测用量:原版 5 次 · MOD 库 318 次

222 · SET SKILL LEVEL

[EFFECT]
	<STRING>NAME:BattleStandardAura
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:2
	<STRING>TYPE:SET SKILL LEVEL
	<BOOL>SAVE:true
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 SKILLS/BERSERKER/BATTLESTANDARD/BATTLESTANDARD.DAT

设置技能等级。同时遍历随从,对附属随从一并设置。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A314DURATION:INSTANT,给时长不会反复触发

实测用量:原版 69 次 · MOD 库 2306 次

227 · SKILL ENABLE

[EFFECT]
	<STRING>NAME:STURM SPIKE SHOT RAPID
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:0.01
	<STRING>TYPE:SKILL ENABLE
	<FLOAT>MINTIME:0.01
	<FLOAT>MAXTIME:0.01
[/EFFECT]

原版 AFFIXES/MONSTERS/MAP_BOSS_STURM_SIEGE.DAT

启用技能。挂载路径由函数开头的 CEffect+0x20 == 2 前置判定到达,不经 switch;tick 路径与 228 共用 setSkillEnabledByName

样例读数:槽位 MINTIME=0.01、MAXTIME=0.01 · ACTIVATION=DYNAMIC;DURATION=0.01

生效方式:挂载分支 0x5626C7 / tick 分支

实测用量:原版 10 次 · MOD 库 11 次

228 · SKILL DISABLE

[EFFECT]
	<STRING>NAME:STURM POUND
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:.01
	<STRING>TYPE:SKILL DISABLE
	<FLOAT>MINTIME:0.01
	<FLOAT>MAXTIME:0.01
[/EFFECT]

原版 AFFIXES/MONSTERS/MAP_BOSS_STURM_SIEGE.DAT

禁用技能。与 227 共用实现,只差布尔值。

样例读数:槽位 MINTIME=0.01、MAXTIME=0.01 · ACTIVATION=DYNAMIC;DURATION=.01

生效方式:挂载分支 0x5626C7 / tick 分支

实测用量:原版 7 次 · MOD 库 3 次

DAMAGE_TYPE:数据里 3 个块写了它(原版 0、MOD 库 3),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

充能条

充能的增减、衰减与「充能换属性」。

168 · ADD CHARGE PERCENT

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:ADD CHARGE PERCENT
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/ITEMS/PROC_FILL_CHARGE_BAR.DAT

增加充能百分比。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:被动数值 / INSTANT 分支 0x55C80D

实测用量:原版 81 次 · MOD 库 1390 次

DAMAGE_TYPE:数据里 6 个块写了它(原版 0、MOD 库 6),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

169 · SET CHARGE PERCENT

[EFFECT]
	<STRING>NAME:player charge percent
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:SET CHARGE PERCENT
	<FLOAT>MIN:0
	<FLOAT>MAX:0
[/EFFECT]

原版 AFFIXES/SKILLS/HEALTHCONVERTREMOVE.DAT

设置充能百分比。

样例读数:槽位 MIN=0、MAX=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:被动数值 / INSTANT 分支 0x55C841

实测用量:原版 17 次 · MOD 库 80 次

170 · MAX CHARGES

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:MAX CHARGES
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

MOD challenger-continent/至尊适配/MEDIA/AFFIXES/GEMS/A10.DAT

充能上限。CPlayer__getMaxCharges 读取。

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 1 次

171 · ADD CHARGES

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:ADD CHARGES
	<FLOAT>MIN:25
	<FLOAT>MAX:25
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_TL2_ADDCHARGE5.DAT

增加充能点数。

样例读数:槽位 MIN=25、MAX=25 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55C873DURATION:INSTANT,给时长不会反复触发

实测用量:原版 110 次 · MOD 库 2525 次

172 · PERCENT CHARGE BAR DECAY RATE

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT CHARGE BAR DECAY RATE
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:-8
	<FLOAT>MAX:-8
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_CHARGEDECAY.DAT

充能条衰减速率百分比。

样例读数:槽位 MIN=-8、MAX=-8 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 13 次 · MOD 库 161 次

DAMAGE_TYPE:数据里 116 个块写了它(原版 10、MOD 库 106),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

173 · CHARGE BAR DECAY DELAY

[EFFECT]
	<STRING>NAME:Berserk_Delay
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:CHARGE BAR DECAY DELAY
	<FLOAT>MIN:99999
	<FLOAT>MAX:999999
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_BERSERK_NO_DISPLAY.DAT

充能条衰减延迟。

样例读数:槽位 MIN=99999、MAX=999999 · ACTIVATION=DYNAMIC;DURATION=ALWAYS

生效方式:被动数值 / 挂载分支 0x5629C3

实测用量:原版 1 次 · MOD 库 7 次

174 · PERCENT CHARGING BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT CHARGING BONUS
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:6
	<FLOAT>MAX:9
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_TL2_CHARGERATEBONUS2.DAT

充能加成百分比。

样例读数:槽位 MIN=6、MAX=9 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 40 次 · MOD 库 614 次

DAMAGE_TYPE:数据里 181 个块写了它(原版 13、MOD 库 168),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

176 · CHARGE BAR DECAY RATE

[EFFECT]
	<STRING>NAME:CLASS_QLJX_INIT_CHARGE_DECAY_PENALTY
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:CHARGE BAR DECAY RATE
	<BOOL>SAVE:true
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:15
	<FLOAT>MAX:15
[/EFFECT]

MOD challenger-continent/MIKURO_CLASS_QLJX/MEDIA/UNITS/PLAYERS/CLASS_QLJX/CLASS_QLJX_BASE.DAT

充能条衰减速率。

样例读数:槽位 MIN=15、MAX=15 · ACTIVATION=PASSIVE;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 7 次

181 · CONVERT CHARGE TO STAT

[EFFECT]
	<STRING>NAME:railmanbonus
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:CONVERT CHARGE TO STAT
	<FLOAT>VALUE:0
[/EFFECT]

原版 SKILLS/RAILMAN/FORCEFIELD/FORCEFIELD.DAT

把充能换算成属性(按点数)。

样例读数:槽位 VALUE=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55C8A1DURATION:INSTANT,给时长不会反复触发

实测用量:原版 30 次 · MOD 库 314 次

182 · CONVERT CHARGE PERCENT TO STAT

[EFFECT]
	<STRING>NAME:MONK_SHOCKWAVE
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:CONVERT CHARGE PERCENT TO STAT
	<FLOAT>VALUE:50
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/MONK_SKILLS/MONK_SHOCKWAVE_CHARGE.DAT

把充能换算成属性(按百分比),并放粒子特效。

样例读数:槽位 VALUE=50 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55C959DURATION:INSTANT,给时长不会反复触发

实测用量:原版 0 次 · MOD 库 6 次

STAT 操作

读写 CStatManager 里的命名变量,是一个 {add, set, remove} × {普通, 按等级} 的 3×2 矩阵。同一个类型在 INSTANT 与挂载两条路径上行为不同——挂载版会给属性设时长。

146 · ADD STAT

[EFFECT]
	<STRING>NAME:consumedead
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:ADD STAT
	<FLOAT>MIN:0.2
	<FLOAT>MAX:0.2
	<FLOAT>CHANCE:100
[/EFFECT]

原版 SKILLS/MONSTERS/SPIDER/FEED_N_GROW.DAT

增加一个命名 STAT。INSTANT 版只加,挂载版还会 findStat + setDuration 给属性设时长——同一个块,写 INSTANT 得到永久属性,写时长反而得到会过期的属性。

样例读数:槽位 MIN=0.2、MAX=0.2、CHANCE=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55BAB4 / 挂载分支 0x562D1E

实测用量:原版 278 次 · MOD 库 5307 次

147 · ADD STAT TO LEVEL

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:ADD STAT TO LEVEL
	<FLOAT>MIN:1
	<FLOAT>MAX:1
	<FLOAT>CHANCE:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

按等级增加 STAT,写的是关卡自己的 CStatManagerCLevel+0x350,随关卡存档持久化)。但缺了 146/148/150 都有的空指针门CUnit__getLevel 返回 0 时直接 mov ecx,[eax+350h],承受者不在关卡里就是空指针崩溃。能用但不安全,这也是它零使用的原因。

生效方式:INSTANT 分支 0x55BC14DURATION:INSTANT,给时长不会反复触发

实测用量两库合计 0 次

148 · SET STAT

[EFFECT]
	<STRING>NAME:FrenzyDuration
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SET STAT
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:100
	<FLOAT>MIN:0.5
	<FLOAT>MAX:0.5
	<FLOAT>CHANCE:100
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_BERSERK_PASSIVE.DAT

设置 STAT。

样例读数:槽位 MIN=0.5、MAX=0.5、CHANCE=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55BB2CDURATION:INSTANT,给时长不会反复触发

实测用量:原版 8 次 · MOD 库 3088 次

149 · SET STAT ON LEVEL

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SET STAT ON LEVEL
	<FLOAT>MIN:1
	<FLOAT>MAX:1
	<FLOAT>CHANCE:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

按等级设置 STAT。与 147 同一段后端、同一个空指针洞(0x55BC86)。

生效方式:INSTANT 分支 0x55BC86DURATION:INSTANT,给时长不会反复触发

实测用量两库合计 0 次

150 · CLEAR STAT

[EFFECT]
	<STRING>NAME:BerserkerRage
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:CLEAR STAT
	<FLOAT>MIN:1
	<FLOAT>MAX:1
	<FLOAT>CHANCE:100
[/EFFECT]

原版 AFFIXES/PLAYER/BERSERKER_RAGE_CLEAR.DAT

清除 STAT。

样例读数:槽位 MIN=1、MAX=1、CHANCE=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55BBA4DURATION:INSTANT,给时长不会反复触发

实测用量:原版 28 次 · MOD 库 1418 次

151 · CLEAR STAT ON LEVEL

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:CLEAR STAT ON LEVEL
	<FLOAT>MIN:1
	<FLOAT>MAX:1
	<FLOAT>CHANCE:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

按等级清除 STAT。与 147 同一段后端、同一个空指针洞(0x55BCF8)。

生效方式:INSTANT 分支 0x55BCF8DURATION:INSTANT,给时长不会反复触发

实测用量两库合计 0 次

召唤与宠物

召唤时长、解除召唤、宠物属性加成、死亡时生成。

47 · SUMMON DURATION

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:8
	<STRING>TYPE:SUMMON DURATION
	<FLOAT>MIN:85
	<FLOAT>MAX:85
[/EFFECT]

原版 AFFIXES/MONSTERS/SUMMON_ESTHERIAN_WISP_DUR.DAT

召唤持续时间。tick 路径里与 110 KILL 共用同一段「移除本单位」代码。

样例读数:槽位 MIN=85、MAX=85 · ACTIVATION=DYNAMIC;DURATION=8

生效方式:被动数值 / tick 分支

实测用量:原版 88 次 · MOD 库 907 次

67 · DESUMMON MONSTER

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:DESUMMON MONSTER
	<FLOAT>MIN:100
	<FLOAT>MAX:100
	<FLOAT>NO_LOOT:1
	<FLOAT>NO_DIE_ANIM:1
	<FLOAT>DESTROY_BODY:1
[/EFFECT]

原版 SKILLS/MONSTERS/BLOATFANG/BLOATFANG_HEAL.DAT

解除召唤。CUnit__doDesummon,INSTANT 与 tick 两条路径都有。

样例读数:槽位 MIN=100、MAX=100、NO_LOOT=1、NO_DIE_ANIM=1、DESTROY_BODY=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A72A / tick 分支

实测用量:原版 271 次 · MOD 库 2426 次

92 · PERCENT PET VELOCITY

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT PET VELOCITY
	<FLOAT>MIN:40
	<FLOAT>MAX:40
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_PET_TOWN_RETURN9.DAT

宠物与随从移速百分比。CUnit__integrateMoveAndTurn 读取。

样例读数:槽位 MIN=40、MAX=40 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 5 次 · MOD 库 87 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

96 · PET DEPARTURE TIME

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PET DEPARTURE TIME
	<FLOAT>MIN:80
	<FLOAT>MAX:80
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_PET_TOWN_RETURN3.DAT

宠物往返城镇耗时。

样例读数:槽位 MIN=80、MAX=80 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 3 次 · MOD 库 38 次

97 · PERCENT PET ARMOR

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT PET ARMOR
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_PET_ARMOR.DAT

宠物与随从护甲百分比。getPhysicalArmorRaw 读取。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 14 次 · MOD 库 221 次

DAMAGE_TYPE:数据里 19 个块写了它(原版 0、MOD 库 19),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

104 · PERCENT PET HEALTH

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT PET HEALTH
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_PETHEALTH.DAT

宠物与随从生命百分比。CUnit__getMaxHealth 读取。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 10 次 · MOD 库 224 次

DAMAGE_TYPE:数据里 26 个块写了它(原版 0、MOD 库 26),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

129 · DESUMMON ON DEATH

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:DESUMMON ON DEATH
	<BOOL>SAVE:true
	<FLOAT>MIN:-1
	<FLOAT>MAX:-1
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_ICEELEM_DUR.DAT

死亡时解除召唤。走布尔查询,CUnit__onDeath_vt120 消费。

样例读数:槽位 MIN=-1、MAX=-1 · ACTIVATION=DYNAMIC;DURATION=ALWAYS

生效方式:布尔查询

实测用量:原版 29 次 · MOD 库 602 次

142 · SWAP POS WITH PET

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SWAP POS WITH PET
[/EFFECT]

原版 SKILLS/MONSTERS/MEDEA/MEDEACLONE.DAT

与随从交换位置。

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x559D7FDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 1 次

160 · SPAWN UNIT

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:SPAWN UNIT
	<FLOAT>COUNT:1
	<FLOAT>CHANCE:1
	<FLOAT>MINRANGE:1
	<FLOAT>MAXRANGE:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

生成单位。实装完整,原版一次没用:INSTANT(0x55C3B6)、挂载(0x5640D0)、tick(0x569360)三条路径都有分支。INSTANT 前置是 [CEffect+0x30] & [CEffect+0x34] != -1(要有可解析的单位 GUID)加本地权威,然后读槽 4、3、0。

生效方式:INSTANT 分支 0x55C3B6 / 挂载分支 0x5640D0 / tick 分支

实测用量两库合计 0 次

161 · SPAWN UNIT ON DEATH

[EFFECT]
	<STRING>NAME:invalid
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SPAWN UNIT ON DEATH
	<STRING>UNITTHEME:CHAMPIONDIVIDING
	<BOOL>SAVE:true
	<FLOAT>COUNT:2
	<FLOAT>CHANCE:100
	<FLOAT>MINRANGE:2
	<FLOAT>MAXRANGE:2
	<FLOAT>HPPCT:40
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONSPAWNCHAMP.DAT

死亡时生成单位。由 CBaseUnit__execProcCastSkill 特判(0x53C8F7),走 CUnit__spawnUnitByGuid 后立刻 CEffect__expireAFFIX_MODIFIES:false

样例读数:槽位 COUNT=2、CHANCE=100、MINRANGE=2、MAXRANGE=2、HPPCT=40 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:布尔查询

实测用量:原版 1 次 · MOD 库 110 次

177 · EXPLODE ON DEATH

[EFFECT]
	<STRING>ACTIVATION:TRANSFER
	<STRING>DURATION:0.5
	<STRING>TYPE:EXPLODE ON DEATH
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_TL2_EXPLODECORPSE.DAT

死亡时爆炸。走布尔查询,onDeath 消费。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=TRANSFER;DURATION=0.5;DAMAGE_TYPE=ALL

生效方式:布尔查询

实测用量:原版 77 次 · MOD 库 551 次

DAMAGE_TYPE:数据里 8 个块写了它(原版 1、MOD 库 7),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

位移与传送

移速、传送、拉拽。传送四兄弟是同一段代码的四份副本。

21 · PERCENT SPEED

[EFFECT]
	<STRING>NAME:ChampSlowMove
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERCENT SPEED
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-20
	<FLOAT>MAX:-20
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONSLOWAURA.DAT

移动速度百分比。CUnit__getMoveSpeedA/BintegrateMoveAndTurn 都读它。

样例读数:槽位 MIN=-20、MAX=-20 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 260 次 · MOD 库 4654 次

DAMAGE_TYPE:数据里 104 个块写了它(原版 0、MOD 库 104),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

44 · PERCENT ACTIVE DISTANCE BONUS

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT ACTIVE DISTANCE BONUS
	<FLOAT>MIN:200
	<FLOAT>MAX:200
[/EFFECT]

原版 AFFIXES/ITEMS/SET_DEFENSE_BONUS5.DAT

活动距离百分比加成。

样例读数:槽位 MIN=200、MAX=200 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 13 次 · MOD 库 61 次

63 · VELOCITY MULT

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:VELOCITY MULT
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

速度倍率。实装完整,原版一次没用,而且同时占三条路径:数值查询(CUnit__integrateMovement 0x542780)、布尔查询(0x51A6310x542EC9)、挂载分支(0x563BD3)。

生效方式:被动数值 / 布尔查询 / 挂载分支 0x563BD3

实测用量两库合计 0 次

78 · MISSILE RANGE BONUS

[EFFECT]
	<STRING>NAME:OFTHETIGER PERCENT ATTACK SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:MISSILE RANGE BONUS
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_MISSILE_RANGE_BONUS1.DAT

弹道射程加成。攻击距离判定与武器缩放都读它。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 17 次 · MOD 库 174 次

113 · WARP

[EFFECT]
	<STRING>NAME:Phasebeast_A3Z2_lava
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:WARP
	<STRING>DURATION:INSTANT
[/EFFECT]

原版 SKILLS/MONSTERS/PHASEBEAST/PORTALUSE_LAVA.DAT

传送。把目标串按分隔符切成关卡名与落点名。

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT;DURATION=INSTANT

生效方式:布尔查询 / INSTANT 分支 0x559F1A

实测用量:原版 21 次 · MOD 库 18 次

157 · TELEPORT RANDOM

[EFFECT]
	<STRING>NAME:TeleportEffect
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:TELEPORT RANDOM
	<BOOL>EXCLUSIVE:true
	<FLOAT>CHANCE:100
	<FLOAT>DONTPLAYPARTICLES:-1
	<FLOAT>MINRANGE:6
	<FLOAT>MAXRANGE:10
	<FLOAT>COOLDOWN:5
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONRANDOMTELEPORT.DAT

随机传送。与 158/235/236 是四份同构副本,只在落位函数与粒子标志上分叉。

样例读数:槽位 CHANCE=100、MINRANGE=6、MAXRANGE=10、COOLDOWN=5 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:INSTANT 分支 0x55BF07DURATION:INSTANT,给时长不会反复触发

实测用量:原版 11 次 · MOD 库 198 次

158 · TELEPORT

[EFFECT]
	<STRING>NAME:TELEPORTOTHER
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:TELEPORT
	<STRING>PARTICLE_FX:media/particles/effects/teleport.layout
	<FLOAT>CHANCE:100
	<FLOAT>MINRANGE:0
	<FLOAT>MAXRANGE:30
	<FLOAT>COOLDOWN:5
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_PORTAL.DAT

定点传送。

样例读数:槽位 CHANCE=100、MINRANGE=0、MAXRANGE=30、COOLDOWN=5 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55BD62DURATION:INSTANT,给时长不会反复触发

实测用量:原版 6 次 · MOD 库 8 次

162 · WARP TO POI

[EFFECT]
	<STRING>NAME:EZRO_SPAWN_POI
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:WARP TO POI
	<FLOAT>POI:0
[/EFFECT]

原版 SKILLS/MONSTERS/BOSS_EZRO_ELITE/POI_WARP.DAT

传送到 POI。找点 → 找空位 → 贴地 → 设位置,四步都在挂载分支里。

样例读数:槽位 POI=0 · ACTIVATION=DYNAMIC

生效方式:挂载分支 0x562C72

实测用量:原版 2 次 · MOD 库 2 次

223 · PULL

[EFFECT]
	<STRING>NAME:EzroManaPull
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:PULL
	<BOOL>EXCLUSIVE:true
	<FLOAT>TIME:20
	<FLOAT>EFFECT_DURATION:0.25
[/EFFECT]

原版 SKILLS/MONSTERS/EZROHIR/SOULDRAWMANA.DAT

拉拽。把目标朝来源拖,带抗性判定。

样例读数:槽位 TIME=20、EFFECT_DURATION=0.25 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:INSTANT 分支 0x5597A3DURATION:INSTANT,给时长不会反复触发

实测用量:原版 11 次 · MOD 库 304 次

DAMAGE_TYPE:数据里 6 个块写了它(原版 0、MOD 库 6),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

225 · PULL EFFECT

[EFFECT]
	<STRING>NAME:druid_guardian_guard
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:PULL EFFECT
	<BOOL>EXCLUSIVE:true
	<FLOAT>TIME:0.2
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/SKILLS/DRUID_GUARDIAN_GUARD.DAT

拉拽效果。tick 里做完整的向量运算:相减 → lengthnormalise → 两次缩放。

样例读数:槽位 TIME=0.2 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:被动数值 / tick 分支

实测用量:原版 0 次 · MOD 库 10 次

235 · TELEPORT NOPARTICLE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:TELEPORT NOPARTICLE
	<FLOAT>CHANCE:100
	<FLOAT>MINRANGE:15
	<FLOAT>MAXRANGE:20
	<FLOAT>COOLDOWN:0
[/EFFECT]

原版 SKILLS/MONSTERS/BOSS_ALCHEMIST/EMBERPHASE.DAT

定点传送(无粒子)。与 158 同构。

样例读数:槽位 CHANCE=100、MINRANGE=15、MAXRANGE=20、COOLDOWN=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55C08CDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 49 次

236 · TELEPORT RANDOM NOPARTICLE

[EFFECT]
	<STRING>NAME:Banish_Teleport
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:TELEPORT RANDOM NOPARTICLE
	<STRING>UNITTHEME:fear
	<BOOL>EXCLUSIVE:true
	<FLOAT>CHANCE:22
	<FLOAT>MINRANGE:5
	<FLOAT>MAXRANGE:10
	<FLOAT>COOLDOWN:1
[/EFFECT]

MOD challenger-continent/unpacked/Variant/MEDIA/AFFIXES/SKILLS/LEGIONARY_BANISH1.DAT

随机传送(无粒子)。与 157 同构。

样例读数:槽位 CHANCE=22、MINRANGE=5、MAXRANGE=10、COOLDOWN=1 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:INSTANT 分支 0x55C231DURATION:INSTANT,给时长不会反复触发

实测用量:原版 0 次 · MOD 库 45 次

物品与经济

掉落、金钱、经验、价格、物品需求减免。

27 · PERCENT MAGICAL DROP

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT MAGICAL DROP
	<FLOAT>MIN:3
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_LUCK_LUCK2.DAT

魔法物品掉落率(寻宝)。CSpawnClass__pickItem_byRarityWeights 按它调稀有度权重。

样例读数:槽位 MIN=3、MAX=4 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 43 次 · MOD 库 439 次

DAMAGE_TYPE:数据里 45 个块写了它(原版 5、MOD 库 40),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

28 · PERCENT GOLD DROP

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT GOLD DROP
	<FLOAT>MIN:4
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_LUCK_GOLD_DROP.DAT

金币掉落加成。拾取金币与角色面板两处读取。

样例读数:槽位 MIN=4、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 37 次 · MOD 库 423 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

34 · PERCENT ITEM REQUIREMENTS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:PERCENT ITEM REQUIREMENTS
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

物品需求百分比减免。被六个分类版取代(93/94/95/98/100/101,sub_57D930UNITTYPE 选型),自己没有消费方。但描述串还在,所以写了会照常显示「[VALUE]% reduced item level requirements」而毫无作用

生效方式未找到消费方 —— 六条路径均无,原版用量为 0

实测用量两库合计 0 次

46 · IDENTIFY

[EFFECT]
	<STRING>NAME:IDENTIFY
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:IDENTIFY
	<STRING>DURATION:INSTANT
	<FLOAT>VALUE:1
[/EFFECT]

原版 SKILLS/SHARED/IDENTIFY/IDENTIFY.DAT

鉴定。效果本身什么都不做——类型 46 在 INSTANT 跳表里落 default(纯 retn),鉴定由技能层实现。

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式效果本身无行为 —— 落 INSTANT default(纯 retn

实测用量:原版 2 次 · MOD 库 2 次

WARNING

写了不生效。 两库合计已被写了 4 次,但引擎里没有任何代码会读它。 这个效果块本身不产生任何行为 —— 类型 46 在 INSTANT 跳表里落 default(0x55CA77,纯 retn)。鉴定功能由技能层实现,原版把它当标记用。

51 · GOLD DROP

[EFFECT]
	<BOOL>EXCLUSIVE:true
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:GOLD DROP
	<STRING>GRAPHOVERRIDE:DDK
	<FLOAT>MIN:300
	<FLOAT>MAX:350
[/EFFECT]

MOD challenger-continent/暗黑传奇/MEDIA/AFFIXES/ADD_S_CANNON/CANSTUN_L.DAT

金币掉落(绝对值)。

样例读数:槽位 MIN=300、MAX=350 · EXCLUSIVE=true;ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 39 次

68 · XP GAIN BONUS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:XP GAIN BONUS
	<FLOAT>MIN:4
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_LUCK_GAIN2.DAT

经验获取加成。与 XPSHARINGLEVEL_VERSUS_LEVEL_EXPERIENCE_MODIFIER 一起进经验计算。

样例读数:槽位 MIN=4、MAX=5 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 19 次 · MOD 库 254 次

77 · FAME GAIN BONUS

[EFFECT]
	<STRING>NAME:FAMEGAIN
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:FAME GAIN BONUS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_ADVENTURER_MASTERY.DAT

声望获取加成。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 69 次

83 · PRICE REDUCTION

[EFFECT]
	<STRING>NAME:OFTHEMAGE PERCENT CAST SPEED
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PRICE REDUCTION
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_PRICE_REDUCTION2.DAT

价格折扣。买价与卖价两处都读它。

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 6 次 · MOD 库 58 次

84 · FISHING LUCK

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:FISHING LUCK
	<STRING>DAMAGE_TYPE:FIRE
	<FLOAT>MIN:2
	<FLOAT>MAX:4
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_LUCK_FISHING_LUCK.DAT

钓鱼幸运。

样例读数:槽位 MIN=2、MAX=4 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=FIRE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 5 次 · MOD 库 45 次

DAMAGE_TYPE:数据里 34 个块写了它(原版 4、MOD 库 30),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

90 · POTION EFFICIENCY

[EFFECT]
	<STRING>NAME:OFTHESAVAGE DEGRADE ARMOR
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:POTION EFFICIENCY
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/ITEMS/UNIQUE_POTION_EFFICIENCY.DAT

药水效率。

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 15 次 · MOD 库 212 次

93 · REDUCED ITEM REQUIREMENTS

[EFFECT]
	<STRING>NAME:OFTHETURTLE ARMOR BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:REDUCED ITEM REQUIREMENTS
	<FLOAT>MIN:5
	<FLOAT>MAX:7
[/EFFECT]

原版 AFFIXES/ITEMS/ENCHANTER_ACT3_REDUCED_REQS.DAT

物品需求减免(通用)。需求链无条件先取它,再按物品 UNITTYPE 追加一个专用类型。

样例读数:槽位 MIN=5、MAX=7 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 5 次 · MOD 库 41 次

94 · ARMOR ITEM REQUIREMENTS

[EFFECT]
	<STRING>NAME:ARMORSKILL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:ARMOR ITEM REQUIREMENTS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_ARMOR_MASTERY.DAT

护甲类物品需求减免。物品 UNITTYPE 0x0D 时追加。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 28 次

98 · MARTIAL ITEM REQUIREMENTS

[EFFECT]
	<STRING>NAME:MARTIALSKILL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:MARTIAL ITEM REQUIREMENTS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_MARTIAL_MASTERY.DAT

武器类物品需求减免。UNITTYPE 0xA2 时追加。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 59 次

100 · RANGED ITEM REQUIREMENTS

[EFFECT]
	<STRING>NAME:MARTIALSKILL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:RANGED ITEM REQUIREMENTS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_RANGED_MASTERY.DAT

远程物品需求减免。UNITTYPE 0xA3 时追加。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 20 次

101 · MAGIC ITEM REQUIREMENTS

[EFFECT]
	<STRING>NAME:MAGESKILL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:MAGIC ITEM REQUIREMENTS
	<STRING>GRAPHOVERRIDE:LINEAR_GRAPH
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/SKILL_MAGIC_MASTERY.DAT

魔法物品需求减免。UNITTYPE 0xA4 时追加。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 8 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

164 · DISENCHANT

[EFFECT]
	<STRING>NAME:SOCKETABLES_SPAWN
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:DISENCHANT
	<BOOL>SAVE:true
	<FLOAT>MIN:1
	<FLOAT>MAX:1
	<FLOAT>GOLD%:40
	<FLOAT>CHANCE%:4
[/EFFECT]

原版 UNITS/ITEMS/SCROLLS/DISENCHANT.DAT

去附魔。效果本身什么都不做 —— 落 INSTANT default。真正的去附魔由标志位 0x400 驱动。

样例读数:槽位 GOLD%=40、CHANCE%=4 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式效果本身无行为 —— 落 INSTANT default(纯 retn

实测用量:原版 1 次 · MOD 库 5 次

WARNING

写了不生效。 两库合计已被写了 6 次,但引擎里没有任何代码会读它。 这个效果块本身不产生任何行为 —— 落 INSTANT default。去附魔实际由标志位 0x400 驱动(唯一写入点 CEquipment__markNewEffectsAsEnchanted 0x73E20E),与类型 164 无关。

187 · TRAP DISARM CHANCE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:TRAP DISARM CHANCE
	<FLOAT>CHANCE_TO_100:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

陷阱解除概率。实装完整,原版一次没用——引擎做好了一整条「拆陷阱」属性线却没上架任何词缀。CUnit__triggerTrapSkill_rollDisarm0x5C8930):chance = getStat(187) + getStat(随从[0], 187)rand(0,100) > chance 才触发陷阱。前置是技能对象 +0x1FC 标志位为真。

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量两库合计 0 次

视觉与变形

变身、缩放、可见性、主题。

57 · TRANSFORM

[EFFECT]
	<STRING>NAME:Construct
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:TRANSFORM
	<STRING>PARTICLE_FX:media/particles/events/GenericPotion.layout
	<FLOAT>MIN:120
	<FLOAT>MAX:120
[/EFFECT]

原版 SKILLS/SHARED/POLYMORPH/POLYMORPHCONSTRUCT.DAT

变身。目标模型名取自效果的 intern 串表,调 CUnit__doTransformTYPE:None

样例读数:槽位 MIN=120、MAX=120 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A696DURATION:INSTANT,给时长不会反复触发

实测用量:原版 37 次 · MOD 库 72 次

58 · UNIT THEME

[EFFECT]
	<STRING>NAME:CHAMPIONGLOW
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:UNIT THEME
	<BOOL>SAVE:true
	<STRING>UNITTHEME:CHAMPIONGLOW
	<FLOAT>VALUE:-1
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPGLOW.DAT

单位主题(发光等外观)。机制根本不看 TYPE —— 真正起作用的是同一个块里的 UNITTHEME: 键,它无条件被读进 CEffect+0x128,tick 时只判该指针非空。

样例读数ACTIVATION=DYNAMIC;DURATION=ALWAYS

生效方式机制不看 TYPE —— 由同块的 UNITTHEME: 键驱动

实测用量:原版 216 次 · MOD 库 3178 次

DAMAGE_TYPE:数据里 35 个块写了它(原版 1、MOD 库 34),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

NOTE

本类型不靠 TYPE 工作 —— CEffect__ctorFromDat0x7AAD8C无条件读同块的 UNITTHEME: 键存进 CEffect+0x128,消费点(0x568184)只判该字段非空。换成别的 TYPE、只要留着 UNITTHEME 键,主题照样生效。

59 · SCALE

[EFFECT]
	<STRING>NAME:Neopolean
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:SCALE
	<BOOL>SAVE:false
	<FLOAT>STARTSCALE:1
	<FLOAT>ENDSCALE:0.8
	<FLOAT>TIMETOSCALE:0.1
	<FLOAT>TIMETOSCALEBACK:0.1
[/EFFECT]

原版 AFFIXES/PERKS/NEOPOLEAN.DAT

缩放。四个槽分别是起始缩放、结束缩放、缩放耗时、恢复耗时,tick 每帧读全四个。TYPE:None

样例读数:槽位 STARTSCALE=1、ENDSCALE=0.8、TIMETOSCALE=0.1、TIMETOSCALEBACK=0.1 · ACTIVATION=DYNAMIC;DURATION=ALWAYS

生效方式:tick 分支

实测用量:原版 21 次 · MOD 库 351 次

DAMAGE_TYPE:数据里 2 个块写了它(原版 0、MOD 库 2),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

73 · TRANSFORM PERMANENT

[EFFECT]
	<STRING>NAME:Pet_Crab
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:TRANSFORM PERMANENT
	<STRING>PARTICLE_FX:media/particles/events/GenericPotion.layout
	<FLOAT>MIN:0
	<FLOAT>MAX:0
[/EFFECT]

原版 UNITS/ITEMS/FISH/FISH_ADZEFISH_PERM.DAT

永久变身。与类型 57 共享后半段实体动作。

样例读数:槽位 MIN=0、MAX=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A6FBDURATION:INSTANT,给时长不会反复触发

实测用量:原版 16 次 · MOD 库 63 次

111 · FADE OUT

[EFFECT]
	<STRING>NAME:HIDE
	<INTEGER>LEVEL:1
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:FADE OUT
	<STRING>DURATION:INSTANT
	<FLOAT>VALUE:1
[/EFFECT]

原版 SKILLS/ALCHEMIST/IMPSUMMON/SUMMONIMP.DAT

淡出。两次 CUnit__setVisible

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A53ADURATION:INSTANT,给时长不会反复触发

实测用量:原版 10 次 · MOD 库 444 次

112 · SET VISIBLE

[EFFECT]
	<STRING>NAME:SETVISIBLE
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SET VISIBLE
	<FLOAT>MIN:0
	<FLOAT>MAX:0
[/EFFECT]

原版 SKILLS/MONSTERS/EVILTELEPORT.DAT

设置可见性。调用序列与类型 111 完全相同

样例读数:槽位 MIN=0、MAX=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A576DURATION:INSTANT,给时长不会反复触发

实测用量:原版 18 次 · MOD 库 60 次

155 · SET MESH INVISIBLE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SET MESH INVISIBLE
	<BOOL>SAVE:true
	<FLOAT>INVISIBLE:1
[/EFFECT]

原版 AFFIXES/MONSTERS/MONSTER_HIDE.DAT

隐藏模型。

样例读数:槽位 INVISIBLE=1 · ACTIVATION=DYNAMIC;DURATION=ALWAYS

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 5 次 · MOD 库 83 次

184 · SCALE BY HP

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:SCALE BY HP
	<BOOL>SAVE:true
	<FLOAT>MAXSCALE:1
	<FLOAT>MINSCALE:0.3
[/EFFECT]

原版 UNITS/MONSTERS/GEL/KINGICEGEL.DAT

按生命比例缩放。tick 里用 _CIpow幂曲线,不是线性。

样例读数:槽位 MAXSCALE=1、MINSCALE=0.3 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式:tick 分支

实测用量:原版 6 次 · MOD 库 20 次

186 · TRANSFORMATION TIME

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:TRANSFORMATION TIME
	<FLOAT>PERCENT_TO_100:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

变形持续时间。实装完整,原版一次没用CMonster_tick_main0x56AEAB)里 [CUnit+0x76C] -= dt / (1.0 + (自身186 + 随从[0]的186)/100),除数在分母上所以值越大变身越久。-999.0 是「没在变身」的哨兵。

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量两库合计 0 次

感知

视野距离与视野角度。

13 · SIGHT BONUS

[EFFECT]
	<STRING>NAME:REPULSIONInterrupt1
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:SIGHT BONUS
	<STRING>STATMODIFYNAME:EFFECT LEVEL
	<STRING>STATMODIFYPERCENT:33.2857143
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:-2
	<FLOAT>MAX:-2
[/EFFECT]

MOD challenger-continent/职业技能/MEDIA/AFFIXES/PLAYERSKILLS/NECROMANCER_SKILLS/NECRO_SHOUT.DAT

视野距离加成。CUnit__getSightBonus 读取,与类型 41 配对。

样例读数:槽位 MIN=-2、MAX=-2 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 0 次 · MOD 库 8 次

14 · VIEW ANGLE BONUS

[EFFECT]
	<STRING>NAME:MONSTER_HUNT VIEW ANGLE BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:10
	<STRING>TYPE:VIEW ANGLE BONUS
	<FLOAT>MIN:60
	<FLOAT>MAX:-1
[/EFFECT]

原版 AFFIXES/MONSTERS/MONSTER_HUNT.DAT

视野角度加成。CUnit__getViewAngleBonus 读取,与类型 42 配对。

样例读数:槽位 MIN=60、MAX=-1 · ACTIVATION=PASSIVE;DURATION=10

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 0 次

41 · PERCENT SIGHT BONUS

[EFFECT]
	<STRING>NAME:MONSTER_HUNT PERCENT SIGHT BONUS
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:10
	<STRING>TYPE:PERCENT SIGHT BONUS
	<FLOAT>MIN:100
	<FLOAT>MAX:-1
[/EFFECT]

原版 AFFIXES/MONSTERS/MONSTER_HUNT.DAT

视野距离百分比加成。

样例读数:槽位 MIN=100、MAX=-1 · ACTIVATION=PASSIVE;DURATION=10

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 1 次 · MOD 库 26 次

42 · PERCENT VIEW ANGLE BONUS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:PERCENT VIEW ANGLE BONUS
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

视野角度百分比加成。实装完整,原版一次没用CUnit__getViewAngleBonus0x51B540)算 (getStat(42)+1.0) × (CUnit+0x338 + getStat(14)),结果流进 CCharacter__findAITarget 的索敌视锥。注意 AI 管理器 flag 0 置位时直接返回 360°,那时它不起作用。

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量两库合计 0 次

触发器、目标与效果管理

挂触发器、改目标、移除其他效果,以及按周围怪物数量动态改写数值。

165 · ADD TRIGGERABLE

[EFFECT]
	<STRING>NAME:RANDOMSLAYER_CHAMP10_ATTACKSPEED
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:ADD TRIGGERABLE
	<FLOAT>CHANCE:100
[/EFFECT]

原版 AFFIXES/ITEMS/OFLEARNING_CHAMP10_ATTACKSPEED.DAT

添加触发器。INSTANT 与挂载两条路径都有;挂载版先按名字比对去重。

样例读数:槽位 CHANCE=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55C74F / 挂载分支 0x564141

实测用量:原版 271 次 · MOD 库 3273 次

166 · REMOVE TRIGGERABLE

[EFFECT]
	<STRING>NAME:ARBITER_FIRE_BRAND
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:REMOVE TRIGGERABLE
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_FIRE_BRAND_PASSIVE_CLEAR.DAT

移除触发器。tick 路径里会回调 INSTANT 执行器 —— 六条路径之间唯一一处互相调用。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:布尔查询 / INSTANT 分支 0x55C7EA / 挂载分支 0x5642B5 / tick 分支

实测用量:原版 84 次 · MOD 库 2345 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

212 · TARGET LOCKED

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:5
	<STRING>TYPE:TARGET LOCKED
	<BOOL>EXCLUSIVE:true
	<FLOAT>VALUE:-1
[/EFFECT]

原版 SKILLS/MONSTERS/GRANDREGENT/REGENT_MARK_PULSE_ON_PLAYER.DAT

目标锁定。纯增益条标记 —— 五个槽全是 NA,一个数值参数都没有,但描述串齐全。原版唯一用例里它与一个 TYPE:AGRO 效果成对出现,真正的强制换目标由 AGRO 完成。

样例读数ACTIVATION=PASSIVE;DURATION=5;EXCLUSIVE=true

生效方式纯显示 —— 无执行路径,只有描述串

实测用量:原版 1 次 · MOD 库 17 次

NOTE

有意为之的展示位:五个槽全是 NA,但四条描述串齐全。原版唯一用例里它与一个 TYPE:AGRO 成对出现,真正换目标的是 AGRO(0x559ADF)。

213 · RETARGET

[EFFECT]
	<STRING>NAME:retarget
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<INTEGER>LEVEL:1
	<STRING>TYPE:RETARGET
	<FLOAT>CHANCE:12
	<FLOAT>RANGE:100
	<FLOAT>TARGET_SKILL_TARGET:0
[/EFFECT]

原版 SKILLS/MONSTERS/BOSS_NETHERIM/NETHERIM_BOSS_RETARGET.DAT

重新选择目标。在半径内随机挑一个目标并强制换目标,与 214 共用同一段代码

样例读数:槽位 CHANCE=12、RANGE=100、TARGET_SKILL_TARGET=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x559ADFDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 6 次

214 · AGRO

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:AGRO
	<BOOL>EXCLUSIVE:true
	<FLOAT>CHANCE:100
[/EFFECT]

原版 SKILLS/MONSTERS/GRANDREGENT/REGENT_MARK_PULSE_ON_PLAYER.DAT

拉仇恨。与 213 共用。

样例读数:槽位 CHANCE=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT;EXCLUSIVE=true

生效方式:INSTANT 分支 0x559ADFDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 50 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

231 · PERCENT DAMAGE TAKEN BY MONSTER COUNT

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT DAMAGE TAKEN BY MONSTER COUNT
	<STRING>DAMAGE_TYPE:ALL
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN_PER:-2
	<FLOAT>MAX_PER:-2
	<FLOAT>RANGE:3
	<FLOAT>MAX_COUNT:5
[/EFFECT]

原版 AFFIXES/ITEMS/OF_TL2_DRAWARMOR2.DAT

按周围怪物数量减伤。它自己不算伤害,而是找一条同名的 26 PERCENT DAMAGE TAKEN 被动改写其数值。数据里必须成对写,否则整条失效。

样例读数:槽位 MIN_PER=-2、MAX_PER=-2、RANGE=3、MAX_COUNT=5 · ACTIVATION=PASSIVE;DURATION=0;DAMAGE_TYPE=ALL;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 31 次 · MOD 库 379 次

DAMAGE_TYPE:数据里 372 个块写了它(原版 20、MOD 库 352),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

232 · REMOVE EFFECT

[EFFECT]
	<STRING>NAME:SPEED
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:REMOVE EFFECT
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 SKILLS/MONSTERS/WITCH/WITCH_DEHOVER.DAT

移除效果。按名字移除removeEffectsByName),不是按类型。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55973DDURATION:INSTANT,给时长不会反复触发

实测用量:原版 8 次 · MOD 库 306 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

234 · PERCENT DAMAGE BONUS BY MONSTER COUNT

[EFFECT]
	<STRING>NAME:BersBattlerage
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:PERCENT DAMAGE BONUS BY MONSTER COUNT
	<STRING>DAMAGE_TYPE:ALL
	<STRING>UNITTHEME:BATTLERAGE
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN_PER:3
	<FLOAT>MAX_PER:3
	<FLOAT>RANGE:4
	<FLOAT>MAX_COUNT:10
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_BATTLERAGE.DAT

按周围怪物数量加伤。与 231 同一个实现,伙伴类型是 25 PERCENT DAMAGE BONUS

样例读数:槽位 MIN_PER=3、MAX_PER=3、RANGE=4、MAX_COUNT=10 · ACTIVATION=DYNAMIC;DAMAGE_TYPE=ALL;EXCLUSIVE=true

生效方式:tick 分支

实测用量:原版 15 次 · MOD 库 338 次

DAMAGE_TYPE:数据里 239 个块写了它(原版 15、MOD 库 224),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

一次性动作

只在 INSTANT 路径有分支的动作类。

22 · PERCENT ATTACK SPEED

[EFFECT]
	<STRING>NAME:ChampSlowAttack
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:ALWAYS
	<INTEGER>LEVEL:1
	<STRING>TYPE:PERCENT ATTACK SPEED
	<BOOL>EXCLUSIVE:true
	<FLOAT>MIN:-20
	<FLOAT>MAX:-20
[/EFFECT]

原版 AFFIXES/CHAMPIONAFFIXES/CHAMPIONSLOWAURA.DAT

攻击速度百分比。由 resolveStrikeHit、角色面板与 sub_544200 读取。

样例读数:槽位 MIN=-20、MAX=-20 · ACTIVATION=DYNAMIC;DURATION=ALWAYS;EXCLUSIVE=true

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 303 次 · MOD 库 4818 次

DAMAGE_TYPE:数据里 291 个块写了它(原版 2、MOD 库 289),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

30 · PERCENT LIFE STOLEN

[EFFECT]
	<STRING>NAME:OFTHEVAMPIRE LIFE STEAL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT LIFE STOLEN
	<FLOAT>MIN:10
	<FLOAT>MAX:10
[/EFFECT]

原版 AFFIXES/ITEMS/SET_LIFE_STEAL.DAT

生命偷取百分比。由 resolveStrikeHit0x54AC3D 读取。

样例读数:槽位 MIN=10、MAX=10 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 7 次 · MOD 库 325 次

DAMAGE_TYPE:数据里 5 个块写了它(原版 0、MOD 库 5),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

31 · PERCENT MANA STOLEN

[EFFECT]
	<STRING>NAME:OFTHEWIZARD MANA STEAL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:PERCENT MANA STOLEN
	<FLOAT>MIN:2
	<FLOAT>MAX:2
[/EFFECT]

原版 AFFIXES/ITEMS/SET_MANA_STEAL2.DAT

法力偷取百分比。0x54CD4F

样例读数:槽位 MIN=2、MAX=2 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 4 次 · MOD 库 119 次

45 · OPEN WAYPOINT PORTAL

[EFFECT]
	<BOOL>SAVE:true
	<STRING>NAME:PORTAL
	<STRING>ACTIVATION:DYNAMIC
	<STRING>TYPE:OPEN WAYPOINT PORTAL
	<STRING>DURATION:INSTANT
	<FLOAT>VALUE:1
[/EFFECT]

原版 UNITS/ITEMS/SCROLLS/WAYPOINTPORTALSCROLL.DAT

开启传送点门户。INSTANT 一次性动作,只在权威端执行,并计入玩家统计。

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A631DURATION:INSTANT,给时长不会反复触发

实测用量:原版 2 次 · MOD 库 2 次

49 · LIFE STEAL

[EFFECT]
	<STRING>NAME:OFTHEVAMPIRE LIFE STEAL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:LIFE STEAL
	<FLOAT>MIN:150
	<FLOAT>MAX:150
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_LIFE_STEAL1.DAT

生命偷取(绝对值)。resolveStrikeHit 0x54AC83

样例读数:槽位 MIN=150、MAX=150 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 29 次 · MOD 库 716 次

DAMAGE_TYPE:数据里 6 个块写了它(原版 0、MOD 库 6),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

50 · MANA STEAL

[EFFECT]
	<STRING>NAME:OFTHEWIZARD MANA STEAL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:MANA STEAL
	<FLOAT>MIN:60
	<FLOAT>MAX:60
[/EFFECT]

原版 AFFIXES/ITEMS/LEARNINGRANDOM_MANA_STEAL1.DAT

法力偷取(绝对值)。0x54CD95

样例读数:槽位 MIN=60、MAX=60 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 23 次 · MOD 库 510 次

DAMAGE_TYPE:数据里 4 个块写了它(原版 0、MOD 库 4),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

52 · DAMAGE

[EFFECT]
	<STRING>NAME:ARCBEAMDAM
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:DAMAGE
	<STRING>DAMAGE_TYPE:ELECTRIC
	<BOOL>USEOWNERLEVEL:true
	<BOOL>MODIFIERISBONUS:false
	<FLOAT>SOAKSCALE:0.2
	<FLOAT>MIN:10
	<FLOAT>MAX:20
	<FLOAT>MINFORCE:7
	<FLOAT>MAXFORCE:9
[/EFFECT]

原版 AFFIXES/SKILLS/ARBITER_ARCBEAM01.DAT

直接伤害。三条路径都有分支:INSTANT 打一次、挂载时沿 getRootOwner 上溯到真正归属者再取属性、并被 bakeDamageEffectsIntoTable 烘进装备伤害表。构造时自动预置 EXCLUSIVE,无需在 dat 里写。

样例读数:槽位 MIN=10、MAX=20、MINFORCE=7、MAXFORCE=9 · ACTIVATION=DYNAMIC;DURATION=INSTANT;DAMAGE_TYPE=ELECTRIC

生效方式:被动数值 / INSTANT 分支 0x55A8BE / 挂载分支 0x563D52

实测用量:原版 1067 次 · MOD 库 18348 次

DAMAGE_TYPE这个类型真的会读不走 getStat —— CEquipment__bakeDamageEffectsIntoTable0x590BB0)直接读 +0x14)。数据里 18149 个块写了它。合法值只有 Physical Magical Fire Ice Electric Poison All 七个,拼错就整条匹配不上0x7AB545 的写入被跳过)——最常见的错法是把 MAGICAL 写成 MAGICELECTRIC 写成 ELECTRICAL

CAUTION

原版有两处把这个键名写错了。SKILLS/CHAMPIONS/CHARGEDBOLT.DATSKILLS/PROCS/CHARGEDBOLT.DAT 里 各有一个内容完全相同的块(显然是复制的):

[EFFECT]
	<STRING>NAME:elecprocDamage
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:DAMAGE
	<STRING>DAMAGETYPE:ELECTRIC        ← 少一个下划线
	<FLOAT>MIN:80
	<FLOAT>MAX:100
	<FLOAT>MINFORCE:3
	<FLOAT>MAXFORCE:5
	<BOOL>USEOWNERLEVEL:true
[/EFFECT]

NAME:elecprocDamage 把意图写死了——作者要的是电击伤害。 但引擎查的键名是 DAMAGE_TYPE,而二进制里根本没有 DAMAGETYPE 这个字符串 (只有 PRIMARY_DAMAGETYPE,那是另一个系统的键)。 名字对不上 → getString("DAMAGE_TYPE", "PHYSICAL") 拿到默认值 → CEffect+0x14 = 0(Physical)。

而本类型的 INSTANT 分支就在读这个字段:

asm
.text:0055A957   mov  eax, [edi+14h]      ; 效果的 DAMAGE_TYPE
.text:0055A95E   cmp  eax, 6              ; 是 All 吗
.text:0055A961   jz   short loc_55A97D
.text:0055A965   push eax                 ; 不是 All,拿它当过滤值
.text:0055A966   push 19h                 ; 类型 25 PERCENT DAMAGE BONUS
.text:0055A96A   call CUnit__getStat

所以这两个原版技能的伤害去查的是物理加成桶,不是电击桶。 MOD 库里另有 25 处照抄了同样的写法——全部落在本类型上、值全是 ELECTRIC, 而且没有一处同时写了正确的 DAMAGE_TYPE

125 · LIFE STEAL MASTER

[EFFECT]
	<STRING>NAME:OFTHEVAMPIRE LIFE STEAL
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:0
	<STRING>TYPE:LIFE STEAL MASTER
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

原版 AFFIXES/ITEMS/COLLAR_LIFE_STEAL_MASTER.DAT

生命偷取(主人)。resolveStrikeHit 0x54BD0A

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=PASSIVE;DURATION=0

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 7 次 · MOD 库 118 次

126 · PERCENT LIFE STOLEN MASTER

[EFFECT]
	<STRING>NAME:berserker_wolfshade_leech
	<STRING>ACTIVATION:PASSIVE
	<STRING>TYPE:PERCENT LIFE STOLEN MASTER
	<STRING>STATMODIFYNAME:effect level
	<STRING>STATMODIFYPERCENT:40
	<BOOL>MODIFIERISBONUS:true
	<FLOAT>MIN:5
	<FLOAT>MAX:5
[/EFFECT]

原版 AFFIXES/SKILLS/BERSERKER_WOLF_SHADE.DAT

生命偷取百分比(主人)。0x54BCC4

样例读数:槽位 MIN=5、MAX=5 · ACTIVATION=PASSIVE

生效方式:被动数值。必须给时长或挂装备,写 INSTANT 无效

实测用量:原版 4 次 · MOD 库 48 次

DAMAGE_TYPE:数据里 4 个块写了它(原版 0、MOD 库 4),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

141 · OPEN PORTAL

[EFFECT]
	<STRING>NAME:qa_arena
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:OPEN PORTAL
	<BOOL>SAVE:true
	<FLOAT>MIN:0
	<FLOAT>MAX:0
[/EFFECT]

原版 UNITS/ITEMS/MAPS/ARENA.DAT

开启门户。

样例读数:槽位 MIN=0、MAX=0 · ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x55A666DURATION:INSTANT,给时长不会反复触发

实测用量:原版 7 次 · MOD 库 21876 次

143 · RESPEC

[EFFECT]
	<STRING>NAME:RESPECPOTION
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:INSTANT
	<STRING>TYPE:RESPEC
	<STRING>PARTICLE_FX:media/particles/events/GenericPotion.layout
[/EFFECT]

原版 UNITS/ITEMS/POTIONS/RESPECPOTION.DAT

洗点。必须能转型成 CPlayer 才生效。

样例读数ACTIVATION=DYNAMIC;DURATION=INSTANT

生效方式:INSTANT 分支 0x559D3DDURATION:INSTANT,给时长不会反复触发

实测用量:原版 1 次 · MOD 库 2 次

145 · EXPLODE DEAD

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:Instant
	<STRING>TYPE:EXPLODE DEAD
	<STRING>DAMAGE_TYPE:ALL
	<FLOAT>MIN:100
	<FLOAT>MAX:100
[/EFFECT]

原版 AFFIXES/SKILLS/TRAP_EXPLODE_DEAD.DAT

尸爆。CUnit__gibCorpse_DEATHEXPLODE。挂载版比 INSTANT 版多一道存活判定。

样例读数:槽位 MIN=100、MAX=100 · ACTIVATION=DYNAMIC;DURATION=Instant;DAMAGE_TYPE=ALL

生效方式:INSTANT 分支 0x55A621 / 挂载分支 0x5640B7

实测用量:原版 47 次 · MOD 库 596 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 1、MOD 库 0),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

156 · DAMAGE CHANCE

[EFFECT]
	<STRING>NAME:Poison Mines DoT
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:4
	<STRING>TYPE:DAMAGE CHANCE
	<STRING>DAMAGE_TYPE:POISON
	<BOOL>USEOWNERLEVEL:true
	<FLOAT>MIN:50
	<FLOAT>MAX:50
	<FLOAT>MINFORCE:0
	<FLOAT>MAXFORCE:0
	<FLOAT>CHANCE:40
[/EFFECT]

原版 AFFIXES/SKILLS/POISON_MINES.DAT

几率造成伤害。掷完概率后落到类型 52 的伤害路径。构造时自动预置 EXCLUSIVE

样例读数:槽位 MIN=50、MAX=50、MINFORCE=0、MAXFORCE=0、CHANCE=40 · ACTIVATION=DYNAMIC;DURATION=4;DAMAGE_TYPE=POISON

生效方式:INSTANT 分支 0x55A868 / 挂载分支 0x563D0B

实测用量:原版 16 次 · MOD 库 703 次

DAMAGE_TYPE:数据里 689 个块写了它(原版 16、MOD 库 673),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

开发期占位与无消费方

名字即说明问题,或六条路径均无消费方。写进数据不会报错,但什么都不会发生。

130 · EMOTIONAL DAMAGE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:EMOTIONAL DAMAGE
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

开发期玩笑(「情感伤害」)。无任何代码路径,但描述串齐全——写了会在装备栏显示「[VALUE] Emotional Damage」,数值无效。

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量两库合计 0 次

131 · FUTURISTICNESS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:FUTURISTICNESS
	<FLOAT>MIN:50
	<FLOAT>MAX:50
[/EFFECT]

MOD challenger-continent/unpacked/群魔乱世完善版-曲线调整/MEDIA/AFFIXES/WARRIORSKILLS/DOOM_OF_DEPOPULATION.DAT

开发期占位(「未来感」)。

样例读数:槽位 MIN=50、MAX=50 · ACTIVATION=DYNAMIC;DURATION=10

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量:原版 0 次 · MOD 库 21 次

WARNING

写了不生效。 两库合计已被写了 21 次,但引擎里没有任何代码会读它。 开发期玩笑类型(+[VALUE] Futuristicness),六条路径均无分支。描述串齐全,所以装备栏会照常显示这行字,数值无效。

132 · JAUNTINESS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:JAUNTINESS
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

开发期玩笑(「轻快」)。同 130,只显示不生效。MOD 库里被写了 21 次。

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量两库合计 0 次

133 · SOCKS

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:SOCKS
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

开发期玩笑(「袜子」)。同 130,只显示不生效。

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量两库合计 0 次

134 · LOGIC RESISTANCE

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:LOGIC RESISTANCE
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

开发期玩笑(「逻辑抗性」)。同 130,只显示不生效。

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量两库合计 0 次

135 · NOODLE ARMS

[EFFECT]
	<STRING>ACTIVATION:PASSIVE
	<STRING>DURATION:ALWAYS
	<STRING>TYPE:NOODLE ARMS
	<BOOL>SAVE:true
	<FLOAT>FORCE:5
	<FLOAT>MIN:0
	<FLOAT>MAX:0
[/EFFECT]

原版 UNITS/ITEMS/STAVES/FUNGUS_CASTER_STAFF.DAT

开发期占位(「面条手臂」)。

样例读数:槽位 MIN=0、MAX=0 · ACTIVATION=PASSIVE;DURATION=ALWAYS

生效方式开发期占位 —— 六条路径均无分支,无消费方

实测用量:原版 1 次 · MOD 库 0 次

WARNING

写了不生效。 两库合计已被写了 1 次,但引擎里没有任何代码会读它。 开发期玩笑类型([VALUE] Noodle Arms),六条路径均无分支。原版自己也误用了 1 次。

193 · NONE

[EFFECT]
	<STRING>NAME:PhaseBeast_Spawn_NetherBurst
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:2
	<STRING>TYPE:NONE
	<STRING>PARTICLE_FX:MEDIA\PARTICLES\OBJECTS\SPAWN_NETHERBURST.LAYOUT
	<FLOAT>VALUE:-1
[/EFFECT]

原版 AFFIXES/MONSTERS/PHASEBEAST_SPAWN_NETHERBURST.DAT

空操作哨兵。这是 CEffect__ctorFromDat 里类型号的构造初值(0xC1 = 193),TYPE 拼错时的落地点。按设计就是什么都不做。

样例读数ACTIVATION=DYNAMIC;DURATION=2

生效方式空操作哨兵 —— 按设计什么都不做

实测用量:原版 19 次 · MOD 库 275 次

DAMAGE_TYPE:数据里 1 个块写了它(原版 0、MOD 库 1),但本次未找到读它的消费方 —— 该类型的 getStat 调用点第二个参数恒为 7(不过滤哨兵)。

NOTE

拼错 TYPE 时的落点 —— 构造函数初值 0xC10x7AAA7E)不被覆盖就是它。按设计什么都不做,用量里的绝大多数是写错了名字而不是有意选它。

238 · CHEATED

[EFFECT]
	<STRING>ACTIVATION:DYNAMIC
	<STRING>DURATION:10
	<STRING>TYPE:CHEATED
	<FLOAT>MIN:1
	<FLOAT>MAX:1
[/EFFECT]

原版与 MOD 库均无使用;上列为按槽位表构造的最小样例,仅示意写法

作弊标记。引擎只读不写sub_5C0B30 里 6 处 hasActiveEffectOfType(0xEE) 逐件清点装备,命中就 dword_331B3A0 |= 0x20。但整个二进制里没有 CHEATED 这个字符串,没有任何代码路径能造出它——检测逻辑随成品发布了,触发它的数据没有。

生效方式:布尔查询

实测用量两库合计 0 次