伤害计算公式(第二世代)

来自口袋百科
跳转至: 导航搜索

命中计算流程

命中判定

  1. 如果使用的是食梦效果的招式(食梦),并且防御方没有处于睡眠状态,判定为没有命中。
  2. 如果防御方处于守住状态,判定为没有命中。
  3. 如果防御方处于替身状态,并且使用的是吸取HP效果的招式(吸取超级吸取吸血终极吸取),或食梦效果的招式(食梦),判定为失败。
  4. 如果防御方处于锁定状态,并且不是在防御方处于飞翔状态时使用地震地裂震级,判定为成功。
  5. 如果防御方处于挖洞状态且使用的招式不是地震地裂震级,或者防御方处于飞翔状态且使用的招式不是起风吹飞打雷龙卷风,判定为失败。
  6. 如果使用的是打雷效果的招式(打雷),并且天气是下雨,判定为命中。
  7. 如果玩家使用了命中强化,判定为命中。
  8. 如果使用的是必中效果的招式(高速星星出奇一击借力摔),判定为命中。

命中计算

  1. 读取A=招式命中。
  2. 读取攻击方命中等级与防御方闪避等级。
  3. 如果防御方闪避等级>攻击方命中等级,并且防御方处于识破状态,跳过命中等级修正。
  4. 通过攻击方命中等级获得命中修正,求A=⌊A×命中修正分子÷命中修正分母⌋,如果A=0,命中=1。
  5. 通过14-闪避等级获得闪避修正,求A=⌊A×闪避修正分子÷闪避修正分母⌋,如果A=0,命中=1。
  6. 如果A≥255,A=255。
  7. 如果防御方携带了光粉,求A=A-20。
  8. 如果A=255,判定为命中。
  9. 从0~255中产生随机数R,如果R<A,判定为命中。

伤害计算流程

  1. 计算能力值。
  2. 计算基础伤害。
  3. 计算天气修正。
  4. 计算徽章修正。
  5. 计算属性加成修正。
  6. 计算属性相克修正。
  7. 计算随机修正。

能力值计算

  1. 如果技能是物理属性,取攻击方攻击作为攻击力;如果技能是特殊属性,取攻击方特殊作为攻击力。
  2. 如果技能是物理属性,取防御方防御作为防御力;如果技能是特殊属性,取防御方特殊作为防御力。
  3. 如果拥有飞翼徽章,且技能是物理属性,攻击力=⌊攻击力×9÷8⌋。
  4. 如果拥有钢铁徽章,且技能是物理属性,防御力=⌊防御力×9÷8⌋。
  5. 如果拥有冰之徽章,且技能是特殊属性,攻击力=⌊攻击力×9÷8⌋。
  6. 计算能力等级修正。如果出现会心一击,且攻击方攻击力等级≤防御方防御力等级,跳过此步骤。
  7. 如果技能是自爆大爆炸,防御力=⌊防御力÷2⌋。
  8. 如果防御方场上存在反射盾,且技能是物理属性,防御力=防御力×2。如果出现会心一击,且攻击方攻击力等级≤防御方防御力等级,跳过此步骤。
  9. 如果防御方场上存在光之壁,且技能是特殊属性,防御力=防御力×2。如果出现会心一击,且攻击方攻击力等级≤防御方防御力等级,跳过此步骤。
  10. 如果攻击方是携带电珠皮卡丘,且技能是特殊属性,攻击力=攻击力×2。
  11. 如果攻击方是携带粗骨头嘎拉嘎拉,且技能是物理属性,攻击力=攻击力×2。
  12. 如果攻击方是携带金属粉末百变怪,,防御力=⌊防御力×1.5⌋。
  13. 如果攻击力>255或防御力>255,同时令攻击力=⌊攻击力÷4⌋,防御力=⌊防御力÷4⌋。由于Bug的存在,计算结果以8位二进制数储存,8位之前的数字被舍弃,实际的计算结果需要用255求模。此步骤导致当攻击力或防御力达到或超过1024时,会出现数字溢出。
  14. 如果攻击力=0,攻击力=1;如果防御力=0,防御力=1。

基础伤害计算

  1. 基础伤害=⌊⌊⌊攻击方等级×2÷5+2⌋×攻击力×技能威力÷防御力⌋÷50⌋
  2. 如果出现会心一击,伤害=伤害×2。
  3. 如果攻击方携带属性强化道具,且技能是对应属性,伤害=⌊伤害×1.1⌋。
  4. 如果基础伤害>997,基础伤害=997。
  5. 基础伤害=基础伤害+2。

天气修正

  1. 如果天气是晴天,且技能是属性,伤害=⌊伤害×1.5⌋;如果技能是属性,伤害=⌊伤害÷2⌋。
  2. 如果天气是雨天,且技能是属性,伤害=⌊伤害×1.5⌋;如果技能是属性,伤害=⌊伤害÷2⌋。
  3. 如果天气是雨天,且技能是日光束,伤害=⌊伤害÷2⌋。

徽章修正

  1. 如果拥有对应技能属性的徽章,伤害=⌊伤害×9÷8⌋。

属性加成修正

  1. 如果技能属性与攻击方属性之一相同,伤害=⌊伤害×1.5⌋。

属性相克修正

  1. 根据属性相克表取得属性相克倍率,伤害=⌊伤害×属性相克倍率⌋。

随机修正

  1. 从217~255中产生随机数R,伤害=⌊伤害×R÷255⌋。

击中要害判定

  1. 设击中要害等级=0。
  2. 如果攻击方是大葱鸭,并且携带长葱,设击中要害等级=2,并跳转到#7。
  3. 如果攻击方是吉利蛋,并且携带吉利拳,设击中要害等级=2,并跳转到#7。
  4. 如果攻击方处于聚气状态,击中要害等级+1。
  5. 如果使用的招式容易击中要害,击中要害等级+2。
  6. 如果攻击方携带聚焦镜,击中要害等级+1。
  7. 通过击中要害等级求出击中要害几率:
    • 0:17
    • 1:32
    • 2:64
    • 3:85
    • 4:128
  8. 从0~255中产生随机数R,如果R<击中要害几率,判定为击中要害。

相关链接