大舅妈御魂配置

1.引言

本篇文章针对PVE情况,式神以烬天玉藻前为例,基于线性规划分别探讨暴击套和爆伤套的最佳强化状态以及二者最终输出的区别。

2.烬天玉藻前面板在这里插入图片描述

攻击:3551
暴击:12%
爆伤:150%

3.阴阳师面板伤害计算公式

以下仅讨论满暴击情况

实际结算伤害计算公式为:

实 际 最 终 伤 害 = 总 攻 击 × 技 能 系 数 × 暴 击 伤 害 修 正 × 总 防 御 对 应 的 受 伤 × 造 成 伤 害 增 加 b u f f 修 正 × 受 到 伤 害 增 加 d e b u f f 修 正 × 造 成 伤 害 减 少 d e b u f f 修 正 ÷ 受 到 伤 害 减 少 b u f f 修 正 × 御 魂 修 正 × 技 能 修 正 ( 其 它 修 正 ) 实际最终伤害=总攻击×技能系数×暴击伤害修正×总防御对应的受伤×造成伤害增加buff修正×受到伤害增加debuff修正×造成伤害减少debuff修正÷受到伤害减少buff修正×御魂修正×技能修正(其它修正) =××××buff×debuff×debuff÷buff××()

公式看似复杂,但一般对于攻击型式神而言,我们只关心如何通过御魂提升的伤害式神总伤害部分

式 神 总 伤 害 = 总 攻 击 × 暴 击 伤 害 修 正 = ( 基 础 攻 击 × ( 1 + 御 魂 攻 击 加 成 ) + 御 魂 固 定 攻 击 ) × 暴 击 伤 害 修 正 式神总伤害=总攻击×暴击伤害修正=(基础攻击×(1+御魂攻击加成)+御魂固定攻击)×暴击伤害修正 =×=(×1++×

4.御魂强化分析

4.1主属性

式神可佩戴的御魂有6个,分为1~6号位。其中1、3、5号位的主属性固定,分别是攻击值、防御值、生命值;2、4、6号位的主属性随机。一般而言对于输出形式神2、4号位选攻击加成主属性、6号位暴击或爆伤。
满强化后,主属性数值如下:

御魂满强化值
攻击力(1)486
攻击加成(2/4)55%
暴击(6)55%
爆伤(6)89%

4.2副属性

副属性是随机属性,一个御魂上限4个随机属性。有的御魂副属性数量不足4,会随着强化而刷出新的副属性。副属性随着该御魂强化等级提高刷出新属性或提高已有属性值。强化等级每提升3,提升一项副属性数值,共可以提升5次。
这里我们关心三类副属性:攻击加成、暴击、爆伤。

御魂初始值强化提升值
攻击加成2~32~3
暴击2~32~3
爆伤3~43~4

5.御魂套分析(理想强化试验)

以下分析均是基于满暴击的情况讨论。
本节基于线性规划分析如何强化御魂能够使总攻击最大化。
使用的御魂为针女歌姬套(针女固有15爆,歌姬固有16爆)
强化后的御魂主属性是固定的,而副属性带有随机性。假设理想状态下,玩家手上的御魂未强化时都是4项副属性,其中有3个属性命中了我们需要的,后续5次强化全命中。这里将原本存在的基础副属性算作一次命中,于是可用命中次数为48次。
强化值取折中。

假设攻击加成、暴击、爆伤包括基础副属性以及通过强化命中的次数为x0、x1、x2。

5.1暴击套

暴击套意为6号位主属性为暴击的情况下并满暴击。
则,目标函数和约束条件如下:

m i n − ( 3511 × ( 1 + 2 × 0.55 + 0.025 × x 0 ) + 486 ) × ( 1.5 + 0.035 × x 1 ) s . t . 48 − x 0 − x 1 − x 2 ≥ 0 2.5 × x 2 + 16 + 15 − 100 ≥ 0 x 0 ≥ 0 x 1 ≥ 0 x 2 ≥ 0 36 − x 0 ≥ 0 36 − x 1 ≥ 0 36 − x 2 ≥ 0 \begin{aligned} min\qquad-(3511×(1+2×0.55+0.025×x_0)+486)×(1.5+0.035×x_1)\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad48-x_0-x_1-x_2≥&0\\ 2.5×x_2+16+15-100≥&0\\ x_0≥&0\\ x_1≥&0\\ x_2≥&0\\ 36-x_0≥&0\\ 36-x_1≥&0\\ 36-x_2≥&0\\ \end{aligned} min(3511×(1+2×0.55+0.025×x0)+486)×(1.5+0.035×x1)s.t.48x0x1x22.5×x2+16+15100x0x1x236x036x136x200000000

from scipy import optimize
import numpy as np

def fun():
    v=lambda x: -(3511*(1+1.1+0.025*x[0]) + 486 )*(1.5 +0.035*x[1]) 
    return v

def con():
    # 约束条件 分为eq 和ineq
    #eq表示 函数结果等于0 ; ineq 表示 表达式大于等于0  
    cons = ({'type': 'ineq', 'fun': lambda x: 48-x[0]-x[1]-x[2]},\
		    {'type': 'ineq', 'fun': lambda x: 2.5*x[2]+55+16+15-100 }\
            {'type': 'ineq', 'fun': lambda x: x[0] },\
            {'type': 'ineq', 'fun': lambda x: x[1] },\
            {'type': 'ineq', 'fun': lambda x: x[2] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[0] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[1] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[2] })
    return cons

cons = con()
x0 = np.asarray((6,8, 10)) #设置初值
res = optimize.minimize(fun(), x0, method='SLSQP',constraints=cons)
print(res.fun)
print(res.success)
print(res.x)
-23241.573600489417
True
[ 6.4 36.   5.6]

鉴于要满暴击,则暴击向上取整,其余向下取整。优化后的组合为:

属性命中次数
攻击加成6
暴伤36
爆击6

式神攻击伤害:23241

5.2爆伤套

暴伤套意为6号位主属性为暴伤的情况下并满暴击。
则,目标函数和约束条件如下:

m i n − ( 3511 × ( 1 + 2 × 0.55 + 0.025 × x 0 ) + 486 ) × ( 1.5 + 0.89 + 0.035 × x 1 ) s . t . 48 − x 0 − x 1 − x 2 ≥ 0 2.5 × x 2 + 55 + 16 + 15 − 100 ≥ 0 x 0 ≥ 0 x 1 ≥ 0 x 2 ≥ 0 30 − x 0 ≥ 0 30 − x 1 ≥ 0 30 − x 2 ≥ 0 \begin{aligned} min\qquad-(3511×(1+2×0.55+0.025×x_0)+486)×(1.5+0.89+0.035×x_1)\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad48-x_0-x_1-x_2≥&0\\ 2.5×x_2+55+16+15-100≥&0\\ x_0≥&0\\ x_1≥&0\\ x_2≥&0\\ 30-x_0≥&0\\ 30-x_1≥&0\\ 30-x_2≥&0\\ \end{aligned} min(3511×(1+2×0.55+0.025×x0)+486)×(1.5+0.89+0.035×x1)s.t.48x0x1x22.5×x2+55+16+15100x0x1x230x030x130x200000000

from scipy import optimize
import numpy as np

def fun():
    v=lambda x: -(3511*(1+1.1+0.025*x[0]) + 486 )*(1.5 + 0.89 + 0.035*x[1]) 
    return v

def con():
    # 约束条件 分为eq 和ineq
    #eq表示 函数结果等于0 ; ineq 表示 表达式大于等于0  
    cons = ({'type': 'ineq', 'fun': lambda x: 48-x[0]-x[1]-x[2]},\
		    {'type': 'ineq', 'fun': lambda x: 2.5*x[2]+16+15-100 }\
            {'type': 'ineq', 'fun': lambda x: x[0] },\
            {'type': 'ineq', 'fun': lambda x: x[1] },\
            {'type': 'ineq', 'fun': lambda x: x[2] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[0] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[1] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[2] })
    return cons

cons = con()
x0 = np.asarray((6,8, 10)) #设置初值
res = optimize.minimize(fun(), x0, method='SLSQP',constraints=cons)
print(res.fun)
print(res.success)
print(res.x)
-24394.64639831741
True
[-5.45461604e-09  2.04000000e+01  2.76000000e+01]

优化后的组合为:

属性命中次数
攻击加成0
暴击20
爆伤28

式神攻击伤害:24394

5.3小结

对于大舅妈来说,在最理想的情况下,尽可能堆爆伤能够最大化伤害。正堆爆伤比反堆爆伤理想状态高出约5%的伤害

6.强化有偏试验

本节讨论非理想状态的强化结果。下面直接给出数值结果:

6.1暴击套(针女+歌姬)

命中次数攻击加成爆伤爆击攻击伤害
48636623241
45336622514
42036621788
39033620975
36030620150
33027619325
30024618500
27021617675
24018616849
21015616024
18012615199
1509614374
1206613549
903612723

6.2暴伤套(针女+歌姬)

命中次数攻击加成爆伤爆击攻击伤害
480202824394
450172823569
420142822744
390112821919
36082821093
33052820268
30022819443

在这里插入图片描述

6.3小结

1.理想强化状态下,强化的命中次数与式神的攻击伤害有着线性的关系,表明玩家每一次进步获得的实际成长是固定的。(但付出的成本是非线性的)
2.暴击套相比于爆伤套有更多的最优组合(不是说暴击套的伤害高于爆伤套),表明做暴击套满暴击的风险要低于爆伤套(这是废话)。
3.爆伤套要比暴击套的伤害上限略高,但是相差不多。
4.最优暴击套和最次暴击套的伤害质量相差近一倍。
5.满暴击情况下,尽量满爆伤。(酒吞番外除外,酒吞番外的输出式神加点需要在满暴击情况下攻击点数高于爆伤3~4点)

因此,建议非神豪或欧皇的痒痒鼠们尽量考虑暴击套,风险小,容错率高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值