暗黑破坏神吧 关注:689,379贴子:20,817,876
  • 8回复贴,共1

MOD教程翻译计划第一弹:skillcalc和misscalc简易公式

只看楼主收藏回复

为什么要从这两个既不起眼,又不用改的表开始呢?很简单,它们提供的简易公式会是本系列教程翻译工作的基础,后续教程会时常引用到它们,而且先学会简易公式是以后学高级公式的必备前提,如果它们都弄不明白,那高级公式就更一头雾水了。
我会尽可能解说的浅显一些 ~
skillcalc与misscalc这两个表不是用来修改的,他们相当于说明书,帮助暴雪员工和模组作者更快捷的在相关表格中书写公式。这两个表分别记录了技能与飞弹相关的一系列非常精简的公式,它们可以极大的降低工作量,同时也极大幅度的减少了公式的字元数量。这对于一些想要实现特定复杂功能的作者来说十分重要,因为暗黑二表格公式长度不能超过256字元,使用精简公式可以最大限度的避免超过字数。
skillcalc公式
skillcalc表顾名思义,所载的公式与skills表关联,它们所算的东西都是基于技能表的。调用它们时,对于本技能很简单,直接用即可,如果要在其他技能条目或别的表格中引用,则需要用「skill('被引用的技能索引名'.简易公式)」这一格式。
lvl:技能等级,包括装备给的等级
blvl:技能基础等级,可理解为手点的,但实际上也包括了初始值,你的初始技能如一般攻击、投掷、取消召唤之类也有1级的blvl。佣兵成长升级所获得的技能等级全都算是blvl,你用召唤技能赋予召唤物的技能等级在它身上也都是blvl。
ulvl:单位等级,也就是该技能使用者的等级,本尊用它的时候就是人物等级,怪物用它的时候就是怪物等级。
parX:对应skills表paramX栏位的数值,X取值范围1-8,重制版更多。
lnXX公式:XX可以是12,34,56,78,重制版会更多,但一定是奇前偶后,ln23这样的是不可识别的。这些数字对应的是skills表的paramX栏位,ln12的意思就是该技能1级时,数值取技能表的param1,之后每一级加一次param2。需要注意的是,暴雪官方在skillcalc表*desc栏位对lnXX公式的注释有误,应该写作「a+(lvl-1)*b」才对。
dmXX公式:XX可以是12,34,56,78,重制版会更多,但一定是奇前偶后,dm23这样的是不可识别的。这些数字对应的是skills表的paramX栏位,dm12的意思是该技能的数值区间为从底限param1到上限param2。暴雪用公式模拟了「趋近但达不到」这个效果,但实际上只要将该技能堆到60级就能达到「上限」了,一般来说不作弊是不可能达成的。dm公式详情为:「((110*lvl) * (b-a))/(100 * (lvl+6)) + a」,a为底限值,b为上限值。
toht:技能准确奖励,也就是skills表的ToHit、LevToHit、ToHitCalc三个栏位计算后的结果,它们的关系我会在技能表解析中详述。
mana:该技能的法力消耗,即skills表manashift、mana、lvlmana这些栏位计算后的结果,它们的关系我会在技能表解析中详述。。
mps:当该技能为「地狱火」等逻辑时的每秒法力消耗。
usmc:法力消耗值的256倍。
edmn:该技能最小元素伤害计算结果。
edmx:该技能最大元素伤害计算结果。
edln:该技能元素效果持续时间计算结果。
enma:该技能最小元素伤害受支配属性影响后的计算结果。
exma:该技能最大元素伤害受支配属性影响后的计算结果。
edma:该技能元素效果持续时间受支配属性影响后的计算结果。
edns:该技能最小元素伤害计算结果的256倍。
edxs:该技能最大元素伤害计算结果的256倍。
enms:该技能最小元素伤害受支配属性影响后计算结果的256倍。
exms:该技能最大元素伤害受支配属性影响后计算结果的256倍。
math:若该技能包括了被动武器支配属性,此公式取其当前等级准确奖励。
madm:若该技能包括了被动武器支配属性,此公式取其当前等级伤害奖励。
macr:若该技能包括了被动武器支配属性,此公式取其当前等级致命攻击概率(CS)奖励。
len:skills表auralencalc栏位的内容。
rng:skills表aurarangecalc栏位的内容。
astX:skills表aurastatcalcX栏位的内容,X取值范围1-6,重制版更多。
pstX:skills表passivestatcalcX栏位的内容,X取值范围1-5,重制版更多。
clcX:skills表calcX栏位的内容,X取值范围1-4,重制版更多。
pets:skills表petmax栏位的内容。
skpt:skills表skpoints栏位的内容。
以上简易公式可以在任何能写公式的表格中调用,但以下几个为skilldesc表专属,仅用于技能面板显示。
mXen:skilldesc表descmissileX栏位次级飞弹的最小元素伤害计算结果,调用missiles表数值,X取值范围1-3。
mXex:skilldesc表descmissileX栏位次级飞弹的最大元素伤害计算结果,调用missiles表数值,X取值范围1-3。
mXel:skilldesc表descmissileX栏位次级飞弹的元素状态持续时间计算结果,调用missiles表数值,X取值范围1-3。
mXrn:skilldesc表descmissileX栏位次级飞弹的寿命计算结果,调用missiles表数值,X取值范围1-3。
mXeo:skilldesc表descmissileX栏位次级飞弹的最小元素伤害计算结果的256倍,调用missiles表数值,X取值范围1-2。
mXey:skilldesc表descmissileX栏位次级飞弹的最大元素伤害计算结果的256倍,调用missiles表数值,X取值范围1-2。
me3o:skilldesc表descmissile3栏位次级飞弹的最小元素伤害计算结果的256倍,调用missiles表数值。
me3y:skilldesc表descmissile3栏位次级飞弹的最大元素伤害计算结果的256倍,调用missiles表数值。
(暴雪真是恶意满满,m(1-3)eo、ey不好么?3第三个次级飞弹非要特殊一下~)
misscalc公式
同理,misscalc表所记录的公式关联的是missiles表,它的相关计算也是基于飞弹表的。对于本飞弹来说,可以直接引用这些公式,其他飞弹条目或表格引用时则须用「miss('被引用的飞弹索引名'.简易公式)」这样的格式。
lvl:飞弹等级,若由技能发射,则等同于技能等级,若被怪物直接发射,则调用人物或怪物的等级。
parX:对应missiles表paramX栏位内容,X取值范围1-5。
cpaX:对应missiles表cltparamX栏位内容,X取值范围1-5。
hpaX:对应missiles表shitparX栏位内容,X取值范围1-3。
chpX:对应missiles表chitparX栏位内容,X取值范围1-3。
dpaX:对应missiles表dparamX栏位内容,X取值范围1-2。
edmn、edmx、edln、edns、edxs:同技能表相关公式,只是调用飞弹表数值。
damn:该飞弹最小实体伤害计算结果。
damx:该飞弹最大实体伤害计算结果。
dmns:该飞弹最小实体伤害计算结果的256倍。
dmxs:该飞弹最大实体伤害计算结果的256倍。
rang:该飞弹寿命计算结果。
slXX:类似ln公式,只是对应missiles表的paramX栏位。
sdXX:类似dm公式,只是对应missiles表的paramX栏位。
clXX:类似ln公式,只是对应missiles表的cltparamX栏位。
cdXX:类似dm公式,只是对应missiles表的cltparamX栏位。
shl1:类似ln公式,对应missiles表的shitparam1和shitparam2栏位。
shd1:类似dm公式,对应missiles表的shitparam1和shitparam2栏位。
chl1:类似ln公式,对应missiles表的chitparam1和chitparam2栏位。
chd1:类似dm公式,对应missiles表的chitparam1和chitparam2栏位。
dl12:类似ln公式,对应missiles表的chitparam1和dparam2栏位。
dd12:类似dm公式,对应missiles表的chitparam1和dparam2栏位。
以上这些简易公式灵活运用之后,将极大的减轻模组作者的工作压力,比如用astX、pstX、clcX取代原本skilldesc当中90%以上的公式,会让作者在skills表中的绝大多数改动自动同步到面板显示中,无须二次劳动。不过需要注意,已知重制板的skilldesc表对简易公式极不友好,经常无法辨识其实际内容。
简易公式虽然方便,但如果被多层次引用,有时会失效,一般来说二到三层左右都是安全的。


IP属地:辽宁1楼2024-08-19 23:20回复
    期待黑暗征途最终达到魔电水准。


    IP属地:山东2楼2024-08-19 23:50
    回复
      2025-12-26 23:07:50
      广告
      不感兴趣
      开通SVIP免广告
      智齿


      IP属地:河北来自Android客户端3楼2024-08-20 09:20
      回复
        大佬出品,必属精品。


        IP属地:中国香港4楼2024-08-20 09:31
        回复
          mark!


          IP属地:山东5楼2024-08-20 20:33
          回复
            mark. 又有大佬出来造福暗黑了


            IP属地:北京6楼2024-09-01 10:59
            回复


              IP属地:山西来自Android客户端7楼2024-10-22 00:47
              回复
                谢谢大佬,虽然没时间玩,但是支持你


                IP属地:北京来自Android客户端8楼2025-01-17 11:44
                回复