极限输出 V0.8版

修改于2023/10/291269 浏览综合
V0.3 重新考虑了属性攻击力的加成情况
V0.4 修改了对生命值伤害和对首领伤害的词条上限
V0.5 修改了对生命值伤害,对首领伤害,对护盾伤害,对角色伤害的总上限。
V0.6 实验后发现对生命值伤害,对首领伤害,对护盾伤害,对角色伤害是每个词条上限都为50%。
TapTap
V0.7 测试过程中发现了一个坏消息,对首领伤害只对有三段血的BOSS生效,如下图,我不知道这是bug还是就是这样,所以下调对首领伤害的优先级,因为爬塔9层才会遇到一个这样的BOSS性价比太低。
TapTap
再就是对生命,首领,护盾,角色的词条上限的确是50%,多了只会让50%变红色,当然也有可能是到了50%就变成红色了。
TapTap
V0.8 重新测试后发现31层BOSS不吃对BOSS伤害,可能是个例,所以重新上调对boss伤害的性价比
首先给各位讲解以下各词条加成情况,想看结论可以直接翻到结尾。
(1)机械攻击力或元素攻击力或超能攻击力
你可以去鉴赏——角色——技能处查看角色普攻伤害是什么类型,例如双子:
TapTap
是超能伤害,那么未变身前,普攻伤害为(攻击力-敌方防御力×0.9)×0.45×超能攻击力加成×其他加成
可以看出超能攻击力虽然也是独立乘区,但单个词条增伤上限为0.05,相比起其他词条0.1的加成,性价比太低了。
(2)对生命值伤害,对首领伤害,对护盾伤害,对角色伤害
个人推荐5个对生命值伤害。
以及5个对首领伤害
至于对护盾伤害,除非你的战斗时间大部分花在破BOSS护盾上,否则不推荐,如果真的需要,可以将对生命值伤害换成对护盾伤害
而对角色伤害,嗯……,应该没人对竞技场有啥想法吧。
(3)攻击速度
攻击速度单个词条上限增伤也为0.05,因为角色初始攻击速度为10000,你需要堆20个攻击速度词条才能让你攻击速度翻倍,而攻击速度词条上限为18。
(4)能量自动回复,能量命中回复
别惦记这个加成了,初始能量回复速度为100点/秒,而一个1000点的能量回复词条,加成为10点/秒。与其惦记这个加成,不如队伍里面带个惠,三星就可以每秒回复100点。能量命中也是同理,竹也没必要带这个词条,理由如下
TapTap
有这技能,还要啥词条。
(5)暴击率和暴击伤害
如果你需要对首领,精英怪,小怪都能有比较不错的伤害,那么可以追求这几个词条,只需要将攻略中的代码的对首领伤害部分删掉,跑一下就可以得到结果了。
(6)无视防御
过低的加成,及其不推荐!除非你打BOSS没伤害
(7)技能伤害
同样的低加成,不推荐!
(8)攻击力
套装请选攻击套,首先教各位怎么计算单个攻击力词条的实际增伤上限
首先将装备脱成这样
TapTap
留武器和项链是怕你攻击不破防,那就测不了了,
然后点开倒悬之塔你打到的那一层,进去a几下怪,记下没暴击时候的伤害
例如我的双子攻击力3431,a出伤害为270。
然后找两件词条没伤害加成的衣服,鞋子或戒指
TapTap
此时我的双子攻击力为3605,对同一个boss的伤害为309。
那么实际提升为
(309-270)/270=0.144444
即单个攻击词条提升上限为0.144444,将这个数值替换代码中的X即可
(9)代码部分
Sub FindMaxValue()
    Dim a() As Variant, b() As Variant, c() As Variant, d() As Variant, e() As Variant, f() As Variant, g() As Variant
    Dim max_y As Double, max_a As Double, max_b As Double, max_c As Double, max_d As Double, max_e As Double, max_f As Double, max_g As Double
    Dim i As Long, j As Long, k As Long, m As Long, n As Long, p As Long, q As Long
    Dim y As Double
    Dim row As Long
   
    ' 定义数组
    a = Array(0, 1, 2, 3)
    b = Array(0, 1, 2, 3, 4, 5)
    c = Array(0, 1, 2, 3, 4, 5)
    d = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
    e = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
    f = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
    g = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
   
    ' 初始化最大值和对应的变量
    max_y = -1E+308
    max_a = 0
    max_b = 0
    max_c = 0
    max_d = 0
    max_e = 0
    max_f = 0
    max_g = 0
   
    ' 查找最大值和对应的变量
    For i = LBound(a) To UBound(a)
        For j = LBound(b) To UBound(b)
            For k = LBound(c) To UBound(c)
                For m = LBound(d) To UBound(d)
                    For n = LBound(e) To UBound(e)
                        For p = LBound(f) To UBound(f)
                            For q = LBound(g) To UBound(g)
                                If a(i) + b(j) + c(k) + d(m) + e(n) + f(p) + g(q) = 18 Then
                                    y = (1 + a(i) * X) * (1 + b(j) * 0.1) * (1 + c(k) * 0.1) * (1 + d(m) * 0.05) * ((1.5 + f(p) * 0.2) * (0.06 + e(n) * 0.1) + (0.94 - e(n) * 0.1) * 1) * (1 + 0.05 * g(q))
                                    If y > max_y Then
                                        max_y = y
                                        max_a = a(i)
                                        max_b = b(j)
                                        max_c = c(k)
                                        max_d = d(m)
                                        max_e = e(n)
                                        max_f = f(p)
                                        max_g = g(q)
                                    End If
                                End If
                            Next q
                        Next p
                    Next n
                Next m
            Next k
        Next j
    Next i
   
    ' 将结果写入A列
    row = 1
    Range("A1").Value = "攻击力"
    Range("A2").Value = max_a
    Range("A3").Value = "对生命值伤害"
    Range("A4").Value = max_b
    Range("A5").Value = "对首领伤害"
    Range("A6").Value = max_c
    Range("A7").Value = "机械攻击力或元素攻击力或超能攻击力"
    Range("A8").Value = max_d
    Range("A9").Value = "暴击率"
    Range("A10").Value = max_e
    Range("A11").Value = "暴击伤害"
    Range("A12").Value = max_f
    Range("A13").Value = "攻击速度"
    Range("A14").Value = max_g
    Range("A15").Value = "y"
    Range("A16").Value = max_y
   
    ' 格式化A列
    Range("A1:A16").Font.Bold = True
    Range("A1:A16").HorizontalAlignment = xlCenter
   
    ' 自动调整列宽
    Columns("A:A").AutoFit
   
    ' 弹出消息框显示结果
    MsgBox "增伤倍率的最大值为:" & max_y & vbNewLine & _
           "攻击力词条数为:" & max_a & vbNewLine & _
           "对生命值伤害词条数为:" & max_b & vbNewLine & _
           "对首领伤害词条数为:" & max_c & vbNewLine & _
           "机械攻击力或元素攻击力或超能攻击力词条数为:" & max_d & vbNewLine & _
           "暴击率词条数为:" & max_e & vbNewLine & _
           "暴击伤害词条数为:" & max_f & vbNewLine & _
           "攻击速度词条数为:" & max_g
           
End Sub
(10)代码运行结果如下图
该代码需要Excel VBA宏来运行,所以你需要一台电脑,如果你的电脑用的WPS那么请自行百度WPS VBA宏补丁。
以单个攻击力词条实际加成为0.14444来算
如过追求对首领伤害
TapTap
那么选择攻击套,词条选5个对生命值伤害,5个对首领伤害,3个暴击,2个爆伤。
如果不追求对首领伤害
TapTap
那么套装应选择攻击套,装备的15个词条中5个为对生命值伤害(或者3个对生命值伤害,2个对护盾伤害),6个为暴击率,4个为暴击伤害。
75
37
30