一哥手游欢迎您
QQ登陆 注册 找回密码
查看: 509|回复: 0

[进阶攻略] 少女前线伤害判定流程和相关公式汇总[2019/01/18更新v2.0300部分改动和热更新修正]

[复制链接]
  • TA的每日心情
    开心
    2024-10-16 18:34
  • 签到天数: 7 天

    [LV.3]

    大神版主

    Rank: 7Rank: 7Rank: 7

    阳光
    1086
    人气
    10507
    G点
    2584
    任务金卷
    1

    公爵大人皇帝大神卓越贡献元老勋章人气达人视频达人年度优秀管理奖金点子奖纪念勋章活动先锋版主勋章

    发表于 2019-7-7 16:13:50 | 显示全部楼层 |阅读模式
    前言:
    板内经常能看到新人询问伤害相关的公式。其实大部分公式板内都有,但是散落在不同的帖子里,找起来很不方便,而较新的概念也缺乏介绍,所以决定开一贴进行汇总。因为很多是他人的成果,我可能理解的不够深入,如果发现错误请回帖指正。另外如果有觉得应该加入的内容也请回帖补充。

    游戏内目前存在4套防御系统,分别对应生命、回避、护甲、力场4个属性。本文会先给出攻击流程,之后会根据攻击流程的判定顺序,依次说明这些防御手段。文章的最后则会给出不在攻击流程但是影响输出的射速和换弹公式。


    下文中:
    ceiling为向上取整,会用{}进行标记。例如ceiling{2.2}=3
    floor为向下取整,会用[]进行标记。例如floor[1.8]=1
    max为取最大值,max(n, x)可以理解为“不低于n”。例如max(1, 2)=2;又例如max(10%, x)=x如果x>10%,否则最小为10%
    min为取最小值,min(n, x)可以理解为“不高于n”。例如min(1, 2)=1;又例如min(90%, x)=x如果x<90%,否则最大为90%

    伤害判定流程:
    1. 结算破防效果(并显示破防数字)
    2. 判定攻击是否命中,如果失败则回避
    3. 进行伤害浮动调整
    4. 结算护甲效果
    5. 判定攻击是否暴击,如果成功则结算暴击效果
    6. 结算固定伤害
    7. 结算力场效果
    8. 结算伤害加深/减伤效果
    9. 结算护盾效果
    (9.5 显示伤害数字)
    10. 结算AOE效果和扩编保护
    11. 结算最终伤害和重创保护


    从判定流程里可以得到以下结论:
    破防不存在浮动
    回避是在破防效果后判定的,所以虽然回避成功不会受到伤害,但依然会损失力场值
    力场效果是先结算破防后判定的,破防足够打掉力场盾的话就一定不会被减伤
    暴击是在护甲之后结算的,护甲抵消的伤害无法暴击
    伤害加深同理,护甲抵消的伤害无法伤害加深,但是暴击伤害和固定伤害可以被加深和减免
    AOE是在浮动之后结算的,所以同一个小队里每个小人受到的伤害都一样(除非触发保护机制)
    AOE是在护盾之后结算的,护盾抵消的伤害不会根据编制扩大
    编制保护和大破保护是在伤害动画显示之后的,所以小人头上冒出的伤害是保护前的,不一定是实际受到的伤害


    这里补充说明一下单次伤害的概念,也就是本文所计算的东西:1个小人的1次攻击是1个单次伤害,一个5扩编小队一次齐射会进行5个单次伤害,上述流程也会进行5次,5次伤害会打出来的伤害是有可能因为浮动而都不一样的。这根单发榴弹不同,单发榴弹是一个小人发射的1个单次伤害,只是有着AOE的效果,上述流程只进行一次,伤害也是一样的(除非触发保护机制)。这其中的差别希望读者可以理解。

    属性相关:
    这里“属性”可以指伤害、回避、命中等等任何相关的属性。大家一般看到的是面板属性,而实际公式里结算的都是实际属性(无法直接看到,需要进行计算),所以先明确一下概念
    面板属性

    面板属性:人形在“编成”界面里显示的绿字或白字的数值,包括好感、妖精、装备的效果,这是最好查的属性。
    面板属性 = ceiling{(1+妖精补正) * (基础属性 + 装备属性 + sign(好感补正) * ceiling{基础属性 * abs(好感补正)})}
    其中sign()为取正负号,abs()为取绝对值

    当好感补正是非负数时(绝大部分情况),公式可以简化为:
    面板属性(非负好感) = ceiling{(1+妖精补正) * (装备属性 + ceiling{基础属性 * (1+好感补正)})}

    基础属性:属性不带任何加成时候的数值,在“强化”界面、图鉴、数据表格里得到的都是这个数值。

    好感补正:
    &#8722; 好感补正 ...
    好感[0, 10):-5%
    好感[10, 90):0%
    好感[90, 140):5%
    好感[140, 190):10%
    好感[190, 200]:15%

    敌方好感固定为50,即补正为0

    有装备的时候面板属性会显示成X+Y的形式,这样显示时:
    面板属性 = X + Y
    Y = 装备属性
    X = 面板属性 - Y = ceiling{(1+妖精补正) * (装备属性 + ceiling{基础属性 * (1+好感补正)})} - 装备属性

    实际属性

    实际属性:人形属性在实际战斗中的数值,是面板属性加算阵型补正和敌我双方所有技能buff和debuff之后的效果。
    取整前属性 = max(属性下限, 面板属性 *(1+阵型补正)*(1+技能补正1)*(1+技能补正2)*...)

    伤害、暴击:实际属性=取整前属性
    破防:实际属性=ceiling{取整前属性}
    昼战命中、回避、移速、射速、穿甲、护甲:实际属性=floor[取整前属性]
    夜战命中:实际属性=floor[取整前属性*(1-90%*(1-夜视能力))]
    爆伤:实际属性=floor[取整前属性*100]/100
    技能补正:包括妖精天赋、妖精技能、人形技能、敌方BOSS技能等等

    属性下限:
    &#8722; 属性下限 ...
    伤害、回避、移速、暴击、爆伤、穿甲、护甲、破防:0
    命中、射速*:1

    *注意:射速属性在攻击和换弹公式里有更加严格的上下限,具体参见下文的“射速相关”部分,这里的1是射速属性的绝对下限

    如果没有特殊声明,本文后面所有公式中的属性皆为实际属性

    重装小队

    火力=小队杀伤
    命中=小队精度
    回避=0
    移速=0
    射速=ceiling{(300+小队装填)/30}
    暴击=10%
    爆伤=150%
    穿甲=小队穿甲(BGM-71=400,AGS-30=80,2B14=40)
    护甲=0
    破防=小队破防
    夜视能力=100% (夜战无命中惩罚)

    以上参数皆为基础属性,适用面板属性和实际属性公式。
    另外因为三个小队的普攻和技能都无法暴击,所以暴击参数实际上没有意义。

    面板攻击间隔=ceiling{1500/(300+小队装填)*30}/30 秒/发
    注意:因为这个面板公式和实际射速与攻击间隔的公式不完全相同,所以面板攻击间隔≠实际攻击间隔

    力场相关:
    力场值:汤姆森、M870等的技能和部分敌人的特殊防御手段。又称力场盾,有时候会简称为盾,请注意和护盾进行区分(大部分时候盾是指力场盾,尤其是“破盾”里的盾)。力场值大于0时,人形受到攻击时可以减少受到的伤害。请注意有些伤害是无视力场的。
    破防:力场的克制手段,可以减少力场的数值,最终破掉力场盾。在敌人力场盾不足或者已破的情况下,部分溢出的破防值会转化为伤害,这部分伤害被称作破防溢出伤害。
    最大力场值:力场值的最大值。影响力场减伤效果。请注意最大力场值不一定是初始力场值,很多敌人的初始力场值就比最大力场值小,面对这些敌人即使完全不进行破防也是可以造成伤害的。

    敌方初始力场值 = 最大力场值 * 初始力场%
    这两个属性可以在敌人属性网站或者Excel表里查看,具体看版头链接。

    结算破防效果

    破防后力场值 = 破防前力场值 - 攻击方破防

    破防溢出伤害

    破防溢出伤害 = ceiling{max(0, 攻击方破防 - 破防前力场值)/10}

    力场伤害补正

    力场伤害补正 = 1 - 防御方力场% * (1 - 力场无视系数/100)
    力场% = 破防后力场值 / 最大力场值
    如果攻击无视力场,力场无视系数=100,否则力场无视系数=0


    “破防溢出伤害”和“力场伤害补正”的效果请参见下文“伤害相关”部分的“结算力场效果”

    无视力场伤害举例

    &#8722; 无视力场伤害举例 ...
    重装小队的攻击
    45的二技能
    白色坦克的碾压技能

    回避相关:
    回避:又称闪避,是大部分人形的主要防御手段。人形受到攻击时有一定概率可以回避,回避成功的话不会受到伤害。请注意不是所有伤害类型都能回避的。
    命中:回避的克制手段,命中越高攻击越不容易被回避。

    命中率

    命中率 = 攻击方命中 / (攻击方命中 + 防御方回避)

    重装小队命中率 = max(40%, 精度 / (精度 + 防御方回避 * 8))

    判定攻击是否命中

    1. 如果攻击必中,则成功
    2. 如果随机数[0,1)<=命中率,则成功,否则失败

    必中伤害举例

    &#8722; 必中伤害举例 ...
    榴弹类技能
    燃烧弹类技能
    狙击类技能
    空袭妖精
    M4二技能的非AOE部分(AOE部分不是必中)

    等等(列表不全)

    护甲相关:
    护甲:霰弹枪的主要防御手段,很多敌方BOSS也以此作为辅助防御手段。可以抵消人形所受到的一部分伤害。护甲是不能抵消所有伤害的,至少要受到1点伤害。
    穿甲:护甲的克制手段,可以抵消部分甚至全部护甲的防御效果。穿甲高于护甲的时候,最多可以额外增加2点伤害,超过2点部分则没有效果。计算的时候不要忘了我方所有人形都有15点基础穿甲。
    伤害:基础伤害值,护甲、爆伤等很多属性都是以面板伤害作为基础的。面板伤害经过各种补正之后会成为最终伤害,最终伤害打在人形身上会减少她的生命值。

    浮动伤害是先于护甲结算计算的,这里一并说明。

    进行伤害浮动调整

    1. 如果伤害属于无浮动伤害,浮动伤害 = 攻击方伤害
    2. 浮动伤害 = 攻击方伤害 * 随机数[0.85, 1.15)

    结算护甲效果

    穿甲后伤害 = max(1, 浮动伤害 + min(2, 攻击方穿甲 - 防御方护甲))

    无浮动伤害举例

    &#8722; 无浮动伤害举例 ...
    稻草人、刽子手、计量官、法官的部分技能无浮动

    伤害相关:
    暴击:暴击概率的简称。人形每次进行“可以暴击”的攻击时会有一定概率造成额外的暴击伤害,这是这种伤害的触发概率。请注意不是所有伤害类型都能暴击的。
    暴伤:暴击伤害倍率的简称。人形攻击暴击时会增加所造成的伤害。
    固定伤害:空袭妖精、M1887等人形的技能。直接对目标造成固定的额外伤害。这个伤害不受浮动、暴击、护甲的影响。
    伤害加深:竞争者、琪亚娜等人形的技能。可以增加被攻击人形受到的伤害。
    减伤:防御妖精、FP-6等人形的技能。可以减少被攻击人形受到的伤害。这个和伤害加深实际上是同一个系统,只是效果相反。
    护盾:护盾妖精、S.A.T.8和部分BOSS所使用的技能。人形在受到伤害后会先由护盾吸收,超过护盾值后才会扣除生命,实际效果上相当于固定额外减伤。注意区分护盾和力场(盾),护盾的效果是“吸收”固定伤害,力场的效果是百分比减伤。

    判定攻击是否暴击

    1. 如果伤害属于无暴击伤害,则失败
    2. 如果随机数[0,1)<=攻击方暴击,则成功,否则失败

    结算暴击效果

    如果暴击成功:暴击后伤害 = 穿甲后伤害 * 攻击方暴伤
    如果暴击失败:暴击后伤害 = 穿甲后伤害

    无暴击伤害举例

    &#8722; 无暴击伤害举例 ...
    榴弹类技能
    燃烧弹类技能
    狙击类技能
    M4二技能的非AOE部分(AOE部分不是必中)
    连珠终结技能

    等等(列表不全)

    结算固定伤害

    力场减伤前伤害 = max(0, ceiling{暴击后伤害 + 固定伤害})

    结算力场效果

    加深前伤害 = max(0, ceiling{(力场减伤前伤害 + 破防溢出伤害) * 力场伤害补正})

    结算伤害加深/减伤效果

    如果伤害不为0:加深后伤害 = max(1, floor[加深前伤害 * 伤害加减效果]),否则0
    伤害加减效果 = (1+伤害加深1)*(1-减伤1)*(1+伤害加深2)*(1-减伤2)*...

    结算护盾效果

    护盾后伤害 = max(0, 加深后伤害 - 防御方结算前护盾)
    结算后护盾 = max(0, 结算前护盾 - 加深后伤害)

    显示伤害动画

    这里的“护盾后伤害”实际上就是单体最终伤害了,这个伤害也就是“小人头上冒出来的数字”。上述9个步骤合下来已经很复杂了,所以这里进行一下总结:
    单体最终伤害=max(0, -当前护盾 + max(1, floor[伤害加减效果 * max(0, ceiling{(1 - (无视力场?0:力场%)) * (破防溢出伤害 + max(0, ceiling{固定伤害 + (暴击?暴伤:1) * max(1, 伤害 * 浮动随机 + min(2, 穿甲 - 护甲))}))})]))
    属性皆为实际属性,力场%、护盾、护甲和伤害加减效果来自防御方,其余来自进攻方
    这是一般情况下的公式,假设护盾前伤害>0(游戏里目前所有的护盾前伤害都至少是1)并且伤害会浮动(我方所有伤害和敌方绝大部分伤害都会浮动)
    (暴击?暴伤:1)是说如果暴击则使用暴伤,未暴击或者不会暴击则此系数为1。无视力场同理

    生命相关:
    生命:又称生命值、血量、HP等,是人形的最终防御手段。生命减到0人形就会丧失作战能力。
    扩编:又称人数。一个队伍里的小人数量,一般为1~5的一个数。
    扩编保护:又称编制保护。一颗子弹只能打死一个小人,溢出的伤害则会浪费掉而不会影响其他小人。群体伤害(AOE)虽然能对每个小人进行伤害,但是对一个小人的伤害也最多打死这个小人,溢出的伤害也会浪费掉而不会影响其他小人。
    单体最低剩余生命:一个队伍里的小人生命的最小值。游戏里的伤害是按照小人1、小人2依次受到伤害的,小人1不死小人2不会受到伤害,所以人形队伍受伤后最多只会有一个小人的生命不满,这里指那个数值。
    单体最低剩余生命 = 当前总生命 - (当前扩编 - 1) * 单体生命上限

    结算AOE效果和扩编保护

    如果伤害是单体伤害:
    最终伤害 = min(防御方单体最低剩余生命, 单体最终伤害)

    如果伤害是群体(AOE)伤害:
    最终伤害 = min(防御方单体最低剩余生命, 单体最终伤害) + min(防御方单体生命上限, 单体最终伤害) * (防御方当前扩编 - 1)

    结算最终伤害和重创保护

    重创:当我方队伍的总生命小于生命上限的30%的时候,会处于重创状态,修理费和修理时间增加。
    重创保护:我方队伍如果受到伤害后,血量会从30%以上(含)降到30%以下(不含)的时候,则血量会停留在30%并且无敌一段时间(1.5秒)。重创保护只对我方人形有效,敌方不享受。
    伤害后总生命 = 伤害前总生命 - 最终伤害
    如果是我方未重创的人形,伤害后总生命<30%*生命上限,则伤害后总生命=floor[30%*生命上限]-1


    射速相关:
    射速:影响人形攻击速度的参数。机枪人形射速不影响攻击速度但是影响换弹速度。射速实际属性在计算的时候有比其他参数更加严格的上下限。
    限制后射速 = max(枪种射速下限, min(枪种射速上限, 实际射速))

    射速上下限:
    &#8722; 射速上下限 ...
    手枪、冲锋枪、步枪、突击步枪:[15, 120]
    霰弹枪:[15, 60]
    重装小队:[5, 50]
    机枪:[1, 1000]

    射速相关部分可能存在未研究的特例,这里公式是理论公式,请批判性地看待

    普通攻击间隔帧数

    帧数:游戏内时间全部都是用帧这个单位来计算的,1秒=30帧。小人攻击移动放技能等等所有动作所花费时间一定是整数帧数(即0.033333...秒的整倍数),所以下面用帧数来做时间的基础单位。
    机枪普通攻击间隔帧数 = 固定值
    其他普通攻击间隔帧数 = floor[1500 / 限制后射速]

    机枪普通攻击间隔帧数:
    &#8722; 机枪普通攻击间隔帧数 ...
    PKP和连珠终结机枪:11
    其他:10

    换弹所需帧数

    弹量:机枪和霰弹枪特有的属性。这两种人形在进行等于弹量次攻击后需要进行换弹动作,换弹会额外花费时间。
    机枪换弹所需帧数 = floor[(4 + 200 / 限制后射速) * 30]
    霰弹枪换弹所需帧数 = floor[65 + 15 * 弹量]


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

    本版积分规则

    客服:| 客服QQ: 2607818610 | 商务QQ:19878895 | 服务邮箱:ohyeah@vip.qq.com | 商务电话:13637860062

    公安机关备案号:50010602501574|网站地图|小黑屋|

    一哥ACG ( 渝ICP备13004552号-1)

    GMT+8, 2025-5-3 13:45 , Processed in 0.264929 second(s), 34 queries , Gzip On.

    Powered by 一哥网 X3.4

    © 2001-2013 www.1g31.com

    快速回复 返回顶部 返回列表