• 2822阅读
  • 2回复

打击恢复动作(Hit Recovery)的判断机理 [复制链接]

上一主题 下一主题
离线铃铛
 

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-11-19 13:15:05
打击恢复动作(Hit Recovery)的判断机理
代码解析:Nefarius,Myrdinn
原帖链接:http://phrozenkeep.planetdiablo.gamespy.com/forum/viewtopic.php?t=47619
          http://www.theamazonbasin.com/d2/forums/index.php?showtopic=77949
    翻译:virgol,GoodLuck
    测试:virgol
相关链接:http://www.隔壁.cc/bbs/viewthread.php?tid=558366&extra=page%3D1
          http://www.隔壁.cc/bbs/viewthread.php?tid=558682&extra=page%3D1
          http://til.sggo.cn/showthread.php?t=30248

遭受攻击时HR动作判断的流程
1. 打击恢复动作(以下简称HR动作)只有在攻击动作的resultflag参数=4时才会产生。
2. 检测受攻击目标是否处于眩晕状态(stun)。如果是,直接进入HR状态。
3. 检测受攻击目标是否处于冻结状态(frozen)。如果是,判断结束,不产生HR动作。
4. 检测本次攻击是否包含毒素伤害。
  4.1 如果是纯毒素伤害,判断结束,不产生HR动作。
  4.2 同时包含毒伤害和其他类型的伤害。若受攻击目标受到的总伤害小于1,判断结束,不产生HR动作。反之转入步骤5
  4.3 不包含毒素伤害。检测受攻击目标受到的总伤害是否大于等于1。是则转入步骤5,否则判断结束,不产生HR动作。
5. HR动作判断开始
  5.1 获取受攻击目标最大生命值MaxHP。根据攻击类别(Hit Class)获取参数divisor,具体分类详见下文。
  5.2 若目标受到本次攻击的伤害DAM<MaxHP/divisor,退出判定,不产生HR动作。反之转入步骤5.3。
  5.3 若DAM≥MaxHP/(divisor/2),本行判断结束,转到步骤5.4。否则系统将取随机数0和1,若为0则不产生HR动作,退出判定;为1则转到步骤5.4。
  5.4 若DAM≥MaxHP/(divisor/4),转入步骤5.5。反之系统取随机数0-3,若为0则不产生HR动作,退出判定;取其他数则转到步骤5.5。
  5.5 系统检测受攻击目标是否允许产生HR动作。若判断允许,则产生HR动作,反之不产生。判断结束。


简单来说判断标准如下
纯毒素伤害不会造成HR动作。
非纯毒素伤害的情况下,记本次攻击所造成的伤害值为DAM,受攻击目标的最大生命值为MaxHP,相关参数为divisor,则
若DAM<MaxHP/divisor,则不产生HR动作;
若MaxHP/divisor≤DAM<2*MaxHP/divisor,则有3/8的几率产生HR动作;
若2*MaxHP/divisor≤DAM<4*MaxHP/divisor,则有3/4的几率产生HR动作;
若4*MaxHP/divisor≤DAM,则100%产生HR动作。


[ 本贴由 悄然花开 在 07-31 11:52 编辑过. ]
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 沙发  发表于: 2010-11-19 13:15:23
武器分类相关
================================================
Hit Class  Code      Meaning
────────────────────────
1          None
2          hth        Hand To Hand
3          1hss      One Hand Swing vs. Small
4          1hsl      One Hand Swing vs. Large
5          2hss      Two Hand Swing vs. Small
6          2hsl      Two Hand Swing vs. Large
7          1ht        One Hand Thrust
8          2ht        Two Hand Thrust
9          club      Club
10          staf      Staf
11          bow        Bow
12          xbow      Crossbow
13          claw      Claw
14          over      Overlay
================================================
解释:
  hth : 空手。另外还包括各种攻击性的投掷药剂。
  1hss: 包括死灵法师单手杖和法师专用法珠。
  1hsl: 包括单手斧类、狼牙棒以及其对应的扩展/精华级类型、钉锤类、单手锤类、单手剑类、飞斧类。
  2hss: 所有的双手剑类。
  2hsl: 包括双手斧类、双手锤类、长柄类。
  1ht : 包括匕首类、飞刀类、标枪类(含亚马逊专用标枪)。
  2ht : 长矛类(含亚马逊专用长矛类)。
  club: 包括木棒以及其对应的扩展/精华级类型、圣骑士权杖类、短棍以及其对应的扩展/精华类型。
  staf: 除短棍、乔木棒、手杖之外的所有双手法杖类。
  bow : 所有弓类(含亚马逊专用弓)。
  xbow: 所有十字弓类。
  claw: 刺客专用爪类。
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 板凳  发表于: 2010-11-19 13:15:56
常见Missile技能的Hit Class(如查询不到则均对应为0)

Missile                      HitClass
───────────────────
arrow                              10
javelin                            6
magicarrow                        10
bolt                              10
throwaxe                            2
throwknife                          6
glaive                              6
poisonjav                          6
poisonjavcloud                      6
plaguejavelin                      6
chargedbolt                        64
infernoflame1                      32
infernoflame2                      32
blaze                              32
firewall                          32
immolationarrow                    10
guidedarrow                        10
nova                              64
chainlightning                    64
lightningbolt                      64
lightninghit                      64
poisonnova                        80
frostnova                          48
rogue1                            10
rogue2                            10
rogue3                            10
vampirefirewallmaker              32
vampirefirewall                    32
raven1                            10
raven2                            10
diabfire                          32
bonespear                          6
lightningjavelin                  64
lightningfury                      64
multipleshotarrow                  10
multipleshotbolt                  10
immolationfire                    32
furylightning                      64
lightningstrike                    64
meteorfire                        32
trap spike right                  10
trap spike left                    10
trap cursed skull right            10
trap cursed skull left            10
trap poison ball right            10
trap poison ball left              10
pilum                              6
firestorm                          32
arcticblast1                      32
arcticblast2                      32
twister                            32
tornado                            32
volcano small fire                32
frozenhorror arcticblast1          32
sentrychargedbolt                  64
bladefury1                        10
bladefragment1                    10
bladefury2                        10
bladefragment2                    10
bladefury3                        10
bladefragment3                    10
shockwave                          64
phoenixtrail                      32
wake of destruction                32
tigerfurytrail                    32
inferno sentry 1                  32
ancient throwing axe                2
sentrylightningbolt                64
sentrylightninghit                64
lightning charge up nova          64
chainlightningcharge up            64
baal taunt lightning              64
baal taunt lightning trail        64
fistsoffirefirewall                32
clawsofthunderbolt                64
clawsofthundernova                64
royalstrikemeteorfire              32
royalstrikechainlightning          64
armageddonfire                    32
lightningtowernova                64
willowisplightningbolt2            64
goospitex                        176
diablogeddonfire                  32
megademoninferno                  32
trappoisonjavcloud                  6
trapnova                          64
mephfrostnova                      48
strafearrow                        10
strafebolt                        10
快速回复
限100 字节
 
上一个 下一个