• 售前

  • 售后

客户端-帖子详情右侧广告位-2
热门帖子
《宠物大师》这个成就显示74/75,但是宠物栏有78个宠物。咋回事呢?
综合讨论-WLK 2024-11-17
前言 国服这次关闭后一直再偷懒没有去写双手邪的帖子,也对WCL分数随缘了,打副本也比
死亡骑士-WLK 2024-11-18
全明星分是根据dps的数值来的,还是根据等级分来的。 比如,一个月前某个boss打1wdps
综合讨论-WLK 2024-11-17
在9月17日的每周例行维护期间,我们将调整在地心之战第1赛季开始几天表现过度和不佳的
综合讨论-正式服 2024-11-17
两个片,你提你MLGB的掉率了
综合讨论-WLK 2024-11-17
火锤,不及格的鸟德指挥主T,被说分底,上麦无能狂怒开骂防骑。。 自己看分不到金,
圣骑士-WLK 2024-11-17
豹女和米米尔隆只能打六十分,秒伤8千和6千,大佬们指导下,怎么打这两个BOSS
圣骑士-WLK 2024-11-18
十几个cd终于出物质了,下周开始刷分
圣骑士-WLK 2024-11-17
是wa还是dbm啊,怎么调处来,就是提醒1打断准备,2打断准备那个
综合讨论-WLK 2024-11-17
换上逗猫棒之后属性都降了命中想办法打一颗宝石补上去吧新玩的猎人,配装配不明白
猎人-WLK 2024-11-17

[综合] [70-防御] 抛砖引玉:防骑生存端属性粗略评估 与 骑士挨打简易模拟器

[复制链接]
啵啵小奥特 显示全部楼层 发表于 2023-5-25 20:00:14 |阅读模式 打印 上一主题 下一主题
一、绪论
[collapse=1.1 防骑生存端的研究背景与研究现状]
长久以来,骑士区一直有“T6胸甲好还是牌子胸甲好”“宝石插耐力还是闪避好”等争论,但由于既缺乏数值计算,又没有具体标准,一直不能得出结论。
之前已经有不少研究做了防骑生存端的属性收益分析乃至装备评分。哈哈企鹅在[1]中正式引入了有效生命值的概念;[2]则以属性占用的物品等级对生存属性进行评分。
但是依然存在着不少问题,例如有效生命值是一个长时间内的期望值,而倒坦往往是短短几秒内发生的事情,方差较大;同时,有效生命值的计算没有考虑BOSS本身的肉搏数据这一参数,也导致了格挡值收益的计算错误。
而[3]与[4]讨论了TBC的物品等级分配,指出单纯按照占用物品等级作为标准进行评分,脱离了实战范畴。同时,其依据的原理也存在问题,缺失了宝石插槽占用的装等计算。
故本文试图以在断奶的条件下,从满血到暴毙的死亡概率为标准,来量化防骑生存端的各属性收益。
[/collapse]

二、原理概述
[collapse=2.1 量化标准与属性分类]
考虑[6]中的治疗手法,我们认为,常规语境下的倒坦现象发生,需要具备两个条件,一是只有少数治疗在看坦克,二是BOSS具备把坦克在极短时间内从满血打到暴毙的能力。
任意一者不满足而出现倒坦,则认为本次倒坦为治疗失职所致,与坦克配装无关。
通常认为,生存端属性收益影响两个方面:在一段较长连续时间内,影响治疗蓝耗;在一段较短时间内,影响坦克死亡概率。
减少治疗蓝耗的收益,其收益曲线可以看做简单的一次函数,且与坦克本身无关,不予论述。
故本文对生存端属性的量化标准为:在断奶的条件下,坦克在极短时间内被连续肉搏命中,从满血到暴毙的死亡概率。
进而可以把生存端属性分为两类:一类是血甲格挡值,决定了坦克最多能够承受几次BOSS的肉搏;
二类是招闪防等,决定了坦克短时间内连续被肉搏命中的概率。
[/collapse]

[collapse=2.2 计算公式]
坦克连续承受x次肉搏后死亡的概率计算公式如下:
N=⌈pal_hp/(damage*(11960.0/(11960.0+armor))*0.94-block_value) ⌉
damage=random(damage_min, damage_max)
P1=P(N<x)
其中,N为坦克能够承受的肉搏次数,pal_hp为面板血量,damage为原始肉搏伤害,在damage_min与damage_max间随机浮动,armor为面板护甲值,block_value为面板格挡值,x为承受的肉搏次数。
考虑到在极短时间内倒坦的前提条件,我们选择计算x=2或x=3,即承受2或3次肉搏后的死亡概率作为标准。
坦克连续被x次肉搏命中的概率计算公式如下:
P2=(1-injury_free)^x
其中,P2为连续承受x次肉搏的概率,injury_free为坦克面板硬免总和,x为肉搏次数。
则最终存活概率P=1-P1*P2。
[/collapse]

[collapse=2.3 收益曲线分析与评分标准]
通过P1分别对血量、护甲、格挡值求导,可以得到结论:血量、护甲、格挡值不仅为3种互相影响收益的属性,其收益与BOSS的肉搏数据也有关系。
显然,血甲格挡值的收益曲线存在阈值,当三类属性收益总和无限接近能承受BOSS的第x+1次肉搏时,在阈值点上会出现收益飞跃,如图1所示。
而对P2求导可得,硬免属性的收益递减,如图2所示。
对于如此复杂的收益曲线,我们无法通过简单的肉眼鉴定法来比较属性收益。
故本文选择用代码来计算各属性的边际收益,而各生存属性的收益评分标准则为:1分=最终生存概率提高0.01%。

图1:血甲格挡值收益曲线
1.jpeg

图2:硬免收益曲线
2.jpeg

[/collapse]

三、应用设计与实现
[collapse=3.1 前提条件]
本程序默认天赋点满5点炽热防御者,不点盾牌专精,点满坚韧这一护甲加成天赋,点满神圣使命与战斗精准这二种耐力加成天赋。

物品等级则按照[4]计算:
1耐力占用2/3物品等级,耐力加成为天赋的1.16倍乘算王者的1.1倍,共计1.276倍;
1护甲占用0.1物品等级,护甲加成为天赋的1.2倍;
1格挡值占用0.65物品等级;
1躲闪等级占用1物品等级。

从2.3可知,属性收益与BOSS的肉搏数据挂钩,因此提供不同的高压BOSS模型供选择。
BOSS的肉搏数据按照[5]的原始数据,乘算0.858的挫志系数。
魔法技能的原始伤害数值则根据WCL观察得到。

想到了,但是暂时没有写入模拟器的功能:
1、魔法伤害的部分抗性减免,参考[7]。
2、根据战斗时长和模拟结果来计算一次N分钟战斗中的坦克暴毙概率。[del]有请概率论选手入场[/del]
[/collapse]

[collapse=3.2 代码实现]
[code=python]
import tkinter as tk
import tkinter.messagebox
import random

def clear_leading_zero(s):
    s1 = &#39;&#39;
    discriminator = False
    for i in range(len(s)):
        if (s != &#39;0&#39;) and (discriminator is False):
            discriminator = True
        if discriminator is True:
            s1 = s1+s
    return s1

def cal(hp, armor, block_value, injury_free, model):
    model_num = int(model[0])
    damage_min = [[20304, 20304, 20304], [20304, 20304, 20304], [19913, 9956, 19913]]
    damage_max = [[28709, 28709, 28709], [28709, 28709, 28709], [28156, 14078, 28156]]
    damage_magic = [0, 2350, 0]

    run_time = 1000000 + 1
    str_print = &#39;&#39;

    count_death_proto = 0
    count_death_hp = 0
    count_death_armor = 0
    count_death_block_value = 0

    for i in range(1, run_time):
        hp_proto = hp - damage_magic[model_num]
        hp_hp = hp_proto + 191.4
        hp_armor = hp_proto
        hp_block_value = hp_proto

        for j in range(0, 3):
            damage = random.randint(damage_min[model_num][j], damage_max[model_num][j])

            damage_proto = damage * (11960.0 / (11960.0 + armor)) * 0.94 - block_value
            if hp_proto <= hp * 0.35:
                hp_proto = hp_proto - damage_proto * 0.7
            else:
                hp_proto = hp_proto - damage_proto

            damage_hp = damage_proto
            if hp_hp <= (hp + 191.4) * 0.35:
                hp_hp = hp_hp - damage_hp * 0.7
            else:
                hp_hp = hp_hp - damage_hp

            damage_armor = damage * (11960.0 / (11960.0 + armor + 120)) * 0.94 - block_value
            if hp_armor <= hp * 0.35:
                hp_armor = hp_armor - damage_armor * 0.7
            else:
                hp_armor = hp_armor - damage_armor

            damage_block_value = damage * (11960.0 / (11960.0 + armor)) * 0.94 - (block_value + 15.38461538)
            if hp_block_value <= hp * 0.35:
                hp_block_value = hp_block_value - damage_block_value * 0.7
            else:
                hp_block_value = hp_block_value - damage_block_value

        if hp_proto <= 0:
            count_death_proto = count_death_proto + 1
        if hp_hp <= 0:
            count_death_hp = count_death_hp + 1
        if hp_armor <= 0:
            count_death_armor = count_death_armor + 1
        if hp_block_value <= 0:
            count_death_block_value = count_death_block_value + 1

    p_proto = (1 - (count_death_proto * 1.0 / (run_time - 1)) * (((100 - injury_free) / 100.0) ** 3)) * 100
    str_print = str_print+&#39;原始生存概率为&#39;+str(p_proto)+&#39;%&#92;n&#39;

    p_injury_free = (1 - (count_death_proto * 1.0 / (run_time - 1)) * (
                ((100 - injury_free - 0.52910053) / 100.0) ** 3)) * 100
    str_print = str_print+&#39;增加10物品等级的躲闪等级后的生存概率为:&#92;n&#39;+str(p_injury_free)+&#39;%&#92;n&#39;

    p_hp = (1 - (count_death_hp * 1.0 / (run_time - 1)) * (((100 - injury_free) / 100.0) ** 3)) * 100
    str_print = str_print+&#39;增加10物品等级的耐力后的生存概率为:&#92;n&#39;+str(p_hp)+&#39;%&#92;n&#39;

    p_armor = (1 - (count_death_armor * 1.0 / (run_time - 1)) * (((100 - injury_free) / 100.0) ** 3)) * 100
    str_print = str_print+&#39;增加10物品等级的护甲后的生存概率为:&#92;n&#39;+str(p_armor)+&#39;%&#92;n&#39;

    p_block_value = (1 - (count_death_block_value * 1.0 / (run_time - 1)) * (((100 - injury_free) / 100.0) ** 3)) * 100
    str_print = str_print+&#39;增加10物品等级的格挡值后的生存概率为:&#92;n&#39;+str(p_block_value)+&#39;%&#92;n&#39;

    profit_injury_free = (p_injury_free - p_proto) / 10
    profit_hp = (p_hp - p_proto) / 15.0
    profit_armor = (p_armor - p_proto) / 120.0
    profit_block_value = (p_block_value - p_proto) / 15.38461538
    str_print = str_print+&#39;此时的边际收益评分为:&#92;n&#39;
    str_print = str_print+&#39;1躲闪等级=&#39;+str(round(profit_injury_free * 100, 4))+&#39;分&#92;n&#39;
    str_print = str_print+&#39;1耐力=&#39;+str(round(profit_hp * 100, 4))+&#39;分&#92;n&#39;
    str_print = str_print+&#39;1护甲=&#39;+str(round(profit_armor * 100, 4))+&#39;分&#92;n&#39;
    str_print = str_print+&#39;1格挡值=&#39;+str(round(profit_block_value * 100, 4))+&#39;分&#92;n&#39;

    if profit_injury_free != 0:
        if profit_hp != 0:
            str_print = str_print+&#39;1躲闪等级=&#39;+str(round(profit_injury_free / profit_hp, 2))+&#39;耐力&#92;n&#39;
        if profit_armor != 0:
            str_print = str_print+&#39;1躲闪等级=&#39;+str(round(profit_injury_free / profit_armor, 1))+&#39;护甲&#92;n&#39;
        if profit_block_value != 0:
            str_print = str_print+&#39;1躲闪等级=&#39;+str(round(profit_injury_free / profit_block_value, 1))+&#39;格挡值&#92;n&#39;

    var_print.set(str_print)

def run():
    str_hp = clear_leading_zero(var_hp.get())
    for i in range(len(str_hp)):
        if (str_hp < &#39;0&#39;) or (str_hp > &#39;9&#39;):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的血量为正整数且没有多余空格!&#39;)
            return
    if len(str_hp) != 5:
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的血量在1.5W-2.2W之间!&#39;)
        return
    hp = int(str_hp)
    if (hp < 15000) or (hp > 22000):
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的血量在1.5W-2.2W之间!&#39;)
        return

    str_armor = clear_leading_zero(var_armor.get())
    for i in range(len(str_armor)):
        if (str_armor < &#39;0&#39;) or (str_armor > &#39;9&#39;):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的护甲为正整数且没有多余空格!&#39;)
            return
    if len(str_armor) != 5:
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的护甲在1.5W-3.5W之间!&#39;)
        return
    armor = int(str_armor)
    if (armor < 15000) or (armor > 35000):
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的护甲在1.5W-3.5W之间!&#39;)
        return

    str_block_value = clear_leading_zero(var_block_value.get())
    for i in range(len(str_block_value)):
        if (str_block_value < &#39;0&#39;) or (str_block_value > &#39;9&#39;):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的格挡值为正整数且没有多余空格!&#39;)
            return
    if (len(str_block_value) <= 2) or (len(str_block_value) >= 5):
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的格挡值在200-1500之间!&#39;)
        return
    block_value = int(str_block_value)
    if (block_value < 200) or (block_value > 1500):
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的格挡值在200-1500之间!&#39;)
        return

    str_injury_free = clear_leading_zero(var_injury_free.get())
    count_point = 0
    injury_free = 0
    for i in range(len(str_injury_free)):
        if ((str_injury_free < &#39;0&#39;) or (str_injury_free > &#39;9&#39;)) and (str_injury_free != &#39;.&#39;):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值为正整数,或正整数带最多两位小数,且没有多余空格!&#39;)
            return
        if str_injury_free == &#39;.&#39;:
            count_point = count_point + 1
            if count_point >= 2:
                tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值为正整数,或正整数带最多两位小数,且没有多余空格!&#39;)
                return
    if count_point == 0:
        if (len(str_injury_free) < 1) or (len(str_injury_free) > 3):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值在0-100之间!&#39;)
            return
        injury_free = int(str_injury_free) * 1.0
        if (injury_free < 0) or (injury_free > 100):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值在0-100之间!&#39;)
            return
    if count_point == 1:
        str_int = &#39;&#39;
        str_float = &#39;&#39;
        discriminator = False
        for i in range(len(str_injury_free)):
            if str_injury_free == &#39;.&#39;:
                discriminator = True
                continue
            if discriminator is False:
                str_int = str_int+str_injury_free
            else:
                str_float = str_float+str_injury_free

        if len(str_int) > 3:
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值在0-100之间!&#39;)
            return
        injury_free = int(str_int)
        if (injury_free < 0) or (injury_free > 100):
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值在0-100之间!&#39;)
            return
        if len(str_float) > 2:
            tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;请保证输入的硬免值的小数部分最多只有两位!&#39;)
            return
        injury_free = injury_free+float(&#39;0.&#39;+str_float)

    model = list_box.curselection()
    if model == ():
        tk.messagebox.showwarning(title=&#39;waring&#39;, message=&#39;尚未选择挨打模型!&#39;)
        return

    cal(hp, armor, block_value, injury_free, model)

window = tk.Tk()
window.title(&#39;骑士挨打简易模拟器 V测试版&#39;)
window.geometry(&#39;800x600&#39;)

tk.Label(window, text=&#39;请输入你的血量: &#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=10)
tk.Label(window, text=&#39;请输入你的护甲: &#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=40)
tk.Label(window, text=&#39;请输入你的格挡值:&#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=70)
tk.Label(window, text=&#39;请输入你的硬免(%):&#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=100)
tk.Label(window, text=&#39;请选择挨打模型: &#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=130)

var_print = tk.StringVar()
var_print.set(&#39;我是模拟结果展示窗o(*︶*)o&#39;)
tk.Label(window, textvariable=var_print, bg=&#39;white&#39;, font=(&#39;Arial&#39;, 15),
         width=37, height=24).place(x=350, y=15)

var_hp = tk.StringVar()
entry_hp = tk.Entry(window, textvariable=var_hp, width=16).place(x=200, y=15)
var_armor = tk.StringVar()
entry_armor = tk.Entry(window, textvariable=var_armor, width=16).place(x=200, y=45)
var_block_value = tk.StringVar()
entry_block_value = tk.Entry(window, textvariable=var_block_value, width=16).place(x=200, y=75)
var_injury_free = tk.StringVar()
entry_injury_free = tk.Entry(window, textvariable=var_injury_free, width=16).place(x=200, y=105)

var_list_box = tk.StringVar()
var_list_box.set((&#39;阿克连砍三刀&#39;,
                  &#39;阿克连砍三刀并向你丢了一团火&#39;,
                  &#39;伊利丹主副主三连&#39;
                  ))
list_box = tk.Listbox(window, listvariable=var_list_box, width=43)
list_box.place(x=10, y=160)

var_button = tk.StringVar()
var_button.set(&#39;点我开始模拟挨打!&#39;)
button = tk.Button(window, textvariable=var_button,
                   command=run).place(x=70, y=350)

tk.Label(window, text=&#39;注:模拟挨打需要5-10秒&#92;n    请耐心等候&#92;n        结果会有浮动,仅供参考&#39;, font=(&#39;Arial&#39;, 15)).place(x=10, y=450)

window.mainloop()
[/code]
[/collapse]

3.3 应用一《生存端属性收益的换算:一耐力到底等于几躲闪?》
由2.2与2.3可知,不同骑士的属性收益在不同的BOSS战模型下完全不同,需要通过模拟器自行计算
PC端骑士挨打简易模拟器 V测试版
链接:https://pan.baidu.com/s/1_jw_ux3UC9-CSbgQD7xyZQ
提取码:t2cp
更新历史见21楼:https://bbs.nga.cn/read.php?pid=598728996&opt=128

[collapse=效果图:]
3.jpeg
[/collapse]

3.4 应用二《不同高压BOSS战的模拟:我这身装备能不能去抗阿克/血魔/伊利丹?》
我们将BOSS战的模型分为三类:
1、攻速较快的BOSS的纯平砍模型,覆盖了BOSS战全过程。
    对于该类模型,一次战斗中的暴毙概率可以用二项分布计算,例如Q1,通常要求原始生存概率高于99.9%
    包括:伊利丹主副主三连。

2、不常发生,但是在一次BOSS战中一定会发生的模型。
    对于该类模型,一次战斗中的发生次数通常为个位数,通常要求原始生存概率高于99%
    包括:血魔连砍二刀并打出一发暗影箭。

3、不常发生,在一次BOSS战中也不一定会发生,但是发生之后的死亡概率较高;以及前两类模型中的特例。
    对于该类模型,从P3打到P5也不见得会发生一次,通常要求原始生存概率高于90%[del]死了就甩锅脸黑[/del]
    包括:阿克连砍三刀;阿克连砍三刀并向你丢了一团火;主母军刀接堕落加平砍。

四、参考文献
[collapse=4.1 参考文献]
[1] 哈哈企鹅,防骑生存与仇恨平衡的艺术.
https://bbs.nga.cn/read.php?tid=29566644
[2] 苍穹镇魂曲,T6防骑MT开荒装备天赋指导
https://www.bilibili.com/video/B ... arch-card.all.click
[3] whateat,再次引战+整活,基于装备等级的P3神牧治疗装评价
https://bbs.nga.cn/read.php?tid=30744716
[4] 堕落的猴子,[搬运的胜利]从A(Artifact)到A(Average),TBC里的物品平衡
https://bbs.nga.cn/read.php?tid=1550239
[5] madelf,P3团本Boss部分特殊技能伤害汇总
https://bbs.nga.cn/read.php?tid=30112806&_fp=2
[6] Qg_SAI,TBC神圣骑士属性收益、技能等级、专业附魔、装备手法推荐和实用插件宏等
https://bbs.nga.cn/read.php?tid=28024486
[7] madelf,抗性问题,简单记住几个数字就行了。
https://bbs.nga.cn/read.php?tid=30209202
[/collapse]
回复

使用道具 举报

分享

精彩评论19

FREEDOM326 显示全部楼层 发表于 2023-5-25 20:00:24
Q&A楼层:
[collapse=Q1:我搞不懂你这原始生存概率是什么意思,我就想知道这身装备能不能抗伊利丹,你能不能给个准儿?]
A:把你的属性输入模拟器,选择挨打模型进行模拟,就能得到原始生存概率。
我们假设伊利丹的普通状态维持5分钟,每隔3秒你会被奶到满血,那么按照二项分布计算,你在5分钟内暴毙的概率如下:
1.jpeg
[del]总结一下就是,如果你的原始生存概率不到99.9%的,我劝你好自为之[/del]

[/collapse][collapse=Q2:效果展示图中的躲闪等级收益看起来很高,是不是说明在这类环境下,应该无脑堆躲闪呢?]
A:不是的。请看2.3中的血甲格挡值收益曲线,该类属性的收益并不是单纯的线性函数,而是在接近阈值时会出现飞跃,不能忽略这一点。
Q:那么阈值具体是多少呢?
A:通常来说,阈值在从BOSS砍你需要X刀堆到X+1刀的附近,具体数值难以计算,建议自己用模拟器模拟
[/collapse][collapse=Q3:经常看到有人说“硬免收益递增”“护甲线性收益”之类的话,那你的计算结果和他们的到底哪个准呢?]
A:属性收益曲线的走向取决于选取的标准,本文中选取的标准与标准的意义已经在2.1、2.2、2.3中说明,至于他们的标准有什么意义,建议问他们自己。
部分讨论过程可见71楼:https://bbs.nga.cn/read.php?pid=601971072&opt=128
[/collapse][collapse=Q4:4T6加铁壁头和4T6加执政官哪个好?T6胸甲和牌子胸甲哪个好?防骑到底能不能穿布甲呢?]
A:生存端的属性,模拟器的结果会说明答案。
如果要比较两件装备的优劣,分别穿上对应装备,按照模拟器模拟两次,比较结果即可。
能不能穿布甲,用模拟器计算结果,然后斟酌自己的团队能否接受即可。
至于仇恨端的属性,本文不讨论。
[/collapse][collapse=Q5:为什么在XX模型下,我的耐力/护甲/格挡值属性收益是0分啊?你这个破烂模拟器是不是有问题啊?]
A:血甲格挡值属性的边际收益为0分说明,在这种模型下,你再堆10点物品等级的该属性,依然不会改变你的死亡概率;但是考虑到实际曲线存在飞跃现象,并不代表继续堆该属性的收益一直为0,只能说明你堆该属性堆得不够高,建议是要么再堆高点,要么别堆了。

[/collapse][collapse=Q6:为什么只有躲闪的边际收益?招架和防等呢?]
A:1躲闪等级=0.053硬免,1防御等级=0.05硬免,1招架等级=0.042硬免伤,直接按照躲闪自行换算即可。
[/collapse]
回复 支持 反对

使用道具 举报

顺势而为47 显示全部楼层 发表于 2023-5-25 20:04:59
插眼zsbd
回复 支持 反对

使用道具 举报

麻辣鸡翅 显示全部楼层 发表于 2023-5-25 20:07:57
插过短眼
回复 支持 反对

使用道具 举报

爱之关怀阿飞米 显示全部楼层 发表于 2023-5-25 20:09:15
牛,先试试看,如果理论和体感一致以后对比装备就轻松多了。 1.jpeg 我模拟了我蛋蛋的装备,符合我的认知,耐力是防止暴毙的关键。如果加入铁盾的2500护甲,这个生存概率就到99.9%了另外铁头(生存fm)+t6腿(法伤fm)对比t6头(强能)+执政官(生存fm),蛋蛋模型跑了一下是执政官高0.1%。  建议增加一个血魔的模型 ,看看能穿多脆。
回复 支持 反对

使用道具 举报

axly530 显示全部楼层 发表于 2023-5-25 20:14:13
应该是铁头比较好吧。。
回复 支持 反对

使用道具 举报

123456823 显示全部楼层 发表于 2023-5-25 20:16:43
好帖,慢慢看
回复 支持 反对

使用道具 举报

务川冷泉水鱼庄 显示全部楼层 发表于 2023-5-25 20:19:48
已收藏~~~~
回复 支持 反对

使用道具 举报

清风哥 显示全部楼层 发表于 2023-5-25 20:23:34
插个眼
回复 支持 反对

使用道具 举报

陈辞滥调 显示全部楼层 发表于 2023-5-25 20:26:52
出现这种情况应该是刚好堆到耐力阈值了

新增模型不急吧,先收集一下意见再统一更新
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

魔兽世界玩家社区,为广大wower打造专属于自己的精神家园!
  • 小程序

  • 微信公众号

  • 商务合作