红莲地狱吧 关注:78贴子:13,533
  • 17回复贴,共1

【东方年代记】技能伤害公式探讨

只看楼主收藏回复

1L祭天


IP属地:广东1楼2013-11-24 14:55回复
    昨天晚上逛吧的时候在年代记吧首页发现了这个帖子
    http://tieba.baidu.com/p/2716339237
    于是做了一些测试,包括公式验证、补充以及使用
    感谢给出公式的大触们
    PS:这个公式里的参数太复杂,以下推导的步骤不一定都经过检验,有错请指出


    IP属地:广东2楼2013-11-24 14:57
    回复
      2025-06-21 06:30:44
      广告
      不考虑技能波动、场风和种族特效的话公式里有21个参数
      这么复杂的东西怎么能用手算呢?第一反应就是编个脚本来算,昨晚的代码是这样的,英语不好请不要见怪:



      IP属地:广东3楼2013-11-24 15:00
      回复
        然后带着炮台帕琪去打小蜜蜂做测试
        DPS属性如下:

        皇家圣焰技能属性:
        基础威力2000对应代码里的base_damage
        39hits对应hit_num(combo_hits就指在发动该技能之前已经造成的连击数,跟这项不同)
        其余的没什么好说的,直接往上填

        小蜜蜂属性
        回避等级3.33,皇家圣焰的命中值是146.28,146.28-3.33>100,保证全命中
        其余的参数直接往脚本里代

        爆击率:保证满爆击,没什么好说的,要不然伤害也不稳定


        IP属地:广东4楼2013-11-24 15:04
        回复
          后来发现用MATLab算太麻烦,每次都要手动录入20多个数据,反正算式也不算太复杂,就决定用EXCEL来做了
          代码大概就是这样,只是从MATLab里面移植到了EXCEL里而已:


          IP属地:广东6楼2013-11-24 15:14
          回复
            然后带着一线队员去刷极武葬
            大概是这样:

            这是幽香的幽月一轮花打出的伤害。放技能时没有恶魔之手,所以全打在安拉一个人身上了
            理论数据与实验数据的对比如下(前实验后理论):

            基本上差不多,可以认为这个公式是对的
            不过打出的实际伤害似乎总是比期望值低


            IP属地:广东7楼2013-11-24 15:18
            回复
              上式中a11是灵巧,a19是爆击倍率,两者之间关系如下:

              k为与灵巧值不相关的爆击倍率,保底是1.5。也就是说即使角色的灵巧值为0,爆击时也会有1.5保伤害。此外还可以通过援护增加爆击倍率,比如喜闻乐见的河城美取援护(全员爆击倍率+2),还有月澄援护(全员爆击倍率+0.5)
              因此k的取值是离散值,可以是1.5(无任何爆击倍率援护),2(只带月澄援护),3.5(只带美取援护),4(两个援护都带)
              写成数学形式:


              IP属地:广东9楼2013-11-24 15:25
              收起回复
                然后就是这个公式的用途了
                我想到的第一个用途就是用来讨论满爆之后是加主属性还是继续加灵巧的问题。当然你也可以拿来计算“把魔防加到多高能够硬扛万重火花”之类的问题
                假设技能的主属性是力量(即技能的威力只与力量有关),力量值对应的是a9灵巧值对应的是a11
                要研究它们对伤害的影响得求偏导。为了方便计算先采取以下变换:

                且考虑到所有自机的技能威力均与灵巧不相关(即技能列表中灵巧相关度为0),如下图:

                因此f中的a12恒等于0
                经过这些变换后原表达式化简为:

                分母的存在也会影响计算速度,两边同时乘上4000*500,且令Q=4000*500f:

                Q的表达式为:

                Q分别对力量(a9)和灵巧(a11)求偏导:

                x1表示当前条件下增加主属性对技能伤害的影响,x2表示在当前条件下增加灵巧值对技能伤害的影响。当

                时,表明增加主属性可以带来更高的伤害收益,反之则表示增加灵巧值可以带来更高的伤害收益


                IP属地:广东本楼含有高级字体15楼2013-11-24 19:16
                回复
                  2025-06-21 06:24:44
                  广告
                  解上面那个不等式,并将n和q代入:

                  假设该技能的主属性只有力量(即与速度、魔力的相关度均为0),且主属性相关度为100
                  令a10=100,a14(速度相关度)=a16(魔力相关度)=0,上式化简为:

                  进一步化简就得到这个判据

                  用文字表达,即,当技能主属性只有1项,且主属性相关度为100时
                  如果满足
                  灵巧值-主属性>5*敌人等级+40-500*非灵巧值造成的暴击倍率
                  那么在加点时应该补充主属性;否则要补充灵巧
                  这个式子很有意思,假设开始时该条件满足,那么就应该补主属性。式子右边是个定值,
                  主属性a9增加会导致左边的值会越来越小。如果一直保持主属性加点的话,左边的值最终会大于右边,这时候就要反过来补充灵巧了。同理,如果一开始左边小于右边,应该先补充灵巧,但也不能一直补灵巧
                  因此,满爆之后如果属性点很多的话(比如刷祝福),单方面加主属性或者单方面加灵巧都是不明智的


                  IP属地:广东本楼含有高级字体16楼2013-11-24 19:24
                  回复
                    2.将各项参数调回正常水平,灵巧=3168,魔力=2218,敌人等级=110,k=4,代入判据
                    左边=950,右边=-1410
                    满足条件,此时应补充魔力

                    先增加500点魔力,伤害提升为5429W

                    然后将魔力复原,增加500点灵巧值,伤害提升为4926W

                    补充主属性的提升确实更大,第二阶段验证完成


                    IP属地:广东本楼含有高级字体18楼2013-11-24 19:35
                    回复
                      结论:
                      满爆后如果想使输出收益最大(这里不考虑速度对出手次数的影响,作为DPS速度肯定不能低),对于单主属性的性能,应该以下式为判据:

                      不等式成立时补主属性,不等式不成立时补灵巧,达到临界状态(左右相等)时平衡加点
                      但是,考虑到一般人都会带着月澄和美取援护,不等式右边的k常取4。而即便是在高周目,敌人等级也很少超过300,不等式右边很可能是个负值
                      而作为队内的DPS,战时灵巧值必须上3000,且一般比主属性高1000以上,所以左边为正值
                      因此通常情况下这个判据是默认成立的,如果打得不是太奇葩的话(比如刷祝福啊刷祝福啊还有刷祝福啊)满爆之后好好补主属性就行
                      当然如果你平时连一个增加爆击倍率的援护都不带的话那就要考虑一下这个条件是否成立了
                      以上


                      IP属地:广东本楼含有高级字体20楼2013-11-24 19:46
                      回复
                        把结果验算了一遍,这回应该没什么大问题了,收工


                        IP属地:广东21楼2013-11-24 19:47
                        回复
                          再补充一个验证,关于19L里的魔灵平衡加点方式使技能输出达到极大值的问题
                          仔细想了想只取3个点还是不太严谨,于是又写了段代码(其实就是赋值赋值再赋值),直接上图:

                          输出伤害的曲线如下图:

                          总共就500点属性,完全不加灵巧对应横坐标=0时的函数值,全部加灵巧对应横坐标=500时的值,差不多是3603W
                          从这个图里也可以看出极大值明显出现在x=250处,也就是250灵巧250魔力的加点方式


                          IP属地:广东22楼2013-11-25 09:20
                          回复
                            虽然看不懂但还是觉得好厉害


                            IP属地:上海来自手机贴吧23楼2015-06-05 03:58
                            回复
                              2025-06-21 06:18:44
                              广告
                              虽然看不懂但还是觉得好厉害


                              IP属地:加拿大来自iPhone客户端24楼2015-06-07 07:08
                              回复