蛋仔派对 超燃竞技场 底层逻辑讲解

· · 算法·理论

蛋仔派对 超燃竞技场 底层逻辑讲解

洛谷UID:941228
b站UID:2118160094
蛋仔用户名:毛豆小子1145
由这个视频得到而写出的总结
于24.8.18开始,24.8.19完工,24.8.24转存
因为我是一个不精通\LaTeX的蒟蒻,所以有误指正QWQ(指正必在洛谷和小破站互关)

1.基础

角色会有以下共性:

  1. 角色以200血量为一格血,但是每200血量才会刷新血条(并非真实血量)
  2. 除了某个角色的特殊说明外(不用说是谁了吧),其他角色在开局都是1
  3. 升级增加的数值是固定的
  4. 每回合都会加1
  5. 蓝卡刷新要消耗2金币,紫卡刷新要3金币,彩卡刷新要4金币
  6. ## 2.攻击 首先我们要带入几个属性: 固伤,系数,物理攻击力,法术攻击力 在这里: $sk.fd$代表技能的固伤,$sk.co$代表技能的系数,$a.patk$是物理攻击力,$a.matk$是法术攻击力 我们先讲普攻: 除了了一些特殊说明外,普攻的计算公式就是: $$0+100\% \times a.patk$$ 其中$0$就是固伤($sk.fd$),$100\%$就是系数($sk.co$) 如果普攻为法术公式,那也很好算: $$0+100\% \times a.matk$$ 接下来,讲技能: 技能的公式已经在技能表中给出公式了,再根据上面的内容,物理伤害那就是: $$sk.fd+sk.co\times a.patk$$ 法术伤害同理: $$sk.fd+sk.co\times a.matk$$ 注意:固伤会跟着技能等级改变 ## 3.暴击 老规矩,几个属性: 物理暴击率,物理暴击伤害,法术暴击率,法术暴击伤害 分别对应 $a.pcrt$,$a.pcrtd$,$a.mcrt$,$a.mcrtd

    非常简单,如果你造成了物理伤害,你会有a.pcrt的概率暴击;如果你造成了法术伤害,你会有a.mcrt的概率暴击
    注意:除特殊情况外,物理暴击只能普攻可以暴击,法术暴击都可以暴击(包括魔力多重奏的法伤)
    求解物理暴击的伤害也很简单:

    (sk.fd+sk.co\times a.patk)\times a.pcrtd

    法术:

    (sk.fd+sk.co\times a.matk)\times a.mcrtd

    但是,我们遗漏了什么……

    4.防御

    老规矩,几个属性:
    物理防御,法术防御,实际减伤
    对应:

    b.pdef$,$b.mdef$,$acr

    这里的b是被攻击者,同理,a就是攻击者
    给大家扫盲一下: 防御只是影响实际减伤而已,实际减伤才是参与攻击的减伤。
    但是根据民间传闻,实际减伤最高60\%(已推翻)
    根据视频里up的推理得出的公式转义成\LaTeX就是

    acr\larr \frac{b.def}{b.def+100}

    (这里的和defpdef和统称)
    那么现在所学得到的物理实际伤害就是:

    (sk.fd+sk.co\times a.patk)\times \left(1-\frac{b.pdef}{b.pdef+100}\right)

    法术:

    (sk.fd+sk.co\times a.matk)\times \left(1-\frac{b.mdef}{b.mdef+100}\right)

    但我们又遗漏了什么……

    5.穿透

    老规矩,几个属性:
    物理固定穿透,物理穿透百分比,法术固定穿透,法术穿透百分比
    分别对应

    a.ppen$,$a.ppenp$,$a.mpen$,$a.mpenp

    穿透都是针对防御来削弱的,而且是先减后乘
    不多说了,先上防御削弱公式:

    b.def\larr \max\left((b.def-a.pen)\times (1-a.penp),0\right)

    再上实际减伤削弱公式:

    b.acr\larr\frac{\max((b.def-a.pen)\times (1-a.penp),0)}{\max((b.def-a.pen)\times (1-a.penp),0)+100}

    6.总结中的总结

    上面的都学完了,可以写出最终伤害公式了(各种加成是累加而不是累乘。及一个增伤卡牌为10\%,另一个增伤卡牌为40\%,则增伤50\%) 物理无暴击造成伤害公式:

    (sk.fd+sk.co\times a.patk)\times \frac{\max((b.pdef-a.ppen)\times (1-a.ppenp),0)}{\max((b.pdef-a.ppen)\times (1-a.ppenp),0)+100}\times (1+各种加成)

    物理暴击造成伤害公式:

    (sk.fd+sk.co\times a.patk)\times a.pcrtd\times\frac{\max((b.pdef-a.ppen)\times (1-a.ppenp),0)}{\max((b.pdef-a.ppen)\times (1-a.ppenp),0)+100}\times (1+各种加成)

    法术无暴击造成伤害公式:

    (sk.fd+sk.co\times a.matk)\times \frac{\max((b.mdef-a.mpen)\times (1-a.mpenp),0)}{\max((b.mdef-a.mpen)\times (1-a.mpenp),0)+100}\times (1+各种加成)

    法术暴击造成伤害公式:

    (sk.fd+sk.co\times a.matk)\times a.mcrtd\times \frac{\max((b.mdef-a.mpen)\times (1-a.mpenp),0)}{\max((b.mdef-a.mpen)\times (1-a.mpenp),0)+100}\times (1+各种加成)
    upd 11.9 更正